From 871210bc19f47d906be0f9c9fa3f2e646cb2dae8 Mon Sep 17 00:00:00 2001 From: Sophia Date: Tue, 19 Apr 2022 17:41:59 -0700 Subject: [PATCH] Add files via upload --- sleeky-backend/assets/css/_base.scss | 948 ++++++++++++++ sleeky-backend/assets/css/animate.min.css | 11 + sleeky-backend/assets/css/dark.css | 1 + sleeky-backend/assets/css/light.css | 1 + sleeky-backend/assets/css/themes/dark.scss | 22 + sleeky-backend/assets/css/themes/light.scss | 22 + sleeky-backend/assets/html/form.html | 10 + sleeky-backend/assets/img/delete.png | Bin 0 -> 228 bytes sleeky-backend/assets/img/edit.png | Bin 0 -> 239 bytes sleeky-backend/assets/img/favicon.ico | Bin 0 -> 1151 bytes sleeky-backend/assets/img/logo_black.png | Bin 0 -> 21254 bytes sleeky-backend/assets/img/logo_white.png | Bin 0 -> 14707 bytes sleeky-backend/assets/img/share.png | Bin 0 -> 496 bytes sleeky-backend/assets/img/stats.png | Bin 0 -> 243 bytes sleeky-backend/assets/js/theme.js | 144 +++ sleeky-backend/package-lock.json | 1293 +++++++++++++++++++ sleeky-backend/package.json | 15 + sleeky-backend/plugin.php | 147 +++ 18 files changed, 2614 insertions(+) create mode 100644 sleeky-backend/assets/css/_base.scss create mode 100644 sleeky-backend/assets/css/animate.min.css create mode 100644 sleeky-backend/assets/css/dark.css create mode 100644 sleeky-backend/assets/css/light.css create mode 100644 sleeky-backend/assets/css/themes/dark.scss create mode 100644 sleeky-backend/assets/css/themes/light.scss create mode 100644 sleeky-backend/assets/html/form.html create mode 100644 sleeky-backend/assets/img/delete.png create mode 100644 sleeky-backend/assets/img/edit.png create mode 100644 sleeky-backend/assets/img/favicon.ico create mode 100644 sleeky-backend/assets/img/logo_black.png create mode 100644 sleeky-backend/assets/img/logo_white.png create mode 100644 sleeky-backend/assets/img/share.png create mode 100644 sleeky-backend/assets/img/stats.png create mode 100644 sleeky-backend/assets/js/theme.js create mode 100644 sleeky-backend/package-lock.json create mode 100644 sleeky-backend/package.json create mode 100644 sleeky-backend/plugin.php diff --git a/sleeky-backend/assets/css/_base.scss b/sleeky-backend/assets/css/_base.scss new file mode 100644 index 0000000..e2c503c --- /dev/null +++ b/sleeky-backend/assets/css/_base.scss @@ -0,0 +1,948 @@ +@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800'); +@import url('https://fonts.googleapis.com/icon?family=Material+Icons'); + +// Mobile mixin +@mixin for-size($range) { + $phone-upper-boundary: 900px; + $tablet-portrait-upper-boundary: 1100px; + $tablet-landscape-upper-boundary: 1200px; + $desktop-upper-boundary: 1800px; + + @if $range == phone-only { + @media (max-width: #{$phone-upper-boundary - 1}) { @content; } + } @else if $range == tablet-portrait-up { + @media (min-width: $phone-upper-boundary) { @content; } + } @else if $range == tablet-landscape-up { + @media (min-width: $tablet-portrait-upper-boundary) { @content; } + } @else if $range == desktop-up { + @media (min-width: $tablet-landscape-upper-boundary) { @content; } + } @else if $range == big-desktop-up { + @media (min-width: $desktop-upper-boundary) { @content; } + } +} + +// Use it like this: +// @include for-size(phone-only) { +// margin: 30px; +// } + +// +// Globals +// +body { + background-color: $darker; + display: inline; +} + +div, p, td, input, p { + font-family: 'Open Sans', sans-serif !important; +} + +h1, +h2 { + color: $title; +} + +p { + color: $text; +} + +a, a:link, a:active, a:visited { + color: #828282; + text-decoration: none; +} + +a:hover { + color: darken($title, 20%); + transition: 0.4s all; +} + +input { + padding: 10px; + border: none !important; + background: $light !important; + color: $text !important; + font-size: 1em !important; + outline: none; + margin: 0px 5px !important; + border-radius: 0 !important; + + @if ($theme == "light") { + border-radius: 3px !important; + } +} + +input.button, +input.submit, +input[type="submit"] { + border-left: 7px solid $accent !important; + background: $light !important; + font-weight: 600; + transition: 0.3s all !important; + cursor: pointer; + + @if ($theme == "light") { + background: $accent !important; + border-left: none !important; + color: white !important; + font-weight: 700; + } +} + +// Need to fix this, because I've had to copy this down lower to make it apply to the add URL button +input.button:hover, +input.submit:hover, +input[type="submit"]:hover { + background: darken($accent, 15%) !important; + + @if ($theme == "light") { + background: darken($accent, 15%) !important; + } +} + +input[type="button"]:disabled, +input[type="submit"]:disabled { + cursor: not-allowed; +} + +input.text, +input[type="text"] { + border: 1px solid rgba(255, 255, 255, 0.25) !important; + transition: 0.4s all; +} + +@if ($theme != "light") { + input.text:active, + input.text:focus { + border: 1px solid $accent !important; + } +} + +select { + width: 150px; + padding: 5px 35px 5px 10px; + // font-size: 0.9em; + border: none; + border-radius: 0; + height: 26px; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + color: $text; + background: url(data:image/png;base64,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) 96% / 15% no-repeat $light; + margin: 5px 10px; + transition: 0.4s all; + outline: none; +} + +select:hover { + background: url(data:image/png;base64,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) 96% / 15% no-repeat $light; +} + +#javascript_error { + background: red; + color: white; + padding: 20px; + margin-top: 10px; +} + +// End Globals + +// +// Notification Bar +// +.jquery-notify-bar { + color: #fff; + text-shadow: none; + border: none; + opacity: 1; + box-shadow: none; + font-size: 1.1em; + font-weight: 500; + position: static; + margin-top: 30px; + margin-bottom: -45px; + padding: 10px; + + a, a:link, a:active, a:visited { + color: white; + } +} + +.jquery-notify-bar.error, +.jquery-notify-bar.fail { + background-color: #FF9800; + color: white; +} + +.jquery-notify-bar.success { + color: white; + background-color: #4CAF50; +} + +// End Notification Bar + +// +// Login page +// +.login { + #wrap { + margin: auto; + } + + label { + font-size: 1em; + font-weight: 600; + } + + .login-logo { + width: 150px; + margin: 30px auto; + display: flex; + } + + input.text { + width: 270px !important; + } + + input.button { + font-weight: 600; + padding: 10px 25px; + margin-top: 15px !important; + font-weight: 600; + + @if ($theme == "light") { + background: $accent !important; + } else { + background: $light !important; + border-left: 7px solid $accent !important; + } + } + + input.button:hover { + background: darken($accent, 10%) !important; + } + + .error { + padding: 10px; + background: $accent; + color: white; + position: fixed; + top: 0; + left: 0; + width: 100%; + margin: 0; + text-align: center + } +} + +// End login page + +// +// Start Index page +// +.index { + #add-url { + width: 200px; + } + + #new_url_form { + box-sizing: border-box; + overflow: hidden; + // min-width: 900px; + } + + #new_url { + border: none; + background: $default; + text-align: left; + + input.button { + margin-top: 10px !important; + } + + div { + background: $default; + padding: 4px; + padding-top: 0px; + } + } + + .create { + background: $accent !important; + width: 150px; + font-size: 1.3em !important; + border: none !important; + font-weight: 700; + text-align: center; + margin-top: 10px !important; + margin-left: 20px !important; + } + + .top { + position: absolute; + top: 0; + left: 0; + width: 100vw; + height: 50px; + + @if ($theme == "light") { + background: darken($accent, 10%); + } @else { + background: $default; + } + + label { + font-size: 1em; + font-weight: 600; + color: $text; + + @if ($theme == "light") { + color: $default; + } + } + + input.text { + width: 360px; + padding: 4px; + font-weight: 200; + font-size: 1em !important; + + @if ($theme == "light") { + background: $default !important; + } @else { + background: $lightest !important; + } + } + + .short { + padding-left: 10px; + } + + #add-keyword { + width: 100px; + } + + input.button { + font-weight: 500; + padding: 5px 10px; + font-size: 1em !important; + margin-left: 10px !important; + background: $lightest !important; + + @if ($theme == "light") { + background: $default !important; + font-weight: 700; + color: $accent !important; + } + } + + input.button:hover { + background: darken($accent, 10%) !important; + + @if ($theme == "light") { + background: darken(white, 10%) !important; + } + } + + #new_url_form { + margin-left: 260px; + padding: 12px; + } + } + + // Table stuff + table.tblSorter { + background-color: $default; + color: $text; + + a { + color: $text; + } + + small a { + color: darken(white, 50%) + } + + thead tr .tablesorter-header { + padding: 10px; + } + + tfoot tr { + background-color: $default; + } + + thead tr th, + tfoot tr th, + th.header { + background-color: transparent; + border: none; + /* font-size: 8pt; */ + padding: 4px; + } + + thead tr .tablesorter-headerAsc, + thead tr .tablesorter-headerDesc { + background-color: $lightest !important; + } + + tbody td { + color: $text; + padding: 5px; + background-color: $light; + vertical-align: middle; + transition: 0.4s all; + } + + tbody tr:hover td { + background-color: $lightest !important; + } + + tbody tr.normal-row td { + background: $light; + } + + .keyword { + border-left: 7px solid $accent; + } + + input.text { + padding: 5px; + margin: 8px 5px !important; + } + + .navigation .nav_link a { + background: $light; + border: none; + + &:hover { + background: $lightest; + } + } + + tr.edit-row td { + background: $default !important; + } + + // Icons + $icons-list: stats, share, edit, delete; + @each $icon in $icons-list { + @if $icon == delete { + td.actions .button_#{$icon} { + background: red url(../img/#{$icon}.png) 0px center no-repeat; + background-size: 23px; + background-position: center; + border: none; + padding: 3px; + border-radius: 2px; + + &:hover { + background: darken(red, 10%) url(../img/#{$icon}.png) 0px center no-repeat; + background-size: 23px; + background-position: center; + } + } + } @else { + td.actions .button_#{$icon} { + background: $accent url(../img/#{$icon}.png) 0px center no-repeat; + background-size: 23px; + background-position: center; + border: none; + padding: 3px; + border-radius: 2px; + + &:hover { + background: darken($accent, 10%) url(../img/#{$icon}.png) 0px center no-repeat; + background-size: 23px; + background-position: center; + } + } + } + } + } +} + +// End index page + + +// +// Nav +// +nav { + background: $default; + height: 100%; + position: fixed; + top: 0; + left: 0; + padding: 50px 30px; + width: 200px; + z-index: 10; + + li#admin_menu_logout_link { + font-size: 1.3em; + } + + ul#admin_menu li:hover { + list-style-type: none; + color: darken($title, 20%); + } + + ul#admin_menu li { + color: $title; + padding: 5px 0; + } + + #admin_menu_logout_link:hover { + color: $title !important; + } + + .admin_menu_sublevel { + font-weight: 100; + margin-left: -20px; + } + + .material-icons { + font-size: 1em; + vertical-align: middle; + margin-top: -1px; + } + + ul { + list-style-type: none; + } +} + +img.logo { + width: 90px; + position: fixed; + top: 0; + left: 0; + background: $accent; + padding: 9px 150px 8px 20px; + z-index: 20; +} + +.nav-open { + color: white; + position: fixed; + top: 0; + right: 0; + z-index: 30; + padding: 10px 15px; + cursor: pointer; + display: none; + + i { + font-size: 2em; + line-height: 30px; + } +} + +header { + display: none; +} + +// End nav + +// +// Information +// +#wrap { + #tabs { + min-width: 580px; + + .tab { + background: $light !important; + } + + .wrap_unfloat { + margin-bottom: -5px; + } + + ul#headers { + border: none; + padding: 0px; + } + + li { + color: $text; + } + + #historical_clicks li:hover { + background: darken($default, 10%) !important; + } + + ul#headers li a, + #stats_lines li a { + outline: none; + border: none; + border-radius: 0; + background: $light; + color: $text; + padding: 10px 15px 7px 25px; + + &:hover { + background: darken($default, 10%); + } + + h2 { + font-weight: 400; + font-size: 1em; + } + + &.selected { + background: $lightest; + border-bottom: 2px solid $accent; + + &:hover { + background: darken($default, 15%); + } + } + } + + #stats_lines li a { + padding: 7px 15px; + } + + ul.toggle_display { + border: none; + } + + svg { + ellipse { + fill: $accent; + } + } + } +} + +// +// General Styles +// + +body.index #wrap { + padding-top: 50px; +} + +#wrap { + background: none; + margin-left: 270px; + border: none; + color: $text; + max-width: 100%; +} + +.notice { + width: calc(100% - 22px); + margin: 0; + padding: 0; + border-radius: 0; + background: $accent; + border: 1px solid $accent; + padding: 10px; + + p { + color: white; + } +} + +#shareboxes { + margin-top: -10px; +} + +#sharebox { + width: 558px; + margin-right: 0px; +} + +div.share { + background: $default; + border-radius: 0; + border: none; + padding: 0px 20px 10px; + margin-top: 10px; + + textarea { + background: $light; + color: $text; + border: none; + padding: 3px; + outline: none; + margin: 1px !important; + } + + #charcount { + padding-left: 5px; + color: $text; + } + + #share_links a { + color: $text; + } +} + +.sub_wrap, +.plugins main, +.plugin_page_sleeky_settings main, +code { + background: $default; + padding: 10px; + padding: 5px 25px; + max-width: 100%; + + span { + background: rgba(255, 255, 255, 0.2); + } + + code, + tt { + background: rgba(0, 123, 255, 0.7); + + @if ($theme == "light") { + background: rgba(35, 185, 222, 0.5); + } + } + + a.bookmarklet { + border: none; + background: #ffffff url(/images/favicon.gif) 4px center no-repeat; + color: #3c3c3c; + border-radius: 1px; + padding: 7px 7px 7px 25px; + color: darken(white, 80%) !important; + + &:hover { + background: #e0e0e0 url(/images/favicon.gif) 4px center no-repeat; + } + } + + // Table + table.tblSorter { + background: $default; + + a { + color: $text; + + &:hover { + color: darken($text, 30%); + } + } + + thead tr th, + tfoot tr th, + th.header { + border: none; + background-color: $light; + padding: 10px; + } + + tbody td { + background: $lightest; + color: $text; + } + } +} + +#filter_options { + padding: 0px 10px !important; +} + +body > div > pre { + overflow-x: scroll; + padding-left: 290px; +} + +// End General Styles + + +// +// Footer +// + +#footer { + position: fixed; + bottom: 0; + width: 230px; + color: #828282; + padding: 10px; + text-align: left; + z-index: 10; + + p { + background: none; + border: none; + font-size: 1em; + + a { + background: none; + padding-left: 0; + color: $text; + + &:hover { + color: #828282; + } + } + } +} + +// End footer + +// Mobile styles +@include for-size(phone-only) { + body.index #wrap { + padding-top: 210px; + } + + body.tools #wrap, + body.plugins #wrap, + body.plugin_page_sleeky_settings #wrap { + padding-top: 50px; + } + #wrap { + margin-left: 0; + + main { + overflow-x: scroll; + } + } + + img.logo { + padding: 9px 100% 8px 20px; + } + + .nav-open { + display: block; + } + + nav { + height: 0; + padding: 0; + width: 0; + + ul#admin_menu { + position: fixed; + top: 0; + left: 0; + z-index: 9999 !important; + width: 100%; + height: 100%; + padding: 50px; + display: none; + @if ($theme == "light") { + background: darken($accent, 10%); + } @else { + background: $default; + } + + li { + color: white; + } + + a, a:link, a:active, a:visited { + color: white; + } + } + } + + .index { + .top { + display: block; + margin-top: 50px; + width: 100vw; + height: auto; + + form { + margin-left: 0 !important; + } + + #new_url_form { + min-width: unset; + height: auto; + } + + .short { + padding: 0; + } + + #add-url, + #add-keyword { + width: calc(100% - 10px); + margin: 10px 0px !important; + } + + input.button { + margin: 0 !important; + width: 100%; + } + } + + table.tblSorter { + min-width: 600px; + + // Icons + $icons-list: stats, share, edit, delete; + @each $icon in $icons-list { + td.actions .button_#{$icon} { + background-size: 15px; + margin: 3px; + } + } + } + } + + #copybox { + width: 100%; + } + + .jquery-notify-bar { + margin-top: 210px; + margin-bottom: -210px; + width: calc(100vw - 20px); + + a { + margin-left: -30px; + } + } + + #footer { + display: none; + } + + .infos #wrap { + margin-top: 30px; + + + #headers { + li { + margin: 0; + display: inline-block; + } + } + } + + .infos #tabs { + min-width: initial; + + .tab { + overflow: scroll; + } + + ul#headers { + margin: 20px 0; + + li { + a { + padding: 10px 5px; + } + + h2 { + margin: 0; + } + } + } + } + + body > div > pre { + padding-left: 20px; + } +} \ No newline at end of file diff --git a/sleeky-backend/assets/css/animate.min.css b/sleeky-backend/assets/css/animate.min.css new file mode 100644 index 0000000..62832ba --- /dev/null +++ b/sleeky-backend/assets/css/animate.min.css @@ -0,0 +1,11 @@ +@charset "UTF-8"; + +/*! + * animate.css -http://daneden.me/animate + * Version - 3.6.0 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2018 Daniel Eden + */ + +.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/sleeky-backend/assets/css/dark.css b/sleeky-backend/assets/css/dark.css new file mode 100644 index 0000000..dec1fec --- /dev/null +++ b/sleeky-backend/assets/css/dark.css @@ -0,0 +1 @@ +@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800");@import url("https://fonts.googleapis.com/icon?family=Material+Icons");body{background-color:#1d1d1d;display:inline}div,p,td,input,p{font-family:'Open Sans', sans-serif !important}h1,h2{color:#ececec}p{color:#dcdcdc}a,a:link,a:active,a:visited{color:#828282;text-decoration:none}a:hover{color:#b9b9b9;transition:0.4s all}input{padding:10px;border:none !important;background:#313131 !important;color:#dcdcdc !important;font-size:1em !important;outline:none;margin:0px 5px !important;border-radius:0 !important}input.button,input.submit,input[type="submit"]{border-left:7px solid #007bff !important;background:#313131 !important;font-weight:600;transition:0.3s all !important;cursor:pointer}input.button:hover,input.submit:hover,input[type="submit"]:hover{background:#0056b3 !important}input[type="button"]:disabled,input[type="submit"]:disabled{cursor:not-allowed}input.text,input[type="text"]{border:1px solid rgba(255,255,255,0.25) !important;transition:0.4s all}input.text:active,input.text:focus{border:1px solid #007bff !important}select{width:150px;padding:5px 35px 5px 10px;border:none;border-radius:0;height:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#dcdcdc;background:url(data:image/png;base64,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) 96%/15% no-repeat #313131;margin:5px 10px;transition:0.4s all;outline:none}select:hover{background:url(data:image/png;base64,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) 96%/15% no-repeat #313131}#javascript_error{background:red;color:white;padding:20px;margin-top:10px}.jquery-notify-bar{color:#fff;text-shadow:none;border:none;opacity:1;box-shadow:none;font-size:1.1em;font-weight:500;position:static;margin-top:30px;margin-bottom:-45px;padding:10px}.jquery-notify-bar a,.jquery-notify-bar a:link,.jquery-notify-bar a:active,.jquery-notify-bar a:visited{color:white}.jquery-notify-bar.error,.jquery-notify-bar.fail{background-color:#FF9800;color:white}.jquery-notify-bar.success{color:white;background-color:#4CAF50}.login #wrap{margin:auto}.login label{font-size:1em;font-weight:600}.login .login-logo{width:150px;margin:30px auto;display:flex}.login input.text{width:270px !important}.login input.button{font-weight:600;padding:10px 25px;margin-top:15px !important;font-weight:600}.login input.button else{background:#313131 !important;border-left:7px solid #007bff !important}.login input.button:hover{background:#0062cc !important}.login .error{padding:10px;background:#007bff;color:white;position:fixed;top:0;left:0;width:100%;margin:0;text-align:center}.index #add-url{width:200px}.index #new_url_form{box-sizing:border-box;overflow:hidden}.index #new_url{border:none;background:#232323;text-align:left}.index #new_url input.button{margin-top:10px !important}.index #new_url div{background:#232323;padding:4px;padding-top:0px}.index .create{background:#007bff !important;width:150px;font-size:1.3em !important;border:none !important;font-weight:700;text-align:center;margin-top:10px !important;margin-left:20px !important}.index .top{position:absolute;top:0;left:0;width:100vw;height:50px;background:#232323}.index .top label{font-size:1em;font-weight:600;color:#dcdcdc}.index .top input.text{width:360px;padding:4px;font-weight:200;font-size:1em !important;background:#464646 !important}.index .top .short{padding-left:10px}.index .top #add-keyword{width:100px}.index .top input.button{font-weight:500;padding:5px 10px;font-size:1em !important;margin-left:10px !important;background:#464646 !important}.index .top input.button:hover{background:#0062cc !important}.index .top #new_url_form{margin-left:260px;padding:12px}.index table.tblSorter{background-color:#232323;color:#dcdcdc}.index table.tblSorter a{color:#dcdcdc}.index table.tblSorter small a{color:gray}.index table.tblSorter thead tr .tablesorter-header{padding:10px}.index table.tblSorter tfoot tr{background-color:#232323}.index table.tblSorter thead tr th,.index table.tblSorter tfoot tr th,.index table.tblSorter th.header{background-color:transparent;border:none;padding:4px}.index table.tblSorter thead tr .tablesorter-headerAsc,.index table.tblSorter thead tr .tablesorter-headerDesc{background-color:#464646 !important}.index table.tblSorter tbody td{color:#dcdcdc;padding:5px;background-color:#313131;vertical-align:middle;transition:0.4s all}.index table.tblSorter tbody tr:hover td{background-color:#464646 !important}.index table.tblSorter tbody tr.normal-row td{background:#313131}.index table.tblSorter .keyword{border-left:7px solid #007bff}.index table.tblSorter input.text{padding:5px;margin:8px 5px !important}.index table.tblSorter .navigation .nav_link a{background:#313131;border:none}.index table.tblSorter .navigation .nav_link a:hover{background:#464646}.index table.tblSorter tr.edit-row td{background:#232323 !important}.index table.tblSorter td.actions .button_stats{background:#007bff url(../img/stats.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_stats:hover{background:#0062cc url(../img/stats.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_share{background:#007bff url(../img/share.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_share:hover{background:#0062cc url(../img/share.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_edit{background:#007bff url(../img/edit.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_edit:hover{background:#0062cc url(../img/edit.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_delete{background:red url(../img/delete.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_delete:hover{background:#c00 url(../img/delete.png) 0px center no-repeat;background-size:23px;background-position:center}nav{background:#232323;height:100%;position:fixed;top:0;left:0;padding:50px 30px;width:200px;z-index:10}nav li#admin_menu_logout_link{font-size:1.3em}nav ul#admin_menu li:hover{list-style-type:none;color:#b9b9b9}nav ul#admin_menu li{color:#ececec;padding:5px 0}nav #admin_menu_logout_link:hover{color:#ececec !important}nav .admin_menu_sublevel{font-weight:100;margin-left:-20px}nav .material-icons{font-size:1em;vertical-align:middle;margin-top:-1px}nav ul{list-style-type:none}img.logo{width:90px;position:fixed;top:0;left:0;background:#007bff;padding:9px 150px 8px 20px;z-index:20}.nav-open{color:white;position:fixed;top:0;right:0;z-index:30;padding:10px 15px;cursor:pointer;display:none}.nav-open i{font-size:2em;line-height:30px}header{display:none}#wrap #tabs{min-width:580px}#wrap #tabs .tab{background:#313131 !important}#wrap #tabs .wrap_unfloat{margin-bottom:-5px}#wrap #tabs ul#headers{border:none;padding:0px}#wrap #tabs li{color:#dcdcdc}#wrap #tabs #historical_clicks li:hover{background:#0a0a0a !important}#wrap #tabs ul#headers li a,#wrap #tabs #stats_lines li a{outline:none;border:none;border-radius:0;background:#313131;color:#dcdcdc;padding:10px 15px 7px 25px}#wrap #tabs ul#headers li a:hover,#wrap #tabs #stats_lines li a:hover{background:#0a0a0a}#wrap #tabs ul#headers li a h2,#wrap #tabs #stats_lines li a h2{font-weight:400;font-size:1em}#wrap #tabs ul#headers li a.selected,#wrap #tabs #stats_lines li a.selected{background:#464646;border-bottom:2px solid #007bff}#wrap #tabs ul#headers li a.selected:hover,#wrap #tabs #stats_lines li a.selected:hover{background:#000}#wrap #tabs #stats_lines li a{padding:7px 15px}#wrap #tabs ul.toggle_display{border:none}#wrap #tabs svg ellipse{fill:#007bff}body.index #wrap{padding-top:50px}#wrap{background:none;margin-left:270px;border:none;color:#dcdcdc;max-width:100%}.notice{width:calc(100% - 22px);margin:0;padding:0;border-radius:0;background:#007bff;border:1px solid #007bff;padding:10px}.notice p{color:white}#shareboxes{margin-top:-10px}#sharebox{width:558px;margin-right:0px}div.share{background:#232323;border-radius:0;border:none;padding:0px 20px 10px;margin-top:10px}div.share textarea{background:#313131;color:#dcdcdc;border:none;padding:3px;outline:none;margin:1px !important}div.share #charcount{padding-left:5px;color:#dcdcdc}div.share #share_links a{color:#dcdcdc}.sub_wrap,.plugins main,.plugin_page_sleeky_settings main,code{background:#232323;padding:10px;padding:5px 25px;max-width:100%}.sub_wrap span,.plugins main span,.plugin_page_sleeky_settings main span,code span{background:rgba(255,255,255,0.2)}.sub_wrap code,.sub_wrap tt,.plugins main code,.plugins main tt,.plugin_page_sleeky_settings main code,.plugin_page_sleeky_settings main tt,code code,code tt{background:rgba(0,123,255,0.7)}.sub_wrap a.bookmarklet,.plugins main a.bookmarklet,.plugin_page_sleeky_settings main a.bookmarklet,code a.bookmarklet{border:none;background:#fff url(/images/favicon.gif) 4px center no-repeat;color:#3c3c3c;border-radius:1px;padding:7px 7px 7px 25px;color:#333 !important}.sub_wrap a.bookmarklet:hover,.plugins main a.bookmarklet:hover,.plugin_page_sleeky_settings main a.bookmarklet:hover,code a.bookmarklet:hover{background:#e0e0e0 url(/images/favicon.gif) 4px center no-repeat}.sub_wrap table.tblSorter,.plugins main table.tblSorter,.plugin_page_sleeky_settings main table.tblSorter,code table.tblSorter{background:#232323}.sub_wrap table.tblSorter a,.plugins main table.tblSorter a,.plugin_page_sleeky_settings main table.tblSorter a,code table.tblSorter a{color:#dcdcdc}.sub_wrap table.tblSorter a:hover,.plugins main table.tblSorter a:hover,.plugin_page_sleeky_settings main table.tblSorter a:hover,code table.tblSorter a:hover{color:#909090}.sub_wrap table.tblSorter thead tr th,.sub_wrap table.tblSorter tfoot tr th,.sub_wrap table.tblSorter th.header,.plugins main table.tblSorter thead tr th,.plugins main table.tblSorter tfoot tr th,.plugins main table.tblSorter th.header,.plugin_page_sleeky_settings main table.tblSorter thead tr th,.plugin_page_sleeky_settings main table.tblSorter tfoot tr th,.plugin_page_sleeky_settings main table.tblSorter th.header,code table.tblSorter thead tr th,code table.tblSorter tfoot tr th,code table.tblSorter th.header{border:none;background-color:#313131;padding:10px}.sub_wrap table.tblSorter tbody td,.plugins main table.tblSorter tbody td,.plugin_page_sleeky_settings main table.tblSorter tbody td,code table.tblSorter tbody td{background:#464646;color:#dcdcdc}#filter_options{padding:0px 10px !important}body>div>pre{overflow-x:scroll;padding-left:290px}#footer{position:fixed;bottom:0;width:230px;color:#828282;padding:10px;text-align:left;z-index:10}#footer p{background:none;border:none;font-size:1em}#footer p a{background:none;padding-left:0;color:#dcdcdc}#footer p a:hover{color:#828282}@media (max-width: 899px){body.index #wrap{padding-top:210px}body.tools #wrap,body.plugins #wrap,body.plugin_page_sleeky_settings #wrap{padding-top:50px}#wrap{margin-left:0}#wrap main{overflow-x:scroll}img.logo{padding:9px 100% 8px 20px}.nav-open{display:block}nav{height:0;padding:0;width:0}nav ul#admin_menu{position:fixed;top:0;left:0;z-index:9999 !important;width:100%;height:100%;padding:50px;display:none;background:#232323}nav ul#admin_menu li{color:white}nav ul#admin_menu a,nav ul#admin_menu a:link,nav ul#admin_menu a:active,nav ul#admin_menu a:visited{color:white}.index .top{display:block;margin-top:50px;width:100vw;height:auto}.index .top form{margin-left:0 !important}.index .top #new_url_form{min-width:unset;height:auto}.index .top .short{padding:0}.index .top #add-url,.index .top #add-keyword{width:calc(100% - 10px);margin:10px 0px !important}.index .top input.button{margin:0 !important;width:100%}.index table.tblSorter{min-width:600px}.index table.tblSorter td.actions .button_stats{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_share{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_edit{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_delete{background-size:15px;margin:3px}#copybox{width:100%}.jquery-notify-bar{margin-top:210px;margin-bottom:-210px;width:calc(100vw - 20px)}.jquery-notify-bar a{margin-left:-30px}#footer{display:none}.infos #wrap{margin-top:30px}.infos #wrap #headers li{margin:0;display:inline-block}.infos #tabs{min-width:initial}.infos #tabs .tab{overflow:scroll}.infos #tabs ul#headers{margin:20px 0}.infos #tabs ul#headers li a{padding:10px 5px}.infos #tabs ul#headers li h2{margin:0}body>div>pre{padding-left:20px}} diff --git a/sleeky-backend/assets/css/light.css b/sleeky-backend/assets/css/light.css new file mode 100644 index 0000000..4197283 --- /dev/null +++ b/sleeky-backend/assets/css/light.css @@ -0,0 +1 @@ +@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800");@import url("https://fonts.googleapis.com/icon?family=Material+Icons");body{background-color:#efefef;display:inline}div,p,td,input,p{font-family:'Open Sans', sans-serif !important}h1,h2{color:#1d1d1d}p{color:#313131}a,a:link,a:active,a:visited{color:#828282;text-decoration:none}a:hover{color:#000;transition:0.4s all}input{padding:10px;border:none !important;background:#fff !important;color:#313131 !important;font-size:1em !important;outline:none;margin:0px 5px !important;border-radius:0 !important;border-radius:3px !important}input.button,input.submit,input[type="submit"]{border-left:7px solid #007bff !important;background:#fff !important;font-weight:600;transition:0.3s all !important;cursor:pointer;background:#007bff !important;border-left:none !important;color:white !important;font-weight:700}input.button:hover,input.submit:hover,input[type="submit"]:hover{background:#0056b3 !important;background:#0056b3 !important}input[type="button"]:disabled,input[type="submit"]:disabled{cursor:not-allowed}input.text,input[type="text"]{border:1px solid rgba(255,255,255,0.25) !important;transition:0.4s all}select{width:150px;padding:5px 35px 5px 10px;border:none;border-radius:0;height:26px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#313131;background:url(data:image/png;base64,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) 96%/15% no-repeat #fff;margin:5px 10px;transition:0.4s all;outline:none}select:hover{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAKRJREFUeNrs1TEKwkAQheEvIoI2nsk7qFdIq1hoJ3gCC5sUVpY23sDKXnvrYOUBbGITG0kQjQriPlgYhmF/3ryFjbIs82nVfEEBEiAB8k+Q+q1IkqSDNVq4lMy3scIkjuP0FSdbjNHMLys6OwyQVlnXEsOS2QP6OL8jkzlmd70jus86eBT8FIu8PqGXg6oFX6ARGthgX+V1ReFnDJAACZAfhFwHAJI7HF2lZGQaAAAAAElFTkSuQmCC) 96%/15% no-repeat #fff}#javascript_error{background:red;color:white;padding:20px;margin-top:10px}.jquery-notify-bar{color:#fff;text-shadow:none;border:none;opacity:1;box-shadow:none;font-size:1.1em;font-weight:500;position:static;margin-top:30px;margin-bottom:-45px;padding:10px}.jquery-notify-bar a,.jquery-notify-bar a:link,.jquery-notify-bar a:active,.jquery-notify-bar a:visited{color:white}.jquery-notify-bar.error,.jquery-notify-bar.fail{background-color:#FF9800;color:white}.jquery-notify-bar.success{color:white;background-color:#4CAF50}.login #wrap{margin:auto}.login label{font-size:1em;font-weight:600}.login .login-logo{width:150px;margin:30px auto;display:flex}.login input.text{width:270px !important}.login input.button{font-weight:600;padding:10px 25px;margin-top:15px !important;font-weight:600;background:#007bff !important}.login input.button else{background:#fff !important;border-left:7px solid #007bff !important}.login input.button:hover{background:#0062cc !important}.login .error{padding:10px;background:#007bff;color:white;position:fixed;top:0;left:0;width:100%;margin:0;text-align:center}.index #add-url{width:200px}.index #new_url_form{box-sizing:border-box;overflow:hidden}.index #new_url{border:none;background:#f7f7f7;text-align:left}.index #new_url input.button{margin-top:10px !important}.index #new_url div{background:#f7f7f7;padding:4px;padding-top:0px}.index .create{background:#007bff !important;width:150px;font-size:1.3em !important;border:none !important;font-weight:700;text-align:center;margin-top:10px !important;margin-left:20px !important}.index .top{position:absolute;top:0;left:0;width:100vw;height:50px;background:#0062cc}.index .top label{font-size:1em;font-weight:600;color:#313131;color:#f7f7f7}.index .top input.text{width:360px;padding:4px;font-weight:200;font-size:1em !important;background:#f7f7f7 !important}.index .top .short{padding-left:10px}.index .top #add-keyword{width:100px}.index .top input.button{font-weight:500;padding:5px 10px;font-size:1em !important;margin-left:10px !important;background:#e8e8e8 !important;background:#f7f7f7 !important;font-weight:700;color:#007bff !important}.index .top input.button:hover{background:#0062cc !important;background:#e6e6e6 !important}.index .top #new_url_form{margin-left:260px;padding:12px}.index table.tblSorter{background-color:#f7f7f7;color:#313131}.index table.tblSorter a{color:#313131}.index table.tblSorter small a{color:gray}.index table.tblSorter thead tr .tablesorter-header{padding:10px}.index table.tblSorter tfoot tr{background-color:#f7f7f7}.index table.tblSorter thead tr th,.index table.tblSorter tfoot tr th,.index table.tblSorter th.header{background-color:transparent;border:none;padding:4px}.index table.tblSorter thead tr .tablesorter-headerAsc,.index table.tblSorter thead tr .tablesorter-headerDesc{background-color:#e8e8e8 !important}.index table.tblSorter tbody td{color:#313131;padding:5px;background-color:#fff;vertical-align:middle;transition:0.4s all}.index table.tblSorter tbody tr:hover td{background-color:#e8e8e8 !important}.index table.tblSorter tbody tr.normal-row td{background:#fff}.index table.tblSorter .keyword{border-left:7px solid #007bff}.index table.tblSorter input.text{padding:5px;margin:8px 5px !important}.index table.tblSorter .navigation .nav_link a{background:#fff;border:none}.index table.tblSorter .navigation .nav_link a:hover{background:#e8e8e8}.index table.tblSorter tr.edit-row td{background:#f7f7f7 !important}.index table.tblSorter td.actions .button_stats{background:#007bff url(../img/stats.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_stats:hover{background:#0062cc url(../img/stats.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_share{background:#007bff url(../img/share.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_share:hover{background:#0062cc url(../img/share.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_edit{background:#007bff url(../img/edit.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_edit:hover{background:#0062cc url(../img/edit.png) 0px center no-repeat;background-size:23px;background-position:center}.index table.tblSorter td.actions .button_delete{background:red url(../img/delete.png) 0px center no-repeat;background-size:23px;background-position:center;border:none;padding:3px;border-radius:2px}.index table.tblSorter td.actions .button_delete:hover{background:#c00 url(../img/delete.png) 0px center no-repeat;background-size:23px;background-position:center}nav{background:#f7f7f7;height:100%;position:fixed;top:0;left:0;padding:50px 30px;width:200px;z-index:10}nav li#admin_menu_logout_link{font-size:1.3em}nav ul#admin_menu li:hover{list-style-type:none;color:#000}nav ul#admin_menu li{color:#1d1d1d;padding:5px 0}nav #admin_menu_logout_link:hover{color:#1d1d1d !important}nav .admin_menu_sublevel{font-weight:100;margin-left:-20px}nav .material-icons{font-size:1em;vertical-align:middle;margin-top:-1px}nav ul{list-style-type:none}img.logo{width:90px;position:fixed;top:0;left:0;background:#007bff;padding:9px 150px 8px 20px;z-index:20}.nav-open{color:white;position:fixed;top:0;right:0;z-index:30;padding:10px 15px;cursor:pointer;display:none}.nav-open i{font-size:2em;line-height:30px}header{display:none}#wrap #tabs{min-width:580px}#wrap #tabs .tab{background:#fff !important}#wrap #tabs .wrap_unfloat{margin-bottom:-5px}#wrap #tabs ul#headers{border:none;padding:0px}#wrap #tabs li{color:#313131}#wrap #tabs #historical_clicks li:hover{background:#dedede !important}#wrap #tabs ul#headers li a,#wrap #tabs #stats_lines li a{outline:none;border:none;border-radius:0;background:#fff;color:#313131;padding:10px 15px 7px 25px}#wrap #tabs ul#headers li a:hover,#wrap #tabs #stats_lines li a:hover{background:#dedede}#wrap #tabs ul#headers li a h2,#wrap #tabs #stats_lines li a h2{font-weight:400;font-size:1em}#wrap #tabs ul#headers li a.selected,#wrap #tabs #stats_lines li a.selected{background:#e8e8e8;border-bottom:2px solid #007bff}#wrap #tabs ul#headers li a.selected:hover,#wrap #tabs #stats_lines li a.selected:hover{background:#d1d1d1}#wrap #tabs #stats_lines li a{padding:7px 15px}#wrap #tabs ul.toggle_display{border:none}#wrap #tabs svg ellipse{fill:#007bff}body.index #wrap{padding-top:50px}#wrap{background:none;margin-left:270px;border:none;color:#313131;max-width:100%}.notice{width:calc(100% - 22px);margin:0;padding:0;border-radius:0;background:#007bff;border:1px solid #007bff;padding:10px}.notice p{color:white}#shareboxes{margin-top:-10px}#sharebox{width:558px;margin-right:0px}div.share{background:#f7f7f7;border-radius:0;border:none;padding:0px 20px 10px;margin-top:10px}div.share textarea{background:#fff;color:#313131;border:none;padding:3px;outline:none;margin:1px !important}div.share #charcount{padding-left:5px;color:#313131}div.share #share_links a{color:#313131}.sub_wrap,.plugins main,.plugin_page_sleeky_settings main,code{background:#f7f7f7;padding:10px;padding:5px 25px;max-width:100%}.sub_wrap span,.plugins main span,.plugin_page_sleeky_settings main span,code span{background:rgba(255,255,255,0.2)}.sub_wrap code,.sub_wrap tt,.plugins main code,.plugins main tt,.plugin_page_sleeky_settings main code,.plugin_page_sleeky_settings main tt,code code,code tt{background:rgba(0,123,255,0.7);background:rgba(35,185,222,0.5)}.sub_wrap a.bookmarklet,.plugins main a.bookmarklet,.plugin_page_sleeky_settings main a.bookmarklet,code a.bookmarklet{border:none;background:#fff url(/images/favicon.gif) 4px center no-repeat;color:#3c3c3c;border-radius:1px;padding:7px 7px 7px 25px;color:#333 !important}.sub_wrap a.bookmarklet:hover,.plugins main a.bookmarklet:hover,.plugin_page_sleeky_settings main a.bookmarklet:hover,code a.bookmarklet:hover{background:#e0e0e0 url(/images/favicon.gif) 4px center no-repeat}.sub_wrap table.tblSorter,.plugins main table.tblSorter,.plugin_page_sleeky_settings main table.tblSorter,code table.tblSorter{background:#f7f7f7}.sub_wrap table.tblSorter a,.plugins main table.tblSorter a,.plugin_page_sleeky_settings main table.tblSorter a,code table.tblSorter a{color:#313131}.sub_wrap table.tblSorter a:hover,.plugins main table.tblSorter a:hover,.plugin_page_sleeky_settings main table.tblSorter a:hover,code table.tblSorter a:hover{color:#000}.sub_wrap table.tblSorter thead tr th,.sub_wrap table.tblSorter tfoot tr th,.sub_wrap table.tblSorter th.header,.plugins main table.tblSorter thead tr th,.plugins main table.tblSorter tfoot tr th,.plugins main table.tblSorter th.header,.plugin_page_sleeky_settings main table.tblSorter thead tr th,.plugin_page_sleeky_settings main table.tblSorter tfoot tr th,.plugin_page_sleeky_settings main table.tblSorter th.header,code table.tblSorter thead tr th,code table.tblSorter tfoot tr th,code table.tblSorter th.header{border:none;background-color:#fff;padding:10px}.sub_wrap table.tblSorter tbody td,.plugins main table.tblSorter tbody td,.plugin_page_sleeky_settings main table.tblSorter tbody td,code table.tblSorter tbody td{background:#e8e8e8;color:#313131}#filter_options{padding:0px 10px !important}body>div>pre{overflow-x:scroll;padding-left:290px}#footer{position:fixed;bottom:0;width:230px;color:#828282;padding:10px;text-align:left;z-index:10}#footer p{background:none;border:none;font-size:1em}#footer p a{background:none;padding-left:0;color:#313131}#footer p a:hover{color:#828282}@media (max-width: 899px){body.index #wrap{padding-top:210px}body.tools #wrap,body.plugins #wrap,body.plugin_page_sleeky_settings #wrap{padding-top:50px}#wrap{margin-left:0}#wrap main{overflow-x:scroll}img.logo{padding:9px 100% 8px 20px}.nav-open{display:block}nav{height:0;padding:0;width:0}nav ul#admin_menu{position:fixed;top:0;left:0;z-index:9999 !important;width:100%;height:100%;padding:50px;display:none;background:#0062cc}nav ul#admin_menu li{color:white}nav ul#admin_menu a,nav ul#admin_menu a:link,nav ul#admin_menu a:active,nav ul#admin_menu a:visited{color:white}.index .top{display:block;margin-top:50px;width:100vw;height:auto}.index .top form{margin-left:0 !important}.index .top #new_url_form{min-width:unset;height:auto}.index .top .short{padding:0}.index .top #add-url,.index .top #add-keyword{width:calc(100% - 10px);margin:10px 0px !important}.index .top input.button{margin:0 !important;width:100%}.index table.tblSorter{min-width:600px}.index table.tblSorter td.actions .button_stats{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_share{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_edit{background-size:15px;margin:3px}.index table.tblSorter td.actions .button_delete{background-size:15px;margin:3px}#copybox{width:100%}.jquery-notify-bar{margin-top:210px;margin-bottom:-210px;width:calc(100vw - 20px)}.jquery-notify-bar a{margin-left:-30px}#footer{display:none}.infos #wrap{margin-top:30px}.infos #wrap #headers li{margin:0;display:inline-block}.infos #tabs{min-width:initial}.infos #tabs .tab{overflow:scroll}.infos #tabs ul#headers{margin:20px 0}.infos #tabs ul#headers li a{padding:10px 5px}.infos #tabs ul#headers li h2{margin:0}body>div>pre{padding-left:20px}} diff --git a/sleeky-backend/assets/css/themes/dark.scss b/sleeky-backend/assets/css/themes/dark.scss new file mode 100644 index 0000000..daa486f --- /dev/null +++ b/sleeky-backend/assets/css/themes/dark.scss @@ -0,0 +1,22 @@ +// Sleeky Admin Dark UI Theme + +// Define theme +$theme: "dark"; + +// Set up our basic colour scheme +$lightest: #464646; +$light: #313131; +$default: #232323; +$darker: #1d1d1d; +$darkest: #161616; + +// Accents +$accent: #007bff; +// $accent_primary: #007bff; + +// Text colours +$title: #ececec; +$text: #dcdcdc; + +// Import the base styles +@import "../base.scss"; \ No newline at end of file diff --git a/sleeky-backend/assets/css/themes/light.scss b/sleeky-backend/assets/css/themes/light.scss new file mode 100644 index 0000000..ac38aea --- /dev/null +++ b/sleeky-backend/assets/css/themes/light.scss @@ -0,0 +1,22 @@ +// Sleeky Admin Light UI Theme + +// Define theme +$theme: "light"; + +// Set up our basic colour scheme +$lightest: #e8e8e8; +$light: white; +$default: #f7f7f7; +$darker: #efefef; +$darkest: #161616; + +// Accents +$accent: #007bff; +// $accent_secondary: black; + +// Text colours +$title: #1d1d1d; +$text: #313131; + +// Import the base styles +@import "../base.scss"; \ No newline at end of file diff --git a/sleeky-backend/assets/html/form.html b/sleeky-backend/assets/html/form.html new file mode 100644 index 0000000..df6addf --- /dev/null +++ b/sleeky-backend/assets/html/form.html @@ -0,0 +1,10 @@ +
+
+ + + + + + +
+
diff --git a/sleeky-backend/assets/img/delete.png b/sleeky-backend/assets/img/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..0922752e85055e3534a8aa8a51382163dc9fba13 GIT binary patch literal 228 zcmV7O<93vdd_nM;);8@0p1SS=J48_?Kf=b6#u!0000+mP(MLbxIU@tZx11_<06E_Cm;EuJEI5KzuPNK$?!{-w< zW;{Mke9afh-**!m1^<@N@NHtL5K^$DhZ|FM=P=&qvIgiFq?I{~>Up@NR&` pI{_Y_4KVpkfXgQVHXn-(+!KC0r!M+UZ~XuO002ovPDHLkV1hXhU+Vw> literal 0 HcmV?d00001 diff --git a/sleeky-backend/assets/img/favicon.ico b/sleeky-backend/assets/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..10afa5abc2b6730f3f852207d2649f9cb235c623 GIT binary patch literal 1151 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%0A`+q0jEs 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 literal 0 HcmV?d00001 diff --git a/sleeky-backend/assets/img/logo_white.png b/sleeky-backend/assets/img/logo_white.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d985fbdc62099d6d72ce33d1d04c3edfc47981 GIT binary patch literal 14707 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 literal 0 HcmV?d00001 diff --git a/sleeky-backend/assets/img/share.png b/sleeky-backend/assets/img/share.png new file mode 100644 index 0000000000000000000000000000000000000000..22a8783e70f01488cb1396f18645fef00c7bb299 GIT binary patch literal 496 zcmVF8i@ z;dr8?qTnEcf#YSTw1b150_0@p@+*a+28_exGc&aM`@C!DnA6=W1TD^dHLWnpGa); zm^Y+_9MMXOw6romm*dL5Nt8*s| zfjVId)Cgk$;Kla^iTMkFYp!&86~M&IYnv$Ycb?V2^LT@pogmqpJ*&$yLUipz2 t9P^9EgKHjO$D?C@BnHQPEEbFXa1X$nII5sT7kdBz002ovPDHLkV1nSGXXyX{ literal 0 HcmV?d00001 diff --git a/sleeky-backend/assets/js/theme.js b/sleeky-backend/assets/js/theme.js new file mode 100644 index 0000000..50f5b72 --- /dev/null +++ b/sleeky-backend/assets/js/theme.js @@ -0,0 +1,144 @@ +// Sleeky Admin Theme +// 2019 Flynn Tesoriero + +console.log("Sleeky Admin Theme Running"); + +$( document ).ready(function() { + // Get the theme URL + var url; + if ($('meta[name=pluginURL]').attr("content")) { + url = $('meta[name=pluginURL]').attr("content"); + } else { + // If for some reason we can't find the URL attribute + url = "/user/plugins/sleeky_backend"; + } + + // Detect theme + var theme; + if ($('meta[name=sleeky_theme]').attr("content") == 'light') { + theme = "light"; + } else if ($('meta[name=sleeky_theme]').attr("content") == 'dark') { + theme = "dark"; + } + + console.log("Theme is", theme) + + // Update favicon + $('link[rel="shortcut icon"]').attr('href', url + "/assets/img/favicon.ico"); + + // Update meta viewport + $('head').append(''); + + // Detect pages + if ($("body").hasClass("login")) { + // Login page + console.log("Login page"); + + if (theme == "light") { + $("#login").prepend(``); + } else if (theme == "dark") { + $("#login").prepend(``); + } + + + } else if ($("body").hasClass("index")) { + // Index page + console.log("Index page"); + + handleNav() + + // Hide YOURLS new URL section + $("#new_url").hide(); + + // Grab the nonce id + var nonce = $("#nonce-add").val(); + + // Remove the YOURLS new URL Section + $("#new_url").remove(); + + // Create the sleeky new URL section from the template + $("nav").append($('

