First commit
9
.gitignore
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
*.key
|
||||||
|
*.crt
|
||||||
|
*.pem
|
||||||
|
client/src/static/disabled/
|
||||||
|
node_modules/
|
||||||
|
outputDir/
|
||||||
|
client/package-lock.json
|
||||||
|
package-lock.json
|
||||||
|
public/img/.tinypng-sigs
|
18
app.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
var compression = require("compression");
|
||||||
|
var createError = require("http-errors");
|
||||||
|
var express = require("express");
|
||||||
|
var path = require("path");
|
||||||
|
|
||||||
|
var app = express();
|
||||||
|
|
||||||
|
app.use(compression());
|
||||||
|
app.use(express.json());
|
||||||
|
app.use(express.urlencoded({ extended: false }));
|
||||||
|
app.use(express.static(path.join(__dirname, "public")));
|
||||||
|
app.use("/marketing",express.static(path.join(__dirname, 'public')));
|
||||||
|
app.use("/", express.static(path.join(__dirname, "./client/build")));
|
||||||
|
app.get("*", function(request, response) {
|
||||||
|
response.sendFile(path.resolve(__dirname, "./client/build", "index.html"));
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
17
appdev.js
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
|
||||||
|
var createError = require('http-errors');
|
||||||
|
var express = require('express');
|
||||||
|
var path = require('path');
|
||||||
|
var cookieParser = require('cookie-parser');
|
||||||
|
var logger = require('morgan');
|
||||||
|
var router = express.Router();
|
||||||
|
|
||||||
|
var app = express();
|
||||||
|
|
||||||
|
app.use(logger('dev'));
|
||||||
|
app.use(express.json());
|
||||||
|
app.use(express.urlencoded({ extended: false }));
|
||||||
|
|
||||||
|
app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
app.use("/marketing",express.static(path.join(__dirname, 'public')));
|
||||||
|
module.exports = app;
|
94
bin/www
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var app = require("../app");
|
||||||
|
var debug = require("debug")("palmpay:server");
|
||||||
|
var http = require("http");
|
||||||
|
var fs = require("fs");
|
||||||
|
var https = require("https");
|
||||||
|
|
||||||
|
var ssl_options = {
|
||||||
|
key: fs.readFileSync("./domain.key"),
|
||||||
|
cert: fs.readFileSync("./domain.crt"),
|
||||||
|
ca: fs.readFileSync("./intermediate.pem")
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get port from environment and store in Express.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var port = normalizePort(process.env.PORT || "80");
|
||||||
|
app.set("port", port);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTTP/HTTPS server.
|
||||||
|
*/
|
||||||
|
var secureServer = https.createServer(ssl_options, app);
|
||||||
|
var server = http.createServer(app);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listen on provided port, on all network interfaces.
|
||||||
|
*/
|
||||||
|
secureServer.listen(443);
|
||||||
|
server.listen(port);
|
||||||
|
server.on("error", onError);
|
||||||
|
server.on("listening", onListening);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Normalize a port into a number, string, or false.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function normalizePort(val) {
|
||||||
|
var port = parseInt(val, 10);
|
||||||
|
|
||||||
|
if (isNaN(port)) {
|
||||||
|
// named pipe
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (port >= 0) {
|
||||||
|
// port number
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "error" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onError(error) {
|
||||||
|
if (error.syscall !== "listen") {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
var bind = typeof port === "string" ? "Pipe " + port : "Port " + port;
|
||||||
|
|
||||||
|
// handle specific listen errors with friendly messages
|
||||||
|
switch (error.code) {
|
||||||
|
case "EACCES":
|
||||||
|
console.error(bind + " requires elevated privileges");
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
case "EADDRINUSE":
|
||||||
|
console.error(bind + " is already in use");
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "listening" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onListening() {
|
||||||
|
var addr = server.address();
|
||||||
|
var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port;
|
||||||
|
debug("Listening on " + bind);
|
||||||
|
}
|
86
bin/wwwdev
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var app = require("../appdev");
|
||||||
|
var debug = require("debug")("palmpay:server");
|
||||||
|
var http = require("http");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get port from environment and store in Express.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var port = normalizePort(process.env.PORT || "3000");
|
||||||
|
app.set("port", port);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create HTTP server.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var server = http.createServer(app);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Listen on provided port, on all network interfaces.
|
||||||
|
*/
|
||||||
|
|
||||||
|
server.listen(port);
|
||||||
|
server.on("error", onError);
|
||||||
|
server.on("listening", onListening);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Normalize a port into a number, string, or false.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function normalizePort(val) {
|
||||||
|
var port = parseInt(val, 10);
|
||||||
|
|
||||||
|
if (isNaN(port)) {
|
||||||
|
// named pipe
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (port >= 0) {
|
||||||
|
// port number
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "error" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onError(error) {
|
||||||
|
if (error.syscall !== "listen") {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
|
||||||
|
var bind = typeof port === "string" ? "Pipe " + port : "Port " + port;
|
||||||
|
|
||||||
|
// handle specific listen errors with friendly messages
|
||||||
|
switch (error.code) {
|
||||||
|
case "EACCES":
|
||||||
|
console.error(bind + " requires elevated privileges");
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
case "EADDRINUSE":
|
||||||
|
console.error(bind + " is already in use");
|
||||||
|
process.exit(1);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Event listener for HTTP server "listening" event.
|
||||||
|
*/
|
||||||
|
|
||||||
|
function onListening() {
|
||||||
|
var addr = server.address();
|
||||||
|
var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port;
|
||||||
|
debug("Listening on " + bind);
|
||||||
|
}
|
21
client/.gitignore
vendored
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
# testing
|
||||||
|
/coverage
|
||||||
|
|
||||||
|
# production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# misc
|
||||||
|
.DS_Store
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
21
client/package.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"name": "client",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"private": true,
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^4.16.3",
|
||||||
|
"mdbreact": "^4.5.0",
|
||||||
|
"react": "^16.4.1",
|
||||||
|
"react-dom": "^16.4.1",
|
||||||
|
"react-ripples": "^1.1.2",
|
||||||
|
"react-scripts": "1.1.4",
|
||||||
|
"react-scroll": "^1.7.9"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"start": "react-scripts start",
|
||||||
|
"build": "react-scripts build",
|
||||||
|
"test": "react-scripts test --env=jsdom --watchAll",
|
||||||
|
"eject": "react-scripts eject"
|
||||||
|
},
|
||||||
|
"proxy": "http://localhost:3001"
|
||||||
|
}
|
93
client/public/index.html
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
|
<title>PalmPay</title>
|
||||||
|
|
||||||
|
<!-- FB Open Graph data -->
|
||||||
|
<meta property="og:title" content="PalmPay">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:image" content="http://palmpay.io/PalmPayIO.png">
|
||||||
|
<meta property="og:description" content="Cryptocurrencies bring Global Sales; Bitcoin Cash, bitUSD, bitEUR, bitRUB, bitXCD, bitSilver, Steem, Litecoin and more.">
|
||||||
|
<meta property="og:url" content="http://palmpay.io/">
|
||||||
|
|
||||||
|
<!-- Twitter Card data -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:title" content="PalmPay">
|
||||||
|
<meta name="twitter:description" content="Cryptocurrencies bring Global Sales; Bitcoin Cash, bitUSD, bitEUR, bitRUB, bitXCD, bitSilver, Steem, Litecoin and more.">
|
||||||
|
<meta name="twitter:image" content="http://palmpay.io/PalmPayIO.png">
|
||||||
|
<meta name="twitter:url" content="http://palmpay.io/">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v4=eE58gaorm5">
|
||||||
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v4=eE58gaorm5">
|
||||||
|
<link rel="icon" type="image/png" sizes="194x194" href="/favicon-194x194.png?v4=eE58gaorm5">
|
||||||
|
<link rel="icon" type="image/png" sizes="192x192" href="/android-chrome-192x192.png?v4=eE58gaorm5">
|
||||||
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v4=eE58gaorm5">
|
||||||
|
<link rel="manifest" href="/site.webmanifest?v4=eE58gaorm5">
|
||||||
|
<link rel="mask-icon" href="/safari-pinned-tab.svg?v4=eE58gaorm5" color="#128f52">
|
||||||
|
<link rel="shortcut icon" href="/favicon.ico?v4=eE58gaorm5">
|
||||||
|
<meta name="apple-mobile-web-app-title" content="PalmPay">
|
||||||
|
<meta name="application-name" content="PalmPay">
|
||||||
|
<meta name="msapplication-TileColor" content="#128f52">
|
||||||
|
<meta name="msapplication-TileImage" content="/mstile-144x144.png?v4=eE58gaorm5">
|
||||||
|
<meta name="theme-color" content="#29b872">
|
||||||
|
<!--script src="js/react-with-addons.js"></script>
|
||||||
|
<script src="js/react-dom.js"></script>
|
||||||
|
<script src="js/react-simplehtmlparser.min.js"></script>
|
||||||
|
<script src="js/react-language-selector.js"></script-->
|
||||||
|
</head>
|
||||||
|
<body id="home">
|
||||||
|
<noscript>
|
||||||
|
You need to enable JavaScript to run this app.
|
||||||
|
</noscript>
|
||||||
|
<span id="root"></span>
|
||||||
|
<!-- React Language Selector -->
|
||||||
|
<!--script type="text/javascript">
|
||||||
|
var lang = new React.LS('en_US');
|
||||||
|
|
||||||
|
lang.ready(function () {
|
||||||
|
//List of languages
|
||||||
|
var rlsui_languages = [
|
||||||
|
{
|
||||||
|
id: 'en_US',
|
||||||
|
langfile: 'js/languages/en.json',
|
||||||
|
title: 'EN',
|
||||||
|
name: 'EN',
|
||||||
|
flagImg: 'img/flags/us.png',
|
||||||
|
flagTitle: 'United States'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'el_GR',
|
||||||
|
langfile: 'js/languages/el.json',
|
||||||
|
title: 'GR',
|
||||||
|
name: 'GR',
|
||||||
|
flagImg: 'img/flags/gr.png',
|
||||||
|
flagTitle: 'Greece'
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
//id for loaded language pack also can be 'fr'
|
||||||
|
id: 'fr_FR',
|
||||||
|
//path to language pack
|
||||||
|
langfile: 'languages/fr.json',
|
||||||
|
title: 'French',
|
||||||
|
name: 'French',
|
||||||
|
flagImg: 'img/flags/fr.png',
|
||||||
|
flagTitle: 'French'
|
||||||
|
},*/
|
||||||
|
];
|
||||||
|
//main part for loading language selector ui
|
||||||
|
|
||||||
|
ReactDOM.render(React.createElement(lang.UI, {
|
||||||
|
items: rlsui_languages,
|
||||||
|
selectedLang: window.lang.currentLang(),
|
||||||
|
showFlag: false,
|
||||||
|
onLanguageChanged: function (rlsui_lang) {
|
||||||
|
lang.set_load_lang(rlsui_lang.id, rlsui_lang.langfile);
|
||||||
|
}
|
||||||
|
}), document.getElementById('langs'));
|
||||||
|
});</script-->
|
||||||
|
</body>
|
||||||
|
</html>
|
361
client/src/App.js
Normal file
|
@ -0,0 +1,361 @@
|
||||||
|
import React from "react";
|
||||||
|
import {
|
||||||
|
Navbar,
|
||||||
|
NavbarNav,
|
||||||
|
NavbarToggler,
|
||||||
|
Collapse,
|
||||||
|
NavItem,
|
||||||
|
Footer,
|
||||||
|
NavLink,
|
||||||
|
Row,
|
||||||
|
Col,
|
||||||
|
Container,
|
||||||
|
Modal,
|
||||||
|
ModalBody,
|
||||||
|
ModalHeader
|
||||||
|
} from "mdbreact";
|
||||||
|
import { BrowserRouter as Router } from "react-router-dom";
|
||||||
|
import { Link, Events, animateScroll as scroll, scrollSpy } from "react-scroll";
|
||||||
|
|
||||||
|
import "./index.css";
|
||||||
|
import "./static/css/palmpay.css";
|
||||||
|
|
||||||
|
//import './static/css/palmpay.css';
|
||||||
|
|
||||||
|
import Routes from "./Routes";
|
||||||
|
|
||||||
|
class App extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = { showmenu: true };
|
||||||
|
this.state = {
|
||||||
|
collapse: false,
|
||||||
|
modal2: false
|
||||||
|
};
|
||||||
|
this.toggle2 = this.toggle2.bind(this);
|
||||||
|
this.onClick = this.onClick.bind(this);
|
||||||
|
this.handleNavbarClick = this.handleNavbarClick.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle2() {
|
||||||
|
this.setState({
|
||||||
|
modal2: !this.state.modal2
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick() {
|
||||||
|
this.setState({
|
||||||
|
collapse: !this.state.collapse
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
handleNavbarClick() {
|
||||||
|
this.setState({
|
||||||
|
collapse: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
componentDidMount() {
|
||||||
|
Events.scrollEvent.register("begin", function(to, element) {
|
||||||
|
console.log("begin", arguments);
|
||||||
|
});
|
||||||
|
|
||||||
|
Events.scrollEvent.register("end", function(to, element) {
|
||||||
|
console.log("end", arguments);
|
||||||
|
});
|
||||||
|
|
||||||
|
scrollSpy.update();
|
||||||
|
}
|
||||||
|
componentWillUnmount() {
|
||||||
|
Events.scrollEvent.remove("begin");
|
||||||
|
Events.scrollEvent.remove("end");
|
||||||
|
}
|
||||||
|
scrollToTop() {
|
||||||
|
scroll.scrollToTop();
|
||||||
|
}
|
||||||
|
scrollToBottom() {
|
||||||
|
scroll.scrollToBottom();
|
||||||
|
}
|
||||||
|
scrollTo() {
|
||||||
|
scroll.scrollTo(100);
|
||||||
|
}
|
||||||
|
scrollMore() {
|
||||||
|
scroll.scrollMore(100);
|
||||||
|
}
|
||||||
|
handleSetActive(to) {
|
||||||
|
console.log(to);
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const currentPath = window.location.pathname;
|
||||||
|
const collapsed = this.state.collapsed;
|
||||||
|
const overlay = (
|
||||||
|
<div
|
||||||
|
id="sidenav-overlay"
|
||||||
|
style={{ backgroundColor: "transparent" }}
|
||||||
|
onClick={this.handleNavbarClick}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
<Router>
|
||||||
|
<span id="apppage">
|
||||||
|
{!currentPath.includes("marketing") ? (
|
||||||
|
<Navbar dark expand="md" fixed="top" id="mainNav" scrolling>
|
||||||
|
<Container hidden={this.state.showmenu}>
|
||||||
|
<Link
|
||||||
|
activeClass="active"
|
||||||
|
className="navbar-brand"
|
||||||
|
to="home"
|
||||||
|
href="/"
|
||||||
|
spy={true}
|
||||||
|
smooth={true}
|
||||||
|
offset={0}
|
||||||
|
duration={500}
|
||||||
|
onSetActive={this.handleSetActive}>
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
className="logo1"
|
||||||
|
src="./img/logo.png"
|
||||||
|
width="100%"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
className="logo2"
|
||||||
|
src="./img/logo54.png"
|
||||||
|
width="100%"
|
||||||
|
style={{ display: "none" }}
|
||||||
|
/>
|
||||||
|
</Link>
|
||||||
|
|
||||||
|
<NavbarToggler onClick={this.onClick} />
|
||||||
|
<Collapse isOpen={this.state.collapse} navbar>
|
||||||
|
<NavbarNav right>
|
||||||
|
<NavItem>
|
||||||
|
<Link
|
||||||
|
activeClass="active"
|
||||||
|
className="nav-link"
|
||||||
|
to="services"
|
||||||
|
spy={true}
|
||||||
|
smooth={true}
|
||||||
|
offset={0}
|
||||||
|
duration={500}
|
||||||
|
onSetActive={this.handleSetActive}>
|
||||||
|
<span id="nav_lang1">Services</span>
|
||||||
|
</Link>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<Link
|
||||||
|
activeClass="active"
|
||||||
|
className="nav-link"
|
||||||
|
to="about"
|
||||||
|
spy={true}
|
||||||
|
smooth={true}
|
||||||
|
offset={0}
|
||||||
|
duration={500}
|
||||||
|
onSetActive={this.handleSetActive}>
|
||||||
|
<span id="nav_lang2">About</span>
|
||||||
|
</Link>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<Link
|
||||||
|
activeClass="active"
|
||||||
|
className="nav-link"
|
||||||
|
href="#testimonies"
|
||||||
|
to="testimonies"
|
||||||
|
spy={true}
|
||||||
|
smooth={true}
|
||||||
|
offset={0}
|
||||||
|
duration={500}
|
||||||
|
onSetActive={this.handleSetActive}>
|
||||||
|
<span id="nav_lang3">Testimonies</span>
|
||||||
|
</Link>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink to="#!" onClick={this.toggle2}>
|
||||||
|
<span id="nav_lang4">Downloads</span>
|
||||||
|
</NavLink>
|
||||||
|
</NavItem>
|
||||||
|
</NavbarNav>
|
||||||
|
</Collapse>
|
||||||
|
</Container>
|
||||||
|
</Navbar>
|
||||||
|
) : (
|
||||||
|
<Navbar
|
||||||
|
dark
|
||||||
|
expand="md"
|
||||||
|
fixed="top"
|
||||||
|
id="mainNav"
|
||||||
|
scrolling
|
||||||
|
className="top-nav-collapse">
|
||||||
|
<Container hidden={this.state.showmenu}>
|
||||||
|
<a activeClass="active" className="navbar-brand" href="/">
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
className="logo1"
|
||||||
|
src="./img/logo.png"
|
||||||
|
width="100%"
|
||||||
|
/>
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
className="logo2"
|
||||||
|
src="./img/logo54.png"
|
||||||
|
width="100%"
|
||||||
|
style={{ display: "none" }}
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<NavbarToggler onClick={this.onClick} />
|
||||||
|
<Collapse isOpen={this.state.collapse} navbar>
|
||||||
|
<NavbarNav right />
|
||||||
|
</Collapse>
|
||||||
|
</Container>
|
||||||
|
</Navbar>
|
||||||
|
)}
|
||||||
|
{collapsed && overlay}
|
||||||
|
|
||||||
|
<Routes />
|
||||||
|
|
||||||
|
<Footer className="footer text-center">
|
||||||
|
<div className="containerfix">
|
||||||
|
<Row className="vertical-align footerrow">
|
||||||
|
<Col md="4">
|
||||||
|
<img alt="" src="./img/footerlogo.png" />
|
||||||
|
</Col>
|
||||||
|
|
||||||
|
<Col md="4">
|
||||||
|
<ul className="list-inline social-buttons">
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://t.me/Agorise">
|
||||||
|
<i className="fa fa-telegram" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://twitter.com/Agorise_world">
|
||||||
|
<i className="fa fa-twitter" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://youtube.com/Agorise">
|
||||||
|
<i className="fa fa-youtube" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://d.tube/c/agorise">
|
||||||
|
<img alt="" src="./img/dtube.png" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://steemit.com/@Agorise">
|
||||||
|
<img alt="" src="./img/steemit.png" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</Col>
|
||||||
|
<Col md="4">
|
||||||
|
<p className="mb-0">
|
||||||
|
<span id="ft_lang1">FASTER AND SAFER THAN CASH</span>
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
|
||||||
|
<div
|
||||||
|
className="copyright py-3 text-center text-white"
|
||||||
|
style={{ fontSize: "0.8em" }}>
|
||||||
|
<div>
|
||||||
|
<div className="row vertical-align">
|
||||||
|
<div className="col-md-10 mx-md-auto">
|
||||||
|
<p>
|
||||||
|
<span id="cp_lang1">
|
||||||
|
This website is not intended as legal or financial
|
||||||
|
advice, is not a guarantee of anything and we do not
|
||||||
|
collect any info about you whatsoever. PalmPay is a
|
||||||
|
Point Of Sale product by Agorise, Ltd. For technical
|
||||||
|
details, chat anytime 24/7 with the Agorise community
|
||||||
|
on Telegram at:
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="http://t.me/Agorise">
|
||||||
|
{" "}
|
||||||
|
http://t.me/Agorise
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="row vertical-align">
|
||||||
|
<div className="col-md-4" />
|
||||||
|
<div className="col-md-4">
|
||||||
|
<small>
|
||||||
|
© Copyright {new Date().getFullYear()}{" "}
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="http://agorise.world/">
|
||||||
|
{" "}
|
||||||
|
Agorise Ltd.{" "}
|
||||||
|
</a>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row justify-content-end">
|
||||||
|
<div
|
||||||
|
style={{ fontSize: "0.8em" }}
|
||||||
|
className="text-white col-md-2">
|
||||||
|
<small>
|
||||||
|
Site by:{" "}
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://about.me/poqdavid">
|
||||||
|
poqdavid
|
||||||
|
</a>
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Footer>
|
||||||
|
|
||||||
|
<Modal isOpen={this.state.modal2} toggle={this.toggle2}>
|
||||||
|
<ModalHeader toggle={this.toggle2}>
|
||||||
|
<span id="mdl_lang1">Downloads</span>
|
||||||
|
</ModalHeader>
|
||||||
|
<ModalBody className="text-center">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://play.google.com/store/apps/details?id=cy.agorise.palmpay">
|
||||||
|
<img
|
||||||
|
alt=""
|
||||||
|
className="logo1"
|
||||||
|
src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
|
||||||
|
height="60"
|
||||||
|
width="auto"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</ModalBody>
|
||||||
|
</Modal>
|
||||||
|
</span>
|
||||||
|
</Router>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default App;
|
168
client/src/App.test.js
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
import React from 'react';
|
||||||
|
import { Button, Navbar, NavbarBrand, NavbarNav, NavbarToggler, Collapse, NavItem, Footer, NavLink, Mask, Row, Col, Fa, View, Container, Modal, ModalBody, ModalHeader, ModalFooter} from 'mdbreact';
|
||||||
|
import { BrowserRouter as Router } from 'react-router-dom';
|
||||||
|
import './index.css';
|
||||||
|
import './static/css/palmpay.css';
|
||||||
|
|
||||||
|
//import './css/csslider.css';
|
||||||
|
|
||||||
|
import Routes from './Routes';
|
||||||
|
|
||||||
|
class App extends React.Component {
|
||||||
|
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props),
|
||||||
|
this.state = {
|
||||||
|
collapse : false,
|
||||||
|
modal2: false
|
||||||
|
}
|
||||||
|
this.toggle2 = this.toggle2.bind(this);
|
||||||
|
this.onClick = this.onClick.bind(this);
|
||||||
|
this.handleNavbarClick = this.handleNavbarClick.bind(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle2() {
|
||||||
|
this.setState({
|
||||||
|
modal2: !this.state.modal2
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick(){
|
||||||
|
this.setState({
|
||||||
|
collapse: !this.state.collapse,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
handleNavbarClick(){
|
||||||
|
this.setState({
|
||||||
|
collapse: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
render(){
|
||||||
|
const collapsed = this.state.collapsed;
|
||||||
|
const overlay = <div id="sidenav-overlay" style={{backgroundColor: 'transparent'}} onClick={this.handleNavbarClick}/>
|
||||||
|
return (
|
||||||
|
<Router>
|
||||||
|
<div id="apppage" className="flyout">
|
||||||
|
|
||||||
|
<Navbar dark expand="md" fixed="top" id="mainNav" scrolling>
|
||||||
|
<Container>
|
||||||
|
<NavbarBrand>
|
||||||
|
<img className="logo1" src="./img/logo.png" width="100%"></img>
|
||||||
|
<img className="logo2" src="./img/logo54.png" width="100%" style={{display: 'none'}}></img>
|
||||||
|
</NavbarBrand>
|
||||||
|
<NavbarToggler onClick = { this.onClick } />
|
||||||
|
<Collapse isOpen = {this.state.collapse} navbar>
|
||||||
|
<NavbarNav right>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink to="#services"><span id="nav_lang1">Services</span></NavLink>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink to="#about"><span id="nav_lang2">About</span></NavLink>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink to="#testimonies"><span id="nav_lang3">Testimonies</span></NavLink>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
<NavLink to="#!" onClick={this.toggle2}><span id="nav_lang4">Downloads</span></NavLink>
|
||||||
|
</NavItem>
|
||||||
|
<NavItem>
|
||||||
|
</NavItem>
|
||||||
|
</NavbarNav>
|
||||||
|
<ul className="nav navbar-nav navbar-right fix-li-menu" multilinks-noscroll="true" id="langs"></ul>
|
||||||
|
</Collapse>
|
||||||
|
</Container>
|
||||||
|
</Navbar>
|
||||||
|
{ collapsed && overlay}
|
||||||
|
<Routes />
|
||||||
|
|
||||||
|
<Footer className="footer text-center">
|
||||||
|
<div className="containerfix">
|
||||||
|
<Row className="vertical-align">
|
||||||
|
<Col md="4">
|
||||||
|
<img src="./img/footerlogo.png"></img>
|
||||||
|
</Col>
|
||||||
|
|
||||||
|
<Col md="4">
|
||||||
|
<ul className="list-inline social-buttons">
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a target="_blank" href="https://t.me/Agorise">
|
||||||
|
<i className="fa fa-telegram"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a target="_blank" href="https://twitter.com/Agorise_world">
|
||||||
|
<i className="fa fa-twitter"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a target="_blank" href="https://youtube.com/Agorise">
|
||||||
|
<i className="fa fa-youtube"></i>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a target="_blank" href="https://d.tube/c/agorise">
|
||||||
|
<img src="./img/dtube.png"></img>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li className="list-inline-item">
|
||||||
|
<a target="_blank" href="https://steemit.com/@Agorise">
|
||||||
|
<img src="./img/steemit.png"></img>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</Col>
|
||||||
|
<Col md="4">
|
||||||
|
|
||||||
|
<p className="mb-0">
|
||||||
|
<span id="ft_lang1">FASTER AND SAFER THAN CASH</span>
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</div>
|
||||||
|
</Footer>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div className="copyright py-3 text-center text-white" style={{fontSize:'0.8em'}}>
|
||||||
|
<div className="containerfix">
|
||||||
|
<div className="row vertical-align">
|
||||||
|
<div className="col-md-12">
|
||||||
|
<p>
|
||||||
|
<span id="cp_lang1">
|
||||||
|
This website is not intended as legal or financial advice, is not a guarantee of anything and we do not collect any info about you whatsoever. PalmPay is a Point Of Sale product by Agorise, Ltd. For technical details, chat anytime 24/7 with the Agorise community on Telegram at:
|
||||||
|
<a target="_blank" href="http://t.me/Agorise"> http://t.me/Agorise</a>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="row vertical-align">
|
||||||
|
|
||||||
|
<div className="col-md-4"></div>
|
||||||
|
<div className="col-md-4">
|
||||||
|
|
||||||
|
<small>© Copyright {(new Date().getFullYear())} <a target="_blank" href="http://agorise.world/"> Agorise Ltd. </a></small>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Modal isOpen={this.state.modal2} toggle={this.toggle2}>
|
||||||
|
<ModalHeader toggle={this.toggle2}><span id="mdl_lang1">Downloads</span></ModalHeader>
|
||||||
|
<ModalBody className="text-center">
|
||||||
|
<a target="_blank" href="https://play.google.com/store/apps/details?id=cy.agorise.palmpay"><img className="logo1" src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="60" width="auto"></img></a>
|
||||||
|
</ModalBody>
|
||||||
|
</Modal>
|
||||||
|
</div>
|
||||||
|
</Router>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default App;
|
25
client/src/Routes.js
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import React from "react";
|
||||||
|
import { Route, Switch } from "react-router-dom";
|
||||||
|
|
||||||
|
// FREE
|
||||||
|
import HomePage from "./pages/HomePage";
|
||||||
|
import MarketingPage from "./pages/MarketingPage";
|
||||||
|
|
||||||
|
class Routes extends React.Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Switch>
|
||||||
|
{/* FREE */}
|
||||||
|
<Route exact path="/" component={HomePage} />
|
||||||
|
<Route exact path="/marketing" component={MarketingPage} />
|
||||||
|
<Route
|
||||||
|
render={function() {
|
||||||
|
return <h1>Not Found</h1>;
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</Switch>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Routes;
|
97
client/src/index.css
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
/* #apppage .gradient {
|
||||||
|
background: -moz-linear-gradient(45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%);
|
||||||
|
background: -webkit-linear-gradient(45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%);
|
||||||
|
background: linear-gradient(to 45deg, rgba(213, 15, 61, 0.6), rgba(13, 17, 198, 0.69) 100%);
|
||||||
|
} */
|
||||||
|
|
||||||
|
#maincontent {
|
||||||
|
min-height: 100%;
|
||||||
|
}
|
||||||
|
#apppage {
|
||||||
|
min-height: 100%;
|
||||||
|
}
|
||||||
|
#apppage h6 {
|
||||||
|
line-height: 1.7;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
position: relative;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
.collapse.show {
|
||||||
|
padding-bottom: 20px;
|
||||||
|
}
|
||||||
|
#apppage .navbar {
|
||||||
|
transition: background 0.5s ease-in-out, padding 0.5s ease-in-out;
|
||||||
|
box-shadow: 0px 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#apppage .top-nav-collapse {
|
||||||
|
background: #128f52 !important;
|
||||||
|
padding-top: 0px !important;
|
||||||
|
padding-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
#apppage .navbar:not(.top-nav-collapse) {
|
||||||
|
background: #128f52 !important;
|
||||||
|
padding-top: 0px !important;
|
||||||
|
padding-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
strong.important {
|
||||||
|
font-weight: 700 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonialc {
|
||||||
|
margin-bottom: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-item i {
|
||||||
|
font-size: 80px;
|
||||||
|
color: #128f52;
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonialc .carousel-item-next,
|
||||||
|
.testimonialc .carousel-item-prev,
|
||||||
|
.testimonialc .carousel-item.active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.testimonialc .carousel-indicators li {
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
|
max-width: 16px;
|
||||||
|
background-color: #3a3a3a;
|
||||||
|
margin-bottom: -60px;
|
||||||
|
}
|
||||||
|
.testimonialc .carousel-indicators .active {
|
||||||
|
height: 20px;
|
||||||
|
width: 20px;
|
||||||
|
max-width: 20px;
|
||||||
|
background-color: #71ad37;
|
||||||
|
-webkit-border-radius: 50%;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.testimonialc .controls-top .btn-floating {
|
||||||
|
background: #4285f4;
|
||||||
|
}
|
||||||
|
.testimonialc .carousel-indicators {
|
||||||
|
margin-bottom: -5em;
|
||||||
|
}
|
||||||
|
.testimonialc .card {
|
||||||
|
margin: 1px;
|
||||||
|
}
|
||||||
|
.testimonialc .card-cascade.narrower {
|
||||||
|
margin-top: 20px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 992px) {
|
||||||
|
.testimonialc .carousel-indicators li {
|
||||||
|
margin-bottom: -30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#testimonies {
|
||||||
|
padding: 14rem 0 !important;
|
||||||
|
}
|
14
client/src/index.js
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import React from "react";
|
||||||
|
import ReactDOM from "react-dom";
|
||||||
|
import "font-awesome/css/font-awesome.min.css";
|
||||||
|
import "bootstrap/dist/css/bootstrap.min.css";
|
||||||
|
import "mdbreact/dist/css/mdb.css";
|
||||||
|
import "./index.css";
|
||||||
|
|
||||||
|
import App from "./App";
|
||||||
|
|
||||||
|
import registerServiceWorker from "./registerServiceWorker";
|
||||||
|
|
||||||
|
ReactDOM.render(<App />, document.getElementById("root"));
|
||||||
|
|
||||||
|
registerServiceWorker();
|
7
client/src/pages/HomePage.css
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
#apppage .vmain {
|
||||||
|
background-image: url("../static/img/header-bg.jpg");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center center;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
612
client/src/pages/HomePage.js
Normal file
|
@ -0,0 +1,612 @@
|
||||||
|
import React from "react";
|
||||||
|
import {
|
||||||
|
Carousel,
|
||||||
|
CarouselInner,
|
||||||
|
CarouselItem,
|
||||||
|
CarouselIndicators,
|
||||||
|
CarouselIndicator,
|
||||||
|
Mask,
|
||||||
|
Row,
|
||||||
|
Col,
|
||||||
|
Button,
|
||||||
|
View,
|
||||||
|
Container
|
||||||
|
} from "mdbreact";
|
||||||
|
|
||||||
|
import "./HomePage.css";
|
||||||
|
|
||||||
|
class HomePage extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.next = this.next.bind(this);
|
||||||
|
this.prev = this.prev.bind(this);
|
||||||
|
this.state = {
|
||||||
|
activeItem: 1,
|
||||||
|
maxLength: 6
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
next() {
|
||||||
|
let nextItem = this.state.activeItem + 1;
|
||||||
|
if (nextItem > this.state.maxLength) {
|
||||||
|
this.setState({ activeItem: 1 });
|
||||||
|
} else {
|
||||||
|
this.setState({ activeItem: nextItem });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
prev() {
|
||||||
|
let prevItem = this.state.activeItem - 1;
|
||||||
|
if (prevItem < 1) {
|
||||||
|
this.setState({ activeItem: this.state.maxLength });
|
||||||
|
} else {
|
||||||
|
this.setState({ activeItem: prevItem });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
goToIndex(item) {
|
||||||
|
if (this.state.activeItem !== item) {
|
||||||
|
this.setState({
|
||||||
|
activeItem: item
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { activeItem } = this.state;
|
||||||
|
return (
|
||||||
|
<span>
|
||||||
|
<View className="vmain">
|
||||||
|
<Mask className="d-flex justify-content-center align-items-center gradient">
|
||||||
|
<Container className="px-md-3 px-sm-0">
|
||||||
|
<Row>
|
||||||
|
<Col lg="10" className="mx-auto white-text text-center">
|
||||||
|
<h1 className="text-uppercase">
|
||||||
|
<strong className="important">
|
||||||
|
<span id="header_lang1">
|
||||||
|
Accept any Digital Currency at Zero Cost
|
||||||
|
</span>
|
||||||
|
</strong>
|
||||||
|
</h1>
|
||||||
|
<hr className="hr-light my-4 w-75" />
|
||||||
|
</Col>
|
||||||
|
<Col lg="8" className="mx-auto white-text text-center">
|
||||||
|
<p className="subtext-header mt-2 mb-4 text-faded">
|
||||||
|
<span id="header_lang2">
|
||||||
|
Cryptocurrencies bring Global Sales; Bitcoin Cash, bitUSD,
|
||||||
|
bitEUR, bitRUB, bitXCD, bitSilver, Steem, Litecoin and
|
||||||
|
more
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<Button
|
||||||
|
href="#services"
|
||||||
|
className="btn-lg btn-primary"
|
||||||
|
rounded>
|
||||||
|
<span id="header_lang3">Tell me more</span>
|
||||||
|
</Button>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</Container>
|
||||||
|
</Mask>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<section data-spy="scroll" data-target="#mainNav" id="services">
|
||||||
|
<div className="containerfix">
|
||||||
|
<div className="row">
|
||||||
|
<div className="col-lg-12 text-center">
|
||||||
|
<h2 className="section-heading">
|
||||||
|
<span id="sr_lang1">
|
||||||
|
100% FREE Crypto Point-Of-Sale Software for any Business
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<hr className="my-4" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="containerfix">
|
||||||
|
<div className="row">
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Retail" src="./img/4.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang2">Retail</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Cafe/Bars" src="./img/6.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang3">Cafe/Bars</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Restaurants" src="./img/3.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang4">Restaurants</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Gas Stations" src="./img/7.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang5">Gas Stations</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Bill-Pay Counters" src="./img/2.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang6">Bill-Pay Counters</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Grocery" src="./img/1.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang7">Grocery</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Delivery Drivers" src="./img/9.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang8">Delivery Drivers</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="col-lg-3 col-md-6 text-center">
|
||||||
|
<div className="service-box mt-5 mx-auto">
|
||||||
|
<i className="fa fa-4x text-primary mb-3 sr-icons">
|
||||||
|
<img alt="Phone Orders" src="./img/8.png" />
|
||||||
|
</i>
|
||||||
|
<h3 className="mb-3">
|
||||||
|
<span id="sr_lang9">Phone Orders</span>
|
||||||
|
</h3>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="about bg-secondary" id="about">
|
||||||
|
<div className="container">
|
||||||
|
<div className="row align-items-center">
|
||||||
|
<div className="col-lg-6 order-lg-2">
|
||||||
|
<div className="p-5">
|
||||||
|
<img alt="" className="img-fluid" src="./img/ab1.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6 order-lg-1">
|
||||||
|
<div className="p-5">
|
||||||
|
<h2 className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang1">
|
||||||
|
Integrates seamlessly with Existing Systems
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<p className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang2">
|
||||||
|
PalmPay was built from the ground up to be Future-Proof.
|
||||||
|
Business owners no longer need to stay savvy on the
|
||||||
|
latest technologies. Blockchains and currencies come and
|
||||||
|
go, but PalmPay supports them and offers them to your
|
||||||
|
customers based upon their popularity, automatically.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang3">
|
||||||
|
Zero cost. Zero setup fee. Zero transaction fee. Zero
|
||||||
|
monthly fee. Your Customers pay the tiny 0.5%
|
||||||
|
transaction fee to pay with their favorite digital
|
||||||
|
currency.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang4">
|
||||||
|
eReceipts, and advanced Export features enable
|
||||||
|
simplified accounting and Tax reporting. Your Customers
|
||||||
|
also receive a beautiful eReceipt directly to their
|
||||||
|
smartphone after their payment.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang5">
|
||||||
|
Faster and Safer than Cash. Customer transactions take 3
|
||||||
|
seconds or less. Let’s see cash or card Customers get
|
||||||
|
through that fast!
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row align-items-center">
|
||||||
|
<div className="col-lg-6">
|
||||||
|
<div className="p-5">
|
||||||
|
<img alt="" className="img-fluid" src="./img/ab2.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6">
|
||||||
|
<div className="p-5">
|
||||||
|
<h2 className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang6">
|
||||||
|
Mobile Payments are quicker than ever. Process your
|
||||||
|
Customer orders instantly
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<p className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang7">
|
||||||
|
Whether you are delivering packages requiring payment,
|
||||||
|
helping hundreds of Customers to speed through the
|
||||||
|
checkout line, or just serving up the bill in a
|
||||||
|
high-paced restaurant, PalmPay handles them all
|
||||||
|
instantly.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang8">
|
||||||
|
No more credit card expenses. No more cash robberies.
|
||||||
|
Maximum Security and Zero Risk with no chance of
|
||||||
|
ID-Theft or Card Fraud. PalmPay uses the Bitshares
|
||||||
|
blockchain to instantly secure any transaction amount
|
||||||
|
and has done so for over 3 years now, recently exceeding
|
||||||
|
3300 transactions per second.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang9">
|
||||||
|
Hacking a blockchain is impossible since it uses
|
||||||
|
Distributed Ledger Technology, instantly ensuring that
|
||||||
|
each transaction is verified by hundreds of computers
|
||||||
|
around the world.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row align-items-center">
|
||||||
|
<div className="col-lg-6 order-lg-2">
|
||||||
|
<div className="p-5">
|
||||||
|
<img alt="" className="img-fluid" src="./img/ab3.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6 order-lg-1">
|
||||||
|
<div className="p-5">
|
||||||
|
<h2 className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang10">
|
||||||
|
Cryptocurrency volatility is a thing of the past
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<p className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang11">
|
||||||
|
PalmPay instantly converts Crypto into your stable,
|
||||||
|
local currency in digital form, such as bitEUR, bitUSD,
|
||||||
|
bitJPY, bitKRW, bitRUB or even bitGold and bitSilver.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang12">
|
||||||
|
These Smartcoins are closely pegged 1:1 to their
|
||||||
|
underlying asset so that you never have to worry about
|
||||||
|
paying your bills with Crypto.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang13">
|
||||||
|
For example, the Canadian merchant who just received
|
||||||
|
some volatile Dogecoin, can receive it as price-stable
|
||||||
|
bitCAD. One currency is instantly morphed into another,
|
||||||
|
of the Merchants choice. PalmPay handles all of this in
|
||||||
|
the background, allowing the customer to pay with
|
||||||
|
whatever Crypto they prefer.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang14">
|
||||||
|
This stability is the foundation of the Blockchain My
|
||||||
|
City (<a href="docs/Blockchain_My_City_BMC.pdf">BMC</a>)
|
||||||
|
Initiative. PalmPay includes the ability to
|
||||||
|
automatically pay every Ambassador and enrolled
|
||||||
|
Government from the 0.5% that is collected from
|
||||||
|
customers.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row align-items-center">
|
||||||
|
<div className="col-lg-6">
|
||||||
|
<div className="p-5">
|
||||||
|
<img alt="" className="img-fluid" src="./img/ab4.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6">
|
||||||
|
<div className="p-5">
|
||||||
|
<h2 className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang15">
|
||||||
|
Unlimited, free Technical Support from PalmPay
|
||||||
|
Ambassadors
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<p className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang16">
|
||||||
|
Free? Yes, totally free. PalmPay Ambassadors are paid
|
||||||
|
automatically, every 3 seconds, via the Customer
|
||||||
|
transaction fee mentioned above. So, if you ever have
|
||||||
|
questions (in any of the 44 supported languages), just
|
||||||
|
contact your local PalmPay Ambassador directly, or ask
|
||||||
|
for one on Telegram at
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="http://t.me/Agorise">
|
||||||
|
http://t.me/Agorise
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang17">
|
||||||
|
As long as your business has WiFi, and an Android tablet
|
||||||
|
or smartphone (for the free PalmPay software), that’s
|
||||||
|
literally all you need. No other hardware is needed. If
|
||||||
|
desired, don’t forget to ask your PalmPay Ambassador for
|
||||||
|
free window decals, stickers, flyers and promotional
|
||||||
|
materials.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="row align-items-center">
|
||||||
|
<div className="col-lg-6 order-lg-2">
|
||||||
|
<div className="p-5">
|
||||||
|
<img alt="" className="img-fluid" src="./img/ab5.png" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="col-lg-6 order-lg-1">
|
||||||
|
<div className="p-5">
|
||||||
|
<h2 className="display-5 about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang18">
|
||||||
|
Access your accounts anytime, from anywhere in the world
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</h2>
|
||||||
|
<p className="about-text">
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang19">
|
||||||
|
Monitor the transactions at one or more of your
|
||||||
|
Businesses in real-time. Win, Mac, or Linux.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang20">
|
||||||
|
The Bitshares decentralized exchange (DEX) provides the
|
||||||
|
platform which PalmPay utilizes. Using their DEX, you
|
||||||
|
can freely move money between accounts, get a Loan, go
|
||||||
|
public, pay bills, Trade and even invest in other
|
||||||
|
assets.
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<span>
|
||||||
|
<span id="ab_lang21">
|
||||||
|
They’re the bank that never closes, never needs a
|
||||||
|
bailout, and can never steal your money. Bitshares is
|
||||||
|
not a company. It’s a distributed network of computers
|
||||||
|
all running the same software providing maximum uptime.
|
||||||
|
So, stop trusting humans with your money and become your
|
||||||
|
own bank!
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section className="testimonials text-center" id="testimonies">
|
||||||
|
<div className="container">
|
||||||
|
<Row>
|
||||||
|
<Col lg="6">
|
||||||
|
<Carousel
|
||||||
|
className="testimonialc"
|
||||||
|
activeItem={this.state.activeItem}
|
||||||
|
next={this.next}>
|
||||||
|
<CarouselIndicators>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 1 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(1);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 2 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(2);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 3 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(3);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 4 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(4);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 5 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(5);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<CarouselIndicator
|
||||||
|
active={activeItem === 6 ? true : false}
|
||||||
|
onClick={() => {
|
||||||
|
this.goToIndex(6);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</CarouselIndicators>
|
||||||
|
<CarouselInner>
|
||||||
|
<Row>
|
||||||
|
<CarouselItem itemId="1">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>Erik Y. ★★★★★</h5>
|
||||||
|
<div className="font-weight-light mb-3">
|
||||||
|
"This is awesome! We have been looking for a way to
|
||||||
|
attract new customers and this is it."
|
||||||
|
</div>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
<CarouselItem itemId="2">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>Alexey T. ★★★★★</h5>
|
||||||
|
<p className="font-weight-light mb-0">
|
||||||
|
“Outstanding!! ”
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
<CarouselItem itemId="3">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>Nikos C. ★★★★★</h5>
|
||||||
|
<p className="font-weight-light mb-0">
|
||||||
|
“Το Palmpay είναι ένα άλλο μονοπάτι για τα κέρδη.
|
||||||
|
Απλα ΔΟΚΙΜΑΣΕ το!”
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
|
||||||
|
<CarouselItem itemId="4">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>Nadya L. ★★★★☆</h5>
|
||||||
|
<p className="font-weight-light mb-0">
|
||||||
|
“My husband suggested this and I am so glad to be
|
||||||
|
earning crypto now!”
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
|
||||||
|
<CarouselItem itemId="5">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>
|
||||||
|
Jennifer M. ★★★★★
|
||||||
|
</h5>
|
||||||
|
<p className="font-weight-light mb-0">
|
||||||
|
“Please tell me I can close my bank account now.
|
||||||
|
This is amazing, thank you Agorise!”
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
<CarouselItem itemId="6">
|
||||||
|
<Col mb-lg="0" mx="auto" mb="4">
|
||||||
|
<i className="fa fa-user-circle-o" />
|
||||||
|
<h5>Jose M. ★★★★★</h5>
|
||||||
|
<p className="font-weight-light mb-0">
|
||||||
|
“Nuestros clientes de Coin Shop se han duplicado
|
||||||
|
gracias a BitSilver y Palmpay. A++”
|
||||||
|
</p>
|
||||||
|
</Col>
|
||||||
|
</CarouselItem>
|
||||||
|
</Row>
|
||||||
|
</CarouselInner>
|
||||||
|
</Carousel>
|
||||||
|
</Col>
|
||||||
|
<Col lg="6" className="mx-auto white-text text-center">
|
||||||
|
<div className="embed-responsive embed-responsive-16by9">
|
||||||
|
<iframe
|
||||||
|
className="embed-responsive-item"
|
||||||
|
title="Video"
|
||||||
|
src="https://www.youtube.com/embed/X6X_zGIz27w"
|
||||||
|
frameborder="0"
|
||||||
|
allow="autoplay; encrypted-media"
|
||||||
|
allowfullscreen
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default HomePage;
|
395
client/src/pages/MarketingPage.js
Normal file
|
@ -0,0 +1,395 @@
|
||||||
|
import React from "react";
|
||||||
|
import { Button, Collapse } from "mdbreact";
|
||||||
|
|
||||||
|
class MarketingPage extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.toggle = this.toggle.bind(this);
|
||||||
|
this.onClick1 = this.onClick1.bind(this);
|
||||||
|
this.onClick2 = this.onClick2.bind(this);
|
||||||
|
this.onClick3 = this.onClick3.bind(this);
|
||||||
|
this.onClick4 = this.onClick4.bind(this);
|
||||||
|
this.state = {
|
||||||
|
collapse: false,
|
||||||
|
accordion: false
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle() {
|
||||||
|
this.setState({ collapse: !this.state.collapse });
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick1() {
|
||||||
|
let state = "";
|
||||||
|
|
||||||
|
if (this.state.accordion !== 1) {
|
||||||
|
state = 1;
|
||||||
|
} else {
|
||||||
|
state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
accordion: state
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick2() {
|
||||||
|
let state = "";
|
||||||
|
|
||||||
|
if (this.state.accordion !== 2) {
|
||||||
|
state = 2;
|
||||||
|
} else {
|
||||||
|
state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
accordion: state
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick3() {
|
||||||
|
let state = "";
|
||||||
|
|
||||||
|
if (this.state.accordion !== 3) {
|
||||||
|
state = 3;
|
||||||
|
} else {
|
||||||
|
state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
accordion: state
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onClick4() {
|
||||||
|
let state = "";
|
||||||
|
|
||||||
|
if (this.state.accordion !== 4) {
|
||||||
|
state = 4;
|
||||||
|
} else {
|
||||||
|
state = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.setState({
|
||||||
|
accordion: state
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div id="maincontent">
|
||||||
|
<section data-spy="scroll" data-target="#mainNav" id="services">
|
||||||
|
<div className="containerfix">
|
||||||
|
<div className="row">
|
||||||
|
<div className="col-md-10 mx-md-auto">
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
block
|
||||||
|
color="primary"
|
||||||
|
onClick={this.onClick1}
|
||||||
|
style={{ marginBottom: "1rem" }}>
|
||||||
|
Presentations
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
<Collapse isOpen={this.state.accordion === 1}>
|
||||||
|
<div class="list-group">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/presentation/d/1oYQxlKIzNHb-F07PJ04xsK0jIJcduIzc-4HMpbqAw0o/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Slides (ES) - Google Slides (for Meetups and
|
||||||
|
Workshops etc) in Spanish
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/presentation/d/1oYQxlKIzNHb-F07PJ04xsK0jIJcduIzc-4HMpbqAw0o/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/presentation/d/1HgYeEQ0NUeHesnX1Xy4OUi9Nng4P9O4-yH_7fWnwF6Q/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Slides (EN) - Here is a nice powerpoint (Google
|
||||||
|
Slides actually) that you can copy and edit to your
|
||||||
|
liking for PalmPay Meetups, Workshops, etc.
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/presentation/d/1HgYeEQ0NUeHesnX1Xy4OUi9Nng4P9O4-yH_7fWnwF6Q/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/spreadsheets/d/1um5BJiI4infLVBFzsNFG4aV_hGuVAluWztI0UIT0oL4/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
FAQ (EN, ES, GR, and RU) - These are the most common
|
||||||
|
questions that people ask about PalmPay
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/spreadsheets/d/1um5BJiI4infLVBFzsNFG4aV_hGuVAluWztI0UIT0oL4/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</Collapse>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
block
|
||||||
|
color="primary"
|
||||||
|
onClick={this.onClick2}
|
||||||
|
style={{ marginBottom: "1rem" }}>
|
||||||
|
Flyers
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
<Collapse isOpen={this.state.accordion === 2}>
|
||||||
|
<div class="list-group">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/1JwFRD3mszf9RoTlthp9lkfQdbGmdrWwGDcBP3yXLrpM/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (EN) - Single-page flyers in
|
||||||
|
English
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/1JwFRD3mszf9RoTlthp9lkfQdbGmdrWwGDcBP3yXLrpM/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/11FMi5_iMWOUDHKnoWWEn4jyzwleWkdLvvPr3KrhmJHA/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (ES) - Single-page flyers in
|
||||||
|
Spanish
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/11FMi5_iMWOUDHKnoWWEn4jyzwleWkdLvvPr3KrhmJHA/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/1Qk5sX-KmwrCrDWsDxcLpe1xXFVWhOUP4VykURXBHRCk/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (KO) - Single-page flyers in
|
||||||
|
Korean
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/1Qk5sX-KmwrCrDWsDxcLpe1xXFVWhOUP4VykURXBHRCk/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/13ObHTeIOY6KrAH4nOhNGiCITOArSxTATCJ0oCy0E-kc/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (NL) - Single-page flyers in Dutch
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/13ObHTeIOY6KrAH4nOhNGiCITOArSxTATCJ0oCy0E-kc/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/1YHZJTXZSI_OWw633gVVHc3TBQphHxAKP2v9YKRnhHy8/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (RO) - Single-page flyers in
|
||||||
|
Romanian
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/1YHZJTXZSI_OWw633gVVHc3TBQphHxAKP2v9YKRnhHy8/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/document/d/1hdXKoZvYeFJ8FDRYIT7kdNxvB84G-yVe6_1wZh2uuFo/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Affordable Flyers (VI) - Single-page flyers in
|
||||||
|
Vietnamese
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/document/d/1hdXKoZvYeFJ8FDRYIT7kdNxvB84G-yVe6_1wZh2uuFo/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/10mf7scN4ldCoXy8alz7UCkzt7N3tTQwJWS81zXfNMxs/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Tri-Fold Flyers (EN, back) - These English flyers
|
||||||
|
explain Bitshares and PalmPay, great for events and
|
||||||
|
meetups, etc.
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/10mf7scN4ldCoXy8alz7UCkzt7N3tTQwJWS81zXfNMxs/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/1T3mDxaa7U0IOaD251yNwNiqI_9Fier7QgtnBm3hCzyI/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Tri-Fold Flyers (EN, front) - These English flyers
|
||||||
|
explain Bitshares and PalmPay, great for events and
|
||||||
|
meetups, etc.
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/1T3mDxaa7U0IOaD251yNwNiqI_9Fier7QgtnBm3hCzyI/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/1vRLtzCuEOQ04T4iofOxU3pAtZ3GSmQwJXRISd-6NMxs/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Tri-Fold Flyers (GR, back) - These Greek flyers
|
||||||
|
explain Bitshares and PalmPay, great for events and
|
||||||
|
meetups, etc.
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/1vRLtzCuEOQ04T4iofOxU3pAtZ3GSmQwJXRISd-6NMxs/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/1_aRidERnsw7080Hqe9CjvtvmuZv3MQWTX30G9exMEa0/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Tri-Fold Flyers (GR, front) - These Greek flyers
|
||||||
|
explain Bitshares and PalmPay, great for events and
|
||||||
|
meetups, etc.
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/1_aRidERnsw7080Hqe9CjvtvmuZv3MQWTX30G9exMEa0/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</Collapse>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
block
|
||||||
|
color="primary"
|
||||||
|
onClick={this.onClick3}
|
||||||
|
style={{ marginBottom: "1rem" }}>
|
||||||
|
Business Cards
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
<Collapse isOpen={this.state.accordion === 3}>
|
||||||
|
<div class="list-group">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/1zRdI_8tPXOoHi7SuM4RCkUezGQVzfPyMp3hUweYEL1s/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Front - Please do not edit the front of the business
|
||||||
|
cards
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/1zRdI_8tPXOoHi7SuM4RCkUezGQVzfPyMp3hUweYEL1s/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://docs.google.com/drawings/d/1dwr31i0Wgh2j9737JyH4OTjix4w31J3mdBA9iCNZ6zs/edit?usp=sharing"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Back - Feel free to edit the back of these cards all
|
||||||
|
you like
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">
|
||||||
|
https://docs.google.com/drawings/d/1dwr31i0Wgh2j9737JyH4OTjix4w31J3mdBA9iCNZ6zs/edit?usp=sharing
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</Collapse>
|
||||||
|
<div>
|
||||||
|
<Button
|
||||||
|
block
|
||||||
|
color="primary"
|
||||||
|
onClick={this.onClick4}
|
||||||
|
style={{ marginBottom: "1rem" }}>
|
||||||
|
Promotional Displays
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
<Collapse isOpen={this.state.accordion === 4}>
|
||||||
|
<div class="list-group">
|
||||||
|
<a
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
href="https://keybase.io/team/Agorise"
|
||||||
|
class="list-group-item list-group-item-action flex-column align-items-start">
|
||||||
|
<div class="d-flex w-100 justify-content-between">
|
||||||
|
<h5 class="mb-1">
|
||||||
|
Logos, Advertising images, Stickers and Merchandise,
|
||||||
|
etc. (in the /PalmPay folder)
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<p class="mb-1">https://keybase.io/team/Agorise</p>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</Collapse>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default MarketingPage;
|
117
client/src/registerServiceWorker.js
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
// In production, we register a service worker to serve assets from local cache.
|
||||||
|
|
||||||
|
// This lets the app load faster on subsequent visits in production, and gives
|
||||||
|
// it offline capabilities. However, it also means that developers (and users)
|
||||||
|
// will only see deployed updates on the "N+1" visit to a page, since previously
|
||||||
|
// cached resources are updated in the background.
|
||||||
|
|
||||||
|
// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
|
||||||
|
// This link also includes instructions on opting out of this behavior.
|
||||||
|
|
||||||
|
const isLocalhost = Boolean(
|
||||||
|
window.location.hostname === 'localhost' ||
|
||||||
|
// [::1] is the IPv6 localhost address.
|
||||||
|
window.location.hostname === '[::1]' ||
|
||||||
|
// 127.0.0.1/8 is considered localhost for IPv4.
|
||||||
|
window.location.hostname.match(
|
||||||
|
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
export default function register() {
|
||||||
|
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
|
||||||
|
// The URL constructor is available in all browsers that support SW.
|
||||||
|
const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
|
||||||
|
if (publicUrl.origin !== window.location.origin) {
|
||||||
|
// Our service worker won't work if PUBLIC_URL is on a different origin
|
||||||
|
// from what our page is served on. This might happen if a CDN is used to
|
||||||
|
// serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('load', () => {
|
||||||
|
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
|
||||||
|
|
||||||
|
if (isLocalhost) {
|
||||||
|
// This is running on localhost. Lets check if a service worker still exists or not.
|
||||||
|
checkValidServiceWorker(swUrl);
|
||||||
|
|
||||||
|
// Add some additional logging to localhost, pointing developers to the
|
||||||
|
// service worker/PWA documentation.
|
||||||
|
navigator.serviceWorker.ready.then(() => {
|
||||||
|
console.log(
|
||||||
|
'This web app is being served cache-first by a service ' +
|
||||||
|
'worker. To learn more, visit https://goo.gl/SC7cgQ'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Is not local host. Just register service worker
|
||||||
|
registerValidSW(swUrl);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function registerValidSW(swUrl) {
|
||||||
|
navigator.serviceWorker
|
||||||
|
.register(swUrl)
|
||||||
|
.then(registration => {
|
||||||
|
registration.onupdatefound = () => {
|
||||||
|
const installingWorker = registration.installing;
|
||||||
|
installingWorker.onstatechange = () => {
|
||||||
|
if (installingWorker.state === 'installed') {
|
||||||
|
if (navigator.serviceWorker.controller) {
|
||||||
|
// At this point, the old content will have been purged and
|
||||||
|
// the fresh content will have been added to the cache.
|
||||||
|
// It's the perfect time to display a "New content is
|
||||||
|
// available; please refresh." message in your web app.
|
||||||
|
console.log('New content is available; please refresh.');
|
||||||
|
} else {
|
||||||
|
// At this point, everything has been precached.
|
||||||
|
// It's the perfect time to display a
|
||||||
|
// "Content is cached for offline use." message.
|
||||||
|
console.log('Content is cached for offline use.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
console.error('Error during service worker registration:', error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkValidServiceWorker(swUrl) {
|
||||||
|
// Check if the service worker can be found. If it can't reload the page.
|
||||||
|
fetch(swUrl)
|
||||||
|
.then(response => {
|
||||||
|
// Ensure service worker exists, and that we really are getting a JS file.
|
||||||
|
if (
|
||||||
|
response.status === 404 ||
|
||||||
|
response.headers.get('content-type').indexOf('javascript') === -1
|
||||||
|
) {
|
||||||
|
// No service worker found. Probably a different app. Reload the page.
|
||||||
|
navigator.serviceWorker.ready.then(registration => {
|
||||||
|
registration.unregister().then(() => {
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// Service worker found. Proceed as normal.
|
||||||
|
registerValidSW(swUrl);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
console.log(
|
||||||
|
'No internet connection found. App is running in offline mode.'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function unregister() {
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
navigator.serviceWorker.ready.then(registration => {
|
||||||
|
registration.unregister();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
229
client/src/static/css/csslider.css
Normal file
|
@ -0,0 +1,229 @@
|
||||||
|
.csslider {
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
.csslider > input {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -900%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -800%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -700%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -600%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -500%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -400%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -300%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -200%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -100%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: 0%;
|
||||||
|
}
|
||||||
|
.csslider > ul {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 300px;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.csslider > ul > li {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 15px;
|
||||||
|
font-size: initial;
|
||||||
|
line-height: normal;
|
||||||
|
-moz-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
-o-transition: all 0.5s ease-out;
|
||||||
|
-webkit-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
vertical-align: top;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.csslider > ul > li.scrollable {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
.csslider > .navigation {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -8px;
|
||||||
|
left: 50%;
|
||||||
|
z-index: 10;
|
||||||
|
margin-bottom: -10px;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
text-align: center;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.csslider > .navigation > div {
|
||||||
|
margin-left: -100%;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin: 0 8px;
|
||||||
|
padding: 8px;
|
||||||
|
background: #3a3a3a;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label:hover:after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label:after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
margin-left: -10px;
|
||||||
|
margin-top: -10px;
|
||||||
|
background: #71ad37;
|
||||||
|
border-radius: 50%;
|
||||||
|
padding: 10px;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.csslider > .arrows {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.csslider.inside .navigation {
|
||||||
|
bottom: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.csslider.inside .navigation label {
|
||||||
|
border: 1px solid #7e7e7e;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .navigation label:nth-of-type(1):after,
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .navigation label:nth-of-type(2):after,
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .navigation label:nth-of-type(3):after,
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .navigation label:nth-of-type(4):after,
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .navigation label:nth-of-type(5):after,
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .navigation label:nth-of-type(6):after,
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .navigation label:nth-of-type(7):after,
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .navigation label:nth-of-type(8):after,
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .navigation label:nth-of-type(9):after,
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .navigation label:nth-of-type(10):after,
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .navigation label:nth-of-type(11):after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.csslider > .arrows {
|
||||||
|
position: absolute;
|
||||||
|
left: -31px;
|
||||||
|
top: 50%;
|
||||||
|
width: 100%;
|
||||||
|
height: 26px;
|
||||||
|
padding: 0 31px;
|
||||||
|
z-index: 0;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -50%;
|
||||||
|
padding: 13px;
|
||||||
|
box-shadow: inset 2px -2px 0 1px #3a3a3a;
|
||||||
|
cursor: pointer;
|
||||||
|
-moz-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
-o-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
-webkit-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label:hover {
|
||||||
|
box-shadow: inset 3px -3px 0 2px #71ad37;
|
||||||
|
margin: 0 0px;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label:before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: -100%;
|
||||||
|
left: -100%;
|
||||||
|
height: 300%;
|
||||||
|
width: 300%;
|
||||||
|
}
|
||||||
|
.csslider.infinity > input:first-of-type:checked ~ .arrows label.goto-last,
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .arrows > label:nth-of-type(0),
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .arrows > label:nth-of-type(1),
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .arrows > label:nth-of-type(2),
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .arrows > label:nth-of-type(3),
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .arrows > label:nth-of-type(4),
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .arrows > label:nth-of-type(5),
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .arrows > label:nth-of-type(6),
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .arrows > label:nth-of-type(7),
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .arrows > label:nth-of-type(8),
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .arrows > label:nth-of-type(9),
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .arrows > label:nth-of-type(10) {
|
||||||
|
display: block;
|
||||||
|
left: 0;
|
||||||
|
right: auto;
|
||||||
|
-moz-transform: rotate(45deg);
|
||||||
|
-ms-transform: rotate(45deg);
|
||||||
|
-o-transform: rotate(45deg);
|
||||||
|
-webkit-transform: rotate(45deg);
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
.csslider.infinity > input:last-of-type:checked ~ .arrows label.goto-first,
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .arrows > label:nth-of-type(2),
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .arrows > label:nth-of-type(3),
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .arrows > label:nth-of-type(4),
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .arrows > label:nth-of-type(5),
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .arrows > label:nth-of-type(6),
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .arrows > label:nth-of-type(7),
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .arrows > label:nth-of-type(8),
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .arrows > label:nth-of-type(9),
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .arrows > label:nth-of-type(10),
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .arrows > label:nth-of-type(11),
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .arrows > label:nth-of-type(12) {
|
||||||
|
display: block;
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
-moz-transform: rotate(225deg);
|
||||||
|
-ms-transform: rotate(225deg);
|
||||||
|
-o-transform: rotate(225deg);
|
||||||
|
-webkit-transform: rotate(225deg);
|
||||||
|
transform: rotate(225deg);
|
||||||
|
}
|
||||||
|
/*#region MODULES */
|
||||||
|
/*#endregion */
|
14267
client/src/static/css/mdb.css
Normal file
26
client/src/static/css/mdb.min.css
vendored
Normal file
352
client/src/static/css/palmpay.css
Normal file
|
@ -0,0 +1,352 @@
|
||||||
|
/*!
|
||||||
|
* PalmPay - v1.0.0 ()
|
||||||
|
* Copyright 2018 poqdavid
|
||||||
|
* Licensed under GPLv3 (http://palmpay.io/LICENSE.txt)
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro"), local("PFBeauSansPro"), url("../font/pfb/PFBeauSansPro-Reg.ttf");
|
||||||
|
font-weight: 400; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro SeBold"), local("PFBeauSansPro-SeBold"), url("../font/pfb/PFBeauSansPro-SeBold.ttf");
|
||||||
|
font-weight: 600; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro Bold"), local("PFBeauSansPro-Bold"), url("../font/pfb/PFBeauSansPro-Bold.ttf");
|
||||||
|
font-weight: 700; }
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
hr {
|
||||||
|
max-width: 50px;
|
||||||
|
border-width: 3px;
|
||||||
|
border-color: #128f52; }
|
||||||
|
|
||||||
|
hr.light {
|
||||||
|
border-color: #fff; }
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #128f52;
|
||||||
|
-webkit-transition: all 0.2s;
|
||||||
|
-moz-transition: all 0.2s;
|
||||||
|
transition: all 0.2s; }
|
||||||
|
a:hover {
|
||||||
|
color: #128f52; }
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
.bg-primary {
|
||||||
|
background-color: #128f52 !important; }
|
||||||
|
|
||||||
|
.bg-secondary {
|
||||||
|
background-color: #F0F0F0 !important; }
|
||||||
|
|
||||||
|
.bg-dark {
|
||||||
|
background-color: #212529 !important; }
|
||||||
|
|
||||||
|
.text-faded {
|
||||||
|
color: rgba(255, 255, 255, 0.7); }
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 8rem 0; }
|
||||||
|
|
||||||
|
.section-heading {
|
||||||
|
margin-top: 0; }
|
||||||
|
|
||||||
|
::-moz-selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #212529;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #212529;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
img::selection {
|
||||||
|
color: #fff;
|
||||||
|
background: transparent; }
|
||||||
|
|
||||||
|
img::-moz-selection {
|
||||||
|
color: #fff;
|
||||||
|
background: transparent; }
|
||||||
|
|
||||||
|
.containerfix {
|
||||||
|
width: 100%;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
overflow: hidden; }
|
||||||
|
|
||||||
|
#mainNav {
|
||||||
|
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||||
|
background-color: #128f52;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important;
|
||||||
|
-webkit-transition: all 0.2s;
|
||||||
|
-moz-transition: all 0.2s;
|
||||||
|
transition: all 0.2s;
|
||||||
|
padding-top: 25px;
|
||||||
|
padding-bottom: 25px; }
|
||||||
|
#mainNav .navbar-brand {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
color: #128f52;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||||
|
color: #128f52; }
|
||||||
|
#mainNav .navbar-lang {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #128f52;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav .navbar-textsmall {
|
||||||
|
font-size: .7rem !important; }
|
||||||
|
#mainNav .expand_caret {
|
||||||
|
position: absolute !important;
|
||||||
|
-webkit-transition: 2s ease-in-out !important;
|
||||||
|
-moz-transition: 2s ease-in-out !important;
|
||||||
|
-o-transition: 2s ease-in-out !important;
|
||||||
|
transition: 2s ease-in-out !important; }
|
||||||
|
#mainNav .rlsui-selected-locale:hover.dropdown-toggle::after {
|
||||||
|
display: inline-block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
margin-left: .255em;
|
||||||
|
vertical-align: .255em;
|
||||||
|
content: "";
|
||||||
|
border-top: .3em solid;
|
||||||
|
border-right: .3em solid transparent;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-left: .3em solid transparent;
|
||||||
|
-moz-transform: rotate(180deg) !important;
|
||||||
|
-o-transform: rotate(180deg) !important;
|
||||||
|
-ms-transform: rotate(180deg) !important;
|
||||||
|
transform: rotate(180deg) !important; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
font-size: .9rem;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link.active,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active {
|
||||||
|
color: #fec810 !important;
|
||||||
|
background-color: transparent; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover {
|
||||||
|
background-color: transparent; }
|
||||||
|
@media (max-width: 992px) {
|
||||||
|
#mainNav {
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px; }
|
||||||
|
#mainNav .navbar-brand .logo1 {
|
||||||
|
display: none !important; }
|
||||||
|
#mainNav .navbar-brand .logo2 {
|
||||||
|
display: inline !important; } }
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
#mainNav {
|
||||||
|
border-color: transparent;
|
||||||
|
background-color: transparent; }
|
||||||
|
#mainNav .navbar-brand {
|
||||||
|
color: rgba(18, 143, 82, 0.7); }
|
||||||
|
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link {
|
||||||
|
padding: 0.5rem 1rem; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav.navbar-shrink {
|
||||||
|
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||||
|
background-color: #128f52;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px; }
|
||||||
|
#mainNav.navbar-shrink .navbar-brand {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; } }
|
||||||
|
|
||||||
|
header.masthead {
|
||||||
|
padding-top: 10rem;
|
||||||
|
padding-bottom: calc(10rem - 56px);
|
||||||
|
background-image: url("../img/header-bg.jpg");
|
||||||
|
background-position: center center;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
-moz-background-size: cover;
|
||||||
|
-o-background-size: cover;
|
||||||
|
background-size: cover; }
|
||||||
|
header.masthead hr {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 30px; }
|
||||||
|
.view h1 {
|
||||||
|
font-size: 2rem !important; }
|
||||||
|
.view p {
|
||||||
|
font-weight: 300 !important; }
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.view p {
|
||||||
|
font-size: 1.15rem !important; } }
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
header.masthead {
|
||||||
|
height: 100vh;
|
||||||
|
min-height: 650px;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0; }
|
||||||
|
.view h1 {
|
||||||
|
font-size: 3rem !important; } }
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.view h1 {
|
||||||
|
font-size: 4rem !important; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-box {
|
||||||
|
max-width: 400px; }
|
||||||
|
|
||||||
|
.service-box img {
|
||||||
|
border: 2px solid #128f52;
|
||||||
|
border-radius: 50%; }
|
||||||
|
.service-box img:hover {
|
||||||
|
border: 2px solid #fec810; }
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: #128f52 !important; }
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
border: none;
|
||||||
|
border-radius: 300px;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
.btn-xl {
|
||||||
|
padding: 1rem 2rem; }
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background-color: #128f52 !important;
|
||||||
|
border-color: #128f52 !important; }
|
||||||
|
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #0f7845 !important; }
|
||||||
|
.btn-primary:active, .btn-primary:focus {
|
||||||
|
box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important; }
|
||||||
|
|
||||||
|
.about {
|
||||||
|
font-family: 'PFBeauSansPro'; }
|
||||||
|
.about .about-text {
|
||||||
|
color: black; }
|
||||||
|
.about .about-img {
|
||||||
|
min-height: 30rem;
|
||||||
|
background-size: cover; }
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.about .about-text {
|
||||||
|
color: black; } }
|
||||||
|
.about h1,
|
||||||
|
.about h2,
|
||||||
|
.about h3,
|
||||||
|
.about h4,
|
||||||
|
.about h5,
|
||||||
|
.about h6 {
|
||||||
|
font-family: 'PFBeauSansPro';
|
||||||
|
font-weight: 800 !important; }
|
||||||
|
|
||||||
|
.footerrow {
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
background-color: #128f52;
|
||||||
|
color: #fff; }
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
background-color: #212529;
|
||||||
|
padding-left: 6rem;
|
||||||
|
padding-right: 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.social-buttons {
|
||||||
|
margin-bottom: 0; }
|
||||||
|
ul.social-buttons li a {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 40px;
|
||||||
|
display: block;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
-webkit-transition: all 0.3s;
|
||||||
|
-moz-transition: all 0.3s;
|
||||||
|
transition: all 0.3s;
|
||||||
|
color: white;
|
||||||
|
border-radius: 100%;
|
||||||
|
outline: none;
|
||||||
|
background-color: #0c6238; }
|
||||||
|
ul.social-buttons li a:active, ul.social-buttons li a:focus, ul.social-buttons li a:hover {
|
||||||
|
background-color: #fec810; }
|
||||||
|
|
||||||
|
.vertical-align {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row; }
|
||||||
|
|
||||||
|
.vertical-align > [class^="col-"],
|
||||||
|
.vertical-align > [class*=" col-"] {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center; }
|
||||||
|
|
||||||
|
.fa-dtube {
|
||||||
|
background-image: url("../img/dtube.png") no-repeat 0 0; }
|
||||||
|
|
||||||
|
.fa-steemit {
|
||||||
|
background-image: url("../img/steemit.png") no-repeat 0 0; }
|
||||||
|
|
||||||
|
.testimonial-item i {
|
||||||
|
font-size: 80px;
|
||||||
|
color: #128f52;
|
||||||
|
padding-bottom: 15px; }
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.pr-xl-6, .px-xl-6 {
|
||||||
|
padding-right: 8rem !important;
|
||||||
|
}
|
||||||
|
.pl-xl-6, .px-xl-6 {
|
||||||
|
padding-left: 8rem !important;
|
||||||
|
}
|
||||||
|
.pr-xl-7, .px-xl-7 {
|
||||||
|
padding-right: 12rem !important;
|
||||||
|
}
|
||||||
|
.pl-xl-7, .px-xl-7 {
|
||||||
|
padding-left: 12rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
5
client/src/static/css/palmpay.min.css
vendored
Normal file
101
client/src/static/css/tooltip.css
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
/*
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper {
|
||||||
|
background: #222;
|
||||||
|
color: white;
|
||||||
|
width: 150px;
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper .popper__arrow, .popover .popover__arrow {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
position: absolute;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="top"], .popover[data-placement^="top"] {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="top"] .popper__arrow, .popover[data-placement^="top"] .popover__arrow {
|
||||||
|
border-width: 5px 5px 0 5px;
|
||||||
|
border-color: #222 transparent transparent transparent;
|
||||||
|
bottom: -5px;
|
||||||
|
left: calc(50% - 5px);
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="top"] .popover__arrow {
|
||||||
|
border-color: #fff transparent transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="bottom"], .popover[data-placement^="bottom"] {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="bottom"] .popper__arrow, .popover[data-placement^="bottom"] .popover__arrow {
|
||||||
|
border-width: 0 5px 5px 5px;
|
||||||
|
border-color: transparent transparent #222 transparent;
|
||||||
|
top: -5px;
|
||||||
|
left: calc(50% - 5px);
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="bottom"] .popover__arrow {
|
||||||
|
border-color: transparent transparent #fff transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="right"], .popover[data-placement^="right"] {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="right"] .popper__arrow, .popover[data-placement^="right"] .popover__arrow {
|
||||||
|
border-width: 5px 5px 5px 0;
|
||||||
|
border-color: transparent #222 transparent transparent;
|
||||||
|
left: -5px;
|
||||||
|
top: calc(50% - 5px);
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="right"] .popover__arrow {
|
||||||
|
border-color: transparent #fff transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="left"], .popover[data-placement^="left"] {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="left"] .popper__arrow, .popover[data-placement^="left"] .popover__arrow {
|
||||||
|
border-width: 5px 0 5px 5px;
|
||||||
|
border-color: transparent transparent transparent #222;
|
||||||
|
right: -5px;
|
||||||
|
top: calc(50% - 5px);
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="left"] .popover__arrow {
|
||||||
|
border-color: transparent transparent transparent #fff;
|
||||||
|
}
|
||||||
|
*/
|
BIN
client/src/static/font/fa/FontAwesome.otf
Normal file
BIN
client/src/static/font/fa/fontawesome-webfont.eot
Normal file
2671
client/src/static/font/fa/fontawesome-webfont.svg
Normal file
After Width: | Height: | Size: 434 KiB |
BIN
client/src/static/font/fa/fontawesome-webfont.ttf
Normal file
BIN
client/src/static/font/fa/fontawesome-webfont.woff
Normal file
BIN
client/src/static/font/fa/fontawesome-webfont.woff2
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Black.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-BlackItal.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Bold.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-BoldItalic.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Book.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-BookItalic.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Italic.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Light.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-LightItal.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Reg.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-SeBold.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-SeBoldItal.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-Thin.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-ThinItal.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-XThin.ttf
Normal file
BIN
client/src/static/font/pfb/PFBeauSansPro-XThinItal.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Bold.eot
Normal file
BIN
client/src/static/font/roboto/Roboto-Bold.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Bold.woff
Normal file
BIN
client/src/static/font/roboto/Roboto-Bold.woff2
Normal file
BIN
client/src/static/font/roboto/Roboto-Light.eot
Normal file
BIN
client/src/static/font/roboto/Roboto-Light.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Light.woff
Normal file
BIN
client/src/static/font/roboto/Roboto-Light.woff2
Normal file
BIN
client/src/static/font/roboto/Roboto-Medium.eot
Normal file
BIN
client/src/static/font/roboto/Roboto-Medium.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Medium.woff
Normal file
BIN
client/src/static/font/roboto/Roboto-Medium.woff2
Normal file
BIN
client/src/static/font/roboto/Roboto-Regular.eot
Normal file
BIN
client/src/static/font/roboto/Roboto-Regular.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Regular.woff
Normal file
BIN
client/src/static/font/roboto/Roboto-Regular.woff2
Normal file
BIN
client/src/static/font/roboto/Roboto-Thin.eot
Normal file
BIN
client/src/static/font/roboto/Roboto-Thin.ttf
Normal file
BIN
client/src/static/font/roboto/Roboto-Thin.woff
Normal file
BIN
client/src/static/font/roboto/Roboto-Thin.woff2
Normal file
BIN
client/src/static/img/dtube.png
Normal file
After Width: | Height: | Size: 297 B |
BIN
client/src/static/img/header-bg.jpg
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
client/src/static/img/steemit.png
Normal file
After Width: | Height: | Size: 362 B |
7173
client/yarn.lock
Normal file
1
faviconData.json
Normal file
67
faviconDescription.json
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
{
|
||||||
|
"masterPicture": "public/img/PalmPay900.png",
|
||||||
|
"iconsPath": "/",
|
||||||
|
"design": {
|
||||||
|
"ios": {
|
||||||
|
"masterPicture": "public/img/PalmPay900white.png",
|
||||||
|
"pictureAspect": "backgroundAndMargin",
|
||||||
|
"backgroundColor": "#128f52",
|
||||||
|
"margin": "14%",
|
||||||
|
"assets": {
|
||||||
|
"ios6AndPriorIcons": true,
|
||||||
|
"ios7AndLaterIcons": true,
|
||||||
|
"precomposedIcons": false,
|
||||||
|
"declareOnlyDefaultIcon": true
|
||||||
|
},
|
||||||
|
"appName": "PalmPay"
|
||||||
|
},
|
||||||
|
"desktopBrowser": {},
|
||||||
|
"windows": {
|
||||||
|
"pictureAspect": "whiteSilhouette",
|
||||||
|
"backgroundColor": "#128f52",
|
||||||
|
"onConflict": "override",
|
||||||
|
"assets": {
|
||||||
|
"windows80Ie10Tile": true,
|
||||||
|
"windows10Ie11EdgeTiles": {
|
||||||
|
"small": true,
|
||||||
|
"medium": true,
|
||||||
|
"big": true,
|
||||||
|
"rectangle": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"appName": "PalmPay"
|
||||||
|
},
|
||||||
|
"androidChrome": {
|
||||||
|
"pictureAspect": "shadow",
|
||||||
|
"themeColor": "#29b872",
|
||||||
|
"manifest": {
|
||||||
|
"name": "PalmPay",
|
||||||
|
"startUrl": "http://www.palmpay.io/",
|
||||||
|
"display": "standalone",
|
||||||
|
"orientation": "notSet",
|
||||||
|
"onConflict": "override",
|
||||||
|
"declared": true
|
||||||
|
},
|
||||||
|
"assets": {
|
||||||
|
"legacyIcon": true,
|
||||||
|
"lowResolutionIcons": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"safariPinnedTab": {
|
||||||
|
"pictureAspect": "silhouette",
|
||||||
|
"themeColor": "#128f52"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"compression": 5,
|
||||||
|
"scalingAlgorithm": "Lanczos",
|
||||||
|
"errorOnImageTooSmall": false,
|
||||||
|
"readmeFile": false,
|
||||||
|
"htmlCodeFile": true,
|
||||||
|
"usePathAsIs": false
|
||||||
|
},
|
||||||
|
"versioning": {
|
||||||
|
"paramName": "v4",
|
||||||
|
"paramValue": "eE58gaorm5"
|
||||||
|
}
|
||||||
|
}
|
10
howtogeneratefavicon.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
Generate your icons:
|
||||||
|
mkdir outputDir
|
||||||
|
real-favicon generate faviconDescription.json faviconData.json outputDir
|
||||||
|
|
||||||
|
Inject the HTML code in your pages:
|
||||||
|
real-favicon inject faviconData.json outputDir client/public/*.html
|
||||||
|
|
||||||
|
|
||||||
|
Check for updates (to be run from time to time, ideally by your continuous integration system):
|
||||||
|
real-favicon check-for-update --fail-on-update faviconData.json
|
19
package.json
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "palmpay",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"start:dev": "set PORT=3001 && node bin/wwwdev",
|
||||||
|
"start": "set PORT=3000 && node bin/www"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"compression": "^1.7.2",
|
||||||
|
"cookie-parser": "~1.4.3",
|
||||||
|
"debug": "~2.6.9",
|
||||||
|
"express": "~4.16.0",
|
||||||
|
"greenlock-express": "^2.1.6",
|
||||||
|
"http-errors": "~1.6.2",
|
||||||
|
"jade": "~1.11.0",
|
||||||
|
"morgan": "~1.9.0"
|
||||||
|
}
|
||||||
|
}
|
BIN
public/PalmPayIO.png
Normal file
After Width: | Height: | Size: 540 KiB |
BIN
public/android-chrome-144x144.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
public/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
public/android-chrome-256x256.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
public/android-chrome-36x36.png
Normal file
After Width: | Height: | Size: 590 B |
BIN
public/android-chrome-384x384.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
public/android-chrome-48x48.png
Normal file
After Width: | Height: | Size: 778 B |
BIN
public/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
public/android-chrome-72x72.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
public/android-chrome-96x96.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
public/apple-touch-icon-114x114.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
public/apple-touch-icon-120x120.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
public/apple-touch-icon-144x144.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
public/apple-touch-icon-152x152.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
public/apple-touch-icon-180x180.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
public/apple-touch-icon-57x57.png
Normal file
After Width: | Height: | Size: 873 B |
BIN
public/apple-touch-icon-60x60.png
Normal file
After Width: | Height: | Size: 913 B |
BIN
public/apple-touch-icon-72x72.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/apple-touch-icon-76x76.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
12
public/browserconfig.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig>
|
||||||
|
<msapplication>
|
||||||
|
<tile>
|
||||||
|
<square70x70logo src="/mstile-70x70.png?v4=eE58gaorm5"/>
|
||||||
|
<square150x150logo src="/mstile-150x150.png?v4=eE58gaorm5"/>
|
||||||
|
<square310x310logo src="/mstile-310x310.png?v4=eE58gaorm5"/>
|
||||||
|
<wide310x150logo src="/mstile-310x150.png?v4=eE58gaorm5"/>
|
||||||
|
<TileColor>#128f52</TileColor>
|
||||||
|
</tile>
|
||||||
|
</msapplication>
|
||||||
|
</browserconfig>
|
229
public/css/csslider.css
Normal file
|
@ -0,0 +1,229 @@
|
||||||
|
.csslider {
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
margin-bottom: 22px;
|
||||||
|
}
|
||||||
|
.csslider > input {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -900%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -800%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -700%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -600%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -500%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -400%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -300%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -200%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: -100%;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ ul li:first-of-type {
|
||||||
|
margin-left: 0%;
|
||||||
|
}
|
||||||
|
.csslider > ul {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
height: 300px;
|
||||||
|
z-index: 1;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
.csslider > ul > li {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 15px;
|
||||||
|
font-size: initial;
|
||||||
|
line-height: normal;
|
||||||
|
-moz-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
-o-transition: all 0.5s ease-out;
|
||||||
|
-webkit-transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
transition: all 0.5s cubic-bezier(0.4, 1.3, 0.65, 1);
|
||||||
|
vertical-align: top;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
|
white-space: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.csslider > ul > li.scrollable {
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
.csslider > .navigation {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -8px;
|
||||||
|
left: 50%;
|
||||||
|
z-index: 10;
|
||||||
|
margin-bottom: -10px;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
text-align: center;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.csslider > .navigation > div {
|
||||||
|
margin-left: -100%;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin: 0 8px;
|
||||||
|
padding: 8px;
|
||||||
|
background: #3a3a3a;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label:hover:after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.csslider > .navigation label:after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 50%;
|
||||||
|
margin-left: -10px;
|
||||||
|
margin-top: -10px;
|
||||||
|
background: #71ad37;
|
||||||
|
border-radius: 50%;
|
||||||
|
padding: 10px;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
.csslider > .arrows {
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-khtml-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.csslider.inside .navigation {
|
||||||
|
bottom: 10px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
.csslider.inside .navigation label {
|
||||||
|
border: 1px solid #7e7e7e;
|
||||||
|
}
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .navigation label:nth-of-type(1):after,
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .navigation label:nth-of-type(2):after,
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .navigation label:nth-of-type(3):after,
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .navigation label:nth-of-type(4):after,
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .navigation label:nth-of-type(5):after,
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .navigation label:nth-of-type(6):after,
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .navigation label:nth-of-type(7):after,
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .navigation label:nth-of-type(8):after,
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .navigation label:nth-of-type(9):after,
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .navigation label:nth-of-type(10):after,
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .navigation label:nth-of-type(11):after {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.csslider > .arrows {
|
||||||
|
position: absolute;
|
||||||
|
left: -31px;
|
||||||
|
top: 50%;
|
||||||
|
width: 100%;
|
||||||
|
height: 26px;
|
||||||
|
padding: 0 31px;
|
||||||
|
z-index: 0;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
-webkit-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -50%;
|
||||||
|
padding: 13px;
|
||||||
|
box-shadow: inset 2px -2px 0 1px #3a3a3a;
|
||||||
|
cursor: pointer;
|
||||||
|
-moz-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
-o-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
-webkit-transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
transition: box-shadow 0.15s, margin 0.15s;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label:hover {
|
||||||
|
box-shadow: inset 3px -3px 0 2px #71ad37;
|
||||||
|
margin: 0 0px;
|
||||||
|
}
|
||||||
|
.csslider > .arrows label:before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: -100%;
|
||||||
|
left: -100%;
|
||||||
|
height: 300%;
|
||||||
|
width: 300%;
|
||||||
|
}
|
||||||
|
.csslider.infinity > input:first-of-type:checked ~ .arrows label.goto-last,
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .arrows > label:nth-of-type(0),
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .arrows > label:nth-of-type(1),
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .arrows > label:nth-of-type(2),
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .arrows > label:nth-of-type(3),
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .arrows > label:nth-of-type(4),
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .arrows > label:nth-of-type(5),
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .arrows > label:nth-of-type(6),
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .arrows > label:nth-of-type(7),
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .arrows > label:nth-of-type(8),
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .arrows > label:nth-of-type(9),
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .arrows > label:nth-of-type(10) {
|
||||||
|
display: block;
|
||||||
|
left: 0;
|
||||||
|
right: auto;
|
||||||
|
-moz-transform: rotate(45deg);
|
||||||
|
-ms-transform: rotate(45deg);
|
||||||
|
-o-transform: rotate(45deg);
|
||||||
|
-webkit-transform: rotate(45deg);
|
||||||
|
transform: rotate(45deg);
|
||||||
|
}
|
||||||
|
.csslider.infinity > input:last-of-type:checked ~ .arrows label.goto-first,
|
||||||
|
.csslider > input:nth-of-type(1):checked ~ .arrows > label:nth-of-type(2),
|
||||||
|
.csslider > input:nth-of-type(2):checked ~ .arrows > label:nth-of-type(3),
|
||||||
|
.csslider > input:nth-of-type(3):checked ~ .arrows > label:nth-of-type(4),
|
||||||
|
.csslider > input:nth-of-type(4):checked ~ .arrows > label:nth-of-type(5),
|
||||||
|
.csslider > input:nth-of-type(5):checked ~ .arrows > label:nth-of-type(6),
|
||||||
|
.csslider > input:nth-of-type(6):checked ~ .arrows > label:nth-of-type(7),
|
||||||
|
.csslider > input:nth-of-type(7):checked ~ .arrows > label:nth-of-type(8),
|
||||||
|
.csslider > input:nth-of-type(8):checked ~ .arrows > label:nth-of-type(9),
|
||||||
|
.csslider > input:nth-of-type(9):checked ~ .arrows > label:nth-of-type(10),
|
||||||
|
.csslider > input:nth-of-type(10):checked ~ .arrows > label:nth-of-type(11),
|
||||||
|
.csslider > input:nth-of-type(11):checked ~ .arrows > label:nth-of-type(12) {
|
||||||
|
display: block;
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
-moz-transform: rotate(225deg);
|
||||||
|
-ms-transform: rotate(225deg);
|
||||||
|
-o-transform: rotate(225deg);
|
||||||
|
-webkit-transform: rotate(225deg);
|
||||||
|
transform: rotate(225deg);
|
||||||
|
}
|
||||||
|
/*#region MODULES */
|
||||||
|
/*#endregion */
|
14267
public/css/mdb.css
Normal file
26
public/css/mdb.min.css
vendored
Normal file
331
public/css/palmpay.css
Normal file
|
@ -0,0 +1,331 @@
|
||||||
|
/*!
|
||||||
|
* PalmPay - v1.0.0 ()
|
||||||
|
* Copyright 2018 poqdavid
|
||||||
|
* Licensed under GPLv3 (http://palmpay.io/LICENSE.txt)
|
||||||
|
*/
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro"), local("PFBeauSansPro"), url("../font/pfb/PFBeauSansPro-Reg.ttf");
|
||||||
|
font-weight: 400; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro SeBold"), local("PFBeauSansPro-SeBold"), url("../font/pfb/PFBeauSansPro-SeBold.ttf");
|
||||||
|
font-weight: 600; }
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "PFBeauSansPro";
|
||||||
|
src: local("PFBeauSansPro Bold"), local("PFBeauSansPro-Bold"), url("../font/pfb/PFBeauSansPro-Bold.ttf");
|
||||||
|
font-weight: 700; }
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%; }
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
hr {
|
||||||
|
max-width: 50px;
|
||||||
|
border-width: 3px;
|
||||||
|
border-color: #128f52; }
|
||||||
|
|
||||||
|
hr.light {
|
||||||
|
border-color: #fff; }
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #128f52;
|
||||||
|
-webkit-transition: all 0.2s;
|
||||||
|
-moz-transition: all 0.2s;
|
||||||
|
transition: all 0.2s; }
|
||||||
|
a:hover {
|
||||||
|
color: #128f52; }
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6 {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
.bg-primary {
|
||||||
|
background-color: #128f52 !important; }
|
||||||
|
|
||||||
|
.bg-secondary {
|
||||||
|
background-color: #F0F0F0 !important; }
|
||||||
|
|
||||||
|
.bg-dark {
|
||||||
|
background-color: #212529 !important; }
|
||||||
|
|
||||||
|
.text-faded {
|
||||||
|
color: rgba(255, 255, 255, 0.7); }
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 8rem 0; }
|
||||||
|
|
||||||
|
.section-heading {
|
||||||
|
margin-top: 0; }
|
||||||
|
|
||||||
|
::-moz-selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #212529;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
::selection {
|
||||||
|
color: #fff;
|
||||||
|
background: #212529;
|
||||||
|
text-shadow: none; }
|
||||||
|
|
||||||
|
img::selection {
|
||||||
|
color: #fff;
|
||||||
|
background: transparent; }
|
||||||
|
|
||||||
|
img::-moz-selection {
|
||||||
|
color: #fff;
|
||||||
|
background: transparent; }
|
||||||
|
|
||||||
|
.containerfix {
|
||||||
|
width: 100%;
|
||||||
|
padding-right: 0px;
|
||||||
|
padding-left: 0px;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
overflow: hidden; }
|
||||||
|
|
||||||
|
#mainNav {
|
||||||
|
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||||
|
background-color: #128f52;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important;
|
||||||
|
-webkit-transition: all 0.2s;
|
||||||
|
-moz-transition: all 0.2s;
|
||||||
|
transition: all 0.2s;
|
||||||
|
padding-top: 25px;
|
||||||
|
padding-bottom: 25px; }
|
||||||
|
#mainNav .navbar-brand {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
color: #128f52;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||||
|
color: #128f52; }
|
||||||
|
#mainNav .navbar-lang {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #128f52;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav .navbar-textsmall {
|
||||||
|
font-size: .7rem !important; }
|
||||||
|
#mainNav .expand_caret {
|
||||||
|
position: absolute !important;
|
||||||
|
-webkit-transition: 2s ease-in-out !important;
|
||||||
|
-moz-transition: 2s ease-in-out !important;
|
||||||
|
-o-transition: 2s ease-in-out !important;
|
||||||
|
transition: 2s ease-in-out !important; }
|
||||||
|
#mainNav .rlsui-selected-locale:hover.dropdown-toggle::after {
|
||||||
|
display: inline-block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
margin-left: .255em;
|
||||||
|
vertical-align: .255em;
|
||||||
|
content: "";
|
||||||
|
border-top: .3em solid;
|
||||||
|
border-right: .3em solid transparent;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-left: .3em solid transparent;
|
||||||
|
-moz-transform: rotate(180deg) !important;
|
||||||
|
-o-transform: rotate(180deg) !important;
|
||||||
|
-ms-transform: rotate(180deg) !important;
|
||||||
|
transform: rotate(180deg) !important; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
font-size: .9rem;
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase !important;
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link.active,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active {
|
||||||
|
color: #fec810 !important;
|
||||||
|
background-color: transparent; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus.active:hover {
|
||||||
|
background-color: transparent; }
|
||||||
|
@media (max-width: 992px) {
|
||||||
|
#mainNav {
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px; }
|
||||||
|
#mainNav .navbar-brand .logo1 {
|
||||||
|
display: none !important; }
|
||||||
|
#mainNav .navbar-brand .logo2 {
|
||||||
|
display: inline !important; } }
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
#mainNav {
|
||||||
|
border-color: transparent;
|
||||||
|
background-color: transparent; }
|
||||||
|
#mainNav .navbar-brand {
|
||||||
|
color: rgba(18, 143, 82, 0.7); }
|
||||||
|
#mainNav .navbar-brand:focus, #mainNav .navbar-brand:hover {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link {
|
||||||
|
padding: 0.5rem 1rem; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav.navbar-shrink {
|
||||||
|
border-bottom: 1px solid rgba(33, 37, 41, 0.1);
|
||||||
|
background-color: #128f52;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px; }
|
||||||
|
#mainNav.navbar-shrink .navbar-brand {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav.navbar-shrink .navbar-brand:focus, #mainNav.navbar-shrink .navbar-brand:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; }
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link,
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus {
|
||||||
|
color: #fff; }
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:hover,
|
||||||
|
#mainNav.navbar-shrink .navbar-nav > li.nav-item > a.nav-link:focus:hover {
|
||||||
|
color: #fec810;
|
||||||
|
cursor: pointer; } }
|
||||||
|
|
||||||
|
header.masthead {
|
||||||
|
padding-top: 10rem;
|
||||||
|
padding-bottom: calc(10rem - 56px);
|
||||||
|
background-image: url("../img/header-bg.jpg");
|
||||||
|
background-position: center center;
|
||||||
|
-webkit-background-size: cover;
|
||||||
|
-moz-background-size: cover;
|
||||||
|
-o-background-size: cover;
|
||||||
|
background-size: cover; }
|
||||||
|
header.masthead hr {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-bottom: 30px; }
|
||||||
|
.view h1 {
|
||||||
|
font-size: 2rem !important; }
|
||||||
|
.view p {
|
||||||
|
font-weight: 300 !important; }
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.view p {
|
||||||
|
font-size: 1.15rem !important; } }
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
header.masthead {
|
||||||
|
height: 100vh;
|
||||||
|
min-height: 650px;
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0; }
|
||||||
|
.view h1 {
|
||||||
|
font-size: 3rem !important; } }
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.view h1 {
|
||||||
|
font-size: 4rem !important; } }
|
||||||
|
|
||||||
|
.service-box {
|
||||||
|
max-width: 400px; }
|
||||||
|
|
||||||
|
.service-box img {
|
||||||
|
border: 2px solid #128f52;
|
||||||
|
border-radius: 50%; }
|
||||||
|
.service-box img:hover {
|
||||||
|
border: 2px solid #fec810; }
|
||||||
|
|
||||||
|
.text-primary {
|
||||||
|
color: #128f52 !important; }
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
font-weight: 700;
|
||||||
|
text-transform: uppercase;
|
||||||
|
border: none;
|
||||||
|
border-radius: 300px;
|
||||||
|
font-family: 'PFBeauSansPro', sans-serif !important; }
|
||||||
|
|
||||||
|
.btn-xl {
|
||||||
|
padding: 1rem 2rem; }
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background-color: #128f52 !important;
|
||||||
|
border-color: #128f52 !important; }
|
||||||
|
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #0f7845 !important; }
|
||||||
|
.btn-primary:active, .btn-primary:focus {
|
||||||
|
box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important; }
|
||||||
|
|
||||||
|
.about {
|
||||||
|
font-family: 'PFBeauSansPro'; }
|
||||||
|
.about .about-text {
|
||||||
|
color: black; }
|
||||||
|
.about .about-img {
|
||||||
|
min-height: 30rem;
|
||||||
|
background-size: cover; }
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.about .about-text {
|
||||||
|
color: black; } }
|
||||||
|
.about h1,
|
||||||
|
.about h2,
|
||||||
|
.about h3,
|
||||||
|
.about h4,
|
||||||
|
.about h5,
|
||||||
|
.about h6 {
|
||||||
|
font-family: 'PFBeauSansPro';
|
||||||
|
font-weight: 800 !important; }
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
padding-top: 1rem;
|
||||||
|
padding-bottom: 1rem;
|
||||||
|
background-color: #128f52;
|
||||||
|
color: #fff; }
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
background-color: #212529; }
|
||||||
|
|
||||||
|
ul.social-buttons {
|
||||||
|
margin-bottom: 0; }
|
||||||
|
ul.social-buttons li a {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 40px;
|
||||||
|
display: block;
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
-webkit-transition: all 0.3s;
|
||||||
|
-moz-transition: all 0.3s;
|
||||||
|
transition: all 0.3s;
|
||||||
|
color: white;
|
||||||
|
border-radius: 100%;
|
||||||
|
outline: none;
|
||||||
|
background-color: #0c6238; }
|
||||||
|
ul.social-buttons li a:active, ul.social-buttons li a:focus, ul.social-buttons li a:hover {
|
||||||
|
background-color: #fec810; }
|
||||||
|
|
||||||
|
.vertical-align {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row; }
|
||||||
|
|
||||||
|
.vertical-align > [class^="col-"],
|
||||||
|
.vertical-align > [class*=" col-"] {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center; }
|
||||||
|
|
||||||
|
.fa-dtube {
|
||||||
|
background-image: url("../img/dtube.png") no-repeat 0 0; }
|
||||||
|
|
||||||
|
.fa-steemit {
|
||||||
|
background-image: url("../img/steemit.png") no-repeat 0 0; }
|
||||||
|
|
||||||
|
.testimonial-item i {
|
||||||
|
font-size: 80px;
|
||||||
|
color: #128f52;
|
||||||
|
padding-bottom: 15px; }
|
5
public/css/palmpay.min.css
vendored
Normal file
101
public/css/tooltip.css
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
/*
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body,
|
||||||
|
html {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper {
|
||||||
|
background: #222;
|
||||||
|
color: white;
|
||||||
|
width: 150px;
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper .popper__arrow, .popover .popover__arrow {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
position: absolute;
|
||||||
|
margin: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="top"], .popover[data-placement^="top"] {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="top"] .popper__arrow, .popover[data-placement^="top"] .popover__arrow {
|
||||||
|
border-width: 5px 5px 0 5px;
|
||||||
|
border-color: #222 transparent transparent transparent;
|
||||||
|
bottom: -5px;
|
||||||
|
left: calc(50% - 5px);
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="top"] .popover__arrow {
|
||||||
|
border-color: #fff transparent transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="bottom"], .popover[data-placement^="bottom"] {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="bottom"] .popper__arrow, .popover[data-placement^="bottom"] .popover__arrow {
|
||||||
|
border-width: 0 5px 5px 5px;
|
||||||
|
border-color: transparent transparent #222 transparent;
|
||||||
|
top: -5px;
|
||||||
|
left: calc(50% - 5px);
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="bottom"] .popover__arrow {
|
||||||
|
border-color: transparent transparent #fff transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="right"], .popover[data-placement^="right"] {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="right"] .popper__arrow, .popover[data-placement^="right"] .popover__arrow {
|
||||||
|
border-width: 5px 5px 5px 0;
|
||||||
|
border-color: transparent #222 transparent transparent;
|
||||||
|
left: -5px;
|
||||||
|
top: calc(50% - 5px);
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="right"] .popover__arrow {
|
||||||
|
border-color: transparent #fff transparent transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="left"], .popover[data-placement^="left"] {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popper[data-placement^="left"] .popper__arrow, .popover[data-placement^="left"] .popover__arrow {
|
||||||
|
border-width: 5px 0 5px 5px;
|
||||||
|
border-color: transparent transparent transparent #222;
|
||||||
|
right: -5px;
|
||||||
|
top: calc(50% - 5px);
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popover[data-placement^="left"] .popover__arrow {
|
||||||
|
border-color: transparent transparent transparent #fff;
|
||||||
|
}
|
||||||
|
*/
|