commit d39b7214b84c4e3a86bad1b4d89c182c39fe0c86 Author: Givou Date: Thu Nov 10 21:56:38 2022 +0100 Fixed some bugs and added a cookies disclaimer diff --git a/admin.php b/admin.php new file mode 100644 index 0000000..fee97c5 --- /dev/null +++ b/admin.php @@ -0,0 +1,624 @@ + + + + + + + + + + + + + + +'.$instancename.' - Administration'; + ?> + + + + + + + + + + +
+
+

Dashboard

+
Welcome back,
+ Some Systems may not work correctly!
'; + } else if(sMaintenance()) { + echo '
Systems currently under maintenance!
'; + } else { + echo '
All Systems operational!
'; + } + ?> +
+ + + +
+
+

Account

+
Account name:
+ User already exists!

'; + } + ?> +
+ + +
+ +
+ +
Password
+ The passwords do not match

'; + } + + if(isset($_GET["pwupdated"])) { + echo '

Passwort updated successfully!

'; + } + + if(isset($_GET["pwrong"])) { + echo '

Old password is not correct!

'; + } + ?> +
+ +
+ + + +
+
+
+ + + +
+

Users

+
Create Account
+
+ + + + +
+ +
+
Users
+ '; + + if(isset($_GET["userdeleted"])) { + echo '

User deleted successfully!

'; + } + + if(isset($_GET["userexist"])) { + echo '

User already exists!

'; + } + + if(isset($_GET["usercreated"])) { + echo '

User created successfully!

'; + } + } + + if($role == "administrator") { + while($userlist = mysqli_fetch_array($users)){ + if($userlist['username'] != $_SESSION['name']) { + echo ' + + + + + +
'; + } + } + } + + if($role == "administrator") { + echo '
'; + } +?> + + +
+

'.$username.'

+ +
+
Username
'; + + if(isset($_GET["unupdated"])) { + echo '

Username updated sucessfully

'; + } + + echo ' + + +
+ +
+ +
+
Password
'; + + if(isset($_GET["pwnotmatch"])) { + echo '

The passwords do not match

'; + } + + if(isset($_GET["pwupdated"])) { + echo '

Passwort updated successfully!

'; + } + + echo ' + + + +
+ +
+ +
+
Role
'; + + if(isset($_GET["roleupdated"])) { + echo '

Role updated successfully!

'; + } + + echo ' + + +
+
+ + '; +} +?> + + + +
+

'.$servicename.'

+ +
Edit service settings
+ + '; + if(isset($_GET["statusupdated"])) { + echo '

Status updated successfully!

'; + } + + if(isset($_GET["priorityupdated"])) { + echo '

Priority updated successfully!

'; + } + + if(isset($_GET["nameupdated"])) { + echo '

Name updated successfully!

'; + } + echo ' + +
+ + + + + + +
+ +
+ + + +
+ +
+ + + +
+ +
+
Recent Incidents
+ '; + + mysqli_data_seek($incidents, 0); + $count = 3; + + if(isset($_GET['lmore'])) { + $add = (int) $_GET['lmore']; + $count += $add; + } + + + while($incidentlist = mysqli_fetch_array($incidents)){ + if($count != 0) { + if(strpos($incidentlist['services'], $id) !== false) { + if(strpos($incidentlist['childof'], "-1") !== false) { + $count--; + echo ' +
+
'.$incidentlist['date'].': + +
+ +
'; + if($incidentlist['status'] == "new") { + echo '
'; + } else if($incidentlist['status'] == "working") { + echo '
'; + } else if($incidentlist['status'] == "update") { + echo '
'; + } else if($incidentlist['status'] == "finished") { + echo '
'; + } + + echo ''.$incidentlist['text'].' +
+ '; + + mysqli_data_seek($incidents2, 0); + while($incidentlist2 = mysqli_fetch_array($incidents2)){ + if(strpos($incidentlist['id'], $incidentlist2['childof']) !== false) { + echo ' +
'; + if($incidentlist2['status'] == "new") { + echo '
'; + } else if($incidentlist2['status'] == "working") { + echo '
'; + } else if($incidentlist2['status'] == "update") { + echo '
'; + } else if($incidentlist2['status'] == "finished") { + echo '
'; + } + + echo ''.$incidentlist2['text'].' + +
+ '; + } + } + } + } + } else { + break; + } + } + + if($count == 0) { + if(isset($_GET['lmore'])) { + $more = (int) $_GET['lmore']; + $more += 3; + } else { + $more = 3; + } + + echo ' +
+ '; +} + ?> + + +
+
+

+
Edit Group
+ Name updated successfully!

'; + } + + if(isset($_GET["priorityupdated"])) { + echo '

Priority updated successfully!

'; + } + ?> + ' ?> + + + + + + ' ?> + + + + +
+
+ + +
+
+

Incidents

+Create Incident
+ '; + + if(isset($_GET["incidentcreated"])) { + echo '

Incident created successfully!

'; + } + + echo ' +
+ + + + + +
+ +
+
Add Message
+ '; + + if(isset($_GET["messagecreated"])) { + echo '

Message created successfully!

'; + } + + echo ' +
+ + + + + +
+ +
+
Danger Zone
+ '; + if(isset($_GET["incidentsflushed"])) { + echo '

All Incidents flushed!!

'; + } + echo ' + +
+ '; +?> +
+ + + + +
+

Settings

+
Instance name
'; + + if(isset($_GET["nameupdated"])) { + echo '

Instance name successfully updated!

'; + } + echo ' +
+
+ +
+
+ +
+ +
Autoreload Status
'; + if(isset($_GET["reloadupdated"])) { + if($_GET['reloadupdated'] == "enabled") { + echo '

Autoreload value set to: '.$_GET['reloadupdated'].'!

'; + } else { + echo '

Autoreload value set to: '.$_GET['reloadupdated'].'!

'; + } + } + echo ' +
+ + + +
+ +
+
Impressum & Privacy Policity
'; + if($_GET['impressumset']) { + echo '

Impressum link set to: '.$_GET['impressumset'].'!

'; + } else if($_GET['privacyset']) { + echo '

Privacy policity link set to: '.$_GET['privacyset'].'!

'; + } else if(isset($_GET['newtabset'])) { + echo '

Open new tab policy updated!

'; + } + echo ' +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+ '; + } +?> + + +
+
+

Services

+
Create group/service
+ Group successfully added!

'; + } + + if(isset($_GET["serviceadded"])) { + echo '

Service successfully added!

'; + } + ?> +
+
+ +
+
+ + +
+
+ + + +
+
+ +
+ Service successfully deleted!

'; + } + + if(isset($_GET["groupdeleted"])) { + echo '

Group successfully deleted!