').load(`${url}/assets/html/form.html`, function () { + $("#nonce-add").val(nonce); + })); + } else if ($("body").hasClass("tools")) { + // Tools page + console.log("Tools page"); + + handleNav() + + } else if ($("body").hasClass("plugins")) { + // Plugins page + console.log("Plugins page"); + + handleNav() + + } else if ($("body").hasClass("plugin_page_sleeky_settings")) { + // Tools page + console.log("Sleeky Settings Page"); + + handleNav() + + $("#ui_selector").val($("#ui_selector").attr("value")); + + } else if ($("body").hasClass("infos")) { + // Information page + console.log("Information page"); + + handleNav() + + $("#historical_clicks li").each(function (index) { + if (index % 2 != 0) { + $("#historical_clicks li").eq(index).css("background", ""); + } + }) + + // Update tab headers + var titles = ['Statistics', 'Location', 'Sources'] + for (let i = 0; i < 3; i++) { + $($('#headers > li')[i]).find('h2').text(titles[i]); + } + } else { + console.warn("Unknown page"); + + handleNav(); + } + + function handleNav() { + // Add logo + $("#wrap").prepend(``); + + // Add mobile nav hamburger + $("#wrap").prepend(``); + + // Add frontend link + $('#admin_menu').append(''); + + // admin_menu + $('#navOpen').on('click', function() { + $('#admin_menu').slideToggle(); + }) + + $(window).resize(function () { + if ($(window).width() > 899) { + $('#admin_menu').show(); + } else { + $('#admin_menu').hide(); + } + }); + } + + // Update P elements + $("p").each(function (index) { + if (/Display/.test($(this).text()) || /Overall/.test($(this).text())) { + // Move info on index page to the bottom + $("main").append("