'; + } + ?> +'.$grouplist['name'].' + +
'; + mysqli_data_seek($services, 0); + while($servicelist = mysqli_fetch_array($services)){ + if($grouplist['id'] == $servicelist['groupid']) { + echo ' +
+ + + + '; + if($role != "administrator") { + echo'
'; + } else { + echo ''; + } + } + } + echo'
'; + } +?> + + + + + diff --git a/auth.php b/auth.php new file mode 100644 index 0000000..38a54b3 --- /dev/null +++ b/auth.php @@ -0,0 +1,50 @@ +prepare('SELECT id, password FROM accounts WHERE username = ?')) { + $stmt->bind_param('s', $_POST['username']); + $stmt->execute(); + + $stmt->store_result(); + + if ($stmt->num_rows > 0) { + $stmt->bind_result($id, $password); + $stmt->fetch(); + + if (password_verify($_POST['password'], $password)) { + session_regenerate_id(); + + $_SESSION['loggedin'] = TRUE; + $_SESSION['name'] = $_POST['username']; + $_SESSION['id'] = $id; + + header("Location: admin.php"); + } else { + //Incorrect Data + echo 'Incorrect username and/or password!'; + } + + } else { + //Incorrect Data + echo 'Incorrect username and/or password!'; + } + + $stmt->close(); +} + + +?> diff --git a/config.php b/config.php new file mode 100644 index 0000000..72496cb --- /dev/null +++ b/config.php @@ -0,0 +1,8 @@ +"data2.thiemoo.at", + "DBNAME"=>"webstatus", + "DBPWD"=>"X5G3njgZ4s@E4S9J", + "DBUSER"=>"webstatus" + ); + ?> diff --git a/css/admin/mobile.css b/css/admin/mobile.css new file mode 100644 index 0000000..57274e9 --- /dev/null +++ b/css/admin/mobile.css @@ -0,0 +1,135 @@ +@media only screen and (max-width: 467px){ + .open { + position: absolute; + top: -1%; + left: 3%; + font-size: 3em; + visibility: visible; + display: block; + } + + .sidebar{ + position: fixed; + width: 35%; + top:0; + left: 0; + bottom: 0; + background: #121921; + padding-top: 50px; + transition: 0.5s; + } + + .bottom { + position: absolute; + bottom: 8%; + } + + .close { + bottom: 14%; + visibility: visible; + } + + .sidebar h1{ + display: block; + padding: 10px 20px; + color: #fff; + text-decoration: none; + font-family: 'Trebuchet MS', sans-serif; + letter-spacing: 2px; + font-weight: 400; + margin: 0; + font-size: 2em; + text-transform: uppercase; + margin-top: 0; + transition: 0.3s; + } + + .sidebar a{ + display: block; + padding: 10px 20px; + color: #bbb; + text-decoration: none; + font-family: 'Trebuchet MS', sans-serif; + font-size: 1em; + letter-spacing: 2px; + transition: 0.3s; + } + + .incident-date { + top: 0px !important; + } + + .incident-submit { + top: -17% !important; + } +} + +@media only screen and (max-height: 467px){ + .open { + position: absolute; + top: -1%; + left: 3%; + font-size: 7em; + visibility: visible; + display: block; + } + + .sidebar{ + position: fixed; + width: 35%; + top:0; + left: 0; + bottom: 0; + background: #121921; + padding-top: 50px; + } + + .sidebar h1{ + display: block; + padding: 10px 20px; + color: #fff; + text-decoration: none; + font-family: 'Trebuchet MS', sans-serif; + letter-spacing: 2px; + font-weight: 400; + margin: 0; + font-size: 3em; + text-transform: uppercase; + margin-top: 50px; + } + + .sidebar a{ + display: block; + padding: 10px 20px; + color: #bbb; + text-decoration: none; + font-family: 'Trebuchet MS', sans-serif; + font-size: 2em; + letter-spacing: 2px; + } + + .close { + display: block; + position: absolute; + bottom: 7%; + } + + .more-popup { + margin: 15% auto 15% -30% !important; + padding: 20px; + background: #233142; + border-radius: 5px; + width: 70%; + position: relative; + } + + .incident-date { + top: 0px !important; + } + + .incident-submit { + top: -17% !important; + } + + +} diff --git a/css/admin/style.css b/css/admin/style.css new file mode 100644 index 0000000..c11d367 --- /dev/null +++ b/css/admin/style.css @@ -0,0 +1,420 @@ +body { + margin: 0; + background: #233142; + font-family: "Lato", sans-serif; + overflow-x: hidden; +} + +.sidebar{ + position: fixed; + width: 13%; + top:0; + left: 0; + bottom: 0; + background: #121921; + padding-top: 50px; + z-index: 1; +} + +.sidebar h1{ + display: block; + padding: 10px 20px; + color: #fff; + text-decoration: none; + font-family: "Rubik"; + letter-spacing: 2px; + font-weight: 400; + margin: 0; + font-size: 25px; + text-transform: uppercase; +} + +.sidebar a { + display: block; + padding: 10px 20px; + color: #bbb; + text-decoration: none; + font-family: "Rubik"; + letter-spacing: 2px; +} + +.sidebar a:hover:not(close){ + color: #fff; + margin-left: 20px; + transition: 0.4s; +} + +.bottom { + position: absolute; + bottom: 2%; +} + +.close { + visibility: hidden; +} + +.open { + color: green; + display: none; + visibility: hidden; +} + +.more-box { + width: 20%; + margin: 0 auto; + background: rgba(255,255,255,0.2); + padding: 35px; + border: 2px solid #233142; + border-radius: 20px/50px; + text-align: center; +} + +.more-overlay { + transition: opacity 300ms; + visibility: hidden; + opacity: 0; + padding-top: -1%; + margin: -10% auto; + margin-bottom: -2000px; + display: none; +} + +.more-overlay:target { + visibility: visible; + opacity: 1; + display: block; +} + +.more-popup { + margin: 15% auto 15% 30%; + padding: 20px; + background: #233142; + border-radius: 5px; + width: 70%; + position: relative; +} + +.more-popup h2 { + margin-top: 0; + color: #a6a6a6; + font-family: Tahoma, Arial, sans-serif; + font-size: 80px; + margin-bottom: 0; +} + +.more-popup .content { + max-height: 30%; + overflow: auto; + color: #d9d9d9; + font-size: 20px; +} + +.content-danger { + color: #ff4d4d !important; +} + +.more-box-caller { + text-decoration: none; +} + +.up { + color: #009900 !important; +} + +.maintenance { + color: #ff9933 !important; +} + +.troubles { + color: #ff1a1a !important; +} + +input { + text-align: center; + background-color: #ECF0F1; + border: 2px solid transparent; + border-radius: 3px; + font-size: 15px; + font-weight: 200; + padding: 10px 0; + width: 200px; + transition: border .5s; + margin-left: -2px; + margin-top: 2px; +} + +input:focus { + border: 2px solid #3498DB; + box-shadow: none; +} + +textarea { + text-align: center; + background-color: #2c3e54; + color: #7996b9; + border: 2px solid transparent; + border-radius: 3px; + font-size: 15px; + font-weight: 200; + padding: 10px 0; + transition: border .5s; + margin-left: -2px; + margin-top: 2px; + margin-bottom: 5px; +} + +select { + text-align: center; + background-color: #2c3e54 !important; + color: #7996b9; + border: 2px solid transparent; + border-radius: 3px; + font-size: 15px; + font-weight: 200; + padding: 10px 0; + width: 200px; + transition: border .5s; + margin-left: -2px; + margin-top: 2px; +} + +select:focus { + border: 2px solid #3498DB; + box-shadow: none; +} + +button { + position: relative; + margin-bottom: 2px; + font-size: 15px !important; + font-weight: 200 !important; + color: #7996b9 !important; +} + +button:focus { + outline: 0; +} +button:before { + content: ""; + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.5); + width: 60px; + height: 100%; + left: 0; + top: 0; + opacity: 0.5; + filter: blur(30px); + transform: translateX(-100px) skewX(-15deg); +} +button:after { + content: ""; + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.2); + width: 30px; + height: 100%; + left: 30px; + top: 0; + opacity: 0; + filter: blur(5px); + transform: translateX(-100px) skewX(-15deg); +} + +button:hover:before { + transform: translateX(300px) skewX(-15deg); + opacity: 0.6; + transition: 0.7s; +} +button:hover:after { + transform: translateX(300px) skewX(-15deg); + opacity: 1; + transition: 0.7s; +} + +.button-green { + background: #2c3e54; + color: #ccc; + width: 80px; + height: 42px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-green:hover { + background: #338033; + cursor: pointer; +} + +.button-red { + background: #2c3e54; + color: #ccc; + width: 80px; + height: 42px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-red:hover { + background: #990000; + cursor: pointer; +} + +.button-orange { + background: #2c3e54; + color: #ccc; + width: 80px; + height: 42px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-orange:hover { + background: #cc6600; + cursor: pointer; +} + +.button-green-mini { + background: #2c3e54; + color: #ccc; + width: 50px; + height: 23px; + top: -2px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-green-mini:hover { + background: #338033; + cursor: pointer; +} + +.button-red-mini { + background: #2c3e54; + color: #ccc; + width: 55px; + height: 23px; + top: -2px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-mini-bigger { + width: 75px !important; +} + +.button-bigger { + width: 140px !important; +} + +.button-center { + position: absolute; + left: 30%; +} + +.button-up { + top: -1px; +} + +.button-red-mini:hover { + background: #990000; + cursor: pointer; +} + +.username-field { + color: #7996b9; + background-color: #2c3e54; +} + +.field-newline { + display: block !important; +} + +.userlist-newline { + margin-top: 1px; +} + +.placeholder { + margin-top: 30px; +} + +.wpassword { + font-size: 12px; + color: #ff0000; + margin: center; +} + +.upassword { + font-size: 12px; + color: #009900; + margin: center; +} + +.block { +} + +.incident { + margin-top: 1%; + color: #7996b9; + width: 50%; +} + +.timeline-icon { + display:flex; + float:left; + padding-right: 15px; +} + +.timeline-new:before { + font-family:FontAwesome; + content: "\f0a1"; + color: #cc6600; +} + +.timeline-working:before { + font-family:FontAwesome; + content: "\f013"; + color: #0052cc; +} + +.timeline-update:before { + font-family:FontAwesome; + content: "\f0e5"; + color: #4d9900; +} + +.timeline-finished:before { + font-family:FontAwesome; + content: "\f00c"; + color: #8bc34a; +} + +.incident-date { + position: relative; + top: -85px; +} + +.incident-submit { + left: -2px; + top: -83px; +} diff --git a/css/font-awesome/css/font-awesome.css b/css/font-awesome/css/font-awesome.css new file mode 100644 index 0000000..ee906a8 --- /dev/null +++ b/css/font-awesome/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/css/font-awesome/css/font-awesome.min.css b/css/font-awesome/css/font-awesome.min.css new file mode 100644 index 0000000..540440c --- /dev/null +++ b/css/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/css/font-awesome/fonts/FontAwesome.otf b/css/font-awesome/fonts/FontAwesome.otf new file mode 100644 index 0000000..401ec0f Binary files /dev/null and b/css/font-awesome/fonts/FontAwesome.otf differ diff --git a/css/font-awesome/fonts/fontawesome-webfont.eot b/css/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/css/font-awesome/fonts/fontawesome-webfont.eot differ diff --git a/css/font-awesome/fonts/fontawesome-webfont.svg b/css/font-awesome/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..855c845 --- /dev/null +++ b/css/font-awesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/font-awesome/fonts/fontawesome-webfont.ttf b/css/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/css/font-awesome/fonts/fontawesome-webfont.ttf differ diff --git a/css/font-awesome/fonts/fontawesome-webfont.woff b/css/font-awesome/fonts/fontawesome-webfont.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/css/font-awesome/fonts/fontawesome-webfont.woff differ diff --git a/css/font-awesome/fonts/fontawesome-webfont.woff2 b/css/font-awesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/css/font-awesome/fonts/fontawesome-webfont.woff2 differ diff --git a/css/login/style.css b/css/login/style.css new file mode 100644 index 0000000..c3e1bb7 --- /dev/null +++ b/css/login/style.css @@ -0,0 +1,296 @@ +html { + height: 100%; + background: radial-gradient(ellipse, #1b2735 0%, #090a0f 100%); + overflow: hidden; +} + +/**Parallax Stars from Codepen**/ +/**https://codepen.io/maadc/pen/oarbEM**/ +#stars { + width: 2px; + height: 2px; + animation: animStar 40s linear infinite; + box-shadow: 1099px 204px #fff, 1708px 1116px #fff, 1147px 1309px #fff, + 25px 1804px #fff, 1690px 1154px #fff, 1731px 747px #fff, 675px 1401px #fff, + 944px 1148px #fff, 1302px 1465px #fff, 1023px 1535px #fff, 1032px 549px #fff, + 1794px 731px #fff, 565px 1301px #fff, 1332px 1562px #fff, 314px 734px #fff, + 955px 463px #fff, 1899px 882px #fff, 1397px 1692px #fff, 572px 599px #fff, + 460px 960px #fff, 60px 260px #fff, 1684px 1780px #fff, 310px 1318px #fff, + 1789px 1632px #fff, 1871px 1705px #fff, 791px 1245px #fff, 944px 1042px #fff, + 1191px 1847px #fff, 1961px 269px #fff, 723px 720px #fff, 1534px 698px #fff, + 301px 957px #fff, 1087px 1577px #fff, 734px 278px #fff, 647px 1477px #fff, + 529px 1904px #fff, 15px 46px #fff, 805px 382px #fff, 1933px 1427px #fff, + 1526px 1929px #fff, 871px 966px #fff, 829px 15px #fff, 1619px 1137px #fff, + 1397px 1681px #fff, 654px 1984px #fff, 1397px 556px #fff, 850px 1739px #fff, + 620px 1725px #fff, 1845px 1934px #fff, 1158px 875px #fff, 945px 341px #fff, + 427px 1679px #fff, 191px 105px #fff, 1396px 1957px #fff, 1808px 1493px #fff, + 1133px 460px #fff, 13px 1741px #fff, 140px 1053px #fff, 496px 1416px #fff, + 1313px 739px #fff, 1461px 288px #fff, 933px 1008px #fff, 1532px 777px #fff, + 1586px 169px #fff, 985px 1202px #fff, 1249px 1749px #fff, 629px 829px #fff, + 963px 1075px #fff, 701px 743px #fff, 1284px 30px #fff, 662px 1867px #fff, + 101px 691px #fff, 1667px 1490px #fff, 1443px 1166px #fff, 1618px 651px #fff, + 1843px 119px #fff, 736px 494px #fff, 1266px 680px #fff, 606px 1339px #fff, + 1046px 1926px #fff, 642px 522px #fff, 1786px 1668px #fff, 1681px 862px #fff, + 1012px 1181px #fff, 1279px 1271px #fff, 806px 557px #fff, 401px 208px #fff, + 730px 789px #fff, 1421px 488px #fff, 1549px 1937px #fff, 150px 1627px #fff, + 1693px 787px #fff, 324px 1984px #fff, 1084px 310px #fff, 696px 1255px #fff, + 1908px 48px #fff, 614px 1863px #fff, 348px 1724px #fff, 1457px 254px #fff, + 1506px 150px #fff, 875px 1506px #fff, 988px 1020px #fff, 1524px 1492px #fff, + 1722px 1681px #fff, 1102px 1669px #fff, 860px 768px #fff, 1369px 336px #fff, + 1432px 19px #fff, 748px 988px #fff, 635px 1578px #fff, 1943px 397px #fff, + 1944px 1615px #fff, 696px 225px #fff, 1922px 196px #fff, 1601px 1779px #fff, + 1363px 1541px #fff, 14px 1554px #fff, 618px 917px #fff, 336px 992px #fff, + 1208px 1788px #fff, 1617px 764px #fff, 1769px 1294px #fff, 1222px 9px #fff, + 1386px 1796px #fff, 533px 575px #fff, 596px 923px #fff, 1847px 431px #fff, + 1426px 160px #fff, 1128px 1833px #fff, 316px 233px #fff, 1293px 13px #fff, + 987px 356px #fff, 1396px 1073px #fff, 1763px 1076px #fff, 1655px 547px #fff, + 1923px 1286px #fff, 814px 1567px #fff, 856px 71px #fff, 1766px 886px #fff, + 1764px 70px #fff, 1557px 279px #fff, 317px 660px #fff, 1828px 732px #fff, + 327px 137px #fff, 307px 1363px #fff, 1355px 1970px #fff, 1559px 614px #fff, + 1500px 467px #fff, 1460px 1827px #fff, 570px 560px #fff, 918px 544px #fff, + 1816px 806px #fff, 646px 1641px #fff, 415px 199px #fff, 1621px 917px #fff, + 1080px 893px #fff, 1537px 838px #fff, 1089px 539px #fff, 291px 711px #fff, + 1654px 1537px #fff, 1065px 1843px #fff, 522px 1073px #fff, 813px 1724px #fff, + 1005px 1984px #fff, 1807px 1783px #fff, 357px 1186px #fff, 757px 523px #fff, + 1182px 248px #fff, 1232px 1491px #fff, 1391px 796px #fff, 1578px 54px #fff, + 912px 1178px #fff, 1988px 1421px #fff, 500px 1545px #fff, 1266px 890px #fff, + 1108px 897px #fff, 727px 111px #fff, 673px 1184px #fff, 561px 906px #fff, + 1957px 1993px #fff, 698px 1419px #fff, 328px 1484px #fff, 710px 772px #fff, + 14px 1102px #fff, 160px 1068px #fff, 1896px 595px #fff, 213px 775px #fff, + 1184px 1495px #fff, 883px 239px #fff, 1092px 1733px #fff, 1041px 570px #fff, + 189px 1295px #fff, 1343px 1128px #fff, 127px 1581px #fff, 1706px 288px #fff, + 218px 919px #fff, 1333px 1223px #fff, 1958px 1385px #fff, 600px 575px #fff, + 1542px 952px #fff, 1894px 1212px #fff, 810px 492px #fff, 722px 1119px #fff, + 746px 298px #fff, 770px 392px #fff, 922px 355px #fff, 1651px 934px #fff, + 566px 415px #fff, 675px 1922px #fff, 488px 5px #fff, 918px 809px #fff, + 1510px 1827px #fff, 511px 165px #fff, 382px 1684px #fff, 1934px 1992px #fff, + 993px 1730px #fff, 1603px 1836px #fff, 63px 234px #fff, 250px 1178px #fff, + 467px 1201px #fff, 1883px 7px #fff, 1868px 1487px #fff, 868px 1971px #fff, + 613px 1272px #fff, 664px 756px #fff, 1781px 1327px #fff, 165px 544px #fff, + 319px 45px #fff, 1870px 629px #fff, 556px 1502px #fff, 975px 807px #fff, + 1869px 313px #fff, 156px 1968px #fff, 1647px 555px #fff, 1589px 864px #fff, + 85px 1634px #fff, 943px 202px #fff, 1270px 1850px #fff, 1910px 307px #fff, + 1163px 1002px #fff, 1571px 1892px #fff, 835px 1929px #fff, 322px 1527px #fff, + 1706px 1371px #fff, 1498px 967px #fff, 466px 1566px #fff, 1330px 542px #fff, + 1651px 1955px #fff, 1416px 685px #fff, 1484px 1447px #fff, 161px 1975px #fff, + 866px 1581px #fff, 252px 416px #fff, 1693px 1326px #fff, 1810px 43px #fff, + 653px 650px #fff, 744px 654px #fff, 1573px 590px #fff, 1430px 1962px #fff, + 52px 312px #fff, 710px 1805px #fff, 1910px 87px #fff, 1767px 1641px #fff, + 281px 608px #fff, 191px 95px #fff, 861px 717px #fff, 1890px 1608px #fff, + 495px 1847px #fff, 459px 1932px #fff, 206px 1262px #fff, 950px 1761px #fff, + 213px 110px #fff, 1051px 1830px #fff, 1550px 55px #fff, 240px 170px #fff, + 629px 1986px #fff, 816px 1520px #fff, 1615px 1032px #fff, 995px 1963px #fff, + 272px 180px #fff, 916px 1876px #fff, 176px 793px #fff, 517px 1886px #fff, + 1907px 1182px #fff, 161px 951px #fff, 1395px 1642px #fff, 278px 1828px #fff, + 733px 1605px #fff, 268px 504px #fff, 447px 631px #fff, 773px 232px #fff, + 1978px 1272px #fff, 1902px 1673px #fff, 1398px 544px #fff, 1369px 464px #fff, + 1902px 1018px #fff, 1864px 558px #fff, 1194px 1182px #fff, 1813px 95px #fff, + 1465px 318px #fff, 1929px 1685px #fff, 228px 692px #fff, 1179px 1618px #fff, + 1419px 517px #fff, 459px 748px #fff, 1202px 629px #fff, 1456px 1115px #fff, + 803px 307px #fff, 380px 466px #fff, 294px 467px #fff, 301px 1257px #fff, + 425px 184px #fff, 383px 1178px #fff, 458px 716px #fff, 1766px 495px #fff, + 159px 1325px #fff, 12px 1395px #fff, 1024px 104px #fff, 1609px 1955px #fff, + 824px 304px #fff, 1338px 1144px #fff, 250px 45px #fff, 1100px 1464px #fff, + 1948px 811px #fff, 942px 624px #fff, 39px 356px #fff, 566px 1666px #fff, + 901px 517px #fff, 1904px 1230px #fff, 1195px 123px #fff, 200px 187px #fff, + 1538px 463px #fff, 518px 1670px #fff, 1680px 183px #fff, 1051px 608px #fff, + 51px 70px #fff, 21px 1896px #fff, 863px 583px #fff, 375px 206px #fff, + 802px 75px #fff, 152px 1920px #fff, 308px 1255px #fff, 836px 329px #fff, + 952px 193px #fff, 515px 800px #fff, 1236px 1406px #fff, 1606px 871px #fff, + 1882px 1016px #fff, 825px 931px #fff, 562px 552px #fff, 1699px 1585px #fff, + 1643px 1161px #fff, 1796px 1371px #fff, 301px 1056px #fff, + 1893px 1668px #fff, 1739px 1660px #fff, 914px 612px #fff, 307px 1px #fff, + 88px 315px #fff, 1186px 1326px #fff, 1086px 1646px #fff, 368px 1944px #fff, + 1422px 882px #fff, 858px 1844px #fff, 1554px 817px #fff, 1224px 1606px #fff, + 1901px 406px #fff, 447px 807px #fff, 1364px 461px #fff, 635px 1541px #fff, + 506px 294px #fff, 2000px 1960px #fff, 498px 900px #fff, 1374px 154px #fff, + 264px 480px #fff, 1561px 471px #fff, 1381px 1692px #fff, 1954px 1513px #fff, + 701px 76px #fff, 1730px 1587px #fff, 1002px 279px #fff, 524px 1620px #fff, + 282px 1248px #fff, 686px 1528px #fff, 755px 719px #fff, 789px 1218px #fff, + 205px 533px #fff, 330px 1649px #fff, 1089px 1357px #fff, 1116px 975px #fff, + 281px 394px #fff, 1635px 1678px #fff, 529px 1008px #fff, 1465px 798px #fff, + 1968px 771px #fff, 129px 214px #fff, 733px 10px #fff, 847px 622px #fff, + 1114px 8px #fff, 1714px 1396px #fff, 861px 1787px #fff, 480px 1624px #fff, + 1026px 741px #fff, 1436px 167px #fff, 1642px 54px #fff, 1228px 141px #fff, + 1282px 1416px #fff, 1703px 1192px #fff, 1885px 33px #fff, 1663px 221px #fff, + 807px 283px #fff, 67px 1949px #fff, 961px 1480px #fff, 1709px 1359px #fff, + 591px 1867px #fff, 1481px 1938px #fff, 189px 244px #fff, 1825px 1499px #fff, + 816px 1190px #fff, 1679px 1521px #fff, 1376px 1324px #fff, 951px 1782px #fff, + 953px 556px #fff, 1710px 1706px #fff, 1826px 608px #fff, 1326px 1095px #fff, + 1467px 1709px #fff, 697px 731px #fff, 1323px 1097px #fff, 1192px 888px #fff, + 732px 443px #fff, 431px 1225px #fff, 851px 1716px #fff, 30px 289px #fff, + 47px 1807px #fff, 411px 1084px #fff, 881px 1385px #fff, 1347px 1646px #fff, + 1577px 448px #fff, 1459px 229px #fff, 1178px 1305px #fff, 1467px 1527px #fff, + 538px 807px #fff, 1377px 1531px #fff, 1398px 78px #fff, 1573px 422px #fff, + 10px 1896px #fff, 435px 544px #fff, 224px 406px #fff, 7px 609px #fff, + 752px 1956px #fff, 268px 964px #fff, 1395px 1358px #fff, 38px 492px #fff, + 1819px 705px #fff, 56px 249px #fff, 1337px 1983px #fff, 151px 5px #fff, + 533px 102px #fff, 1849px 678px #fff, 1393px 1483px #fff, 1166px 735px #fff, + 425px 98px #fff, 907px 1764px #fff, 1628px 379px #fff, 1356px 1566px #fff, + 1917px 1476px #fff, 162px 1815px #fff, 1518px 1495px #fff, 1889px 259px #fff, + 342px 100px #fff, 1520px 248px #fff, 606px 1010px #fff, 553px 1713px #fff, + 134px 1898px #fff, 721px 1342px #fff, 2px 1437px #fff, 1563px 890px #fff, + 888px 1370px #fff, 1606px 1304px #fff, 786px 1421px #fff, 1426px 1692px #fff, + 1693px 135px #fff, 1695px 49px #fff, 1145px 222px #fff, 65px 1376px #fff, + 1027px 1788px #fff, 1007px 873px #fff, 1380px 67px #fff, 341px 1319px #fff, + 34px 583px #fff, 1066px 921px #fff, 113px 689px #fff, 412px 1925px #fff, + 1268px 67px #fff, 1535px 1358px #fff, 530px 317px #fff, 425px 349px #fff, + 1435px 572px #fff, 1118px 1285px #fff, 875px 1186px #fff, 472px 520px #fff, + 603px 463px #fff, 1578px 1649px #fff, 1659px 1046px #fff, 895px 1602px #fff, + 1486px 1084px #fff, 1683px 1294px #fff, 290px 1862px #fff, 739px 1192px #fff, + 615px 301px #fff, 696px 1592px #fff, 530px 79px #fff, 1718px 1266px #fff, + 151px 1700px #fff, 1989px 1824px #fff, 1237px 1613px #fff, 964px 1299px #fff, + 335px 341px #fff, 1133px 975px #fff, 996px 438px #fff, 281px 1552px #fff, + 1352px 1071px #fff, 1057px 1379px #fff, 342px 14px #fff, 1154px 1563px #fff, + 1802px 705px #fff, 737px 1790px #fff, 657px 1487px #fff, 1533px 1166px #fff, + 1195px 704px #fff, 1448px 216px #fff, 1606px 1480px #fff, 1783px 1450px #fff, + 626px 1292px #fff, 522px 258px #fff, 724px 1347px #fff, 55px 106px #fff, + 948px 1791px #fff, 1672px 1688px #fff, 1094px 1534px #fff, 464px 1681px #fff, + 666px 1081px #fff, 1413px 785px #fff, 74px 122px #fff, 1023px 1171px #fff, + 407px 1852px #fff, 1254px 1667px #fff, 662px 256px #fff, 1969px 1163px #fff, + 905px 939px #fff, 514px 120px #fff, 306px 365px #fff, 287px 1828px #fff, + 881px 149px #fff, 1859px 403px #fff, 1008px 1725px #fff, 305px 564px #fff, + 543px 1109px #fff, 1040px 337px #fff, 957px 62px #fff, 1039px 1250px #fff, + 869px 267px #fff, 1450px 229px #fff, 1910px 686px #fff, 1373px 1913px #fff, + 1202px 1617px #fff, 911px 545px #fff, 1537px 1311px #fff, 124px 1609px #fff, + 1717px 1591px #fff, 1916px 1588px #fff, 550px 771px #fff, 596px 1107px #fff, + 12px 1229px #fff, 984px 225px #fff, 981px 962px #fff, 1995px 1998px #fff, + 822px 375px #fff, 542px 88px #fff, 277px 1327px #fff, 1028px 404px #fff, + 1294px 195px #fff, 1456px 240px #fff, 333px 1451px #fff, 239px 1480px #fff, + 53px 1845px #fff, 1239px 1585px #fff, 1826px 694px #fff, 1995px 682px #fff, + 1804px 935px #fff, 1926px 1321px #fff, 1545px 850px #fff, 1957px 1071px #fff, + 458px 977px #fff, 252px 1383px #fff, 616px 65px #fff, 192px 674px #fff, + 547px 1603px #fff, 802px 1291px #fff, 1182px 1847px #fff, 303px 1498px #fff, + 591px 952px #fff, 1539px 1472px #fff, 1997px 1270px #fff, 1707px 1895px #fff, + 839px 252px #fff, 51px 1666px #fff, 1863px 1945px #fff, 1485px 1971px #fff, + 59px 1569px #fff, 1486px 840px #fff, 852px 1370px #fff, 752px 1066px #fff, + 1639px 947px #fff, 1213px 594px #fff, 1937px 390px #fff, 827px 1693px #fff, + 1883px 1645px #fff, 1220px 1886px #fff, 499px 760px #fff, 1813px 722px #fff, + 100px 223px #fff, 1270px 540px #fff, 1165px 894px #fff, 1846px 833px #fff, + 172px 19px #fff, 109px 1228px #fff, 1431px 1565px #fff, 1565px 737px #fff, + 326px 1377px #fff, 815px 1983px #fff, 1181px 1790px #fff, 79px 597px #fff, + 264px 1777px #fff, 972px 864px #fff, 45px 1063px #fff, 797px 1905px #fff, + 950px 1326px #fff, 1199px 488px #fff, 1921px 32px #fff, 894px 518px #fff, + 1482px 1405px #fff, 660px 471px #fff, 171px 1537px #fff, 699px 1832px #fff, + 725px 1988px #fff, 1496px 757px #fff, 1243px 310px #fff, 1274px 262px #fff, + 790px 732px #fff, 1704px 1810px #fff, 959px 1327px #fff, 459px 161px #fff, + 1629px 303px #fff, 1390px 699px #fff, 1973px 1799px #fff, 841px 963px #fff, + 1985px 1621px #fff, 1267px 452px #fff, 1537px 1757px #fff, 251px 814px #fff, + 1855px 987px #fff, 777px 26px #fff, 1837px 284px #fff, 1799px 1075px #fff, + 1622px 337px #fff, 1283px 91px #fff, 1760px 585px #fff, 1669px 1911px #fff, + 1397px 1669px #fff, 866px 1163px #fff, 281px 1425px #fff, 1455px 1643px #fff, + 141px 402px #fff, 979px 1566px #fff, 1723px 589px #fff, 146px 424px #fff, + 559px 1477px #fff, 779px 1999px #fff, 908px 674px #fff, 355px 570px #fff, + 1760px 1654px #fff, 958px 1880px #fff, 604px 926px #fff, 291px 1165px #fff, + 1856px 1003px #fff, 1104px 1161px #fff, 1296px 1341px #fff, 225px 406px #fff, + 1180px 351px #fff, 1037px 372px #fff, 1439px 1669px #fff, 1110px 743px #fff, + 1255px 419px #fff, 551px 1213px #fff, 490px 790px #fff, 1822px 1899px #fff, + 100px 1283px #fff, 1119px 81px #fff; +} + +#stars:after { + content: " "; + position: absolute; + bottom: 0px; + width: 1px; + height: 1px; + background: transparent; +} + +@keyframes animStar { + from { + transform: translateY(-1400px); + } + + to { + transform: translateY(-0px); + } +} + +/**Own Code**/ + +.login { + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 300px; +} + +.login-screen { + background-color: #233142; + padding: 20px; + border-radius: 5px +} + +.login-title { + text-align: center; + color: #587ca7; +} + +.login-form { + text-align: center; +} + +.login-box { + margin-bottom: 10px; +} + +.login-field { + color: #7996b9; + background-color: #2c3e54; +} + +input { + text-align: center; + background-color: #ECF0F1; + border: 2px solid transparent; + border-radius: 3px; + font-size: 16px; + font-weight: 200; + padding: 10px 0; + width: 250px; + transition: border .5s; +} + +input:focus { + border: 2px solid #3498DB; + box-shadow: none; +} + +.btn { + border: 2px solid transparent; + background: #3498DB; + color: #ffffff; + font-size: 16px; + line-height: 25px; + padding: 10px 0; + text-decoration: none; + text-shadow: none; + border-radius: 3px; + box-shadow: none; + transition: 0.25s; + display: block; + width: 250px; + margin: 0 auto; +} + + + +.btn:hover { + background-color: #2980B9; +} + +.login-link { + font-size: 12px; + color: #7996b9; + display: block; + margin-top: 12px; +} + +.wpassword { + font-size: 12px; + color: #ff0000; + margin: center; + padding-left: 15%; +} diff --git a/css/mobile.css b/css/mobile.css new file mode 100644 index 0000000..3c1b896 --- /dev/null +++ b/css/mobile.css @@ -0,0 +1,195 @@ +/* LOGO-WEBSTATUS */ + +@media only screen and (max-width: 967px) { + h1{ + font-size: 6vw; + } +} + +@media only screen and (max-width: 467px) { + h1{ + font-size: 10vw; + } +} + + +/* GLOBAL-STATUS RESPONSIVE SHRINKING AND TEXT SHRINKING */ +@media only screen and (max-width: 1067px) { + .status { + max-width: 93%; + } +} + +@media only screen and (max-width: 967px) { + .status { + max-width: 92%; + } +} + +@media only screen and (max-width: 867px) { + .status { + max-width: 90%; + } +} + +@media only screen and (max-width: 767px) { + .status { + max-width: 87%; + } +} + +@media only screen and (max-width: 517px) { + .status { + max-width: 80%; + } + + +} + +@media only screen and (max-width: 457px) { + .status { + max-width: 75%; + } + + .status-text { + font-size: 0.8em; + } + .status-time { + margin-top: 2.5px; + font-size: 0.8em; + } +} + + + +/* TIMELINE RESPONSIVE SHRINKING */ + +@media only screen and (max-width: 1439px) { + .timeline .item .message { + width: 95%; + } +} + +@media only screen and (max-width: 1200px) { + .timeline .item .message { + width: 94%; + } +} + +@media only screen and (max-width: 1000px) { + .timeline .item .message { + width: 93%; + } +} + +@media only screen and (max-width: 900px) { + .timeline .item .message { + width: 92%; + } +} + +@media only screen and (max-width: 700px) { + .timeline .item .message { + width: 89%; + } +} + +@media only screen and (max-width: 550px) { + .timeline .item .message { + width: 86%; + } +} + +@media only screen and (max-width: 450px) { + .timeline .item .message { + width: 81%; + } +} + +@media only screen and (max-width: 400px) { + .timeline .item .message { + width: 76%; + } +} + +@media only screen and (max-width: 350px) { + .timeline .item .message { + width: 71%; + } +} + +@media only screen and (max-width: 300px) { + .timeline .item .message { + width: 64%; + } +} + +/* TIMELINE DATE AND SERVICE INFO MOVE */ +@media only screen and (max-width: 1750px) { + .timeline-date { + margin-left: -60px; + margin-top: -130px; + } + + .timeline { + margin-top: 150px; + } + + .timeline-info { + position: absolute; + margin-left: -33px; + margin-top: -90px; + } + + .timeline-services { + margin-left: -69px; + margin-top: -76px; + } + + .vertical { + grid-gap: 3px; + grid-template-columns: 33% 33% 33% 33% 33% 33% 33%; + } +} + +@media only screen and (max-width: 430px) { + .vertical { + grid-gap: 3px; + grid-template-columns: 33% 33% 33% 33% 33%; + } +} + +@media only screen and (max-width: 650px) { + .status-annoucement { + visibility:hidden + } +} + + +/* MORE BOX RESIZING */ +@media screen and (max-width: 700px){ + .more-box{ + width: 70%; + } + .more-popup{ + width: 70%; + } +} + +@media screen and (max-height: 700px){ + .more-popup { + margin: 9% auto; + } +} + +@media screen and (max-height: 600px){ + .more-popup { + margin: 2% auto; + } +} + +@media screen and (max-width: 400px){ + .more-popup { + margin: 2% auto; + } +} diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..dc8ba6d --- /dev/null +++ b/css/style.css @@ -0,0 +1,714 @@ +body{ + background: #233142; + overflow-x: hidden; + max-width: 1400px; + margin: 0 auto; + padding:15px; +} + +h1{ + vertical-align: top; + text-align: left; + font-family: "Lato", sans-serif; + font-size: 3vw; + color: #009900; + position: relative; + left: 25px; +} + +h4{ + + font-family: 'Brush Script MT', cursive; + font-size: 0.2vw; + color: #009900; +} + +@-webkit-keyframes dual-ring { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} +@keyframes dual-ring { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.dual-ring div { + width: 20px; + height: 20px; + border-radius: 50%; + border: 2px solid #000; + border-color: #039be5 transparent #039be5 transparent; + -webkit-animation: dual-ring 1.3s linear infinite; + animation: dual-ring 1.3s linear infinite; +} + +.status { + border-radius: 4px; + display: -webkit-box; + display: flex; + -webkit-box-align: center; + align-items: center; + border: 2px solid transparent; + -webkit-transition: 0.5es; + transition: 0.5s; + padding: 15px; + margin: 0 auto; + max-width: 94%; +} + +.status > div { + width:100%; +} + +.status.status-checking { + background-color: #233142; + border-color: #90CAF9; + color: #90CAF9; +} + +.status.status-okay { + background-color: #233142; + color: #8bc34a; + border-color: #8bc34a; +} + +.status.status-maintenance { + background-color: #233142; + color: #ff9933; + border-color: #ff9933; +} + +.status.status-problems { + background-color: #233142; + color: #ff1a1a; + border-color: #ff1a1a; +} + +.status-text { + font-weight: bold; + display: inline; + font-family: 'Trebuchet MS', sans-serif; +} + +.status-time { + float: right; + font-weight: bold; + font-family: 'Trebuchet MS', sans-serif; +} + +.status .loading { + width: 25px; + height: 25px; + margin-right: 10px; +} + +.status .loading.fa { + font-size: 1.6em; +} + +input[type="checkbox"] { + position: absolute; + opacity: 0; + z-index: -1; +} + +label { + position: relative; + display: inline-block; + padding: 1px 0 0 1.5em; + height: 1.5em; + line-height: 1.0; + cursor: pointer; + font-family: 'Trebuchet MS', sans-serif; + color: #7996b9; + float: right; + right: 24px; +} + +label::before, +label::after { + position: absolute; + top: 0; + left: 0; + display: block; + width: 1.0em; + height: 1.0em; +} + +label::before { + content: " "; + border: 2px solid #7996b9; + border-radius: 20%; +} + +input[type="checkbox"] + label::after { + font-family:FontAwesome; + content: "\f00c"; + color: #7996b9; + line-height: 1.3; + text-align: center; + margin-left:2px; +} + +input[type="checkbox"]:checked + label::before { + /*background: #587ca7; + border-color: #587ca7;*/ +} + +input[type="checkbox"] + label::after { + -webkit-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + transform: scale(0); +} + +input[type="checkbox"]:checked + label::after { + -webkit-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); + transform: scale(1); +} + +label::before, +label::after { + -webkit-transition: .25s all ease; + -o-transition: .25s all ease; + transition: .25s all ease; +} + +.service-block { + padding: 13px; + font-family: "Lato", sans-serif; + margin-bottom: -30px; +} + +.service-title { + color: #8bc34a; +} + +.services { + border: 1px solid #E3E3E3; + border-radius: 4px; + list-style-type: none; + padding: 1rem 0.75rem 0.25rem; + border: 2px solid #000; + border-color: #233142 transparent #233142 transparent; +} + +.services-okay { + background-color: #233142; + color: #8bc34a; +} + +.services-maintenance { + background-color: #233142; + color: #ff9933; +} + +.services-troubles { + background-color: #233142; + color: #ff1a1a; +} + +.services-header { + margin-top: 0; +} + +.service { + border: 1px solid #E3E3E3; + border-color: #354a64; + border-radius: 2px; + cursor: pointer; + margin-bottom: 0.5rem; + padding: 0.75rem 0; + position: relative; +} +.service-name { + display:flex; + border-left-width:2px; + border-left-style:solid; + padding-left: 1rem; +} +.service-icon { + display:flex; + float:left; +} +.service-icon:before { + font-family:FontAwesome; + display: inline-block; + height: 1.4rem; + line-height: 1.4rem; + text-align: center; + width: 2.8rem; +} + +.service-okay > .service-name { + border-left-color: #42996D; +} +.service-okay > .service-icon:before { + color: #42996D; + content: "\f00c"; +} + +.service-maintenance > .service-name { + border-left-color: #ff9933; +} +.service-maintenance > .service-icon:before { + color: #ff9933; + content: "\f017"; +} + +.service-troubles > .service-name { + border-left-color: #ff1a1a; +} +.service-troubles > .service-icon:before { + color: #ff1a1a; + content: "\f00d"; +} + +.status-annoucement { + float: right; + margin-top: -20px; + padding-right: 20px; + font-family: 'Trebuchet MS', sans-serif; + position: relative; +} + +.status-annoucement:before { + font-family:FontAwesome; + content: "\f12a"; + color: #ff9933; +} + +.timeline { + position: relative; + padding-left: 70px; + margin-top: 100px; +} + +.timeline:before { + position: absolute; + width: 2px; + height: 100%; + left: 30px; + content: ""; + background: #354a64; +} +.timeline .item { + position: relative; +} +.timeline .item .circle { + position: absolute; + top: 18px; + left: -46px; + background: #acbbc7; + border: 4px solid #354a64; + width: 6px; + height: 6px; + border-radius: 50%; +} +.timeline .item .message { + width: 1264px; + position: relative; + padding: 15px 20px; + margin-bottom: 15px; + background: #2c3e54; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); + border-radius: 5px; + font-family: 'Trebuchet MS', sans-serif; + color: #a6a6a6; +} + +.timeline-icon { + display:flex; + float:left; + padding-right: 15px; +} + +.timeline-new:before { + font-family:FontAwesome; + content: "\f0a1"; + color: #cc6600; +} + +.timeline-working:before { + font-family:FontAwesome; + content: "\f013"; + color: #0052cc; +} + +.timeline-update:before { + font-family:FontAwesome; + content: "\f0e5"; + color: #4d9900; +} + +.timeline-finished:before { + font-family:FontAwesome; + content: "\f00c"; + color: #8bc34a; +} + +.timeline .item .message:before { + position: absolute; + z-index: 0; + content: ""; + top: 25px; + left: -6px; + box-sizing: border-box; + border: 5px solid transparent; + border-top-color: #2c3e54; + border-bottom-color: transparent; + border-left-color: #2c3e54; + border-right-color: transparent; + filter: drop-shadow(-1px 0 1px rgba(0, 0, 0, 0.08)); + transform-origin: 0 0; + transform: rotate(-45deg); +} + +.timeline-date { + position: absolute; + margin-left: -260px; + margin-top: 10px; +} + +.timeline-date h1 { + font-size: 1.8em; + font-family: "Lato", sans-serif; + color: #3e5675; +} + +.timeline-info { + position: absolute; + margin-left: -232px; + margin-top: 50px; +} + +.timeline-info h2 { + font-size: 0.8em; + font-family: "Lato", sans-serif; + color: #3e5675; +} + +.timeline-services { + position: absolute; + margin-left: -270px; + margin-top: 63px; + max-width: 180px; + text-align: center; +} + +.timeline-services li { + font-size: 0.8em; + font-family: "Lato", sans-serif; + color: #3e5675; +} + +.timeline-services li { + list-style-type: none; +} + +.vertical { + display: grid; + grid-gap: 5px; + grid-template-columns: 33% 33% 33%; +} + +.footer { + margin-top: 50px; + color: #868c96; +} + +.footer-heart { + color: #f42; + font-size: 0.8em; +} + + +.footer-subtext { + color: #868c96; + margin-top: -94px; +} + +.footer p { + padding: 40px 0; + text-align: center; +} + +.footer img { + width: 44px; +} + +.footer a { + text-decoration: none; + color: #868c96; +} + +.footer a:hover { + text-decoration: underline; + color: #868c96; +} + +.legend { + position: absolute; + margin-top: -40px; + display: inline-block; + left: 30px; +} + +.legend-text { + color: #a6a6a6; + font-family: "Lato", sans-serif; + font-size: 0.8em; + padding-right: 5px; +} + +.legend-maintenance:before { + font-family:FontAwesome; + content: "\f017"; + color: #ff9933; +} + +.legend-problems:before { + font-family:FontAwesome; + content: "\f00d"; + color: #ff1a1a; +} + +.legend-lastdown:before { + font-family:FontAwesome; + color: #cc6600; + content: "\f05c"; +} + + +.more-box { + width: 40%; + margin: 0 auto; + background: rgba(255,255,255,0.2); + padding: 35px; + border: 2px solid #233142; + border-radius: 20px/50px; + background-clip: padding-box; + text-align: center; +} + +.more-overlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba(0, 0, 0, 0.7); + transition: opacity 500ms; + visibility: hidden; + opacity: 0; +} +.more-overlay:target { + visibility: visible; + opacity: 1; +} + +.more-popup { + margin: 15% auto; + padding: 20px; + background: #233142; + border-radius: 5px; + width: 30%; + position: relative; + transition: all 5s ease-in-out; +} + +.more-popup h2 { + margin-top: 0; + color: #a6a6a6; + font-family: Tahoma, Arial, sans-serif; +} +.more-popup .close { + position: absolute; + top: 20px; + right: 30px; + transition: all 200ms; + font-size: 30px; + font-weight: bold; + text-decoration: none; + color: #a6a6a6; +} +.more-popup .close:hover { + color: #009900; +} +.more-popup .content { + max-height: 30%; + overflow: auto; +} + +.more-box-caller { + text-decoration: none; +} + +.more-up { + margin-top: -12px; + padding-left: 1px; + color: #42996D; + font-family: Tahoma, Arial, sans-serif; +} + +.more-up:before { + color: #42996D; + content: "\f00c"; + font-family:FontAwesome; +} + +.more-working { + margin-top: -12px; + padding-left: 1px; + color: #0052cc; + font-family: Tahoma, Arial, sans-serif; +} + +.more-working:before { + color: #0052cc; + content: "\f013"; + font-family:FontAwesome; +} + +.more-maintenance { + margin-top: -12px; + padding-left: 1px; + color: #ff9933; + font-family: Tahoma, Arial, sans-serif; +} + +.more-maintenance:before { + color: #ff9933; + content: "\f017"; + font-family:FontAwesome; +} + +.more-troubles { + margin-top: -12px; + padding-left: 1px; + color: #ff1a1a; + font-family: Tahoma, Arial, sans-serif; +} + +.more-troubles:before { + color: #ff1a1a; + content: "\f00d"; + font-family:FontAwesome; +} + +.more-lastdown { + margin-top: 2px; + padding-left: 2px; + color: #cc6600; + font-family: Tahoma, Arial, sans-serif; +} + +.more-lastdown:before { + color: #cc6600; + content: "\f05c"; + font-family:FontAwesome; +} + +.more-maintenance-info { + margin-top: 4px; + margin-top: 4px; + padding-left: 2px; + color: #a6a6a6; + font-family: Tahoma, Arial, sans-serif; +} + +.more-maintenance-info:before { + color: #ff9933; + content: "\f017"; + font-family:FontAwesome; +} + +.more-hide-maintenance { + display: none; +} + +.hidden { + display: none; + visibility: hidden; +} + +.underline { + text-decoration: underline; + text-decoration-color: #a6a6a6; +} + +.cookies { + position: fixed; + width: 99.7%; + height: 100px; + border-color: #3f9066; + border-style: solid; + background-color: #222c3b; + bottom: 0; + left: 0; +} + +.cookies .cogs { + position: absolute; + top: 35%; + left: 15px; + font-size: 2em; + color: white; +} + +.cookies h1 { + left: 0px; + font-size: 1vw; + color: white; + margin-top: 25px; +} + +.cookies p { + margin-top: -10px; + color: #a6a6a6; +} + +.cookies .text { + position: absolute; + left: 5%; +} + +.cookies button { + position: fixed; + right: 15px; + bottom: 35px; + cursor: pointer; + border-radius: 5px; + border: none; + outline: none; + transition: 0.7s; + width: 100px; + height: 40px; + font-size: 20px; + color: white; + box-shadow: 0 0 5px rgba(0, 0, 0, 0); + background-color: #83be4e; +} + +.cookies button:hover { + background-color: #578230; + +} + +.cookies .handshake { + margin-left: 10px; +} diff --git a/functions.php b/functions.php new file mode 100644 index 0000000..1b27faf --- /dev/null +++ b/functions.php @@ -0,0 +1,52 @@ + diff --git a/index.php b/index.php new file mode 100644 index 0000000..8bcdbe5 --- /dev/null +++ b/index.php @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + +'.$instancename.' - Home'; +?> + + + +'.$instancename.''; +?> + + + +
+
+
+ +
+
Some Systems may not work at the moment
+
+
+
'; + } else if(sMaintenance()) { + echo ' +
+
+
+
+ +
+
Systems currently under maintenance
+
+
+
'; + } else { + echo ' +
+
+
+
+ +
+
All Systems operational!
+
+
+
'; + } +?> + + + + + +

'; + } +?> +
+ + +
    +

    '.$grouplist['name'].'

    + '; + + mysqli_data_seek($services, 0); + while($servicelist = mysqli_fetch_array($services)){ + if($grouplist['id'] == $servicelist['groupid']) { + if($servicelist['status'] == "Online") { + echo ' +
  • +
    +
    '.$servicelist['name'].'
    +
  • + '; + } else if($servicelist['status'] == "Maintenance") { + echo ' +
  • +
    +
    '.$servicelist['name'].'
    +
    +
  • + '; + } else if($servicelist['status'] == "Offline") { + echo ' +
  • +
    +
    '.$servicelist['name'].'
    +
    +
  • + '; + } + } + } + echo ' +
+
+ '; + } + +?> + + + +
+

'.str_replace("-", ".", $incidentlist['date']).'

+
+ +
+

Affected Services:

+
+ +
+
    '; + + $servicearray = explode(",", $incidentlist['services']); + + foreach ($servicearray as $index) { + echo '
  • '.getName($index).'
  • '; + } + + echo ' +
+
+ +
+
+
'; + + if(strpos($incidentlist['status'], "new") !== false) { + echo ' +
+ '.$incidentlist['text'].' +
+
'; + } else if(strpos($incidentlist['status'], "working") !== false) { + echo ' +
+ '.$incidentlist['text'].' +
+ '; + } else if(strpos($incidentlist['status'], "update") !== false) { + echo ' +
+ '.$incidentlist['text'].' + + '; + } else if(strpos($incidentlist['status'], "finished") !== false) { + echo ' +
+ '.$incidentlist['text'].' + + '; + } + + mysqli_data_seek($incidents2, 0); + while($incidentlist2 = mysqli_fetch_array($incidents2)){ + if(strpos($incidentlist['id'], $incidentlist2['childof']) !== false) { + echo ' +
+
+
'; + if(strpos($incidentlist2['status'], "new") !== false) { + echo ' +
+ '.$incidentlist2['text'].' +
+
'; + + } else if(strpos($incidentlist2['status'], "working") !== false) { + echo ' +
+ '.$incidentlist2['text'].' + + '; + + } else if(strpos($incidentlist2['status'], "update") !== false) { + echo ' +
+ '.$incidentlist2['text'].' + + '; + } else if(strpos($incidentlist2['status'], "finished") !== false) { + echo ' +
+ '.$incidentlist2['text'].' + + + '; + } + } + } +echo ''; + } + } + } +?> + + + +
+ Annoucement + Update + Working on a fix + Finished / No Problems + Maintenance + Last time down + Offline / Problems +
+ + + + + +
+