" + $(this).html() + "

"); + $(this).remove(); + } else if (/Powered by/.test($(this).text())) { + // Update footer + var content = $(this).html(); + var i = 77 + var updated_content = "Running on" + content.slice(13, i) + '& Sleeky' + content.slice(i-1) + $(this).html(updated_content); + } + }); +}); \ No newline at end of file diff --git a/sleeky-backend/package-lock.json b/sleeky-backend/package-lock.json new file mode 100644 index 0000000..f6e7456 --- /dev/null +++ b/sleeky-backend/package-lock.json @@ -0,0 +1,1293 @@ +{ + "name": "sleeky-admin", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "ajv": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", + "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "~2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "graceful-fs": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", + "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-base64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + } + } + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + } + } + }, + "node-sass": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.11", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.2.0.tgz", + "integrity": "sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "resolve": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", + "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "requires": { + "glob": "^7.1.2" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + } + } + } + } +} diff --git a/sleeky-backend/package.json b/sleeky-backend/package.json new file mode 100644 index 0000000..7c7d472 --- /dev/null +++ b/sleeky-backend/package.json @@ -0,0 +1,15 @@ +{ + "name": "sleeky-admin", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "start": "node-sass --watch assets/css/themes -o assets/css --output-style compressed" + }, + "author": "", + "license": "ISC", + "dependencies": { + "node-sass": "^4.12.0" + } +} diff --git a/sleeky-backend/plugin.php b/sleeky-backend/plugin.php new file mode 100644 index 0000000..9868d6f --- /dev/null +++ b/sleeky-backend/plugin.php @@ -0,0 +1,147 @@ +body {background: unset;} +HEAD; +} + +// Inject Sleeky files +yourls_add_action( 'html_head', 'sleeky_head_scripts' ); + +function sleeky_head_scripts() { + + // This is so the user doesn't have to reload page twice in settings screen + if (isset( $_POST['theme_choice'] )) { + // User has just changed theme + if ($_POST['theme_choice'] == "light") { + setTheme("light"); + } else { + setTheme("dark"); + } + } else { + // User has not just changed theme + if (yourls_get_option( 'theme_choice' ) == "light") { + setTheme("light"); + } else { + setTheme("dark"); + } + } +} + +// Inject Sleeky files + +function setTheme($theme) { + $url = yourls_plugin_url( __DIR__ ); + if ($theme == "light") { + echo << + + + +HEAD; + } else if ($theme == "dark") { + echo << + + + +HEAD; + } +} + +// Inject information and options into the frontend +yourls_add_action( 'html_head', 'addOptions' ); + +function addOptions() +{ + $url = yourls_plugin_url( __DIR__ ); + echo << +HEAD; +} + +// Register our plugin admin page +yourls_add_action( 'plugins_loaded', 'sleeky_add_settings' ); +function sleeky_add_settings() { + yourls_register_plugin_page( 'sleeky_settings', 'Sleeky Settings', 'sleeky_do_settings_page' ); + // parameters: page slug, page title, and function that will display the page itself +} + +// Display admin page +function sleeky_do_settings_page() { + + // Check if a form was submitted + if( isset( $_POST['theme_choice'] ) ) { + // Check nonce + yourls_verify_nonce( 'sleeky_settings' ); + + // Process form + sleeky_settings_update(); + } + + // Get value from database + $theme_choice = yourls_get_option( 'theme_choice' ); + + // Create nonce + $nonce = yourls_create_nonce( 'sleeky_settings' ); + + echo << +

Sleeky Settings

+
+ +

+ + +

+

+
+ +HTML; +} + +// Update option in database +function sleeky_settings_update() { + $in = $_POST['theme_choice']; + + if( $in ) { + // Validate theme_choice. ALWAYS validate and sanitize user input. + // Here, we want an integer + // $in = intval( $in); + if ($in == "light" or $in == "dark") { + // Update value in database + yourls_update_option( 'theme_choice', $in ); + } else { + echo "Error"; + } + + } +} + +// Hide admin links for non-authenticated users +if (yourls_is_valid_user() != 1) { + echo <<ul#admin_menu li:not(.frontend_link) {display: none} +HEAD; +}