Cookie disclaimer

+

This website only uses technical cookies to store session information or to hide this disclaimer!

+ + + + +
+ + '; + } +?> + + + +'; + } +?> + diff --git a/install/index.php b/install/index.php new file mode 100644 index 0000000..47d61ed --- /dev/null +++ b/install/index.php @@ -0,0 +1,120 @@ + + + + + + + + + + + + WebStatus - Simplesetup + + +
+
+

Setup

+ MySQL Connection failed, please check your inputs!

'; + } + + if(isset($_GET['passwordnotmatch'])) { + echo '

Passwords do not match!

'; + } + ?> +

Website Settings:

+ + +

Database Setup:

+ + + + + +

Administrative User:

+ + + + + +
+
+ + + + +"'.$dbhost.'", + "DBNAME"=>"'.$dbname.'", + "DBPWD"=>"'.$dbpwd.'", + "DBUSER"=>"'.$dbuser.'" + ); + ?>'); + file_put_contents("../config.php",$config); + + header("Location: ../admin.php"); + } + + //Setup File already exists + } else { + header("Location: ../index.php"); + die(); + } +} + ?> diff --git a/install/style.css b/install/style.css new file mode 100644 index 0000000..376a183 --- /dev/null +++ b/install/style.css @@ -0,0 +1,114 @@ +body { + background: #233142; + +} + +input { + text-align: center; + background-color: #ECF0F1; + border: 2px solid transparent; + border-radius: 3px; + font-size: 15px; + font-weight: 200; + padding: 10px 0; + width: 200px; + transition: border .5s; + margin-left: -2px; + margin-top: 2px; + color: #7996b9; + background-color: #2c3e54; + display: block !important; +} + +input:focus { + border: 2px solid #3498DB; + box-shadow: none; +} + +.center { + transform: translate(440%, 10%); + width: 10%; +} + +.text { + font-family: "Lato", sans-serif; + color: #a6a6a6; +} + +.subtext { + font-family: "Lato", sans-serif; + color: #a6a6a6; +} + +.error { + font-family: "Lato", sans-serif; + size: 1em; + color: #800000; +} + +button { + position: relative; + margin-bottom: 2px; + font-size: 15px !important; + font-weight: 200 !important; + color: #7996b9 !important; +} + +button:focus { + outline: 0; +} +button:before { + content: ""; + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.5); + width: 60px; + height: 100%; + left: 0; + top: 0; + opacity: 0.5; + filter: blur(30px); + transform: translateX(-100px) skewX(-15deg); +} +button:after { + content: ""; + display: block; + position: absolute; + background: rgba(255, 255, 255, 0.2); + width: 30px; + height: 100%; + left: 30px; + top: 0; + opacity: 0; + filter: blur(5px); + transform: translateX(-100px) skewX(-15deg); +} + +button:hover:before { + transform: translateX(300px) skewX(-15deg); + opacity: 0.6; + transition: 0.7s; +} +button:hover:after { + transform: translateX(300px) skewX(-15deg); + opacity: 1; + transition: 0.7s; +} + +.button-green { + background: #2c3e54; + color: #ccc; + width: 80px; + height: 42px; + border: 0; + font-size: 18px; + border-radius: 4px; + font-family: "Raleway", sans-serif; + transition: 0.6s; + overflow: hidden; +} + +.button-green:hover { + background: #338033; + cursor: pointer; +} diff --git a/js/checking.js b/js/checking.js new file mode 100644 index 0000000..8c74c79 --- /dev/null +++ b/js/checking.js @@ -0,0 +1,104 @@ +timer(); +var checkbox = document.getElementById("cb1"); + +function timer() { +var timeleft = 300; +var downloadTimer = setInterval(function(){ + if (checkbox.checked) { + if(timeleft <= 0){ + clearInterval(downloadTimer); + document.getElementById("timer").innerHTML = "checking"; + reload(); + } else { + document.getElementById("timer").innerHTML = timeleft + "s"; + } + timeleft -= 1; + } else { + if(document.getElementById("timer").innerHTML.includes("s")) { + document.getElementById("timer").innerHTML = ""; + } + } +}, 1000); +} + +function reload() { + if(checkbox.checked) { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.onreadystatechange = function() { + if (this.readyState == 4 && this.status == 200) { + var json = JSON.parse(this.responseText); + + + + + var current = json.overall; + + var status = document.getElementById("status"); + var loading = document.querySelector('#status .loading'); + var text = document.querySelector('#status .status-text'); + + loading.innerHTML = '
'; + loading.className = 'loading'; + status.className = "status status-checking"; + text.innerHTML = 'Checking...'; + + setTimeout(function () { + document.getElementById("timer").innerHTML = "300s"; + switch(current) { + case "Online": + loading.innerHTML = ''; + loading.className = 'loading fa fa-check'; + status.className = "status status-okay"; + text.innerHTML = 'All systems operational'; + break; + + case "Maintenance": + loading.innerHTML = ''; + loading.className = 'loading fa fa-clock-o'; + status.className = "status status-maintenance"; + text.innerHTML = 'Systems currently under maintenance'; + break; + case "Offline": + loading.innerHTML = ''; + loading.className = 'loading fa fa-times'; + status.className = "status status-problems"; + text.innerHTML = 'Some Systems may not work correctly'; + break; + } + + + for( let prop in json ){ + if(!(prop === "overall")) { + var cbox = document.getElementById("status-"+prop); + var cstatus = json[prop]; + + switch(cstatus) { + case "Online": + cbox.className = "service service-okay services-okay"; + + if(document.getElementById("alert-"+prop) != null) { + document.getElementById("alert-"+prop).className = 'hidden'; + } + break; + + case "Maintenance": + cbox.className = "service service-maintenance services-maintenance"; + document.getElementById("alert-"+prop).className = 'status-annoucement'; + break; + + case "Offline": + cbox.className = "service service-troubles services-troubles"; + document.getElementById("alert-"+prop).className = 'status-annoucement'; + break; + } + } + } + + timer(); + }, 1000) + } + }; + xmlhttp.open("GET", "json.php", true); + xmlhttp.send(); + } +} diff --git a/js/redirect.js b/js/redirect.js new file mode 100644 index 0000000..fa0154c --- /dev/null +++ b/js/redirect.js @@ -0,0 +1,7 @@ +var url = window.location.href; +var hash = url.substring(url.indexOf('#')); +var check = hash.includes("#"); + +if(check == false) { + window.location.replace(url+"#dashboard"); +} diff --git a/js/sidebar.js b/js/sidebar.js new file mode 100644 index 0000000..51613ab --- /dev/null +++ b/js/sidebar.js @@ -0,0 +1,17 @@ +var inner = document.getElementById("sidebar").innerHTML; + +function closeNav() { + document.getElementById("sidebar").style.width = "0"; + document.getElementById("sidebar").innerHTML = ""; + document.getElementById("opener").style.visibility = "visible"; +} + +function openNav() { + document.getElementById("sidebar").style.width = "35%"; + document.getElementById("sidebar").innerHTML = inner; + document.getElementById("opener").style.visibility = "hidden"; +} + +if( /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { + closeNav(); +} diff --git a/json.php b/json.php new file mode 100644 index 0000000..d1af14f --- /dev/null +++ b/json.php @@ -0,0 +1,45 @@ +$id = $statuses['status']; +} + +switch($overall) { + case "online": + $jsonObj->overall = "Online"; + break; + + case "maintenance": + $jsonObj->overall = "Maintenance"; + break; + + case "offline": + $jsonObj->overall = "Offline"; + break; + + default: + $jsonObj->overall = "Online"; + break; +} + +$json = json_encode($jsonObj); +echo $json; + ?> diff --git a/login.php b/login.php new file mode 100644 index 0000000..75dbf5d --- /dev/null +++ b/login.php @@ -0,0 +1,107 @@ + +prepare('SELECT id, password FROM accounts WHERE username = ?')) { + $stmt->bind_param('s', $_POST['username']); + $stmt->execute(); + + $stmt->store_result(); + + if ($stmt->num_rows > 0) { + $stmt->bind_result($id, $password); + $stmt->fetch(); + + if (password_verify($_POST['password'], $password)) { + session_regenerate_id(); + + $_SESSION['loggedin'] = TRUE; + $_SESSION['name'] = $_POST['username']; + $_SESSION['id'] = $id; + + $wrong=FALSE; + header("Location: admin.php"); + } else { + $wrong=TRUE; + } + + } else { + $wrong=TRUE; + } + + $stmt->close(); +} +} +?> + + + + + + + + + + + + WebStatus - Adminlogin + + + +
+ +
+ +
+ + diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..b9f2668 --- /dev/null +++ b/readme.txt @@ -0,0 +1,96 @@ +__ __ ___. _________ __ __ +/ \ / \ ____\_ |__ / _____// |______ _/ |_ __ __ ______ +\ \/\/ // __ \| __ \ \_____ \\ __\__ \\ __\ | \/ ___/ +\ /\ ___/| \_\ \/ \| | / __ \| | | | /\___ \ + \__/\ / \___ >___ /_______ /|__| (____ /__| |____//____ > + \/ \/ \/ \/ \/ \/ + +Made with love by Givou + + +#Demo +https://status.nerdcity.at + +#License +This Project is Licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License +View your rights here: https://creativecommons.org/licenses/by-sa/4.0/ + +#setup +This is a sample setup! You can modify folder names as you wish. + +#1: +cd /var/www + +#2: +git clone http://git.thiemoo.at/Givou/WebStatus.git + +#3: +chown -R www-data:www-data + +#4: +cd /etc/nginx/sites-available + +#5: +nano status.conf + +6# +You can now paste this Nginx Sample Configuration. +Its made very simple, and should work for php7.4 nginx webservers. + +server { + listen 80; + server_name status.example.com; + + location / { + rewrite ^/?(.*) https://$server_name/$1 redirect; + } +} + + +server { + listen 443; + + root /var/www/webstatus; + index index.php; + + location / { + index index.php; + } + + + server_name status.example.com; + + + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass unix:/run/php/php7.4-fpm.sock; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M"; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param HTTP_PROXY ""; + fastcgi_intercept_errors off; + fastcgi_buffer_size 16k; + fastcgi_buffers 4 16k; + fastcgi_connect_timeout 300; + fastcgi_send_timeout 300; + fastcgi_read_timeout 300; + include /etc/nginx/fastcgi_params; + } +} + +#7: +ln -s /etc/nginx/sites-available/status.conf /etc/nginx/sites-enabled + +#8: +(If you have installed cerbot! The Configuration above needs a SSL Certificate to work properly) +cerbot --nginx + +#9: +Select "status.example.com" and follow the introductions as you wish + +#10: +Open "status.example.com" in your browser and fill out the Setup field + +#11: +ENJOY Webstatus, if you have any questions, requests or something write me at thiemo.tiziani@nerdcity.at or make a issue at git.thiemoo.at diff --git a/worker.php b/worker.php new file mode 100644 index 0000000..62b1cc7 --- /dev/null +++ b/worker.php @@ -0,0 +1,729 @@ + + + + + + + + +0){ + header("Location: admin.php?userexist#account"); + }else{ + $statement = mysqli_query($con,"UPDATE accounts SET username='".mysqli_real_escape_string($con,$_POST['username'])."' WHERE ID='".$_SESSION['id']."'"); + header('Location: worker.php?logout'); + } + } +} +?> + +prepare('SELECT id, password FROM accounts WHERE username = ?')) { + $stmt->bind_param('s', $_SESSION['name']); + $stmt->execute(); + + $stmt->store_result(); + + if ($stmt->num_rows > 0) { + $stmt->bind_result($id, $password); + $stmt->fetch(); + + if (password_verify($_POST['oldpassword'], $password)) { + $npassword = password_hash($_POST['password1'], PASSWORD_DEFAULT); + $statement = mysqli_query($con,"UPDATE accounts SET password='".mysqli_real_escape_string($con,$npassword)."' WHERE ID='".$_SESSION['id']."'"); + if($statement) { + header("Location: admin.php?pwupdated#account"); + } + } else { + header("Location: admin.php?pwrong#account"); + } + + } else { + header("Location: admin.php?pwrong#account"); + } + + $stmt->close(); + } + + } else { + header("Location: admin.php?pwnotmatch#account"); + } +} +?> + +0){ + header("Location: admin.php?userexist#users"); + }else{ + $newpw = password_hash($_POST['password'], PASSWORD_DEFAULT); + + $statement = mysqli_query($con, "INSERT INTO accounts (username, password, role) VALUES ('".mysqli_real_escape_string($con,$_POST['username'])."', + '".mysqli_real_escape_string($con,$newpw)."', '".mysqli_real_escape_string($con, $_POST['role'])."')"); + if($statement) { + header("Location: admin.php?usercreated#users"); + } + } + } + } +} +?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +console.log('Debug Objects: " . $output . "' );"; +} + +function sMaintenance() { + include('config.php'); + + $con = mysqli_connect($config['DBHOST'], $config['DBUSER'], $config['DBPWD'], $config['DBNAME']); + if ( mysqli_connect_errno() ) { + exit('MySQl Connection failed with error: ' . mysqli_connect_error()); + } + + $services = mysqli_query($con, "SELECT priority, groupid, name, id, status FROM services ORDER BY priority DESC"); + + $find = False; + while($servicelist = mysqli_fetch_array($services)){ + if(strpos($servicelist['status'], "Maintenance") !== false) { + $find = True; + } + } + + return $find; +} + +function sOffline() { + include('config.php'); + + $con = mysqli_connect($config['DBHOST'], $config['DBUSER'], $config['DBPWD'], $config['DBNAME']); + if ( mysqli_connect_errno() ) { + exit('MySQl Connection failed with error: ' . mysqli_connect_error()); + } + + $services = mysqli_query($con, "SELECT priority, groupid, name, id, status FROM services ORDER BY priority DESC"); + + $find = False; + while($servicelist = mysqli_fetch_array($services)){ + if(strpos($servicelist['status'], "Offline") !== false) { + $find = True; + } + } + + return $find; +} + +?>