Version Description
- 2019-11-07 =
- Add - Option to disable the tracking of the variations. If enabled, when a variation is added to cart and then checkout/purchase, the content_ids will contain the parent ID
- Add - Option to bypass pixel init, allowing to add pixel snippet from GTM or other source
- Add - Allow to trigger a custom conversion event by Javascript event
- Fix - Conflict with CartFlows
- Fix - "Use SKU" option always checked even if unchecked
- Fix - Notice: Undefined index: url_condition in .../pixel-caffeine/includes/class-aepc-pixel-scripts.php
- Fix - Cron jobs initialization causing some errors on "Logs" tab
- Fix - Description missing on variations when short description is mapped on the description field
- Fix - Run Purchase event afterwards when PayPal used and not returned back to website after payment
- Fix - Wrong image link on product catalog when SG Optimizer active
Download this release
Release Info
Developer | antoscarface |
Plugin | Pixel Caffeine |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.8 to 2.1.0
- build/admin.css +1 -1
- build/frontend.js +1 -1
- includes/admin/assets/sass/_general.scss +30 -9
- includes/admin/class-aepc-admin-view.php +5 -3
- includes/admin/class-aepc-admin.php +6 -0
- includes/admin/class-aepc-facebook-adapter.php +0 -4
- includes/admin/settings/general-settings.php +10 -0
- includes/admin/templates/parts/advanced-settings.php +38 -0
- includes/admin/templates/parts/forms/conversion.php +23 -0
- includes/admin/templates/parts/tables/ce-tracking.php +5 -0
- includes/class-aepc-cron.php +3 -0
- includes/class-aepc-pixel-scripts.php +44 -9
- includes/class-aepc-track.php +32 -1
- includes/product-catalogs/feed/class-xml-writer.php +4 -0
- includes/supports/class-aepc-edd-addon-support.php +4 -0
- includes/supports/class-aepc-woocommerce-addon-support.php +148 -28
- languages/pixel-caffeine.pot +194 -153
- pixel-caffeine.php +4 -4
- readme.txt +15 -3
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +4 -4
- vendor/composer/installed.json +32 -29
- vendor/monolog/monolog/.php_cs +0 -59
- vendor/monolog/monolog/CHANGELOG.md +46 -0
- vendor/monolog/monolog/doc/01-usage.md +0 -231
- vendor/monolog/monolog/doc/02-handlers-formatters-processors.md +0 -157
- vendor/monolog/monolog/doc/03-utilities.md +0 -13
- vendor/monolog/monolog/doc/04-extending.md +0 -76
- vendor/monolog/monolog/doc/sockets.md +0 -39
- vendor/monolog/monolog/src/Monolog/ErrorHandler.php +11 -2
- vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php +1 -0
- vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php +1 -1
- vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php +12 -12
- vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php +5 -3
- vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php +4 -2
- vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php +12 -12
- vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php +2 -2
- vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php +18 -8
- vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php +2 -0
- vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php +3 -3
- vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php +33 -23
- vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php +14 -2
- vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php +7 -7
- vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php +1 -1
- vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php +4 -4
- vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php +4 -4
- vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php +2 -2
- vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php +1 -1
- vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php +30 -16
- vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php +1 -1
- vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php +39 -0
- vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php +63 -0
- vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php +0 -8
- vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php +16 -3
- vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php +2 -2
- vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php +9 -1
- vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php +17 -0
- vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php +4 -4
- vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php +62 -0
- vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php +2 -2
- vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php +1 -1
- vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php +3 -1
- vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php +40 -0
- vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php +73 -0
- vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php +1 -1
- vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php +3 -3
- vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php +8 -6
- vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php +12 -0
- vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php +15 -3
- vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php +5 -5
- vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php +5 -0
- vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php +5 -0
- vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php +6 -2
- vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php +43 -4
- vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php +4 -3
- vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php +14 -2
- vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php +5 -5
- vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php +35 -14
- vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php +26 -3
- vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php +11 -0
- vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php +26 -20
- vendor/monolog/monolog/src/Monolog/Logger.php +165 -74
- vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php +3 -3
- vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php +25 -0
- vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php +4 -2
- vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php +15 -2
- vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php +1 -1
- vendor/monolog/monolog/src/Monolog/ResettableInterface.php +31 -0
- vendor/monolog/monolog/src/Monolog/SignalHandler.php +115 -0
- vendor/monolog/monolog/src/Monolog/Utils.php +25 -0
- vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php +0 -31
- vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php +0 -158
- vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php +0 -79
- vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php +0 -35
build/admin.css
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
@import url(//fonts.googleapis.com/icon?family=Material+Icons);/*!
|
2 |
* Admin pages common
|
3 |
-
*/@keyframes anim-spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.pixel-caffeine-wrapper *,.pixel-caffeine-wrapper :after,.pixel-caffeine-wrapper :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pixel-caffeine-wrapper html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pixel-caffeine-wrapper body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}.pixel-caffeine-wrapper button,.pixel-caffeine-wrapper input,.pixel-caffeine-wrapper select,.pixel-caffeine-wrapper textarea{font-family:inherit;font-size:inherit;line-height:inherit}.pixel-caffeine-wrapper a{color:#337ab7;text-decoration:none}.pixel-caffeine-wrapper a:focus,.pixel-caffeine-wrapper a:hover{color:#23527c;text-decoration:underline}.pixel-caffeine-wrapper a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper figure{margin:0}.pixel-caffeine-wrapper img{vertical-align:middle}.pixel-caffeine-wrapper .img-responsive{display:block;max-width:100%;height:auto}.pixel-caffeine-wrapper .img-rounded{border-radius:6px}.pixel-caffeine-wrapper .img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.pixel-caffeine-wrapper .img-circle{border-radius:50%}.pixel-caffeine-wrapper hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.pixel-caffeine-wrapper .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.pixel-caffeine-wrapper .sr-only-focusable:active,.pixel-caffeine-wrapper .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.pixel-caffeine-wrapper [role=button]{cursor:pointer}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.pixel-caffeine-wrapper .h1 .small,.pixel-caffeine-wrapper .h1 small,.pixel-caffeine-wrapper .h2 .small,.pixel-caffeine-wrapper .h2 small,.pixel-caffeine-wrapper .h3 .small,.pixel-caffeine-wrapper .h3 small,.pixel-caffeine-wrapper .h4 .small,.pixel-caffeine-wrapper .h4 small,.pixel-caffeine-wrapper .h5 .small,.pixel-caffeine-wrapper .h5 small,.pixel-caffeine-wrapper .h6 .small,.pixel-caffeine-wrapper .h6 small,.pixel-caffeine-wrapper h1 .small,.pixel-caffeine-wrapper h1 small,.pixel-caffeine-wrapper h2 .small,.pixel-caffeine-wrapper h2 small,.pixel-caffeine-wrapper h3 .small,.pixel-caffeine-wrapper h3 small,.pixel-caffeine-wrapper h4 .small,.pixel-caffeine-wrapper h4 small,.pixel-caffeine-wrapper h5 .small,.pixel-caffeine-wrapper h5 small,.pixel-caffeine-wrapper h6 .small,.pixel-caffeine-wrapper h6 small{font-weight:400;line-height:1;color:#777}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3{margin-top:20px;margin-bottom:10px}.pixel-caffeine-wrapper .h1 .small,.pixel-caffeine-wrapper .h1 small,.pixel-caffeine-wrapper .h2 .small,.pixel-caffeine-wrapper .h2 small,.pixel-caffeine-wrapper .h3 .small,.pixel-caffeine-wrapper .h3 small,.pixel-caffeine-wrapper h1 .small,.pixel-caffeine-wrapper h1 small,.pixel-caffeine-wrapper h2 .small,.pixel-caffeine-wrapper h2 small,.pixel-caffeine-wrapper h3 .small,.pixel-caffeine-wrapper h3 small{font-size:65%}.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .h4 .small,.pixel-caffeine-wrapper .h4 small,.pixel-caffeine-wrapper .h5 .small,.pixel-caffeine-wrapper .h5 small,.pixel-caffeine-wrapper .h6 .small,.pixel-caffeine-wrapper .h6 small,.pixel-caffeine-wrapper h4 .small,.pixel-caffeine-wrapper h4 small,.pixel-caffeine-wrapper h5 .small,.pixel-caffeine-wrapper h5 small,.pixel-caffeine-wrapper h6 .small,.pixel-caffeine-wrapper h6 small{font-size:75%}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper h1{font-size:36px}.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper h2{font-size:30px}.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper h3{font-size:24px}.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper h4{font-size:18px}.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper h5{font-size:14px}.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h6{font-size:12px}.pixel-caffeine-wrapper p{margin:0 0 10px}.pixel-caffeine-wrapper .lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.pixel-caffeine-wrapper .lead{font-size:21px}}.pixel-caffeine-wrapper .small,.pixel-caffeine-wrapper small{font-size:85%}.pixel-caffeine-wrapper .mark,.pixel-caffeine-wrapper mark{padding:.2em;background-color:#fcf8e3}.pixel-caffeine-wrapper .text-left{text-align:left}.pixel-caffeine-wrapper .text-right{text-align:right}.pixel-caffeine-wrapper .text-center{text-align:center}.pixel-caffeine-wrapper .text-justify{text-align:justify}.pixel-caffeine-wrapper .text-nowrap{white-space:nowrap}.pixel-caffeine-wrapper .text-lowercase{text-transform:lowercase}.pixel-caffeine-wrapper .initialism,.pixel-caffeine-wrapper .text-uppercase{text-transform:uppercase}.pixel-caffeine-wrapper .text-capitalize{text-transform:capitalize}.pixel-caffeine-wrapper .text-muted{color:#777}.pixel-caffeine-wrapper a.text-primary:focus,.pixel-caffeine-wrapper a.text-primary:hover{color:#3b5998}.pixel-caffeine-wrapper .text-success{color:#3c763d}.pixel-caffeine-wrapper a.text-success:focus,.pixel-caffeine-wrapper a.text-success:hover{color:#2b542c}.pixel-caffeine-wrapper .text-info{color:#31708f}.pixel-caffeine-wrapper a.text-info:focus,.pixel-caffeine-wrapper a.text-info:hover{color:#245269}.pixel-caffeine-wrapper .text-warning{color:#8a6d3b}.pixel-caffeine-wrapper a.text-warning:focus,.pixel-caffeine-wrapper a.text-warning:hover{color:#66512c}.pixel-caffeine-wrapper .text-danger{color:#a94442}.pixel-caffeine-wrapper a.text-danger:focus,.pixel-caffeine-wrapper a.text-danger:hover{color:#843534}.pixel-caffeine-wrapper .bg-primary{color:#fff;background-color:#4c70ba}.pixel-caffeine-wrapper a.bg-primary:focus,.pixel-caffeine-wrapper a.bg-primary:hover{background-color:#3b5998}.pixel-caffeine-wrapper .bg-success{background-color:#dff0d8}.pixel-caffeine-wrapper a.bg-success:focus,.pixel-caffeine-wrapper a.bg-success:hover{background-color:#c1e2b3}.pixel-caffeine-wrapper .bg-info{background-color:#d9edf7}.pixel-caffeine-wrapper a.bg-info:focus,.pixel-caffeine-wrapper a.bg-info:hover{background-color:#afd9ee}.pixel-caffeine-wrapper .bg-warning{background-color:#fcf8e3}.pixel-caffeine-wrapper a.bg-warning:focus,.pixel-caffeine-wrapper a.bg-warning:hover{background-color:#f7ecb5}.pixel-caffeine-wrapper .bg-danger{background-color:#f2dede}.pixel-caffeine-wrapper a.bg-danger:focus,.pixel-caffeine-wrapper a.bg-danger:hover{background-color:#e4b9b9}.pixel-caffeine-wrapper .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.pixel-caffeine-wrapper ol,.pixel-caffeine-wrapper ul{margin-top:0;margin-bottom:10px}.pixel-caffeine-wrapper ol ol,.pixel-caffeine-wrapper ol ul,.pixel-caffeine-wrapper ul ol,.pixel-caffeine-wrapper ul ul{margin-bottom:0}.pixel-caffeine-wrapper .list-unstyled{padding-left:0;list-style:none}.pixel-caffeine-wrapper .list-inline{padding-left:0;list-style:none;margin-left:-5px}.pixel-caffeine-wrapper .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.pixel-caffeine-wrapper dl{margin-top:0;margin-bottom:20px}.pixel-caffeine-wrapper dd,.pixel-caffeine-wrapper dt{line-height:1.42857}.pixel-caffeine-wrapper dt{font-weight:700}.pixel-caffeine-wrapper dd{margin-left:0}.pixel-caffeine-wrapper .dl-horizontal dd:after,.pixel-caffeine-wrapper .dl-horizontal dd:before{display:table;content:" "}.pixel-caffeine-wrapper .dl-horizontal dd:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pixel-caffeine-wrapper .dl-horizontal dd{margin-left:180px}}.pixel-caffeine-wrapper abbr[data-original-title],.pixel-caffeine-wrapper abbr[title]{cursor:help}.pixel-caffeine-wrapper .initialism{font-size:90%}.pixel-caffeine-wrapper blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}.pixel-caffeine-wrapper blockquote ol:last-child,.pixel-caffeine-wrapper blockquote p:last-child,.pixel-caffeine-wrapper blockquote ul:last-child{margin-bottom:0}.pixel-caffeine-wrapper blockquote .small,.pixel-caffeine-wrapper blockquote footer,.pixel-caffeine-wrapper blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}.pixel-caffeine-wrapper blockquote .small:before,.pixel-caffeine-wrapper blockquote footer:before,.pixel-caffeine-wrapper blockquote small:before{content:"\2014 \A0"}.pixel-caffeine-wrapper .blockquote-reverse,.pixel-caffeine-wrapper blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.pixel-caffeine-wrapper .blockquote-reverse .small:before,.pixel-caffeine-wrapper .blockquote-reverse footer:before,.pixel-caffeine-wrapper .blockquote-reverse small:before,.pixel-caffeine-wrapper blockquote.pull-right .small:before,.pixel-caffeine-wrapper blockquote.pull-right footer:before,.pixel-caffeine-wrapper blockquote.pull-right small:before{content:""}.pixel-caffeine-wrapper .blockquote-reverse .small:after,.pixel-caffeine-wrapper .blockquote-reverse footer:after,.pixel-caffeine-wrapper .blockquote-reverse small:after,.pixel-caffeine-wrapper blockquote.pull-right .small:after,.pixel-caffeine-wrapper blockquote.pull-right footer:after,.pixel-caffeine-wrapper blockquote.pull-right small:after{content:"\A0 \2014"}.pixel-caffeine-wrapper address{margin-bottom:20px;font-style:normal;line-height:1.42857}.pixel-caffeine-wrapper code,.pixel-caffeine-wrapper kbd,.pixel-caffeine-wrapper pre,.pixel-caffeine-wrapper samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.pixel-caffeine-wrapper code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.pixel-caffeine-wrapper kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}.pixel-caffeine-wrapper kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}.pixel-caffeine-wrapper pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.pixel-caffeine-wrapper pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pixel-caffeine-wrapper .pre-scrollable{max-height:340px;overflow-y:scroll}.pixel-caffeine-wrapper .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .container:after,.pixel-caffeine-wrapper .container:before{display:table;content:" "}.pixel-caffeine-wrapper .container:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .container{width:750px}}@media (min-width:992px){.pixel-caffeine-wrapper .container{width:970px}}@media (min-width:1200px){.pixel-caffeine-wrapper .container{width:1170px}}.pixel-caffeine-wrapper .container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .container-fluid:after,.pixel-caffeine-wrapper .container-fluid:before{display:table;content:" "}.pixel-caffeine-wrapper .container-fluid:after{clear:both}.pixel-caffeine-wrapper .row{margin-right:-15px;margin-left:-15px}.pixel-caffeine-wrapper .row:after,.pixel-caffeine-wrapper .row:before{display:table;content:" "}.pixel-caffeine-wrapper .row:after{clear:both}.pixel-caffeine-wrapper .row-no-gutters{margin-right:0;margin-left:0}.pixel-caffeine-wrapper .row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.pixel-caffeine-wrapper .col-lg-1,.pixel-caffeine-wrapper .col-lg-2,.pixel-caffeine-wrapper .col-lg-3,.pixel-caffeine-wrapper .col-lg-4,.pixel-caffeine-wrapper .col-lg-5,.pixel-caffeine-wrapper .col-lg-6,.pixel-caffeine-wrapper .col-lg-7,.pixel-caffeine-wrapper .col-lg-8,.pixel-caffeine-wrapper .col-lg-9,.pixel-caffeine-wrapper .col-lg-10,.pixel-caffeine-wrapper .col-lg-11,.pixel-caffeine-wrapper .col-lg-12,.pixel-caffeine-wrapper .col-md-1,.pixel-caffeine-wrapper .col-md-2,.pixel-caffeine-wrapper .col-md-3,.pixel-caffeine-wrapper .col-md-4,.pixel-caffeine-wrapper .col-md-5,.pixel-caffeine-wrapper .col-md-6,.pixel-caffeine-wrapper .col-md-7,.pixel-caffeine-wrapper .col-md-8,.pixel-caffeine-wrapper .col-md-9,.pixel-caffeine-wrapper .col-md-10,.pixel-caffeine-wrapper .col-md-11,.pixel-caffeine-wrapper .col-md-12,.pixel-caffeine-wrapper .col-sm-1,.pixel-caffeine-wrapper .col-sm-2,.pixel-caffeine-wrapper .col-sm-3,.pixel-caffeine-wrapper .col-sm-4,.pixel-caffeine-wrapper .col-sm-5,.pixel-caffeine-wrapper .col-sm-6,.pixel-caffeine-wrapper .col-sm-7,.pixel-caffeine-wrapper .col-sm-8,.pixel-caffeine-wrapper .col-sm-9,.pixel-caffeine-wrapper .col-sm-10,.pixel-caffeine-wrapper .col-sm-11,.pixel-caffeine-wrapper .col-sm-12,.pixel-caffeine-wrapper .col-xs-1,.pixel-caffeine-wrapper .col-xs-2,.pixel-caffeine-wrapper .col-xs-3,.pixel-caffeine-wrapper .col-xs-4,.pixel-caffeine-wrapper .col-xs-5,.pixel-caffeine-wrapper .col-xs-6,.pixel-caffeine-wrapper .col-xs-7,.pixel-caffeine-wrapper .col-xs-8,.pixel-caffeine-wrapper .col-xs-9,.pixel-caffeine-wrapper .col-xs-10,.pixel-caffeine-wrapper .col-xs-11,.pixel-caffeine-wrapper .col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.pixel-caffeine-wrapper .col-xs-1,.pixel-caffeine-wrapper .col-xs-2,.pixel-caffeine-wrapper .col-xs-3,.pixel-caffeine-wrapper .col-xs-4,.pixel-caffeine-wrapper .col-xs-5,.pixel-caffeine-wrapper .col-xs-6,.pixel-caffeine-wrapper .col-xs-7,.pixel-caffeine-wrapper .col-xs-8,.pixel-caffeine-wrapper .col-xs-9,.pixel-caffeine-wrapper .col-xs-10,.pixel-caffeine-wrapper .col-xs-11,.pixel-caffeine-wrapper .col-xs-12{float:left}.pixel-caffeine-wrapper .col-xs-1{width:8.33333%}.pixel-caffeine-wrapper .col-xs-2{width:16.66667%}.pixel-caffeine-wrapper .col-xs-3{width:25%}.pixel-caffeine-wrapper .col-xs-4{width:33.33333%}.pixel-caffeine-wrapper .col-xs-5{width:41.66667%}.pixel-caffeine-wrapper .col-xs-6{width:50%}.pixel-caffeine-wrapper .col-xs-7{width:58.33333%}.pixel-caffeine-wrapper .col-xs-8{width:66.66667%}.pixel-caffeine-wrapper .col-xs-9{width:75%}.pixel-caffeine-wrapper .col-xs-10{width:83.33333%}.pixel-caffeine-wrapper .col-xs-11{width:91.66667%}.pixel-caffeine-wrapper .col-xs-12{width:100%}.pixel-caffeine-wrapper .col-xs-pull-0{right:auto}.pixel-caffeine-wrapper .col-xs-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-xs-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-xs-pull-3{right:25%}.pixel-caffeine-wrapper .col-xs-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-xs-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-xs-pull-6{right:50%}.pixel-caffeine-wrapper .col-xs-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-xs-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-xs-pull-9{right:75%}.pixel-caffeine-wrapper .col-xs-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-xs-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-xs-pull-12{right:100%}.pixel-caffeine-wrapper .col-xs-push-0{left:auto}.pixel-caffeine-wrapper .col-xs-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-xs-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-xs-push-3{left:25%}.pixel-caffeine-wrapper .col-xs-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-xs-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-xs-push-6{left:50%}.pixel-caffeine-wrapper .col-xs-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-xs-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-xs-push-9{left:75%}.pixel-caffeine-wrapper .col-xs-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-xs-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-xs-push-12{left:100%}.pixel-caffeine-wrapper .col-xs-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-xs-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-xs-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-xs-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-xs-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-xs-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-xs-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-xs-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-xs-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-xs-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-xs-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-xs-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-xs-offset-12{margin-left:100%}@media (min-width:768px){.pixel-caffeine-wrapper .col-sm-1,.pixel-caffeine-wrapper .col-sm-2,.pixel-caffeine-wrapper .col-sm-3,.pixel-caffeine-wrapper .col-sm-4,.pixel-caffeine-wrapper .col-sm-5,.pixel-caffeine-wrapper .col-sm-6,.pixel-caffeine-wrapper .col-sm-7,.pixel-caffeine-wrapper .col-sm-8,.pixel-caffeine-wrapper .col-sm-9,.pixel-caffeine-wrapper .col-sm-10,.pixel-caffeine-wrapper .col-sm-11,.pixel-caffeine-wrapper .col-sm-12{float:left}.pixel-caffeine-wrapper .col-sm-1{width:8.33333%}.pixel-caffeine-wrapper .col-sm-2{width:16.66667%}.pixel-caffeine-wrapper .col-sm-3{width:25%}.pixel-caffeine-wrapper .col-sm-4{width:33.33333%}.pixel-caffeine-wrapper .col-sm-5{width:41.66667%}.pixel-caffeine-wrapper .col-sm-6{width:50%}.pixel-caffeine-wrapper .col-sm-7{width:58.33333%}.pixel-caffeine-wrapper .col-sm-8{width:66.66667%}.pixel-caffeine-wrapper .col-sm-9{width:75%}.pixel-caffeine-wrapper .col-sm-10{width:83.33333%}.pixel-caffeine-wrapper .col-sm-11{width:91.66667%}.pixel-caffeine-wrapper .col-sm-12{width:100%}.pixel-caffeine-wrapper .col-sm-pull-0{right:auto}.pixel-caffeine-wrapper .col-sm-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-sm-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-sm-pull-3{right:25%}.pixel-caffeine-wrapper .col-sm-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-sm-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-sm-pull-6{right:50%}.pixel-caffeine-wrapper .col-sm-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-sm-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-sm-pull-9{right:75%}.pixel-caffeine-wrapper .col-sm-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-sm-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-sm-pull-12{right:100%}.pixel-caffeine-wrapper .col-sm-push-0{left:auto}.pixel-caffeine-wrapper .col-sm-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-sm-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-sm-push-3{left:25%}.pixel-caffeine-wrapper .col-sm-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-sm-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-sm-push-6{left:50%}.pixel-caffeine-wrapper .col-sm-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-sm-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-sm-push-9{left:75%}.pixel-caffeine-wrapper .col-sm-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-sm-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-sm-push-12{left:100%}.pixel-caffeine-wrapper .col-sm-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-sm-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-sm-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-sm-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-sm-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-sm-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-sm-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-sm-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-sm-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-sm-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-sm-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-sm-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.pixel-caffeine-wrapper .col-md-1,.pixel-caffeine-wrapper .col-md-2,.pixel-caffeine-wrapper .col-md-3,.pixel-caffeine-wrapper .col-md-4,.pixel-caffeine-wrapper .col-md-5,.pixel-caffeine-wrapper .col-md-6,.pixel-caffeine-wrapper .col-md-7,.pixel-caffeine-wrapper .col-md-8,.pixel-caffeine-wrapper .col-md-9,.pixel-caffeine-wrapper .col-md-10,.pixel-caffeine-wrapper .col-md-11,.pixel-caffeine-wrapper .col-md-12{float:left}.pixel-caffeine-wrapper .col-md-1{width:8.33333%}.pixel-caffeine-wrapper .col-md-2{width:16.66667%}.pixel-caffeine-wrapper .col-md-3{width:25%}.pixel-caffeine-wrapper .col-md-4{width:33.33333%}.pixel-caffeine-wrapper .col-md-5{width:41.66667%}.pixel-caffeine-wrapper .col-md-6{width:50%}.pixel-caffeine-wrapper .col-md-7{width:58.33333%}.pixel-caffeine-wrapper .col-md-8{width:66.66667%}.pixel-caffeine-wrapper .col-md-9{width:75%}.pixel-caffeine-wrapper .col-md-10{width:83.33333%}.pixel-caffeine-wrapper .col-md-11{width:91.66667%}.pixel-caffeine-wrapper .col-md-12{width:100%}.pixel-caffeine-wrapper .col-md-pull-0{right:auto}.pixel-caffeine-wrapper .col-md-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-md-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-md-pull-3{right:25%}.pixel-caffeine-wrapper .col-md-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-md-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-md-pull-6{right:50%}.pixel-caffeine-wrapper .col-md-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-md-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-md-pull-9{right:75%}.pixel-caffeine-wrapper .col-md-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-md-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-md-pull-12{right:100%}.pixel-caffeine-wrapper .col-md-push-0{left:auto}.pixel-caffeine-wrapper .col-md-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-md-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-md-push-3{left:25%}.pixel-caffeine-wrapper .col-md-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-md-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-md-push-6{left:50%}.pixel-caffeine-wrapper .col-md-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-md-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-md-push-9{left:75%}.pixel-caffeine-wrapper .col-md-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-md-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-md-push-12{left:100%}.pixel-caffeine-wrapper .col-md-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-md-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-md-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-md-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-md-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-md-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-md-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-md-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-md-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-md-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-md-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-md-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.pixel-caffeine-wrapper .col-lg-1,.pixel-caffeine-wrapper .col-lg-2,.pixel-caffeine-wrapper .col-lg-3,.pixel-caffeine-wrapper .col-lg-4,.pixel-caffeine-wrapper .col-lg-5,.pixel-caffeine-wrapper .col-lg-6,.pixel-caffeine-wrapper .col-lg-7,.pixel-caffeine-wrapper .col-lg-8,.pixel-caffeine-wrapper .col-lg-9,.pixel-caffeine-wrapper .col-lg-10,.pixel-caffeine-wrapper .col-lg-11,.pixel-caffeine-wrapper .col-lg-12{float:left}.pixel-caffeine-wrapper .col-lg-1{width:8.33333%}.pixel-caffeine-wrapper .col-lg-2{width:16.66667%}.pixel-caffeine-wrapper .col-lg-3{width:25%}.pixel-caffeine-wrapper .col-lg-4{width:33.33333%}.pixel-caffeine-wrapper .col-lg-5{width:41.66667%}.pixel-caffeine-wrapper .col-lg-6{width:50%}.pixel-caffeine-wrapper .col-lg-7{width:58.33333%}.pixel-caffeine-wrapper .col-lg-8{width:66.66667%}.pixel-caffeine-wrapper .col-lg-9{width:75%}.pixel-caffeine-wrapper .col-lg-10{width:83.33333%}.pixel-caffeine-wrapper .col-lg-11{width:91.66667%}.pixel-caffeine-wrapper .col-lg-12{width:100%}.pixel-caffeine-wrapper .col-lg-pull-0{right:auto}.pixel-caffeine-wrapper .col-lg-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-lg-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-lg-pull-3{right:25%}.pixel-caffeine-wrapper .col-lg-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-lg-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-lg-pull-6{right:50%}.pixel-caffeine-wrapper .col-lg-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-lg-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-lg-pull-9{right:75%}.pixel-caffeine-wrapper .col-lg-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-lg-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-lg-pull-12{right:100%}.pixel-caffeine-wrapper .col-lg-push-0{left:auto}.pixel-caffeine-wrapper .col-lg-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-lg-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-lg-push-3{left:25%}.pixel-caffeine-wrapper .col-lg-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-lg-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-lg-push-6{left:50%}.pixel-caffeine-wrapper .col-lg-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-lg-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-lg-push-9{left:75%}.pixel-caffeine-wrapper .col-lg-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-lg-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-lg-push-12{left:100%}.pixel-caffeine-wrapper .col-lg-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-lg-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-lg-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-lg-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-lg-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-lg-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-lg-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-lg-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-lg-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-lg-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-lg-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-lg-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-lg-offset-12{margin-left:100%}}.pixel-caffeine-wrapper table{background-color:transparent}.pixel-caffeine-wrapper table col[class*=col-]{position:static;display:table-column;float:none}.pixel-caffeine-wrapper table td[class*=col-],.pixel-caffeine-wrapper table th[class*=col-]{position:static;display:table-cell;float:none}.pixel-caffeine-wrapper caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}.pixel-caffeine-wrapper th{text-align:left}.pixel-caffeine-wrapper .table{width:100%;max-width:100%;margin-bottom:20px}.pixel-caffeine-wrapper .table>tbody>tr>td,.pixel-caffeine-wrapper .table>tbody>tr>th,.pixel-caffeine-wrapper .table>tfoot>tr>td,.pixel-caffeine-wrapper .table>tfoot>tr>th,.pixel-caffeine-wrapper .table>thead>tr>td,.pixel-caffeine-wrapper .table>thead>tr>th{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.pixel-caffeine-wrapper .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.pixel-caffeine-wrapper .table>caption+thead>tr:first-child>td,.pixel-caffeine-wrapper .table>caption+thead>tr:first-child>th,.pixel-caffeine-wrapper .table>colgroup+thead>tr:first-child>td,.pixel-caffeine-wrapper .table>colgroup+thead>tr:first-child>th,.pixel-caffeine-wrapper .table>thead:first-child>tr:first-child>td,.pixel-caffeine-wrapper .table>thead:first-child>tr:first-child>th{border-top:0}.pixel-caffeine-wrapper .table>tbody+tbody{border-top:2px solid #ddd}.pixel-caffeine-wrapper .table .table{background-color:transparent}.pixel-caffeine-wrapper .table-condensed>tbody>tr>td,.pixel-caffeine-wrapper .table-condensed>tbody>tr>th,.pixel-caffeine-wrapper .table-condensed>tfoot>tr>td,.pixel-caffeine-wrapper .table-condensed>tfoot>tr>th,.pixel-caffeine-wrapper .table-condensed>thead>tr>td,.pixel-caffeine-wrapper .table-condensed>thead>tr>th{padding:5px}.pixel-caffeine-wrapper .table-bordered,.pixel-caffeine-wrapper .table-bordered>tbody>tr>td,.pixel-caffeine-wrapper .table-bordered>tbody>tr>th,.pixel-caffeine-wrapper .table-bordered>tfoot>tr>td,.pixel-caffeine-wrapper .table-bordered>tfoot>tr>th,.pixel-caffeine-wrapper .table-bordered>thead>tr>td,.pixel-caffeine-wrapper .table-bordered>thead>tr>th{border:1px solid #ddd}.pixel-caffeine-wrapper .table-bordered>thead>tr>td,.pixel-caffeine-wrapper .table-bordered>thead>tr>th{border-bottom-width:2px}.pixel-caffeine-wrapper .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.pixel-caffeine-wrapper .table-hover>tbody>tr:hover,.pixel-caffeine-wrapper .table>tbody>tr.active>td,.pixel-caffeine-wrapper .table>tbody>tr.active>th,.pixel-caffeine-wrapper .table>tbody>tr>td.active,.pixel-caffeine-wrapper .table>tbody>tr>th.active,.pixel-caffeine-wrapper .table>tfoot>tr.active>td,.pixel-caffeine-wrapper .table>tfoot>tr.active>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.active,.pixel-caffeine-wrapper .table>tfoot>tr>th.active,.pixel-caffeine-wrapper .table>thead>tr.active>td,.pixel-caffeine-wrapper .table>thead>tr.active>th,.pixel-caffeine-wrapper .table>thead>tr>td.active,.pixel-caffeine-wrapper .table>thead>tr>th.active{background-color:#f5f5f5}.pixel-caffeine-wrapper .table-hover>tbody>tr.active:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.active:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.active,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.active:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.pixel-caffeine-wrapper .table>tbody>tr.success>td,.pixel-caffeine-wrapper .table>tbody>tr.success>th,.pixel-caffeine-wrapper .table>tbody>tr>td.success,.pixel-caffeine-wrapper .table>tbody>tr>th.success,.pixel-caffeine-wrapper .table>tfoot>tr.success>td,.pixel-caffeine-wrapper .table>tfoot>tr.success>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.success,.pixel-caffeine-wrapper .table>tfoot>tr>th.success,.pixel-caffeine-wrapper .table>thead>tr.success>td,.pixel-caffeine-wrapper .table>thead>tr.success>th,.pixel-caffeine-wrapper .table>thead>tr>td.success,.pixel-caffeine-wrapper .table>thead>tr>th.success{background-color:#dff0d8}.pixel-caffeine-wrapper .table-hover>tbody>tr.success:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.success:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.success,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.success:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.pixel-caffeine-wrapper .table>tbody>tr.info>td,.pixel-caffeine-wrapper .table>tbody>tr.info>th,.pixel-caffeine-wrapper .table>tbody>tr>td.info,.pixel-caffeine-wrapper .table>tbody>tr>th.info,.pixel-caffeine-wrapper .table>tfoot>tr.info>td,.pixel-caffeine-wrapper .table>tfoot>tr.info>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.info,.pixel-caffeine-wrapper .table>tfoot>tr>th.info,.pixel-caffeine-wrapper .table>thead>tr.info>td,.pixel-caffeine-wrapper .table>thead>tr.info>th,.pixel-caffeine-wrapper .table>thead>tr>td.info,.pixel-caffeine-wrapper .table>thead>tr>th.info{background-color:#d9edf7}.pixel-caffeine-wrapper .table-hover>tbody>tr.info:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.info:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.info,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.info:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.pixel-caffeine-wrapper .table>tbody>tr.warning>td,.pixel-caffeine-wrapper .table>tbody>tr.warning>th,.pixel-caffeine-wrapper .table>tbody>tr>td.warning,.pixel-caffeine-wrapper .table>tbody>tr>th.warning,.pixel-caffeine-wrapper .table>tfoot>tr.warning>td,.pixel-caffeine-wrapper .table>tfoot>tr.warning>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.warning,.pixel-caffeine-wrapper .table>tfoot>tr>th.warning,.pixel-caffeine-wrapper .table>thead>tr.warning>td,.pixel-caffeine-wrapper .table>thead>tr.warning>th,.pixel-caffeine-wrapper .table>thead>tr>td.warning,.pixel-caffeine-wrapper .table>thead>tr>th.warning{background-color:#fcf8e3}.pixel-caffeine-wrapper .table-hover>tbody>tr.warning:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.warning:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.warning,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.warning:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.pixel-caffeine-wrapper .table>tbody>tr.danger>td,.pixel-caffeine-wrapper .table>tbody>tr.danger>th,.pixel-caffeine-wrapper .table>tbody>tr>td.danger,.pixel-caffeine-wrapper .table>tbody>tr>th.danger,.pixel-caffeine-wrapper .table>tfoot>tr.danger>td,.pixel-caffeine-wrapper .table>tfoot>tr.danger>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.danger,.pixel-caffeine-wrapper .table>tfoot>tr>th.danger,.pixel-caffeine-wrapper .table>thead>tr.danger>td,.pixel-caffeine-wrapper .table>thead>tr.danger>th,.pixel-caffeine-wrapper .table>thead>tr>td.danger,.pixel-caffeine-wrapper .table>thead>tr>th.danger{background-color:#f2dede}.pixel-caffeine-wrapper .table-hover>tbody>tr.danger:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.danger:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.danger,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.danger:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.pixel-caffeine-wrapper .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.pixel-caffeine-wrapper .table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.pixel-caffeine-wrapper .table-responsive>.table{margin-bottom:0}.pixel-caffeine-wrapper .table-responsive>.table>tbody>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>tbody>tr>th,.pixel-caffeine-wrapper .table-responsive>.table>tfoot>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>tfoot>tr>th,.pixel-caffeine-wrapper .table-responsive>.table>thead>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>thead>tr>th{white-space:nowrap}.pixel-caffeine-wrapper .table-responsive>.table-bordered{border:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.pixel-caffeine-wrapper fieldset{min-width:0;padding:0;margin:0;border:0}.pixel-caffeine-wrapper legend{display:block;width:100%;padding:0;margin-bottom:20px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.pixel-caffeine-wrapper label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.pixel-caffeine-wrapper input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}.pixel-caffeine-wrapper input[type=checkbox],.pixel-caffeine-wrapper input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.pixel-caffeine-wrapper input[type=checkbox].disabled,.pixel-caffeine-wrapper input[type=checkbox][disabled],.pixel-caffeine-wrapper input[type=radio].disabled,.pixel-caffeine-wrapper input[type=radio][disabled],fieldset[disabled] .pixel-caffeine-wrapper input[type=checkbox],fieldset[disabled] .pixel-caffeine-wrapper input[type=radio]{cursor:not-allowed}.pixel-caffeine-wrapper input[type=file]{display:block}.pixel-caffeine-wrapper input[type=range]{display:block;width:100%}.pixel-caffeine-wrapper select[multiple],.pixel-caffeine-wrapper select[size]{height:auto}.pixel-caffeine-wrapper input[type=checkbox]:focus,.pixel-caffeine-wrapper input[type=file]:focus,.pixel-caffeine-wrapper input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper output{display:block;padding-top:7px;color:#555}.pixel-caffeine-wrapper .form-control{display:block;width:100%;height:34px;padding:6px 12px;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.pixel-caffeine-wrapper .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.pixel-caffeine-wrapper .form-control::-moz-placeholder{color:#999;opacity:1}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder{color:#999}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder{color:#999}.pixel-caffeine-wrapper .form-control::-ms-expand{background-color:transparent;border:0}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-control[readonly],fieldset[disabled] .pixel-caffeine-wrapper .form-control{background-color:#eee;opacity:1}.pixel-caffeine-wrapper .form-control[disabled],fieldset[disabled] .pixel-caffeine-wrapper .form-control{cursor:not-allowed}.pixel-caffeine-wrapper textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.pixel-caffeine-wrapper input[type=date].form-control,.pixel-caffeine-wrapper input[type=datetime-local].form-control,.pixel-caffeine-wrapper input[type=month].form-control,.pixel-caffeine-wrapper input[type=time].form-control{line-height:34px}.input-group-sm .pixel-caffeine-wrapper input[type=date],.input-group-sm .pixel-caffeine-wrapper input[type=datetime-local],.input-group-sm .pixel-caffeine-wrapper input[type=month],.input-group-sm .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-sm,.pixel-caffeine-wrapper input[type=datetime-local].input-sm,.pixel-caffeine-wrapper input[type=month].input-sm,.pixel-caffeine-wrapper input[type=time].input-sm{line-height:30px}.input-group-lg .pixel-caffeine-wrapper input[type=date],.input-group-lg .pixel-caffeine-wrapper input[type=datetime-local],.input-group-lg .pixel-caffeine-wrapper input[type=month],.input-group-lg .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-lg,.pixel-caffeine-wrapper input[type=datetime-local].input-lg,.pixel-caffeine-wrapper input[type=month].input-lg,.pixel-caffeine-wrapper input[type=time].input-lg{line-height:46px}}.pixel-caffeine-wrapper .form-group{margin-bottom:15px}.pixel-caffeine-wrapper .checkbox,.pixel-caffeine-wrapper .radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .checkbox.disabled label,.pixel-caffeine-wrapper .radio.disabled label,fieldset[disabled] .pixel-caffeine-wrapper .checkbox label,fieldset[disabled] .pixel-caffeine-wrapper .radio label{cursor:not-allowed}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.pixel-caffeine-wrapper .checkbox-inline input[type=checkbox],.pixel-caffeine-wrapper .checkbox input[type=checkbox],.pixel-caffeine-wrapper .radio-inline input[type=radio],.pixel-caffeine-wrapper .radio input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.pixel-caffeine-wrapper .checkbox+.checkbox,.pixel-caffeine-wrapper .radio+.radio{margin-top:-5px}.pixel-caffeine-wrapper .checkbox-inline,.pixel-caffeine-wrapper .radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.pixel-caffeine-wrapper .checkbox-inline.disabled,.pixel-caffeine-wrapper .radio-inline.disabled,fieldset[disabled] .pixel-caffeine-wrapper .checkbox-inline,fieldset[disabled] .pixel-caffeine-wrapper .radio-inline{cursor:not-allowed}.pixel-caffeine-wrapper .checkbox-inline+.checkbox-inline,.pixel-caffeine-wrapper .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.pixel-caffeine-wrapper .form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.pixel-caffeine-wrapper .form-control-static.input-lg,.pixel-caffeine-wrapper .form-control-static.input-sm,.pixel-caffeine-wrapper .input-group-lg>.form-control-static.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control-static.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.form-control-static.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control-static.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control-static.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.pixel-caffeine-wrapper .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper select.input-sm{height:30px;line-height:30px}.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper select[multiple].input-sm,.pixel-caffeine-wrapper textarea.input-sm{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;border-radius:3px}.pixel-caffeine-wrapper .form-group-sm select.form-control{height:30px;line-height:30px}.pixel-caffeine-wrapper .form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px}.pixel-caffeine-wrapper .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper select.input-lg{height:46px;line-height:46px}.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper select[multiple].input-lg,.pixel-caffeine-wrapper textarea.input-lg{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control{height:46px;padding:10px 16px;border-radius:6px}.pixel-caffeine-wrapper .form-group-lg select.form-control{height:46px;line-height:46px}.pixel-caffeine-wrapper .form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px}.pixel-caffeine-wrapper .has-feedback{position:relative}.pixel-caffeine-wrapper .has-feedback .form-control{padding-right:42.5px}.pixel-caffeine-wrapper .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.pixel-caffeine-wrapper .form-group-lg .form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn+.form-control-feedback,.pixel-caffeine-wrapper .input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.pixel-caffeine-wrapper .form-group-sm .form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn+.form-control-feedback,.pixel-caffeine-wrapper .input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.pixel-caffeine-wrapper .has-success .checkbox,.pixel-caffeine-wrapper .has-success .checkbox-inline,.pixel-caffeine-wrapper .has-success.checkbox-inline label,.pixel-caffeine-wrapper .has-success.checkbox label,.pixel-caffeine-wrapper .has-success .control-label,.pixel-caffeine-wrapper .has-success .help-block,.pixel-caffeine-wrapper .has-success .radio,.pixel-caffeine-wrapper .has-success .radio-inline,.pixel-caffeine-wrapper .has-success.radio-inline label,.pixel-caffeine-wrapper .has-success.radio label{color:#3c763d}.pixel-caffeine-wrapper .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.pixel-caffeine-wrapper .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.pixel-caffeine-wrapper .has-success .form-control-feedback{color:#3c763d}.pixel-caffeine-wrapper .has-warning .checkbox,.pixel-caffeine-wrapper .has-warning .checkbox-inline,.pixel-caffeine-wrapper .has-warning.checkbox-inline label,.pixel-caffeine-wrapper .has-warning.checkbox label,.pixel-caffeine-wrapper .has-warning .control-label,.pixel-caffeine-wrapper .has-warning .help-block,.pixel-caffeine-wrapper .has-warning .radio,.pixel-caffeine-wrapper .has-warning .radio-inline,.pixel-caffeine-wrapper .has-warning.radio-inline label,.pixel-caffeine-wrapper .has-warning.radio label{color:#8a6d3b}.pixel-caffeine-wrapper .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.pixel-caffeine-wrapper .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.pixel-caffeine-wrapper .has-warning .form-control-feedback{color:#8a6d3b}.pixel-caffeine-wrapper .has-error .checkbox,.pixel-caffeine-wrapper .has-error .checkbox-inline,.pixel-caffeine-wrapper .has-error.checkbox-inline label,.pixel-caffeine-wrapper .has-error.checkbox label,.pixel-caffeine-wrapper .has-error .control-label,.pixel-caffeine-wrapper .has-error .help-block,.pixel-caffeine-wrapper .has-error .radio,.pixel-caffeine-wrapper .has-error .radio-inline,.pixel-caffeine-wrapper .has-error.radio-inline label,.pixel-caffeine-wrapper .has-error.radio label{color:#a94442}.pixel-caffeine-wrapper .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.pixel-caffeine-wrapper .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.pixel-caffeine-wrapper .has-error .form-control-feedback{color:#a94442}.pixel-caffeine-wrapper .has-feedback label~.form-control-feedback{top:25px}.pixel-caffeine-wrapper .has-feedback label.sr-only~.form-control-feedback{top:0}.pixel-caffeine-wrapper .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.pixel-caffeine-wrapper .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .form-control-static{display:inline-block}.pixel-caffeine-wrapper .form-inline .input-group{display:inline-table;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .input-group .form-control,.pixel-caffeine-wrapper .form-inline .input-group .input-group-addon,.pixel-caffeine-wrapper .form-inline .input-group .input-group-btn{width:auto}.pixel-caffeine-wrapper .form-inline .input-group>.form-control{width:100%}.pixel-caffeine-wrapper .form-inline .control-label{margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .checkbox,.pixel-caffeine-wrapper .form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .checkbox label,.pixel-caffeine-wrapper .form-inline .radio label{padding-left:0}.pixel-caffeine-wrapper .form-inline .checkbox input[type=checkbox],.pixel-caffeine-wrapper .form-inline .radio input[type=radio]{position:relative;margin-left:0}.pixel-caffeine-wrapper .form-inline .has-feedback .form-control-feedback{top:0}}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .radio{min-height:27px}.pixel-caffeine-wrapper .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.pixel-caffeine-wrapper .form-horizontal .form-group:after,.pixel-caffeine-wrapper .form-horizontal .form-group:before{display:table;content:" "}.pixel-caffeine-wrapper .form-horizontal .form-group:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.pixel-caffeine-wrapper .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.pixel-caffeine-wrapper .btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pixel-caffeine-wrapper .btn.active.focus,.pixel-caffeine-wrapper .btn.active:focus,.pixel-caffeine-wrapper .btn.focus,.pixel-caffeine-wrapper .btn:active.focus,.pixel-caffeine-wrapper .btn:active:focus,.pixel-caffeine-wrapper .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper .btn.focus,.pixel-caffeine-wrapper .btn:focus,.pixel-caffeine-wrapper .btn:hover{color:#333;text-decoration:none}.pixel-caffeine-wrapper .btn.active,.pixel-caffeine-wrapper .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.pixel-caffeine-wrapper .btn.disabled,.pixel-caffeine-wrapper .btn[disabled],fieldset[disabled] .pixel-caffeine-wrapper .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper a.btn.disabled,fieldset[disabled] .pixel-caffeine-wrapper a.btn{pointer-events:none}.pixel-caffeine-wrapper .btn-default{color:#333;background-color:#f2f2f2;border-color:#ccc}.pixel-caffeine-wrapper .btn-default.focus,.pixel-caffeine-wrapper .btn-default:focus{color:#333;background-color:#d9d9d9;border-color:#8c8c8c}.pixel-caffeine-wrapper .btn-default:hover{color:#333;background-color:#d9d9d9;border-color:#adadad}.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle,.pixel-caffeine-wrapper .btn-default.active,.pixel-caffeine-wrapper .btn-default:active{color:#333;background-color:#d9d9d9;background-image:none;border-color:#adadad}.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-default.active.focus,.pixel-caffeine-wrapper .btn-default.active:focus,.pixel-caffeine-wrapper .btn-default.active:hover,.pixel-caffeine-wrapper .btn-default:active.focus,.pixel-caffeine-wrapper .btn-default:active:focus,.pixel-caffeine-wrapper .btn-default:active:hover{color:#333;background-color:#c7c7c7;border-color:#8c8c8c}.pixel-caffeine-wrapper .btn-default.disabled.focus,.pixel-caffeine-wrapper .btn-default.disabled:focus,.pixel-caffeine-wrapper .btn-default.disabled:hover,.pixel-caffeine-wrapper .btn-default[disabled].focus,.pixel-caffeine-wrapper .btn-default[disabled]:focus,.pixel-caffeine-wrapper .btn-default[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-default.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-default:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-default:hover{background-color:#f2f2f2;border-color:#ccc}.pixel-caffeine-wrapper .btn-default .badge{color:#f2f2f2;background-color:#333}.pixel-caffeine-wrapper .btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.pixel-caffeine-wrapper .btn-primary.focus,.pixel-caffeine-wrapper .btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.pixel-caffeine-wrapper .btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle,.pixel-caffeine-wrapper .btn-primary.active,.pixel-caffeine-wrapper .btn-primary:active{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-primary.active.focus,.pixel-caffeine-wrapper .btn-primary.active:focus,.pixel-caffeine-wrapper .btn-primary.active:hover,.pixel-caffeine-wrapper .btn-primary:active.focus,.pixel-caffeine-wrapper .btn-primary:active:focus,.pixel-caffeine-wrapper .btn-primary:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.pixel-caffeine-wrapper .btn-primary.disabled.focus,.pixel-caffeine-wrapper .btn-primary.disabled:focus,.pixel-caffeine-wrapper .btn-primary.disabled:hover,.pixel-caffeine-wrapper .btn-primary[disabled].focus,.pixel-caffeine-wrapper .btn-primary[disabled]:focus,.pixel-caffeine-wrapper .btn-primary[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.pixel-caffeine-wrapper .btn-primary .badge{color:#337ab7;background-color:#fff}.pixel-caffeine-wrapper .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.pixel-caffeine-wrapper .btn-success.focus,.pixel-caffeine-wrapper .btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.pixel-caffeine-wrapper .btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle,.pixel-caffeine-wrapper .btn-success.active,.pixel-caffeine-wrapper .btn-success:active{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-success.active.focus,.pixel-caffeine-wrapper .btn-success.active:focus,.pixel-caffeine-wrapper .btn-success.active:hover,.pixel-caffeine-wrapper .btn-success:active.focus,.pixel-caffeine-wrapper .btn-success:active:focus,.pixel-caffeine-wrapper .btn-success:active:hover{color:#fff;background-color:#398439;border-color:#255625}.pixel-caffeine-wrapper .btn-success.disabled.focus,.pixel-caffeine-wrapper .btn-success.disabled:focus,.pixel-caffeine-wrapper .btn-success.disabled:hover,.pixel-caffeine-wrapper .btn-success[disabled].focus,.pixel-caffeine-wrapper .btn-success[disabled]:focus,.pixel-caffeine-wrapper .btn-success[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-success.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-success:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.pixel-caffeine-wrapper .btn-success .badge{color:#5cb85c;background-color:#fff}.pixel-caffeine-wrapper .btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.pixel-caffeine-wrapper .btn-info.focus,.pixel-caffeine-wrapper .btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.pixel-caffeine-wrapper .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle,.pixel-caffeine-wrapper .btn-info.active,.pixel-caffeine-wrapper .btn-info:active{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-info.active.focus,.pixel-caffeine-wrapper .btn-info.active:focus,.pixel-caffeine-wrapper .btn-info.active:hover,.pixel-caffeine-wrapper .btn-info:active.focus,.pixel-caffeine-wrapper .btn-info:active:focus,.pixel-caffeine-wrapper .btn-info:active:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.pixel-caffeine-wrapper .btn-info.disabled.focus,.pixel-caffeine-wrapper .btn-info.disabled:focus,.pixel-caffeine-wrapper .btn-info.disabled:hover,.pixel-caffeine-wrapper .btn-info[disabled].focus,.pixel-caffeine-wrapper .btn-info[disabled]:focus,.pixel-caffeine-wrapper .btn-info[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-info.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-info:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.pixel-caffeine-wrapper .btn-info .badge{color:#5bc0de;background-color:#fff}.pixel-caffeine-wrapper .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.pixel-caffeine-wrapper .btn-warning.focus,.pixel-caffeine-wrapper .btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.pixel-caffeine-wrapper .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle,.pixel-caffeine-wrapper .btn-warning.active,.pixel-caffeine-wrapper .btn-warning:active{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-warning.active.focus,.pixel-caffeine-wrapper .btn-warning.active:focus,.pixel-caffeine-wrapper .btn-warning.active:hover,.pixel-caffeine-wrapper .btn-warning:active.focus,.pixel-caffeine-wrapper .btn-warning:active:focus,.pixel-caffeine-wrapper .btn-warning:active:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.pixel-caffeine-wrapper .btn-warning.disabled.focus,.pixel-caffeine-wrapper .btn-warning.disabled:focus,.pixel-caffeine-wrapper .btn-warning.disabled:hover,.pixel-caffeine-wrapper .btn-warning[disabled].focus,.pixel-caffeine-wrapper .btn-warning[disabled]:focus,.pixel-caffeine-wrapper .btn-warning[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.pixel-caffeine-wrapper .btn-warning .badge{color:#f0ad4e;background-color:#fff}.pixel-caffeine-wrapper .btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.pixel-caffeine-wrapper .btn-danger.focus,.pixel-caffeine-wrapper .btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.pixel-caffeine-wrapper .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle,.pixel-caffeine-wrapper .btn-danger.active,.pixel-caffeine-wrapper .btn-danger:active{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-danger.active.focus,.pixel-caffeine-wrapper .btn-danger.active:focus,.pixel-caffeine-wrapper .btn-danger.active:hover,.pixel-caffeine-wrapper .btn-danger:active.focus,.pixel-caffeine-wrapper .btn-danger:active:focus,.pixel-caffeine-wrapper .btn-danger:active:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.pixel-caffeine-wrapper .btn-danger.disabled.focus,.pixel-caffeine-wrapper .btn-danger.disabled:focus,.pixel-caffeine-wrapper .btn-danger.disabled:hover,.pixel-caffeine-wrapper .btn-danger[disabled].focus,.pixel-caffeine-wrapper .btn-danger[disabled]:focus,.pixel-caffeine-wrapper .btn-danger[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.pixel-caffeine-wrapper .btn-danger .badge{color:#d9534f;background-color:#fff}.pixel-caffeine-wrapper .btn-link{font-weight:400;color:#337ab7;border-radius:0}.pixel-caffeine-wrapper .btn-link,.pixel-caffeine-wrapper .btn-link.active,.pixel-caffeine-wrapper .btn-link:active,.pixel-caffeine-wrapper .btn-link[disabled],fieldset[disabled] .pixel-caffeine-wrapper .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn-link,.pixel-caffeine-wrapper .btn-link:active,.pixel-caffeine-wrapper .btn-link:focus,.pixel-caffeine-wrapper .btn-link:hover{border-color:transparent}.pixel-caffeine-wrapper .btn-link:focus,.pixel-caffeine-wrapper .btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.pixel-caffeine-wrapper .btn-link[disabled]:focus,.pixel-caffeine-wrapper .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-link:hover{color:#777;text-decoration:none}.pixel-caffeine-wrapper .btn-group-lg>.btn,.pixel-caffeine-wrapper .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.pixel-caffeine-wrapper .btn-group-sm>.btn,.pixel-caffeine-wrapper .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .btn-group-xs>.btn,.pixel-caffeine-wrapper .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .btn-block{display:block;width:100%}.pixel-caffeine-wrapper .btn-block+.btn-block{margin-top:5px}.pixel-caffeine-wrapper input[type=button].btn-block,.pixel-caffeine-wrapper input[type=reset].btn-block,.pixel-caffeine-wrapper input[type=submit].btn-block{width:100%}.pixel-caffeine-wrapper .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.pixel-caffeine-wrapper .fade.in{opacity:1}.pixel-caffeine-wrapper .collapse{display:none}.pixel-caffeine-wrapper .collapse.in{display:block}.pixel-caffeine-wrapper tr.collapse.in{display:table-row}.pixel-caffeine-wrapper tbody.collapse.in{display:table-row-group}.pixel-caffeine-wrapper .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.pixel-caffeine-wrapper .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.pixel-caffeine-wrapper .dropdown,.pixel-caffeine-wrapper .dropup{position:relative}.pixel-caffeine-wrapper .dropdown-toggle:focus{outline:0}.pixel-caffeine-wrapper .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.pixel-caffeine-wrapper .dropdown-menu.pull-right{right:0;left:auto}.pixel-caffeine-wrapper .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.pixel-caffeine-wrapper .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.pixel-caffeine-wrapper .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.pixel-caffeine-wrapper .dropdown-menu>.active>a,.pixel-caffeine-wrapper .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.pixel-caffeine-wrapper .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:hover{color:#777}.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.pixel-caffeine-wrapper .open>.dropdown-menu{display:block}.pixel-caffeine-wrapper .open>a{outline:0}.pixel-caffeine-wrapper .dropdown-menu-right{right:0;left:auto}.pixel-caffeine-wrapper .dropdown-menu-left{right:auto;left:0}.pixel-caffeine-wrapper .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#777;white-space:nowrap}.pixel-caffeine-wrapper .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pixel-caffeine-wrapper .pull-right>.dropdown-menu{right:0;left:auto}.pixel-caffeine-wrapper .dropup .caret,.pixel-caffeine-wrapper .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.pixel-caffeine-wrapper .dropup .dropdown-menu,.pixel-caffeine-wrapper .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-right .dropdown-menu{right:0;left:auto}.pixel-caffeine-wrapper .navbar-right .dropdown-menu-left{left:0;right:auto}}.pixel-caffeine-wrapper .btn-group,.pixel-caffeine-wrapper .btn-group-vertical{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .btn-group-vertical>.btn,.pixel-caffeine-wrapper .btn-group>.btn{position:relative;float:left}.pixel-caffeine-wrapper .btn-group-vertical>.btn.active,.pixel-caffeine-wrapper .btn-group-vertical>.btn:active,.pixel-caffeine-wrapper .btn-group-vertical>.btn:focus,.pixel-caffeine-wrapper .btn-group-vertical>.btn:hover,.pixel-caffeine-wrapper .btn-group>.btn.active,.pixel-caffeine-wrapper .btn-group>.btn:active,.pixel-caffeine-wrapper .btn-group>.btn:focus,.pixel-caffeine-wrapper .btn-group>.btn:hover{z-index:2}.pixel-caffeine-wrapper .btn-group .btn+.btn,.pixel-caffeine-wrapper .btn-group .btn+.btn-group,.pixel-caffeine-wrapper .btn-group .btn-group+.btn,.pixel-caffeine-wrapper .btn-group .btn-group+.btn-group{margin-left:-1px}.pixel-caffeine-wrapper .btn-toolbar{margin-left:-5px}.pixel-caffeine-wrapper .btn-toolbar:after,.pixel-caffeine-wrapper .btn-toolbar:before{display:table;content:" "}.pixel-caffeine-wrapper .btn-toolbar:after{clear:both}.pixel-caffeine-wrapper .btn-toolbar .btn,.pixel-caffeine-wrapper .btn-toolbar .btn-group,.pixel-caffeine-wrapper .btn-toolbar .input-group{float:left}.pixel-caffeine-wrapper .btn-toolbar>.btn,.pixel-caffeine-wrapper .btn-toolbar>.btn-group,.pixel-caffeine-wrapper .btn-toolbar>.input-group{margin-left:5px}.pixel-caffeine-wrapper .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.pixel-caffeine-wrapper .btn-group>.btn:first-child{margin-left:0}.pixel-caffeine-wrapper .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .btn-group>.btn:last-child:not(:first-child),.pixel-caffeine-wrapper .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group{float:left}.pixel-caffeine-wrapper .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.pixel-caffeine-wrapper .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group .dropdown-toggle:active,.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle{outline:0}.pixel-caffeine-wrapper .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.pixel-caffeine-wrapper .btn-group-lg.btn-group>.btn+.dropdown-toggle,.pixel-caffeine-wrapper .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn .caret{margin-left:0}.pixel-caffeine-wrapper .btn-group-lg>.btn .caret,.pixel-caffeine-wrapper .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.pixel-caffeine-wrapper .dropup .btn-group-lg>.btn .caret,.pixel-caffeine-wrapper .dropup .btn-lg .caret{border-width:0 5px 5px}.pixel-caffeine-wrapper .btn-group-vertical>.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:after,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:before{display:table;content:" "}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:after{clear:both}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group>.btn{float:none}.pixel-caffeine-wrapper .btn-group-vertical>.btn+.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn+.btn-group,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group+.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.pixel-caffeine-wrapper .btn-group-justified>.btn,.pixel-caffeine-wrapper .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.pixel-caffeine-wrapper .btn-group-justified>.btn-group .btn{width:100%}.pixel-caffeine-wrapper .btn-group-justified>.btn-group .dropdown-menu{left:auto}.pixel-caffeine-wrapper [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn-group>.btn input[type=radio],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn input[type=checkbox],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.pixel-caffeine-wrapper .input-group{position:relative;display:table;border-collapse:separate}.pixel-caffeine-wrapper .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.pixel-caffeine-wrapper .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.pixel-caffeine-wrapper .input-group .form-control:focus{z-index:3}.pixel-caffeine-wrapper .input-group-addon,.pixel-caffeine-wrapper .input-group-btn,.pixel-caffeine-wrapper .input-group .form-control{display:table-cell}.pixel-caffeine-wrapper .input-group-addon:not(:first-child):not(:last-child),.pixel-caffeine-wrapper .input-group-btn:not(:first-child):not(:last-child),.pixel-caffeine-wrapper .input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.pixel-caffeine-wrapper .input-group-addon,.pixel-caffeine-wrapper .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.pixel-caffeine-wrapper .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.pixel-caffeine-wrapper .input-group-addon.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.pixel-caffeine-wrapper .input-group-addon.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.pixel-caffeine-wrapper .input-group-addon input[type=checkbox],.pixel-caffeine-wrapper .input-group-addon input[type=radio]{margin-top:0}.pixel-caffeine-wrapper .input-group-addon:first-child,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.dropdown-toggle,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.pixel-caffeine-wrapper .input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .input-group-addon:first-child{border-right:0}.pixel-caffeine-wrapper .input-group-addon:last-child,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn:not(:first-child),.pixel-caffeine-wrapper .input-group-btn:last-child>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.dropdown-toggle,.pixel-caffeine-wrapper .input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .input-group-addon:last-child{border-left:0}.pixel-caffeine-wrapper .input-group-btn{position:relative;font-size:0;white-space:nowrap}.pixel-caffeine-wrapper .input-group-btn>.btn{position:relative}.pixel-caffeine-wrapper .input-group-btn>.btn+.btn{margin-left:-1px}.pixel-caffeine-wrapper .input-group-btn>.btn:active,.pixel-caffeine-wrapper .input-group-btn>.btn:focus,.pixel-caffeine-wrapper .input-group-btn>.btn:hover{z-index:2}.pixel-caffeine-wrapper .input-group-btn:first-child>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group{margin-right:-1px}.pixel-caffeine-wrapper .input-group-btn:last-child>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.pixel-caffeine-wrapper .nav{padding-left:0;margin-bottom:0;list-style:none}.pixel-caffeine-wrapper .nav:after,.pixel-caffeine-wrapper .nav:before{display:table;content:" "}.pixel-caffeine-wrapper .nav:after{clear:both}.pixel-caffeine-wrapper .nav>li{position:relative;display:block}.pixel-caffeine-wrapper .nav>li>a{position:relative;display:block;padding:10px 15px}.pixel-caffeine-wrapper .nav>li>a:focus,.pixel-caffeine-wrapper .nav>li>a:hover{text-decoration:none;background-color:#eee}.pixel-caffeine-wrapper .nav>li.disabled>a{color:#777}.pixel-caffeine-wrapper .nav>li.disabled>a:focus,.pixel-caffeine-wrapper .nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.pixel-caffeine-wrapper .nav .open>a,.pixel-caffeine-wrapper .nav .open>a:focus,.pixel-caffeine-wrapper .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.pixel-caffeine-wrapper .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.pixel-caffeine-wrapper .nav>li>a>img{max-width:none}.pixel-caffeine-wrapper .nav-tabs{border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .nav-tabs>li{float:left;margin-bottom:-1px}.pixel-caffeine-wrapper .nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.pixel-caffeine-wrapper .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.pixel-caffeine-wrapper .nav-tabs>li.active>a,.pixel-caffeine-wrapper .nav-tabs>li.active>a:focus,.pixel-caffeine-wrapper .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.pixel-caffeine-wrapper .nav-pills>li{float:left}.pixel-caffeine-wrapper .nav-pills>li>a{border-radius:4px}.pixel-caffeine-wrapper .nav-pills>li+li{margin-left:2px}.pixel-caffeine-wrapper .nav-pills>li.active>a,.pixel-caffeine-wrapper .nav-pills>li.active>a:focus,.pixel-caffeine-wrapper .nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.pixel-caffeine-wrapper .nav-stacked>li{float:none}.pixel-caffeine-wrapper .nav-stacked>li+li{margin-top:2px;margin-left:0}.pixel-caffeine-wrapper .nav-justified,.pixel-caffeine-wrapper .nav-tabs.nav-justified{width:100%}.pixel-caffeine-wrapper .nav-justified>li,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li{float:none}.pixel-caffeine-wrapper .nav-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.pixel-caffeine-wrapper .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.pixel-caffeine-wrapper .nav-justified>li,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li{display:table-cell;width:1%}.pixel-caffeine-wrapper .nav-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-bottom:0}}.pixel-caffeine-wrapper .nav-tabs-justified,.pixel-caffeine-wrapper .nav-tabs.nav-justified{border-bottom:0}.pixel-caffeine-wrapper .nav-tabs-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.pixel-caffeine-wrapper .nav-tabs-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:hover,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.pixel-caffeine-wrapper .nav-tabs-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.pixel-caffeine-wrapper .nav-tabs-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:hover,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.pixel-caffeine-wrapper .tab-content>.tab-pane{display:none}.pixel-caffeine-wrapper .tab-content>.active{display:block}.pixel-caffeine-wrapper .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.pixel-caffeine-wrapper .navbar:after,.pixel-caffeine-wrapper .navbar:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .navbar{border-radius:4px}}.pixel-caffeine-wrapper .navbar-header:after,.pixel-caffeine-wrapper .navbar-header:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar-header:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-header{float:left}}.pixel-caffeine-wrapper .navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.pixel-caffeine-wrapper .navbar-collapse:after,.pixel-caffeine-wrapper .navbar-collapse:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar-collapse:after{clear:both}.pixel-caffeine-wrapper .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-collapse{width:auto;border-top:0;box-shadow:none}.pixel-caffeine-wrapper .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.pixel-caffeine-wrapper .navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .pixel-caffeine-wrapper .navbar-collapse,.navbar-fixed-top .pixel-caffeine-wrapper .navbar-collapse,.navbar-static-top .pixel-caffeine-wrapper .navbar-collapse{padding-right:0;padding-left:0}}.pixel-caffeine-wrapper .navbar-fixed-bottom,.pixel-caffeine-wrapper .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-collapse,.pixel-caffeine-wrapper .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-collapse,.pixel-caffeine-wrapper .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-fixed-bottom,.pixel-caffeine-wrapper .navbar-fixed-top{border-radius:0}}.pixel-caffeine-wrapper .navbar-fixed-top{top:0;border-width:0 0 1px}.pixel-caffeine-wrapper .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.pixel-caffeine-wrapper .container-fluid>.navbar-collapse,.pixel-caffeine-wrapper .container-fluid>.navbar-header,.pixel-caffeine-wrapper .container>.navbar-collapse,.pixel-caffeine-wrapper .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.pixel-caffeine-wrapper .container-fluid>.navbar-collapse,.pixel-caffeine-wrapper .container-fluid>.navbar-header,.pixel-caffeine-wrapper .container>.navbar-collapse,.pixel-caffeine-wrapper .container>.navbar-header{margin-right:0;margin-left:0}}.pixel-caffeine-wrapper .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-static-top{border-radius:0}}.pixel-caffeine-wrapper .navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.pixel-caffeine-wrapper .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-brand:hover{text-decoration:none}.pixel-caffeine-wrapper .navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .pixel-caffeine-wrapper .navbar-brand,.navbar>.container .pixel-caffeine-wrapper .navbar-brand{margin-left:-15px}}.pixel-caffeine-wrapper .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.pixel-caffeine-wrapper .navbar-toggle:focus{outline:0}.pixel-caffeine-wrapper .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.pixel-caffeine-wrapper .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-toggle{display:none}}.pixel-caffeine-wrapper .navbar-nav{margin:7.5px -15px}.pixel-caffeine-wrapper .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu .dropdown-header,.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-nav{float:left;margin:0}.pixel-caffeine-wrapper .navbar-nav>li{float:left}.pixel-caffeine-wrapper .navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.pixel-caffeine-wrapper .navbar-form{padding:10px 15px;margin:8px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .form-control-static{display:inline-block}.pixel-caffeine-wrapper .navbar-form .input-group{display:inline-table;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .input-group .form-control,.pixel-caffeine-wrapper .navbar-form .input-group .input-group-addon,.pixel-caffeine-wrapper .navbar-form .input-group .input-group-btn{width:auto}.pixel-caffeine-wrapper .navbar-form .input-group>.form-control{width:100%}.pixel-caffeine-wrapper .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .checkbox,.pixel-caffeine-wrapper .navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .checkbox label,.pixel-caffeine-wrapper .navbar-form .radio label{padding-left:0}.pixel-caffeine-wrapper .navbar-form .checkbox input[type=checkbox],.pixel-caffeine-wrapper .navbar-form .radio input[type=radio]{position:relative;margin-left:0}.pixel-caffeine-wrapper .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-form .form-group{margin-bottom:5px}.pixel-caffeine-wrapper .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.pixel-caffeine-wrapper .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .navbar-btn{margin-top:8px;margin-bottom:8px}.pixel-caffeine-wrapper .btn-group-sm>.navbar-btn.btn,.pixel-caffeine-wrapper .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .btn-group-xs>.navbar-btn.btn,.pixel-caffeine-wrapper .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.pixel-caffeine-wrapper .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-left{float:left!important}.pixel-caffeine-wrapper .navbar-right{float:right!important;margin-right:-15px}.pixel-caffeine-wrapper .navbar-right~.navbar-right{margin-right:0}}.pixel-caffeine-wrapper .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-brand{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a,.pixel-caffeine-wrapper .navbar-default .navbar-text{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.pixel-caffeine-wrapper .navbar-default .navbar-toggle{border-color:#ddd}.pixel-caffeine-wrapper .navbar-default .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar-default .navbar-toggle:hover{background-color:#ddd}.pixel-caffeine-wrapper .navbar-default .navbar-toggle .icon-bar{background-color:#888}.pixel-caffeine-wrapper .navbar-default .navbar-collapse,.pixel-caffeine-wrapper .navbar-default .navbar-form{border-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-link{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-link:hover{color:#333}.pixel-caffeine-wrapper .navbar-default .btn-link{color:#777}.pixel-caffeine-wrapper .navbar-default .btn-link:focus,.pixel-caffeine-wrapper .navbar-default .btn-link:hover{color:#333}.pixel-caffeine-wrapper .navbar-default .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar-default .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar-default .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar-default .btn-link:hover{color:#ccc}.pixel-caffeine-wrapper .navbar-inverse{background-color:#222;border-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-brand{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-text{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#090909}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle{border-color:#333}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle:hover{background-color:#333}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.pixel-caffeine-wrapper .navbar-inverse .navbar-collapse,.pixel-caffeine-wrapper .navbar-inverse .navbar-form{border-color:#101010}.pixel-caffeine-wrapper .navbar-inverse .navbar-link{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-link:hover{color:#fff}.pixel-caffeine-wrapper .navbar-inverse .btn-link{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .btn-link:focus,.pixel-caffeine-wrapper .navbar-inverse .btn-link:hover{color:#fff}.pixel-caffeine-wrapper .navbar-inverse .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar-inverse .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar-inverse .btn-link:hover{color:#444}.pixel-caffeine-wrapper .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.pixel-caffeine-wrapper .breadcrumb>li{display:inline-block}.pixel-caffeine-wrapper .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\A0"}.pixel-caffeine-wrapper .breadcrumb>.active{color:#777}.pixel-caffeine-wrapper .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pixel-caffeine-wrapper .pagination>li{display:inline}.pixel-caffeine-wrapper .pagination>li>a,.pixel-caffeine-wrapper .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pixel-caffeine-wrapper .pagination>li>a:focus,.pixel-caffeine-wrapper .pagination>li>a:hover,.pixel-caffeine-wrapper .pagination>li>span:focus,.pixel-caffeine-wrapper .pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pixel-caffeine-wrapper .pagination>li:first-child>a,.pixel-caffeine-wrapper .pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .pagination>li:last-child>a,.pixel-caffeine-wrapper .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pixel-caffeine-wrapper .pagination>.active>a,.pixel-caffeine-wrapper .pagination>.active>a:focus,.pixel-caffeine-wrapper .pagination>.active>a:hover,.pixel-caffeine-wrapper .pagination>.active>span,.pixel-caffeine-wrapper .pagination>.active>span:focus,.pixel-caffeine-wrapper .pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .pagination>.disabled>a,.pixel-caffeine-wrapper .pagination>.disabled>a:focus,.pixel-caffeine-wrapper .pagination>.disabled>a:hover,.pixel-caffeine-wrapper .pagination>.disabled>span,.pixel-caffeine-wrapper .pagination>.disabled>span:focus,.pixel-caffeine-wrapper .pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pixel-caffeine-wrapper .pagination-lg>li>a,.pixel-caffeine-wrapper .pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .pagination-lg>li:first-child>a,.pixel-caffeine-wrapper .pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pixel-caffeine-wrapper .pagination-lg>li:last-child>a,.pixel-caffeine-wrapper .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pixel-caffeine-wrapper .pagination-sm>li>a,.pixel-caffeine-wrapper .pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pixel-caffeine-wrapper .pagination-sm>li:first-child>a,.pixel-caffeine-wrapper .pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .pagination-sm>li:last-child>a,.pixel-caffeine-wrapper .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pixel-caffeine-wrapper .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pixel-caffeine-wrapper .pager:after,.pixel-caffeine-wrapper .pager:before{display:table;content:" "}.pixel-caffeine-wrapper .pager:after{clear:both}.pixel-caffeine-wrapper .pager li{display:inline}.pixel-caffeine-wrapper .pager li>a,.pixel-caffeine-wrapper .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pixel-caffeine-wrapper .pager li>a:focus,.pixel-caffeine-wrapper .pager li>a:hover{text-decoration:none;background-color:#eee}.pixel-caffeine-wrapper .pager .next>a,.pixel-caffeine-wrapper .pager .next>span{float:right}.pixel-caffeine-wrapper .pager .previous>a,.pixel-caffeine-wrapper .pager .previous>span{float:left}.pixel-caffeine-wrapper .pager .disabled>a,.pixel-caffeine-wrapper .pager .disabled>a:focus,.pixel-caffeine-wrapper .pager .disabled>a:hover,.pixel-caffeine-wrapper .pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.pixel-caffeine-wrapper .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.pixel-caffeine-wrapper .label:empty{display:none}.btn .pixel-caffeine-wrapper .label{position:relative;top:-1px}.pixel-caffeine-wrapper a.label:focus,.pixel-caffeine-wrapper a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.pixel-caffeine-wrapper .label-default{background-color:#777}.pixel-caffeine-wrapper .label-default[href]:focus,.pixel-caffeine-wrapper .label-default[href]:hover{background-color:#5e5e5e}.pixel-caffeine-wrapper .label-primary{background-color:#337ab7}.pixel-caffeine-wrapper .label-primary[href]:focus,.pixel-caffeine-wrapper .label-primary[href]:hover{background-color:#286090}.pixel-caffeine-wrapper .label-success{background-color:#5cb85c}.pixel-caffeine-wrapper .label-success[href]:focus,.pixel-caffeine-wrapper .label-success[href]:hover{background-color:#449d44}.pixel-caffeine-wrapper .label-info{background-color:#5bc0de}.pixel-caffeine-wrapper .label-info[href]:focus,.pixel-caffeine-wrapper .label-info[href]:hover{background-color:#31b0d5}.pixel-caffeine-wrapper .label-warning{background-color:#f0ad4e}.pixel-caffeine-wrapper .label-warning[href]:focus,.pixel-caffeine-wrapper .label-warning[href]:hover{background-color:#ec971f}.pixel-caffeine-wrapper .label-danger{background-color:#d9534f}.pixel-caffeine-wrapper .label-danger[href]:focus,.pixel-caffeine-wrapper .label-danger[href]:hover{background-color:#c9302c}.pixel-caffeine-wrapper .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.pixel-caffeine-wrapper .badge:empty{display:none}.btn .pixel-caffeine-wrapper .badge{position:relative;top:-1px}.btn-group-xs>.btn .pixel-caffeine-wrapper .badge,.btn-xs .pixel-caffeine-wrapper .badge,.pixel-caffeine-wrapper .btn-group-xs>.btn .pixel-caffeine-wrapper .badge{top:0;padding:1px 5px}.list-group-item.active>.pixel-caffeine-wrapper .badge,.nav-pills>.active>a>.pixel-caffeine-wrapper .badge{color:#337ab7;background-color:#fff}.list-group-item>.pixel-caffeine-wrapper .badge{float:right}.list-group-item>.pixel-caffeine-wrapper .badge+.pixel-caffeine-wrapper .badge{margin-right:5px}.nav-pills>li>a>.pixel-caffeine-wrapper .badge{margin-left:3px}.pixel-caffeine-wrapper a.badge:focus,.pixel-caffeine-wrapper a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.pixel-caffeine-wrapper .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.pixel-caffeine-wrapper .jumbotron .h1,.pixel-caffeine-wrapper .jumbotron h1{color:inherit}.pixel-caffeine-wrapper .jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.pixel-caffeine-wrapper .jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .pixel-caffeine-wrapper .jumbotron,.container .pixel-caffeine-wrapper .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.pixel-caffeine-wrapper .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.pixel-caffeine-wrapper .jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .pixel-caffeine-wrapper .jumbotron,.container .pixel-caffeine-wrapper .jumbotron{padding-right:60px;padding-left:60px}.pixel-caffeine-wrapper .jumbotron .h1,.pixel-caffeine-wrapper .jumbotron h1{font-size:63px}}.pixel-caffeine-wrapper .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.pixel-caffeine-wrapper .thumbnail>img,.pixel-caffeine-wrapper .thumbnail a>img{display:block;max-width:100%;height:auto;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .thumbnail .caption{padding:9px;color:#333}.pixel-caffeine-wrapper a.thumbnail.active,.pixel-caffeine-wrapper a.thumbnail:focus,.pixel-caffeine-wrapper a.thumbnail:hover{border-color:#337ab7}.pixel-caffeine-wrapper .alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.pixel-caffeine-wrapper .alert h4{margin-top:0;color:inherit}.pixel-caffeine-wrapper .alert .alert-link{font-weight:700}.pixel-caffeine-wrapper .alert>p,.pixel-caffeine-wrapper .alert>ul{margin-bottom:0}.pixel-caffeine-wrapper .alert>p+p{margin-top:5px}.pixel-caffeine-wrapper .alert-dismissable,.pixel-caffeine-wrapper .alert-dismissible{padding-right:35px}.pixel-caffeine-wrapper .alert-dismissable .close,.pixel-caffeine-wrapper .alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.pixel-caffeine-wrapper .alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.pixel-caffeine-wrapper .alert-success hr{border-top-color:#c9e2b3}.pixel-caffeine-wrapper .alert-success .alert-link{color:#2b542c}.pixel-caffeine-wrapper .alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.pixel-caffeine-wrapper .alert-info hr{border-top-color:#a6e1ec}.pixel-caffeine-wrapper .alert-info .alert-link{color:#245269}.pixel-caffeine-wrapper .alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.pixel-caffeine-wrapper .alert-warning hr{border-top-color:#f7e1b5}.pixel-caffeine-wrapper .alert-warning .alert-link{color:#66512c}.pixel-caffeine-wrapper .alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.pixel-caffeine-wrapper .alert-danger hr{border-top-color:#e4b9c0}.pixel-caffeine-wrapper .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.pixel-caffeine-wrapper .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.pixel-caffeine-wrapper .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.pixel-caffeine-wrapper .progress-bar-striped,.pixel-caffeine-wrapper .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.pixel-caffeine-wrapper .progress-bar.active,.pixel-caffeine-wrapper .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.pixel-caffeine-wrapper .progress-bar-success{background-color:#5cb85c}.progress-striped .pixel-caffeine-wrapper .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-info{background-color:#5bc0de}.progress-striped .pixel-caffeine-wrapper .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-warning{background-color:#f0ad4e}.progress-striped .pixel-caffeine-wrapper .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-danger{background-color:#d9534f}.progress-striped .pixel-caffeine-wrapper .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .media{margin-top:15px}.pixel-caffeine-wrapper .media:first-child{margin-top:0}.pixel-caffeine-wrapper .media,.pixel-caffeine-wrapper .media-body{overflow:hidden;zoom:1}.pixel-caffeine-wrapper .media-body{width:10000px}.pixel-caffeine-wrapper .media-object{display:block}.pixel-caffeine-wrapper .media-object.img-thumbnail{max-width:none}.pixel-caffeine-wrapper .media-right,.pixel-caffeine-wrapper .media>.pull-right{padding-left:10px}.pixel-caffeine-wrapper .media-left,.pixel-caffeine-wrapper .media>.pull-left{padding-right:10px}.pixel-caffeine-wrapper .media-body,.pixel-caffeine-wrapper .media-left,.pixel-caffeine-wrapper .media-right{display:table-cell;vertical-align:top}.pixel-caffeine-wrapper .media-middle{vertical-align:middle}.pixel-caffeine-wrapper .media-bottom{vertical-align:bottom}.pixel-caffeine-wrapper .media-heading{margin-top:0;margin-bottom:5px}.pixel-caffeine-wrapper .media-list{padding-left:0;list-style:none}.pixel-caffeine-wrapper .list-group{padding-left:0;margin-bottom:20px}.pixel-caffeine-wrapper .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.pixel-caffeine-wrapper .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.pixel-caffeine-wrapper .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .list-group-item.disabled,.pixel-caffeine-wrapper .list-group-item.disabled:focus,.pixel-caffeine-wrapper .list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.pixel-caffeine-wrapper .list-group-item.disabled .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.disabled:focus .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper .list-group-item.disabled .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.disabled:focus .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.disabled:hover .list-group-item-text{color:#777}.pixel-caffeine-wrapper .list-group-item.active,.pixel-caffeine-wrapper .list-group-item.active:focus,.pixel-caffeine-wrapper .list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading>small,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading>small,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.pixel-caffeine-wrapper .list-group-item.active .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.pixel-caffeine-wrapper a.list-group-item,.pixel-caffeine-wrapper button.list-group-item{color:#555}.pixel-caffeine-wrapper a.list-group-item .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item .list-group-item-heading{color:#333}.pixel-caffeine-wrapper a.list-group-item:focus,.pixel-caffeine-wrapper a.list-group-item:hover,.pixel-caffeine-wrapper button.list-group-item:focus,.pixel-caffeine-wrapper button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.pixel-caffeine-wrapper button.list-group-item{width:100%;text-align:left}.pixel-caffeine-wrapper .list-group-item-success{color:#3c763d;background-color:#dff0d8}.pixel-caffeine-wrapper a.list-group-item-success,.pixel-caffeine-wrapper button.list-group-item-success{color:#3c763d}.pixel-caffeine-wrapper a.list-group-item-success .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-success .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-success:focus,.pixel-caffeine-wrapper a.list-group-item-success:hover,.pixel-caffeine-wrapper button.list-group-item-success:focus,.pixel-caffeine-wrapper button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}.pixel-caffeine-wrapper a.list-group-item-success.active,.pixel-caffeine-wrapper a.list-group-item-success.active:focus,.pixel-caffeine-wrapper a.list-group-item-success.active:hover,.pixel-caffeine-wrapper button.list-group-item-success.active,.pixel-caffeine-wrapper button.list-group-item-success.active:focus,.pixel-caffeine-wrapper button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.pixel-caffeine-wrapper .list-group-item-info{color:#31708f;background-color:#d9edf7}.pixel-caffeine-wrapper a.list-group-item-info,.pixel-caffeine-wrapper button.list-group-item-info{color:#31708f}.pixel-caffeine-wrapper a.list-group-item-info .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-info .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-info:focus,.pixel-caffeine-wrapper a.list-group-item-info:hover,.pixel-caffeine-wrapper button.list-group-item-info:focus,.pixel-caffeine-wrapper button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}.pixel-caffeine-wrapper a.list-group-item-info.active,.pixel-caffeine-wrapper a.list-group-item-info.active:focus,.pixel-caffeine-wrapper a.list-group-item-info.active:hover,.pixel-caffeine-wrapper button.list-group-item-info.active,.pixel-caffeine-wrapper button.list-group-item-info.active:focus,.pixel-caffeine-wrapper button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.pixel-caffeine-wrapper .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}.pixel-caffeine-wrapper a.list-group-item-warning,.pixel-caffeine-wrapper button.list-group-item-warning{color:#8a6d3b}.pixel-caffeine-wrapper a.list-group-item-warning .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-warning .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-warning:focus,.pixel-caffeine-wrapper a.list-group-item-warning:hover,.pixel-caffeine-wrapper button.list-group-item-warning:focus,.pixel-caffeine-wrapper button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}.pixel-caffeine-wrapper a.list-group-item-warning.active,.pixel-caffeine-wrapper a.list-group-item-warning.active:focus,.pixel-caffeine-wrapper a.list-group-item-warning.active:hover,.pixel-caffeine-wrapper button.list-group-item-warning.active,.pixel-caffeine-wrapper button.list-group-item-warning.active:focus,.pixel-caffeine-wrapper button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.pixel-caffeine-wrapper .list-group-item-danger{color:#a94442;background-color:#f2dede}.pixel-caffeine-wrapper a.list-group-item-danger,.pixel-caffeine-wrapper button.list-group-item-danger{color:#a94442}.pixel-caffeine-wrapper a.list-group-item-danger .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-danger .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-danger:focus,.pixel-caffeine-wrapper a.list-group-item-danger:hover,.pixel-caffeine-wrapper button.list-group-item-danger:focus,.pixel-caffeine-wrapper button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}.pixel-caffeine-wrapper a.list-group-item-danger.active,.pixel-caffeine-wrapper a.list-group-item-danger.active:focus,.pixel-caffeine-wrapper a.list-group-item-danger.active:hover,.pixel-caffeine-wrapper button.list-group-item-danger.active,.pixel-caffeine-wrapper button.list-group-item-danger.active:focus,.pixel-caffeine-wrapper button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.pixel-caffeine-wrapper .list-group-item-heading{margin-top:0;margin-bottom:5px}.pixel-caffeine-wrapper .list-group-item-text{margin-bottom:0;line-height:1.3}.pixel-caffeine-wrapper .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.pixel-caffeine-wrapper .panel-body{padding:15px}.pixel-caffeine-wrapper .panel-body:after,.pixel-caffeine-wrapper .panel-body:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-body:after{clear:both}.pixel-caffeine-wrapper .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel-heading>.dropdown .dropdown-toggle{color:inherit}.pixel-caffeine-wrapper .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.pixel-caffeine-wrapper .panel-title>.small,.pixel-caffeine-wrapper .panel-title>.small>a,.pixel-caffeine-wrapper .panel-title>a,.pixel-caffeine-wrapper .panel-title>small,.pixel-caffeine-wrapper .panel-title>small>a{color:inherit}.pixel-caffeine-wrapper .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.list-group,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group{margin-bottom:0}.pixel-caffeine-wrapper .panel>.list-group .list-group-item,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.pixel-caffeine-wrapper .panel>.list-group:first-child .list-group-item:first-child,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.list-group:last-child .list-group-item:last-child,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .list-group+.panel-footer,.pixel-caffeine-wrapper .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.pixel-caffeine-wrapper .panel>.panel-collapse>.table,.pixel-caffeine-wrapper .panel>.table,.pixel-caffeine-wrapper .panel>.table-responsive>.table{margin-bottom:0}.pixel-caffeine-wrapper .panel>.panel-collapse>.table caption,.pixel-caffeine-wrapper .panel>.table-responsive>.table caption,.pixel-caffeine-wrapper .panel>.table caption{padding-right:15px;padding-left:15px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.pixel-caffeine-wrapper .panel>.panel-body+.table,.pixel-caffeine-wrapper .panel>.panel-body+.table-responsive,.pixel-caffeine-wrapper .panel>.table+.panel-body,.pixel-caffeine-wrapper .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel>.table>tbody:first-child>tr:first-child td,.pixel-caffeine-wrapper .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.pixel-caffeine-wrapper .panel>.table-bordered,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered{border:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.pixel-caffeine-wrapper .panel>.table-responsive{margin-bottom:0;border:0}.pixel-caffeine-wrapper .panel-group{margin-bottom:20px}.pixel-caffeine-wrapper .panel-group .panel{margin-bottom:0;border-radius:4px}.pixel-caffeine-wrapper .panel-group .panel+.panel{margin-top:5px}.pixel-caffeine-wrapper .panel-group .panel-heading{border-bottom:0}.pixel-caffeine-wrapper .panel-group .panel-heading+.panel-collapse>.list-group,.pixel-caffeine-wrapper .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel-group .panel-footer{border-top:0}.pixel-caffeine-wrapper .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .panel-default{border-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.pixel-caffeine-wrapper .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.pixel-caffeine-wrapper .panel-primary{border-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.pixel-caffeine-wrapper .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.pixel-caffeine-wrapper .panel-success{border-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.pixel-caffeine-wrapper .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.pixel-caffeine-wrapper .panel-info{border-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.pixel-caffeine-wrapper .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.pixel-caffeine-wrapper .panel-warning{border-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.pixel-caffeine-wrapper .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.pixel-caffeine-wrapper .panel-danger{border-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.pixel-caffeine-wrapper .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.pixel-caffeine-wrapper .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.pixel-caffeine-wrapper .embed-responsive .embed-responsive-item,.pixel-caffeine-wrapper .embed-responsive embed,.pixel-caffeine-wrapper .embed-responsive iframe,.pixel-caffeine-wrapper .embed-responsive object,.pixel-caffeine-wrapper .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.pixel-caffeine-wrapper .embed-responsive-16by9{padding-bottom:56.25%}.pixel-caffeine-wrapper .embed-responsive-4by3{padding-bottom:75%}.pixel-caffeine-wrapper .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.pixel-caffeine-wrapper .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.pixel-caffeine-wrapper .well-lg{padding:24px;border-radius:6px}.pixel-caffeine-wrapper .well-sm{padding:9px;border-radius:3px}.pixel-caffeine-wrapper .close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.pixel-caffeine-wrapper .close:focus,.pixel-caffeine-wrapper .close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.pixel-caffeine-wrapper .modal-open{overflow:hidden}.pixel-caffeine-wrapper .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.pixel-caffeine-wrapper .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.pixel-caffeine-wrapper .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.pixel-caffeine-wrapper .modal-open .modal{overflow-x:hidden;overflow-y:auto}.pixel-caffeine-wrapper .modal-dialog{position:relative;width:auto;margin:10px}.pixel-caffeine-wrapper .modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.pixel-caffeine-wrapper .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.pixel-caffeine-wrapper .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.pixel-caffeine-wrapper .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper .modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.pixel-caffeine-wrapper .modal-header:after,.pixel-caffeine-wrapper .modal-header:before{display:table;content:" "}.pixel-caffeine-wrapper .modal-header:after{clear:both}.pixel-caffeine-wrapper .modal-header .close{margin-top:-2px}.pixel-caffeine-wrapper .modal-title{margin:0;line-height:1.42857}.pixel-caffeine-wrapper .modal-body{position:relative;padding:15px}.pixel-caffeine-wrapper .modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.pixel-caffeine-wrapper .modal-footer:after,.pixel-caffeine-wrapper .modal-footer:before{display:table;content:" "}.pixel-caffeine-wrapper .modal-footer:after{clear:both}.pixel-caffeine-wrapper .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.pixel-caffeine-wrapper .modal-footer .btn-group .btn+.btn{margin-left:-1px}.pixel-caffeine-wrapper .modal-footer .btn-block+.btn-block{margin-left:0}.pixel-caffeine-wrapper .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.pixel-caffeine-wrapper .modal-dialog{width:600px;margin:30px auto}.pixel-caffeine-wrapper .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.pixel-caffeine-wrapper .modal-sm{width:300px}}@media (min-width:992px){.pixel-caffeine-wrapper .modal-lg{width:900px}}.pixel-caffeine-wrapper .tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.pixel-caffeine-wrapper .tooltip.in{filter:alpha(opacity=90);opacity:.9}.pixel-caffeine-wrapper .tooltip.top{padding:5px 0;margin-top:-3px}.pixel-caffeine-wrapper .tooltip.right{padding:0 5px;margin-left:3px}.pixel-caffeine-wrapper .tooltip.bottom{padding:5px 0;margin-top:3px}.pixel-caffeine-wrapper .tooltip.left{padding:0 5px;margin-left:-3px}.pixel-caffeine-wrapper .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.pixel-caffeine-wrapper .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.pixel-caffeine-wrapper .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.pixel-caffeine-wrapper .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.pixel-caffeine-wrapper .popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.pixel-caffeine-wrapper .popover.top{margin-top:-10px}.pixel-caffeine-wrapper .popover.right{margin-left:10px}.pixel-caffeine-wrapper .popover.bottom{margin-top:10px}.pixel-caffeine-wrapper .popover.left{margin-left:-10px}.pixel-caffeine-wrapper .popover>.arrow{border-width:11px}.pixel-caffeine-wrapper .popover>.arrow,.pixel-caffeine-wrapper .popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.pixel-caffeine-wrapper .popover>.arrow:after{content:"";border-width:10px}.pixel-caffeine-wrapper .popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.pixel-caffeine-wrapper .popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.pixel-caffeine-wrapper .popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.pixel-caffeine-wrapper .popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.pixel-caffeine-wrapper .popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.pixel-caffeine-wrapper .popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.pixel-caffeine-wrapper .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.pixel-caffeine-wrapper .popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.pixel-caffeine-wrapper .popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.pixel-caffeine-wrapper .popover-content{padding:9px 14px}.pixel-caffeine-wrapper .carousel{position:relative}.pixel-caffeine-wrapper .carousel-inner{position:relative;width:100%;overflow:hidden}.pixel-caffeine-wrapper .carousel-inner>.item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;-o-transition:.6s ease-in-out left;transition:left .6s ease-in-out}.pixel-caffeine-wrapper .carousel-inner>.item>a>img,.pixel-caffeine-wrapper .carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.pixel-caffeine-wrapper .carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.pixel-caffeine-wrapper .carousel-inner>.item.active.right,.pixel-caffeine-wrapper .carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.pixel-caffeine-wrapper .carousel-inner>.item.active.left,.pixel-caffeine-wrapper .carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.pixel-caffeine-wrapper .carousel-inner>.item.active,.pixel-caffeine-wrapper .carousel-inner>.item.next.left,.pixel-caffeine-wrapper .carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(0);left:0}}.pixel-caffeine-wrapper .carousel-inner>.active,.pixel-caffeine-wrapper .carousel-inner>.next,.pixel-caffeine-wrapper .carousel-inner>.prev{display:block}.pixel-caffeine-wrapper .carousel-inner>.active{left:0}.pixel-caffeine-wrapper .carousel-inner>.next,.pixel-caffeine-wrapper .carousel-inner>.prev{position:absolute;top:0;width:100%}.pixel-caffeine-wrapper .carousel-inner>.next{left:100%}.pixel-caffeine-wrapper .carousel-inner>.prev{left:-100%}.pixel-caffeine-wrapper .carousel-inner>.next.left,.pixel-caffeine-wrapper .carousel-inner>.prev.right{left:0}.pixel-caffeine-wrapper .carousel-inner>.active.left{left:-100%}.pixel-caffeine-wrapper .carousel-inner>.active.right{left:100%}.pixel-caffeine-wrapper .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1);background-repeat:repeat-x}.pixel-caffeine-wrapper .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);background-repeat:repeat-x}.pixel-caffeine-wrapper .carousel-control:focus,.pixel-caffeine-wrapper .carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .icon-prev{left:50%;margin-left:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next{right:50%;margin-right:-10px}.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.pixel-caffeine-wrapper .carousel-control .icon-prev:before{content:"\2039"}.pixel-caffeine-wrapper .carousel-control .icon-next:before{content:"\203A"}.pixel-caffeine-wrapper .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.pixel-caffeine-wrapper .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px}.pixel-caffeine-wrapper .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.pixel-caffeine-wrapper .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.pixel-caffeine-wrapper .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .icon-prev{margin-left:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next{margin-right:-10px}.pixel-caffeine-wrapper .carousel-caption{right:20%;left:20%;padding-bottom:30px}.pixel-caffeine-wrapper .carousel-indicators{bottom:20px}}.pixel-caffeine-wrapper .clearfix:after,.pixel-caffeine-wrapper .clearfix:before{display:table;content:" "}.pixel-caffeine-wrapper .clearfix:after{clear:both}.pixel-caffeine-wrapper .center-block{display:block;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .pull-right{float:right!important}.pixel-caffeine-wrapper .pull-left{float:left!important}.pixel-caffeine-wrapper .hide{display:none!important}.pixel-caffeine-wrapper .show{display:block!important}.pixel-caffeine-wrapper .invisible{visibility:hidden}.pixel-caffeine-wrapper .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.pixel-caffeine-wrapper .hidden{display:none!important}.pixel-caffeine-wrapper .affix{position:fixed}@-ms-viewport{width:device-width}.pixel-caffeine-wrapper .visible-lg,.pixel-caffeine-wrapper .visible-lg-block,.pixel-caffeine-wrapper .visible-lg-inline,.pixel-caffeine-wrapper .visible-lg-inline-block,.pixel-caffeine-wrapper .visible-md,.pixel-caffeine-wrapper .visible-md-block,.pixel-caffeine-wrapper .visible-md-inline,.pixel-caffeine-wrapper .visible-md-inline-block,.pixel-caffeine-wrapper .visible-sm,.pixel-caffeine-wrapper .visible-sm-block,.pixel-caffeine-wrapper .visible-sm-inline,.pixel-caffeine-wrapper .visible-sm-inline-block,.pixel-caffeine-wrapper .visible-xs,.pixel-caffeine-wrapper .visible-xs-block,.pixel-caffeine-wrapper .visible-xs-inline,.pixel-caffeine-wrapper .visible-xs-inline-block{display:none!important}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs{display:block!important}.pixel-caffeine-wrapper table.visible-xs{display:table!important}.pixel-caffeine-wrapper tr.visible-xs{display:table-row!important}.pixel-caffeine-wrapper td.visible-xs,.pixel-caffeine-wrapper th.visible-xs{display:table-cell!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-block{display:block!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-inline{display:inline!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm{display:block!important}.pixel-caffeine-wrapper table.visible-sm{display:table!important}.pixel-caffeine-wrapper tr.visible-sm{display:table-row!important}.pixel-caffeine-wrapper td.visible-sm,.pixel-caffeine-wrapper th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md{display:block!important}.pixel-caffeine-wrapper table.visible-md{display:table!important}.pixel-caffeine-wrapper tr.visible-md{display:table-row!important}.pixel-caffeine-wrapper td.visible-md,.pixel-caffeine-wrapper th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg{display:block!important}.pixel-caffeine-wrapper table.visible-lg{display:table!important}.pixel-caffeine-wrapper tr.visible-lg{display:table-row!important}.pixel-caffeine-wrapper td.visible-lg,.pixel-caffeine-wrapper th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-block{display:block!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-inline{display:inline!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.pixel-caffeine-wrapper .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .hidden-md{display:none!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .hidden-lg{display:none!important}}.pixel-caffeine-wrapper .visible-print{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print{display:block!important}.pixel-caffeine-wrapper table.visible-print{display:table!important}.pixel-caffeine-wrapper tr.visible-print{display:table-row!important}.pixel-caffeine-wrapper td.visible-print,.pixel-caffeine-wrapper th.visible-print{display:table-cell!important}}.pixel-caffeine-wrapper .visible-print-block{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-block{display:block!important}}.pixel-caffeine-wrapper .visible-print-inline{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-inline{display:inline!important}}.pixel-caffeine-wrapper .visible-print-inline-block{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-inline-block{display:inline-block!important}}@media print{.pixel-caffeine-wrapper .hidden-print{display:none!important}}.pixel-caffeine-wrapper body{background-color:transparent}.pixel-caffeine-wrapper body.inverse{background:#333}.pixel-caffeine-wrapper body.inverse,.pixel-caffeine-wrapper body.inverse .form-control{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper body.inverse .card,.pixel-caffeine-wrapper body.inverse .card .form-control,.pixel-caffeine-wrapper body.inverse .modal,.pixel-caffeine-wrapper body.inverse .modal .form-control,.pixel-caffeine-wrapper body.inverse .panel-default,.pixel-caffeine-wrapper body.inverse .panel-default .form-control{background-color:initial;color:initial}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper body,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-family:Open Sans,Arial,sans-serif;font-weight:300}.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-weight:400}.pixel-caffeine-wrapper a,.pixel-caffeine-wrapper a:focus,.pixel-caffeine-wrapper a:hover{color:#337ab7}.pixel-caffeine-wrapper a .material-icons,.pixel-caffeine-wrapper a:focus .material-icons,.pixel-caffeine-wrapper a:hover .material-icons{vertical-align:middle}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:0}.pixel-caffeine-wrapper .form-horizontal .radio{margin-bottom:10px}.pixel-caffeine-wrapper .form-horizontal label{text-align:right}.pixel-caffeine-wrapper .form-horizontal label.control-label{margin:0}.pixel-caffeine-wrapper body .container-fluid .well.well-sm,.pixel-caffeine-wrapper body .container .well.well-sm{padding:10px}.pixel-caffeine-wrapper body .container-fluid .well.well-lg,.pixel-caffeine-wrapper body .container .well.well-lg{padding:26px}.pixel-caffeine-wrapper body .container-fluid .jumbotron,.pixel-caffeine-wrapper body .container-fluid .well,.pixel-caffeine-wrapper body .container .jumbotron,.pixel-caffeine-wrapper body .container .well{background-color:#fff;padding:19px;margin-bottom:20px;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);border-radius:4px;border:0}.pixel-caffeine-wrapper body .container-fluid .jumbotron p,.pixel-caffeine-wrapper body .container-fluid .well p,.pixel-caffeine-wrapper body .container .jumbotron p,.pixel-caffeine-wrapper body .container .well p{font-weight:300}.pixel-caffeine-wrapper body .container-fluid .jumbotron,.pixel-caffeine-wrapper body .container-fluid .jumbotron-default,.pixel-caffeine-wrapper body .container-fluid .well,.pixel-caffeine-wrapper body .container-fluid .well-default,.pixel-caffeine-wrapper body .container .jumbotron,.pixel-caffeine-wrapper body .container .jumbotron-default,.pixel-caffeine-wrapper body .container .well,.pixel-caffeine-wrapper body .container .well-default{background-color:#fff}.pixel-caffeine-wrapper body .container-fluid .jumbotron-inverse,.pixel-caffeine-wrapper body .container-fluid .well-inverse,.pixel-caffeine-wrapper body .container .jumbotron-inverse,.pixel-caffeine-wrapper body .container .well-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper body .container-fluid .jumbotron-primary,.pixel-caffeine-wrapper body .container-fluid .well-primary,.pixel-caffeine-wrapper body .container .jumbotron-primary,.pixel-caffeine-wrapper body .container .well-primary{background-color:#4c70ba}.pixel-caffeine-wrapper body .container-fluid .jumbotron-success,.pixel-caffeine-wrapper body .container-fluid .well-success,.pixel-caffeine-wrapper body .container .jumbotron-success,.pixel-caffeine-wrapper body .container .well-success{background-color:#68aa20}.pixel-caffeine-wrapper body .container-fluid .jumbotron-info,.pixel-caffeine-wrapper body .container-fluid .well-info,.pixel-caffeine-wrapper body .container .jumbotron-info,.pixel-caffeine-wrapper body .container .well-info{background-color:#5bc0de}.pixel-caffeine-wrapper body .container-fluid .jumbotron-warning,.pixel-caffeine-wrapper body .container-fluid .well-warning,.pixel-caffeine-wrapper body .container .jumbotron-warning,.pixel-caffeine-wrapper body .container .well-warning{background-color:#fd9c00}.pixel-caffeine-wrapper body .container-fluid .jumbotron-danger,.pixel-caffeine-wrapper body .container-fluid .well-danger,.pixel-caffeine-wrapper body .container .jumbotron-danger,.pixel-caffeine-wrapper body .container .well-danger{background-color:#e15667}.pixel-caffeine-wrapper .btn,.pixel-caffeine-wrapper .input-group-btn .btn{border:none;border-radius:4px;position:relative;margin:10px 1px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;will-change:box-shadow,transform;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:0;cursor:pointer;text-decoration:none;background:transparent}.pixel-caffeine-wrapper .btn::-moz-focus-inner,.pixel-caffeine-wrapper .input-group-btn .btn::-moz-focus-inner{border:0}.pixel-caffeine-wrapper .btn:not(.btn-raised),.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised){box-shadow:none}.pixel-caffeine-wrapper .btn:not(.btn-raised),.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-default,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised),.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-default{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-inverse{color:#3f51b5}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-primary{color:#4c70ba}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-success,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-success{color:#68aa20}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-info,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-info{color:#5bc0de}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-warning{color:#fd9c00}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-danger{color:#e15667}.pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):focus,.pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:hsla(0,0%,60%,.2)}.theme-dark .pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):hover,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:hsla(0,0%,80%,.15)}.btn-group-raised .pixel-caffeine-wrapper .btn,.btn-group-raised .pixel-caffeine-wrapper .btn.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-default,.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .btn.btn-raised,.pixel-caffeine-wrapper .btn.btn-raised.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-default{background-color:transparent;color:rgba(0,0,0,.87)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-inverse,.pixel-caffeine-wrapper .btn.btn-fab.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-inverse{background-color:#3f51b5;color:#fff}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-primary,.pixel-caffeine-wrapper .btn.btn-fab.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-success,.pixel-caffeine-wrapper .btn.btn-fab.btn-success,.pixel-caffeine-wrapper .btn.btn-raised.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-info,.pixel-caffeine-wrapper .btn.btn-fab.btn-info,.pixel-caffeine-wrapper .btn.btn-raised.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-warning,.pixel-caffeine-wrapper .btn.btn-fab.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-danger,.pixel-caffeine-wrapper .btn.btn-fab.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link),.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover{outline:0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-default{background-color:hsla(0,0%,4%,0)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-inverse{background-color:#495bc0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-primary{background-color:#5b7cc0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-success{background-color:#73bb23}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-info{background-color:#6cc7e1}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-warning{background-color:#e98f00}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-danger{background-color:#e46777}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab{border-radius:50%;font-size:24px;height:40px;margin:auto;min-width:40px;width:40px;padding:0;overflow:hidden;box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.pixel-caffeine-wrapper .btn.btn-fab .ripple-container,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab .ripple-container{border-radius:50%}.btn-group-sm .pixel-caffeine-wrapper .btn.btn-fab,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-fab-mini{height:28px;min-width:28px;width:28px}.btn-group-sm .pixel-caffeine-wrapper .btn.btn-fab.material-icons,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.material-icons,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-fab-mini.material-icons{top:0;left:0}.pixel-caffeine-wrapper .btn.btn-fab i.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab i.material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.pixel-caffeine-wrapper .btn i.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn i.material-icons{vertical-align:middle}.btn-group-lg .pixel-caffeine-wrapper .btn,.btn-group-lg .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-lg>.btn,.pixel-caffeine-wrapper .btn.btn-lg,.pixel-caffeine-wrapper .input-group-btn .btn-group-lg>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-lg{font-size:16px}.btn-group-sm .pixel-caffeine-wrapper .btn,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-sm>.btn,.pixel-caffeine-wrapper .btn.btn-sm,.pixel-caffeine-wrapper .input-group-btn .btn-group-sm>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-sm{padding:5px 20px;font-size:12px}.btn-group-xs .pixel-caffeine-wrapper .btn,.btn-group-xs .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-xs>.btn,.pixel-caffeine-wrapper .btn.btn-xs,.pixel-caffeine-wrapper .input-group-btn .btn-group-xs>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-xs{padding:4px 15px;font-size:10px}.pixel-caffeine-wrapper .btn-group-vertical.disabled,.pixel-caffeine-wrapper .btn-group-vertical:disabled,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled],.pixel-caffeine-wrapper .btn-group.disabled,.pixel-caffeine-wrapper .btn-group:disabled,.pixel-caffeine-wrapper .btn-group[disabled][disabled],.pixel-caffeine-wrapper .btn.disabled,.pixel-caffeine-wrapper .btn:disabled,.pixel-caffeine-wrapper .btn[disabled][disabled],.pixel-caffeine-wrapper .input-group-btn .btn.disabled,.pixel-caffeine-wrapper .input-group-btn .btn:disabled,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled],fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn{color:rgba(0,0,0,.26);background:transparent}.theme-dark .pixel-caffeine-wrapper .btn-group-vertical.disabled,.theme-dark .pixel-caffeine-wrapper .btn-group-vertical:disabled,.theme-dark .pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .btn-group.disabled,.theme-dark .pixel-caffeine-wrapper .btn-group:disabled,.theme-dark .pixel-caffeine-wrapper .btn-group[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .btn.disabled,.theme-dark .pixel-caffeine-wrapper .btn:disabled,.theme-dark .pixel-caffeine-wrapper .btn[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn.disabled,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:disabled,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled],.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn{color:hsla(0,0%,100%,.3)}.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group.disabled.btn-raised,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group:disabled.btn-raised,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn.disabled.btn-raised,.pixel-caffeine-wrapper .btn.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn:disabled.btn-raised,.pixel-caffeine-wrapper .btn:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:focus:not(:active){box-shadow:none}.pixel-caffeine-wrapper .btn-group,.pixel-caffeine-wrapper .btn-group-vertical{position:relative;margin:10px 1px}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn,.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-default,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-default{background-color:transparent}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-inverse,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-primary,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-success,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-success{background-color:#68aa20}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-info,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-info{background-color:#5bc0de}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-warning,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-danger,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-danger{background-color:#e15667}.pixel-caffeine-wrapper .btn-group-vertical .dropdown-menu,.pixel-caffeine-wrapper .btn-group .dropdown-menu{border-radius:0 0 4px 4px}.pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised,.pixel-caffeine-wrapper .btn-group.btn-group-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .btn-group-vertical .btn,.pixel-caffeine-wrapper .btn-group-vertical .btn+.btn,.pixel-caffeine-wrapper .btn-group-vertical .btn-group,.pixel-caffeine-wrapper .btn-group-vertical .btn:active,.pixel-caffeine-wrapper .btn-group .btn,.pixel-caffeine-wrapper .btn-group .btn+.btn,.pixel-caffeine-wrapper .btn-group .btn-group,.pixel-caffeine-wrapper .btn-group .btn:active{margin:0}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper label.checkbox-inline{cursor:pointer;padding-left:0;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .checkbox label,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .checkbox label:focus,.form-group.is-focused .pixel-caffeine-wrapper .checkbox label:hover,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline:focus,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .checkbox label,fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .checkbox input[type=checkbox],.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.pixel-caffeine-wrapper .checkbox .checkbox-material,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material{vertical-align:middle;position:relative;top:3px}.pixel-caffeine-wrapper .checkbox .checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material:before{display:block;position:absolute;top:-5px;left:0;content:"";background-color:rgba(0,0,0,.84);height:20px;width:20px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale3d(2.3,2.3,1)}.pixel-caffeine-wrapper .checkbox .checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material .check{position:relative;display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.54);border-radius:4px;overflow:hidden;z-index:1}.pixel-caffeine-wrapper .checkbox .checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material .check:before{position:absolute;content:"";transform:rotate(45deg);display:block;margin-top:-4px;margin-left:6px;width:0;height:0;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus+.checkbox-material .check:after{opacity:.2}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material:before{animation:rippleOn .5s}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material .check:before{animation:checkbox-on .3s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material .check:after{animation:rippleOn .5s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material:before{animation:rippleOff .5s}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:before{animation:checkbox-off .3s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:after{animation:rippleOff .5s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:checked+.checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:checked+.checkbox-material .check{color:#4c70ba;border-color:#4c70ba}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:checked+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:checked+.checkbox-material .check:before{color:#4c70ba;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]+.circle,.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check,.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]+.circle,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check:before,fieldset[disabled] .pixel-caffeine-wrapper .checkbox,fieldset[disabled] .pixel-caffeine-wrapper .checkbox input[type=checkbox],fieldset[disabled] .pixel-caffeine-wrapper label.checkbox-inline,fieldset[disabled] .pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]{opacity:.5}.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]+.checkbox-material .check:after{background-color:rgba(0,0,0,.87);transform:rotate(-45deg)}@keyframes checkbox-on{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@keyframes checkbox-off{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{transform:rotate(45deg);margin-top:-4px;margin-left:6px;width:0;height:0;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0}51%{transform:rotate(0deg);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px}to{transform:rotate(0deg);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0}}.pixel-caffeine-wrapper .togglebutton,.pixel-caffeine-wrapper .togglebutton .toggle,.pixel-caffeine-wrapper .togglebutton input,.pixel-caffeine-wrapper .togglebutton label{user-select:none}.pixel-caffeine-wrapper .togglebutton label{cursor:pointer;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label:focus,.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .togglebutton label{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]{opacity:0;width:0;height:0}.pixel-caffeine-wrapper .togglebutton label .toggle{text-align:left}.pixel-caffeine-wrapper .togglebutton label .toggle,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle{content:"";display:inline-block;width:30px;height:15px;background-color:rgba(80,80,80,.7);border-radius:15px;margin-right:15px;transition:background .3s ease;vertical-align:middle}.pixel-caffeine-wrapper .togglebutton label .toggle:after{content:"";display:inline-block;width:20px;height:20px;background-color:#f1f1f1;border-radius:20px;position:relative;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-2px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle:after,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]:checked+.toggle:after{background-color:#bdbdbd}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]+.toggle:active:after,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.1)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{left:15px}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle{background-color:rgba(76,112,186,.5)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{background-color:#4c70ba}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(76,112,186,.1)}.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label.radio-inline{cursor:pointer;padding-left:45px;position:relative;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .radio label,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .radio label:focus,.form-group.is-focused .pixel-caffeine-wrapper .radio label:hover,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline:focus,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .radio label,fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper label.radio-inline{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .radio span,.pixel-caffeine-wrapper label.radio-inline span{display:block;position:absolute;left:10px;top:2px;transition-duration:.2s}.pixel-caffeine-wrapper .radio .circle,.pixel-caffeine-wrapper label.radio-inline .circle{border:2px solid rgba(0,0,0,.54);height:15px;width:15px;border-radius:100%}.pixel-caffeine-wrapper .radio .check,.pixel-caffeine-wrapper label.radio-inline .check{height:15px;width:15px;border-radius:100%;background-color:#4c70ba;transform:scale3d(0,0,0)}.pixel-caffeine-wrapper .radio .check:after,.pixel-caffeine-wrapper label.radio-inline .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,.87);left:-18px;top:-18px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale3d(1.5,1.5,1)}.pixel-caffeine-wrapper .radio input[type=radio]:focus:not(:checked)~.check:after,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:focus:not(:checked)~.check:after{animation:rippleOff .5s}.pixel-caffeine-wrapper .radio input[type=radio]:focus:checked~.check:after,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:focus:checked~.check:after{animation:rippleOn .5s}.pixel-caffeine-wrapper .radio input[type=radio],.pixel-caffeine-wrapper label.radio-inline input[type=radio]{opacity:0;height:0;width:0;overflow:hidden}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper .radio input[type=radio]:checked~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.circle{opacity:1}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check{background-color:#4c70ba}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.circle{border-color:#4c70ba}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check{transform:scale3d(.55,.55,1)}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{opacity:.26}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check{background-color:#444}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{border-color:#444}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{opacity:.3}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check{background-color:#fff}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{border-color:#fff}@keyframes rippleOn{0%{opacity:0}50%{opacity:.2}to{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:.2}to{opacity:0}}.pixel-caffeine-wrapper legend{margin-bottom:22px;font-size:21px}.pixel-caffeine-wrapper output{padding-top:8px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .form-control{height:38px;padding:7px 0;font-size:14px;line-height:1.42857}@media screen and (-webkit-min-device-pixel-ratio:0){.pixel-caffeine-wrapper input[type=date].form-control,.pixel-caffeine-wrapper input[type=datetime-local].form-control,.pixel-caffeine-wrapper input[type=month].form-control,.pixel-caffeine-wrapper input[type=time].form-control{line-height:38px}.input-group-sm .pixel-caffeine-wrapper input[type=date],.input-group-sm .pixel-caffeine-wrapper input[type=datetime-local],.input-group-sm .pixel-caffeine-wrapper input[type=month],.input-group-sm .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-sm,.pixel-caffeine-wrapper input[type=datetime-local].input-sm,.pixel-caffeine-wrapper input[type=month].input-sm,.pixel-caffeine-wrapper input[type=time].input-sm{line-height:24px}.input-group-lg .pixel-caffeine-wrapper input[type=date],.input-group-lg .pixel-caffeine-wrapper input[type=datetime-local],.input-group-lg .pixel-caffeine-wrapper input[type=month],.input-group-lg .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-lg,.pixel-caffeine-wrapper input[type=datetime-local].input-lg,.pixel-caffeine-wrapper input[type=month].input-lg,.pixel-caffeine-wrapper input[type=time].input-lg{line-height:44px}}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label{min-height:22px}.pixel-caffeine-wrapper .form-control-static{padding-top:8px;padding-bottom:8px;min-height:36px}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-sm .input-sm{height:24px;padding:3px 0;font-size:11px;line-height:1.5;border-radius:0}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control select.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon select.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn select.input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-sm select.input-sm{height:24px;line-height:24px}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.form-control textarea.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon textarea.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn textarea.input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-sm select[multiple].input-sm,.pixel-caffeine-wrapper .input-sm textarea.input-sm{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control{height:24px;padding:3px 0;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .form-group-sm select.form-control{height:24px;line-height:24px}.pixel-caffeine-wrapper .form-group-sm select[multiple].form-control,.pixel-caffeine-wrapper .form-group-sm textarea.form-control{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control-static{height:24px;min-height:33px;padding:4px 0;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-lg .input-lg{height:44px;padding:9px 0;font-size:18px;line-height:1.33333;border-radius:0}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control select.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon select.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn select.input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-lg select.input-lg{height:44px;line-height:44px}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.form-control textarea.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon textarea.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn textarea.input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-lg select[multiple].input-lg,.pixel-caffeine-wrapper .input-lg textarea.input-lg{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control{height:44px;padding:9px 0;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-group-lg select.form-control{height:44px;line-height:44px}.pixel-caffeine-wrapper .form-group-lg select[multiple].form-control,.pixel-caffeine-wrapper .form-group-lg textarea.form-control{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control-static{height:44px;min-height:40px;padding:10px 0;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:8px}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .radio{min-height:30px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .control-label{padding-top:8px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-lg .control-label{padding-top:13px;font-size:18px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-sm .control-label{padding-top:4px;font-size:11px}}.pixel-caffeine-wrapper .label{border-radius:3px;padding:.3em .6em}.pixel-caffeine-wrapper .label,.pixel-caffeine-wrapper .label.label-default{background-color:#9e9e9e}.pixel-caffeine-wrapper .label.label-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .label.label-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .label.label-success{background-color:#68aa20}.pixel-caffeine-wrapper .label.label-info{background-color:#5bc0de}.pixel-caffeine-wrapper .label.label-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .label.label-danger{background-color:#e15667}.pixel-caffeine-wrapper .form-control,.pixel-caffeine-wrapper .form-group .form-control{border:0;background-image:linear-gradient(#4c70ba,#4c70ba),linear-gradient(#d2d2d2,#d2d2d2);background-size:0 2px,100% 1px;background-repeat:no-repeat;background-position:bottom,50% calc(100% - 1px);background-color:transparent;transition:background 0s ease-out;float:none;box-shadow:none;border-radius:0}.pixel-caffeine-wrapper .form-control::-moz-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-control[readonly],.pixel-caffeine-wrapper .form-group .form-control[disabled],.pixel-caffeine-wrapper .form-group .form-control[readonly],fieldset[disabled] .pixel-caffeine-wrapper .form-control,fieldset[disabled] .pixel-caffeine-wrapper .form-group .form-control{background-color:transparent}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-group .form-control[disabled],fieldset[disabled] .pixel-caffeine-wrapper .form-control,fieldset[disabled] .pixel-caffeine-wrapper .form-group .form-control{background-image:none;border-bottom:1px dotted #d2d2d2}.pixel-caffeine-wrapper .form-group{position:relative}.pixel-caffeine-wrapper .form-group.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.label-placeholder label.control-label,.pixel-caffeine-wrapper .form-group.label-static label.control-label{position:absolute;pointer-events:none;transition:all .3s ease}.pixel-caffeine-wrapper .form-group.label-floating label.control-label{will-change:left,top,contents}.pixel-caffeine-wrapper .form-group.label-placeholder:not(.is-empty) label.control-label{display:none}.pixel-caffeine-wrapper .form-group .help-block{position:absolute;display:none}.pixel-caffeine-wrapper .form-group.is-focused .form-control{outline:none;background-image:linear-gradient(#4c70ba,#4c70ba),linear-gradient(#d2d2d2,#d2d2d2);background-size:100% 2px,100% 1px;box-shadow:none;transition-duration:.3s}.pixel-caffeine-wrapper .form-group.is-focused .form-control .material-input:after{background-color:#4c70ba}.pixel-caffeine-wrapper .form-group.is-focused label,.pixel-caffeine-wrapper .form-group.is-focused label.control-label{color:#4c70ba}.pixel-caffeine-wrapper .form-group.is-focused.label-placeholder label,.pixel-caffeine-wrapper .form-group.is-focused.label-placeholder label.control-label{color:#bdbdbd}.pixel-caffeine-wrapper .form-group.is-focused .help-block{display:block}.pixel-caffeine-wrapper .form-group.has-warning .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-warning.is-focused .form-control{background-image:linear-gradient(#fd9c00,#fd9c00),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-warning .help-block,.pixel-caffeine-wrapper .form-group.has-warning label.control-label{color:#fd9c00}.pixel-caffeine-wrapper .form-group.has-error .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-error.is-focused .form-control{background-image:linear-gradient(#e15667,#e15667),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-error .help-block,.pixel-caffeine-wrapper .form-group.has-error label.control-label{color:#e15667}.pixel-caffeine-wrapper .form-group.has-success .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-success.is-focused .form-control{background-image:linear-gradient(#68aa20,#68aa20),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-success .help-block,.pixel-caffeine-wrapper .form-group.has-success label.control-label{color:#68aa20}.pixel-caffeine-wrapper .form-group.has-info .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-info.is-focused .form-control{background-image:linear-gradient(#5bc0de,#5bc0de),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-info .help-block,.pixel-caffeine-wrapper .form-group.has-info label.control-label{color:#5bc0de}.pixel-caffeine-wrapper .form-group textarea{resize:none}.pixel-caffeine-wrapper .form-group textarea~.form-control-highlight{margin-top:-11px}.pixel-caffeine-wrapper .form-group select{appearance:none}.pixel-caffeine-wrapper .form-group select~.material-input:after{display:none}.pixel-caffeine-wrapper .form-control{margin-bottom:7px}.pixel-caffeine-wrapper .form-control::-moz-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper label.control-label{font-size:11px;line-height:1.07143;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .help-block{margin-top:0;font-size:11px}.pixel-caffeine-wrapper .form-group{padding-bottom:7px;margin:27px 0 0}.pixel-caffeine-wrapper .form-group .form-control{margin-bottom:7px}.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group .radio label,.pixel-caffeine-wrapper .form-group label{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group label.control-label{font-size:11px;line-height:1.07143;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group .help-block{margin-top:0;font-size:11px}.pixel-caffeine-wrapper .form-group.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.label-placeholder label.control-label{top:-7px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .form-group.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.label-static label.control-label{top:-28px;left:0;font-size:11px;line-height:1.07143}.pixel-caffeine-wrapper .form-group.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-28px;left:0;font-size:11px;line-height:1.07143}.pixel-caffeine-wrapper .form-group.form-group-sm{padding-bottom:3px;margin:21px 0 0}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control{margin-bottom:3px}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control::-moz-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control:-ms-input-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control::-webkit-input-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .checkbox label,.pixel-caffeine-wrapper .form-group.form-group-sm .radio label,.pixel-caffeine-wrapper .form-group.form-group-sm label{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm label.control-label{font-size:9px;line-height:1.125;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group.form-group-sm .help-block{margin-top:0;font-size:9px}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-placeholder label.control-label{top:-11px;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-static label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.pixel-caffeine-wrapper .form-group.form-group-lg{padding-bottom:9px;margin:30px 0 0}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control{margin-bottom:9px}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control::-moz-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control:-ms-input-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control::-webkit-input-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .checkbox label,.pixel-caffeine-wrapper .form-group.form-group-lg .radio label,.pixel-caffeine-wrapper .form-group.form-group-lg label{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg label.control-label{font-size:14px;line-height:1;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group.form-group-lg .help-block{margin-top:0;font-size:14px}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-placeholder label.control-label{top:-5px;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-static label.control-label{top:-32px;left:0;font-size:14px;line-height:1}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-32px;left:0;font-size:14px;line-height:1}.pixel-caffeine-wrapper select.form-control{border:0;box-shadow:none;border-radius:0}.form-group.is-focused .pixel-caffeine-wrapper select.form-control{box-shadow:none;border-color:#d2d2d2}.form-group.is-focused .pixel-caffeine-wrapper select.form-control[multiple],.pixel-caffeine-wrapper select.form-control[multiple]{height:85px}.pixel-caffeine-wrapper .input-group-btn .btn{margin:0 0 7px}.pixel-caffeine-wrapper .form-group.form-group-sm .input-group-btn .btn{margin:0 0 3px}.pixel-caffeine-wrapper .form-group.form-group-lg .input-group-btn .btn{margin:0 0 9px}.pixel-caffeine-wrapper .input-group .input-group-btn{padding:0 12px}.pixel-caffeine-wrapper .input-group .input-group-addon{border:0;background:transparent}.pixel-caffeine-wrapper .form-group input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.pixel-caffeine-wrapper legend{border-bottom:0}.pixel-caffeine-wrapper .list-group{border-radius:0}.pixel-caffeine-wrapper .list-group .list-group-item{background-color:transparent;overflow:hidden;border:0;border-radius:0;padding:0 16px}.pixel-caffeine-wrapper .list-group .list-group-item.baseline{border-bottom:1px solid #cecece}.pixel-caffeine-wrapper .list-group .list-group-item.baseline:last-child{border-bottom:none}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture{display:inline-block;padding-right:16px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary i,.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img,.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture i,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label{display:block;width:56px;height:56px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img{background:rgba(0,0,0,.1);padding:1px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img.circle,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img.circle{border-radius:100%}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary i,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture i{background:rgba(0,0,0,.25);border-radius:100%;text-align:center;line-height:56px;font-size:20px;color:#fff}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label{margin:5px -7px -5px 7px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label .checkbox-material,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label .checkbox-material{left:-10px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content{display:inline-block;width:calc(100% - 92px);min-height:66px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary{position:absolute;right:16px;top:16px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary i{font-size:20px;color:rgba(0,0,0,.25);cursor:pointer}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary~*{max-width:calc(100% - 30px)}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .least-content{position:absolute;right:16px;top:0;color:rgba(0,0,0,.54);font-size:14px}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-heading{color:rgba(0,0,0,.77);font-size:20px;line-height:29px}.pixel-caffeine-wrapper .list-group .list-group-item.active:focus,.pixel-caffeine-wrapper .list-group .list-group-item.active:hover{background:rgba(0,0,0,.15);outline:10px solid rgba(0,0,0,.15)}.pixel-caffeine-wrapper .list-group .list-group-item.active .list-group-item-heading,.pixel-caffeine-wrapper .list-group .list-group-item.active .list-group-item-text{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .list-group .list-group-separator{clear:both;overflow:hidden;margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .list-group .list-group-separator:before{content:"";width:calc(100% - 90px);border-bottom:1px solid rgba(0,0,0,.1);float:right}.pixel-caffeine-wrapper .navbar{background-color:#4c70ba;border:0;border-radius:0}.pixel-caffeine-wrapper .navbar .navbar-brand{position:relative;height:60px;line-height:30px;color:inherit}.pixel-caffeine-wrapper .navbar .navbar-brand:focus,.pixel-caffeine-wrapper .navbar .navbar-brand:hover{color:inherit;background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-text{color:inherit;margin-top:20px;margin-bottom:20px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a{color:inherit;padding-top:20px;padding-bottom:20px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>li>a:hover{color:inherit;background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a:hover{color:inherit;background-color:hsla(0,0%,100%,.1)}.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a:hover{color:inherit;background-color:transparent;opacity:.9}.pixel-caffeine-wrapper .navbar .navbar-toggle{border:0}.pixel-caffeine-wrapper .navbar .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar .navbar-toggle:hover{background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-toggle .icon-bar{background-color:inherit;border:1px solid}.pixel-caffeine-wrapper .navbar .navbar-default .navbar-toggle,.pixel-caffeine-wrapper .navbar .navbar-inverse .navbar-toggle{border-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-collapse,.pixel-caffeine-wrapper .navbar .navbar-form{border-color:rgba(0,0,0,.1)}.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a:hover{background-color:transparent;color:inherit}@media (max-width:767px){.pixel-caffeine-wrapper .navbar .navbar-nav .navbar-text{color:inherit;margin-top:15px;margin-bottom:15px}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.dropdown-header{border:0;color:inherit}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu .divider{border-bottom:1px solid;opacity:.08}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a{color:inherit}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a:hover,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a:hover{color:inherit;background-color:transparent}}.pixel-caffeine-wrapper .navbar .btn-link,.pixel-caffeine-wrapper .navbar .btn-link:focus,.pixel-caffeine-wrapper .navbar .btn-link:hover,.pixel-caffeine-wrapper .navbar .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar .btn-link[disabled]:hover,.pixel-caffeine-wrapper .navbar .navbar-link,.pixel-caffeine-wrapper .navbar .navbar-link:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar .btn-link:hover{color:inherit}.pixel-caffeine-wrapper .navbar .navbar-form{margin-top:16px}.pixel-caffeine-wrapper .navbar .navbar-form .form-group{margin:0;padding:0}.pixel-caffeine-wrapper .navbar .navbar-form .form-group.is-focused .material-input:after,.pixel-caffeine-wrapper .navbar .navbar-form .form-group .material-input:before{background-color:inherit}.pixel-caffeine-wrapper .navbar .navbar-form .form-control,.pixel-caffeine-wrapper .navbar .navbar-form .form-group .form-control{border-color:inherit;color:inherit;padding:0;margin:0;height:28px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .navbar,.pixel-caffeine-wrapper .navbar.navbar-default{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar .dropdown-menu,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar .dropdown-menu li>a,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar .dropdown-menu li>a:hover,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a:hover{color:#4c70ba;background-color:#eee}.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a:hover,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-inverse{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a:hover{color:#3f51b5;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a:hover{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a:hover{color:#4c70ba;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a:hover{color:#68aa20;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a:hover{color:#5bc0de;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a:hover{color:#fd9c00;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a:hover{color:#e15667;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar-inverse{background-color:#3f51b5}@media (max-width:1199px){.pixel-caffeine-wrapper .navbar .navbar-brand{height:50px;padding:10px 15px}.pixel-caffeine-wrapper .navbar .navbar-form{margin-top:10px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.pixel-caffeine-wrapper .dropdown-menu{border:0;box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.pixel-caffeine-wrapper .dropdown-menu .divider{background-color:rgba(0,0,0,.12)}.pixel-caffeine-wrapper .dropdown-menu li{overflow:hidden;position:relative}.pixel-caffeine-wrapper .dropdown-menu li a:hover{background-color:transparent;color:#4c70ba}.pixel-caffeine-wrapper .alert{border:0;border-radius:0}.pixel-caffeine-wrapper .alert,.pixel-caffeine-wrapper .alert.alert-default{background-color:hsla(0,0%,100%,.84);color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-default .alert-link,.pixel-caffeine-wrapper .alert.alert-default a,.pixel-caffeine-wrapper .alert .alert-link,.pixel-caffeine-wrapper .alert a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-inverse{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .alert.alert-inverse .alert-link,.pixel-caffeine-wrapper .alert.alert-inverse a{color:#fff}.pixel-caffeine-wrapper .alert.alert-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-primary .alert-link,.pixel-caffeine-wrapper .alert.alert-primary a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-success .alert-link,.pixel-caffeine-wrapper .alert.alert-success a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-info .alert-link,.pixel-caffeine-wrapper .alert.alert-info a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-warning .alert-link,.pixel-caffeine-wrapper .alert.alert-warning a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert-danger,.pixel-caffeine-wrapper .alert-info,.pixel-caffeine-wrapper .alert-success,.pixel-caffeine-wrapper .alert-warning,.pixel-caffeine-wrapper .alert.alert-danger .alert-link,.pixel-caffeine-wrapper .alert.alert-danger a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert-default .alert-link,.pixel-caffeine-wrapper .alert-default a{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .progress{height:4px;border-radius:0;box-shadow:none;background:#c8c8c8}.pixel-caffeine-wrapper .progress .progress-bar{box-shadow:none}.pixel-caffeine-wrapper .progress .progress-bar,.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-default{background-color:#4c70ba}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-success{background-color:#68aa20}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-info{background-color:#5bc0de}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-danger{background-color:#e15667}.pixel-caffeine-wrapper .text-warning{color:#fd9c00}.pixel-caffeine-wrapper .text-primary{color:#4c70ba}.pixel-caffeine-wrapper .text-danger{color:#e15667}.pixel-caffeine-wrapper .text-success{color:#68aa20}.pixel-caffeine-wrapper .text-info{color:#5bc0de}.pixel-caffeine-wrapper .nav-tabs{background:#4c70ba}.pixel-caffeine-wrapper .nav-tabs>li>a{color:#fff;border:0;margin:0}.pixel-caffeine-wrapper .nav-tabs>li>a:hover{background-color:transparent;border:0}.pixel-caffeine-wrapper .nav-tabs>li>a,.pixel-caffeine-wrapper .nav-tabs>li>a:focus,.pixel-caffeine-wrapper .nav-tabs>li>a:hover{background-color:transparent!important;border:0!important;color:#fff!important;font-weight:500}.pixel-caffeine-wrapper .nav-tabs>li.disabled>a,.pixel-caffeine-wrapper .nav-tabs>li.disabled>a:hover{color:hsla(0,0%,100%,.5)}.pixel-caffeine-wrapper .popover,.pixel-caffeine-wrapper .tooltip-inner{color:#ececec;line-height:1em;background:hsla(0,0%,40%,.9);border:none;border-radius:4px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .tooltip,.pixel-caffeine-wrapper .tooltip.in{opacity:1}.pixel-caffeine-wrapper .popover .arrow,.pixel-caffeine-wrapper .popover .tooltip-arrow,.pixel-caffeine-wrapper .tooltip .arrow,.pixel-caffeine-wrapper .tooltip .tooltip-arrow{display:none}.pixel-caffeine-wrapper .card{display:inline-block;position:relative;width:100%;border-radius:4px;color:rgba(0,0,0,.87);background:#fff;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.pixel-caffeine-wrapper .card .card-height-indicator{margin-top:100%}.pixel-caffeine-wrapper .card .card-content{position:absolute;top:0;bottom:0;left:0;right:0}.pixel-caffeine-wrapper .card .card-image{height:60%;position:relative;overflow:hidden}.pixel-caffeine-wrapper .card .card-image img{width:100%;height:100%;border-top-left-radius:2px;border-top-right-radius:2px;pointer-events:none}.pixel-caffeine-wrapper .card .card-image .card-image-headline{position:absolute;bottom:16px;left:18px;color:#fff;font-size:2em}.pixel-caffeine-wrapper .card .card-body{height:30%;padding:18px}.pixel-caffeine-wrapper .card .card-footer{height:10%;padding:18px}.pixel-caffeine-wrapper .card .card-footer a,.pixel-caffeine-wrapper .card .card-footer button{margin:0!important;position:relative;bottom:25px;width:auto}.pixel-caffeine-wrapper .card .card-footer a:first-child,.pixel-caffeine-wrapper .card .card-footer button:first-child{left:-15px}.pixel-caffeine-wrapper .modal-content{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);border-radius:4px;border:none}.pixel-caffeine-wrapper .modal-content .modal-header{border-bottom:none;padding:24px 24px 0}.pixel-caffeine-wrapper .modal-content .modal-body{padding:24px 24px 16px}.pixel-caffeine-wrapper .modal-content .modal-footer{border-top:none;padding:7px}.pixel-caffeine-wrapper .modal-content .modal-footer button{margin:0;padding-left:16px;padding-right:16px;width:auto}.pixel-caffeine-wrapper .modal-content .modal-footer button.pull-left{padding-left:5px;padding-right:5px;position:relative;left:-5px}.pixel-caffeine-wrapper .modal-content .modal-footer button+button{margin-bottom:16px}.pixel-caffeine-wrapper .modal-content .modal-body+.modal-footer{padding-top:0}.pixel-caffeine-wrapper .modal-backdrop{background:rgba(0,0,0,.3)}.pixel-caffeine-wrapper .panel{border-radius:2px;border:0;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .panel.panel-default>.panel-heading,.pixel-caffeine-wrapper .panel>.panel-heading{background-color:#eee}.pixel-caffeine-wrapper .panel.panel-inverse>.panel-heading{background-color:#3f51b5}.pixel-caffeine-wrapper .panel.panel-primary>.panel-heading{background-color:#4c70ba}.pixel-caffeine-wrapper .panel.panel-success>.panel-heading{background-color:#68aa20}.pixel-caffeine-wrapper .panel.panel-info>.panel-heading{background-color:#5bc0de}.pixel-caffeine-wrapper .panel.panel-warning>.panel-heading{background-color:#fd9c00}.pixel-caffeine-wrapper .panel.panel-danger>.panel-heading{background-color:#e15667}.pixel-caffeine-wrapper [class*=panel-]>.panel-heading{color:hsla(0,0%,100%,.84);border:0}.pixel-caffeine-wrapper .panel-default>.panel-heading,.pixel-caffeine-wrapper .panel:not([class*=panel-])>.panel-heading{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .panel-footer{background-color:#eee}.pixel-caffeine-wrapper hr.on-dark{color:#5e5e5e}.pixel-caffeine-wrapper hr.on-light{color:#fff}@media (-o-device-pixel-ratio:3/4),(-webkit-min-device-pixel-ratio:0.75),(min--moz-device-pixel-ratio:0.75),(min-device-pixel-ratio:0.75),(min-resolution:0.75dppx),(min-resolution:120dpi){.pixel-caffeine-wrapper hr{height:.75px}}@media (-o-device-pixel-ratio:1),(-webkit-min-device-pixel-ratio:1),(min--moz-device-pixel-ratio:1),(min-device-pixel-ratio:1),(min-resolution:1dppx),(min-resolution:160dpi){.pixel-caffeine-wrapper hr{height:1px}}@media (-o-device-pixel-ratio:133/100),(-webkit-min-device-pixel-ratio:1.33),(min--moz-device-pixel-ratio:1.33),(min-device-pixel-ratio:1.33),(min-resolution:1.33dppx),(min-resolution:213dpi){.pixel-caffeine-wrapper hr{height:1.333px}}@media (-o-device-pixel-ratio:3/2),(-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:1.5dppx),(min-resolution:240dpi){.pixel-caffeine-wrapper hr{height:1.5px}}@media (-o-device-pixel-ratio:2/1),(-webkit-min-device-pixel-ratio:2),(min--moz-device-pixel-ratio:2),(min-device-pixel-ratio:2),(min-resolution:2dppx),(min-resolution:380dpi){.pixel-caffeine-wrapper hr{height:2px}}@media (-o-device-pixel-ratio:3/1),(-webkit-min-device-pixel-ratio:3),(min--moz-device-pixel-ratio:3),(min-device-pixel-ratio:3),(min-resolution:3dppx),(min-resolution:480dpi){.pixel-caffeine-wrapper hr{height:3px}}@media (-o-device-pixel-ratio:4/1),(-webkit-min-device-pixel-ratio:4),(min--moz-device-pixel-ratio:4),(min-device-pixel-ratio:3),(min-resolution:4dppx),(min-resolution:640dpi){.pixel-caffeine-wrapper hr{height:4px}}.pixel-caffeine-wrapper *{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.pixel-caffeine-wrapper :focus{outline:0}.pixel-caffeine-wrapper .snackbar{background-color:#323232;color:hsla(0,0%,100%,.84);font-size:14px;border-radius:4px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);height:0;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0s linear .2s,padding 0s linear .2s,height 0s linear .2s;transform:translateY(200%)}.pixel-caffeine-wrapper .snackbar.snackbar-opened{padding:14px 15px;margin-bottom:20px;height:auto;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0s linear .2s,height 0s linear .2s;transform:none}.pixel-caffeine-wrapper .snackbar.toast{border-radius:200px}.pixel-caffeine-wrapper .noUi-target,.pixel-caffeine-wrapper .noUi-target *{-webkit-touch-callout:none;-ms-touch-action:none;user-select:none;box-sizing:border-box}.pixel-caffeine-wrapper .noUi-base{width:100%;height:100%;position:relative}.pixel-caffeine-wrapper .noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.pixel-caffeine-wrapper .noUi-handle{position:relative;z-index:1}.pixel-caffeine-wrapper .noUi-stacking .noUi-handle{z-index:10}.pixel-caffeine-wrapper .noUi-state-tap .noUi-origin{transition:left .3s,top .3s}.pixel-caffeine-wrapper .noUi-state-drag *{cursor:inherit!important}.pixel-caffeine-wrapper .noUi-horizontal{height:10px}.pixel-caffeine-wrapper .noUi-handle{box-sizing:border-box;width:12px;height:12px;left:-10px;top:-5px;cursor:ew-resize;border-radius:100%;transition:all .2s ease-out;border:1px solid}.pixel-caffeine-wrapper .noUi-vertical .noUi-handle{margin-left:5px;cursor:ns-resize}.pixel-caffeine-wrapper .noUi-horizontal.noUi-extended{padding:0 15px}.pixel-caffeine-wrapper .noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.pixel-caffeine-wrapper .noUi-background{height:2px;margin:20px 0}.pixel-caffeine-wrapper .noUi-origin{margin:0;border-radius:0;height:2px;background:#c8c8c8}.pixel-caffeine-wrapper .noUi-origin[style^="left: 0"] .noUi-handle{background-color:#fff;border:2px solid #c8c8c8}.pixel-caffeine-wrapper .noUi-origin[style^="left: 0"] .noUi-handle.noUi-active{border-width:1px}.pixel-caffeine-wrapper .noUi-target{border-radius:4px}.pixel-caffeine-wrapper .noUi-horizontal{height:2px;margin:15px 0}.pixel-caffeine-wrapper .noUi-vertical{height:100%;width:2px;margin:0 15px;display:inline-block}.pixel-caffeine-wrapper .noUi-handle.noUi-active{transform:scale3d(2.5,2.5,1)}.pixel-caffeine-wrapper [disabled].noUi-slider{opacity:.5}.pixel-caffeine-wrapper [disabled] .noUi-handle{cursor:not-allowed}.pixel-caffeine-wrapper .slider{background:#c8c8c8}.pixel-caffeine-wrapper .slider.noUi-connect,.pixel-caffeine-wrapper .slider.slider-default.noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse.noUi-connect{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary.noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success.noUi-connect{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info.noUi-connect{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning.noUi-connect{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger.noUi-connect{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-connect,.pixel-caffeine-wrapper .slider.slider-default .noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-connect{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-connect{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-connect{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-connect{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-connect{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-handle,.pixel-caffeine-wrapper .slider.slider-default .noUi-handle{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-handle{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-handle{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-handle{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-handle{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-handle{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-handle{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-handle,.pixel-caffeine-wrapper .slider.slider-default .noUi-handle{border-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-handle{border-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-handle{border-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-handle{border-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-handle{border-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-handle{border-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-handle{border-color:#e15667}.pixel-caffeine-wrapper .selectize-control.multi,.pixel-caffeine-wrapper .selectize-control.single{padding:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active{cursor:text;background:transparent;box-shadow:none;border:0;padding:0;height:100%;font-size:14px;line-height:30px}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input .has-items,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active .has-items,.pixel-caffeine-wrapper .selectize-control.single .selectize-input .has-items,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active .has-items{padding:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input:after{right:5px;position:absolute;font-size:25px;content:"\E5C5";font-family:Material Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input input{font-size:14px;outline:0;border:0;background:transparent}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.label-floating-fix input{opacity:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div{display:inline-block;margin:0 8px 3px 0;padding:0;background:transparent;border:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div:after{content:","}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div:last-of-type:after{content:""}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div.active{font-weight:700;background:transparent;border:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown{position:absolute;z-index:1000;border:0;width:100%!important;left:0!important;height:auto;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px;padding:0;margin-top:3px}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .active,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .active{background-color:inherit}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .highlight,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .highlight{background-color:#d5d8ff}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .selected,.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .selected.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .selected,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .selected.active{background-color:#eee}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .optgroup-header,.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown [data-selectable],.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .optgroup-header,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown [data-selectable]{padding:10px 20px;cursor:pointer}.pixel-caffeine-wrapper .selectize-control.multi .dropdown-active~.selectize-dropdown,.pixel-caffeine-wrapper .selectize-control.single .dropdown-active~.selectize-dropdown{display:block}.pixel-caffeine-wrapper .dropdownjs:after{right:5px;top:3px;font-size:25px;position:absolute;font-family:Material Icons;font-style:normal;font-weight:400;content:"\E5C5";pointer-events:none;color:#757575}.pixel-caffeine-wrapper .withripple{position:relative}.pixel-caffeine-wrapper .ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}.pixel-caffeine-wrapper .ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:#000;background-color:rgba(0,0,0,.05);transform:scale(1);transform-origin:50%;opacity:0;pointer-events:none}.pixel-caffeine-wrapper .ripple.ripple-on{transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;opacity:.1}.pixel-caffeine-wrapper .ripple.ripple-out{transition:opacity .1s linear 0s!important;opacity:0}.pixel-caffeine-wrapper table{border-collapse:collapse;border-spacing:0}.pixel-caffeine-wrapper .material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .wrap{background:transparent}.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-weight:700}.pixel-caffeine-wrapper strong{font-weight:600}.pixel-caffeine-wrapper .actions .btn-fab{margin:0 5px}.pixel-caffeine-wrapper .actions .btn-fab.btn-mini{margin:0 2px}.pixel-caffeine-wrapper .wrap .page-title{margin-bottom:10px;font-size:28px;font-weight:400}.pixel-caffeine-wrapper .nav-tab:focus,.pixel-caffeine-wrapper .nav-tab:hover{background-color:#fff;color:#555}.pixel-caffeine-wrapper .nav-tab,.pixel-caffeine-wrapper .nav-tab:focus,.pixel-caffeine-wrapper .nav-tab:hover{color:#555;text-decoration:none}.pixel-caffeine-wrapper .nav-tab-active,.pixel-caffeine-wrapper .nav-tab-active:focus,.pixel-caffeine-wrapper .nav-tab-active:hover{border-bottom-color:#fafafa;color:#000;background:#fafafa}.pixel-caffeine-wrapper .nav-tab-active,.pixel-caffeine-wrapper .plugin-sec{background:#fafafa}.pixel-caffeine-wrapper .plugin-sec{padding:30px;border:1px solid #ccc}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar{margin-top:30px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:after,.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:before{display:table;content:" "}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:after{clear:both}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item{margin:15px 0}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .loading-msg{display:block;margin-bottom:5px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .list-group .row-content{position:relative;min-height:60px;background:url(placeholder-loading-news.png) no-repeat 0 0;background-size:100% 100%;opacity:.3}@media screen and (min-width:1200px){.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .list-group .row-content:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%;animation:placeholder-shimmer 1s linear forwards infinite;background:#fafafa;background:linear-gradient(90deg,transparent 8%,#fafafa 18%,transparent 33%);background-size:800px 104px}}.pixel-caffeine-wrapper .plugin-sec .banner-wrap{float:left;width:250px;margin:0 30px 30px 0;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a{background:#fff}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a:hover img{opacity:.9}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a:active img{opacity:1}.pixel-caffeine-wrapper .plugin-sec .banner-wrap img{display:block;width:100%;height:auto;border:5px solid #fff;transition:opacity .3s ease-out}@media screen and (min-width:1200px){.pixel-caffeine-wrapper .plugin-sec{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.pixel-caffeine-wrapper .plugin-sec .plugin-content{width:calc(100% - 250px - 30px);margin-right:30px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar{width:250px;margin-top:0}}.pixel-caffeine-wrapper .sec-overlay{position:relative}.pixel-caffeine-wrapper .sec-overlay:after{background:rgba(0,0,0,.3);content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.pixel-caffeine-wrapper .sec-overlay .bumping{z-index:2;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.pixel-caffeine-wrapper .data-group{position:relative}.pixel-caffeine-wrapper .data-group:after,.pixel-caffeine-wrapper .data-group:before{display:table;content:" "}.pixel-caffeine-wrapper .data-group:after{clear:both}.pixel-caffeine-wrapper .data-group .data{display:inline-block;margin-bottom:5px;text-align:right;font-size:14px;line-height:1.42857;color:#919191;font-weight:400}.pixel-caffeine-wrapper .data-group .value{font-size:14px}.pixel-caffeine-wrapper .data-group .value-info{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .data-group,.pixel-caffeine-wrapper .form-group{margin-left:0;margin-right:0;margin-top:0;padding-bottom:8px}.pixel-caffeine-wrapper .panel .data-group,.pixel-caffeine-wrapper .panel .form-group{margin-left:0;margin-right:0}.pixel-caffeine-wrapper .text-status{display:inline-block;vertical-align:middle;font-size:14px}.pixel-caffeine-wrapper .text-status-pending{color:#fd9c00}.pixel-caffeine-wrapper .control-wrap{font-size:14px}.pixel-caffeine-wrapper .form-group label.control-label{padding-top:7px;padding-bottom:7px;margin-top:0;font-size:14px;color:#919191;text-transform:none}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group .radio label{font-weight:300}.pixel-caffeine-wrapper .form-group .multiple-fields .form-group{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding-bottom:20px}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap{-webkit-box-flex:1 1 auto;-moz-box-flex:1 1 auto;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding-left:0}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap .form-control{margin-bottom:0}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap+.control-wrap{padding-left:15px}.pixel-caffeine-wrapper .form-group .help-block{position:relative;display:inherit}.pixel-caffeine-wrapper .form-group.has-error .form-control,.pixel-caffeine-wrapper .form-group.has-error .select2-container .select2-choice,.pixel-caffeine-wrapper .form-group.has-error .select2-container .select2-choices{background-color:#fceeef}.pixel-caffeine-wrapper .form-group.has-error .select2-chosen,.pixel-caffeine-wrapper .form-group.has-error .text{color:#e15667}.pixel-caffeine-wrapper .form-group .form-control[disabled]{background-color:#f6f6f6;color:#bdbdbd}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group.is-focused .checkbox label,.pixel-caffeine-wrapper .form-group.is-focused .radio label,.pixel-caffeine-wrapper .form-group .radio label{color:#444;font-weight:400}.pixel-caffeine-wrapper .form-group.is-focused .checkbox label:focus,.pixel-caffeine-wrapper .form-group.is-focused .checkbox label:hover,.pixel-caffeine-wrapper .form-group.is-focused label.checkbox-inline:focus,.pixel-caffeine-wrapper .form-group.is-focused label.checkbox-inline:hover{color:#444}.pixel-caffeine-wrapper .form-group .help-block-error,.pixel-caffeine-wrapper .form-group.is-focused .help-block-error{display:none}.pixel-caffeine-wrapper .form-group.has-error .help-block-error{display:block}.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label.radio-inline{padding-left:32px}.pixel-caffeine-wrapper .checkbox{position:relative;padding-left:30px}.pixel-caffeine-wrapper .checkbox .checkbox-material{position:absolute;top:0;left:0;width:20px;height:20px}.pixel-caffeine-wrapper .checkbox .checkbox-material:before{top:0}.pixel-caffeine-wrapper .checkbox .checkbox-material .check{border-radius:0}.pixel-caffeine-wrapper .checkbox .text{display:block}.pixel-caffeine-wrapper .multi-form-group:after,.pixel-caffeine-wrapper .multi-form-group:before{display:table;content:" "}.pixel-caffeine-wrapper .multi-form-group:after{clear:both}@media screen and (min-width:992px){.pixel-caffeine-wrapper .multi-form-group .sub-form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;float:right!important}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .multi-form-group .sub-form-group{float:left;width:83.33333%}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .modal .multi-form-group .sub-form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .modal .multi-form-group .sub-form-group{float:left;width:100%}}.pixel-caffeine-wrapper input{margin-top:0;margin-left:0;margin-right:0}.pixel-caffeine-wrapper .form-toggle{padding-top:12px;padding-bottom:20px}.pixel-caffeine-wrapper .form-toggle .control-wrap{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .form-toggle .text-status{margin-top:.3em}.pixel-caffeine-wrapper .togglebutton{display:inline-block;vertical-align:middle;padding-left:15px}.pixel-caffeine-wrapper .togglebutton label{margin-bottom:0}.pixel-caffeine-wrapper .togglebutton label input{position:absolute}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle{background:rgba(104,170,32,.5)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{background:#68aa20}.pixel-caffeine-wrapper .togglebutton.pending label input[type=checkbox]+.toggle{background:rgba(253,156,0,.5)}.pixel-caffeine-wrapper .togglebutton.pending label input[type=checkbox]+.toggle:after{background:#fd9c00}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .togglebutton,.pixel-caffeine-wrapper .form-inline .togglebutton{padding-left:0}}.pixel-caffeine-wrapper .form-horizontal .togglebutton,.pixel-caffeine-wrapper .form-inline .togglebutton{margin-top:.3em}.pixel-caffeine-wrapper .form-control,.pixel-caffeine-wrapper .form-group .form-control{background-color:#f2f4fa;padding-left:10px;padding-right:10px}.pixel-caffeine-wrapper .form-control::-moz-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-group-lg .form-control{font-size:2em}.pixel-caffeine-wrapper .form-group-lg.sub-panel{margin-top:0}.pixel-caffeine-wrapper .multiple-fields-actions .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .form-inline .control-wrap{display:inline-block;width:auto;vertical-align:middle;margin-right:10px}.pixel-caffeine-wrapper .form-inline label.control-label{margin-right:10px}.pixel-caffeine-wrapper .form-inline .text{font-size:14px}.pixel-caffeine-wrapper .form-horizontal .control-label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .control-label{float:left;width:16.66667%}}.pixel-caffeine-wrapper .form-horizontal .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .control-wrap{float:left;width:83.33333%}}.pixel-caffeine-wrapper .form-horizontal .control-label,.pixel-caffeine-wrapper .form-horizontal .control-wrap,.pixel-caffeine-wrapper .form-horizontal .data-group .data,.pixel-caffeine-wrapper .form-horizontal .data-group .value{padding-left:0;padding-right:0}.pixel-caffeine-wrapper .form-horizontal .checkbox .checkbx-material{top:10px}.pixel-caffeine-wrapper .form-horizontal .list-filter{padding-top:7px}.pixel-caffeine-wrapper .form-horizontal .form-inline .control-wrap{float:none;width:auto}.pixel-caffeine-wrapper .form-horizontal .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .multi-form-group .sub-form-group.form-vertical .form-group{padding-bottom:20px}.pixel-caffeine-wrapper .form-horizontal .multi-form-group .sub-form-group.form-vertical .control-label{padding-top:0;margin-top:0}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .data-group,.pixel-caffeine-wrapper .form-horizontal .form-group{padding-bottom:20px}.pixel-caffeine-wrapper .form-horizontal .control-label,.pixel-caffeine-wrapper .form-horizontal .data-group .data{padding-right:15px}.pixel-caffeine-wrapper .form-horizontal .form-group:not(.form-toggle) .control-label{margin-top:.3em}.pixel-caffeine-wrapper .form-horizontal .control-wrap,.pixel-caffeine-wrapper .form-horizontal .data-group .data+.value{padding-left:15px}.pixel-caffeine-wrapper .form-horizontal .form-toggle{padding-top:0}.pixel-caffeine-wrapper .form-horizontal .form-inline .control-label{margin-right:0}.pixel-caffeine-wrapper .form-horizontal .help-block{position:absolute;margin-top:-5px}.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error.data-group,.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error.form-group{padding-bottom:0}.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error .help-block{position:static}.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-label,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .data{position:relative;min-height:1px;padding-right:15px;padding-left:15px}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-label,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .data{float:left;width:16.66667%}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .value{position:relative;min-height:1px;padding-right:15px;padding-left:15px}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .value{float:left;width:83.33333%}}.pixel-caffeine-wrapper .form-horizontal .data-group .data{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .data-group .data{float:left;width:16.66667%}}.pixel-caffeine-wrapper .form-horizontal .data-group .value{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .data-group .value{float:left;width:83.33333%}}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input .control-wrap:first-child{width:25%}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input .control-wrap:last-child{width:75%}.pixel-caffeine-wrapper .form-horizontal-inline .form-control,.pixel-caffeine-wrapper .form-horizontal-inline .text{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .form-horizontal-inline .form-control{width:auto;margin-right:10px}.pixel-caffeine-wrapper .form-horizontal-inline .checkbox.with-form-control .checkbox-material{top:.8em}.pixel-caffeine-wrapper .form-horizontal-inline .form-radio .control-wrap{display:block}@media screen and (min-width:480px){.pixel-caffeine-wrapper .form-horizontal-inline .form-radio .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}}.pixel-caffeine-wrapper .form-horizontal-inline .form-radio label{text-align:left}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .form-control{width:100%;text-align:left}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label{width:auto}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-wrap:wrap}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap{width:auto;margin:auto 0;padding:0}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap .form-control,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .form-control{width:auto}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .select2-container.select2-container{display:inline-block!important}}.pixel-caffeine-wrapper .form-vertical .form-group{padding-bottom:8px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-vertical .multiple-fields,.pixel-caffeine-wrapper .form-vertical>.form-group>.control-label,.pixel-caffeine-wrapper .form-vertical>.form-group>.control-wrap{float:none;padding-left:0;padding-right:0}.pixel-caffeine-wrapper .form-vertical .control-label{width:auto;text-align:left}.pixel-caffeine-wrapper .form-vertical .control-wrap{width:100%}.pixel-caffeine-wrapper .form-vertical .multiple-fields .control-wrap{width:auto}}.pixel-caffeine-wrapper .radio{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .input-group{margin-bottom:10px}.pixel-caffeine-wrapper .input-group .input-group-btn{padding-left:0}.pixel-caffeine-wrapper .input-group.select-and-multi-tags{display:block}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn,.pixel-caffeine-wrapper .input-group.select-and-multi-tags .select2-container{display:block!important;width:100%}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn{padding-right:0;margin-bottom:10px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .input-group.select-and-multi-tags{display:table}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn,.pixel-caffeine-wrapper .input-group.select-and-multi-tags .select2-container{display:table-cell!important}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn{width:auto;vertical-align:top;padding-right:15px;margin-bottom:0}}.pixel-caffeine-wrapper p{font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .jumbotron{background:#fff;padding:35px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .jumbotron .tit{margin-top:0;margin-bottom:20px}.pixel-caffeine-wrapper .panel>.panel-footer,.pixel-caffeine-wrapper .panel>.panel-heading{background:#fff}.pixel-caffeine-wrapper .panel .panel-footer:after,.pixel-caffeine-wrapper .panel .panel-footer:before{display:table;content:" "}.pixel-caffeine-wrapper .panel .panel-footer:after{clear:both}.pixel-caffeine-wrapper .panel .panel-footer .form-control{margin-bottom:0}.pixel-caffeine-wrapper .panel>.panel-heading{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between;border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .panel>.panel-heading .text-status{display:block;text-transform:none;margin-top:5px}.pixel-caffeine-wrapper .panel .panel-heading{color:#444;text-transform:uppercase}.pixel-caffeine-wrapper .panel .panel-heading .tit{display:inline-block;margin-top:.2em;margin-bottom:0;font-size:24px}.pixel-caffeine-wrapper .panel .panel-heading .tit:before{margin-top:-.2em;margin-right:20px;color:#c4c4c4;font-size:1.5em}.pixel-caffeine-wrapper .panel .panel-heading .btn{margin:0 0 0 10px}.pixel-caffeine-wrapper .panel .panel-heading .form-group{padding:0}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle{text-align:right}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .toggle{margin-right:6px}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .text-status{font-style:italic}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .control-label{padding-right:0}.pixel-caffeine-wrapper .panel .panel{box-shadow:none}.pixel-caffeine-wrapper .panel .panel .panel-heading{padding:0}.pixel-caffeine-wrapper .panel .panel .panel-heading .tit{font-size:20px}.pixel-caffeine-wrapper .panel .panel .panel-heading .sub-tit{text-transform:none;font-size:20px}.pixel-caffeine-wrapper .panel .panel .panel-body{padding-left:0;padding-right:0}.pixel-caffeine-wrapper .panel .panel .panel-heading{border-bottom:none;margin-top:40px}.pixel-caffeine-wrapper .panel .panel .panel-heading:before{font-size:2.5em}.pixel-caffeine-wrapper .panel .panel .form-group{margin-top:0;padding-bottom:0}.pixel-caffeine-wrapper .modal .panel{box-shadow:none;margin-top:40px}.pixel-caffeine-wrapper .modal .panel-body{padding:0}.pixel-caffeine-wrapper .modal .panel-heading{border:0;padding:10px 0}.pixel-caffeine-wrapper .modal .panel-heading .tit{font-size:16px}.pixel-caffeine-wrapper .modal .panel-heading .tit:before{margin-right:5px}.pixel-caffeine-wrapper .sub-panel .tit{font-size:20px}.pixel-caffeine-wrapper .panel.disabled,.pixel-caffeine-wrapper .sub-panel.disabled{background:#fafafa;color:#b7b7b7}.pixel-caffeine-wrapper .panel.disabled .divider,.pixel-caffeine-wrapper .sub-panel.disabled .divider{background:#fafafa}.pixel-caffeine-wrapper .panel.disabled .btn-help,.pixel-caffeine-wrapper .sub-panel.disabled .btn-help{color:inherit}.pixel-caffeine-wrapper .table th{text-transform:uppercase}.pixel-caffeine-wrapper .table td{word-break:break-word}.pixel-caffeine-wrapper .table .url{max-width:50vw}.pixel-caffeine-wrapper .table .actions{text-align:center}.pixel-caffeine-wrapper .table .actions .btn{margin:5px}.pixel-caffeine-wrapper .table .info-extra{display:block;color:#919191}@media screen and (min-width:767px){.pixel-caffeine-wrapper .table .btn-group,.pixel-caffeine-wrapper .table .btn-group-sm{min-width:130px;text-align:center}}.pixel-caffeine-wrapper .pagination>.active>a,.pixel-caffeine-wrapper .pagination>.active>a:focus,.pixel-caffeine-wrapper .pagination>.active>a:hover,.pixel-caffeine-wrapper .pagination>.active>span,.pixel-caffeine-wrapper .pagination>.active>span:focus,.pixel-caffeine-wrapper .pagination>.active>span:hover{background-color:#4c70ba;border-color:#4c70ba}.pixel-caffeine-wrapper .pagination .pagination>li>span,.pixel-caffeine-wrapper .pagination>li>a{color:#4c70ba}.pixel-caffeine-wrapper .btn,.pixel-caffeine-wrapper .input-group-btn .btn{padding:8px 30px}.pixel-caffeine-wrapper .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .btn.btn-raised.btn-default,.pixel-caffeine-wrapper .btn:not(.btn-fab),.pixel-caffeine-wrapper .btn:not(.btn-naked),.pixel-caffeine-wrapper .btn:not(.btn-raised){background:#f2f2f2}.pixel-caffeine-wrapper .btn.btn-fab.btn-default:hover,.pixel-caffeine-wrapper .btn.btn-raised.btn-default:hover,.pixel-caffeine-wrapper .btn:not(.btn-fab):hover,.pixel-caffeine-wrapper .btn:not(.btn-naked):hover,.pixel-caffeine-wrapper .btn:not(.btn-raised):hover{background:#e6e6e6}.pixel-caffeine-wrapper .btn:before{font-size:24px}.pixel-caffeine-wrapper .btn:not(.btn-primary) :not(.btn-success) :not(.btn-info) :not(.btn-warning) :not(.btn-danger) :not(.active):before{color:#444}.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-danger.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-danger.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-info.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-info.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-primary.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-primary.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-success.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-success.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-warning.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-warning.btn-raised:not(.btn-link):before{color:#fff}.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):hover{background:currentColor;-webkit-box-shadow:0 0 10px currentColor;box-shadow:0 0 10px currentColor}.pixel-caffeine-wrapper .btn.disabled{pointer-events:none}.pixel-caffeine-wrapper .btn:not(:empty):not(.btn-fab):before{margin-right:.4em}.pixel-caffeine-wrapper .btn.btn-naked{background:transparent;box-shadow:none;color:#777}.pixel-caffeine-wrapper .btn.btn-naked.btn-raised{box-shadow:none}.pixel-caffeine-wrapper .btn.btn-naked.btn-raised:hover{background:#e6e6e6}.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-default{-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.pixel-caffeine-wrapper .btn.btn-fab.btn-default:before,.pixel-caffeine-wrapper .btn.btn-fab:before{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);-ms-transform:translate(-12px,-12px);-o-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px;font-size:24px}.pixel-caffeine-wrapper .btn.btn-fab.btn-default .ripple.ripple-on,.pixel-caffeine-wrapper .btn.btn-fab .ripple.ripple-on{opacity:.3}.pixel-caffeine-wrapper .btn.btn-fab.btn-default .ripple.ripple-out,.pixel-caffeine-wrapper .btn.btn-fab .ripple.ripple-out{opacity:0}.pixel-caffeine-wrapper .btn-group-sm .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini{padding:0;width:28px;min-width:28px;height:28px}.pixel-caffeine-wrapper .btn-group-sm .btn.btn-fab:before,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini:before{-webkit-transform:translate(-14px,-14px);-ms-transform:translate(-14px,-14px);-o-transform:translate(-14px,-14px);transform:translate(-14px,-14px);line-height:28px;width:28px;font-size:16px}.pixel-caffeine-wrapper .btn.btn-fab.btn-primary{background:#4c70ba;color:#4c70ba}.pixel-caffeine-wrapper .btn.btn-fab.btn-success{background:#68aa20;color:#68aa20}.pixel-caffeine-wrapper .btn.btn-fab.btn-info{background:#5bc0de;color:#5bc0de}.pixel-caffeine-wrapper .btn.btn-fab.btn-warning{background:#fd9c00;color:#fd9c00}.pixel-caffeine-wrapper .btn.btn-fab.btn-danger{background:#e15667;color:#e15667}.pixel-caffeine-wrapper .btn.btn-delete:before{content:"delete"}.pixel-caffeine-wrapper .btn.btn-clone:before,.pixel-caffeine-wrapper .btn.btn-delete:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-clone:before{content:"queue"}.pixel-caffeine-wrapper .btn.btn-edit:before{content:"mode_edit"}.pixel-caffeine-wrapper .btn.btn-edit:before,.pixel-caffeine-wrapper .btn.btn-include:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-include:before{content:"add_circle_outline"}.pixel-caffeine-wrapper .btn.btn-exclude:before{content:"remove_circle_outline"}.pixel-caffeine-wrapper .btn.btn-exclude:before,.pixel-caffeine-wrapper .btn.btn-sync:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-sync:before{content:"sync"}.pixel-caffeine-wrapper .btn.btn-refresh:before{content:"refresh";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-help{background:transparent;box-shadow:none;color:#777}.pixel-caffeine-wrapper .btn.btn-help:before{content:"help_outline"}.pixel-caffeine-wrapper .btn-config:before,.pixel-caffeine-wrapper .btn.btn-help:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn-config:before{content:"build"}.pixel-caffeine-wrapper .btn-save:before{content:"save"}.pixel-caffeine-wrapper .btn-apply:before,.pixel-caffeine-wrapper .btn-save:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn-apply:before{content:"check"}.pixel-caffeine-wrapper .btn-back:before{content:"keyboard_arrow_left";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-fb-connect{padding-top:12px;padding-bottom:12px;white-space:normal;font-weight:600;line-height:1.2em}.pixel-caffeine-wrapper .btn.btn-fb-connect:before{content:"";display:inline-block;vertical-align:middle;width:20px;height:20px;background:url(icon-fb.svg) no-repeat;background-size:contain;margin:-4px .5em 0 0}.pixel-caffeine-wrapper .btn.btn-fb-connect[disabled],.pixel-caffeine-wrapper .btn.btn-fb-connect[disabled]:hover{background:#4c70ba;color:#fff}.pixel-caffeine-wrapper .btn-config,.pixel-caffeine-wrapper .btn-save.btn-plugin{font-size:2em}.pixel-caffeine-wrapper .panel-footer .btn-save.btn-plugin{float:right;font-size:1.5em}.pixel-caffeine-wrapper .btn-config:before,.pixel-caffeine-wrapper .btn-save:before{margin-right:10px;font-size:2em}.pixel-caffeine-wrapper .btn-group-toggle .btn{text-align:center}.pixel-caffeine-wrapper .btn-group-toggle .btn.active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).hover,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active:hover{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn.active{color:#fff;background:#4c70ba}.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active:hover{background:#718dc8}.pixel-caffeine-wrapper .tooltip-inner{padding:5px 8px}.pixel-caffeine-wrapper .modal{background:rgba(76,112,186,.5);z-index:9990}.pixel-caffeine-wrapper .modal .modal-header .modal-title{padding-top:10px;text-transform:uppercase}.pixel-caffeine-wrapper .modal .modal-header .close{margin-left:10px;font-size:3em;font-weight:400}.pixel-caffeine-wrapper .modal .modal-body,.pixel-caffeine-wrapper .modal .modal-footer{padding-left:24px;padding-right:24px}.pixel-caffeine-wrapper .modal .modal-footer{padding-bottom:24px}.pixel-caffeine-wrapper .alert .close{opacity:.5}.pixel-caffeine-wrapper .alert .alert-link,.pixel-caffeine-wrapper .alert a{color:inherit;text-decoration:underline}.pixel-caffeine-wrapper .alert .alert-link:hover,.pixel-caffeine-wrapper .alert a:hover{opacity:.8}.pixel-caffeine-wrapper .alert a.btn{text-decoration:none}.pixel-caffeine-wrapper .alert a.btn:hover{opacity:1}.pixel-caffeine-wrapper .alert.alert-warning{background:#ffb031;color:#975d00}.pixel-caffeine-wrapper .alert.alert-warning .alert-link,.pixel-caffeine-wrapper .alert.alert-warning a{color:inherit}.pixel-caffeine-wrapper .alert.alert-lite{background:none;padding:0 0 0 1.8em;position:relative;font-size:.9em;margin-bottom:10px}.pixel-caffeine-wrapper .alert.alert-lite:before{position:absolute;top:0;left:0;font-size:1.4em}.pixel-caffeine-wrapper .alert.alert-lite.alert-warning{color:#e48c00}.pixel-caffeine-wrapper .alert.alert-lite.alert-warning:before{content:"warning";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-danger{color:#e15667}.pixel-caffeine-wrapper .alert.alert-lite.alert-danger:before{content:"error";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-success{color:#68aa20}.pixel-caffeine-wrapper .alert.alert-lite.alert-success:before{content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-info{color:#5bc0de}.pixel-caffeine-wrapper .alert.alert-lite.alert-info:before{content:"info";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert{background-color:transparent;padding:0;display:flex;align-items:center}.pixel-caffeine-wrapper .alert-fancy .alert-inner{padding:15px;flex:1 1 auto;position:relative;margin-left:5px}.pixel-caffeine-wrapper .alert-fancy .alert-inner :only-child{margin:0}.pixel-caffeine-wrapper .alert-fancy .alert-inner:after{content:"";position:absolute;left:-15px;top:0;bottom:0;width:0;height:0;border-style:solid;border-width:15px 15px 15px 0;margin:auto}.pixel-caffeine-wrapper .alert-fancy:before{content:"";height:150px;width:150px;min-width:100px;background-repeat:no-repeat}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-warning .alert-inner{background:#ffc464}.pixel-caffeine-wrapper .alert-fancy.alert-warning .alert-inner:after{border-color:transparent #ffc464 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-warning:before{background-image:url(walter-face-lost.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-success .alert-inner{background:#73bb23}.pixel-caffeine-wrapper .alert-fancy.alert-success .alert-inner:after{border-color:transparent #73bb23 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-success:before{background-image:url(walter-face-2.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-danger .alert-inner{background:#e15667}.pixel-caffeine-wrapper .alert-fancy.alert-danger .alert-inner:after{border-color:transparent #e15667 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-danger:before{background-image:url(walter-face-lost.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-info .alert-inner{background:#5bc0de}.pixel-caffeine-wrapper .alert-fancy.alert-info .alert-inner:after{border-color:transparent #5bc0de transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-info:before{background-image:url(walter-face.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-token:before{background-image:url(renew-token.png);background-size:85%;background-position:0}}.pixel-caffeine-wrapper .alert-fixed{position:fixed;z-index:12}.pixel-caffeine-wrapper .alert-fixed .alert{margin-bottom:0;transition:box-shadow .2s ease-in-out,margin-bottom .2s ease-in-out;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fixed .alert-fancy.alert{box-shadow:none;background:hsla(0,0%,100%,.8)}.pixel-caffeine-wrapper .alert-fixed .alert-fancy.alert .alert-inner{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}}.pixel-caffeine-wrapper .alert-wrap:after,.pixel-caffeine-wrapper .alert-wrap:before{display:table;content:" "}.pixel-caffeine-wrapper .alert-wrap:after{clear:both}.pixel-caffeine-wrapper .alert-info-disabled{display:none}.pixel-caffeine-wrapper .disabled-box{position:relative}.pixel-caffeine-wrapper .disabled-box:before{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;background:hsla(0,0%,100%,.75);z-index:10;opacity:.75}.pixel-caffeine-wrapper .disabled-box .alert-info-disabled{display:block;position:absolute;top:75px;left:50%;margin-left:-35%;width:70%;background:#f1f1f1;color:#444;text-align:center;z-index:11;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .disabled-box .alert-info-disabled{width:50%;margin-left:-25%;width:400px;margin-left:-200px}}.pixel-caffeine-wrapper .disabled-box .alert-info-disabled .alert-tit{display:block;font-weight:700;margin-bottom:10px}.pixel-caffeine-wrapper .list-group-tit{font-size:18px;text-transform:uppercase}.pixel-caffeine-wrapper .list-group .list-group-separator:before{width:calc(100% - 69px)}.pixel-caffeine-wrapper .list-group .list-group-item{padding:0}.pixel-caffeine-wrapper .list-group .list-group-item:before{content:"description";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;width:32px;line-height:32px;background:#ccc;border-radius:100%;margin-right:16px;text-align:center;font-size:24px;color:#fff}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-heading{font-size:14px;font-weight:700;line-height:1.42857}.pixel-caffeine-wrapper .list-group .list-group-item a.list-group-item-heading{color:#337ab7}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-date{display:block;margin-bottom:5px;font-style:italic;color:#919191}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-text{font-size:12px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content{width:calc(100% - 53px);min-height:auto}.pixel-caffeine-wrapper .list-group.no-icon .list-group-separator:before{width:100%}.pixel-caffeine-wrapper .list-group.no-icon .list-group-item:before{display:none}.pixel-caffeine-wrapper .list-group.no-icon .list-group-item .row-content{width:100%}.pixel-caffeine-wrapper .list-filter .filter-and{text-transform:uppercase;font-weight:400;color:#ccc;padding-right:10px;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter .label{background-color:transparent;border-radius:0;color:#444;text-align:left;font-weight:300;font-size:14px;line-height:normal;white-space:normal;transition:background-color .2s cubic-bezier(.4,0,.2,1);border:1px dashed #ccc;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter .actions{opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);padding:0 10px;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter li{display:table;margin-bottom:10px}.pixel-caffeine-wrapper .list-filter li:hover .label{background-color:#eee}.pixel-caffeine-wrapper .list-filter li:hover .actions{opacity:1}.pixel-caffeine-wrapper .loading-data:not(.btn):after{content:"sync";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;animation:anim-spin 1s infinite linear;font-size:inherit;line-height:normal;color:inherit}.pixel-caffeine-wrapper .loading-data.btn{pointer-events:none}.pixel-caffeine-wrapper .loading-data.btn:before{content:"sync";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;animation:anim-spin 1s infinite linear;font-size:inherit;line-height:normal;color:inherit;font-size:24px}.pixel-caffeine-wrapper .loading-data.btn-fab:before{margin-top:-12px;margin-left:-12px}.pixel-caffeine-wrapper .loading-data.btn-fab-mini:before{margin-top:-14px;margin-left:-14px}.pixel-caffeine-wrapper .btn-group-sm .btn-fab.loading-data{pointer-events:none}.pixel-caffeine-wrapper .btn-group-sm .btn-fab.loading-data:before{margin-top:-14px;margin-left:-14px}.pixel-caffeine-wrapper .loading-data.loading-box{position:relative}.pixel-caffeine-wrapper .loading-data.loading-box:before{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;background:hsla(0,0%,100%,.75);z-index:10}.pixel-caffeine-wrapper .loading-data.loading-box:after{position:absolute;top:50%;left:50%;width:90px;height:90px;line-height:90px;background:#eee;border-radius:50%;margin-top:-45px;margin-left:-45px;text-align:center;font-size:50px;color:#444;z-index:11}.pixel-caffeine-wrapper .loading-data.loading-box:after,.pixel-caffeine-wrapper .loading-data.loading-box:before{opacity:.75}@keyframes placeholder-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pixel-caffeine-wrapper .highlight-element.form-toggle{padding:20px 15px}.pixel-caffeine-wrapper .highlight-element.warning{background:#ffebca}.pixel-caffeine-wrapper .popover a{color:#fff;text-decoration:underline}.pixel-caffeine-wrapper .panel-ca-list .panel-heading .tit:before{content:"person";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ca-list .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-ca-list .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-ca-list .table .name{max-width:500px;font-weight:600}.pixel-caffeine-wrapper .panel-ca-list .table .name .info-extra{font-weight:400}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-ca-list .table .name{width:auto}}.pixel-caffeine-wrapper .panel-ca-new .panel-heading .tit:before{content:"person_add"}.pixel-caffeine-wrapper .panel-ca-filters .panel-heading .tit:before,.pixel-caffeine-wrapper .panel-ca-new .panel-heading .tit:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ca-filters .panel-heading .tit:before{content:"filter_list"}.pixel-caffeine-wrapper .modal-ca-filter .btn-group{padding-bottom:20px}.pixel-caffeine-wrapper .modal-ca-filter .form-radio .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-radio .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .modal-ca-filter .form-radio .radio{-webkit-box-flex:0 0 33%;-moz-box-flex:0 0 33%;-webkit-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;padding-right:32px}.pixel-caffeine-wrapper .modal-ca-filter .form-user,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields{padding-left:7.5px;padding-right:7.5px}.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-label,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-label,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap{float:left;width:33.33333%}}.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-wrap,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap+.control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-wrap,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap+.control-wrap{float:left;width:66.66667%}}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.multiple-three .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.multiple-three .control-wrap{float:left;width:33.33333%}}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields{padding-bottom:20px}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .form-group{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding-bottom:10px}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .form-control{margin-bottom:0}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .control-wrap{-webkit-box-flex:1 1 auto;-moz-box-flex:1 1 auto;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .multiple-fields-actions{margin-left:-7.5px;margin-right:-7.5px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-heading .tit:before{content:"settings";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-body{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-footer .form-group{margin-top:0;padding-bottom:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel{-webkit-box-flex:1 0 100%;-moz-box-flex:1 0 100%;-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;padding:15px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel:first-child{position:relative;order:2;padding-top:35px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{background:#f2f4fa;padding-bottom:35px;border-bottom:1px solid #ddd;order:1}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel{-webkit-box-flex:1 0 49%;-moz-box-flex:1 0 49%;-webkit-flex:1 0 49%;-ms-flex:1 0 49%;flex:1 0 49%}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel:first-child{padding-right:45px;border-right:1px solid #ddd;border-bottom:0;padding-top:15px;order:1}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{padding-left:45px;order:2;padding-bottom:15px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .divider{display:block;position:absolute;top:0;right:0;left:0;margin:auto;width:70px;height:70px;line-height:70px;border-radius:50%;background:#fff;border:1px solid #ddd;margin-top:-35px;text-align:center;text-transform:uppercase;font-style:normal;font-weight:600;color:#aaa}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .divider{top:50%;right:-35.5px;left:auto}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect{padding-left:12px;padding-right:12px;font-size:1.2em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect:before{width:16px;height:16px;margin:-4px .5em 0 0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect{font-size:1.5em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect:before{width:20px;height:20px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap{position:relative;padding-left:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap:before{position:absolute;top:0;right:0;content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;width:40px;height:40px;line-height:40px;font-size:2em;text-align:center;color:#68aa20;display:none}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap .form-control{padding-right:40px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id.active .control-wrap:before{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id.active .form-control{background-image:linear-gradient(#68aa20,#68aa20),linear-gradient(#d2d2d2,#d2d2d2);background-size:100% 2px,100% 1px;border-bottom-color:#68aa20;color:#68aa20}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{border-bottom:none}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions{display:none;overflow:hidden;font-size:12px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-disconnect{display:inline-block;padding-right:10px;margin-right:10px;border-right:1px dotted #68aa20;-webkit-transform:translate(-100%);-ms-transform:translate(-100%);-o-transform:translate(-100%);transform:translate(-100%)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-disconnect{border-right:none}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-edit{font-weight:600;-webkit-transform:translate(100%);-ms-transform:translate(100%);-o-transform:translate(100%);transform:translate(100%)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-edit{float:right}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-info{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:flex-start;-webkit-align-items:flex-start;align-items:flex-start}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-avatar{width:35px;height:35px;margin-right:10px;border:3px solid #fff}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .sub-panel-actions{float:right}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up{background:#ffebca}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .form-group .select2-container:not(.select2-container-disabled){background-color:#fff;background-image:linear-gradient(#fd9c00,#fd9c00),linear-gradient(#ffd797,#ffd797);background-position:bottom,bottom}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .form-group label.control-label{color:#e48c00}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .user-info{float:left;margin:10px 0;font-size:12px;color:#777}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .user-disconnect{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active{background:#e5f7d2}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info{background:#68aa20;padding:16px;border-radius:4px;margin-top:10px;margin-bottom:10px;white-space:normal;font-weight:600;line-height:1.2em;text-transform:none;color:#fff}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info{-ms-flex-align:flex-start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start;margin-top:16px;position:relative}@media screen and (min-width:480px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{position:absolute;top:50%;margin-top:-25px;right:16px;width:50px;height:50px;line-height:50px;content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:inherit;font-size:3.8em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:80px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar{display:block}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{display:none}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:0}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:80px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-avatar{display:none;width:50px;height:50px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-name{font-size:14px;line-height:normal}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account{display:block;text-transform:uppercase;font-size:12px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account{font-weight:300}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id{font-style:normal;color:#fff;font-size:1.3em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id-value,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account-value{font-weight:600;word-break:break-all}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account-value{display:block;text-transform:none;font-size:14px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-name{font-weight:300;color:#d9f3bd}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions .user-disconnect,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions .user-edit{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.pixel-caffeine-wrapper .panel-settings-ca .panel-heading .tit:before{content:"person";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-ca .form-track{margin:20px 0}.pixel-caffeine-wrapper .panel-settings-ca .form-track:after,.pixel-caffeine-wrapper .panel-settings-ca .form-track:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-settings-ca .form-track:after{clear:both}.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-label,.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-label,.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .panel-settings-ca .control-label{padding-top:0;text-align:left}.pixel-caffeine-wrapper .panel-settings-ca .control-label .tit{font-size:20px}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .form-group{float:left;width:50%}}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt label{text-align:left}.pixel-caffeine-wrapper .panel-settings-conversions .panel-heading .tit:before{content:"shopping_cart";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .tit,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .tit{font-size:20px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect{margin:15px 0 30px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .tit{display:inline-block;margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .info{display:block;margin-top:10px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .info a{font-weight:600;text-decoration:underline;text-transform:uppercase;color:inherit}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:after,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:before{content:"";display:block;position:absolute;top:0;left:40px;width:0;height:0;border-style:solid}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:after{top:-40px;border-color:transparent transparent #fff;border-width:20px 18px;margin-left:1px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:before{top:-42px;border-color:transparent transparent #ddd;border-width:21px 19px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox label{margin-right:20px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox{display:inline-block}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox-material{margin-right:5px}.pixel-caffeine-wrapper .panel-settings-conversions.detected .ecomm-detect .info,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions{display:none}.pixel-caffeine-wrapper .panel-settings-conversions.detected .ecomm-conversions{display:block}.pixel-caffeine-wrapper .panel-settings-conversions.not-detected .ecomm-detect{color:#e15667}.pixel-caffeine-wrapper .panel-settings-conversions.not-detected .ecomm-detect:before{content:"error";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-size:2.5em;margin-right:10px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-plugin-logo img{max-width:130px;max-height:70px}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin,.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .tit{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin{margin-bottom:0;margin-left:5px}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .item{display:inline-block;margin-right:10px;margin-bottom:0;transition:transform .2s ease-in-out}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .item:hover{transform:scale(1.1)}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .ecomm-plugin-logo{display:block}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading{padding:0}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit{display:block;width:100%;position:relative;font-size:15.6px;margin-top:0;padding:10px 15px;font-weight:700}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:focus,.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:hover{text-decoration:none}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:focus{outline:none;box-shadow:none}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:before{position:relative;top:.07em;content:"chevron_right";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;margin-right:10px;color:#a1b4dc;font-size:1.7em;transition:all .3s ease-out}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:not(.collapsed):before{transform:rotate(90deg)}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control{margin-bottom:0}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control .form-control{margin-left:10px;margin-bottom:0}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control .checkbox-material{top:.5em}.pixel-caffeine-wrapper .panel-advanced-settings .sub-panel+.sub-panel{border-top:1px solid #ddd;padding-top:15px;margin-top:15px}.pixel-caffeine-wrapper .panel-advanced-settings .sub-panel .text{display:block}.pixel-caffeine-wrapper .panel-advanced-settings .form-group-btn-single .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin-bottom:10px}.pixel-caffeine-wrapper .panel-advanced-settings .form-group-btn-single .btn{margin:0 10px 0 0}.pixel-caffeine-wrapper .panel-advanced-settings label{width:100%}.pixel-caffeine-wrapper .panel-advanced-settings .select2-container-multi{margin:0}.pixel-caffeine-wrapper .panel-ce-tracking .panel-heading .tit:before{content:"track_changes";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ce-tracking .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-ce-tracking .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-ce-tracking .table .name{width:200px;font-weight:700}.pixel-caffeine-wrapper .panel-ce-tracking .table .trigger{white-space:nowrap}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-ce-tracking .table .name{width:auto}}.pixel-caffeine-wrapper .panel-ce-tracking .code-sample{display:block}.pixel-caffeine-wrapper .panel-ce-tracking .code-copy,.pixel-caffeine-wrapper .panel-ce-tracking .show-code{margin-top:5px;display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase}.pixel-caffeine-wrapper .panel-ce-new .panel-heading .tit:before{content:"track_changes";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .intro-dashboard{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative}.pixel-caffeine-wrapper .intro-dashboard .tit{font-size:36px;text-transform:uppercase}.pixel-caffeine-wrapper .intro-dashboard p{font-size:18px}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body{margin:auto}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn{padding:16px 30px;margin:20px 0 0;white-space:normal;font-size:2em}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn:before{font-size:1.5em}@media screen and (min-width:768px){.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn.btn-block{width:auto;display:inline-block}}.pixel-caffeine-wrapper .intro-product-catalog{background-color:#f2f4fa;background-image:url(prd-catalog-pattern.png);background-repeat:repeat;background-size:auto}.pixel-caffeine-wrapper .intro-product-catalog .calltoact .btn{font-size:16px}.pixel-caffeine-wrapper .intro-product-catalog .actions{margin-top:20px}.pixel-caffeine-wrapper .intro-product-catalog .actions a{font-size:14px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude{min-height:400px;padding-right:300px}.pixel-caffeine-wrapper .intro-dude:before{content:"";position:absolute;bottom:0;right:0;display:block;width:300px;height:100%;background-size:contain}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude.dude-config:before{background:url(walter-dashboard-config.png) no-repeat 50% 50%;background-size:contain}}.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog{padding:35px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog{min-height:400px;padding-right:400px}.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog:before{background:url(walter-prd-catalog.png) no-repeat 50% 50%;background-size:contain;width:400px}}.pixel-caffeine-wrapper .box-features{margin-top:50px;text-align:center}.pixel-caffeine-wrapper .box-features .tit{text-transform:uppercase}.pixel-caffeine-wrapper .list-features{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.pixel-caffeine-wrapper .list-features .feature{-webkit-box-flex:0 0 33.33%;-moz-box-flex:0 0 33.33%;-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%;margin:30px 0}.pixel-caffeine-wrapper .list-features .feature .feature-icon{display:block;background:#ccc;width:100px;height:100px;line-height:100px;border-radius:100%;margin:0 auto 16px;text-align:center;font-size:4.5em;color:#fff}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+1){padding-right:20px}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+2){padding-left:10px;padding-right:10px}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+3){padding-left:20px}.pixel-caffeine-wrapper .panel-dashboard-main{position:relative}.pixel-caffeine-wrapper .panel-dashboard-main .panel-heading .tit:before{content:"tune";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data{padding-right:0;text-align:left}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .btn-settings{width:100%;margin:0}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group-pixel .value{word-break:break-all}@media screen and (min-width:480px){.pixel-caffeine-wrapper .panel-dashboard-main .panel-body{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group{-webkit-box-flex:0 0 50%;-moz-box-flex:0 0 50%;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group .data,.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group .value{width:auto}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group-pixel{-webkit-box-flex:0 0 100%;-moz-box-flex:0 0 100%;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .btn-settings{position:absolute;top:10px;right:15px;width:auto}}.pixel-caffeine-wrapper .panel-dashboard-main .data-group{padding-bottom:20px}.pixel-caffeine-wrapper .panel-dashboard-main .status .value{text-transform:uppercase;font-weight:700}.pixel-caffeine-wrapper .panel-dashboard-main .status .value .value-info{position:relative;padding-right:35px}.pixel-caffeine-wrapper .panel-dashboard-main .status .value .value-info:after{position:absolute;top:50%;margin-top:-15px;right:0;width:30px;line-height:30px;font-size:2em;margin-left:10px}.pixel-caffeine-wrapper .panel-dashboard-main .status.active .value-info{color:#68aa20}.pixel-caffeine-wrapper .panel-dashboard-main .status.active .value-info:after{content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info{color:#e15667}.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info:after{content:"close"}.pixel-caffeine-wrapper .panel-dashboard-activity .panel-heading .tit:before,.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info:after{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-activity .panel-heading .tit:before{content:"graphic_eq"}.pixel-caffeine-wrapper .panel-prd-catalog .panel-heading .tit:before{content:"developer_board";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box{background-color:#f5f5f5;padding:15px;margin-bottom:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:after,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:after{clear:both}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .tit{text-transform:uppercase;margin-bottom:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .sub-tit{text-transform:none;font-size:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .radio{text-align:left;margin-right:15px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .control-wrap,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel-body,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .sub-form-group{padding:0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel{background-color:#fff;padding:30px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline{margin:10px 0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child{margin:0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child .control-label,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child .control-wrap{margin-top:10px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:first-child,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:first-child .form-control{margin-top:0}.pixel-caffeine-wrapper .panel-prd-catalog .new-fb-catalog .form-control{width:100%}.pixel-caffeine-wrapper .panel-prd-catalog .new-fb-catalog .control-label{width:auto;text-align:left}.pixel-caffeine-wrapper .panel-prd-catalog .advanced-options .sub-tit:first-child{margin-top:0}.pixel-caffeine-wrapper .panel-prd-catalog .panel-footer{background-color:#fff;margin:0 -15px -15px}.pixel-caffeine-wrapper .panel-prd-catalog .toggle-sub-panel .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding-top:7px}.pixel-caffeine-wrapper .panel-feed-created .panel-heading .tit:before{content:"developer_board";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .data{width:auto;margin-bottom:0;padding-right:0;padding-left:0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .data{padding-left:15px}}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .data,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value{display:inline-block;float:none}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info{margin-right:15px}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-danger a,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-status-pending a{color:inherit;border-bottom-style:dotted;border-bottom-width:1px}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-danger a:hover,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-status-pending a:hover{border-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .actions{display:inline-block}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .multiple-fields-inline .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .value{width:auto;display:inline-block;padding-left:0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .value{float:left;padding-left:15px}}.pixel-caffeine-wrapper .panel-feed-created.panel .prd-feed-number{font-weight:600}.pixel-caffeine-wrapper .panel-feed-created .form-group .set-refresh{padding-right:15px;padding-left:15px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created .form-group .set-refresh{padding:0}}.pixel-caffeine-wrapper .panel-feed-created .url-feed-alert.loading-data:after{color:#444;font-size:24px}.pixel-caffeine-wrapper .panel-feed-created .multiple-fields-inline small{margin:0 10px}.pixel-caffeine-wrapper .panel-feed-created .data-group-main .data,.pixel-caffeine-wrapper .panel-feed-created .data-group-main .value{font-size:16px}.pixel-caffeine-wrapper .panel-feed-created hr:first-child{margin-top:0}.pixel-caffeine-wrapper .upgraded-product-catalog{padding:15px}.pixel-caffeine-wrapper .upgraded-product-catalog .jumbotron-body{margin:0}.pixel-caffeine-wrapper .upgraded-product-catalog .tit{font-size:26px;text-transform:uppercase}.pixel-caffeine-wrapper .upgraded-product-catalog p{font-size:16px}.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog{min-height:1px;padding:15px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog{min-height:3;padding-right:300px}.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog:before{background:url(walter-prd-catalog.png) no-repeat 50% 50%;background-size:contain;width:300px}}.pixel-caffeine-wrapper .panel-log-list .panel-heading .tit:before{content:"assignment";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-log-list .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-log-list .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-log-list .table .name{max-width:500px;font-weight:600}.pixel-caffeine-wrapper .panel-log-list .table .name .info-extra{font-weight:400}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-log-list .table .name{width:auto}}.pixel-caffeine .select2-container{margin:0;position:relative;display:inline-block;vertical-align:middle}.pixel-caffeine .select2-container,.pixel-caffeine .select2-drop,.pixel-caffeine .select2-search,.pixel-caffeine .select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pixel-caffeine .select2-container .select2-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = "#ffffff",endColorstr = "#eeeeee",GradientType = 0);background-image:linear-gradient(0deg,#eee 0,#fff 50%)}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.pixel-caffeine .select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#eeeeee",GradientType=0);background-image:linear-gradient(180deg,#eee 0,#fff 90%)}.pixel-caffeine .select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.pixel-caffeine .select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.pixel-caffeine .select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:8px;font-size:1px;text-decoration:none;border:0;background:url(select2.png) 100% 0 no-repeat;cursor:pointer;outline:0}.pixel-caffeine .select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.pixel-caffeine .select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.pixel-caffeine .select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.pixel-caffeine .select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:9999;top:100%;background:#fff;color:#000;border:1px solid #aaa;border-top:0;border-radius:0 0 4px 4px;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.pixel-caffeine .select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.pixel-caffeine .select2-drop-active{border:1px solid #5897fb;border-top:none}.pixel-caffeine .select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.pixel-caffeine .select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.pixel-caffeine .select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-left:1px solid #aaa;border-radius:0 4px 4px 0;background-clip:padding-box;background:#ccc;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(.6,#eee));background-image:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%);background-image:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = "#eeeeee",endColorstr = "#cccccc",GradientType = 0);background-image:linear-gradient(0deg,#ccc 0,#eee 60%)}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-left:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px}.pixel-caffeine .select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url(select2.png) no-repeat 0 1px}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice .select2-arrow b{background-position:2px 1px}.pixel-caffeine .select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding:4px 4px 0;position:relative;z-index:10000;white-space:nowrap}.pixel-caffeine .select2-search input{width:100%;height:auto!important;min-height:26px;padding:4px 20px 4px 5px;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #aaa;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:#fff url(select2.png) no-repeat 100% -22px;background:url(select2.png) no-repeat 100% -22px,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) no-repeat 100% -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat 100% -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat 100% -22px,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:#fff url(select2.png) no-repeat -37px -22px;background:url(select2.png) no-repeat -37px -22px,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) no-repeat -37px -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat -37px -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat -37px -22px,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine .select2-search input.select2-active{background:#fff url(select2-spinner.gif) no-repeat 100%;background:url(select2-spinner.gif) no-repeat 100%,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2-spinner.gif) no-repeat 100%,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) no-repeat 100%,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) no-repeat 100%,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine .select2-container-active .select2-choice,.pixel-caffeine .select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.pixel-caffeine .select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:inset 0 1px 0 #fff;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#ffffff",GradientType=0);background-image:linear-gradient(0deg,#fff 0,#eee 50%)}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choice,.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center top,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center top,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#ffffff",GradientType=0);background-image:linear-gradient(180deg,#fff 0,#eee 50%)}.pixel-caffeine .select2-dropdown-open .select2-choice .select2-arrow{background:transparent;border-left:none;filter:none}.pixel-caffeine html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.pixel-caffeine .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.pixel-caffeine html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.pixel-caffeine .select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pixel-caffeine .select2-results{max-height:200px;padding:0 0 0 4px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pixel-caffeine html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.pixel-caffeine .select2-results ul.select2-result-sub{margin:0;padding-left:0}.pixel-caffeine .select2-results li{list-style:none;display:list-item;background-image:none}.pixel-caffeine .select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.pixel-caffeine .select2-results .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pixel-caffeine .select2-results-dept-1 .select2-result-label{padding-left:20px}.pixel-caffeine .select2-results-dept-2 .select2-result-label{padding-left:40px}.pixel-caffeine .select2-results-dept-3 .select2-result-label{padding-left:60px}.pixel-caffeine .select2-results-dept-4 .select2-result-label{padding-left:80px}.pixel-caffeine .select2-results-dept-5 .select2-result-label{padding-left:100px}.pixel-caffeine .select2-results-dept-6 .select2-result-label{padding-left:110px}.pixel-caffeine .select2-results-dept-7 .select2-result-label{padding-left:120px}.pixel-caffeine .select2-results .select2-highlighted{background:#3875d7}.pixel-caffeine .select2-results li em{background:#feffde;font-style:normal}.pixel-caffeine .select2-results .select2-highlighted em{background:transparent}.pixel-caffeine .select2-results .select2-highlighted ul{background:#fff;color:#000}.pixel-caffeine .select2-results .select2-ajax-error,.pixel-caffeine .select2-results .select2-no-results,.pixel-caffeine .select2-results .select2-searching,.pixel-caffeine .select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.pixel-caffeine .select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.pixel-caffeine .select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.pixel-caffeine .select2-results .select2-selected{display:none}.pixel-caffeine .select2-more-results.select2-active{background:#f4f4f4 url(select2-spinner.gif) no-repeat 100%}.pixel-caffeine .select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.pixel-caffeine .select2-more-results{background:#f4f4f4;display:list-item}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice abbr{display:none}.pixel-caffeine .select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(top,#eee 1%,#fff 15%);background-image:-moz-linear-gradient(top,#eee 1%,#fff 15%);background-image:linear-gradient(180deg,#eee 1%,#fff 15%)}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.pixel-caffeine .select2-locked{padding:3px 5px!important}.pixel-caffeine .select2-container-multi .select2-choices{min-height:26px}.pixel-caffeine .select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.pixel-caffeine .select2-container-multi .select2-choices li{float:left;list-style:none}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff url(select2-spinner.gif) no-repeat 100%!important}.pixel-caffeine .select2-default{color:#999!important}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:3px 0 3px 5px;line-height:13px;color:#333;cursor:default;border:1px solid #aaa;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:inset 0 0 2px #fff,0 1px 0 rgba(0,0,0,.05);background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#f4f4f4",GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(180deg,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee)}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.pixel-caffeine .select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:none;background:url(select2.png) 100% 0 no-repeat}.pixel-caffeine html[dir=rtl] .select2-search-choice-close{right:auto;left:3px}.pixel-caffeine .select2-container-multi .select2-search-choice-close{left:3px}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:2px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close,.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:none}.pixel-caffeine .select2-result-selectable .select2-match,.pixel-caffeine .select2-result-unselectable .select2-match{text-decoration:underline}.pixel-caffeine .select2-offscreen,.pixel-caffeine .select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.pixel-caffeine .select2-display-none{display:none}.pixel-caffeine .select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.pixel-caffeine .select2-container .select2-choice .select2-arrow b,.pixel-caffeine .select2-container .select2-choice abbr,.pixel-caffeine .select2-search-choice-close,.pixel-caffeine .select2-search input{background-image:url(select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.pixel-caffeine .select2-search input{background-position:100% -21px!important}}.pixel-caffeine .select2-container{height:auto;padding-top:0;padding-bottom:2px;z-index:1}.pixel-caffeine .select2-container:hover{background-color:#e7ecf6}.pixel-caffeine .select2-container .select2-choice,.pixel-caffeine .select2-container .select2-choices{height:37px;line-height:37px;border:none;border-radius:0;background:#f2f4fa}.pixel-caffeine .select2-container .select2-choice .select2-arrow,.pixel-caffeine .select2-container .select2-choices .select2-arrow{width:30px;background:none;border-left:none}.pixel-caffeine .select2-container .select2-choice .select2-arrow b,.pixel-caffeine .select2-container .select2-choices .select2-arrow b{display:none}.pixel-caffeine .select2-container .select2-choice .select2-arrow:before,.pixel-caffeine .select2-container .select2-choices .select2-arrow:before{content:"";position:absolute;top:50%;left:50%;margin-top:-3px;margin-left:-6px;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#444 transparent transparent}.pixel-caffeine .select2-container .select2-choice{padding-left:0;padding-right:0;background-color:transparent}.pixel-caffeine .select2-container .select2-choice:hover{text-decoration:none;color:#444}.pixel-caffeine .select2-container.select2-container-active .select2-choice,.pixel-caffeine .select2-container.select2-container-active .select2-choices{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine .select2-container.select2-container{display:block!important}.pixel-caffeine .select2-container.select2-container-disabled{background:#f6f6f6;border-bottom:1px dotted #d2d2d2;cursor:not-allowed}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice{background:none;border:none;pointer-events:none;color:#bdbdbd!important}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-chosen{color:inherit}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-arrow:before{border-color:#bdbdbd transparent transparent}.pixel-caffeine .select2-container .select2-arrow,.pixel-caffeine .select2-container .select2-chosen{transition:opacity .3s ease-out}.pixel-caffeine .select2-container:after{opacity:0;transition:opacity .3s ease-out}.pixel-caffeine .select2-container.loading-data{pointer-events:none}.pixel-caffeine .select2-container.loading-data:after{position:absolute;top:9px;right:14px;color:#444;opacity:.75;font-size:1.5em}.pixel-caffeine .select2-container.loading-data .select2-chosen{opacity:.5}.pixel-caffeine .select2-container.loading-data .select2-arrow{opacity:0}.pixel-caffeine .form-group .select2-container-multi.form-control{padding-left:0;padding-right:0}.pixel-caffeine .select2-container-multi:hover{background-color:#f2f4fa}.pixel-caffeine .select2-container-multi .select2-choices{background-color:transparent;padding:0 10px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field .select2-input{padding:0;margin:0}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice,.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field{float:none;display:inline-block;margin:0 5px 0 0}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice{position:relative;top:1px;background:#dfe6f3;padding:7px 27px 7px 7px;border:none;border-radius:0;text-transform:uppercase;font-size:.85em;font-weight:600;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close{top:50%;margin-top:-10px;left:auto;width:20px;height:20px;line-height:20px;background:none!important;text-align:center}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close:before{content:"close";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:#4c70ba;font-size:18px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close:hover:before{color:#e15667}.pixel-caffeine .select2-container-multi.select2-container-active .select2-choices{border:none}.pixel-caffeine .select2-drop{box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);background:#dfe6f3;border:none}.pixel-caffeine .select2-drop .select2-search{padding:10px}.pixel-caffeine .select2-drop .select2-search:before{position:absolute;right:10px;width:30px;content:"search";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;line-height:38px;color:#96abd6;font-size:1.5em}.pixel-caffeine .select2-drop .select2-search .select2-input{min-height:38px;background-color:#fff;background-image:none!important;border-color:#96abd6;padding-right:30px}.pixel-caffeine .select2-drop .select2-search .select2-input.select2-focused{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #96abd6;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #96abd6}.pixel-caffeine .select2-drop.select2-drop-above.select2-drop-active{border-top:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine .select2-drop.dropdown-width-max{width:auto!important}.pixel-caffeine .select2-drop-multi{-webkit-transform:translateY(1px);-ms-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px)}.pixel-caffeine .select2-results{padding:0;margin:0;font-size:14px;font-weight:300;background:none}.pixel-caffeine .select2-results .select2-no-results,.pixel-caffeine .select2-results .select2-result{padding:10px;margin-bottom:0}.pixel-caffeine .select2-results .select2-result{border-top:1px solid #bac8e5;margin:0;border-radius:0}.pixel-caffeine .select2-results .select2-no-results{background:none}.pixel-caffeine .select2-results .select2-result-label{padding:0}.pixel-caffeine .select2-results .select2-highlighted{background:#96abd6;color:#fff}.pixel-caffeine .select2-results .select2-highlighted:active{background:#4c70ba;color:#fff}.pixel-caffeine .select2-results .select2-add{background-color:#3b5998;color:#fff}.pixel-caffeine .select2-results .select2-add .select2-result-label:before{position:relative;left:0;content:"add_circle";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:#fff;margin-right:10px}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choice,.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choices{background:none;border:none}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-add{background-color:#3b5998}.pixel-caffeine .input-group-btn{padding-left:0}.pixel-caffeine .input-group-btn .select2-container{margin-bottom:0}.pixel-caffeine .input-group-btn .select2-container .select2-choice{height:38px}.pixel-caffeine.modal-open{overflow:hidden}.pixel-caffeine.modal-open .modal{overflow-x:hidden;overflow-y:auto}
|
1 |
@import url(//fonts.googleapis.com/icon?family=Material+Icons);/*!
|
2 |
* Admin pages common
|
3 |
+
*/@keyframes anim-spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}.pixel-caffeine-wrapper *,.pixel-caffeine-wrapper :after,.pixel-caffeine-wrapper :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pixel-caffeine-wrapper html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pixel-caffeine-wrapper body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}.pixel-caffeine-wrapper button,.pixel-caffeine-wrapper input,.pixel-caffeine-wrapper select,.pixel-caffeine-wrapper textarea{font-family:inherit;font-size:inherit;line-height:inherit}.pixel-caffeine-wrapper a{color:#337ab7;text-decoration:none}.pixel-caffeine-wrapper a:focus,.pixel-caffeine-wrapper a:hover{color:#23527c;text-decoration:underline}.pixel-caffeine-wrapper a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper figure{margin:0}.pixel-caffeine-wrapper img{vertical-align:middle}.pixel-caffeine-wrapper .img-responsive{display:block;max-width:100%;height:auto}.pixel-caffeine-wrapper .img-rounded{border-radius:6px}.pixel-caffeine-wrapper .img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.pixel-caffeine-wrapper .img-circle{border-radius:50%}.pixel-caffeine-wrapper hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.pixel-caffeine-wrapper .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.pixel-caffeine-wrapper .sr-only-focusable:active,.pixel-caffeine-wrapper .sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.pixel-caffeine-wrapper [role=button]{cursor:pointer}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-family:inherit;font-weight:700;line-height:1.1;color:inherit}.pixel-caffeine-wrapper .h1 .small,.pixel-caffeine-wrapper .h1 small,.pixel-caffeine-wrapper .h2 .small,.pixel-caffeine-wrapper .h2 small,.pixel-caffeine-wrapper .h3 .small,.pixel-caffeine-wrapper .h3 small,.pixel-caffeine-wrapper .h4 .small,.pixel-caffeine-wrapper .h4 small,.pixel-caffeine-wrapper .h5 .small,.pixel-caffeine-wrapper .h5 small,.pixel-caffeine-wrapper .h6 .small,.pixel-caffeine-wrapper .h6 small,.pixel-caffeine-wrapper h1 .small,.pixel-caffeine-wrapper h1 small,.pixel-caffeine-wrapper h2 .small,.pixel-caffeine-wrapper h2 small,.pixel-caffeine-wrapper h3 .small,.pixel-caffeine-wrapper h3 small,.pixel-caffeine-wrapper h4 .small,.pixel-caffeine-wrapper h4 small,.pixel-caffeine-wrapper h5 .small,.pixel-caffeine-wrapper h5 small,.pixel-caffeine-wrapper h6 .small,.pixel-caffeine-wrapper h6 small{font-weight:400;line-height:1;color:#777}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3{margin-top:20px;margin-bottom:10px}.pixel-caffeine-wrapper .h1 .small,.pixel-caffeine-wrapper .h1 small,.pixel-caffeine-wrapper .h2 .small,.pixel-caffeine-wrapper .h2 small,.pixel-caffeine-wrapper .h3 .small,.pixel-caffeine-wrapper .h3 small,.pixel-caffeine-wrapper h1 .small,.pixel-caffeine-wrapper h1 small,.pixel-caffeine-wrapper h2 .small,.pixel-caffeine-wrapper h2 small,.pixel-caffeine-wrapper h3 .small,.pixel-caffeine-wrapper h3 small{font-size:65%}.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .h4 .small,.pixel-caffeine-wrapper .h4 small,.pixel-caffeine-wrapper .h5 .small,.pixel-caffeine-wrapper .h5 small,.pixel-caffeine-wrapper .h6 .small,.pixel-caffeine-wrapper .h6 small,.pixel-caffeine-wrapper h4 .small,.pixel-caffeine-wrapper h4 small,.pixel-caffeine-wrapper h5 .small,.pixel-caffeine-wrapper h5 small,.pixel-caffeine-wrapper h6 .small,.pixel-caffeine-wrapper h6 small{font-size:75%}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper h1{font-size:36px}.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper h2{font-size:30px}.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper h3{font-size:24px}.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper h4{font-size:18px}.pixel-caffeine-wrapper .h5,.pixel-caffeine-wrapper h5{font-size:14px}.pixel-caffeine-wrapper .h6,.pixel-caffeine-wrapper h6{font-size:12px}.pixel-caffeine-wrapper p{margin:0 0 10px}.pixel-caffeine-wrapper .lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.pixel-caffeine-wrapper .lead{font-size:21px}}.pixel-caffeine-wrapper .small,.pixel-caffeine-wrapper small{font-size:85%}.pixel-caffeine-wrapper .mark,.pixel-caffeine-wrapper mark{padding:.2em;background-color:#fcf8e3}.pixel-caffeine-wrapper .text-left{text-align:left}.pixel-caffeine-wrapper .text-right{text-align:right}.pixel-caffeine-wrapper .text-center{text-align:center}.pixel-caffeine-wrapper .text-justify{text-align:justify}.pixel-caffeine-wrapper .text-nowrap{white-space:nowrap}.pixel-caffeine-wrapper .text-lowercase{text-transform:lowercase}.pixel-caffeine-wrapper .initialism,.pixel-caffeine-wrapper .text-uppercase{text-transform:uppercase}.pixel-caffeine-wrapper .text-capitalize{text-transform:capitalize}.pixel-caffeine-wrapper .text-muted{color:#777}.pixel-caffeine-wrapper a.text-primary:focus,.pixel-caffeine-wrapper a.text-primary:hover{color:#3b5998}.pixel-caffeine-wrapper .text-success{color:#3c763d}.pixel-caffeine-wrapper a.text-success:focus,.pixel-caffeine-wrapper a.text-success:hover{color:#2b542c}.pixel-caffeine-wrapper .text-info{color:#31708f}.pixel-caffeine-wrapper a.text-info:focus,.pixel-caffeine-wrapper a.text-info:hover{color:#245269}.pixel-caffeine-wrapper .text-warning{color:#8a6d3b}.pixel-caffeine-wrapper a.text-warning:focus,.pixel-caffeine-wrapper a.text-warning:hover{color:#66512c}.pixel-caffeine-wrapper .text-danger{color:#a94442}.pixel-caffeine-wrapper a.text-danger:focus,.pixel-caffeine-wrapper a.text-danger:hover{color:#843534}.pixel-caffeine-wrapper .bg-primary{color:#fff;background-color:#4c70ba}.pixel-caffeine-wrapper a.bg-primary:focus,.pixel-caffeine-wrapper a.bg-primary:hover{background-color:#3b5998}.pixel-caffeine-wrapper .bg-success{background-color:#dff0d8}.pixel-caffeine-wrapper a.bg-success:focus,.pixel-caffeine-wrapper a.bg-success:hover{background-color:#c1e2b3}.pixel-caffeine-wrapper .bg-info{background-color:#d9edf7}.pixel-caffeine-wrapper a.bg-info:focus,.pixel-caffeine-wrapper a.bg-info:hover{background-color:#afd9ee}.pixel-caffeine-wrapper .bg-warning{background-color:#fcf8e3}.pixel-caffeine-wrapper a.bg-warning:focus,.pixel-caffeine-wrapper a.bg-warning:hover{background-color:#f7ecb5}.pixel-caffeine-wrapper .bg-danger{background-color:#f2dede}.pixel-caffeine-wrapper a.bg-danger:focus,.pixel-caffeine-wrapper a.bg-danger:hover{background-color:#e4b9b9}.pixel-caffeine-wrapper .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.pixel-caffeine-wrapper ol,.pixel-caffeine-wrapper ul{margin-top:0;margin-bottom:10px}.pixel-caffeine-wrapper ol ol,.pixel-caffeine-wrapper ol ul,.pixel-caffeine-wrapper ul ol,.pixel-caffeine-wrapper ul ul{margin-bottom:0}.pixel-caffeine-wrapper .list-unstyled{padding-left:0;list-style:none}.pixel-caffeine-wrapper .list-inline{padding-left:0;list-style:none;margin-left:-5px}.pixel-caffeine-wrapper .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.pixel-caffeine-wrapper dl{margin-top:0;margin-bottom:20px}.pixel-caffeine-wrapper dd,.pixel-caffeine-wrapper dt{line-height:1.42857}.pixel-caffeine-wrapper dt{font-weight:700}.pixel-caffeine-wrapper dd{margin-left:0}.pixel-caffeine-wrapper .dl-horizontal dd:after,.pixel-caffeine-wrapper .dl-horizontal dd:before{display:table;content:" "}.pixel-caffeine-wrapper .dl-horizontal dd:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pixel-caffeine-wrapper .dl-horizontal dd{margin-left:180px}}.pixel-caffeine-wrapper abbr[data-original-title],.pixel-caffeine-wrapper abbr[title]{cursor:help}.pixel-caffeine-wrapper .initialism{font-size:90%}.pixel-caffeine-wrapper blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}.pixel-caffeine-wrapper blockquote ol:last-child,.pixel-caffeine-wrapper blockquote p:last-child,.pixel-caffeine-wrapper blockquote ul:last-child{margin-bottom:0}.pixel-caffeine-wrapper blockquote .small,.pixel-caffeine-wrapper blockquote footer,.pixel-caffeine-wrapper blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}.pixel-caffeine-wrapper blockquote .small:before,.pixel-caffeine-wrapper blockquote footer:before,.pixel-caffeine-wrapper blockquote small:before{content:"\2014 \A0"}.pixel-caffeine-wrapper .blockquote-reverse,.pixel-caffeine-wrapper blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.pixel-caffeine-wrapper .blockquote-reverse .small:before,.pixel-caffeine-wrapper .blockquote-reverse footer:before,.pixel-caffeine-wrapper .blockquote-reverse small:before,.pixel-caffeine-wrapper blockquote.pull-right .small:before,.pixel-caffeine-wrapper blockquote.pull-right footer:before,.pixel-caffeine-wrapper blockquote.pull-right small:before{content:""}.pixel-caffeine-wrapper .blockquote-reverse .small:after,.pixel-caffeine-wrapper .blockquote-reverse footer:after,.pixel-caffeine-wrapper .blockquote-reverse small:after,.pixel-caffeine-wrapper blockquote.pull-right .small:after,.pixel-caffeine-wrapper blockquote.pull-right footer:after,.pixel-caffeine-wrapper blockquote.pull-right small:after{content:"\A0 \2014"}.pixel-caffeine-wrapper address{margin-bottom:20px;font-style:normal;line-height:1.42857}.pixel-caffeine-wrapper code,.pixel-caffeine-wrapper kbd,.pixel-caffeine-wrapper pre,.pixel-caffeine-wrapper samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.pixel-caffeine-wrapper code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}.pixel-caffeine-wrapper kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}.pixel-caffeine-wrapper kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}.pixel-caffeine-wrapper pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.pixel-caffeine-wrapper pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pixel-caffeine-wrapper .pre-scrollable{max-height:340px;overflow-y:scroll}.pixel-caffeine-wrapper .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .container:after,.pixel-caffeine-wrapper .container:before{display:table;content:" "}.pixel-caffeine-wrapper .container:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .container{width:750px}}@media (min-width:992px){.pixel-caffeine-wrapper .container{width:970px}}@media (min-width:1200px){.pixel-caffeine-wrapper .container{width:1170px}}.pixel-caffeine-wrapper .container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .container-fluid:after,.pixel-caffeine-wrapper .container-fluid:before{display:table;content:" "}.pixel-caffeine-wrapper .container-fluid:after{clear:both}.pixel-caffeine-wrapper .row{margin-right:-15px;margin-left:-15px}.pixel-caffeine-wrapper .row:after,.pixel-caffeine-wrapper .row:before{display:table;content:" "}.pixel-caffeine-wrapper .row:after{clear:both}.pixel-caffeine-wrapper .row-no-gutters{margin-right:0;margin-left:0}.pixel-caffeine-wrapper .row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.pixel-caffeine-wrapper .col-lg-1,.pixel-caffeine-wrapper .col-lg-2,.pixel-caffeine-wrapper .col-lg-3,.pixel-caffeine-wrapper .col-lg-4,.pixel-caffeine-wrapper .col-lg-5,.pixel-caffeine-wrapper .col-lg-6,.pixel-caffeine-wrapper .col-lg-7,.pixel-caffeine-wrapper .col-lg-8,.pixel-caffeine-wrapper .col-lg-9,.pixel-caffeine-wrapper .col-lg-10,.pixel-caffeine-wrapper .col-lg-11,.pixel-caffeine-wrapper .col-lg-12,.pixel-caffeine-wrapper .col-md-1,.pixel-caffeine-wrapper .col-md-2,.pixel-caffeine-wrapper .col-md-3,.pixel-caffeine-wrapper .col-md-4,.pixel-caffeine-wrapper .col-md-5,.pixel-caffeine-wrapper .col-md-6,.pixel-caffeine-wrapper .col-md-7,.pixel-caffeine-wrapper .col-md-8,.pixel-caffeine-wrapper .col-md-9,.pixel-caffeine-wrapper .col-md-10,.pixel-caffeine-wrapper .col-md-11,.pixel-caffeine-wrapper .col-md-12,.pixel-caffeine-wrapper .col-sm-1,.pixel-caffeine-wrapper .col-sm-2,.pixel-caffeine-wrapper .col-sm-3,.pixel-caffeine-wrapper .col-sm-4,.pixel-caffeine-wrapper .col-sm-5,.pixel-caffeine-wrapper .col-sm-6,.pixel-caffeine-wrapper .col-sm-7,.pixel-caffeine-wrapper .col-sm-8,.pixel-caffeine-wrapper .col-sm-9,.pixel-caffeine-wrapper .col-sm-10,.pixel-caffeine-wrapper .col-sm-11,.pixel-caffeine-wrapper .col-sm-12,.pixel-caffeine-wrapper .col-xs-1,.pixel-caffeine-wrapper .col-xs-2,.pixel-caffeine-wrapper .col-xs-3,.pixel-caffeine-wrapper .col-xs-4,.pixel-caffeine-wrapper .col-xs-5,.pixel-caffeine-wrapper .col-xs-6,.pixel-caffeine-wrapper .col-xs-7,.pixel-caffeine-wrapper .col-xs-8,.pixel-caffeine-wrapper .col-xs-9,.pixel-caffeine-wrapper .col-xs-10,.pixel-caffeine-wrapper .col-xs-11,.pixel-caffeine-wrapper .col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.pixel-caffeine-wrapper .col-xs-1,.pixel-caffeine-wrapper .col-xs-2,.pixel-caffeine-wrapper .col-xs-3,.pixel-caffeine-wrapper .col-xs-4,.pixel-caffeine-wrapper .col-xs-5,.pixel-caffeine-wrapper .col-xs-6,.pixel-caffeine-wrapper .col-xs-7,.pixel-caffeine-wrapper .col-xs-8,.pixel-caffeine-wrapper .col-xs-9,.pixel-caffeine-wrapper .col-xs-10,.pixel-caffeine-wrapper .col-xs-11,.pixel-caffeine-wrapper .col-xs-12{float:left}.pixel-caffeine-wrapper .col-xs-1{width:8.33333%}.pixel-caffeine-wrapper .col-xs-2{width:16.66667%}.pixel-caffeine-wrapper .col-xs-3{width:25%}.pixel-caffeine-wrapper .col-xs-4{width:33.33333%}.pixel-caffeine-wrapper .col-xs-5{width:41.66667%}.pixel-caffeine-wrapper .col-xs-6{width:50%}.pixel-caffeine-wrapper .col-xs-7{width:58.33333%}.pixel-caffeine-wrapper .col-xs-8{width:66.66667%}.pixel-caffeine-wrapper .col-xs-9{width:75%}.pixel-caffeine-wrapper .col-xs-10{width:83.33333%}.pixel-caffeine-wrapper .col-xs-11{width:91.66667%}.pixel-caffeine-wrapper .col-xs-12{width:100%}.pixel-caffeine-wrapper .col-xs-pull-0{right:auto}.pixel-caffeine-wrapper .col-xs-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-xs-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-xs-pull-3{right:25%}.pixel-caffeine-wrapper .col-xs-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-xs-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-xs-pull-6{right:50%}.pixel-caffeine-wrapper .col-xs-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-xs-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-xs-pull-9{right:75%}.pixel-caffeine-wrapper .col-xs-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-xs-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-xs-pull-12{right:100%}.pixel-caffeine-wrapper .col-xs-push-0{left:auto}.pixel-caffeine-wrapper .col-xs-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-xs-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-xs-push-3{left:25%}.pixel-caffeine-wrapper .col-xs-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-xs-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-xs-push-6{left:50%}.pixel-caffeine-wrapper .col-xs-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-xs-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-xs-push-9{left:75%}.pixel-caffeine-wrapper .col-xs-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-xs-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-xs-push-12{left:100%}.pixel-caffeine-wrapper .col-xs-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-xs-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-xs-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-xs-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-xs-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-xs-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-xs-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-xs-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-xs-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-xs-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-xs-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-xs-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-xs-offset-12{margin-left:100%}@media (min-width:768px){.pixel-caffeine-wrapper .col-sm-1,.pixel-caffeine-wrapper .col-sm-2,.pixel-caffeine-wrapper .col-sm-3,.pixel-caffeine-wrapper .col-sm-4,.pixel-caffeine-wrapper .col-sm-5,.pixel-caffeine-wrapper .col-sm-6,.pixel-caffeine-wrapper .col-sm-7,.pixel-caffeine-wrapper .col-sm-8,.pixel-caffeine-wrapper .col-sm-9,.pixel-caffeine-wrapper .col-sm-10,.pixel-caffeine-wrapper .col-sm-11,.pixel-caffeine-wrapper .col-sm-12{float:left}.pixel-caffeine-wrapper .col-sm-1{width:8.33333%}.pixel-caffeine-wrapper .col-sm-2{width:16.66667%}.pixel-caffeine-wrapper .col-sm-3{width:25%}.pixel-caffeine-wrapper .col-sm-4{width:33.33333%}.pixel-caffeine-wrapper .col-sm-5{width:41.66667%}.pixel-caffeine-wrapper .col-sm-6{width:50%}.pixel-caffeine-wrapper .col-sm-7{width:58.33333%}.pixel-caffeine-wrapper .col-sm-8{width:66.66667%}.pixel-caffeine-wrapper .col-sm-9{width:75%}.pixel-caffeine-wrapper .col-sm-10{width:83.33333%}.pixel-caffeine-wrapper .col-sm-11{width:91.66667%}.pixel-caffeine-wrapper .col-sm-12{width:100%}.pixel-caffeine-wrapper .col-sm-pull-0{right:auto}.pixel-caffeine-wrapper .col-sm-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-sm-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-sm-pull-3{right:25%}.pixel-caffeine-wrapper .col-sm-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-sm-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-sm-pull-6{right:50%}.pixel-caffeine-wrapper .col-sm-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-sm-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-sm-pull-9{right:75%}.pixel-caffeine-wrapper .col-sm-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-sm-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-sm-pull-12{right:100%}.pixel-caffeine-wrapper .col-sm-push-0{left:auto}.pixel-caffeine-wrapper .col-sm-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-sm-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-sm-push-3{left:25%}.pixel-caffeine-wrapper .col-sm-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-sm-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-sm-push-6{left:50%}.pixel-caffeine-wrapper .col-sm-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-sm-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-sm-push-9{left:75%}.pixel-caffeine-wrapper .col-sm-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-sm-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-sm-push-12{left:100%}.pixel-caffeine-wrapper .col-sm-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-sm-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-sm-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-sm-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-sm-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-sm-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-sm-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-sm-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-sm-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-sm-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-sm-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-sm-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.pixel-caffeine-wrapper .col-md-1,.pixel-caffeine-wrapper .col-md-2,.pixel-caffeine-wrapper .col-md-3,.pixel-caffeine-wrapper .col-md-4,.pixel-caffeine-wrapper .col-md-5,.pixel-caffeine-wrapper .col-md-6,.pixel-caffeine-wrapper .col-md-7,.pixel-caffeine-wrapper .col-md-8,.pixel-caffeine-wrapper .col-md-9,.pixel-caffeine-wrapper .col-md-10,.pixel-caffeine-wrapper .col-md-11,.pixel-caffeine-wrapper .col-md-12{float:left}.pixel-caffeine-wrapper .col-md-1{width:8.33333%}.pixel-caffeine-wrapper .col-md-2{width:16.66667%}.pixel-caffeine-wrapper .col-md-3{width:25%}.pixel-caffeine-wrapper .col-md-4{width:33.33333%}.pixel-caffeine-wrapper .col-md-5{width:41.66667%}.pixel-caffeine-wrapper .col-md-6{width:50%}.pixel-caffeine-wrapper .col-md-7{width:58.33333%}.pixel-caffeine-wrapper .col-md-8{width:66.66667%}.pixel-caffeine-wrapper .col-md-9{width:75%}.pixel-caffeine-wrapper .col-md-10{width:83.33333%}.pixel-caffeine-wrapper .col-md-11{width:91.66667%}.pixel-caffeine-wrapper .col-md-12{width:100%}.pixel-caffeine-wrapper .col-md-pull-0{right:auto}.pixel-caffeine-wrapper .col-md-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-md-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-md-pull-3{right:25%}.pixel-caffeine-wrapper .col-md-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-md-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-md-pull-6{right:50%}.pixel-caffeine-wrapper .col-md-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-md-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-md-pull-9{right:75%}.pixel-caffeine-wrapper .col-md-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-md-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-md-pull-12{right:100%}.pixel-caffeine-wrapper .col-md-push-0{left:auto}.pixel-caffeine-wrapper .col-md-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-md-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-md-push-3{left:25%}.pixel-caffeine-wrapper .col-md-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-md-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-md-push-6{left:50%}.pixel-caffeine-wrapper .col-md-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-md-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-md-push-9{left:75%}.pixel-caffeine-wrapper .col-md-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-md-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-md-push-12{left:100%}.pixel-caffeine-wrapper .col-md-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-md-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-md-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-md-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-md-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-md-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-md-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-md-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-md-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-md-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-md-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-md-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.pixel-caffeine-wrapper .col-lg-1,.pixel-caffeine-wrapper .col-lg-2,.pixel-caffeine-wrapper .col-lg-3,.pixel-caffeine-wrapper .col-lg-4,.pixel-caffeine-wrapper .col-lg-5,.pixel-caffeine-wrapper .col-lg-6,.pixel-caffeine-wrapper .col-lg-7,.pixel-caffeine-wrapper .col-lg-8,.pixel-caffeine-wrapper .col-lg-9,.pixel-caffeine-wrapper .col-lg-10,.pixel-caffeine-wrapper .col-lg-11,.pixel-caffeine-wrapper .col-lg-12{float:left}.pixel-caffeine-wrapper .col-lg-1{width:8.33333%}.pixel-caffeine-wrapper .col-lg-2{width:16.66667%}.pixel-caffeine-wrapper .col-lg-3{width:25%}.pixel-caffeine-wrapper .col-lg-4{width:33.33333%}.pixel-caffeine-wrapper .col-lg-5{width:41.66667%}.pixel-caffeine-wrapper .col-lg-6{width:50%}.pixel-caffeine-wrapper .col-lg-7{width:58.33333%}.pixel-caffeine-wrapper .col-lg-8{width:66.66667%}.pixel-caffeine-wrapper .col-lg-9{width:75%}.pixel-caffeine-wrapper .col-lg-10{width:83.33333%}.pixel-caffeine-wrapper .col-lg-11{width:91.66667%}.pixel-caffeine-wrapper .col-lg-12{width:100%}.pixel-caffeine-wrapper .col-lg-pull-0{right:auto}.pixel-caffeine-wrapper .col-lg-pull-1{right:8.33333%}.pixel-caffeine-wrapper .col-lg-pull-2{right:16.66667%}.pixel-caffeine-wrapper .col-lg-pull-3{right:25%}.pixel-caffeine-wrapper .col-lg-pull-4{right:33.33333%}.pixel-caffeine-wrapper .col-lg-pull-5{right:41.66667%}.pixel-caffeine-wrapper .col-lg-pull-6{right:50%}.pixel-caffeine-wrapper .col-lg-pull-7{right:58.33333%}.pixel-caffeine-wrapper .col-lg-pull-8{right:66.66667%}.pixel-caffeine-wrapper .col-lg-pull-9{right:75%}.pixel-caffeine-wrapper .col-lg-pull-10{right:83.33333%}.pixel-caffeine-wrapper .col-lg-pull-11{right:91.66667%}.pixel-caffeine-wrapper .col-lg-pull-12{right:100%}.pixel-caffeine-wrapper .col-lg-push-0{left:auto}.pixel-caffeine-wrapper .col-lg-push-1{left:8.33333%}.pixel-caffeine-wrapper .col-lg-push-2{left:16.66667%}.pixel-caffeine-wrapper .col-lg-push-3{left:25%}.pixel-caffeine-wrapper .col-lg-push-4{left:33.33333%}.pixel-caffeine-wrapper .col-lg-push-5{left:41.66667%}.pixel-caffeine-wrapper .col-lg-push-6{left:50%}.pixel-caffeine-wrapper .col-lg-push-7{left:58.33333%}.pixel-caffeine-wrapper .col-lg-push-8{left:66.66667%}.pixel-caffeine-wrapper .col-lg-push-9{left:75%}.pixel-caffeine-wrapper .col-lg-push-10{left:83.33333%}.pixel-caffeine-wrapper .col-lg-push-11{left:91.66667%}.pixel-caffeine-wrapper .col-lg-push-12{left:100%}.pixel-caffeine-wrapper .col-lg-offset-0{margin-left:0}.pixel-caffeine-wrapper .col-lg-offset-1{margin-left:8.33333%}.pixel-caffeine-wrapper .col-lg-offset-2{margin-left:16.66667%}.pixel-caffeine-wrapper .col-lg-offset-3{margin-left:25%}.pixel-caffeine-wrapper .col-lg-offset-4{margin-left:33.33333%}.pixel-caffeine-wrapper .col-lg-offset-5{margin-left:41.66667%}.pixel-caffeine-wrapper .col-lg-offset-6{margin-left:50%}.pixel-caffeine-wrapper .col-lg-offset-7{margin-left:58.33333%}.pixel-caffeine-wrapper .col-lg-offset-8{margin-left:66.66667%}.pixel-caffeine-wrapper .col-lg-offset-9{margin-left:75%}.pixel-caffeine-wrapper .col-lg-offset-10{margin-left:83.33333%}.pixel-caffeine-wrapper .col-lg-offset-11{margin-left:91.66667%}.pixel-caffeine-wrapper .col-lg-offset-12{margin-left:100%}}.pixel-caffeine-wrapper table{background-color:transparent}.pixel-caffeine-wrapper table col[class*=col-]{position:static;display:table-column;float:none}.pixel-caffeine-wrapper table td[class*=col-],.pixel-caffeine-wrapper table th[class*=col-]{position:static;display:table-cell;float:none}.pixel-caffeine-wrapper caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}.pixel-caffeine-wrapper th{text-align:left}.pixel-caffeine-wrapper .table{width:100%;max-width:100%;margin-bottom:20px}.pixel-caffeine-wrapper .table>tbody>tr>td,.pixel-caffeine-wrapper .table>tbody>tr>th,.pixel-caffeine-wrapper .table>tfoot>tr>td,.pixel-caffeine-wrapper .table>tfoot>tr>th,.pixel-caffeine-wrapper .table>thead>tr>td,.pixel-caffeine-wrapper .table>thead>tr>th{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.pixel-caffeine-wrapper .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.pixel-caffeine-wrapper .table>caption+thead>tr:first-child>td,.pixel-caffeine-wrapper .table>caption+thead>tr:first-child>th,.pixel-caffeine-wrapper .table>colgroup+thead>tr:first-child>td,.pixel-caffeine-wrapper .table>colgroup+thead>tr:first-child>th,.pixel-caffeine-wrapper .table>thead:first-child>tr:first-child>td,.pixel-caffeine-wrapper .table>thead:first-child>tr:first-child>th{border-top:0}.pixel-caffeine-wrapper .table>tbody+tbody{border-top:2px solid #ddd}.pixel-caffeine-wrapper .table .table{background-color:transparent}.pixel-caffeine-wrapper .table-condensed>tbody>tr>td,.pixel-caffeine-wrapper .table-condensed>tbody>tr>th,.pixel-caffeine-wrapper .table-condensed>tfoot>tr>td,.pixel-caffeine-wrapper .table-condensed>tfoot>tr>th,.pixel-caffeine-wrapper .table-condensed>thead>tr>td,.pixel-caffeine-wrapper .table-condensed>thead>tr>th{padding:5px}.pixel-caffeine-wrapper .table-bordered,.pixel-caffeine-wrapper .table-bordered>tbody>tr>td,.pixel-caffeine-wrapper .table-bordered>tbody>tr>th,.pixel-caffeine-wrapper .table-bordered>tfoot>tr>td,.pixel-caffeine-wrapper .table-bordered>tfoot>tr>th,.pixel-caffeine-wrapper .table-bordered>thead>tr>td,.pixel-caffeine-wrapper .table-bordered>thead>tr>th{border:1px solid #ddd}.pixel-caffeine-wrapper .table-bordered>thead>tr>td,.pixel-caffeine-wrapper .table-bordered>thead>tr>th{border-bottom-width:2px}.pixel-caffeine-wrapper .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.pixel-caffeine-wrapper .table-hover>tbody>tr:hover,.pixel-caffeine-wrapper .table>tbody>tr.active>td,.pixel-caffeine-wrapper .table>tbody>tr.active>th,.pixel-caffeine-wrapper .table>tbody>tr>td.active,.pixel-caffeine-wrapper .table>tbody>tr>th.active,.pixel-caffeine-wrapper .table>tfoot>tr.active>td,.pixel-caffeine-wrapper .table>tfoot>tr.active>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.active,.pixel-caffeine-wrapper .table>tfoot>tr>th.active,.pixel-caffeine-wrapper .table>thead>tr.active>td,.pixel-caffeine-wrapper .table>thead>tr.active>th,.pixel-caffeine-wrapper .table>thead>tr>td.active,.pixel-caffeine-wrapper .table>thead>tr>th.active{background-color:#f5f5f5}.pixel-caffeine-wrapper .table-hover>tbody>tr.active:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.active:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.active,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.active:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.pixel-caffeine-wrapper .table>tbody>tr.success>td,.pixel-caffeine-wrapper .table>tbody>tr.success>th,.pixel-caffeine-wrapper .table>tbody>tr>td.success,.pixel-caffeine-wrapper .table>tbody>tr>th.success,.pixel-caffeine-wrapper .table>tfoot>tr.success>td,.pixel-caffeine-wrapper .table>tfoot>tr.success>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.success,.pixel-caffeine-wrapper .table>tfoot>tr>th.success,.pixel-caffeine-wrapper .table>thead>tr.success>td,.pixel-caffeine-wrapper .table>thead>tr.success>th,.pixel-caffeine-wrapper .table>thead>tr>td.success,.pixel-caffeine-wrapper .table>thead>tr>th.success{background-color:#dff0d8}.pixel-caffeine-wrapper .table-hover>tbody>tr.success:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.success:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.success,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.success:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.pixel-caffeine-wrapper .table>tbody>tr.info>td,.pixel-caffeine-wrapper .table>tbody>tr.info>th,.pixel-caffeine-wrapper .table>tbody>tr>td.info,.pixel-caffeine-wrapper .table>tbody>tr>th.info,.pixel-caffeine-wrapper .table>tfoot>tr.info>td,.pixel-caffeine-wrapper .table>tfoot>tr.info>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.info,.pixel-caffeine-wrapper .table>tfoot>tr>th.info,.pixel-caffeine-wrapper .table>thead>tr.info>td,.pixel-caffeine-wrapper .table>thead>tr.info>th,.pixel-caffeine-wrapper .table>thead>tr>td.info,.pixel-caffeine-wrapper .table>thead>tr>th.info{background-color:#d9edf7}.pixel-caffeine-wrapper .table-hover>tbody>tr.info:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.info:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.info,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.info:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.pixel-caffeine-wrapper .table>tbody>tr.warning>td,.pixel-caffeine-wrapper .table>tbody>tr.warning>th,.pixel-caffeine-wrapper .table>tbody>tr>td.warning,.pixel-caffeine-wrapper .table>tbody>tr>th.warning,.pixel-caffeine-wrapper .table>tfoot>tr.warning>td,.pixel-caffeine-wrapper .table>tfoot>tr.warning>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.warning,.pixel-caffeine-wrapper .table>tfoot>tr>th.warning,.pixel-caffeine-wrapper .table>thead>tr.warning>td,.pixel-caffeine-wrapper .table>thead>tr.warning>th,.pixel-caffeine-wrapper .table>thead>tr>td.warning,.pixel-caffeine-wrapper .table>thead>tr>th.warning{background-color:#fcf8e3}.pixel-caffeine-wrapper .table-hover>tbody>tr.warning:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.warning:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.warning,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.warning:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.pixel-caffeine-wrapper .table>tbody>tr.danger>td,.pixel-caffeine-wrapper .table>tbody>tr.danger>th,.pixel-caffeine-wrapper .table>tbody>tr>td.danger,.pixel-caffeine-wrapper .table>tbody>tr>th.danger,.pixel-caffeine-wrapper .table>tfoot>tr.danger>td,.pixel-caffeine-wrapper .table>tfoot>tr.danger>th,.pixel-caffeine-wrapper .table>tfoot>tr>td.danger,.pixel-caffeine-wrapper .table>tfoot>tr>th.danger,.pixel-caffeine-wrapper .table>thead>tr.danger>td,.pixel-caffeine-wrapper .table>thead>tr.danger>th,.pixel-caffeine-wrapper .table>thead>tr>td.danger,.pixel-caffeine-wrapper .table>thead>tr>th.danger{background-color:#f2dede}.pixel-caffeine-wrapper .table-hover>tbody>tr.danger:hover>td,.pixel-caffeine-wrapper .table-hover>tbody>tr.danger:hover>th,.pixel-caffeine-wrapper .table-hover>tbody>tr:hover>.danger,.pixel-caffeine-wrapper .table-hover>tbody>tr>td.danger:hover,.pixel-caffeine-wrapper .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.pixel-caffeine-wrapper .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.pixel-caffeine-wrapper .table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.pixel-caffeine-wrapper .table-responsive>.table{margin-bottom:0}.pixel-caffeine-wrapper .table-responsive>.table>tbody>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>tbody>tr>th,.pixel-caffeine-wrapper .table-responsive>.table>tfoot>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>tfoot>tr>th,.pixel-caffeine-wrapper .table-responsive>.table>thead>tr>td,.pixel-caffeine-wrapper .table-responsive>.table>thead>tr>th{white-space:nowrap}.pixel-caffeine-wrapper .table-responsive>.table-bordered{border:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.pixel-caffeine-wrapper fieldset{min-width:0;padding:0;margin:0;border:0}.pixel-caffeine-wrapper legend{display:block;width:100%;padding:0;margin-bottom:20px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}.pixel-caffeine-wrapper label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}.pixel-caffeine-wrapper input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;appearance:none}.pixel-caffeine-wrapper input[type=checkbox],.pixel-caffeine-wrapper input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}.pixel-caffeine-wrapper input[type=checkbox].disabled,.pixel-caffeine-wrapper input[type=checkbox][disabled],.pixel-caffeine-wrapper input[type=radio].disabled,.pixel-caffeine-wrapper input[type=radio][disabled],fieldset[disabled] .pixel-caffeine-wrapper input[type=checkbox],fieldset[disabled] .pixel-caffeine-wrapper input[type=radio]{cursor:not-allowed}.pixel-caffeine-wrapper input[type=file]{display:block}.pixel-caffeine-wrapper input[type=range]{display:block;width:100%}.pixel-caffeine-wrapper select[multiple],.pixel-caffeine-wrapper select[size]{height:auto}.pixel-caffeine-wrapper input[type=checkbox]:focus,.pixel-caffeine-wrapper input[type=file]:focus,.pixel-caffeine-wrapper input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper output{display:block;padding-top:7px;color:#555}.pixel-caffeine-wrapper .form-control{display:block;width:100%;height:34px;padding:6px 12px;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.pixel-caffeine-wrapper .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.pixel-caffeine-wrapper .form-control::-moz-placeholder{color:#999;opacity:1}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder{color:#999}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder{color:#999}.pixel-caffeine-wrapper .form-control::-ms-expand{background-color:transparent;border:0}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-control[readonly],fieldset[disabled] .pixel-caffeine-wrapper .form-control{background-color:#eee;opacity:1}.pixel-caffeine-wrapper .form-control[disabled],fieldset[disabled] .pixel-caffeine-wrapper .form-control{cursor:not-allowed}.pixel-caffeine-wrapper textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.pixel-caffeine-wrapper input[type=date].form-control,.pixel-caffeine-wrapper input[type=datetime-local].form-control,.pixel-caffeine-wrapper input[type=month].form-control,.pixel-caffeine-wrapper input[type=time].form-control{line-height:34px}.input-group-sm .pixel-caffeine-wrapper input[type=date],.input-group-sm .pixel-caffeine-wrapper input[type=datetime-local],.input-group-sm .pixel-caffeine-wrapper input[type=month],.input-group-sm .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-sm,.pixel-caffeine-wrapper input[type=datetime-local].input-sm,.pixel-caffeine-wrapper input[type=month].input-sm,.pixel-caffeine-wrapper input[type=time].input-sm{line-height:30px}.input-group-lg .pixel-caffeine-wrapper input[type=date],.input-group-lg .pixel-caffeine-wrapper input[type=datetime-local],.input-group-lg .pixel-caffeine-wrapper input[type=month],.input-group-lg .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-lg,.pixel-caffeine-wrapper input[type=datetime-local].input-lg,.pixel-caffeine-wrapper input[type=month].input-lg,.pixel-caffeine-wrapper input[type=time].input-lg{line-height:46px}}.pixel-caffeine-wrapper .form-group{margin-bottom:15px}.pixel-caffeine-wrapper .checkbox,.pixel-caffeine-wrapper .radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .checkbox.disabled label,.pixel-caffeine-wrapper .radio.disabled label,fieldset[disabled] .pixel-caffeine-wrapper .checkbox label,fieldset[disabled] .pixel-caffeine-wrapper .radio label{cursor:not-allowed}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.pixel-caffeine-wrapper .checkbox-inline input[type=checkbox],.pixel-caffeine-wrapper .checkbox input[type=checkbox],.pixel-caffeine-wrapper .radio-inline input[type=radio],.pixel-caffeine-wrapper .radio input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.pixel-caffeine-wrapper .checkbox+.checkbox,.pixel-caffeine-wrapper .radio+.radio{margin-top:-5px}.pixel-caffeine-wrapper .checkbox-inline,.pixel-caffeine-wrapper .radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.pixel-caffeine-wrapper .checkbox-inline.disabled,.pixel-caffeine-wrapper .radio-inline.disabled,fieldset[disabled] .pixel-caffeine-wrapper .checkbox-inline,fieldset[disabled] .pixel-caffeine-wrapper .radio-inline{cursor:not-allowed}.pixel-caffeine-wrapper .checkbox-inline+.checkbox-inline,.pixel-caffeine-wrapper .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.pixel-caffeine-wrapper .form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.pixel-caffeine-wrapper .form-control-static.input-lg,.pixel-caffeine-wrapper .form-control-static.input-sm,.pixel-caffeine-wrapper .input-group-lg>.form-control-static.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control-static.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.form-control-static.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control-static.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control-static.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.pixel-caffeine-wrapper .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper select.input-sm{height:30px;line-height:30px}.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper select[multiple].input-sm,.pixel-caffeine-wrapper textarea.input-sm{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;border-radius:3px}.pixel-caffeine-wrapper .form-group-sm select.form-control{height:30px;line-height:30px}.pixel-caffeine-wrapper .form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px}.pixel-caffeine-wrapper .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper select.input-lg{height:46px;line-height:46px}.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper select[multiple].input-lg,.pixel-caffeine-wrapper textarea.input-lg{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control{height:46px;padding:10px 16px;border-radius:6px}.pixel-caffeine-wrapper .form-group-lg select.form-control{height:46px;line-height:46px}.pixel-caffeine-wrapper .form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px}.pixel-caffeine-wrapper .has-feedback{position:relative}.pixel-caffeine-wrapper .has-feedback .form-control{padding-right:42.5px}.pixel-caffeine-wrapper .form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.pixel-caffeine-wrapper .form-group-lg .form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon+.form-control-feedback,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn+.form-control-feedback,.pixel-caffeine-wrapper .input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.pixel-caffeine-wrapper .form-group-sm .form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.form-control+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon+.form-control-feedback,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn+.form-control-feedback,.pixel-caffeine-wrapper .input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.pixel-caffeine-wrapper .has-success .checkbox,.pixel-caffeine-wrapper .has-success .checkbox-inline,.pixel-caffeine-wrapper .has-success.checkbox-inline label,.pixel-caffeine-wrapper .has-success.checkbox label,.pixel-caffeine-wrapper .has-success .control-label,.pixel-caffeine-wrapper .has-success .help-block,.pixel-caffeine-wrapper .has-success .radio,.pixel-caffeine-wrapper .has-success .radio-inline,.pixel-caffeine-wrapper .has-success.radio-inline label,.pixel-caffeine-wrapper .has-success.radio label{color:#3c763d}.pixel-caffeine-wrapper .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.pixel-caffeine-wrapper .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.pixel-caffeine-wrapper .has-success .form-control-feedback{color:#3c763d}.pixel-caffeine-wrapper .has-warning .checkbox,.pixel-caffeine-wrapper .has-warning .checkbox-inline,.pixel-caffeine-wrapper .has-warning.checkbox-inline label,.pixel-caffeine-wrapper .has-warning.checkbox label,.pixel-caffeine-wrapper .has-warning .control-label,.pixel-caffeine-wrapper .has-warning .help-block,.pixel-caffeine-wrapper .has-warning .radio,.pixel-caffeine-wrapper .has-warning .radio-inline,.pixel-caffeine-wrapper .has-warning.radio-inline label,.pixel-caffeine-wrapper .has-warning.radio label{color:#8a6d3b}.pixel-caffeine-wrapper .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.pixel-caffeine-wrapper .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.pixel-caffeine-wrapper .has-warning .form-control-feedback{color:#8a6d3b}.pixel-caffeine-wrapper .has-error .checkbox,.pixel-caffeine-wrapper .has-error .checkbox-inline,.pixel-caffeine-wrapper .has-error.checkbox-inline label,.pixel-caffeine-wrapper .has-error.checkbox label,.pixel-caffeine-wrapper .has-error .control-label,.pixel-caffeine-wrapper .has-error .help-block,.pixel-caffeine-wrapper .has-error .radio,.pixel-caffeine-wrapper .has-error .radio-inline,.pixel-caffeine-wrapper .has-error.radio-inline label,.pixel-caffeine-wrapper .has-error.radio label{color:#a94442}.pixel-caffeine-wrapper .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.pixel-caffeine-wrapper .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.pixel-caffeine-wrapper .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.pixel-caffeine-wrapper .has-error .form-control-feedback{color:#a94442}.pixel-caffeine-wrapper .has-feedback label~.form-control-feedback{top:25px}.pixel-caffeine-wrapper .has-feedback label.sr-only~.form-control-feedback{top:0}.pixel-caffeine-wrapper .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.pixel-caffeine-wrapper .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .form-control-static{display:inline-block}.pixel-caffeine-wrapper .form-inline .input-group{display:inline-table;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .input-group .form-control,.pixel-caffeine-wrapper .form-inline .input-group .input-group-addon,.pixel-caffeine-wrapper .form-inline .input-group .input-group-btn{width:auto}.pixel-caffeine-wrapper .form-inline .input-group>.form-control{width:100%}.pixel-caffeine-wrapper .form-inline .control-label{margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .checkbox,.pixel-caffeine-wrapper .form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .form-inline .checkbox label,.pixel-caffeine-wrapper .form-inline .radio label{padding-left:0}.pixel-caffeine-wrapper .form-inline .checkbox input[type=checkbox],.pixel-caffeine-wrapper .form-inline .radio input[type=radio]{position:relative;margin-left:0}.pixel-caffeine-wrapper .form-inline .has-feedback .form-control-feedback{top:0}}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .radio{min-height:27px}.pixel-caffeine-wrapper .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.pixel-caffeine-wrapper .form-horizontal .form-group:after,.pixel-caffeine-wrapper .form-horizontal .form-group:before{display:table;content:" "}.pixel-caffeine-wrapper .form-horizontal .form-group:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.pixel-caffeine-wrapper .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.pixel-caffeine-wrapper .btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pixel-caffeine-wrapper .btn.active.focus,.pixel-caffeine-wrapper .btn.active:focus,.pixel-caffeine-wrapper .btn.focus,.pixel-caffeine-wrapper .btn:active.focus,.pixel-caffeine-wrapper .btn:active:focus,.pixel-caffeine-wrapper .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.pixel-caffeine-wrapper .btn.focus,.pixel-caffeine-wrapper .btn:focus,.pixel-caffeine-wrapper .btn:hover{color:#333;text-decoration:none}.pixel-caffeine-wrapper .btn.active,.pixel-caffeine-wrapper .btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.pixel-caffeine-wrapper .btn.disabled,.pixel-caffeine-wrapper .btn[disabled],fieldset[disabled] .pixel-caffeine-wrapper .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper a.btn.disabled,fieldset[disabled] .pixel-caffeine-wrapper a.btn{pointer-events:none}.pixel-caffeine-wrapper .btn-default{color:#333;background-color:#f2f2f2;border-color:#ccc}.pixel-caffeine-wrapper .btn-default.focus,.pixel-caffeine-wrapper .btn-default:focus{color:#333;background-color:#d9d9d9;border-color:#8c8c8c}.pixel-caffeine-wrapper .btn-default:hover{color:#333;background-color:#d9d9d9;border-color:#adadad}.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle,.pixel-caffeine-wrapper .btn-default.active,.pixel-caffeine-wrapper .btn-default:active{color:#333;background-color:#d9d9d9;background-image:none;border-color:#adadad}.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-default.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-default.active.focus,.pixel-caffeine-wrapper .btn-default.active:focus,.pixel-caffeine-wrapper .btn-default.active:hover,.pixel-caffeine-wrapper .btn-default:active.focus,.pixel-caffeine-wrapper .btn-default:active:focus,.pixel-caffeine-wrapper .btn-default:active:hover{color:#333;background-color:#c7c7c7;border-color:#8c8c8c}.pixel-caffeine-wrapper .btn-default.disabled.focus,.pixel-caffeine-wrapper .btn-default.disabled:focus,.pixel-caffeine-wrapper .btn-default.disabled:hover,.pixel-caffeine-wrapper .btn-default[disabled].focus,.pixel-caffeine-wrapper .btn-default[disabled]:focus,.pixel-caffeine-wrapper .btn-default[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-default.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-default:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-default:hover{background-color:#f2f2f2;border-color:#ccc}.pixel-caffeine-wrapper .btn-default .badge{color:#f2f2f2;background-color:#333}.pixel-caffeine-wrapper .btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.pixel-caffeine-wrapper .btn-primary.focus,.pixel-caffeine-wrapper .btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.pixel-caffeine-wrapper .btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle,.pixel-caffeine-wrapper .btn-primary.active,.pixel-caffeine-wrapper .btn-primary:active{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-primary.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-primary.active.focus,.pixel-caffeine-wrapper .btn-primary.active:focus,.pixel-caffeine-wrapper .btn-primary.active:hover,.pixel-caffeine-wrapper .btn-primary:active.focus,.pixel-caffeine-wrapper .btn-primary:active:focus,.pixel-caffeine-wrapper .btn-primary:active:hover{color:#fff;background-color:#204d74;border-color:#122b40}.pixel-caffeine-wrapper .btn-primary.disabled.focus,.pixel-caffeine-wrapper .btn-primary.disabled:focus,.pixel-caffeine-wrapper .btn-primary.disabled:hover,.pixel-caffeine-wrapper .btn-primary[disabled].focus,.pixel-caffeine-wrapper .btn-primary[disabled]:focus,.pixel-caffeine-wrapper .btn-primary[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.pixel-caffeine-wrapper .btn-primary .badge{color:#337ab7;background-color:#fff}.pixel-caffeine-wrapper .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.pixel-caffeine-wrapper .btn-success.focus,.pixel-caffeine-wrapper .btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.pixel-caffeine-wrapper .btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle,.pixel-caffeine-wrapper .btn-success.active,.pixel-caffeine-wrapper .btn-success:active{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-success.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-success.active.focus,.pixel-caffeine-wrapper .btn-success.active:focus,.pixel-caffeine-wrapper .btn-success.active:hover,.pixel-caffeine-wrapper .btn-success:active.focus,.pixel-caffeine-wrapper .btn-success:active:focus,.pixel-caffeine-wrapper .btn-success:active:hover{color:#fff;background-color:#398439;border-color:#255625}.pixel-caffeine-wrapper .btn-success.disabled.focus,.pixel-caffeine-wrapper .btn-success.disabled:focus,.pixel-caffeine-wrapper .btn-success.disabled:hover,.pixel-caffeine-wrapper .btn-success[disabled].focus,.pixel-caffeine-wrapper .btn-success[disabled]:focus,.pixel-caffeine-wrapper .btn-success[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-success.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-success:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.pixel-caffeine-wrapper .btn-success .badge{color:#5cb85c;background-color:#fff}.pixel-caffeine-wrapper .btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.pixel-caffeine-wrapper .btn-info.focus,.pixel-caffeine-wrapper .btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.pixel-caffeine-wrapper .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle,.pixel-caffeine-wrapper .btn-info.active,.pixel-caffeine-wrapper .btn-info:active{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-info.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-info.active.focus,.pixel-caffeine-wrapper .btn-info.active:focus,.pixel-caffeine-wrapper .btn-info.active:hover,.pixel-caffeine-wrapper .btn-info:active.focus,.pixel-caffeine-wrapper .btn-info:active:focus,.pixel-caffeine-wrapper .btn-info:active:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.pixel-caffeine-wrapper .btn-info.disabled.focus,.pixel-caffeine-wrapper .btn-info.disabled:focus,.pixel-caffeine-wrapper .btn-info.disabled:hover,.pixel-caffeine-wrapper .btn-info[disabled].focus,.pixel-caffeine-wrapper .btn-info[disabled]:focus,.pixel-caffeine-wrapper .btn-info[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-info.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-info:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.pixel-caffeine-wrapper .btn-info .badge{color:#5bc0de;background-color:#fff}.pixel-caffeine-wrapper .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.pixel-caffeine-wrapper .btn-warning.focus,.pixel-caffeine-wrapper .btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.pixel-caffeine-wrapper .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle,.pixel-caffeine-wrapper .btn-warning.active,.pixel-caffeine-wrapper .btn-warning:active{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-warning.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-warning.active.focus,.pixel-caffeine-wrapper .btn-warning.active:focus,.pixel-caffeine-wrapper .btn-warning.active:hover,.pixel-caffeine-wrapper .btn-warning:active.focus,.pixel-caffeine-wrapper .btn-warning:active:focus,.pixel-caffeine-wrapper .btn-warning:active:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.pixel-caffeine-wrapper .btn-warning.disabled.focus,.pixel-caffeine-wrapper .btn-warning.disabled:focus,.pixel-caffeine-wrapper .btn-warning.disabled:hover,.pixel-caffeine-wrapper .btn-warning[disabled].focus,.pixel-caffeine-wrapper .btn-warning[disabled]:focus,.pixel-caffeine-wrapper .btn-warning[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.pixel-caffeine-wrapper .btn-warning .badge{color:#f0ad4e;background-color:#fff}.pixel-caffeine-wrapper .btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.pixel-caffeine-wrapper .btn-danger.focus,.pixel-caffeine-wrapper .btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.pixel-caffeine-wrapper .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle,.pixel-caffeine-wrapper .btn-danger.active,.pixel-caffeine-wrapper .btn-danger:active{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle.focus,.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle:focus,.open>.pixel-caffeine-wrapper .btn-danger.dropdown-toggle:hover,.pixel-caffeine-wrapper .btn-danger.active.focus,.pixel-caffeine-wrapper .btn-danger.active:focus,.pixel-caffeine-wrapper .btn-danger.active:hover,.pixel-caffeine-wrapper .btn-danger:active.focus,.pixel-caffeine-wrapper .btn-danger:active:focus,.pixel-caffeine-wrapper .btn-danger:active:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.pixel-caffeine-wrapper .btn-danger.disabled.focus,.pixel-caffeine-wrapper .btn-danger.disabled:focus,.pixel-caffeine-wrapper .btn-danger.disabled:hover,.pixel-caffeine-wrapper .btn-danger[disabled].focus,.pixel-caffeine-wrapper .btn-danger[disabled]:focus,.pixel-caffeine-wrapper .btn-danger[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger.focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.pixel-caffeine-wrapper .btn-danger .badge{color:#d9534f;background-color:#fff}.pixel-caffeine-wrapper .btn-link{font-weight:400;color:#337ab7;border-radius:0}.pixel-caffeine-wrapper .btn-link,.pixel-caffeine-wrapper .btn-link.active,.pixel-caffeine-wrapper .btn-link:active,.pixel-caffeine-wrapper .btn-link[disabled],fieldset[disabled] .pixel-caffeine-wrapper .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn-link,.pixel-caffeine-wrapper .btn-link:active,.pixel-caffeine-wrapper .btn-link:focus,.pixel-caffeine-wrapper .btn-link:hover{border-color:transparent}.pixel-caffeine-wrapper .btn-link:focus,.pixel-caffeine-wrapper .btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.pixel-caffeine-wrapper .btn-link[disabled]:focus,.pixel-caffeine-wrapper .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .btn-link:hover{color:#777;text-decoration:none}.pixel-caffeine-wrapper .btn-group-lg>.btn,.pixel-caffeine-wrapper .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.pixel-caffeine-wrapper .btn-group-sm>.btn,.pixel-caffeine-wrapper .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .btn-group-xs>.btn,.pixel-caffeine-wrapper .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.pixel-caffeine-wrapper .btn-block{display:block;width:100%}.pixel-caffeine-wrapper .btn-block+.btn-block{margin-top:5px}.pixel-caffeine-wrapper input[type=button].btn-block,.pixel-caffeine-wrapper input[type=reset].btn-block,.pixel-caffeine-wrapper input[type=submit].btn-block{width:100%}.pixel-caffeine-wrapper .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.pixel-caffeine-wrapper .fade.in{opacity:1}.pixel-caffeine-wrapper .collapse{display:none}.pixel-caffeine-wrapper .collapse.in{display:block}.pixel-caffeine-wrapper tr.collapse.in{display:table-row}.pixel-caffeine-wrapper tbody.collapse.in{display:table-row-group}.pixel-caffeine-wrapper .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.pixel-caffeine-wrapper .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.pixel-caffeine-wrapper .dropdown,.pixel-caffeine-wrapper .dropup{position:relative}.pixel-caffeine-wrapper .dropdown-toggle:focus{outline:0}.pixel-caffeine-wrapper .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.pixel-caffeine-wrapper .dropdown-menu.pull-right{right:0;left:auto}.pixel-caffeine-wrapper .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.pixel-caffeine-wrapper .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.pixel-caffeine-wrapper .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.pixel-caffeine-wrapper .dropdown-menu>.active>a,.pixel-caffeine-wrapper .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.pixel-caffeine-wrapper .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:hover{color:#777}.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.pixel-caffeine-wrapper .open>.dropdown-menu{display:block}.pixel-caffeine-wrapper .open>a{outline:0}.pixel-caffeine-wrapper .dropdown-menu-right{right:0;left:auto}.pixel-caffeine-wrapper .dropdown-menu-left{right:auto;left:0}.pixel-caffeine-wrapper .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#777;white-space:nowrap}.pixel-caffeine-wrapper .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pixel-caffeine-wrapper .pull-right>.dropdown-menu{right:0;left:auto}.pixel-caffeine-wrapper .dropup .caret,.pixel-caffeine-wrapper .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.pixel-caffeine-wrapper .dropup .dropdown-menu,.pixel-caffeine-wrapper .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-right .dropdown-menu{right:0;left:auto}.pixel-caffeine-wrapper .navbar-right .dropdown-menu-left{left:0;right:auto}}.pixel-caffeine-wrapper .btn-group,.pixel-caffeine-wrapper .btn-group-vertical{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .btn-group-vertical>.btn,.pixel-caffeine-wrapper .btn-group>.btn{position:relative;float:left}.pixel-caffeine-wrapper .btn-group-vertical>.btn.active,.pixel-caffeine-wrapper .btn-group-vertical>.btn:active,.pixel-caffeine-wrapper .btn-group-vertical>.btn:focus,.pixel-caffeine-wrapper .btn-group-vertical>.btn:hover,.pixel-caffeine-wrapper .btn-group>.btn.active,.pixel-caffeine-wrapper .btn-group>.btn:active,.pixel-caffeine-wrapper .btn-group>.btn:focus,.pixel-caffeine-wrapper .btn-group>.btn:hover{z-index:2}.pixel-caffeine-wrapper .btn-group .btn+.btn,.pixel-caffeine-wrapper .btn-group .btn+.btn-group,.pixel-caffeine-wrapper .btn-group .btn-group+.btn,.pixel-caffeine-wrapper .btn-group .btn-group+.btn-group{margin-left:-1px}.pixel-caffeine-wrapper .btn-toolbar{margin-left:-5px}.pixel-caffeine-wrapper .btn-toolbar:after,.pixel-caffeine-wrapper .btn-toolbar:before{display:table;content:" "}.pixel-caffeine-wrapper .btn-toolbar:after{clear:both}.pixel-caffeine-wrapper .btn-toolbar .btn,.pixel-caffeine-wrapper .btn-toolbar .btn-group,.pixel-caffeine-wrapper .btn-toolbar .input-group{float:left}.pixel-caffeine-wrapper .btn-toolbar>.btn,.pixel-caffeine-wrapper .btn-toolbar>.btn-group,.pixel-caffeine-wrapper .btn-toolbar>.input-group{margin-left:5px}.pixel-caffeine-wrapper .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.pixel-caffeine-wrapper .btn-group>.btn:first-child{margin-left:0}.pixel-caffeine-wrapper .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .btn-group>.btn:last-child:not(:first-child),.pixel-caffeine-wrapper .btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group{float:left}.pixel-caffeine-wrapper .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.pixel-caffeine-wrapper .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group .dropdown-toggle:active,.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle{outline:0}.pixel-caffeine-wrapper .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.pixel-caffeine-wrapper .btn-group-lg.btn-group>.btn+.dropdown-toggle,.pixel-caffeine-wrapper .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.pixel-caffeine-wrapper .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn .caret{margin-left:0}.pixel-caffeine-wrapper .btn-group-lg>.btn .caret,.pixel-caffeine-wrapper .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.pixel-caffeine-wrapper .dropup .btn-group-lg>.btn .caret,.pixel-caffeine-wrapper .dropup .btn-lg .caret{border-width:0 5px 5px}.pixel-caffeine-wrapper .btn-group-vertical>.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:after,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:before{display:table;content:" "}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:after{clear:both}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group>.btn{float:none}.pixel-caffeine-wrapper .btn-group-vertical>.btn+.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn+.btn-group,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group+.btn,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.pixel-caffeine-wrapper .btn-group-justified>.btn,.pixel-caffeine-wrapper .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.pixel-caffeine-wrapper .btn-group-justified>.btn-group .btn{width:100%}.pixel-caffeine-wrapper .btn-group-justified>.btn-group .dropdown-menu{left:auto}.pixel-caffeine-wrapper [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn-group>.btn input[type=radio],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn input[type=checkbox],.pixel-caffeine-wrapper [data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.pixel-caffeine-wrapper .input-group{position:relative;display:table;border-collapse:separate}.pixel-caffeine-wrapper .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.pixel-caffeine-wrapper .input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.pixel-caffeine-wrapper .input-group .form-control:focus{z-index:3}.pixel-caffeine-wrapper .input-group-addon,.pixel-caffeine-wrapper .input-group-btn,.pixel-caffeine-wrapper .input-group .form-control{display:table-cell}.pixel-caffeine-wrapper .input-group-addon:not(:first-child):not(:last-child),.pixel-caffeine-wrapper .input-group-btn:not(:first-child):not(:last-child),.pixel-caffeine-wrapper .input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.pixel-caffeine-wrapper .input-group-addon,.pixel-caffeine-wrapper .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.pixel-caffeine-wrapper .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.pixel-caffeine-wrapper .input-group-addon.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.pixel-caffeine-wrapper .input-group-addon.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.pixel-caffeine-wrapper .input-group-addon input[type=checkbox],.pixel-caffeine-wrapper .input-group-addon input[type=radio]{margin-top:0}.pixel-caffeine-wrapper .input-group-addon:first-child,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.dropdown-toggle,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.pixel-caffeine-wrapper .input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pixel-caffeine-wrapper .input-group-addon:first-child{border-right:0}.pixel-caffeine-wrapper .input-group-addon:last-child,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn:not(:first-child),.pixel-caffeine-wrapper .input-group-btn:last-child>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.dropdown-toggle,.pixel-caffeine-wrapper .input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .input-group-addon:last-child{border-left:0}.pixel-caffeine-wrapper .input-group-btn{position:relative;font-size:0;white-space:nowrap}.pixel-caffeine-wrapper .input-group-btn>.btn{position:relative}.pixel-caffeine-wrapper .input-group-btn>.btn+.btn{margin-left:-1px}.pixel-caffeine-wrapper .input-group-btn>.btn:active,.pixel-caffeine-wrapper .input-group-btn>.btn:focus,.pixel-caffeine-wrapper .input-group-btn>.btn:hover{z-index:2}.pixel-caffeine-wrapper .input-group-btn:first-child>.btn,.pixel-caffeine-wrapper .input-group-btn:first-child>.btn-group{margin-right:-1px}.pixel-caffeine-wrapper .input-group-btn:last-child>.btn,.pixel-caffeine-wrapper .input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.pixel-caffeine-wrapper .nav{padding-left:0;margin-bottom:0;list-style:none}.pixel-caffeine-wrapper .nav:after,.pixel-caffeine-wrapper .nav:before{display:table;content:" "}.pixel-caffeine-wrapper .nav:after{clear:both}.pixel-caffeine-wrapper .nav>li{position:relative;display:block}.pixel-caffeine-wrapper .nav>li>a{position:relative;display:block;padding:10px 15px}.pixel-caffeine-wrapper .nav>li>a:focus,.pixel-caffeine-wrapper .nav>li>a:hover{text-decoration:none;background-color:#eee}.pixel-caffeine-wrapper .nav>li.disabled>a{color:#777}.pixel-caffeine-wrapper .nav>li.disabled>a:focus,.pixel-caffeine-wrapper .nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.pixel-caffeine-wrapper .nav .open>a,.pixel-caffeine-wrapper .nav .open>a:focus,.pixel-caffeine-wrapper .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.pixel-caffeine-wrapper .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.pixel-caffeine-wrapper .nav>li>a>img{max-width:none}.pixel-caffeine-wrapper .nav-tabs{border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .nav-tabs>li{float:left;margin-bottom:-1px}.pixel-caffeine-wrapper .nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.pixel-caffeine-wrapper .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.pixel-caffeine-wrapper .nav-tabs>li.active>a,.pixel-caffeine-wrapper .nav-tabs>li.active>a:focus,.pixel-caffeine-wrapper .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.pixel-caffeine-wrapper .nav-pills>li{float:left}.pixel-caffeine-wrapper .nav-pills>li>a{border-radius:4px}.pixel-caffeine-wrapper .nav-pills>li+li{margin-left:2px}.pixel-caffeine-wrapper .nav-pills>li.active>a,.pixel-caffeine-wrapper .nav-pills>li.active>a:focus,.pixel-caffeine-wrapper .nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.pixel-caffeine-wrapper .nav-stacked>li{float:none}.pixel-caffeine-wrapper .nav-stacked>li+li{margin-top:2px;margin-left:0}.pixel-caffeine-wrapper .nav-justified,.pixel-caffeine-wrapper .nav-tabs.nav-justified{width:100%}.pixel-caffeine-wrapper .nav-justified>li,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li{float:none}.pixel-caffeine-wrapper .nav-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.pixel-caffeine-wrapper .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.pixel-caffeine-wrapper .nav-justified>li,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li{display:table-cell;width:1%}.pixel-caffeine-wrapper .nav-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-bottom:0}}.pixel-caffeine-wrapper .nav-tabs-justified,.pixel-caffeine-wrapper .nav-tabs.nav-justified{border-bottom:0}.pixel-caffeine-wrapper .nav-tabs-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.pixel-caffeine-wrapper .nav-tabs-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:hover,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.pixel-caffeine-wrapper .nav-tabs-justified>li>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.pixel-caffeine-wrapper .nav-tabs-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs-justified>.active>a:hover,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:focus,.pixel-caffeine-wrapper .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.pixel-caffeine-wrapper .tab-content>.tab-pane{display:none}.pixel-caffeine-wrapper .tab-content>.active{display:block}.pixel-caffeine-wrapper .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.pixel-caffeine-wrapper .navbar:after,.pixel-caffeine-wrapper .navbar:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .navbar{border-radius:4px}}.pixel-caffeine-wrapper .navbar-header:after,.pixel-caffeine-wrapper .navbar-header:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar-header:after{clear:both}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-header{float:left}}.pixel-caffeine-wrapper .navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.pixel-caffeine-wrapper .navbar-collapse:after,.pixel-caffeine-wrapper .navbar-collapse:before{display:table;content:" "}.pixel-caffeine-wrapper .navbar-collapse:after{clear:both}.pixel-caffeine-wrapper .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-collapse{width:auto;border-top:0;box-shadow:none}.pixel-caffeine-wrapper .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.pixel-caffeine-wrapper .navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .pixel-caffeine-wrapper .navbar-collapse,.navbar-fixed-top .pixel-caffeine-wrapper .navbar-collapse,.navbar-static-top .pixel-caffeine-wrapper .navbar-collapse{padding-right:0;padding-left:0}}.pixel-caffeine-wrapper .navbar-fixed-bottom,.pixel-caffeine-wrapper .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-collapse,.pixel-caffeine-wrapper .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-collapse,.pixel-caffeine-wrapper .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-fixed-bottom,.pixel-caffeine-wrapper .navbar-fixed-top{border-radius:0}}.pixel-caffeine-wrapper .navbar-fixed-top{top:0;border-width:0 0 1px}.pixel-caffeine-wrapper .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.pixel-caffeine-wrapper .container-fluid>.navbar-collapse,.pixel-caffeine-wrapper .container-fluid>.navbar-header,.pixel-caffeine-wrapper .container>.navbar-collapse,.pixel-caffeine-wrapper .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.pixel-caffeine-wrapper .container-fluid>.navbar-collapse,.pixel-caffeine-wrapper .container-fluid>.navbar-header,.pixel-caffeine-wrapper .container>.navbar-collapse,.pixel-caffeine-wrapper .container>.navbar-header{margin-right:0;margin-left:0}}.pixel-caffeine-wrapper .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-static-top{border-radius:0}}.pixel-caffeine-wrapper .navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px}.pixel-caffeine-wrapper .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-brand:hover{text-decoration:none}.pixel-caffeine-wrapper .navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .pixel-caffeine-wrapper .navbar-brand,.navbar>.container .pixel-caffeine-wrapper .navbar-brand{margin-left:-15px}}.pixel-caffeine-wrapper .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.pixel-caffeine-wrapper .navbar-toggle:focus{outline:0}.pixel-caffeine-wrapper .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.pixel-caffeine-wrapper .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-toggle{display:none}}.pixel-caffeine-wrapper .navbar-nav{margin:7.5px -15px}.pixel-caffeine-wrapper .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu .dropdown-header,.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-nav{float:left;margin:0}.pixel-caffeine-wrapper .navbar-nav>li{float:left}.pixel-caffeine-wrapper .navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.pixel-caffeine-wrapper .navbar-form{padding:10px 15px;margin:8px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .form-control-static{display:inline-block}.pixel-caffeine-wrapper .navbar-form .input-group{display:inline-table;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .input-group .form-control,.pixel-caffeine-wrapper .navbar-form .input-group .input-group-addon,.pixel-caffeine-wrapper .navbar-form .input-group .input-group-btn{width:auto}.pixel-caffeine-wrapper .navbar-form .input-group>.form-control{width:100%}.pixel-caffeine-wrapper .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .checkbox,.pixel-caffeine-wrapper .navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.pixel-caffeine-wrapper .navbar-form .checkbox label,.pixel-caffeine-wrapper .navbar-form .radio label{padding-left:0}.pixel-caffeine-wrapper .navbar-form .checkbox input[type=checkbox],.pixel-caffeine-wrapper .navbar-form .radio input[type=radio]{position:relative;margin-left:0}.pixel-caffeine-wrapper .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-form .form-group{margin-bottom:5px}.pixel-caffeine-wrapper .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.pixel-caffeine-wrapper .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.pixel-caffeine-wrapper .navbar-btn{margin-top:8px;margin-bottom:8px}.pixel-caffeine-wrapper .btn-group-sm>.navbar-btn.btn,.pixel-caffeine-wrapper .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .btn-group-xs>.navbar-btn.btn,.pixel-caffeine-wrapper .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.pixel-caffeine-wrapper .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.pixel-caffeine-wrapper .navbar-left{float:left!important}.pixel-caffeine-wrapper .navbar-right{float:right!important;margin-right:-15px}.pixel-caffeine-wrapper .navbar-right~.navbar-right{margin-right:0}}.pixel-caffeine-wrapper .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-brand{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a,.pixel-caffeine-wrapper .navbar-default .navbar-text{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.pixel-caffeine-wrapper .navbar-default .navbar-toggle{border-color:#ddd}.pixel-caffeine-wrapper .navbar-default .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar-default .navbar-toggle:hover{background-color:#ddd}.pixel-caffeine-wrapper .navbar-default .navbar-toggle .icon-bar{background-color:#888}.pixel-caffeine-wrapper .navbar-default .navbar-collapse,.pixel-caffeine-wrapper .navbar-default .navbar-form{border-color:#e7e7e7}.pixel-caffeine-wrapper .navbar-default .navbar-link{color:#777}.pixel-caffeine-wrapper .navbar-default .navbar-link:hover{color:#333}.pixel-caffeine-wrapper .navbar-default .btn-link{color:#777}.pixel-caffeine-wrapper .navbar-default .btn-link:focus,.pixel-caffeine-wrapper .navbar-default .btn-link:hover{color:#333}.pixel-caffeine-wrapper .navbar-default .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar-default .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar-default .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar-default .btn-link:hover{color:#ccc}.pixel-caffeine-wrapper .navbar-inverse{background-color:#222;border-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-brand{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-brand:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-text{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#090909}@media (max-width:767px){.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle{border-color:#333}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle:hover{background-color:#333}.pixel-caffeine-wrapper .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.pixel-caffeine-wrapper .navbar-inverse .navbar-collapse,.pixel-caffeine-wrapper .navbar-inverse .navbar-form{border-color:#101010}.pixel-caffeine-wrapper .navbar-inverse .navbar-link{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .navbar-link:hover{color:#fff}.pixel-caffeine-wrapper .navbar-inverse .btn-link{color:#9d9d9d}.pixel-caffeine-wrapper .navbar-inverse .btn-link:focus,.pixel-caffeine-wrapper .navbar-inverse .btn-link:hover{color:#fff}.pixel-caffeine-wrapper .navbar-inverse .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar-inverse .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar-inverse .btn-link:hover{color:#444}.pixel-caffeine-wrapper .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.pixel-caffeine-wrapper .breadcrumb>li{display:inline-block}.pixel-caffeine-wrapper .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\A0"}.pixel-caffeine-wrapper .breadcrumb>.active{color:#777}.pixel-caffeine-wrapper .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pixel-caffeine-wrapper .pagination>li{display:inline}.pixel-caffeine-wrapper .pagination>li>a,.pixel-caffeine-wrapper .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pixel-caffeine-wrapper .pagination>li>a:focus,.pixel-caffeine-wrapper .pagination>li>a:hover,.pixel-caffeine-wrapper .pagination>li>span:focus,.pixel-caffeine-wrapper .pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pixel-caffeine-wrapper .pagination>li:first-child>a,.pixel-caffeine-wrapper .pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .pagination>li:last-child>a,.pixel-caffeine-wrapper .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pixel-caffeine-wrapper .pagination>.active>a,.pixel-caffeine-wrapper .pagination>.active>a:focus,.pixel-caffeine-wrapper .pagination>.active>a:hover,.pixel-caffeine-wrapper .pagination>.active>span,.pixel-caffeine-wrapper .pagination>.active>span:focus,.pixel-caffeine-wrapper .pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .pagination>.disabled>a,.pixel-caffeine-wrapper .pagination>.disabled>a:focus,.pixel-caffeine-wrapper .pagination>.disabled>a:hover,.pixel-caffeine-wrapper .pagination>.disabled>span,.pixel-caffeine-wrapper .pagination>.disabled>span:focus,.pixel-caffeine-wrapper .pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pixel-caffeine-wrapper .pagination-lg>li>a,.pixel-caffeine-wrapper .pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .pagination-lg>li:first-child>a,.pixel-caffeine-wrapper .pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pixel-caffeine-wrapper .pagination-lg>li:last-child>a,.pixel-caffeine-wrapper .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pixel-caffeine-wrapper .pagination-sm>li>a,.pixel-caffeine-wrapper .pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pixel-caffeine-wrapper .pagination-sm>li:first-child>a,.pixel-caffeine-wrapper .pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .pagination-sm>li:last-child>a,.pixel-caffeine-wrapper .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pixel-caffeine-wrapper .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pixel-caffeine-wrapper .pager:after,.pixel-caffeine-wrapper .pager:before{display:table;content:" "}.pixel-caffeine-wrapper .pager:after{clear:both}.pixel-caffeine-wrapper .pager li{display:inline}.pixel-caffeine-wrapper .pager li>a,.pixel-caffeine-wrapper .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pixel-caffeine-wrapper .pager li>a:focus,.pixel-caffeine-wrapper .pager li>a:hover{text-decoration:none;background-color:#eee}.pixel-caffeine-wrapper .pager .next>a,.pixel-caffeine-wrapper .pager .next>span{float:right}.pixel-caffeine-wrapper .pager .previous>a,.pixel-caffeine-wrapper .pager .previous>span{float:left}.pixel-caffeine-wrapper .pager .disabled>a,.pixel-caffeine-wrapper .pager .disabled>a:focus,.pixel-caffeine-wrapper .pager .disabled>a:hover,.pixel-caffeine-wrapper .pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.pixel-caffeine-wrapper .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.pixel-caffeine-wrapper .label:empty{display:none}.btn .pixel-caffeine-wrapper .label{position:relative;top:-1px}.pixel-caffeine-wrapper a.label:focus,.pixel-caffeine-wrapper a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.pixel-caffeine-wrapper .label-default{background-color:#777}.pixel-caffeine-wrapper .label-default[href]:focus,.pixel-caffeine-wrapper .label-default[href]:hover{background-color:#5e5e5e}.pixel-caffeine-wrapper .label-primary{background-color:#337ab7}.pixel-caffeine-wrapper .label-primary[href]:focus,.pixel-caffeine-wrapper .label-primary[href]:hover{background-color:#286090}.pixel-caffeine-wrapper .label-success{background-color:#5cb85c}.pixel-caffeine-wrapper .label-success[href]:focus,.pixel-caffeine-wrapper .label-success[href]:hover{background-color:#449d44}.pixel-caffeine-wrapper .label-info{background-color:#5bc0de}.pixel-caffeine-wrapper .label-info[href]:focus,.pixel-caffeine-wrapper .label-info[href]:hover{background-color:#31b0d5}.pixel-caffeine-wrapper .label-warning{background-color:#f0ad4e}.pixel-caffeine-wrapper .label-warning[href]:focus,.pixel-caffeine-wrapper .label-warning[href]:hover{background-color:#ec971f}.pixel-caffeine-wrapper .label-danger{background-color:#d9534f}.pixel-caffeine-wrapper .label-danger[href]:focus,.pixel-caffeine-wrapper .label-danger[href]:hover{background-color:#c9302c}.pixel-caffeine-wrapper .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.pixel-caffeine-wrapper .badge:empty{display:none}.btn .pixel-caffeine-wrapper .badge{position:relative;top:-1px}.btn-group-xs>.btn .pixel-caffeine-wrapper .badge,.btn-xs .pixel-caffeine-wrapper .badge,.pixel-caffeine-wrapper .btn-group-xs>.btn .pixel-caffeine-wrapper .badge{top:0;padding:1px 5px}.list-group-item.active>.pixel-caffeine-wrapper .badge,.nav-pills>.active>a>.pixel-caffeine-wrapper .badge{color:#337ab7;background-color:#fff}.list-group-item>.pixel-caffeine-wrapper .badge{float:right}.list-group-item>.pixel-caffeine-wrapper .badge+.pixel-caffeine-wrapper .badge{margin-right:5px}.nav-pills>li>a>.pixel-caffeine-wrapper .badge{margin-left:3px}.pixel-caffeine-wrapper a.badge:focus,.pixel-caffeine-wrapper a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.pixel-caffeine-wrapper .jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.pixel-caffeine-wrapper .jumbotron .h1,.pixel-caffeine-wrapper .jumbotron h1{color:inherit}.pixel-caffeine-wrapper .jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.pixel-caffeine-wrapper .jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .pixel-caffeine-wrapper .jumbotron,.container .pixel-caffeine-wrapper .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.pixel-caffeine-wrapper .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.pixel-caffeine-wrapper .jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .pixel-caffeine-wrapper .jumbotron,.container .pixel-caffeine-wrapper .jumbotron{padding-right:60px;padding-left:60px}.pixel-caffeine-wrapper .jumbotron .h1,.pixel-caffeine-wrapper .jumbotron h1{font-size:63px}}.pixel-caffeine-wrapper .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.pixel-caffeine-wrapper .thumbnail>img,.pixel-caffeine-wrapper .thumbnail a>img{display:block;max-width:100%;height:auto;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .thumbnail .caption{padding:9px;color:#333}.pixel-caffeine-wrapper a.thumbnail.active,.pixel-caffeine-wrapper a.thumbnail:focus,.pixel-caffeine-wrapper a.thumbnail:hover{border-color:#337ab7}.pixel-caffeine-wrapper .alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.pixel-caffeine-wrapper .alert h4{margin-top:0;color:inherit}.pixel-caffeine-wrapper .alert .alert-link{font-weight:700}.pixel-caffeine-wrapper .alert>p,.pixel-caffeine-wrapper .alert>ul{margin-bottom:0}.pixel-caffeine-wrapper .alert>p+p{margin-top:5px}.pixel-caffeine-wrapper .alert-dismissable,.pixel-caffeine-wrapper .alert-dismissible{padding-right:35px}.pixel-caffeine-wrapper .alert-dismissable .close,.pixel-caffeine-wrapper .alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.pixel-caffeine-wrapper .alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.pixel-caffeine-wrapper .alert-success hr{border-top-color:#c9e2b3}.pixel-caffeine-wrapper .alert-success .alert-link{color:#2b542c}.pixel-caffeine-wrapper .alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.pixel-caffeine-wrapper .alert-info hr{border-top-color:#a6e1ec}.pixel-caffeine-wrapper .alert-info .alert-link{color:#245269}.pixel-caffeine-wrapper .alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.pixel-caffeine-wrapper .alert-warning hr{border-top-color:#f7e1b5}.pixel-caffeine-wrapper .alert-warning .alert-link{color:#66512c}.pixel-caffeine-wrapper .alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.pixel-caffeine-wrapper .alert-danger hr{border-top-color:#e4b9c0}.pixel-caffeine-wrapper .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.pixel-caffeine-wrapper .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.pixel-caffeine-wrapper .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.pixel-caffeine-wrapper .progress-bar-striped,.pixel-caffeine-wrapper .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.pixel-caffeine-wrapper .progress-bar.active,.pixel-caffeine-wrapper .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.pixel-caffeine-wrapper .progress-bar-success{background-color:#5cb85c}.progress-striped .pixel-caffeine-wrapper .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-info{background-color:#5bc0de}.progress-striped .pixel-caffeine-wrapper .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-warning{background-color:#f0ad4e}.progress-striped .pixel-caffeine-wrapper .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .progress-bar-danger{background-color:#d9534f}.progress-striped .pixel-caffeine-wrapper .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.pixel-caffeine-wrapper .media{margin-top:15px}.pixel-caffeine-wrapper .media:first-child{margin-top:0}.pixel-caffeine-wrapper .media,.pixel-caffeine-wrapper .media-body{overflow:hidden;zoom:1}.pixel-caffeine-wrapper .media-body{width:10000px}.pixel-caffeine-wrapper .media-object{display:block}.pixel-caffeine-wrapper .media-object.img-thumbnail{max-width:none}.pixel-caffeine-wrapper .media-right,.pixel-caffeine-wrapper .media>.pull-right{padding-left:10px}.pixel-caffeine-wrapper .media-left,.pixel-caffeine-wrapper .media>.pull-left{padding-right:10px}.pixel-caffeine-wrapper .media-body,.pixel-caffeine-wrapper .media-left,.pixel-caffeine-wrapper .media-right{display:table-cell;vertical-align:top}.pixel-caffeine-wrapper .media-middle{vertical-align:middle}.pixel-caffeine-wrapper .media-bottom{vertical-align:bottom}.pixel-caffeine-wrapper .media-heading{margin-top:0;margin-bottom:5px}.pixel-caffeine-wrapper .media-list{padding-left:0;list-style:none}.pixel-caffeine-wrapper .list-group{padding-left:0;margin-bottom:20px}.pixel-caffeine-wrapper .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.pixel-caffeine-wrapper .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.pixel-caffeine-wrapper .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.pixel-caffeine-wrapper .list-group-item.disabled,.pixel-caffeine-wrapper .list-group-item.disabled:focus,.pixel-caffeine-wrapper .list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.pixel-caffeine-wrapper .list-group-item.disabled .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.disabled:focus .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper .list-group-item.disabled .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.disabled:focus .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.disabled:hover .list-group-item-text{color:#777}.pixel-caffeine-wrapper .list-group-item.active,.pixel-caffeine-wrapper .list-group-item.active:focus,.pixel-caffeine-wrapper .list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active .list-group-item-heading>small,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-heading>small,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading>.small,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.pixel-caffeine-wrapper .list-group-item.active .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.active:focus .list-group-item-text,.pixel-caffeine-wrapper .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.pixel-caffeine-wrapper a.list-group-item,.pixel-caffeine-wrapper button.list-group-item{color:#555}.pixel-caffeine-wrapper a.list-group-item .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item .list-group-item-heading{color:#333}.pixel-caffeine-wrapper a.list-group-item:focus,.pixel-caffeine-wrapper a.list-group-item:hover,.pixel-caffeine-wrapper button.list-group-item:focus,.pixel-caffeine-wrapper button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.pixel-caffeine-wrapper button.list-group-item{width:100%;text-align:left}.pixel-caffeine-wrapper .list-group-item-success{color:#3c763d;background-color:#dff0d8}.pixel-caffeine-wrapper a.list-group-item-success,.pixel-caffeine-wrapper button.list-group-item-success{color:#3c763d}.pixel-caffeine-wrapper a.list-group-item-success .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-success .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-success:focus,.pixel-caffeine-wrapper a.list-group-item-success:hover,.pixel-caffeine-wrapper button.list-group-item-success:focus,.pixel-caffeine-wrapper button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}.pixel-caffeine-wrapper a.list-group-item-success.active,.pixel-caffeine-wrapper a.list-group-item-success.active:focus,.pixel-caffeine-wrapper a.list-group-item-success.active:hover,.pixel-caffeine-wrapper button.list-group-item-success.active,.pixel-caffeine-wrapper button.list-group-item-success.active:focus,.pixel-caffeine-wrapper button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.pixel-caffeine-wrapper .list-group-item-info{color:#31708f;background-color:#d9edf7}.pixel-caffeine-wrapper a.list-group-item-info,.pixel-caffeine-wrapper button.list-group-item-info{color:#31708f}.pixel-caffeine-wrapper a.list-group-item-info .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-info .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-info:focus,.pixel-caffeine-wrapper a.list-group-item-info:hover,.pixel-caffeine-wrapper button.list-group-item-info:focus,.pixel-caffeine-wrapper button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}.pixel-caffeine-wrapper a.list-group-item-info.active,.pixel-caffeine-wrapper a.list-group-item-info.active:focus,.pixel-caffeine-wrapper a.list-group-item-info.active:hover,.pixel-caffeine-wrapper button.list-group-item-info.active,.pixel-caffeine-wrapper button.list-group-item-info.active:focus,.pixel-caffeine-wrapper button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.pixel-caffeine-wrapper .list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}.pixel-caffeine-wrapper a.list-group-item-warning,.pixel-caffeine-wrapper button.list-group-item-warning{color:#8a6d3b}.pixel-caffeine-wrapper a.list-group-item-warning .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-warning .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-warning:focus,.pixel-caffeine-wrapper a.list-group-item-warning:hover,.pixel-caffeine-wrapper button.list-group-item-warning:focus,.pixel-caffeine-wrapper button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}.pixel-caffeine-wrapper a.list-group-item-warning.active,.pixel-caffeine-wrapper a.list-group-item-warning.active:focus,.pixel-caffeine-wrapper a.list-group-item-warning.active:hover,.pixel-caffeine-wrapper button.list-group-item-warning.active,.pixel-caffeine-wrapper button.list-group-item-warning.active:focus,.pixel-caffeine-wrapper button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.pixel-caffeine-wrapper .list-group-item-danger{color:#a94442;background-color:#f2dede}.pixel-caffeine-wrapper a.list-group-item-danger,.pixel-caffeine-wrapper button.list-group-item-danger{color:#a94442}.pixel-caffeine-wrapper a.list-group-item-danger .list-group-item-heading,.pixel-caffeine-wrapper button.list-group-item-danger .list-group-item-heading{color:inherit}.pixel-caffeine-wrapper a.list-group-item-danger:focus,.pixel-caffeine-wrapper a.list-group-item-danger:hover,.pixel-caffeine-wrapper button.list-group-item-danger:focus,.pixel-caffeine-wrapper button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}.pixel-caffeine-wrapper a.list-group-item-danger.active,.pixel-caffeine-wrapper a.list-group-item-danger.active:focus,.pixel-caffeine-wrapper a.list-group-item-danger.active:hover,.pixel-caffeine-wrapper button.list-group-item-danger.active,.pixel-caffeine-wrapper button.list-group-item-danger.active:focus,.pixel-caffeine-wrapper button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.pixel-caffeine-wrapper .list-group-item-heading{margin-top:0;margin-bottom:5px}.pixel-caffeine-wrapper .list-group-item-text{margin-bottom:0;line-height:1.3}.pixel-caffeine-wrapper .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.pixel-caffeine-wrapper .panel-body{padding:15px}.pixel-caffeine-wrapper .panel-body:after,.pixel-caffeine-wrapper .panel-body:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-body:after{clear:both}.pixel-caffeine-wrapper .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel-heading>.dropdown .dropdown-toggle{color:inherit}.pixel-caffeine-wrapper .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.pixel-caffeine-wrapper .panel-title>.small,.pixel-caffeine-wrapper .panel-title>.small>a,.pixel-caffeine-wrapper .panel-title>a,.pixel-caffeine-wrapper .panel-title>small,.pixel-caffeine-wrapper .panel-title>small>a{color:inherit}.pixel-caffeine-wrapper .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.list-group,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group{margin-bottom:0}.pixel-caffeine-wrapper .panel>.list-group .list-group-item,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.pixel-caffeine-wrapper .panel>.list-group:first-child .list-group-item:first-child,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.list-group:last-child .list-group-item:last-child,.pixel-caffeine-wrapper .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.pixel-caffeine-wrapper .list-group+.panel-footer,.pixel-caffeine-wrapper .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.pixel-caffeine-wrapper .panel>.panel-collapse>.table,.pixel-caffeine-wrapper .panel>.table,.pixel-caffeine-wrapper .panel>.table-responsive>.table{margin-bottom:0}.pixel-caffeine-wrapper .panel>.panel-collapse>.table caption,.pixel-caffeine-wrapper .panel>.table-responsive>.table caption,.pixel-caffeine-wrapper .panel>.table caption{padding-right:15px;padding-left:15px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.pixel-caffeine-wrapper .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.pixel-caffeine-wrapper .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.pixel-caffeine-wrapper .panel>.panel-body+.table,.pixel-caffeine-wrapper .panel>.panel-body+.table-responsive,.pixel-caffeine-wrapper .panel>.table+.panel-body,.pixel-caffeine-wrapper .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel>.table>tbody:first-child>tr:first-child td,.pixel-caffeine-wrapper .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.pixel-caffeine-wrapper .panel>.table-bordered,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered{border:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>tfoot>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-bordered>thead>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.pixel-caffeine-wrapper .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.pixel-caffeine-wrapper .panel>.table-responsive{margin-bottom:0;border:0}.pixel-caffeine-wrapper .panel-group{margin-bottom:20px}.pixel-caffeine-wrapper .panel-group .panel{margin-bottom:0;border-radius:4px}.pixel-caffeine-wrapper .panel-group .panel+.panel{margin-top:5px}.pixel-caffeine-wrapper .panel-group .panel-heading{border-bottom:0}.pixel-caffeine-wrapper .panel-group .panel-heading+.panel-collapse>.list-group,.pixel-caffeine-wrapper .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel-group .panel-footer{border-top:0}.pixel-caffeine-wrapper .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .panel-default{border-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.pixel-caffeine-wrapper .panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.pixel-caffeine-wrapper .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.pixel-caffeine-wrapper .panel-primary{border-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.pixel-caffeine-wrapper .panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.pixel-caffeine-wrapper .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.pixel-caffeine-wrapper .panel-success{border-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.pixel-caffeine-wrapper .panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.pixel-caffeine-wrapper .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.pixel-caffeine-wrapper .panel-info{border-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.pixel-caffeine-wrapper .panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.pixel-caffeine-wrapper .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.pixel-caffeine-wrapper .panel-warning{border-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.pixel-caffeine-wrapper .panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.pixel-caffeine-wrapper .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.pixel-caffeine-wrapper .panel-danger{border-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.pixel-caffeine-wrapper .panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.pixel-caffeine-wrapper .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.pixel-caffeine-wrapper .embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.pixel-caffeine-wrapper .embed-responsive .embed-responsive-item,.pixel-caffeine-wrapper .embed-responsive embed,.pixel-caffeine-wrapper .embed-responsive iframe,.pixel-caffeine-wrapper .embed-responsive object,.pixel-caffeine-wrapper .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.pixel-caffeine-wrapper .embed-responsive-16by9{padding-bottom:56.25%}.pixel-caffeine-wrapper .embed-responsive-4by3{padding-bottom:75%}.pixel-caffeine-wrapper .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.pixel-caffeine-wrapper .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.pixel-caffeine-wrapper .well-lg{padding:24px;border-radius:6px}.pixel-caffeine-wrapper .well-sm{padding:9px;border-radius:3px}.pixel-caffeine-wrapper .close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.pixel-caffeine-wrapper .close:focus,.pixel-caffeine-wrapper .close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;appearance:none}.pixel-caffeine-wrapper .modal-open{overflow:hidden}.pixel-caffeine-wrapper .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.pixel-caffeine-wrapper .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.pixel-caffeine-wrapper .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.pixel-caffeine-wrapper .modal-open .modal{overflow-x:hidden;overflow-y:auto}.pixel-caffeine-wrapper .modal-dialog{position:relative;width:auto;margin:10px}.pixel-caffeine-wrapper .modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.pixel-caffeine-wrapper .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.pixel-caffeine-wrapper .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.pixel-caffeine-wrapper .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper .modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.pixel-caffeine-wrapper .modal-header:after,.pixel-caffeine-wrapper .modal-header:before{display:table;content:" "}.pixel-caffeine-wrapper .modal-header:after{clear:both}.pixel-caffeine-wrapper .modal-header .close{margin-top:-2px}.pixel-caffeine-wrapper .modal-title{margin:0;line-height:1.42857}.pixel-caffeine-wrapper .modal-body{position:relative;padding:15px}.pixel-caffeine-wrapper .modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.pixel-caffeine-wrapper .modal-footer:after,.pixel-caffeine-wrapper .modal-footer:before{display:table;content:" "}.pixel-caffeine-wrapper .modal-footer:after{clear:both}.pixel-caffeine-wrapper .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.pixel-caffeine-wrapper .modal-footer .btn-group .btn+.btn{margin-left:-1px}.pixel-caffeine-wrapper .modal-footer .btn-block+.btn-block{margin-left:0}.pixel-caffeine-wrapper .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.pixel-caffeine-wrapper .modal-dialog{width:600px;margin:30px auto}.pixel-caffeine-wrapper .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.pixel-caffeine-wrapper .modal-sm{width:300px}}@media (min-width:992px){.pixel-caffeine-wrapper .modal-lg{width:900px}}.pixel-caffeine-wrapper .tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.pixel-caffeine-wrapper .tooltip.in{filter:alpha(opacity=90);opacity:.9}.pixel-caffeine-wrapper .tooltip.top{padding:5px 0;margin-top:-3px}.pixel-caffeine-wrapper .tooltip.right{padding:0 5px;margin-left:3px}.pixel-caffeine-wrapper .tooltip.bottom{padding:5px 0;margin-top:3px}.pixel-caffeine-wrapper .tooltip.left{padding:0 5px;margin-left:-3px}.pixel-caffeine-wrapper .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.pixel-caffeine-wrapper .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.pixel-caffeine-wrapper .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.pixel-caffeine-wrapper .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.pixel-caffeine-wrapper .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.pixel-caffeine-wrapper .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.pixel-caffeine-wrapper .popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.pixel-caffeine-wrapper .popover.top{margin-top:-10px}.pixel-caffeine-wrapper .popover.right{margin-left:10px}.pixel-caffeine-wrapper .popover.bottom{margin-top:10px}.pixel-caffeine-wrapper .popover.left{margin-left:-10px}.pixel-caffeine-wrapper .popover>.arrow{border-width:11px}.pixel-caffeine-wrapper .popover>.arrow,.pixel-caffeine-wrapper .popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.pixel-caffeine-wrapper .popover>.arrow:after{content:"";border-width:10px}.pixel-caffeine-wrapper .popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.pixel-caffeine-wrapper .popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.pixel-caffeine-wrapper .popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.pixel-caffeine-wrapper .popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.pixel-caffeine-wrapper .popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.pixel-caffeine-wrapper .popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.pixel-caffeine-wrapper .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.pixel-caffeine-wrapper .popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.pixel-caffeine-wrapper .popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.pixel-caffeine-wrapper .popover-content{padding:9px 14px}.pixel-caffeine-wrapper .carousel{position:relative}.pixel-caffeine-wrapper .carousel-inner{position:relative;width:100%;overflow:hidden}.pixel-caffeine-wrapper .carousel-inner>.item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;-o-transition:.6s ease-in-out left;transition:left .6s ease-in-out}.pixel-caffeine-wrapper .carousel-inner>.item>a>img,.pixel-caffeine-wrapper .carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.pixel-caffeine-wrapper .carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.pixel-caffeine-wrapper .carousel-inner>.item.active.right,.pixel-caffeine-wrapper .carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.pixel-caffeine-wrapper .carousel-inner>.item.active.left,.pixel-caffeine-wrapper .carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.pixel-caffeine-wrapper .carousel-inner>.item.active,.pixel-caffeine-wrapper .carousel-inner>.item.next.left,.pixel-caffeine-wrapper .carousel-inner>.item.prev.right{-webkit-transform:translateZ(0);transform:translateZ(0);left:0}}.pixel-caffeine-wrapper .carousel-inner>.active,.pixel-caffeine-wrapper .carousel-inner>.next,.pixel-caffeine-wrapper .carousel-inner>.prev{display:block}.pixel-caffeine-wrapper .carousel-inner>.active{left:0}.pixel-caffeine-wrapper .carousel-inner>.next,.pixel-caffeine-wrapper .carousel-inner>.prev{position:absolute;top:0;width:100%}.pixel-caffeine-wrapper .carousel-inner>.next{left:100%}.pixel-caffeine-wrapper .carousel-inner>.prev{left:-100%}.pixel-caffeine-wrapper .carousel-inner>.next.left,.pixel-caffeine-wrapper .carousel-inner>.prev.right{left:0}.pixel-caffeine-wrapper .carousel-inner>.active.left{left:-100%}.pixel-caffeine-wrapper .carousel-inner>.active.right{left:100%}.pixel-caffeine-wrapper .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent;filter:alpha(opacity=50);opacity:.5}.pixel-caffeine-wrapper .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1);background-repeat:repeat-x}.pixel-caffeine-wrapper .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);background-repeat:repeat-x}.pixel-caffeine-wrapper .carousel-control:focus,.pixel-caffeine-wrapper .carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .icon-prev{left:50%;margin-left:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next{right:50%;margin-right:-10px}.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.pixel-caffeine-wrapper .carousel-control .icon-prev:before{content:"\2039"}.pixel-caffeine-wrapper .carousel-control .icon-next:before{content:"\203A"}.pixel-caffeine-wrapper .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.pixel-caffeine-wrapper .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px}.pixel-caffeine-wrapper .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.pixel-caffeine-wrapper .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.pixel-caffeine-wrapper .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next,.pixel-caffeine-wrapper .carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-left,.pixel-caffeine-wrapper .carousel-control .icon-prev{margin-left:-10px}.pixel-caffeine-wrapper .carousel-control .glyphicon-chevron-right,.pixel-caffeine-wrapper .carousel-control .icon-next{margin-right:-10px}.pixel-caffeine-wrapper .carousel-caption{right:20%;left:20%;padding-bottom:30px}.pixel-caffeine-wrapper .carousel-indicators{bottom:20px}}.pixel-caffeine-wrapper .clearfix:after,.pixel-caffeine-wrapper .clearfix:before{display:table;content:" "}.pixel-caffeine-wrapper .clearfix:after{clear:both}.pixel-caffeine-wrapper .center-block{display:block;margin-right:auto;margin-left:auto}.pixel-caffeine-wrapper .pull-right{float:right!important}.pixel-caffeine-wrapper .pull-left{float:left!important}.pixel-caffeine-wrapper .hide{display:none!important}.pixel-caffeine-wrapper .show{display:block!important}.pixel-caffeine-wrapper .invisible{visibility:hidden}.pixel-caffeine-wrapper .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.pixel-caffeine-wrapper .hidden{display:none!important}.pixel-caffeine-wrapper .affix{position:fixed}@-ms-viewport{width:device-width}.pixel-caffeine-wrapper .visible-lg,.pixel-caffeine-wrapper .visible-lg-block,.pixel-caffeine-wrapper .visible-lg-inline,.pixel-caffeine-wrapper .visible-lg-inline-block,.pixel-caffeine-wrapper .visible-md,.pixel-caffeine-wrapper .visible-md-block,.pixel-caffeine-wrapper .visible-md-inline,.pixel-caffeine-wrapper .visible-md-inline-block,.pixel-caffeine-wrapper .visible-sm,.pixel-caffeine-wrapper .visible-sm-block,.pixel-caffeine-wrapper .visible-sm-inline,.pixel-caffeine-wrapper .visible-sm-inline-block,.pixel-caffeine-wrapper .visible-xs,.pixel-caffeine-wrapper .visible-xs-block,.pixel-caffeine-wrapper .visible-xs-inline,.pixel-caffeine-wrapper .visible-xs-inline-block{display:none!important}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs{display:block!important}.pixel-caffeine-wrapper table.visible-xs{display:table!important}.pixel-caffeine-wrapper tr.visible-xs{display:table-row!important}.pixel-caffeine-wrapper td.visible-xs,.pixel-caffeine-wrapper th.visible-xs{display:table-cell!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-block{display:block!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-inline{display:inline!important}}@media (max-width:767px){.pixel-caffeine-wrapper .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm{display:block!important}.pixel-caffeine-wrapper table.visible-sm{display:table!important}.pixel-caffeine-wrapper tr.visible-sm{display:table-row!important}.pixel-caffeine-wrapper td.visible-sm,.pixel-caffeine-wrapper th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md{display:block!important}.pixel-caffeine-wrapper table.visible-md{display:table!important}.pixel-caffeine-wrapper tr.visible-md{display:table-row!important}.pixel-caffeine-wrapper td.visible-md,.pixel-caffeine-wrapper th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg{display:block!important}.pixel-caffeine-wrapper table.visible-lg{display:table!important}.pixel-caffeine-wrapper tr.visible-lg{display:table-row!important}.pixel-caffeine-wrapper td.visible-lg,.pixel-caffeine-wrapper th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-block{display:block!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-inline{display:inline!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.pixel-caffeine-wrapper .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.pixel-caffeine-wrapper .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.pixel-caffeine-wrapper .hidden-md{display:none!important}}@media (min-width:1200px){.pixel-caffeine-wrapper .hidden-lg{display:none!important}}.pixel-caffeine-wrapper .visible-print{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print{display:block!important}.pixel-caffeine-wrapper table.visible-print{display:table!important}.pixel-caffeine-wrapper tr.visible-print{display:table-row!important}.pixel-caffeine-wrapper td.visible-print,.pixel-caffeine-wrapper th.visible-print{display:table-cell!important}}.pixel-caffeine-wrapper .visible-print-block{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-block{display:block!important}}.pixel-caffeine-wrapper .visible-print-inline{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-inline{display:inline!important}}.pixel-caffeine-wrapper .visible-print-inline-block{display:none!important}@media print{.pixel-caffeine-wrapper .visible-print-inline-block{display:inline-block!important}}@media print{.pixel-caffeine-wrapper .hidden-print{display:none!important}}.pixel-caffeine-wrapper body{background-color:transparent}.pixel-caffeine-wrapper body.inverse{background:#333}.pixel-caffeine-wrapper body.inverse,.pixel-caffeine-wrapper body.inverse .form-control{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper body.inverse .card,.pixel-caffeine-wrapper body.inverse .card .form-control,.pixel-caffeine-wrapper body.inverse .modal,.pixel-caffeine-wrapper body.inverse .modal .form-control,.pixel-caffeine-wrapper body.inverse .panel-default,.pixel-caffeine-wrapper body.inverse .panel-default .form-control{background-color:initial;color:initial}.pixel-caffeine-wrapper .h1,.pixel-caffeine-wrapper .h2,.pixel-caffeine-wrapper .h3,.pixel-caffeine-wrapper .h4,.pixel-caffeine-wrapper body,.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-family:Open Sans,Arial,sans-serif;font-weight:300}.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-weight:400}.pixel-caffeine-wrapper a,.pixel-caffeine-wrapper a:focus,.pixel-caffeine-wrapper a:hover{color:#337ab7}.pixel-caffeine-wrapper a .material-icons,.pixel-caffeine-wrapper a:focus .material-icons,.pixel-caffeine-wrapper a:hover .material-icons{vertical-align:middle}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:0}.pixel-caffeine-wrapper .form-horizontal .radio{margin-bottom:10px}.pixel-caffeine-wrapper .form-horizontal label{text-align:right}.pixel-caffeine-wrapper .form-horizontal label.control-label{margin:0}.pixel-caffeine-wrapper body .container-fluid .well.well-sm,.pixel-caffeine-wrapper body .container .well.well-sm{padding:10px}.pixel-caffeine-wrapper body .container-fluid .well.well-lg,.pixel-caffeine-wrapper body .container .well.well-lg{padding:26px}.pixel-caffeine-wrapper body .container-fluid .jumbotron,.pixel-caffeine-wrapper body .container-fluid .well,.pixel-caffeine-wrapper body .container .jumbotron,.pixel-caffeine-wrapper body .container .well{background-color:#fff;padding:19px;margin-bottom:20px;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);border-radius:4px;border:0}.pixel-caffeine-wrapper body .container-fluid .jumbotron p,.pixel-caffeine-wrapper body .container-fluid .well p,.pixel-caffeine-wrapper body .container .jumbotron p,.pixel-caffeine-wrapper body .container .well p{font-weight:300}.pixel-caffeine-wrapper body .container-fluid .jumbotron,.pixel-caffeine-wrapper body .container-fluid .jumbotron-default,.pixel-caffeine-wrapper body .container-fluid .well,.pixel-caffeine-wrapper body .container-fluid .well-default,.pixel-caffeine-wrapper body .container .jumbotron,.pixel-caffeine-wrapper body .container .jumbotron-default,.pixel-caffeine-wrapper body .container .well,.pixel-caffeine-wrapper body .container .well-default{background-color:#fff}.pixel-caffeine-wrapper body .container-fluid .jumbotron-inverse,.pixel-caffeine-wrapper body .container-fluid .well-inverse,.pixel-caffeine-wrapper body .container .jumbotron-inverse,.pixel-caffeine-wrapper body .container .well-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper body .container-fluid .jumbotron-primary,.pixel-caffeine-wrapper body .container-fluid .well-primary,.pixel-caffeine-wrapper body .container .jumbotron-primary,.pixel-caffeine-wrapper body .container .well-primary{background-color:#4c70ba}.pixel-caffeine-wrapper body .container-fluid .jumbotron-success,.pixel-caffeine-wrapper body .container-fluid .well-success,.pixel-caffeine-wrapper body .container .jumbotron-success,.pixel-caffeine-wrapper body .container .well-success{background-color:#68aa20}.pixel-caffeine-wrapper body .container-fluid .jumbotron-info,.pixel-caffeine-wrapper body .container-fluid .well-info,.pixel-caffeine-wrapper body .container .jumbotron-info,.pixel-caffeine-wrapper body .container .well-info{background-color:#5bc0de}.pixel-caffeine-wrapper body .container-fluid .jumbotron-warning,.pixel-caffeine-wrapper body .container-fluid .well-warning,.pixel-caffeine-wrapper body .container .jumbotron-warning,.pixel-caffeine-wrapper body .container .well-warning{background-color:#fd9c00}.pixel-caffeine-wrapper body .container-fluid .jumbotron-danger,.pixel-caffeine-wrapper body .container-fluid .well-danger,.pixel-caffeine-wrapper body .container .jumbotron-danger,.pixel-caffeine-wrapper body .container .well-danger{background-color:#e15667}.pixel-caffeine-wrapper .btn,.pixel-caffeine-wrapper .input-group-btn .btn{border:none;border-radius:4px;position:relative;margin:10px 1px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:0;will-change:box-shadow,transform;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:0;cursor:pointer;text-decoration:none;background:transparent}.pixel-caffeine-wrapper .btn::-moz-focus-inner,.pixel-caffeine-wrapper .input-group-btn .btn::-moz-focus-inner{border:0}.pixel-caffeine-wrapper .btn:not(.btn-raised),.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised){box-shadow:none}.pixel-caffeine-wrapper .btn:not(.btn-raised),.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-default,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised),.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-default{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-inverse{color:#3f51b5}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-primary{color:#4c70ba}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-success,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-success{color:#68aa20}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-info,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-info{color:#5bc0de}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-warning{color:#fd9c00}.pixel-caffeine-wrapper .btn:not(.btn-raised).btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised).btn-danger{color:#e15667}.pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):focus,.pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:hsla(0,0%,60%,.2)}.theme-dark .pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .pixel-caffeine-wrapper .btn:not(.btn-raised):not(.btn-link):hover,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):focus,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-raised):not(.btn-link):hover{background-color:hsla(0,0%,80%,.15)}.btn-group-raised .pixel-caffeine-wrapper .btn,.btn-group-raised .pixel-caffeine-wrapper .btn.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-default,.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .btn.btn-raised,.pixel-caffeine-wrapper .btn.btn-raised.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-default{background-color:transparent;color:rgba(0,0,0,.87)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-inverse,.pixel-caffeine-wrapper .btn.btn-fab.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-inverse{background-color:#3f51b5;color:#fff}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-primary,.pixel-caffeine-wrapper .btn.btn-fab.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-success,.pixel-caffeine-wrapper .btn.btn-fab.btn-success,.pixel-caffeine-wrapper .btn.btn-raised.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-info,.pixel-caffeine-wrapper .btn.btn-fab.btn-info,.pixel-caffeine-wrapper .btn.btn-raised.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-warning,.pixel-caffeine-wrapper .btn.btn-fab.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn.btn-danger,.pixel-caffeine-wrapper .btn.btn-fab.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.btn-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link),.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link){box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover{outline:0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-default,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-default,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-default,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-default,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-default{background-color:hsla(0,0%,4%,0)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-inverse,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-inverse,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-inverse,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-inverse{background-color:#495bc0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-primary,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-primary,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-primary,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-primary{background-color:#5b7cc0}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-success,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-success,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-success,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-success,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-success{background-color:#73bb23}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-info,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-info,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-info,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-info,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-info{background-color:#6cc7e1}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-warning,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-warning,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-warning,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-warning{background-color:#e98f00}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):hover.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.btn-danger,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):hover.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.btn-danger,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):hover.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.btn-danger,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):hover.btn-danger{background-color:#e46777}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link).active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link).active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link).active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link).active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):active:hover{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus.active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:active,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:active:hover,.btn-group-raised .pixel-caffeine-wrapper .btn:not(.btn-link):focus:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus.active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:active,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:active:hover,.btn-group-raised .pixel-caffeine-wrapper .input-group-btn .btn:not(.btn-link):focus:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus.active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:active,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:active:hover,.pixel-caffeine-wrapper .btn.btn-raised:not(.btn-link):focus:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus.active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:active,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:active:hover,.pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:not(.btn-link):focus:hover{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab{border-radius:50%;font-size:24px;height:40px;margin:auto;min-width:40px;width:40px;padding:0;overflow:hidden;box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.pixel-caffeine-wrapper .btn.btn-fab .ripple-container,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab .ripple-container{border-radius:50%}.btn-group-sm .pixel-caffeine-wrapper .btn.btn-fab,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-fab-mini{height:28px;min-width:28px;width:28px}.btn-group-sm .pixel-caffeine-wrapper .btn.btn-fab.material-icons,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.material-icons,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab.btn-fab-mini.material-icons{top:0;left:0}.pixel-caffeine-wrapper .btn.btn-fab i.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn.btn-fab i.material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.pixel-caffeine-wrapper .btn i.material-icons,.pixel-caffeine-wrapper .input-group-btn .btn i.material-icons{vertical-align:middle}.btn-group-lg .pixel-caffeine-wrapper .btn,.btn-group-lg .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-lg>.btn,.pixel-caffeine-wrapper .btn.btn-lg,.pixel-caffeine-wrapper .input-group-btn .btn-group-lg>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-lg{font-size:16px}.btn-group-sm .pixel-caffeine-wrapper .btn,.btn-group-sm .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-sm>.btn,.pixel-caffeine-wrapper .btn.btn-sm,.pixel-caffeine-wrapper .input-group-btn .btn-group-sm>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-sm{padding:5px 20px;font-size:12px}.btn-group-xs .pixel-caffeine-wrapper .btn,.btn-group-xs .pixel-caffeine-wrapper .input-group-btn .btn,.pixel-caffeine-wrapper .btn-group-xs>.btn,.pixel-caffeine-wrapper .btn.btn-xs,.pixel-caffeine-wrapper .input-group-btn .btn-group-xs>.btn,.pixel-caffeine-wrapper .input-group-btn .btn.btn-xs{padding:4px 15px;font-size:10px}.pixel-caffeine-wrapper .btn-group-vertical.disabled,.pixel-caffeine-wrapper .btn-group-vertical:disabled,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled],.pixel-caffeine-wrapper .btn-group.disabled,.pixel-caffeine-wrapper .btn-group:disabled,.pixel-caffeine-wrapper .btn-group[disabled][disabled],.pixel-caffeine-wrapper .btn.disabled,.pixel-caffeine-wrapper .btn:disabled,.pixel-caffeine-wrapper .btn[disabled][disabled],.pixel-caffeine-wrapper .input-group-btn .btn.disabled,.pixel-caffeine-wrapper .input-group-btn .btn:disabled,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled],fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn{color:rgba(0,0,0,.26);background:transparent}.theme-dark .pixel-caffeine-wrapper .btn-group-vertical.disabled,.theme-dark .pixel-caffeine-wrapper .btn-group-vertical:disabled,.theme-dark .pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .btn-group.disabled,.theme-dark .pixel-caffeine-wrapper .btn-group:disabled,.theme-dark .pixel-caffeine-wrapper .btn-group[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .btn.disabled,.theme-dark .pixel-caffeine-wrapper .btn:disabled,.theme-dark .pixel-caffeine-wrapper .btn[disabled][disabled],.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn.disabled,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn:disabled,.theme-dark .pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled],.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical,.theme-dark fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn{color:hsla(0,0%,100%,.3)}.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn-group-vertical[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group.disabled.btn-raised,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn-group:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group:disabled.btn-raised,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn-group:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn-group[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn.disabled.btn-group-raised,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn.disabled.btn-raised,.pixel-caffeine-wrapper .btn.disabled.btn-raised.active,.pixel-caffeine-wrapper .btn.disabled.btn-raised:active,.pixel-caffeine-wrapper .btn.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn:disabled.btn-group-raised,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .btn:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn:disabled.btn-raised,.pixel-caffeine-wrapper .btn:disabled.btn-raised.active,.pixel-caffeine-wrapper .btn:disabled.btn-raised:active,.pixel-caffeine-wrapper .btn:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .btn[disabled][disabled].btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn.disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn:disabled.btn-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-group-raised:focus:not(:active),.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised.active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised:active,.pixel-caffeine-wrapper .input-group-btn .btn[disabled][disabled].btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group-vertical.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn-group.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .btn.btn-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-group-raised:focus:not(:active),fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised.active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:active,fieldset[disabled][disabled] .pixel-caffeine-wrapper .input-group-btn .btn.btn-raised:focus:not(:active){box-shadow:none}.pixel-caffeine-wrapper .btn-group,.pixel-caffeine-wrapper .btn-group-vertical{position:relative;margin:10px 1px}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn,.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-default,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-default{background-color:transparent}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-inverse,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-primary,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-success,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-success{background-color:#68aa20}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-info,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-info{background-color:#5bc0de}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-warning,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .btn-group-vertical.open>.dropdown-toggle.btn.btn-danger,.pixel-caffeine-wrapper .btn-group.open>.dropdown-toggle.btn.btn-danger{background-color:#e15667}.pixel-caffeine-wrapper .btn-group-vertical .dropdown-menu,.pixel-caffeine-wrapper .btn-group .dropdown-menu{border-radius:0 0 4px 4px}.pixel-caffeine-wrapper .btn-group-vertical.btn-group-raised,.pixel-caffeine-wrapper .btn-group.btn-group-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .btn-group-vertical .btn,.pixel-caffeine-wrapper .btn-group-vertical .btn+.btn,.pixel-caffeine-wrapper .btn-group-vertical .btn-group,.pixel-caffeine-wrapper .btn-group-vertical .btn:active,.pixel-caffeine-wrapper .btn-group .btn,.pixel-caffeine-wrapper .btn-group .btn+.btn,.pixel-caffeine-wrapper .btn-group .btn-group,.pixel-caffeine-wrapper .btn-group .btn:active{margin:0}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper label.checkbox-inline{cursor:pointer;padding-left:0;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .checkbox label,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .checkbox label:focus,.form-group.is-focused .pixel-caffeine-wrapper .checkbox label:hover,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline:focus,.form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .checkbox label,fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper label.checkbox-inline{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .checkbox input[type=checkbox],.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]{opacity:0;position:absolute;margin:0;z-index:-1;width:0;height:0;overflow:hidden;left:0;pointer-events:none}.pixel-caffeine-wrapper .checkbox .checkbox-material,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material{vertical-align:middle;position:relative;top:3px}.pixel-caffeine-wrapper .checkbox .checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material:before{display:block;position:absolute;top:-5px;left:0;content:"";background-color:rgba(0,0,0,.84);height:20px;width:20px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale3d(2.3,2.3,1)}.pixel-caffeine-wrapper .checkbox .checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material .check{position:relative;display:inline-block;width:20px;height:20px;border:2px solid rgba(0,0,0,.54);border-radius:4px;overflow:hidden;z-index:1}.pixel-caffeine-wrapper .checkbox .checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline .checkbox-material .check:before{position:absolute;content:"";transform:rotate(45deg);display:block;margin-top:-4px;margin-left:6px;width:0;height:0;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus+.checkbox-material .check:after{opacity:.2}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material:before{animation:rippleOn .5s}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material .check:before{animation:checkbox-on .3s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:checked+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:checked+.checkbox-material .check:after{animation:rippleOn .5s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material:before{animation:rippleOff .5s}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:before{animation:checkbox-off .3s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:focus:not(:checked)+.checkbox-material .check:after{animation:rippleOff .5s forwards}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:checked+.checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:checked+.checkbox-material .check{color:#4c70ba;border-color:#4c70ba}.pixel-caffeine-wrapper .checkbox input[type=checkbox]:checked+.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]:checked+.checkbox-material .check:before{color:#4c70ba;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]+.circle,.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check,.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check:before,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]+.circle,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]:not(:checked)~.checkbox-material .check:before,fieldset[disabled] .pixel-caffeine-wrapper .checkbox,fieldset[disabled] .pixel-caffeine-wrapper .checkbox input[type=checkbox],fieldset[disabled] .pixel-caffeine-wrapper label.checkbox-inline,fieldset[disabled] .pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox]{opacity:.5}.pixel-caffeine-wrapper .checkbox input[type=checkbox][disabled]+.checkbox-material .check:after,.pixel-caffeine-wrapper label.checkbox-inline input[type=checkbox][disabled]+.checkbox-material .check:after{background-color:rgba(0,0,0,.87);transform:rotate(-45deg)}@keyframes checkbox-on{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@keyframes checkbox-off{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{transform:rotate(45deg);margin-top:-4px;margin-left:6px;width:0;height:0;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0}51%{transform:rotate(0deg);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px}to{transform:rotate(0deg);margin-top:-2px;margin-left:-2px;width:20px;height:20px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0}}.pixel-caffeine-wrapper .togglebutton,.pixel-caffeine-wrapper .togglebutton .toggle,.pixel-caffeine-wrapper .togglebutton input,.pixel-caffeine-wrapper .togglebutton label{user-select:none}.pixel-caffeine-wrapper .togglebutton label{cursor:pointer;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label:focus,.form-group.is-focused .pixel-caffeine-wrapper .togglebutton label:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .togglebutton label{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]{opacity:0;width:0;height:0}.pixel-caffeine-wrapper .togglebutton label .toggle{text-align:left}.pixel-caffeine-wrapper .togglebutton label .toggle,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle{content:"";display:inline-block;width:30px;height:15px;background-color:rgba(80,80,80,.7);border-radius:15px;margin-right:15px;transition:background .3s ease;vertical-align:middle}.pixel-caffeine-wrapper .togglebutton label .toggle:after{content:"";display:inline-block;width:20px;height:20px;background-color:#f1f1f1;border-radius:20px;position:relative;box-shadow:0 1px 3px 1px rgba(0,0,0,.4);left:-5px;top:-2px;transition:left .3s ease,background .3s ease,box-shadow .1s ease}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle:after,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]:checked+.toggle:after{background-color:#bdbdbd}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]+.toggle:active:after,.pixel-caffeine-wrapper .togglebutton label input[type=checkbox][disabled]+.toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(0,0,0,.1)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{left:15px}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle{background-color:rgba(76,112,186,.5)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{background-color:#4c70ba}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:active:after{box-shadow:0 1px 3px 1px rgba(0,0,0,.4),0 0 0 15px rgba(76,112,186,.1)}.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label.radio-inline{cursor:pointer;padding-left:45px;position:relative;color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .radio label,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline{color:rgba(0,0,0,.26)}.form-group.is-focused .pixel-caffeine-wrapper .radio label:focus,.form-group.is-focused .pixel-caffeine-wrapper .radio label:hover,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline:focus,.form-group.is-focused .pixel-caffeine-wrapper label.radio-inline:hover{color:rgba(0,0,0,.54)}fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper .radio label,fieldset[disabled] .form-group.is-focused .pixel-caffeine-wrapper label.radio-inline{color:rgba(0,0,0,.26)}.pixel-caffeine-wrapper .radio span,.pixel-caffeine-wrapper label.radio-inline span{display:block;position:absolute;left:10px;top:2px;transition-duration:.2s}.pixel-caffeine-wrapper .radio .circle,.pixel-caffeine-wrapper label.radio-inline .circle{border:2px solid rgba(0,0,0,.54);height:15px;width:15px;border-radius:100%}.pixel-caffeine-wrapper .radio .check,.pixel-caffeine-wrapper label.radio-inline .check{height:15px;width:15px;border-radius:100%;background-color:#4c70ba;transform:scale3d(0,0,0)}.pixel-caffeine-wrapper .radio .check:after,.pixel-caffeine-wrapper label.radio-inline .check:after{display:block;position:absolute;content:"";background-color:rgba(0,0,0,.87);left:-18px;top:-18px;height:50px;width:50px;border-radius:100%;z-index:1;opacity:0;margin:0;transform:scale3d(1.5,1.5,1)}.pixel-caffeine-wrapper .radio input[type=radio]:focus:not(:checked)~.check:after,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:focus:not(:checked)~.check:after{animation:rippleOff .5s}.pixel-caffeine-wrapper .radio input[type=radio]:focus:checked~.check:after,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:focus:checked~.check:after{animation:rippleOn .5s}.pixel-caffeine-wrapper .radio input[type=radio],.pixel-caffeine-wrapper label.radio-inline input[type=radio]{opacity:0;height:0;width:0;overflow:hidden}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper .radio input[type=radio]:checked~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.circle{opacity:1}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check{background-color:#4c70ba}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.circle{border-color:#4c70ba}.pixel-caffeine-wrapper .radio input[type=radio]:checked~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio]:checked~.check{transform:scale3d(.55,.55,1)}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{opacity:.26}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check{background-color:#444}.pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{border-color:#444}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{opacity:.3}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.check,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.check{background-color:#fff}.theme-dark .pixel-caffeine-wrapper .radio input[type=radio][disabled]~.circle,.theme-dark .pixel-caffeine-wrapper label.radio-inline input[type=radio][disabled]~.circle{border-color:#fff}@keyframes rippleOn{0%{opacity:0}50%{opacity:.2}to{opacity:0}}@keyframes rippleOff{0%{opacity:0}50%{opacity:.2}to{opacity:0}}.pixel-caffeine-wrapper legend{margin-bottom:22px;font-size:21px}.pixel-caffeine-wrapper output{padding-top:8px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .form-control{height:38px;padding:7px 0;font-size:14px;line-height:1.42857}@media screen and (-webkit-min-device-pixel-ratio:0){.pixel-caffeine-wrapper input[type=date].form-control,.pixel-caffeine-wrapper input[type=datetime-local].form-control,.pixel-caffeine-wrapper input[type=month].form-control,.pixel-caffeine-wrapper input[type=time].form-control{line-height:38px}.input-group-sm .pixel-caffeine-wrapper input[type=date],.input-group-sm .pixel-caffeine-wrapper input[type=datetime-local],.input-group-sm .pixel-caffeine-wrapper input[type=month],.input-group-sm .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-sm>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-sm>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-sm,.pixel-caffeine-wrapper input[type=datetime-local].input-sm,.pixel-caffeine-wrapper input[type=month].input-sm,.pixel-caffeine-wrapper input[type=time].input-sm{line-height:24px}.input-group-lg .pixel-caffeine-wrapper input[type=date],.input-group-lg .pixel-caffeine-wrapper input[type=datetime-local],.input-group-lg .pixel-caffeine-wrapper input[type=month],.input-group-lg .pixel-caffeine-wrapper input[type=time],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=date],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=month],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>input.btn[type=time],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=date],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=month],.pixel-caffeine-wrapper .input-group-lg>input.form-control[type=time],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=date],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=datetime-local],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=month],.pixel-caffeine-wrapper .input-group-lg>input.input-group-addon[type=time],.pixel-caffeine-wrapper input[type=date].input-lg,.pixel-caffeine-wrapper input[type=datetime-local].input-lg,.pixel-caffeine-wrapper input[type=month].input-lg,.pixel-caffeine-wrapper input[type=time].input-lg{line-height:44px}}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label{min-height:22px}.pixel-caffeine-wrapper .form-control-static{padding-top:8px;padding-bottom:8px;min-height:36px}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-addon,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-sm .input-sm{height:24px;padding:3px 0;font-size:11px;line-height:1.5;border-radius:0}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control select.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon select.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn select.input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.input-group-addon,.pixel-caffeine-wrapper .input-sm select.input-sm{height:24px;line-height:24px}.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.form-control .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.form-control select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.form-control textarea.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-addon textarea.input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn select[multiple].input-sm,.pixel-caffeine-wrapper .input-group-sm>.input-group-btn>.btn textarea.input-sm,.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-sm .input-group-sm>select.form-control[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-sm .input-group-sm>textarea.form-control,.pixel-caffeine-wrapper .input-sm .input-group-sm>textarea.input-group-addon,.pixel-caffeine-wrapper .input-sm select[multiple].input-sm,.pixel-caffeine-wrapper .input-sm textarea.input-sm{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control{height:24px;padding:3px 0;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .form-group-sm select.form-control{height:24px;line-height:24px}.pixel-caffeine-wrapper .form-group-sm select[multiple].form-control,.pixel-caffeine-wrapper .form-group-sm textarea.form-control{height:auto}.pixel-caffeine-wrapper .form-group-sm .form-control-static{height:24px;min-height:33px;padding:4px 0;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-addon,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>.btn,.pixel-caffeine-wrapper .input-lg .input-lg{height:44px;padding:9px 0;font-size:18px;line-height:1.33333;border-radius:0}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control select.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon select.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn select.input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>select.btn,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.input-group-addon,.pixel-caffeine-wrapper .input-lg select.input-lg{height:44px;line-height:44px}.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.form-control .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.form-control select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.form-control textarea.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-addon textarea.input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn select[multiple].input-lg,.pixel-caffeine-wrapper .input-group-lg>.input-group-btn>.btn textarea.input-lg,.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>select.btn[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>.input-group-btn>textarea.btn,.pixel-caffeine-wrapper .input-lg .input-group-lg>select.form-control[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>select.input-group-addon[multiple],.pixel-caffeine-wrapper .input-lg .input-group-lg>textarea.form-control,.pixel-caffeine-wrapper .input-lg .input-group-lg>textarea.input-group-addon,.pixel-caffeine-wrapper .input-lg select[multiple].input-lg,.pixel-caffeine-wrapper .input-lg textarea.input-lg{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control{height:44px;padding:9px 0;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-group-lg select.form-control{height:44px;line-height:44px}.pixel-caffeine-wrapper .form-group-lg select[multiple].form-control,.pixel-caffeine-wrapper .form-group-lg textarea.form-control{height:auto}.pixel-caffeine-wrapper .form-group-lg .form-control-static{height:44px;min-height:40px;padding:10px 0;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .checkbox-inline,.pixel-caffeine-wrapper .form-horizontal .radio,.pixel-caffeine-wrapper .form-horizontal .radio-inline{padding-top:8px}.pixel-caffeine-wrapper .form-horizontal .checkbox,.pixel-caffeine-wrapper .form-horizontal .radio{min-height:30px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .control-label{padding-top:8px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-lg .control-label{padding-top:13px;font-size:18px}}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .form-group-sm .control-label{padding-top:4px;font-size:11px}}.pixel-caffeine-wrapper .label{border-radius:3px;padding:.3em .6em}.pixel-caffeine-wrapper .label,.pixel-caffeine-wrapper .label.label-default{background-color:#9e9e9e}.pixel-caffeine-wrapper .label.label-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .label.label-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .label.label-success{background-color:#68aa20}.pixel-caffeine-wrapper .label.label-info{background-color:#5bc0de}.pixel-caffeine-wrapper .label.label-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .label.label-danger{background-color:#e15667}.pixel-caffeine-wrapper .form-control,.pixel-caffeine-wrapper .form-group .form-control{border:0;background-image:linear-gradient(#4c70ba,#4c70ba),linear-gradient(#d2d2d2,#d2d2d2);background-size:0 2px,100% 1px;background-repeat:no-repeat;background-position:bottom,50% calc(100% - 1px);background-color:transparent;transition:background 0s ease-out;float:none;box-shadow:none;border-radius:0}.pixel-caffeine-wrapper .form-control::-moz-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-control[readonly],.pixel-caffeine-wrapper .form-group .form-control[disabled],.pixel-caffeine-wrapper .form-group .form-control[readonly],fieldset[disabled] .pixel-caffeine-wrapper .form-control,fieldset[disabled] .pixel-caffeine-wrapper .form-group .form-control{background-color:transparent}.pixel-caffeine-wrapper .form-control[disabled],.pixel-caffeine-wrapper .form-group .form-control[disabled],fieldset[disabled] .pixel-caffeine-wrapper .form-control,fieldset[disabled] .pixel-caffeine-wrapper .form-group .form-control{background-image:none;border-bottom:1px dotted #d2d2d2}.pixel-caffeine-wrapper .form-group{position:relative}.pixel-caffeine-wrapper .form-group.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.label-placeholder label.control-label,.pixel-caffeine-wrapper .form-group.label-static label.control-label{position:absolute;pointer-events:none;transition:all .3s ease}.pixel-caffeine-wrapper .form-group.label-floating label.control-label{will-change:left,top,contents}.pixel-caffeine-wrapper .form-group.label-placeholder:not(.is-empty) label.control-label{display:none}.pixel-caffeine-wrapper .form-group .help-block{position:absolute;display:none}.pixel-caffeine-wrapper .form-group.is-focused .form-control{outline:none;background-image:linear-gradient(#4c70ba,#4c70ba),linear-gradient(#d2d2d2,#d2d2d2);background-size:100% 2px,100% 1px;box-shadow:none;transition-duration:.3s}.pixel-caffeine-wrapper .form-group.is-focused .form-control .material-input:after{background-color:#4c70ba}.pixel-caffeine-wrapper .form-group.is-focused label,.pixel-caffeine-wrapper .form-group.is-focused label.control-label{color:#4c70ba}.pixel-caffeine-wrapper .form-group.is-focused.label-placeholder label,.pixel-caffeine-wrapper .form-group.is-focused.label-placeholder label.control-label{color:#bdbdbd}.pixel-caffeine-wrapper .form-group.is-focused .help-block{display:block}.pixel-caffeine-wrapper .form-group.has-warning .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-warning.is-focused .form-control{background-image:linear-gradient(#fd9c00,#fd9c00),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-warning .help-block,.pixel-caffeine-wrapper .form-group.has-warning label.control-label{color:#fd9c00}.pixel-caffeine-wrapper .form-group.has-error .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-error.is-focused .form-control{background-image:linear-gradient(#e15667,#e15667),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-error .help-block,.pixel-caffeine-wrapper .form-group.has-error label.control-label{color:#e15667}.pixel-caffeine-wrapper .form-group.has-success .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-success.is-focused .form-control{background-image:linear-gradient(#68aa20,#68aa20),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-success .help-block,.pixel-caffeine-wrapper .form-group.has-success label.control-label{color:#68aa20}.pixel-caffeine-wrapper .form-group.has-info .form-control{box-shadow:none}.pixel-caffeine-wrapper .form-group.has-info.is-focused .form-control{background-image:linear-gradient(#5bc0de,#5bc0de),linear-gradient(#d2d2d2,#d2d2d2)}.pixel-caffeine-wrapper .form-group.has-info .help-block,.pixel-caffeine-wrapper .form-group.has-info label.control-label{color:#5bc0de}.pixel-caffeine-wrapper .form-group textarea{resize:none}.pixel-caffeine-wrapper .form-group textarea~.form-control-highlight{margin-top:-11px}.pixel-caffeine-wrapper .form-group select{appearance:none}.pixel-caffeine-wrapper .form-group select~.material-input:after{display:none}.pixel-caffeine-wrapper .form-control{margin-bottom:7px}.pixel-caffeine-wrapper .form-control::-moz-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .checkbox label,.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper label.control-label{font-size:11px;line-height:1.07143;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .help-block{margin-top:0;font-size:11px}.pixel-caffeine-wrapper .form-group{padding-bottom:7px;margin:27px 0 0}.pixel-caffeine-wrapper .form-group .form-control{margin-bottom:7px}.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group .radio label,.pixel-caffeine-wrapper .form-group label{font-size:14px;line-height:1.42857;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group label.control-label{font-size:11px;line-height:1.07143;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group .help-block{margin-top:0;font-size:11px}.pixel-caffeine-wrapper .form-group.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.label-placeholder label.control-label{top:-7px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .form-group.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.label-static label.control-label{top:-28px;left:0;font-size:11px;line-height:1.07143}.pixel-caffeine-wrapper .form-group.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-28px;left:0;font-size:11px;line-height:1.07143}.pixel-caffeine-wrapper .form-group.form-group-sm{padding-bottom:3px;margin:21px 0 0}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control{margin-bottom:3px}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control::-moz-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control:-ms-input-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .form-control::-webkit-input-placeholder{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm .checkbox label,.pixel-caffeine-wrapper .form-group.form-group-sm .radio label,.pixel-caffeine-wrapper .form-group.form-group-sm label{font-size:11px;line-height:1.5;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-sm label.control-label{font-size:9px;line-height:1.125;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group.form-group-sm .help-block{margin-top:0;font-size:9px}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-placeholder label.control-label{top:-11px;font-size:11px;line-height:1.5}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.form-group-sm.label-static label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.pixel-caffeine-wrapper .form-group.form-group-sm.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-25px;left:0;font-size:9px;line-height:1.125}.pixel-caffeine-wrapper .form-group.form-group-lg{padding-bottom:9px;margin:30px 0 0}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control{margin-bottom:9px}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control::-moz-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control:-ms-input-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .form-control::-webkit-input-placeholder{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg .checkbox label,.pixel-caffeine-wrapper .form-group.form-group-lg .radio label,.pixel-caffeine-wrapper .form-group.form-group-lg label{font-size:18px;line-height:1.33333;color:#bdbdbd;font-weight:400}.pixel-caffeine-wrapper .form-group.form-group-lg label.control-label{font-size:14px;line-height:1;font-weight:400;margin:16px 0 0}.pixel-caffeine-wrapper .form-group.form-group-lg .help-block{margin-top:0;font-size:14px}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-placeholder label.control-label{top:-5px;font-size:18px;line-height:1.33333}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating.is-focused label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating:not(.is-empty) label.control-label,.pixel-caffeine-wrapper .form-group.form-group-lg.label-static label.control-label{top:-32px;left:0;font-size:14px;line-height:1}.pixel-caffeine-wrapper .form-group.form-group-lg.label-floating input.form-control:-webkit-autofill~label.control-label label.control-label{top:-32px;left:0;font-size:14px;line-height:1}.pixel-caffeine-wrapper select.form-control{border:0;box-shadow:none;border-radius:0}.form-group.is-focused .pixel-caffeine-wrapper select.form-control{box-shadow:none;border-color:#d2d2d2}.form-group.is-focused .pixel-caffeine-wrapper select.form-control[multiple],.pixel-caffeine-wrapper select.form-control[multiple]{height:85px}.pixel-caffeine-wrapper .input-group-btn .btn{margin:0 0 7px}.pixel-caffeine-wrapper .form-group.form-group-sm .input-group-btn .btn{margin:0 0 3px}.pixel-caffeine-wrapper .form-group.form-group-lg .input-group-btn .btn{margin:0 0 9px}.pixel-caffeine-wrapper .input-group .input-group-btn{padding:0 12px}.pixel-caffeine-wrapper .input-group .input-group-addon{border:0;background:transparent}.pixel-caffeine-wrapper .form-group input[type=file]{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:100}.pixel-caffeine-wrapper legend{border-bottom:0}.pixel-caffeine-wrapper .list-group{border-radius:0}.pixel-caffeine-wrapper .list-group .list-group-item{background-color:transparent;overflow:hidden;border:0;border-radius:0;padding:0 16px}.pixel-caffeine-wrapper .list-group .list-group-item.baseline{border-bottom:1px solid #cecece}.pixel-caffeine-wrapper .list-group .list-group-item.baseline:last-child{border-bottom:none}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture{display:inline-block;padding-right:16px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary i,.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img,.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture i,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label{display:block;width:56px;height:56px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img{background:rgba(0,0,0,.1);padding:1px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary img.circle,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture img.circle{border-radius:100%}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary i,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture i{background:rgba(0,0,0,.25);border-radius:100%;text-align:center;line-height:56px;font-size:20px;color:#fff}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label{margin:5px -7px -5px 7px}.pixel-caffeine-wrapper .list-group .list-group-item .row-action-primary label .checkbox-material,.pixel-caffeine-wrapper .list-group .list-group-item .row-picture label .checkbox-material{left:-10px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content{display:inline-block;width:calc(100% - 92px);min-height:66px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary{position:absolute;right:16px;top:16px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary i{font-size:20px;color:rgba(0,0,0,.25);cursor:pointer}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .action-secondary~*{max-width:calc(100% - 30px)}.pixel-caffeine-wrapper .list-group .list-group-item .row-content .least-content{position:absolute;right:16px;top:0;color:rgba(0,0,0,.54);font-size:14px}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-heading{color:rgba(0,0,0,.77);font-size:20px;line-height:29px}.pixel-caffeine-wrapper .list-group .list-group-item.active:focus,.pixel-caffeine-wrapper .list-group .list-group-item.active:hover{background:rgba(0,0,0,.15);outline:10px solid rgba(0,0,0,.15)}.pixel-caffeine-wrapper .list-group .list-group-item.active .list-group-item-heading,.pixel-caffeine-wrapper .list-group .list-group-item.active .list-group-item-text{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .list-group .list-group-separator{clear:both;overflow:hidden;margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .list-group .list-group-separator:before{content:"";width:calc(100% - 90px);border-bottom:1px solid rgba(0,0,0,.1);float:right}.pixel-caffeine-wrapper .navbar{background-color:#4c70ba;border:0;border-radius:0}.pixel-caffeine-wrapper .navbar .navbar-brand{position:relative;height:60px;line-height:30px;color:inherit}.pixel-caffeine-wrapper .navbar .navbar-brand:focus,.pixel-caffeine-wrapper .navbar .navbar-brand:hover{color:inherit;background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-text{color:inherit;margin-top:20px;margin-bottom:20px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a{color:inherit;padding-top:20px;padding-bottom:20px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>li>a:hover{color:inherit;background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.active>a:hover{color:inherit;background-color:hsla(0,0%,100%,.1)}.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.disabled>a:hover{color:inherit;background-color:transparent;opacity:.9}.pixel-caffeine-wrapper .navbar .navbar-toggle{border:0}.pixel-caffeine-wrapper .navbar .navbar-toggle:focus,.pixel-caffeine-wrapper .navbar .navbar-toggle:hover{background-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-toggle .icon-bar{background-color:inherit;border:1px solid}.pixel-caffeine-wrapper .navbar .navbar-default .navbar-toggle,.pixel-caffeine-wrapper .navbar .navbar-inverse .navbar-toggle{border-color:transparent}.pixel-caffeine-wrapper .navbar .navbar-collapse,.pixel-caffeine-wrapper .navbar .navbar-form{border-color:rgba(0,0,0,.1)}.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a,.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav>.open>a:hover{background-color:transparent;color:inherit}@media (max-width:767px){.pixel-caffeine-wrapper .navbar .navbar-nav .navbar-text{color:inherit;margin-top:15px;margin-bottom:15px}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.dropdown-header{border:0;color:inherit}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu .divider{border-bottom:1px solid;opacity:.08}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a{color:inherit}.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.active>a:hover,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>.disabled>a:hover,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a:focus,.pixel-caffeine-wrapper .navbar .navbar-nav .open .dropdown-menu>li>a:hover{color:inherit;background-color:transparent}}.pixel-caffeine-wrapper .navbar .btn-link,.pixel-caffeine-wrapper .navbar .btn-link:focus,.pixel-caffeine-wrapper .navbar .btn-link:hover,.pixel-caffeine-wrapper .navbar .btn-link[disabled]:focus,.pixel-caffeine-wrapper .navbar .btn-link[disabled]:hover,.pixel-caffeine-wrapper .navbar .navbar-link,.pixel-caffeine-wrapper .navbar .navbar-link:hover,fieldset[disabled] .pixel-caffeine-wrapper .navbar .btn-link:focus,fieldset[disabled] .pixel-caffeine-wrapper .navbar .btn-link:hover{color:inherit}.pixel-caffeine-wrapper .navbar .navbar-form{margin-top:16px}.pixel-caffeine-wrapper .navbar .navbar-form .form-group{margin:0;padding:0}.pixel-caffeine-wrapper .navbar .navbar-form .form-group.is-focused .material-input:after,.pixel-caffeine-wrapper .navbar .navbar-form .form-group .material-input:before{background-color:inherit}.pixel-caffeine-wrapper .navbar .navbar-form .form-control,.pixel-caffeine-wrapper .navbar .navbar-form .form-group .form-control{border-color:inherit;color:inherit;padding:0;margin:0;height:28px;font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .navbar,.pixel-caffeine-wrapper .navbar.navbar-default{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-default .navbar-form input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar .dropdown-menu,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar .dropdown-menu li>a,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar .dropdown-menu li>a:hover,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu li>a:hover{color:#4c70ba;background-color:#eee}.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar .dropdown-menu .active>a:hover,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-default .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-inverse{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control::-moz-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control:-ms-input-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-inverse .navbar-form input.form-control::-webkit-input-placeholder{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu li>a:hover{color:#3f51b5;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-inverse .dropdown-menu .active>a:hover{color:#fff}.pixel-caffeine-wrapper .navbar.navbar-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-primary .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu li>a:hover{color:#4c70ba;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-primary .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-success .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu li>a:hover{color:#68aa20;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-success .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-info .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu li>a:hover{color:#5bc0de;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-info .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-warning .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu li>a:hover{color:#fd9c00;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-warning .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control::-moz-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control::-moz-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control:-ms-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form .form-group input.form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .navbar.navbar-danger .navbar-form input.form-control::-webkit-input-placeholder{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu{border-radius:4px}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a{font-size:16px;padding:13px 16px}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a:focus,.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu li>a:hover{color:#e15667;background-color:#eee}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a:focus,.pixel-caffeine-wrapper .navbar.navbar-danger .dropdown-menu .active>a:hover{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .navbar-inverse{background-color:#3f51b5}@media (max-width:1199px){.pixel-caffeine-wrapper .navbar .navbar-brand{height:50px;padding:10px 15px}.pixel-caffeine-wrapper .navbar .navbar-form{margin-top:10px}.pixel-caffeine-wrapper .navbar .navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.pixel-caffeine-wrapper .dropdown-menu{border:0;box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.pixel-caffeine-wrapper .dropdown-menu .divider{background-color:rgba(0,0,0,.12)}.pixel-caffeine-wrapper .dropdown-menu li{overflow:hidden;position:relative}.pixel-caffeine-wrapper .dropdown-menu li a:hover{background-color:transparent;color:#4c70ba}.pixel-caffeine-wrapper .alert{border:0;border-radius:0}.pixel-caffeine-wrapper .alert,.pixel-caffeine-wrapper .alert.alert-default{background-color:hsla(0,0%,100%,.84);color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-default .alert-link,.pixel-caffeine-wrapper .alert.alert-default a,.pixel-caffeine-wrapper .alert .alert-link,.pixel-caffeine-wrapper .alert a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-inverse{background-color:#3f51b5;color:#fff}.pixel-caffeine-wrapper .alert.alert-inverse .alert-link,.pixel-caffeine-wrapper .alert.alert-inverse a{color:#fff}.pixel-caffeine-wrapper .alert.alert-primary{background-color:#4c70ba;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-primary .alert-link,.pixel-caffeine-wrapper .alert.alert-primary a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-success{background-color:#68aa20;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-success .alert-link,.pixel-caffeine-wrapper .alert.alert-success a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-info{background-color:#5bc0de;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-info .alert-link,.pixel-caffeine-wrapper .alert.alert-info a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-warning{background-color:#fd9c00;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-warning .alert-link,.pixel-caffeine-wrapper .alert.alert-warning a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert.alert-danger{background-color:#e15667;color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert-danger,.pixel-caffeine-wrapper .alert-info,.pixel-caffeine-wrapper .alert-success,.pixel-caffeine-wrapper .alert-warning,.pixel-caffeine-wrapper .alert.alert-danger .alert-link,.pixel-caffeine-wrapper .alert.alert-danger a{color:hsla(0,0%,100%,.84)}.pixel-caffeine-wrapper .alert-default .alert-link,.pixel-caffeine-wrapper .alert-default a{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .progress{height:4px;border-radius:0;box-shadow:none;background:#c8c8c8}.pixel-caffeine-wrapper .progress .progress-bar{box-shadow:none}.pixel-caffeine-wrapper .progress .progress-bar,.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-default{background-color:#4c70ba}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-inverse{background-color:#3f51b5}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-primary{background-color:#4c70ba}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-success{background-color:#68aa20}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-info{background-color:#5bc0de}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-warning{background-color:#fd9c00}.pixel-caffeine-wrapper .progress .progress-bar.progress-bar-danger{background-color:#e15667}.pixel-caffeine-wrapper .text-warning{color:#fd9c00}.pixel-caffeine-wrapper .text-primary{color:#4c70ba}.pixel-caffeine-wrapper .text-danger{color:#e15667}.pixel-caffeine-wrapper .text-success{color:#68aa20}.pixel-caffeine-wrapper .text-info{color:#5bc0de}.pixel-caffeine-wrapper .nav-tabs{background:#4c70ba}.pixel-caffeine-wrapper .nav-tabs>li>a{color:#fff;border:0;margin:0}.pixel-caffeine-wrapper .nav-tabs>li>a:hover{background-color:transparent;border:0}.pixel-caffeine-wrapper .nav-tabs>li>a,.pixel-caffeine-wrapper .nav-tabs>li>a:focus,.pixel-caffeine-wrapper .nav-tabs>li>a:hover{background-color:transparent!important;border:0!important;color:#fff!important;font-weight:500}.pixel-caffeine-wrapper .nav-tabs>li.disabled>a,.pixel-caffeine-wrapper .nav-tabs>li.disabled>a:hover{color:hsla(0,0%,100%,.5)}.pixel-caffeine-wrapper .popover,.pixel-caffeine-wrapper .tooltip-inner{color:#ececec;line-height:1em;background:hsla(0,0%,40%,.9);border:none;border-radius:4px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .tooltip,.pixel-caffeine-wrapper .tooltip.in{opacity:1}.pixel-caffeine-wrapper .popover .arrow,.pixel-caffeine-wrapper .popover .tooltip-arrow,.pixel-caffeine-wrapper .tooltip .arrow,.pixel-caffeine-wrapper .tooltip .tooltip-arrow{display:none}.pixel-caffeine-wrapper .card{display:inline-block;position:relative;width:100%;border-radius:4px;color:rgba(0,0,0,.87);background:#fff;box-shadow:0 8px 17px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19)}.pixel-caffeine-wrapper .card .card-height-indicator{margin-top:100%}.pixel-caffeine-wrapper .card .card-content{position:absolute;top:0;bottom:0;left:0;right:0}.pixel-caffeine-wrapper .card .card-image{height:60%;position:relative;overflow:hidden}.pixel-caffeine-wrapper .card .card-image img{width:100%;height:100%;border-top-left-radius:2px;border-top-right-radius:2px;pointer-events:none}.pixel-caffeine-wrapper .card .card-image .card-image-headline{position:absolute;bottom:16px;left:18px;color:#fff;font-size:2em}.pixel-caffeine-wrapper .card .card-body{height:30%;padding:18px}.pixel-caffeine-wrapper .card .card-footer{height:10%;padding:18px}.pixel-caffeine-wrapper .card .card-footer a,.pixel-caffeine-wrapper .card .card-footer button{margin:0!important;position:relative;bottom:25px;width:auto}.pixel-caffeine-wrapper .card .card-footer a:first-child,.pixel-caffeine-wrapper .card .card-footer button:first-child{left:-15px}.pixel-caffeine-wrapper .modal-content{box-shadow:0 27px 24px 0 rgba(0,0,0,.2),0 40px 77px 0 rgba(0,0,0,.22);border-radius:4px;border:none}.pixel-caffeine-wrapper .modal-content .modal-header{border-bottom:none;padding:24px 24px 0}.pixel-caffeine-wrapper .modal-content .modal-body{padding:24px 24px 16px}.pixel-caffeine-wrapper .modal-content .modal-footer{border-top:none;padding:7px}.pixel-caffeine-wrapper .modal-content .modal-footer button{margin:0;padding-left:16px;padding-right:16px;width:auto}.pixel-caffeine-wrapper .modal-content .modal-footer button.pull-left{padding-left:5px;padding-right:5px;position:relative;left:-5px}.pixel-caffeine-wrapper .modal-content .modal-footer button+button{margin-bottom:16px}.pixel-caffeine-wrapper .modal-content .modal-body+.modal-footer{padding-top:0}.pixel-caffeine-wrapper .modal-backdrop{background:rgba(0,0,0,.3)}.pixel-caffeine-wrapper .panel{border-radius:2px;border:0;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .panel.panel-default>.panel-heading,.pixel-caffeine-wrapper .panel>.panel-heading{background-color:#eee}.pixel-caffeine-wrapper .panel.panel-inverse>.panel-heading{background-color:#3f51b5}.pixel-caffeine-wrapper .panel.panel-primary>.panel-heading{background-color:#4c70ba}.pixel-caffeine-wrapper .panel.panel-success>.panel-heading{background-color:#68aa20}.pixel-caffeine-wrapper .panel.panel-info>.panel-heading{background-color:#5bc0de}.pixel-caffeine-wrapper .panel.panel-warning>.panel-heading{background-color:#fd9c00}.pixel-caffeine-wrapper .panel.panel-danger>.panel-heading{background-color:#e15667}.pixel-caffeine-wrapper [class*=panel-]>.panel-heading{color:hsla(0,0%,100%,.84);border:0}.pixel-caffeine-wrapper .panel-default>.panel-heading,.pixel-caffeine-wrapper .panel:not([class*=panel-])>.panel-heading{color:rgba(0,0,0,.87)}.pixel-caffeine-wrapper .panel-footer{background-color:#eee}.pixel-caffeine-wrapper hr.on-dark{color:#5e5e5e}.pixel-caffeine-wrapper hr.on-light{color:#fff}@media (-o-device-pixel-ratio:3/4),(-webkit-min-device-pixel-ratio:0.75),(min--moz-device-pixel-ratio:0.75),(min-device-pixel-ratio:0.75),(min-resolution:0.75dppx),(min-resolution:120dpi){.pixel-caffeine-wrapper hr{height:.75px}}@media (-o-device-pixel-ratio:1),(-webkit-min-device-pixel-ratio:1),(min--moz-device-pixel-ratio:1),(min-device-pixel-ratio:1),(min-resolution:1dppx),(min-resolution:160dpi){.pixel-caffeine-wrapper hr{height:1px}}@media (-o-device-pixel-ratio:133/100),(-webkit-min-device-pixel-ratio:1.33),(min--moz-device-pixel-ratio:1.33),(min-device-pixel-ratio:1.33),(min-resolution:1.33dppx),(min-resolution:213dpi){.pixel-caffeine-wrapper hr{height:1.333px}}@media (-o-device-pixel-ratio:3/2),(-webkit-min-device-pixel-ratio:1.5),(min--moz-device-pixel-ratio:1.5),(min-device-pixel-ratio:1.5),(min-resolution:1.5dppx),(min-resolution:240dpi){.pixel-caffeine-wrapper hr{height:1.5px}}@media (-o-device-pixel-ratio:2/1),(-webkit-min-device-pixel-ratio:2),(min--moz-device-pixel-ratio:2),(min-device-pixel-ratio:2),(min-resolution:2dppx),(min-resolution:380dpi){.pixel-caffeine-wrapper hr{height:2px}}@media (-o-device-pixel-ratio:3/1),(-webkit-min-device-pixel-ratio:3),(min--moz-device-pixel-ratio:3),(min-device-pixel-ratio:3),(min-resolution:3dppx),(min-resolution:480dpi){.pixel-caffeine-wrapper hr{height:3px}}@media (-o-device-pixel-ratio:4/1),(-webkit-min-device-pixel-ratio:4),(min--moz-device-pixel-ratio:4),(min-device-pixel-ratio:3),(min-resolution:4dppx),(min-resolution:640dpi){.pixel-caffeine-wrapper hr{height:4px}}.pixel-caffeine-wrapper *{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-tap-highlight-color:transparent}.pixel-caffeine-wrapper :focus{outline:0}.pixel-caffeine-wrapper .snackbar{background-color:#323232;color:hsla(0,0%,100%,.84);font-size:14px;border-radius:4px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);height:0;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0s linear .2s,padding 0s linear .2s,height 0s linear .2s;transform:translateY(200%)}.pixel-caffeine-wrapper .snackbar.snackbar-opened{padding:14px 15px;margin-bottom:20px;height:auto;transition:transform .2s ease-in-out,opacity .2s ease-in,height 0s linear .2s,height 0s linear .2s;transform:none}.pixel-caffeine-wrapper .snackbar.toast{border-radius:200px}.pixel-caffeine-wrapper .noUi-target,.pixel-caffeine-wrapper .noUi-target *{-webkit-touch-callout:none;-ms-touch-action:none;user-select:none;box-sizing:border-box}.pixel-caffeine-wrapper .noUi-base{width:100%;height:100%;position:relative}.pixel-caffeine-wrapper .noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.pixel-caffeine-wrapper .noUi-handle{position:relative;z-index:1}.pixel-caffeine-wrapper .noUi-stacking .noUi-handle{z-index:10}.pixel-caffeine-wrapper .noUi-state-tap .noUi-origin{transition:left .3s,top .3s}.pixel-caffeine-wrapper .noUi-state-drag *{cursor:inherit!important}.pixel-caffeine-wrapper .noUi-horizontal{height:10px}.pixel-caffeine-wrapper .noUi-handle{box-sizing:border-box;width:12px;height:12px;left:-10px;top:-5px;cursor:ew-resize;border-radius:100%;transition:all .2s ease-out;border:1px solid}.pixel-caffeine-wrapper .noUi-vertical .noUi-handle{margin-left:5px;cursor:ns-resize}.pixel-caffeine-wrapper .noUi-horizontal.noUi-extended{padding:0 15px}.pixel-caffeine-wrapper .noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.pixel-caffeine-wrapper .noUi-background{height:2px;margin:20px 0}.pixel-caffeine-wrapper .noUi-origin{margin:0;border-radius:0;height:2px;background:#c8c8c8}.pixel-caffeine-wrapper .noUi-origin[style^="left: 0"] .noUi-handle{background-color:#fff;border:2px solid #c8c8c8}.pixel-caffeine-wrapper .noUi-origin[style^="left: 0"] .noUi-handle.noUi-active{border-width:1px}.pixel-caffeine-wrapper .noUi-target{border-radius:4px}.pixel-caffeine-wrapper .noUi-horizontal{height:2px;margin:15px 0}.pixel-caffeine-wrapper .noUi-vertical{height:100%;width:2px;margin:0 15px;display:inline-block}.pixel-caffeine-wrapper .noUi-handle.noUi-active{transform:scale3d(2.5,2.5,1)}.pixel-caffeine-wrapper [disabled].noUi-slider{opacity:.5}.pixel-caffeine-wrapper [disabled] .noUi-handle{cursor:not-allowed}.pixel-caffeine-wrapper .slider{background:#c8c8c8}.pixel-caffeine-wrapper .slider.noUi-connect,.pixel-caffeine-wrapper .slider.slider-default.noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse.noUi-connect{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary.noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success.noUi-connect{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info.noUi-connect{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning.noUi-connect{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger.noUi-connect{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-connect,.pixel-caffeine-wrapper .slider.slider-default .noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-connect{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-connect{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-connect{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-connect{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-connect{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-connect{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-handle,.pixel-caffeine-wrapper .slider.slider-default .noUi-handle{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-handle{background-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-handle{background-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-handle{background-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-handle{background-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-handle{background-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-handle{background-color:#e15667}.pixel-caffeine-wrapper .slider .noUi-handle,.pixel-caffeine-wrapper .slider.slider-default .noUi-handle{border-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-inverse .noUi-handle{border-color:#3f51b5}.pixel-caffeine-wrapper .slider.slider-primary .noUi-handle{border-color:#4c70ba}.pixel-caffeine-wrapper .slider.slider-success .noUi-handle{border-color:#68aa20}.pixel-caffeine-wrapper .slider.slider-info .noUi-handle{border-color:#5bc0de}.pixel-caffeine-wrapper .slider.slider-warning .noUi-handle{border-color:#fd9c00}.pixel-caffeine-wrapper .slider.slider-danger .noUi-handle{border-color:#e15667}.pixel-caffeine-wrapper .selectize-control.multi,.pixel-caffeine-wrapper .selectize-control.single{padding:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active{cursor:text;background:transparent;box-shadow:none;border:0;padding:0;height:100%;font-size:14px;line-height:30px}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input .has-items,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active .has-items,.pixel-caffeine-wrapper .selectize-control.single .selectize-input .has-items,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active .has-items{padding:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input:after{right:5px;position:absolute;font-size:25px;content:"\E5C5";font-family:Material Icons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input input{font-size:14px;outline:0;border:0;background:transparent}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active.label-floating-fix input,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.label-floating-fix input{opacity:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div{display:inline-block;margin:0 8px 3px 0;padding:0;background:transparent;border:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div:after{content:","}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item:last-of-type:after,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div:last-of-type:after{content:""}.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>.item.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input.input-active>div.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>.item.active,.pixel-caffeine-wrapper .selectize-control.multi .selectize-input>div.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>.item.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input.input-active>div.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>.item.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-input>div.active{font-weight:700;background:transparent;border:0}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown{position:absolute;z-index:1000;border:0;width:100%!important;left:0!important;height:auto;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);border-radius:4px;padding:0;margin-top:3px}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .active,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .active{background-color:inherit}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .highlight,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .highlight{background-color:#d5d8ff}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .selected,.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .selected.active,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .selected,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .selected.active{background-color:#eee}.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown .optgroup-header,.pixel-caffeine-wrapper .selectize-control.multi .selectize-dropdown [data-selectable],.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown .optgroup-header,.pixel-caffeine-wrapper .selectize-control.single .selectize-dropdown [data-selectable]{padding:10px 20px;cursor:pointer}.pixel-caffeine-wrapper .selectize-control.multi .dropdown-active~.selectize-dropdown,.pixel-caffeine-wrapper .selectize-control.single .dropdown-active~.selectize-dropdown{display:block}.pixel-caffeine-wrapper .dropdownjs:after{right:5px;top:3px;font-size:25px;position:absolute;font-family:Material Icons;font-style:normal;font-weight:400;content:"\E5C5";pointer-events:none;color:#757575}.pixel-caffeine-wrapper .withripple{position:relative}.pixel-caffeine-wrapper .ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;border-radius:inherit;pointer-events:none}.pixel-caffeine-wrapper .ripple{position:absolute;width:20px;height:20px;margin-left:-10px;margin-top:-10px;border-radius:100%;background-color:#000;background-color:rgba(0,0,0,.05);transform:scale(1);transform-origin:50%;opacity:0;pointer-events:none}.pixel-caffeine-wrapper .ripple.ripple-on{transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;opacity:.1}.pixel-caffeine-wrapper .ripple.ripple-out{transition:opacity .1s linear 0s!important;opacity:0}.pixel-caffeine-wrapper table{border-collapse:collapse;border-spacing:0}.pixel-caffeine-wrapper .material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .wrap{background:transparent}.pixel-caffeine-wrapper h1,.pixel-caffeine-wrapper h2,.pixel-caffeine-wrapper h3,.pixel-caffeine-wrapper h4,.pixel-caffeine-wrapper h5,.pixel-caffeine-wrapper h6{font-weight:700}.pixel-caffeine-wrapper strong{font-weight:600}.pixel-caffeine-wrapper .actions .btn-fab{margin:0 5px}.pixel-caffeine-wrapper .actions .btn-fab.btn-mini{margin:0 2px}.pixel-caffeine-wrapper .wrap .page-title{margin-bottom:10px;font-size:28px;font-weight:400}.pixel-caffeine-wrapper .nav-tab:focus,.pixel-caffeine-wrapper .nav-tab:hover{background-color:#fff;color:#555}.pixel-caffeine-wrapper .nav-tab,.pixel-caffeine-wrapper .nav-tab:focus,.pixel-caffeine-wrapper .nav-tab:hover{color:#555;text-decoration:none}.pixel-caffeine-wrapper .nav-tab-active,.pixel-caffeine-wrapper .nav-tab-active:focus,.pixel-caffeine-wrapper .nav-tab-active:hover{border-bottom-color:#fafafa;color:#000;background:#fafafa}.pixel-caffeine-wrapper .nav-tab-active,.pixel-caffeine-wrapper .plugin-sec{background:#fafafa}.pixel-caffeine-wrapper .plugin-sec{padding:30px;border:1px solid #ccc}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar{margin-top:30px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:after,.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:before{display:table;content:" "}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar:after{clear:both}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item{margin:15px 0}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .loading-msg{display:block;margin-bottom:5px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .list-group .row-content{position:relative;min-height:60px;background:url(placeholder-loading-news.png) no-repeat 0 0;background-size:100% 100%;opacity:.3}@media screen and (min-width:1200px){.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar-item.fake-item .list-group .row-content:before{content:"";position:absolute;top:0;left:0;display:block;width:100%;height:100%;animation:placeholder-shimmer 1s linear forwards infinite;background:#fafafa;background:linear-gradient(90deg,transparent 8%,#fafafa 18%,transparent 33%);background-size:800px 104px}}.pixel-caffeine-wrapper .plugin-sec .banner-wrap{float:left;width:250px;margin:0 30px 30px 0;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a{background:#fff}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a:hover img{opacity:.9}.pixel-caffeine-wrapper .plugin-sec .banner-wrap a:active img{opacity:1}.pixel-caffeine-wrapper .plugin-sec .banner-wrap img{display:block;width:100%;height:auto;border:5px solid #fff;transition:opacity .3s ease-out}@media screen and (min-width:1200px){.pixel-caffeine-wrapper .plugin-sec{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.pixel-caffeine-wrapper .plugin-sec .plugin-content{width:calc(100% - 250px - 30px);margin-right:30px}.pixel-caffeine-wrapper .plugin-sec .plugin-sidebar{width:250px;margin-top:0}}.pixel-caffeine-wrapper .sec-overlay{position:relative}.pixel-caffeine-wrapper .sec-overlay:after{background:rgba(0,0,0,.3);content:"";width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.pixel-caffeine-wrapper .sec-overlay .bumping{z-index:2;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.pixel-caffeine-wrapper .data-group{position:relative}.pixel-caffeine-wrapper .data-group:after,.pixel-caffeine-wrapper .data-group:before{display:table;content:" "}.pixel-caffeine-wrapper .data-group:after{clear:both}.pixel-caffeine-wrapper .data-group .data{display:inline-block;margin-bottom:5px;text-align:right;font-size:14px;line-height:1.42857;color:#919191;font-weight:400}.pixel-caffeine-wrapper .data-group .value{font-size:14px}.pixel-caffeine-wrapper .data-group .value-info{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .data-group,.pixel-caffeine-wrapper .form-group{margin-left:0;margin-right:0;margin-top:0;padding-bottom:8px}.pixel-caffeine-wrapper .panel .data-group,.pixel-caffeine-wrapper .panel .form-group{margin-left:0;margin-right:0}.pixel-caffeine-wrapper .text-status{display:inline-block;vertical-align:middle;font-size:14px}.pixel-caffeine-wrapper .text-status-pending{color:#fd9c00}.pixel-caffeine-wrapper .control-wrap{font-size:14px}.pixel-caffeine-wrapper .form-group label.control-label{padding-top:7px;padding-bottom:7px;margin-top:0;font-size:14px;color:#919191;text-transform:none}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group .radio label{font-weight:300}.pixel-caffeine-wrapper .form-group .multiple-fields .form-group{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding-bottom:20px}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap{-webkit-box-flex:1 1 auto;-moz-box-flex:1 1 auto;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;padding-left:0}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap .form-control{margin-bottom:0}.pixel-caffeine-wrapper .form-group .multiple-fields .control-wrap+.control-wrap{padding-left:15px}.pixel-caffeine-wrapper .form-group .help-block{position:relative;display:inherit}.pixel-caffeine-wrapper .form-group.has-error .form-control,.pixel-caffeine-wrapper .form-group.has-error .select2-container .select2-choice,.pixel-caffeine-wrapper .form-group.has-error .select2-container .select2-choices{background-color:#fceeef}.pixel-caffeine-wrapper .form-group.has-error .select2-chosen,.pixel-caffeine-wrapper .form-group.has-error .text{color:#e15667}.pixel-caffeine-wrapper .form-group .form-control[disabled]{background-color:#f6f6f6;color:#bdbdbd}.pixel-caffeine-wrapper .form-group .checkbox label,.pixel-caffeine-wrapper .form-group.is-focused .checkbox label,.pixel-caffeine-wrapper .form-group.is-focused .radio label,.pixel-caffeine-wrapper .form-group .radio label{color:#444;font-weight:400}.pixel-caffeine-wrapper .form-group.is-focused .checkbox label:focus,.pixel-caffeine-wrapper .form-group.is-focused .checkbox label:hover,.pixel-caffeine-wrapper .form-group.is-focused label.checkbox-inline:focus,.pixel-caffeine-wrapper .form-group.is-focused label.checkbox-inline:hover{color:#444}.pixel-caffeine-wrapper .form-group .help-block-error,.pixel-caffeine-wrapper .form-group.is-focused .help-block-error{display:none}.pixel-caffeine-wrapper .form-group.has-error .help-block-error{display:block}.pixel-caffeine-wrapper .radio label,.pixel-caffeine-wrapper label.radio-inline{padding-left:32px}.pixel-caffeine-wrapper .checkbox{position:relative;padding-left:30px}.pixel-caffeine-wrapper .checkbox .checkbox-material{position:absolute;top:0;left:0;width:20px;height:20px}.pixel-caffeine-wrapper .checkbox .checkbox-material:before{top:0}.pixel-caffeine-wrapper .checkbox .checkbox-material .check{border-radius:0}.pixel-caffeine-wrapper .checkbox .text{display:block}.pixel-caffeine-wrapper .multi-form-group:after,.pixel-caffeine-wrapper .multi-form-group:before{display:table;content:" "}.pixel-caffeine-wrapper .multi-form-group:after{clear:both}@media screen and (min-width:992px){.pixel-caffeine-wrapper .multi-form-group .sub-form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;float:right!important}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .multi-form-group .sub-form-group{float:left;width:83.33333%}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .modal .multi-form-group .sub-form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .modal .multi-form-group .sub-form-group{float:left;width:100%}}.pixel-caffeine-wrapper input{margin-top:0;margin-left:0;margin-right:0}.pixel-caffeine-wrapper .form-toggle{padding-top:12px;padding-bottom:20px}.pixel-caffeine-wrapper .form-toggle .control-wrap{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .form-toggle .text-status{margin-top:.3em}.pixel-caffeine-wrapper .togglebutton{display:inline-block;vertical-align:middle;padding-left:15px}.pixel-caffeine-wrapper .togglebutton label{margin-bottom:0}.pixel-caffeine-wrapper .togglebutton label input{position:absolute}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle{background:rgba(104,170,32,.5)}.pixel-caffeine-wrapper .togglebutton label input[type=checkbox]:checked+.toggle:after{background:#68aa20}.pixel-caffeine-wrapper .togglebutton.pending label input[type=checkbox]+.toggle{background:rgba(253,156,0,.5)}.pixel-caffeine-wrapper .togglebutton.pending label input[type=checkbox]+.toggle:after{background:#fd9c00}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .togglebutton,.pixel-caffeine-wrapper .form-inline .togglebutton{padding-left:0}}.pixel-caffeine-wrapper .form-horizontal .togglebutton,.pixel-caffeine-wrapper .form-inline .togglebutton{margin-top:.3em}.pixel-caffeine-wrapper .form-control,.pixel-caffeine-wrapper .form-group .form-control{background-color:#f2f4fa;padding-left:10px;padding-right:10px}.pixel-caffeine-wrapper .form-control::-moz-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-moz-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-control:-ms-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control:-ms-input-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-control::-webkit-input-placeholder,.pixel-caffeine-wrapper .form-group .form-control::-webkit-input-placeholder{font-weight:300}.pixel-caffeine-wrapper .form-group-lg .form-control{font-size:2em}.pixel-caffeine-wrapper .form-group-lg.sub-panel{margin-top:0}.pixel-caffeine-wrapper .multiple-fields-actions .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .form-inline .control-wrap{display:inline-block;width:auto;vertical-align:middle;margin-right:10px}.pixel-caffeine-wrapper .form-inline label.control-label{margin-right:10px}.pixel-caffeine-wrapper .form-inline .text{font-size:14px}.pixel-caffeine-wrapper .form-horizontal .control-label{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .control-label{float:left;width:16.66667%}}.pixel-caffeine-wrapper .form-horizontal .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .control-wrap{float:left;width:83.33333%}}.pixel-caffeine-wrapper .form-horizontal .control-label,.pixel-caffeine-wrapper .form-horizontal .control-wrap,.pixel-caffeine-wrapper .form-horizontal .data-group .data,.pixel-caffeine-wrapper .form-horizontal .data-group .value{padding-left:0;padding-right:0}.pixel-caffeine-wrapper .form-horizontal .checkbox .checkbx-material{top:10px}.pixel-caffeine-wrapper .form-horizontal .list-filter{padding-top:7px}.pixel-caffeine-wrapper .form-horizontal .form-inline .control-wrap{float:none;width:auto}.pixel-caffeine-wrapper .form-horizontal .form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .multi-form-group .sub-form-group.form-vertical .form-group{padding-bottom:20px}.pixel-caffeine-wrapper .form-horizontal .multi-form-group .sub-form-group.form-vertical .control-label{padding-top:0;margin-top:0}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .data-group,.pixel-caffeine-wrapper .form-horizontal .form-group{padding-bottom:20px}.pixel-caffeine-wrapper .form-horizontal .control-label,.pixel-caffeine-wrapper .form-horizontal .data-group .data{padding-right:15px}.pixel-caffeine-wrapper .form-horizontal .form-group:not(.form-toggle) .control-label{margin-top:.3em}.pixel-caffeine-wrapper .form-horizontal .control-wrap,.pixel-caffeine-wrapper .form-horizontal .data-group .data+.value{padding-left:15px}.pixel-caffeine-wrapper .form-horizontal .form-toggle{padding-top:0}.pixel-caffeine-wrapper .form-horizontal .form-inline .control-label{margin-right:0}.pixel-caffeine-wrapper .form-horizontal .help-block{position:absolute;margin-top:-5px}.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error.data-group,.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error.form-group{padding-bottom:0}.pixel-caffeine-wrapper .form-horizontal .has-error-long.has-error .help-block{position:static}.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-label,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .data{position:relative;min-height:1px;padding-right:15px;padding-left:15px}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-label,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .data{float:left;width:16.66667%}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .value{position:relative;min-height:1px;padding-right:15px;padding-left:15px}}@media screen and (min-width:992px) and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal .form-horizontal-inline .data-group .value{float:left;width:83.33333%}}.pixel-caffeine-wrapper .form-horizontal .data-group .data{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .data-group .data{float:left;width:16.66667%}}.pixel-caffeine-wrapper .form-horizontal .data-group .value{position:relative;min-height:1px;padding-right:15px;padding-left:15px}@media (min-width:768px){.pixel-caffeine-wrapper .form-horizontal .data-group .value{float:left;width:83.33333%}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input .control-wrap:first-child{width:25%}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline.select-input .control-wrap:last-child{width:75%}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline .controls-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline .controls-wrap .control-wrap.w25{width:25%}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline .controls-wrap .control-wrap.w33{width:33%}.pixel-caffeine-wrapper .form-horizontal .multiple-fields-inline .field-helper{margin-left:16.6666667%;padding-left:15px}}.pixel-caffeine-wrapper .form-horizontal-inline .form-control,.pixel-caffeine-wrapper .form-horizontal-inline .text{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .form-horizontal-inline .form-control{width:auto;margin-right:10px}.pixel-caffeine-wrapper .form-horizontal-inline .checkbox.with-form-control .checkbox-material{top:.8em}.pixel-caffeine-wrapper .form-horizontal-inline .form-radio .control-wrap{display:block}@media screen and (min-width:480px){.pixel-caffeine-wrapper .form-horizontal-inline .form-radio .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex}}.pixel-caffeine-wrapper .form-horizontal-inline .form-radio label{text-align:left}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .form-control{width:100%;text-align:left}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label{width:auto}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-wrap:wrap}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap{width:auto;margin:auto 0;padding:0}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap .control-label,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .control-wrap .form-control,.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .form-control{width:auto}.pixel-caffeine-wrapper .form-horizontal-inline .multiple-fields-inline .select2-container.select2-container{display:inline-block!important}}.pixel-caffeine-wrapper .form-vertical .form-group{padding-bottom:8px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .form-vertical .multiple-fields,.pixel-caffeine-wrapper .form-vertical>.form-group>.control-label,.pixel-caffeine-wrapper .form-vertical>.form-group>.control-wrap{float:none;padding-left:0;padding-right:0}.pixel-caffeine-wrapper .form-vertical .control-label{width:auto;text-align:left}.pixel-caffeine-wrapper .form-vertical .control-wrap{width:100%}.pixel-caffeine-wrapper .form-vertical .multiple-fields .control-wrap{width:auto}}.pixel-caffeine-wrapper .radio{margin-top:10px;margin-bottom:10px}.pixel-caffeine-wrapper .input-group{margin-bottom:10px}.pixel-caffeine-wrapper .input-group .input-group-btn{padding-left:0}.pixel-caffeine-wrapper .input-group.select-and-multi-tags{display:block}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn,.pixel-caffeine-wrapper .input-group.select-and-multi-tags .select2-container{display:block!important;width:100%}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn{padding-right:0;margin-bottom:10px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .input-group.select-and-multi-tags{display:table}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn,.pixel-caffeine-wrapper .input-group.select-and-multi-tags .select2-container{display:table-cell!important}.pixel-caffeine-wrapper .input-group.select-and-multi-tags .input-group-btn{width:auto;vertical-align:top;padding-right:15px;margin-bottom:0}}.pixel-caffeine-wrapper p{font-size:14px;line-height:1.42857}.pixel-caffeine-wrapper .jumbotron{background:#fff;padding:35px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .jumbotron .tit{margin-top:0;margin-bottom:20px}.pixel-caffeine-wrapper .panel>.panel-footer,.pixel-caffeine-wrapper .panel>.panel-heading{background:#fff}.pixel-caffeine-wrapper .panel .panel-footer:after,.pixel-caffeine-wrapper .panel .panel-footer:before{display:table;content:" "}.pixel-caffeine-wrapper .panel .panel-footer:after{clear:both}.pixel-caffeine-wrapper .panel .panel-footer .form-control{margin-bottom:0}.pixel-caffeine-wrapper .panel>.panel-heading{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-ms-flex-pack:space-between;-webkit-justify-content:space-between;justify-content:space-between;border-bottom:1px solid #ddd}.pixel-caffeine-wrapper .panel>.panel-heading .text-status{display:block;text-transform:none;margin-top:5px}.pixel-caffeine-wrapper .panel .panel-heading{color:#444;text-transform:uppercase}.pixel-caffeine-wrapper .panel .panel-heading .tit{display:inline-block;margin-top:.2em;margin-bottom:0;font-size:24px}.pixel-caffeine-wrapper .panel .panel-heading .tit:before{margin-top:-.2em;margin-right:20px;color:#c4c4c4;font-size:1.5em}.pixel-caffeine-wrapper .panel .panel-heading .btn{margin:0 0 0 10px}.pixel-caffeine-wrapper .panel .panel-heading .form-group{padding:0}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle{text-align:right}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .toggle{margin-right:6px}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .text-status{font-style:italic}.pixel-caffeine-wrapper .panel .panel-heading .form-toggle .control-label{padding-right:0}.pixel-caffeine-wrapper .panel .panel{box-shadow:none}.pixel-caffeine-wrapper .panel .panel .panel-heading{padding:0}.pixel-caffeine-wrapper .panel .panel .panel-heading .tit{font-size:20px}.pixel-caffeine-wrapper .panel .panel .panel-heading .sub-tit{text-transform:none;font-size:20px}.pixel-caffeine-wrapper .panel .panel .panel-body{padding-left:0;padding-right:0}.pixel-caffeine-wrapper .panel .panel .panel-heading{border-bottom:none;margin-top:40px}.pixel-caffeine-wrapper .panel .panel .panel-heading:before{font-size:2.5em}.pixel-caffeine-wrapper .panel .panel .form-group{margin-top:0;padding-bottom:0}.pixel-caffeine-wrapper .modal .panel{box-shadow:none;margin-top:40px}.pixel-caffeine-wrapper .modal .panel-body{padding:0}.pixel-caffeine-wrapper .modal .panel-heading{border:0;padding:10px 0}.pixel-caffeine-wrapper .modal .panel-heading .tit{font-size:16px}.pixel-caffeine-wrapper .modal .panel-heading .tit:before{margin-right:5px}.pixel-caffeine-wrapper .sub-panel .tit{font-size:20px}.pixel-caffeine-wrapper .panel.disabled,.pixel-caffeine-wrapper .sub-panel.disabled{background:#fafafa;color:#b7b7b7}.pixel-caffeine-wrapper .panel.disabled .divider,.pixel-caffeine-wrapper .sub-panel.disabled .divider{background:#fafafa}.pixel-caffeine-wrapper .panel.disabled .btn-help,.pixel-caffeine-wrapper .sub-panel.disabled .btn-help{color:inherit}.pixel-caffeine-wrapper .table th{text-transform:uppercase}.pixel-caffeine-wrapper .table td{word-break:break-word}.pixel-caffeine-wrapper .table .url{max-width:50vw}.pixel-caffeine-wrapper .table .actions{text-align:center}.pixel-caffeine-wrapper .table .actions .btn{margin:5px}.pixel-caffeine-wrapper .table .info-extra{display:block;color:#919191}@media screen and (min-width:767px){.pixel-caffeine-wrapper .table .btn-group,.pixel-caffeine-wrapper .table .btn-group-sm{min-width:130px;text-align:center}}.pixel-caffeine-wrapper .pagination>.active>a,.pixel-caffeine-wrapper .pagination>.active>a:focus,.pixel-caffeine-wrapper .pagination>.active>a:hover,.pixel-caffeine-wrapper .pagination>.active>span,.pixel-caffeine-wrapper .pagination>.active>span:focus,.pixel-caffeine-wrapper .pagination>.active>span:hover{background-color:#4c70ba;border-color:#4c70ba}.pixel-caffeine-wrapper .pagination .pagination>li>span,.pixel-caffeine-wrapper .pagination>li>a{color:#4c70ba}.pixel-caffeine-wrapper .btn,.pixel-caffeine-wrapper .input-group-btn .btn{padding:8px 30px}.pixel-caffeine-wrapper .btn.btn-fab.btn-default,.pixel-caffeine-wrapper .btn.btn-raised.btn-default,.pixel-caffeine-wrapper .btn:not(.btn-fab),.pixel-caffeine-wrapper .btn:not(.btn-naked),.pixel-caffeine-wrapper .btn:not(.btn-raised){background:#f2f2f2}.pixel-caffeine-wrapper .btn.btn-fab.btn-default:hover,.pixel-caffeine-wrapper .btn.btn-raised.btn-default:hover,.pixel-caffeine-wrapper .btn:not(.btn-fab):hover,.pixel-caffeine-wrapper .btn:not(.btn-naked):hover,.pixel-caffeine-wrapper .btn:not(.btn-raised):hover{background:#e6e6e6}.pixel-caffeine-wrapper .btn:before{font-size:24px}.pixel-caffeine-wrapper .btn:not(.btn-primary) :not(.btn-success) :not(.btn-info) :not(.btn-warning) :not(.btn-danger) :not(.active):before{color:#444}.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-danger.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-danger.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-info.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-info.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-primary.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-primary.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-success.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-success.btn-raised:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):before,.pixel-caffeine-wrapper .btn.btn-warning.btn-raised:not(.btn-link),.pixel-caffeine-wrapper .btn.btn-warning.btn-raised:not(.btn-link):before{color:#fff}.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-danger.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-info.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-primary.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-success.btn-fab:not(.btn-link):hover,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):focus,.pixel-caffeine-wrapper .btn.btn-warning.btn-fab:not(.btn-link):hover{background:currentColor;-webkit-box-shadow:0 0 10px currentColor;box-shadow:0 0 10px currentColor}.pixel-caffeine-wrapper .btn.disabled{pointer-events:none}.pixel-caffeine-wrapper .btn:not(:empty):not(.btn-fab):before{margin-right:.4em}.pixel-caffeine-wrapper .btn.btn-naked{background:transparent;box-shadow:none;color:#777}.pixel-caffeine-wrapper .btn.btn-naked.btn-raised{box-shadow:none}.pixel-caffeine-wrapper .btn.btn-naked.btn-raised:hover{background:#e6e6e6}.pixel-caffeine-wrapper .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-default{-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.pixel-caffeine-wrapper .btn.btn-fab.btn-default:before,.pixel-caffeine-wrapper .btn.btn-fab:before{position:absolute;top:50%;left:50%;-webkit-transform:translate(-12px,-12px);-ms-transform:translate(-12px,-12px);-o-transform:translate(-12px,-12px);transform:translate(-12px,-12px);line-height:24px;width:24px;font-size:24px}.pixel-caffeine-wrapper .btn.btn-fab.btn-default .ripple.ripple-on,.pixel-caffeine-wrapper .btn.btn-fab .ripple.ripple-on{opacity:.3}.pixel-caffeine-wrapper .btn.btn-fab.btn-default .ripple.ripple-out,.pixel-caffeine-wrapper .btn.btn-fab .ripple.ripple-out{opacity:0}.pixel-caffeine-wrapper .btn-group-sm .btn.btn-fab,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini{padding:0;width:28px;min-width:28px;height:28px}.pixel-caffeine-wrapper .btn-group-sm .btn.btn-fab:before,.pixel-caffeine-wrapper .btn.btn-fab.btn-fab-mini:before{-webkit-transform:translate(-14px,-14px);-ms-transform:translate(-14px,-14px);-o-transform:translate(-14px,-14px);transform:translate(-14px,-14px);line-height:28px;width:28px;font-size:16px}.pixel-caffeine-wrapper .btn.btn-fab.btn-primary{background:#4c70ba;color:#4c70ba}.pixel-caffeine-wrapper .btn.btn-fab.btn-success{background:#68aa20;color:#68aa20}.pixel-caffeine-wrapper .btn.btn-fab.btn-info{background:#5bc0de;color:#5bc0de}.pixel-caffeine-wrapper .btn.btn-fab.btn-warning{background:#fd9c00;color:#fd9c00}.pixel-caffeine-wrapper .btn.btn-fab.btn-danger{background:#e15667;color:#e15667}.pixel-caffeine-wrapper .btn.btn-delete:before{content:"delete"}.pixel-caffeine-wrapper .btn.btn-clone:before,.pixel-caffeine-wrapper .btn.btn-delete:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-clone:before{content:"queue"}.pixel-caffeine-wrapper .btn.btn-edit:before{content:"mode_edit"}.pixel-caffeine-wrapper .btn.btn-edit:before,.pixel-caffeine-wrapper .btn.btn-include:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-include:before{content:"add_circle_outline"}.pixel-caffeine-wrapper .btn.btn-exclude:before{content:"remove_circle_outline"}.pixel-caffeine-wrapper .btn.btn-exclude:before,.pixel-caffeine-wrapper .btn.btn-sync:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-sync:before{content:"sync"}.pixel-caffeine-wrapper .btn.btn-refresh:before{content:"refresh";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-help{background:transparent;box-shadow:none;color:#777}.pixel-caffeine-wrapper .btn.btn-help:before{content:"help_outline"}.pixel-caffeine-wrapper .btn-config:before,.pixel-caffeine-wrapper .btn.btn-help:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn-config:before{content:"build"}.pixel-caffeine-wrapper .btn-save:before{content:"save"}.pixel-caffeine-wrapper .btn-apply:before,.pixel-caffeine-wrapper .btn-save:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn-apply:before{content:"check"}.pixel-caffeine-wrapper .btn-back:before{content:"keyboard_arrow_left";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .btn.btn-fb-connect{padding-top:12px;padding-bottom:12px;white-space:normal;font-weight:600;line-height:1.2em}.pixel-caffeine-wrapper .btn.btn-fb-connect:before{content:"";display:inline-block;vertical-align:middle;width:20px;height:20px;background:url(icon-fb.svg) no-repeat;background-size:contain;margin:-4px .5em 0 0}.pixel-caffeine-wrapper .btn.btn-fb-connect[disabled],.pixel-caffeine-wrapper .btn.btn-fb-connect[disabled]:hover{background:#4c70ba;color:#fff}.pixel-caffeine-wrapper .btn-config,.pixel-caffeine-wrapper .btn-save.btn-plugin{font-size:2em}.pixel-caffeine-wrapper .panel-footer .btn-save.btn-plugin{float:right;font-size:1.5em}.pixel-caffeine-wrapper .btn-config:before,.pixel-caffeine-wrapper .btn-save:before{margin-right:10px;font-size:2em}.pixel-caffeine-wrapper .btn-group-toggle .btn{text-align:center}.pixel-caffeine-wrapper .btn-group-toggle .btn.active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).hover,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active:hover{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link).active,.pixel-caffeine-wrapper .btn-group-toggle .btn.btn.active{color:#fff;background:#4c70ba}.pixel-caffeine-wrapper .btn-group-toggle .btn.btn-raised:not(.btn-link):focus.active:hover{background:#718dc8}.pixel-caffeine-wrapper .tooltip-inner{padding:5px 8px}.pixel-caffeine-wrapper .modal{background:rgba(76,112,186,.5);z-index:9990}.pixel-caffeine-wrapper .modal .modal-header .modal-title{padding-top:10px;text-transform:uppercase}.pixel-caffeine-wrapper .modal .modal-header .close{margin-left:10px;font-size:3em;font-weight:400}.pixel-caffeine-wrapper .modal .modal-body,.pixel-caffeine-wrapper .modal .modal-footer{padding-left:24px;padding-right:24px}.pixel-caffeine-wrapper .modal .modal-footer{padding-bottom:24px}.pixel-caffeine-wrapper .alert .close{opacity:.5}.pixel-caffeine-wrapper .alert .alert-link,.pixel-caffeine-wrapper .alert a{color:inherit;text-decoration:underline}.pixel-caffeine-wrapper .alert .alert-link:hover,.pixel-caffeine-wrapper .alert a:hover{opacity:.8}.pixel-caffeine-wrapper .alert a.btn{text-decoration:none}.pixel-caffeine-wrapper .alert a.btn:hover{opacity:1}.pixel-caffeine-wrapper .alert.alert-warning{background:#ffb031;color:#975d00}.pixel-caffeine-wrapper .alert.alert-warning .alert-link,.pixel-caffeine-wrapper .alert.alert-warning a{color:inherit}.pixel-caffeine-wrapper .alert.alert-lite{background:none;padding:0 0 0 1.8em;position:relative;font-size:.9em;margin-bottom:10px}.pixel-caffeine-wrapper .alert.alert-lite:before{position:absolute;top:0;left:0;font-size:1.4em}.pixel-caffeine-wrapper .alert.alert-lite.alert-warning{color:#e48c00}.pixel-caffeine-wrapper .alert.alert-lite.alert-warning:before{content:"warning";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-danger{color:#e15667}.pixel-caffeine-wrapper .alert.alert-lite.alert-danger:before{content:"error";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-success{color:#68aa20}.pixel-caffeine-wrapper .alert.alert-lite.alert-success:before{content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .alert.alert-lite.alert-info{color:#5bc0de}.pixel-caffeine-wrapper .alert.alert-lite.alert-info:before{content:"info";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert{background-color:transparent;padding:0;display:flex;align-items:center}.pixel-caffeine-wrapper .alert-fancy .alert-inner{padding:15px;flex:1 1 auto;position:relative;margin-left:5px}.pixel-caffeine-wrapper .alert-fancy .alert-inner :only-child{margin:0}.pixel-caffeine-wrapper .alert-fancy .alert-inner:after{content:"";position:absolute;left:-15px;top:0;bottom:0;width:0;height:0;border-style:solid;border-width:15px 15px 15px 0;margin:auto}.pixel-caffeine-wrapper .alert-fancy:before{content:"";height:150px;width:150px;min-width:100px;background-repeat:no-repeat}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-warning .alert-inner{background:#ffc464}.pixel-caffeine-wrapper .alert-fancy.alert-warning .alert-inner:after{border-color:transparent #ffc464 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-warning:before{background-image:url(walter-face-lost.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-success .alert-inner{background:#73bb23}.pixel-caffeine-wrapper .alert-fancy.alert-success .alert-inner:after{border-color:transparent #73bb23 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-success:before{background-image:url(walter-face-2.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-danger .alert-inner{background:#e15667}.pixel-caffeine-wrapper .alert-fancy.alert-danger .alert-inner:after{border-color:transparent #e15667 transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-danger:before{background-image:url(walter-face-lost.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-info .alert-inner{background:#5bc0de}.pixel-caffeine-wrapper .alert-fancy.alert-info .alert-inner:after{border-color:transparent #5bc0de transparent transparent}.pixel-caffeine-wrapper .alert-fancy.alert-info:before{background-image:url(walter-face.png);background-size:85%;background-position:0}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fancy.alert-token:before{background-image:url(renew-token.png);background-size:85%;background-position:0}}.pixel-caffeine-wrapper .alert-fixed{position:fixed;z-index:12}.pixel-caffeine-wrapper .alert-fixed .alert{margin-bottom:0;transition:box-shadow .2s ease-in-out,margin-bottom .2s ease-in-out;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}@media screen and (min-width:768px){.pixel-caffeine-wrapper .alert-fixed .alert-fancy.alert{box-shadow:none;background:hsla(0,0%,100%,.8)}.pixel-caffeine-wrapper .alert-fixed .alert-fancy.alert .alert-inner{box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}}.pixel-caffeine-wrapper .alert-wrap:after,.pixel-caffeine-wrapper .alert-wrap:before{display:table;content:" "}.pixel-caffeine-wrapper .alert-wrap:after{clear:both}.pixel-caffeine-wrapper .alert-info-disabled{display:none}.pixel-caffeine-wrapper .disabled-box{position:relative}.pixel-caffeine-wrapper .disabled-box:before{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;background:hsla(0,0%,100%,.75);z-index:10;opacity:.75}.pixel-caffeine-wrapper .disabled-box .alert-info-disabled{display:block;position:absolute;top:75px;left:50%;margin-left:-35%;width:70%;background:#f1f1f1;color:#444;text-align:center;z-index:11;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .disabled-box .alert-info-disabled{width:50%;margin-left:-25%;width:400px;margin-left:-200px}}.pixel-caffeine-wrapper .disabled-box .alert-info-disabled .alert-tit{display:block;font-weight:700;margin-bottom:10px}.pixel-caffeine-wrapper .list-group-tit{font-size:18px;text-transform:uppercase}.pixel-caffeine-wrapper .list-group .list-group-separator:before{width:calc(100% - 69px)}.pixel-caffeine-wrapper .list-group .list-group-item{padding:0}.pixel-caffeine-wrapper .list-group .list-group-item:before{content:"description";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;display:inline-block;vertical-align:top;width:32px;line-height:32px;background:#ccc;border-radius:100%;margin-right:16px;text-align:center;font-size:24px;color:#fff}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-heading{font-size:14px;font-weight:700;line-height:1.42857}.pixel-caffeine-wrapper .list-group .list-group-item a.list-group-item-heading{color:#337ab7}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-date{display:block;margin-bottom:5px;font-style:italic;color:#919191}.pixel-caffeine-wrapper .list-group .list-group-item .list-group-item-text{font-size:12px}.pixel-caffeine-wrapper .list-group .list-group-item .row-content{width:calc(100% - 53px);min-height:auto}.pixel-caffeine-wrapper .list-group.no-icon .list-group-separator:before{width:100%}.pixel-caffeine-wrapper .list-group.no-icon .list-group-item:before{display:none}.pixel-caffeine-wrapper .list-group.no-icon .list-group-item .row-content{width:100%}.pixel-caffeine-wrapper .list-filter .filter-and{text-transform:uppercase;font-weight:400;color:#ccc;padding-right:10px;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter .label{background-color:transparent;border-radius:0;color:#444;text-align:left;font-weight:300;font-size:14px;line-height:normal;white-space:normal;transition:background-color .2s cubic-bezier(.4,0,.2,1);border:1px dashed #ccc;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter .actions{opacity:0;transition:all .5s cubic-bezier(.4,0,.2,1);padding:0 10px;display:table-cell;vertical-align:middle}.pixel-caffeine-wrapper .list-filter li{display:table;margin-bottom:10px}.pixel-caffeine-wrapper .list-filter li:hover .label{background-color:#eee}.pixel-caffeine-wrapper .list-filter li:hover .actions{opacity:1}.pixel-caffeine-wrapper .loading-data:not(.btn):after{content:"sync";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;animation:anim-spin 1s infinite linear;font-size:inherit;line-height:normal;color:inherit}.pixel-caffeine-wrapper .loading-data.btn{pointer-events:none}.pixel-caffeine-wrapper .loading-data.btn:before{content:"sync";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;animation:anim-spin 1s infinite linear;font-size:inherit;line-height:normal;color:inherit;font-size:24px}.pixel-caffeine-wrapper .loading-data.btn-fab:before{margin-top:-12px;margin-left:-12px}.pixel-caffeine-wrapper .loading-data.btn-fab-mini:before{margin-top:-14px;margin-left:-14px}.pixel-caffeine-wrapper .btn-group-sm .btn-fab.loading-data{pointer-events:none}.pixel-caffeine-wrapper .btn-group-sm .btn-fab.loading-data:before{margin-top:-14px;margin-left:-14px}.pixel-caffeine-wrapper .loading-data.loading-box{position:relative}.pixel-caffeine-wrapper .loading-data.loading-box:before{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;background:hsla(0,0%,100%,.75);z-index:10}.pixel-caffeine-wrapper .loading-data.loading-box:after{position:absolute;top:50%;left:50%;width:90px;height:90px;line-height:90px;background:#eee;border-radius:50%;margin-top:-45px;margin-left:-45px;text-align:center;font-size:50px;color:#444;z-index:11}.pixel-caffeine-wrapper .loading-data.loading-box:after,.pixel-caffeine-wrapper .loading-data.loading-box:before{opacity:.75}@keyframes placeholder-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.pixel-caffeine-wrapper .highlight-element.form-toggle{padding:20px 15px}.pixel-caffeine-wrapper .highlight-element.warning{background:#ffebca}.pixel-caffeine-wrapper .popover a{color:#fff;text-decoration:underline}.pixel-caffeine-wrapper .panel-ca-list .panel-heading .tit:before{content:"person";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ca-list .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-ca-list .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-ca-list .table .name{max-width:500px;font-weight:600}.pixel-caffeine-wrapper .panel-ca-list .table .name .info-extra{font-weight:400}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-ca-list .table .name{width:auto}}.pixel-caffeine-wrapper .panel-ca-new .panel-heading .tit:before{content:"person_add"}.pixel-caffeine-wrapper .panel-ca-filters .panel-heading .tit:before,.pixel-caffeine-wrapper .panel-ca-new .panel-heading .tit:before{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ca-filters .panel-heading .tit:before{content:"filter_list"}.pixel-caffeine-wrapper .modal-ca-filter .btn-group{padding-bottom:20px}.pixel-caffeine-wrapper .modal-ca-filter .form-radio .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-radio .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .modal-ca-filter .form-radio .radio{-webkit-box-flex:0 0 33%;-moz-box-flex:0 0 33%;-webkit-flex:0 0 33%;-ms-flex:0 0 33%;flex:0 0 33%;padding-right:32px}.pixel-caffeine-wrapper .modal-ca-filter .form-user,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields{padding-left:7.5px;padding-right:7.5px}.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-label,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-label,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap{float:left;width:33.33333%}}.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-wrap,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap+.control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .form-user .control-wrap,.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields .control-wrap+.control-wrap{float:left;width:66.66667%}}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.multiple-three .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:7.5px;padding-right:7.5px}@media (min-width:992px){.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.multiple-three .control-wrap{float:left;width:33.33333%}}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields{padding-bottom:20px}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .form-group{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding-bottom:10px}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .form-control{margin-bottom:0}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .control-wrap{-webkit-box-flex:1 1 auto;-moz-box-flex:1 1 auto;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.pixel-caffeine-wrapper .modal-ca-filter .multiple-fields.can-add-fields .multiple-fields-actions{margin-left:-7.5px;margin-right:-7.5px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-heading .tit:before{content:"settings";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-body{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .panel-footer .form-group{margin-top:0;padding-bottom:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel{-webkit-box-flex:1 0 100%;-moz-box-flex:1 0 100%;-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;padding:15px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel:first-child{position:relative;order:2;padding-top:35px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{background:#f2f4fa;padding-bottom:35px;border-bottom:1px solid #ddd;order:1}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel{-webkit-box-flex:1 0 49%;-moz-box-flex:1 0 49%;-webkit-flex:1 0 49%;-ms-flex:1 0 49%;flex:1 0 49%}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel:first-child{padding-right:45px;border-right:1px solid #ddd;border-bottom:0;padding-top:15px;order:1}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{padding-left:45px;order:2;padding-bottom:15px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .divider{display:block;position:absolute;top:0;right:0;left:0;margin:auto;width:70px;height:70px;line-height:70px;border-radius:50%;background:#fff;border:1px solid #ddd;margin-top:-35px;text-align:center;text-transform:uppercase;font-style:normal;font-weight:600;color:#aaa}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .divider{top:50%;right:-35.5px;left:auto}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect{padding-left:12px;padding-right:12px;font-size:1.2em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect:before{width:16px;height:16px;margin:-4px .5em 0 0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect{font-size:1.5em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .btn-fb-connect:before{width:20px;height:20px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap{position:relative;padding-left:0}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap:before{position:absolute;top:0;right:0;content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;width:40px;height:40px;line-height:40px;font-size:2em;text-align:center;color:#68aa20;display:none}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id .control-wrap .form-control{padding-right:40px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id.active .control-wrap:before{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-px-id.active .form-control{background-image:linear-gradient(#68aa20,#68aa20),linear-gradient(#d2d2d2,#d2d2d2);background-size:100% 2px,100% 1px;border-bottom-color:#68aa20;color:#68aa20}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect{border-bottom:none}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions{display:none;overflow:hidden;font-size:12px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-disconnect{display:inline-block;padding-right:10px;margin-right:10px;border-right:1px dotted #68aa20;-webkit-transform:translate(-100%);-ms-transform:translate(-100%);-o-transform:translate(-100%);transform:translate(-100%)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-disconnect{border-right:none}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-edit{font-weight:600;-webkit-transform:translate(100%);-ms-transform:translate(100%);-o-transform:translate(100%);transform:translate(100%)}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-actions .user-edit{float:right}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-info{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:flex-start;-webkit-align-items:flex-start;align-items:flex-start}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .user-avatar{width:35px;height:35px;margin-right:10px;border:3px solid #fff}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect .sub-panel-actions{float:right}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up{background:#ffebca}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .form-group .select2-container:not(.select2-container-disabled){background-color:#fff;background-image:linear-gradient(#fd9c00,#fd9c00),linear-gradient(#ffd797,#ffd797);background-position:bottom,bottom}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .form-group label.control-label{color:#e48c00}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .user-info{float:left;margin:10px 0;font-size:12px;color:#777}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.to-set-up .user-disconnect{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active{background:#e5f7d2}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info{background:#68aa20;padding:16px;border-radius:4px;margin-top:10px;margin-bottom:10px;white-space:normal;font-weight:600;line-height:1.2em;text-transform:none;color:#fff}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info{-ms-flex-align:flex-start;-webkit-align-items:flex-start;align-items:flex-start;-ms-flex-pack:flex-start;-webkit-justify-content:flex-start;justify-content:flex-start;margin-top:16px;position:relative}@media screen and (min-width:480px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{position:absolute;top:50%;margin-top:-25px;right:16px;width:50px;height:50px;line-height:50px;content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:inherit;font-size:3.8em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:80px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar{display:block}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{display:none}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:0}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-avatar,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info:after{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-info .user-info-account{margin-right:80px}}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-avatar{display:none;width:50px;height:50px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-name{font-size:14px;line-height:normal}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account{display:block;text-transform:uppercase;font-size:12px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account{font-weight:300}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id{font-style:normal;color:#fff;font-size:1.3em}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .pixel-id-value,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account-value{font-weight:600;word-break:break-all}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-ad-account-value{display:block;text-transform:none;font-size:14px}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .fb-connect-info .user-name{font-weight:300;color:#d9f3bd}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions{display:block}.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions .user-disconnect,.pixel-caffeine-wrapper .panel-settings-set-fb-px .sub-panel-fb-connect.active .user-actions .user-edit{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.pixel-caffeine-wrapper .panel-settings-ca .panel-heading .tit:before{content:"person";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-ca .form-track{margin:20px 0}.pixel-caffeine-wrapper .panel-settings-ca .form-track:after,.pixel-caffeine-wrapper .panel-settings-ca .form-track:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-settings-ca .form-track:after{clear:both}.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-label,.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-label,.pixel-caffeine-wrapper .panel-settings-ca .form-track .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .panel-settings-ca .control-label{padding-top:0;text-align:left}.pixel-caffeine-wrapper .panel-settings-ca .control-label .tit{font-size:20px}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .form-group{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .form-group{float:left;width:50%}}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .control-wrap{position:relative;min-height:1px;padding-right:15px;padding-left:15px;padding-left:0;padding-right:0}@media (min-width:992px){.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt .control-wrap{float:left;width:100%}}.pixel-caffeine-wrapper .panel-settings-ca .sub-panel-adv-opt label{text-align:left}.pixel-caffeine-wrapper .panel-settings-conversions .panel-heading .tit:before{content:"shopping_cart";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .tit,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .tit{font-size:20px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect{margin:15px 0 30px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .tit{display:inline-block;margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .info{display:block;margin-top:10px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-detect .info a{font-weight:600;text-decoration:underline;text-transform:uppercase;color:inherit}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions{border-top:1px solid #ddd}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:after,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:before{content:"";display:block;position:absolute;top:0;left:40px;width:0;height:0;border-style:solid}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:after{top:-40px;border-color:transparent transparent #fff;border-width:20px 18px;margin-left:1px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions:before{top:-42px;border-color:transparent transparent #ddd;border-width:21px 19px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox label{margin-right:20px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox{display:inline-block}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions .checkbox-material{margin-right:5px}.pixel-caffeine-wrapper .panel-settings-conversions.detected .ecomm-detect .info,.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-conversions{display:none}.pixel-caffeine-wrapper .panel-settings-conversions.detected .ecomm-conversions{display:block}.pixel-caffeine-wrapper .panel-settings-conversions.not-detected .ecomm-detect{color:#e15667}.pixel-caffeine-wrapper .panel-settings-conversions.not-detected .ecomm-detect:before{content:"error";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-size:2.5em;margin-right:10px}.pixel-caffeine-wrapper .panel-settings-conversions .ecomm-plugin-logo img{max-width:130px;max-height:70px}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin,.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .tit{display:inline-block;vertical-align:middle}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin{margin-bottom:0;margin-left:5px}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .item{display:inline-block;margin-right:10px;margin-bottom:0;transition:transform .2s ease-in-out}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .item:hover{transform:scale(1.1)}.pixel-caffeine-wrapper .panel-settings-conversions .sub-panel-supported-plugin .list-supported-plugin .ecomm-plugin-logo{display:block}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading{padding:0}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit{display:block;width:100%;position:relative;font-size:15.6px;margin-top:0;padding:10px 15px;font-weight:700}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:focus,.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:hover{text-decoration:none}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:focus{outline:none;box-shadow:none}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:before{position:relative;top:.07em;content:"chevron_right";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;margin-right:10px;color:#a1b4dc;font-size:1.7em;transition:all .3s ease-out}.pixel-caffeine-wrapper .panel-advanced-settings .panel-heading .tit:not(.collapsed):before{transform:rotate(90deg)}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control{margin-bottom:0}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control .form-control{margin-left:10px;margin-bottom:0}.pixel-caffeine-wrapper .panel-advanced-settings .checkbox.with-form-control .checkbox-material{top:.5em}.pixel-caffeine-wrapper .panel-advanced-settings .sub-panel+.sub-panel{border-top:1px solid #ddd;padding-top:15px;margin-top:15px}.pixel-caffeine-wrapper .panel-advanced-settings .sub-panel .text{display:block}.pixel-caffeine-wrapper .panel-advanced-settings .form-group-btn-single .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin-bottom:10px}.pixel-caffeine-wrapper .panel-advanced-settings .form-group-btn-single .btn{margin:0 10px 0 0}.pixel-caffeine-wrapper .panel-advanced-settings label{width:100%}.pixel-caffeine-wrapper .panel-advanced-settings .select2-container-multi{margin:0}.pixel-caffeine-wrapper .panel-ce-tracking .panel-heading .tit:before{content:"track_changes";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-ce-tracking .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-ce-tracking .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-ce-tracking .table .name{width:200px;font-weight:700}.pixel-caffeine-wrapper .panel-ce-tracking .table .trigger{white-space:nowrap}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-ce-tracking .table .name{width:auto}}.pixel-caffeine-wrapper .panel-ce-tracking .code-sample{display:block}.pixel-caffeine-wrapper .panel-ce-tracking .code-copy,.pixel-caffeine-wrapper .panel-ce-tracking .show-code{margin-top:5px;display:inline-block;font-size:12px;font-weight:600;text-transform:uppercase}.pixel-caffeine-wrapper .panel-ce-new .panel-heading .tit:before{content:"track_changes";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .intro-dashboard{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative}.pixel-caffeine-wrapper .intro-dashboard .tit{font-size:36px;text-transform:uppercase}.pixel-caffeine-wrapper .intro-dashboard p{font-size:18px}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body{margin:auto}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn{padding:16px 30px;margin:20px 0 0;white-space:normal;font-size:2em}.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn:before{font-size:1.5em}@media screen and (min-width:768px){.pixel-caffeine-wrapper .intro-dashboard .jumbotron-body .btn.btn-block{width:auto;display:inline-block}}.pixel-caffeine-wrapper .intro-product-catalog{background-color:#f2f4fa;background-image:url(prd-catalog-pattern.png);background-repeat:repeat;background-size:auto}.pixel-caffeine-wrapper .intro-product-catalog .calltoact .btn{font-size:16px}.pixel-caffeine-wrapper .intro-product-catalog .actions{margin-top:20px}.pixel-caffeine-wrapper .intro-product-catalog .actions a{font-size:14px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude{min-height:400px;padding-right:300px}.pixel-caffeine-wrapper .intro-dude:before{content:"";position:absolute;bottom:0;right:0;display:block;width:300px;height:100%;background-size:contain}}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude.dude-config:before{background:url(walter-dashboard-config.png) no-repeat 50% 50%;background-size:contain}}.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog{padding:35px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog{min-height:400px;padding-right:400px}.pixel-caffeine-wrapper .intro-dude.dude-prd-catalog:before{background:url(walter-prd-catalog.png) no-repeat 50% 50%;background-size:contain;width:400px}}.pixel-caffeine-wrapper .box-features{margin-top:50px;text-align:center}.pixel-caffeine-wrapper .box-features .tit{text-transform:uppercase}.pixel-caffeine-wrapper .list-features{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.pixel-caffeine-wrapper .list-features .feature{-webkit-box-flex:0 0 33.33%;-moz-box-flex:0 0 33.33%;-webkit-flex:0 0 33.33%;-ms-flex:0 0 33.33%;flex:0 0 33.33%;margin:30px 0}.pixel-caffeine-wrapper .list-features .feature .feature-icon{display:block;background:#ccc;width:100px;height:100px;line-height:100px;border-radius:100%;margin:0 auto 16px;text-align:center;font-size:4.5em;color:#fff}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+1){padding-right:20px}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+2){padding-left:10px;padding-right:10px}.pixel-caffeine-wrapper .list-features .feature:nth-child(3n+3){padding-left:20px}.pixel-caffeine-wrapper .panel-dashboard-main{position:relative}.pixel-caffeine-wrapper .panel-dashboard-main .panel-heading .tit:before{content:"tune";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data{padding-right:0;text-align:left}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .btn-settings{width:100%;margin:0}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group-pixel .value{word-break:break-all}@media screen and (min-width:480px){.pixel-caffeine-wrapper .panel-dashboard-main .panel-body{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group{-webkit-box-flex:0 0 50%;-moz-box-flex:0 0 50%;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group .data,.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group .value{width:auto}.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .data-group-pixel{-webkit-box-flex:0 0 100%;-moz-box-flex:0 0 100%;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%}}@media screen and (min-width:768px){.pixel-caffeine-wrapper .panel-dashboard-main .panel-body .btn-settings{position:absolute;top:10px;right:15px;width:auto}}.pixel-caffeine-wrapper .panel-dashboard-main .data-group{padding-bottom:20px}.pixel-caffeine-wrapper .panel-dashboard-main .status .value{text-transform:uppercase;font-weight:700}.pixel-caffeine-wrapper .panel-dashboard-main .status .value .value-info{position:relative;padding-right:35px}.pixel-caffeine-wrapper .panel-dashboard-main .status .value .value-info:after{position:absolute;top:50%;margin-top:-15px;right:0;width:30px;line-height:30px;font-size:2em;margin-left:10px}.pixel-caffeine-wrapper .panel-dashboard-main .status.active .value-info{color:#68aa20}.pixel-caffeine-wrapper .panel-dashboard-main .status.active .value-info:after{content:"check";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info{color:#e15667}.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info:after{content:"close"}.pixel-caffeine-wrapper .panel-dashboard-activity .panel-heading .tit:before,.pixel-caffeine-wrapper .panel-dashboard-main .status.inactive .value-info:after{font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-dashboard-activity .panel-heading .tit:before{content:"graphic_eq"}.pixel-caffeine-wrapper .panel-prd-catalog .panel-heading .tit:before{content:"developer_board";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box{background-color:#f5f5f5;padding:15px;margin-bottom:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:after,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:before{display:table;content:" "}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box:after{clear:both}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .tit{text-transform:uppercase;margin-bottom:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .sub-tit{text-transform:none;font-size:20px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .radio{text-align:left;margin-right:15px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .control-wrap,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel-body,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .sub-form-group{padding:0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel{background-color:#fff;padding:30px;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline{margin:10px 0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child{margin:0}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child .control-label,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:last-child .control-wrap{margin-top:10px}.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:first-child,.pixel-caffeine-wrapper .panel-prd-catalog .sub-panel-box .panel .multiple-fields-inline:first-child .form-control{margin-top:0}.pixel-caffeine-wrapper .panel-prd-catalog .new-fb-catalog .form-control{width:100%}.pixel-caffeine-wrapper .panel-prd-catalog .new-fb-catalog .control-label{width:auto;text-align:left}.pixel-caffeine-wrapper .panel-prd-catalog .advanced-options .sub-tit:first-child{margin-top:0}.pixel-caffeine-wrapper .panel-prd-catalog .panel-footer{background-color:#fff;margin:0 -15px -15px}.pixel-caffeine-wrapper .panel-prd-catalog .toggle-sub-panel .control-wrap{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding-top:7px}.pixel-caffeine-wrapper .panel-feed-created .panel-heading .tit:before{content:"developer_board";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .data{width:auto;margin-bottom:0;padding-right:0;padding-left:0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .data{padding-left:15px}}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .data,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value{display:inline-block;float:none}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info{margin-right:15px}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-danger a,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-status-pending a{color:inherit;border-bottom-style:dotted;border-bottom-width:1px}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-danger a:hover,.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .data-group.with-actions .value-info.text-status-pending a:hover{border-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .actions{display:inline-block}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .multiple-fields-inline .btn{margin-top:0;margin-bottom:0}.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .value{width:auto;display:inline-block;padding-left:0}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created.form-horizontal .value{float:left;padding-left:15px}}.pixel-caffeine-wrapper .panel-feed-created.panel .prd-feed-number{font-weight:600}.pixel-caffeine-wrapper .panel-feed-created .form-group .set-refresh{padding-right:15px;padding-left:15px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .panel-feed-created .form-group .set-refresh{padding:0}}.pixel-caffeine-wrapper .panel-feed-created .url-feed-alert.loading-data:after{color:#444;font-size:24px}.pixel-caffeine-wrapper .panel-feed-created .multiple-fields-inline small{margin:0 10px}.pixel-caffeine-wrapper .panel-feed-created .data-group-main .data,.pixel-caffeine-wrapper .panel-feed-created .data-group-main .value{font-size:16px}.pixel-caffeine-wrapper .panel-feed-created hr:first-child{margin-top:0}.pixel-caffeine-wrapper .upgraded-product-catalog{padding:15px}.pixel-caffeine-wrapper .upgraded-product-catalog .jumbotron-body{margin:0}.pixel-caffeine-wrapper .upgraded-product-catalog .tit{font-size:26px;text-transform:uppercase}.pixel-caffeine-wrapper .upgraded-product-catalog p{font-size:16px}.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog{min-height:1px;padding:15px}@media screen and (min-width:992px){.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog{min-height:3;padding-right:300px}.pixel-caffeine-wrapper .upgraded-product-catalog.dude-prd-catalog:before{background:url(walter-prd-catalog.png) no-repeat 50% 50%;background-size:contain;width:300px}}.pixel-caffeine-wrapper .panel-log-list .panel-heading .tit:before{content:"assignment";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.pixel-caffeine-wrapper .panel-log-list .panel-footer{text-align:center}.pixel-caffeine-wrapper .panel-log-list .table{margin-bottom:0}.pixel-caffeine-wrapper .panel-log-list .table .name{max-width:500px;font-weight:600}.pixel-caffeine-wrapper .panel-log-list .table .name .info-extra{font-weight:400}@media screen and (min-width:1199px){.pixel-caffeine-wrapper .panel-log-list .table .name{width:auto}}.pixel-caffeine .select2-container{margin:0;position:relative;display:inline-block;vertical-align:middle}.pixel-caffeine .select2-container,.pixel-caffeine .select2-drop,.pixel-caffeine .select2-search,.pixel-caffeine .select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pixel-caffeine .select2-container .select2-choice{display:block;height:26px;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #aaa;white-space:nowrap;line-height:26px;color:#444;text-decoration:none;border-radius:4px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.5,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 50%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = "#ffffff",endColorstr = "#eeeeee",GradientType = 0);background-image:linear-gradient(0deg,#eee 0,#fff 50%)}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.pixel-caffeine .select2-container.select2-drop-above .select2-choice{border-bottom-color:#aaa;border-radius:0 0 4px 4px;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#eee),color-stop(.9,#fff));background-image:-webkit-linear-gradient(center bottom,#eee 0,#fff 90%);background-image:-moz-linear-gradient(center bottom,#eee 0,#fff 90%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#eeeeee",GradientType=0);background-image:linear-gradient(180deg,#eee 0,#fff 90%)}.pixel-caffeine .select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.pixel-caffeine .select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.pixel-caffeine .select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:8px;font-size:1px;text-decoration:none;border:0;background:url(select2.png) 100% 0 no-repeat;cursor:pointer;outline:0}.pixel-caffeine .select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.pixel-caffeine .select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.pixel-caffeine .select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.pixel-caffeine .select2-drop{width:100%;margin-top:-1px;position:absolute;z-index:9999;top:100%;background:#fff;color:#000;border:1px solid #aaa;border-top:0;border-radius:0 0 4px 4px;-webkit-box-shadow:0 4px 5px rgba(0,0,0,.15);box-shadow:0 4px 5px rgba(0,0,0,.15)}.pixel-caffeine .select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #aaa;border-bottom:0;border-radius:4px 4px 0 0;-webkit-box-shadow:0 -4px 5px rgba(0,0,0,.15);box-shadow:0 -4px 5px rgba(0,0,0,.15)}.pixel-caffeine .select2-drop-active{border:1px solid #5897fb;border-top:none}.pixel-caffeine .select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #5897fb}.pixel-caffeine .select2-drop-auto-width{border-top:1px solid #aaa;width:auto}.pixel-caffeine .select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-left:1px solid #aaa;border-radius:0 4px 4px 0;background-clip:padding-box;background:#ccc;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#ccc),color-stop(.6,#eee));background-image:-webkit-linear-gradient(center bottom,#ccc 0,#eee 60%);background-image:-moz-linear-gradient(center bottom,#ccc 0,#eee 60%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = "#eeeeee",endColorstr = "#cccccc",GradientType = 0);background-image:linear-gradient(0deg,#ccc 0,#eee 60%)}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-left:none;border-right:1px solid #aaa;border-radius:4px 0 0 4px}.pixel-caffeine .select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;background:url(select2.png) no-repeat 0 1px}.pixel-caffeine html[dir=rtl] .select2-container .select2-choice .select2-arrow b{background-position:2px 1px}.pixel-caffeine .select2-search{display:inline-block;width:100%;min-height:26px;margin:0;padding:4px 4px 0;position:relative;z-index:10000;white-space:nowrap}.pixel-caffeine .select2-search input{width:100%;height:auto!important;min-height:26px;padding:4px 20px 4px 5px;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #aaa;border-radius:0;-webkit-box-shadow:none;box-shadow:none;background:#fff url(select2.png) no-repeat 100% -22px;background:url(select2.png) no-repeat 100% -22px,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) no-repeat 100% -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat 100% -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat 100% -22px,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:#fff url(select2.png) no-repeat -37px -22px;background:url(select2.png) no-repeat -37px -22px,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2.png) no-repeat -37px -22px,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat -37px -22px,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2.png) no-repeat -37px -22px,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine .select2-search input.select2-active{background:#fff url(select2-spinner.gif) no-repeat 100%;background:url(select2-spinner.gif) no-repeat 100%,-webkit-gradient(linear,left bottom,left top,color-stop(.85,#fff),color-stop(.99,#eee));background:url(select2-spinner.gif) no-repeat 100%,-webkit-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) no-repeat 100%,-moz-linear-gradient(center bottom,#fff 85%,#eee 99%);background:url(select2-spinner.gif) no-repeat 100%,linear-gradient(180deg,#fff 85%,#eee 99%) 0 0}.pixel-caffeine .select2-container-active .select2-choice,.pixel-caffeine .select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.pixel-caffeine .select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:inset 0 1px 0 #fff;border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:#eee;background-image:-webkit-gradient(linear,left bottom,left top,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center bottom,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center bottom,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#ffffff",GradientType=0);background-image:linear-gradient(0deg,#fff 0,#eee 50%)}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choice,.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #5897fb;border-top-color:transparent;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(.5,#eee));background-image:-webkit-linear-gradient(center top,#fff 0,#eee 50%);background-image:-moz-linear-gradient(center top,#fff 0,#eee 50%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#ffffff",GradientType=0);background-image:linear-gradient(180deg,#fff 0,#eee 50%)}.pixel-caffeine .select2-dropdown-open .select2-choice .select2-arrow{background:transparent;border-left:none;filter:none}.pixel-caffeine html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.pixel-caffeine .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}.pixel-caffeine html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.pixel-caffeine .select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.pixel-caffeine .select2-results{max-height:200px;padding:0 0 0 4px;margin:4px 4px 4px 0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pixel-caffeine html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.pixel-caffeine .select2-results ul.select2-result-sub{margin:0;padding-left:0}.pixel-caffeine .select2-results li{list-style:none;display:list-item;background-image:none}.pixel-caffeine .select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.pixel-caffeine .select2-results .select2-result-label{padding:3px 7px 4px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pixel-caffeine .select2-results-dept-1 .select2-result-label{padding-left:20px}.pixel-caffeine .select2-results-dept-2 .select2-result-label{padding-left:40px}.pixel-caffeine .select2-results-dept-3 .select2-result-label{padding-left:60px}.pixel-caffeine .select2-results-dept-4 .select2-result-label{padding-left:80px}.pixel-caffeine .select2-results-dept-5 .select2-result-label{padding-left:100px}.pixel-caffeine .select2-results-dept-6 .select2-result-label{padding-left:110px}.pixel-caffeine .select2-results-dept-7 .select2-result-label{padding-left:120px}.pixel-caffeine .select2-results .select2-highlighted{background:#3875d7}.pixel-caffeine .select2-results li em{background:#feffde;font-style:normal}.pixel-caffeine .select2-results .select2-highlighted em{background:transparent}.pixel-caffeine .select2-results .select2-highlighted ul{background:#fff;color:#000}.pixel-caffeine .select2-results .select2-ajax-error,.pixel-caffeine .select2-results .select2-no-results,.pixel-caffeine .select2-results .select2-searching,.pixel-caffeine .select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.pixel-caffeine .select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.pixel-caffeine .select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.pixel-caffeine .select2-results .select2-selected{display:none}.pixel-caffeine .select2-more-results.select2-active{background:#f4f4f4 url(select2-spinner.gif) no-repeat 100%}.pixel-caffeine .select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.pixel-caffeine .select2-more-results{background:#f4f4f4;display:list-item}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice abbr{display:none}.pixel-caffeine .select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #aaa;cursor:text;overflow:hidden;background-color:#fff;background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(top,#eee 1%,#fff 15%);background-image:-moz-linear-gradient(top,#eee 1%,#fff 15%);background-image:linear-gradient(180deg,#eee 1%,#fff 15%)}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.pixel-caffeine .select2-locked{padding:3px 5px!important}.pixel-caffeine .select2-container-multi .select2-choices{min-height:26px}.pixel-caffeine .select2-container-multi.select2-container-active .select2-choices{border:1px solid #5897fb;outline:none;-webkit-box-shadow:0 0 5px rgba(0,0,0,.3);box-shadow:0 0 5px rgba(0,0,0,.3)}.pixel-caffeine .select2-container-multi .select2-choices li{float:left;list-style:none}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field input{padding:5px;margin:1px 0;font-family:sans-serif;font-size:100%;color:#666;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:transparent!important}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field input.select2-active{background:#fff url(select2-spinner.gif) no-repeat 100%!important}.pixel-caffeine .select2-default{color:#999!important}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice{padding:3px 5px 3px 18px;margin:3px 0 3px 5px;line-height:13px;color:#333;cursor:default;border:1px solid #aaa;border-radius:3px;-webkit-box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);box-shadow:inset 0 0 2px #fff,0 1px 0 rgba(0,0,0,.05);background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#eeeeee",endColorstr="#f4f4f4",GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(180deg,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee)}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:3px 18px 3px 5px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.pixel-caffeine .select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:3px;top:4px;font-size:1px;outline:none;background:url(select2.png) 100% 0 no-repeat}.pixel-caffeine html[dir=rtl] .select2-search-choice-close{right:auto;left:3px}.pixel-caffeine .select2-container-multi .select2-search-choice-close{left:3px}.pixel-caffeine html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:2px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close,.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover{background-position:right -11px}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.pixel-caffeine .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:none}.pixel-caffeine .select2-result-selectable .select2-match,.pixel-caffeine .select2-result-unselectable .select2-match{text-decoration:underline}.pixel-caffeine .select2-offscreen,.pixel-caffeine .select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.pixel-caffeine .select2-display-none{display:none}.pixel-caffeine .select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.pixel-caffeine .select2-container .select2-choice .select2-arrow b,.pixel-caffeine .select2-container .select2-choice abbr,.pixel-caffeine .select2-search-choice-close,.pixel-caffeine .select2-search input{background-image:url(select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important}.pixel-caffeine .select2-search input{background-position:100% -21px!important}}.pixel-caffeine .select2-container{height:auto;padding-top:0;padding-bottom:2px;z-index:1}.pixel-caffeine .select2-container:hover{background-color:#e7ecf6}.pixel-caffeine .select2-container .select2-choice,.pixel-caffeine .select2-container .select2-choices{height:37px;line-height:37px;border:none;border-radius:0;background:#f2f4fa}.pixel-caffeine .select2-container .select2-choice .select2-arrow,.pixel-caffeine .select2-container .select2-choices .select2-arrow{width:30px;background:none;border-left:none}.pixel-caffeine .select2-container .select2-choice .select2-arrow b,.pixel-caffeine .select2-container .select2-choices .select2-arrow b{display:none}.pixel-caffeine .select2-container .select2-choice .select2-arrow:before,.pixel-caffeine .select2-container .select2-choices .select2-arrow:before{content:"";position:absolute;top:50%;left:50%;margin-top:-3px;margin-left:-6px;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#444 transparent transparent}.pixel-caffeine .select2-container .select2-choice{padding-left:0;padding-right:0;background-color:transparent}.pixel-caffeine .select2-container .select2-choice:hover{text-decoration:none;color:#444}.pixel-caffeine .select2-container.select2-container-active .select2-choice,.pixel-caffeine .select2-container.select2-container-active .select2-choices{-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine .select2-container.select2-container{display:block!important}.pixel-caffeine .select2-container.select2-container-disabled{background:#f6f6f6;border-bottom:1px dotted #d2d2d2;cursor:not-allowed}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice{background:none;border:none;pointer-events:none;color:#bdbdbd!important}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-chosen{color:inherit}.pixel-caffeine .select2-container.select2-container-disabled .select2-choice .select2-arrow:before{border-color:#bdbdbd transparent transparent}.pixel-caffeine .select2-container .select2-arrow,.pixel-caffeine .select2-container .select2-chosen{transition:opacity .3s ease-out}.pixel-caffeine .select2-container:after{opacity:0;transition:opacity .3s ease-out}.pixel-caffeine .select2-container.loading-data{pointer-events:none}.pixel-caffeine .select2-container.loading-data:after{position:absolute;top:9px;right:14px;color:#444;opacity:.75;font-size:1.5em}.pixel-caffeine .select2-container.loading-data .select2-chosen{opacity:.5}.pixel-caffeine .select2-container.loading-data .select2-arrow{opacity:0}.pixel-caffeine .form-group .select2-container-multi.form-control{padding-left:0;padding-right:0}.pixel-caffeine .select2-container-multi:hover{background-color:#f2f4fa}.pixel-caffeine .select2-container-multi .select2-choices{background-color:transparent;padding:0 10px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field .select2-input{padding:0;margin:0}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice,.pixel-caffeine .select2-container-multi .select2-choices .select2-search-field{float:none;display:inline-block;margin:0 5px 0 0}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice{position:relative;top:1px;background:#dfe6f3;padding:7px 27px 7px 7px;border:none;border-radius:0;text-transform:uppercase;font-size:.85em;font-weight:600;-webkit-box-shadow:none;box-shadow:none}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close{top:50%;margin-top:-10px;left:auto;width:20px;height:20px;line-height:20px;background:none!important;text-align:center}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close:before{content:"close";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:#4c70ba;font-size:18px}.pixel-caffeine .select2-container-multi .select2-choices .select2-search-choice-close:hover:before{color:#e15667}.pixel-caffeine .select2-container-multi.select2-container-active .select2-choices{border:none}.pixel-caffeine .select2-drop{box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12);background:#dfe6f3;border:none}.pixel-caffeine .select2-drop .select2-search{padding:10px}.pixel-caffeine .select2-drop .select2-search:before{position:absolute;right:10px;width:30px;content:"search";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;line-height:38px;color:#96abd6;font-size:1.5em}.pixel-caffeine .select2-drop .select2-search .select2-input{min-height:38px;background-color:#fff;background-image:none!important;border-color:#96abd6;padding-right:30px}.pixel-caffeine .select2-drop .select2-search .select2-input.select2-focused{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #96abd6;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px #96abd6}.pixel-caffeine .select2-drop.select2-drop-above.select2-drop-active{border-top:none;box-shadow:0 1px 6px 0 rgba(0,0,0,.12),0 1px 6px 0 rgba(0,0,0,.12)}.pixel-caffeine .select2-drop.dropdown-width-max{width:auto!important}.pixel-caffeine .select2-drop-multi{-webkit-transform:translateY(1px);-ms-transform:translateY(1px);-o-transform:translateY(1px);transform:translateY(1px)}.pixel-caffeine .select2-results{padding:0;margin:0;font-size:14px;font-weight:300;background:none}.pixel-caffeine .select2-results .select2-no-results,.pixel-caffeine .select2-results .select2-result{padding:10px;margin-bottom:0}.pixel-caffeine .select2-results .select2-result{border-top:1px solid #bac8e5;margin:0;border-radius:0}.pixel-caffeine .select2-results .select2-no-results{background:none}.pixel-caffeine .select2-results .select2-result-label{padding:0}.pixel-caffeine .select2-results .select2-highlighted{background:#96abd6;color:#fff}.pixel-caffeine .select2-results .select2-highlighted:active{background:#4c70ba;color:#fff}.pixel-caffeine .select2-results .select2-add{background-color:#3b5998;color:#fff}.pixel-caffeine .select2-results .select2-add .select2-result-label:before{position:relative;left:0;content:"add_circle";font-family:Material Icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;vertical-align:middle;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;color:#fff;margin-right:10px}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choice,.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-choices{background:none;border:none}.pixel-caffeine .select2-dropdown-open.select2-drop-above .select2-add{background-color:#3b5998}.pixel-caffeine .input-group-btn{padding-left:0}.pixel-caffeine .input-group-btn .select2-container{margin-bottom:0}.pixel-caffeine .input-group-btn .select2-container .select2-choice{height:38px}.pixel-caffeine.modal-open{overflow:hidden}.pixel-caffeine.modal-open .modal{overflow-x:hidden;overflow-y:auto}
|
build/frontend.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=28)}([function(t,n){t.exports=jQuery},function(t,n,e){"use strict";var r=Array.isArray;t.exports=r},function(t,n,e){"use strict";function r(t,n){return o(t)?t:c(t,n)?[t]:i(u(t))}var o=e(1),c=e(34),i=e(39),u=e(68);t.exports=r},function(t,n,e){"use strict";var r=e(12),o=r.Symbol;t.exports=o},function(t,n,e){"use strict";var r=e(14),o=r(Object,"create");t.exports=o},function(t,n,e){"use strict";function r(t,n){for(var e=t.length;e--;)if(o(t[e][0],n))return e;return-1}var o=e(18);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=t.__data__;return o(n)?e["string"==typeof n?"string":"hash"]:e.map}var o=e(64);t.exports=r},,,,function(t,n,e){"use strict";function r(t){return"symbol"==(void 0===t?"undefined":o(t))||i(t)&&c(t)==u}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=e(11),i=e(13),u="[object Symbol]";t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?void 0===t?a:u:s&&s in Object(t)?c(t):i(t)}var o=e(3),c=e(37),i=e(38),u="[object Null]",a="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=e(35),c="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,i=o||c||Function("return this")();t.exports=i},function(t,n,e){"use strict";function r(t){return null!=t&&"object"==(void 0===t?"undefined":o(t))}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=c(t,n);return o(e)?e:void 0}var o=e(46),c=e(51);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return null!=t&&("object"==n||"function"==n)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t||o(t))return t;var n=t+"";return"0"==n&&1/t==-c?"-0":n}var o=e(10),c=1/0;t.exports=r},,function(t,n,e){"use strict";function r(t,n){return t===n||t!==t&&n!==n}t.exports=r},function(t,n,e){"use strict";var r=e(14),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},function(t,n,e){"use strict";function r(t,n){var e=void 0===t?"undefined":o(t);return!!(n=null==n?c:n)&&("number"==e||"symbol"!=e&&i.test(t))&&t>-1&&t%1==0&&t<n}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=9007199254740991,i=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,n,e){"use strict";var r=e(77),o=e(13),c=Object.prototype,i=c.hasOwnProperty,u=c.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(t){return o(t)&&i.call(t,"callee")&&!u.call(t,"callee")};t.exports=a},,,,,,,function(t,n,e){t.exports=e(29)},function(t,n,e){"use strict";(function(t){var n=e(30),r=function(t){return t&&t.__esModule?t:{default:t}}(n);t(document).ready(function(t){var n=(t(document.body),function(t){return aepc_extend_args(t)}),e=function(t,n){n?setTimeout(t,1e3*n):t()};aepc_pixel_events.standard_events&&t.each(aepc_pixel_events.standard_events,function(r,o){t.each(o,function(t,o){e(function(){o.params?fbq("track",r,n(o.params)):fbq("track",r)},o.delay)})}),void 0!==aepc_pixel_events.custom_events&&t.each(aepc_pixel_events.custom_events,function(r,o){t.each(o,function(t,o){e(function(){fbq("trackCustom",r,n(o.params))},o.delay)})}),void 0!==aepc_pixel_events.css_events&&t.each(aepc_pixel_events.css_events,function(e,r){t.each(r,function(r,o){t(e).on("click",function(){fbq(o.trackType,o.trackName,n(o.trackParams))})})}),void 0!==aepc_pixel_events.link_clicks&&t.each(aepc_pixel_events.link_clicks,function(e,r){t.each(r,function(r,o){t("a").filter(function(){var n=t(this).attr("href");if(void 0===n)return!1;if("contains"===r)return n.match(new RegExp(e.replace(/\*/g,"[^/]+").replace(/([.\/?])/gm,"\\$1")));if("exact"===r){var o=e+(e.match(/\/+$/)?"":"/");return o.match(/^http(s)?:\/\//)||(o="/"+o.replace(/^\/+/,""),o=window.location.protocol+"//"+window.location.host+o),n+=n.match(/\/+$/)?"":"/",n.match(/^http(s)?:\/\//)||(n="/"+n.replace(/^\/+/,""),n=window.location.protocol+"//"+window.location.host+n),o===n}return!1}).on("click",function(e){t.each(o,function(t,e){fbq(e.trackType,e.trackName,n(e.trackParams))})})})}),t(".product_type_simple.add_to_cart_button").on("click",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var o=t(this),c=o.closest(".product"),i=o.data("product_sku")?o.data("product_sku"):o.data("product_id"),u=c.find('input[name="quantity"]').length?c.find('input[name="quantity"]').val():1;fbq("track","AddToCart",n((0,r.default)({content_ids:[i],content_type:"product",content_name:c.find("h3, .woocommerce-loop-product__title").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text())*u,currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToCart)))}),t(".add_to_wishlist, .wl-add-to").on("click",function(e){if("no"===aepc_pixel.enable_wishlist)return e;var r=t(this),o=r.data("product-sku")?r.data("product-sku"):r.data("product-id");fbq("track","AddToWishlist",n(aepc_wc_add_to_cart[o]))}),t(".woocommerce div.product").on("click",".single_add_to_cart_button",function(e){if("yes"===aepc_pixel.enable_addtocart){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val(),u=aepc_wc_add_to_cart[i],a=r.find('input[name="quantity"]').length?r.find('input[name="quantity"]').val():1;u.hasOwnProperty("value")&&(u.value*=a),fbq("track","AddToCart",n(u))}}),t("body.woocommerce-page form.checkout").on("checkout_place_order",function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)}),t(".edd_download, .edd-download").on("click",".edd-add-to-cart",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var o=t(this),c=o.closest("div.edd_download, article.type-download"),i=o.data("download-sku")?o.data("download-sku"):o.data("download-id"),u=c.find('meta[itemprop="priceCurrency"]').attr("content"),a=o.data("price");if("yes"===o.data("variable-price")){var s=t(".edd_price_options"),f=s.find('input[type="radio"]:checked'),p=f.closest("li");a=p.find('meta[itemprop="price"]').attr("content"),u=p.find('meta[itemprop="priceCurrency"]').attr("content")}fbq("track","AddToCart",n((0,r.default)({content_ids:[i],content_type:"product",content_name:c.find('[itemprop="name"]').first().text(),content_category:o.data("download-categories"),value:parseFloat(a),currency:u},aepc_pixel.allowed_params.AddToCart)))}),t(".edd-checkout").on("click",'form#edd_purchase_form input[type="submit"]',function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)})})}).call(n,e(0))},function(t,n,e){"use strict";var r=e(31),o=e(79),c=o(function(t,n){return null==t?{}:r(t,n)});t.exports=c},function(t,n,e){"use strict";function r(t,n){return o(t,n,function(n,e){return c(t,e)})}var o=e(32),c=e(74);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){for(var r=-1,u=n.length,a={};++r<u;){var s=n[r],f=o(t,s);e(f,s)&&c(a,i(s,t),f)}return a}var o=e(33),c=e(71),i=e(2);t.exports=r},function(t,n,e){"use strict";function r(t,n){n=o(n,t);for(var e=0,r=n.length;null!=t&&e<r;)t=t[c(n[e++])];return e&&e==r?t:void 0}var o=e(2),c=e(16);t.exports=r},function(t,n,e){"use strict";function r(t,n){if(c(t))return!1;var e=void 0===t?"undefined":o(t);return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!i(t))||(a.test(t)||!u.test(t)||null!=n&&t in Object(n))}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=e(1),i=e(10),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=r},function(t,n,e){"use strict";(function(n){var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r="object"==(void 0===n?"undefined":e(n))&&n&&n.Object===Object&&n;t.exports=r}).call(n,e(36))},function(t,n,e){"use strict";var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}t.exports=r},function(t,n,e){"use strict";function r(t){var n=i.call(t,a),e=t[a];try{t[a]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&&(n?t[a]=e:delete t[a]),o}var o=e(3),c=Object.prototype,i=c.hasOwnProperty,u=c.toString,a=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";function r(t){return c.call(t)}var o=Object.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";var r=e(40),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,i=r(function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(o,function(t,e,r,o){n.push(r?o.replace(c,"$1"):e||t)}),n});t.exports=i},function(t,n,e){"use strict";function r(t){var n=o(t,function(t){return e.size===c&&e.clear(),t}),e=n.cache;return n}var o=e(41),c=500;t.exports=r},function(t,n,e){"use strict";function r(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError(c);var e=function e(){var r=arguments,o=n?n.apply(this,r):r[0],c=e.cache;if(c.has(o))return c.get(o);var i=t.apply(this,r);return e.cache=c.set(o,i)||c,i};return e.cache=new(r.Cache||o),e}var o=e(42),c="Expected a function";r.Cache=o,t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(43),c=e(63),i=e(65),u=e(66),a=e(67);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.size=0,this.__data__={hash:new o,map:new(i||c),string:new o}}var o=e(44),c=e(56),i=e(62);t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(45),c=e(52),i=e(53),u=e(54),a=e(55);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=o?o(null):{},this.size=0}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t){return!(!i(t)||c(t))&&(o(t)?y:s).test(u(t))}var o=e(47),c=e(48),i=e(15),u=e(50),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,f=Function.prototype,p=Object.prototype,l=f.toString,d=p.hasOwnProperty,y=RegExp("^"+l.call(d).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,n,e){"use strict";function r(t){if(!c(t))return!1;var n=o(t);return n==u||n==a||n==i||n==s}var o=e(11),c=e(15),i="[object AsyncFunction]",u="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,n,e){"use strict";function r(t){return!!c&&c in t}var o=e(49),c=function(){var t=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();t.exports=r},function(t,n,e){"use strict";var r=e(12),o=r["__core-js_shared__"];t.exports=o},function(t,n,e){"use strict";function r(t){if(null!=t){try{return c.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var o=Function.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";function r(t,n){return null==t?void 0:t[n]}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;if(o){var e=n[t];return e===c?void 0:e}return u.call(n,t)?n[t]:void 0}var o=e(4),c="__lodash_hash_undefined__",i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;return o?void 0!==n[t]:i.call(n,t)}var o=e(4),c=Object.prototype,i=c.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=o&&void 0===n?c:n,this}var o=e(4),c="__lodash_hash_undefined__";t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(57),c=e(58),i=e(59),u=e(60),a=e(61);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=[],this.size=0}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return!(e<0)&&(e==n.length-1?n.pop():i.call(n,e,1),--this.size,!0)}var o=e(5),c=Array.prototype,i=c.splice;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return e<0?void 0:n[e][1]}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this.__data__,t)>-1}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__,r=o(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}var o=e(5);t.exports=r},function(t,n,e){"use strict";var r=e(14),o=e(12),c=r(o,"Map");t.exports=c},function(t,n,e){"use strict";function r(t){var n=o(this,t).delete(t);return this.size-=n?1:0,n}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).get(t)}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).has(t)}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=o(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?"":o(t)}var o=e(69);t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t)return t;if(i(t))return c(t,r)+"";if(u(t))return f?f.call(t):"";var n=t+"";return"0"==n&&1/t==-a?"-0":n}var o=e(3),c=e(70),i=e(1),u=e(10),a=1/0,s=o?o.prototype:void 0,f=s?s.toString:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=null==t?0:t.length,o=Array(r);++e<r;)o[e]=n(t[e],e,t);return o}t.exports=r},function(t,n,e){"use strict";function r(t,n,e,r){if(!u(t))return t;n=c(n,t);for(var s=-1,f=n.length,p=f-1,l=t;null!=l&&++s<f;){var d=a(n[s]),y=e;if(s!=p){var v=l[d];y=r?r(v,d,l):void 0,void 0===y&&(y=u(v)?v:i(n[s+1])?[]:{})}o(l,d,y),l=l[d]}return t}var o=e(72),c=e(2),i=e(20),u=e(15),a=e(16);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){var r=t[n];u.call(t,n)&&c(r,e)&&(void 0!==e||n in t)||o(t,n,e)}var o=e(73),c=e(18),i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){"__proto__"==n&&o?o(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}var o=e(19);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&c(t,n,o)}var o=e(75),c=e(76);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&n in Object(t)}t.exports=r},function(t,n,e){"use strict";function r(t,n,e){n=o(n,t);for(var r=-1,f=n.length,p=!1;++r<f;){var l=s(n[r]);if(!(p=null!=t&&e(t,l)))break;t=t[l]}return p||++r!=f?p:!!(f=null==t?0:t.length)&&a(f)&&u(l,f)&&(i(t)||c(t))}var o=e(2),c=e(21),i=e(1),u=e(20),a=e(78),s=e(16);t.exports=r},function(t,n,e){"use strict";function r(t){return c(t)&&o(t)==i}var o=e(11),c=e(13),i="[object Arguments]";t.exports=r},function(t,n,e){"use strict";function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}var o=9007199254740991;t.exports=r},function(t,n,e){"use strict";function r(t){return i(c(t,void 0,o),t+"")}var o=e(80),c=e(84),i=e(86);t.exports=r},function(t,n,e){"use strict";function r(t){return(null==t?0:t.length)?o(t,1):[]}var o=e(81);t.exports=r},function(t,n,e){"use strict";function r(t,n,e,i,u){var a=-1,s=t.length;for(e||(e=c),u||(u=[]);++a<s;){var f=t[a];n>0&&e(f)?n>1?r(f,n-1,e,i,u):o(u,f):i||(u[u.length]=f)}return u}var o=e(82),c=e(83);t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];return t}t.exports=r},function(t,n,e){"use strict";function r(t){return i(t)||c(t)||!!(u&&t&&t[u])}var o=e(3),c=e(21),i=e(1),u=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){return n=c(void 0===n?t.length-1:n,0),function(){for(var r=arguments,i=-1,u=c(r.length-n,0),a=Array(u);++i<u;)a[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=e(a),o(t,this,s)}}var o=e(85),c=Math.max;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}t.exports=r},function(t,n,e){"use strict";var r=e(87),o=e(90),c=o(r);t.exports=c},function(t,n,e){"use strict";var r=e(88),o=e(19),c=e(89),i=o?function(t,n){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:c;t.exports=i},function(t,n,e){"use strict";function r(t){return function(){return t}}t.exports=r},function(t,n,e){"use strict";function r(t){return t}t.exports=r},function(t,n,e){"use strict";function r(t){var n=0,e=0;return function(){var r=i(),u=c-(r-e);if(e=r,u>0){if(++n>=o)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}var o=800,c=16,i=Date.now;t.exports=r}]);
|
1 |
+
!function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=28)}([function(t,n){t.exports=jQuery},function(t,n,e){"use strict";var r=Array.isArray;t.exports=r},function(t,n,e){"use strict";function r(t,n){return o(t)?t:c(t,n)?[t]:i(u(t))}var o=e(1),c=e(34),i=e(39),u=e(68);t.exports=r},function(t,n,e){"use strict";var r=e(12),o=r.Symbol;t.exports=o},function(t,n,e){"use strict";var r=e(14),o=r(Object,"create");t.exports=o},function(t,n,e){"use strict";function r(t,n){for(var e=t.length;e--;)if(o(t[e][0],n))return e;return-1}var o=e(18);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=t.__data__;return o(n)?e["string"==typeof n?"string":"hash"]:e.map}var o=e(64);t.exports=r},,,,function(t,n,e){"use strict";function r(t){return"symbol"==(void 0===t?"undefined":o(t))||i(t)&&c(t)==u}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=e(11),i=e(13),u="[object Symbol]";t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?void 0===t?a:u:s&&s in Object(t)?c(t):i(t)}var o=e(3),c=e(37),i=e(38),u="[object Null]",a="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o=e(35),c="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,i=o||c||Function("return this")();t.exports=i},function(t,n,e){"use strict";function r(t){return null!=t&&"object"==(void 0===t?"undefined":o(t))}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=c(t,n);return o(e)?e:void 0}var o=e(46),c=e(51);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return null!=t&&("object"==n||"function"==n)}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t||o(t))return t;var n=t+"";return"0"==n&&1/t==-c?"-0":n}var o=e(10),c=1/0;t.exports=r},,function(t,n,e){"use strict";function r(t,n){return t===n||t!==t&&n!==n}t.exports=r},function(t,n,e){"use strict";var r=e(14),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},function(t,n,e){"use strict";function r(t,n){var e=void 0===t?"undefined":o(t);return!!(n=null==n?c:n)&&("number"==e||"symbol"!=e&&i.test(t))&&t>-1&&t%1==0&&t<n}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=9007199254740991,i=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,n,e){"use strict";var r=e(77),o=e(13),c=Object.prototype,i=c.hasOwnProperty,u=c.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(t){return o(t)&&i.call(t,"callee")&&!u.call(t,"callee")};t.exports=a},,,,,,,function(t,n,e){t.exports=e(29)},function(t,n,e){"use strict";(function(t){var n=e(30),r=function(t){return t&&t.__esModule?t:{default:t}}(n);t(document).ready(function(t){var n=(t(document.body),function(t){return aepc_extend_args(t)}),e=function(t,n){n?setTimeout(t,1e3*n):t()};aepc_pixel_events.standard_events&&t.each(aepc_pixel_events.standard_events,function(r,o){t.each(o,function(t,o){e(function(){o.params?fbq("track",r,n(o.params)):fbq("track",r)},o.delay)})}),void 0!==aepc_pixel_events.custom_events&&t.each(aepc_pixel_events.custom_events,function(r,o){t.each(o,function(t,o){e(function(){fbq("trackCustom",r,n(o.params))},o.delay)})}),void 0!==aepc_pixel_events.css_events&&t.each(aepc_pixel_events.css_events,function(e,r){t.each(r,function(r,o){t(e).on("click",function(){fbq(o.trackType,o.trackName,n(o.trackParams))})})}),void 0!==aepc_pixel_events.link_clicks&&t.each(aepc_pixel_events.link_clicks,function(e,r){t.each(r,function(r,o){t("a").filter(function(){var n=t(this).attr("href");if(void 0===n)return!1;if("contains"===r)return n.match(new RegExp(e.replace(/\*/g,"[^/]+").replace(/([.\/?])/gm,"\\$1")));if("exact"===r){var o=e+(e.match(/\/+$/)?"":"/");return o.match(/^http(s)?:\/\//)||(o="/"+o.replace(/^\/+/,""),o=window.location.protocol+"//"+window.location.host+o),n+=n.match(/\/+$/)?"":"/",n.match(/^http(s)?:\/\//)||(n="/"+n.replace(/^\/+/,""),n=window.location.protocol+"//"+window.location.host+n),o===n}return!1}).on("click",function(e){t.each(o,function(t,e){fbq(e.trackType,e.trackName,n(e.trackParams))})})})}),void 0!==aepc_pixel_events.js_events&&t.each(aepc_pixel_events.js_events,function(e,r){t.each(r,function(r,o){t(e).on(r,function(){t.each(o,function(t,e){fbq(e.trackType,e.trackName,n(e.trackParams))})})})}),t(".product_type_simple.add_to_cart_button").on("click",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var o=t(this),c=o.closest(".product"),i=o.data("product_sku")?o.data("product_sku"):o.data("product_id"),u=c.find('input[name="quantity"]').length?c.find('input[name="quantity"]').val():1;fbq("track","AddToCart",n((0,r.default)({content_ids:[i],content_type:"product",content_name:c.find("h3, .woocommerce-loop-product__title").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text())*u,currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToCart)))}),t(".add_to_wishlist, .wl-add-to").on("click",function(e){if("no"===aepc_pixel.enable_wishlist)return e;var r=t(this),o=r.data("product-sku")?r.data("product-sku"):r.data("product-id");fbq("track","AddToWishlist",n(aepc_wc_add_to_cart[o]))}),t(".woocommerce div.product").on("click",".single_add_to_cart_button",function(e){if("yes"===aepc_pixel.enable_addtocart){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val(),u=aepc_wc_add_to_cart[i],a=r.find('input[name="quantity"]').length?r.find('input[name="quantity"]').val():1;u.hasOwnProperty("value")&&(u.value*=a),fbq("track","AddToCart",n(u))}}),t("body.woocommerce-page form.checkout").on("checkout_place_order",function(t){"yes"===aepc_pixel.enable_addpaymentinfo&&fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params))}),t(".edd_download, .edd-download").on("click",".edd-add-to-cart",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var o=t(this),c=o.closest("div.edd_download, article.type-download"),i=o.data("download-sku")?o.data("download-sku"):o.data("download-id"),u=c.find('meta[itemprop="priceCurrency"]').attr("content"),a=o.data("price");if("yes"===o.data("variable-price")){var s=t(".edd_price_options"),f=s.find('input[type="radio"]:checked'),p=f.closest("li");a=p.find('meta[itemprop="price"]').attr("content"),u=p.find('meta[itemprop="priceCurrency"]').attr("content")}fbq("track","AddToCart",n((0,r.default)({content_ids:[i],content_type:"product",content_name:c.find('[itemprop="name"]').first().text(),content_category:o.data("download-categories"),value:parseFloat(a),currency:u},aepc_pixel.allowed_params.AddToCart)))}),t(".edd-checkout").on("click",'form#edd_purchase_form input[type="submit"]',function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)})})}).call(n,e(0))},function(t,n,e){"use strict";var r=e(31),o=e(79),c=o(function(t,n){return null==t?{}:r(t,n)});t.exports=c},function(t,n,e){"use strict";function r(t,n){return o(t,n,function(n,e){return c(t,e)})}var o=e(32),c=e(74);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){for(var r=-1,u=n.length,a={};++r<u;){var s=n[r],f=o(t,s);e(f,s)&&c(a,i(s,t),f)}return a}var o=e(33),c=e(71),i=e(2);t.exports=r},function(t,n,e){"use strict";function r(t,n){n=o(n,t);for(var e=0,r=n.length;null!=t&&e<r;)t=t[c(n[e++])];return e&&e==r?t:void 0}var o=e(2),c=e(16);t.exports=r},function(t,n,e){"use strict";function r(t,n){if(c(t))return!1;var e=void 0===t?"undefined":o(t);return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!i(t))||(a.test(t)||!u.test(t)||null!=n&&t in Object(n))}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c=e(1),i=e(10),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=r},function(t,n,e){"use strict";(function(n){var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r="object"==(void 0===n?"undefined":e(n))&&n&&n.Object===Object&&n;t.exports=r}).call(n,e(36))},function(t,n,e){"use strict";var r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}t.exports=r},function(t,n,e){"use strict";function r(t){var n=i.call(t,a),e=t[a];try{t[a]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&&(n?t[a]=e:delete t[a]),o}var o=e(3),c=Object.prototype,i=c.hasOwnProperty,u=c.toString,a=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";function r(t){return c.call(t)}var o=Object.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";var r=e(40),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,i=r(function(t){var n=[];return 46===t.charCodeAt(0)&&n.push(""),t.replace(o,function(t,e,r,o){n.push(r?o.replace(c,"$1"):e||t)}),n});t.exports=i},function(t,n,e){"use strict";function r(t){var n=o(t,function(t){return e.size===c&&e.clear(),t}),e=n.cache;return n}var o=e(41),c=500;t.exports=r},function(t,n,e){"use strict";function r(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError(c);var e=function e(){var r=arguments,o=n?n.apply(this,r):r[0],c=e.cache;if(c.has(o))return c.get(o);var i=t.apply(this,r);return e.cache=c.set(o,i)||c,i};return e.cache=new(r.Cache||o),e}var o=e(42),c="Expected a function";r.Cache=o,t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(43),c=e(63),i=e(65),u=e(66),a=e(67);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.size=0,this.__data__={hash:new o,map:new(i||c),string:new o}}var o=e(44),c=e(56),i=e(62);t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(45),c=e(52),i=e(53),u=e(54),a=e(55);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=o?o(null):{},this.size=0}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t){return!(!i(t)||c(t))&&(o(t)?y:s).test(u(t))}var o=e(47),c=e(48),i=e(15),u=e(50),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,f=Function.prototype,p=Object.prototype,l=f.toString,d=p.hasOwnProperty,y=RegExp("^"+l.call(d).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,n,e){"use strict";function r(t){if(!c(t))return!1;var n=o(t);return n==u||n==a||n==i||n==s}var o=e(11),c=e(15),i="[object AsyncFunction]",u="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,n,e){"use strict";function r(t){return!!c&&c in t}var o=e(49),c=function(){var t=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();t.exports=r},function(t,n,e){"use strict";var r=e(12),o=r["__core-js_shared__"];t.exports=o},function(t,n,e){"use strict";function r(t){if(null!=t){try{return c.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var o=Function.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";function r(t,n){return null==t?void 0:t[n]}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;if(o){var e=n[t];return e===c?void 0:e}return u.call(n,t)?n[t]:void 0}var o=e(4),c="__lodash_hash_undefined__",i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;return o?void 0!==n[t]:i.call(n,t)}var o=e(4),c=Object.prototype,i=c.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=o&&void 0===n?c:n,this}var o=e(4),c="__lodash_hash_undefined__";t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(57),c=e(58),i=e(59),u=e(60),a=e(61);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=[],this.size=0}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return!(e<0)&&(e==n.length-1?n.pop():i.call(n,e,1),--this.size,!0)}var o=e(5),c=Array.prototype,i=c.splice;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return e<0?void 0:n[e][1]}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this.__data__,t)>-1}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__,r=o(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}var o=e(5);t.exports=r},function(t,n,e){"use strict";var r=e(14),o=e(12),c=r(o,"Map");t.exports=c},function(t,n,e){"use strict";function r(t){var n=o(this,t).delete(t);return this.size-=n?1:0,n}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).get(t)}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).has(t)}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=o(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}var o=e(6);t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?"":o(t)}var o=e(69);t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t)return t;if(i(t))return c(t,r)+"";if(u(t))return f?f.call(t):"";var n=t+"";return"0"==n&&1/t==-a?"-0":n}var o=e(3),c=e(70),i=e(1),u=e(10),a=1/0,s=o?o.prototype:void 0,f=s?s.toString:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=null==t?0:t.length,o=Array(r);++e<r;)o[e]=n(t[e],e,t);return o}t.exports=r},function(t,n,e){"use strict";function r(t,n,e,r){if(!u(t))return t;n=c(n,t);for(var s=-1,f=n.length,p=f-1,l=t;null!=l&&++s<f;){var d=a(n[s]),y=e;if(s!=p){var v=l[d];y=r?r(v,d,l):void 0,void 0===y&&(y=u(v)?v:i(n[s+1])?[]:{})}o(l,d,y),l=l[d]}return t}var o=e(72),c=e(2),i=e(20),u=e(15),a=e(16);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){var r=t[n];u.call(t,n)&&c(r,e)&&(void 0!==e||n in t)||o(t,n,e)}var o=e(73),c=e(18),i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){"__proto__"==n&&o?o(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}var o=e(19);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&c(t,n,o)}var o=e(75),c=e(76);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&n in Object(t)}t.exports=r},function(t,n,e){"use strict";function r(t,n,e){n=o(n,t);for(var r=-1,f=n.length,p=!1;++r<f;){var l=s(n[r]);if(!(p=null!=t&&e(t,l)))break;t=t[l]}return p||++r!=f?p:!!(f=null==t?0:t.length)&&a(f)&&u(l,f)&&(i(t)||c(t))}var o=e(2),c=e(21),i=e(1),u=e(20),a=e(78),s=e(16);t.exports=r},function(t,n,e){"use strict";function r(t){return c(t)&&o(t)==i}var o=e(11),c=e(13),i="[object Arguments]";t.exports=r},function(t,n,e){"use strict";function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}var o=9007199254740991;t.exports=r},function(t,n,e){"use strict";function r(t){return i(c(t,void 0,o),t+"")}var o=e(80),c=e(84),i=e(86);t.exports=r},function(t,n,e){"use strict";function r(t){return(null==t?0:t.length)?o(t,1):[]}var o=e(81);t.exports=r},function(t,n,e){"use strict";function r(t,n,e,i,u){var a=-1,s=t.length;for(e||(e=c),u||(u=[]);++a<s;){var f=t[a];n>0&&e(f)?n>1?r(f,n-1,e,i,u):o(u,f):i||(u[u.length]=f)}return u}var o=e(82),c=e(83);t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];return t}t.exports=r},function(t,n,e){"use strict";function r(t){return i(t)||c(t)||!!(u&&t&&t[u])}var o=e(3),c=e(21),i=e(1),u=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){return n=c(void 0===n?t.length-1:n,0),function(){for(var r=arguments,i=-1,u=c(r.length-n,0),a=Array(u);++i<u;)a[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=e(a),o(t,this,s)}}var o=e(85),c=Math.max;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}t.exports=r},function(t,n,e){"use strict";var r=e(87),o=e(90),c=o(r);t.exports=c},function(t,n,e){"use strict";var r=e(88),o=e(19),c=e(89),i=o?function(t,n){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:c;t.exports=i},function(t,n,e){"use strict";function r(t){return function(){return t}}t.exports=r},function(t,n,e){"use strict";function r(t){return t}t.exports=r},function(t,n,e){"use strict";function r(t){var n=0,e=0;return function(){var r=i(),u=c-(r-e);if(e=r,u>0){if(++n>=o)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}var o=800,c=16,i=Date.now;t.exports=r}]);
|
includes/admin/assets/sass/_general.scss
CHANGED
@@ -620,19 +620,40 @@ input {
|
|
620 |
@include make-sm-column(10);
|
621 |
}
|
622 |
|
623 |
-
|
624 |
-
|
625 |
-
|
|
|
626 |
|
627 |
-
|
628 |
-
|
629 |
-
|
|
|
|
|
|
|
|
|
|
|
630 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
631 |
|
632 |
-
|
633 |
-
|
|
|
634 |
}
|
635 |
}
|
|
|
|
|
|
|
|
|
|
|
636 |
}
|
637 |
}
|
638 |
}
|
@@ -1078,7 +1099,7 @@ p {
|
|
1078 |
}
|
1079 |
}
|
1080 |
|
1081 |
-
&.btn-naked
|
1082 |
background: transparent;
|
1083 |
box-shadow: none;
|
1084 |
color: lighten($black, 20%);
|
620 |
@include make-sm-column(10);
|
621 |
}
|
622 |
|
623 |
+
@media screen and (min-width: $screen-md-min) {
|
624 |
+
.multiple-fields-inline {
|
625 |
+
&.select-input {
|
626 |
+
@include flexbox();
|
627 |
|
628 |
+
.control-wrap {
|
629 |
+
&:first-child {
|
630 |
+
width: 25%;
|
631 |
+
}
|
632 |
+
|
633 |
+
&:last-child {
|
634 |
+
width: 75%;
|
635 |
+
}
|
636 |
}
|
637 |
+
}
|
638 |
+
|
639 |
+
.controls-wrap {
|
640 |
+
@include flexbox();
|
641 |
+
|
642 |
+
.control-wrap {
|
643 |
+
&.w25 {
|
644 |
+
width: 25%;
|
645 |
+
}
|
646 |
|
647 |
+
&.w33 {
|
648 |
+
width: 33%;
|
649 |
+
}
|
650 |
}
|
651 |
}
|
652 |
+
|
653 |
+
.field-helper {
|
654 |
+
margin-left: 16.6666667%;
|
655 |
+
padding-left: 15px;
|
656 |
+
}
|
657 |
}
|
658 |
}
|
659 |
}
|
1099 |
}
|
1100 |
}
|
1101 |
|
1102 |
+
&.btn-naked {
|
1103 |
background: transparent;
|
1104 |
box-shadow: none;
|
1105 |
color: lighten($black, 20%);
|
includes/admin/class-aepc-admin-view.php
CHANGED
@@ -712,6 +712,8 @@ class AEPC_Admin_View {
|
|
712 |
'url_condition' => 'contains',
|
713 |
'url' => '',
|
714 |
'css' => '',
|
|
|
|
|
715 |
'event' => '',
|
716 |
'params' => array(),
|
717 |
'custom_params' => array(),
|
@@ -1037,7 +1039,7 @@ class AEPC_Admin_View {
|
|
1037 |
* @return mixed
|
1038 |
*/
|
1039 |
public function get_feed_field_value( $product_catalog, $group, $field_name = '', $subkey = '' ) {
|
1040 |
-
$value =
|
1041 |
|
1042 |
if ( $product_catalog ) {
|
1043 |
|
@@ -1051,7 +1053,7 @@ class AEPC_Admin_View {
|
|
1051 |
case Configuration::OPTION_FEED_CONFIG :
|
1052 |
$value = $product_catalog->configuration()->get( $field_name );
|
1053 |
if ( ! empty( $subkey ) ) {
|
1054 |
-
$value = isset( $value[ $subkey ] ) ? $value[ $subkey ] :
|
1055 |
}
|
1056 |
break;
|
1057 |
}
|
@@ -1059,7 +1061,7 @@ class AEPC_Admin_View {
|
|
1059 |
}
|
1060 |
|
1061 |
// Defaults
|
1062 |
-
if (
|
1063 |
|
1064 |
switch ( $group ) {
|
1065 |
case Configuration::OPTION_FILE_NAME :
|
712 |
'url_condition' => 'contains',
|
713 |
'url' => '',
|
714 |
'css' => '',
|
715 |
+
'js_event_element' => '',
|
716 |
+
'js_event_name' => '',
|
717 |
'event' => '',
|
718 |
'params' => array(),
|
719 |
'custom_params' => array(),
|
1039 |
* @return mixed
|
1040 |
*/
|
1041 |
public function get_feed_field_value( $product_catalog, $group, $field_name = '', $subkey = '' ) {
|
1042 |
+
$value = null;
|
1043 |
|
1044 |
if ( $product_catalog ) {
|
1045 |
|
1053 |
case Configuration::OPTION_FEED_CONFIG :
|
1054 |
$value = $product_catalog->configuration()->get( $field_name );
|
1055 |
if ( ! empty( $subkey ) ) {
|
1056 |
+
$value = isset( $value[ $subkey ] ) ? $value[ $subkey ] : null;
|
1057 |
}
|
1058 |
break;
|
1059 |
}
|
1061 |
}
|
1062 |
|
1063 |
// Defaults
|
1064 |
+
if ( is_null( $value ) ) {
|
1065 |
|
1066 |
switch ( $group ) {
|
1067 |
case Configuration::OPTION_FILE_NAME :
|
includes/admin/class-aepc-admin.php
CHANGED
@@ -331,6 +331,8 @@ class AEPC_Admin {
|
|
331 |
'event_url_condition' => 'contains',
|
332 |
'event_url' => '',
|
333 |
'event_css' => '',
|
|
|
|
|
334 |
'event_standard_events' => '',
|
335 |
'event_fire_delay' => '',
|
336 |
'event_name_custom' => '',
|
@@ -344,6 +346,8 @@ class AEPC_Admin {
|
|
344 |
'url_condition' => sanitize_text_field( (string) $post_data['event_url_condition'] ),
|
345 |
'url' => sanitize_text_field( (string) $post_data['event_url'] ),
|
346 |
'css' => sanitize_text_field( (string) $post_data['event_css'] ),
|
|
|
|
|
347 |
'event' => sanitize_text_field( (string) $post_data['event_standard_events'] ),
|
348 |
'delay' => sanitize_text_field( (string) $post_data['event_fire_delay'] ),
|
349 |
'custom_event_name' => sanitize_text_field( (string) $post_data['event_name_custom'] ),
|
@@ -373,6 +377,8 @@ class AEPC_Admin {
|
|
373 |
'url_condition' => $raw_data['url_condition'],
|
374 |
'url' => $raw_data['url'],
|
375 |
'css' => $raw_data['css'],
|
|
|
|
|
376 |
'event' => $raw_data['event'],
|
377 |
'delay' => $raw_data['delay'],
|
378 |
'params' => array(),
|
331 |
'event_url_condition' => 'contains',
|
332 |
'event_url' => '',
|
333 |
'event_css' => '',
|
334 |
+
'event_js_event_element' => '',
|
335 |
+
'event_js_event_name' => '',
|
336 |
'event_standard_events' => '',
|
337 |
'event_fire_delay' => '',
|
338 |
'event_name_custom' => '',
|
346 |
'url_condition' => sanitize_text_field( (string) $post_data['event_url_condition'] ),
|
347 |
'url' => sanitize_text_field( (string) $post_data['event_url'] ),
|
348 |
'css' => sanitize_text_field( (string) $post_data['event_css'] ),
|
349 |
+
'js_event_element' => sanitize_text_field( (string) $post_data['event_js_event_element'] ),
|
350 |
+
'js_event_name' => sanitize_text_field( (string) $post_data['event_js_event_name'] ),
|
351 |
'event' => sanitize_text_field( (string) $post_data['event_standard_events'] ),
|
352 |
'delay' => sanitize_text_field( (string) $post_data['event_fire_delay'] ),
|
353 |
'custom_event_name' => sanitize_text_field( (string) $post_data['event_name_custom'] ),
|
377 |
'url_condition' => $raw_data['url_condition'],
|
378 |
'url' => $raw_data['url'],
|
379 |
'css' => $raw_data['css'],
|
380 |
+
'js_event_element' => $raw_data['js_event_element'],
|
381 |
+
'js_event_name' => $raw_data['js_event_name'],
|
382 |
'event' => $raw_data['event'],
|
383 |
'delay' => $raw_data['delay'],
|
384 |
'params' => array(),
|
includes/admin/class-aepc-facebook-adapter.php
CHANGED
@@ -72,10 +72,6 @@ class AEPC_Facebook_Adapter {
|
|
72 |
* Define access token, where we can know if the user did login or not
|
73 |
*/
|
74 |
public function connect() {
|
75 |
-
if ( ! is_user_logged_in() ) {
|
76 |
-
return;
|
77 |
-
}
|
78 |
-
|
79 |
// Load local configuration, if defined the file resources/fb.yml
|
80 |
if ( file_exists( PixelCaffeine()->plugin_path() . '/includes/resources/fb.dev.yml' ) && class_exists( '\Symfony\Component\Yaml\Yaml' ) ) {
|
81 |
$local_config = Yaml::parse( file_get_contents( PixelCaffeine()->plugin_path() . '/includes/resources/fb.dev.yml' ) );
|
72 |
* Define access token, where we can know if the user did login or not
|
73 |
*/
|
74 |
public function connect() {
|
|
|
|
|
|
|
|
|
75 |
// Load local configuration, if defined the file resources/fb.yml
|
76 |
if ( file_exists( PixelCaffeine()->plugin_path() . '/includes/resources/fb.dev.yml' ) && class_exists( '\Symfony\Component\Yaml\Yaml' ) ) {
|
77 |
$local_config = Yaml::parse( file_get_contents( PixelCaffeine()->plugin_path() . '/includes/resources/fb.dev.yml' ) );
|
includes/admin/settings/general-settings.php
CHANGED
@@ -104,6 +104,11 @@ return array(
|
|
104 |
'default' => array()
|
105 |
),
|
106 |
|
|
|
|
|
|
|
|
|
|
|
107 |
'aepc_force_ids' => array(
|
108 |
'type' => 'checkbox',
|
109 |
'default' => 'no'
|
@@ -174,4 +179,9 @@ return array(
|
|
174 |
'default' => 'no'
|
175 |
),
|
176 |
|
|
|
|
|
|
|
|
|
|
|
177 |
);
|
104 |
'default' => array()
|
105 |
),
|
106 |
|
107 |
+
'aepc_no_pixel_init' => array(
|
108 |
+
'type' => 'checkbox',
|
109 |
+
'default' => 'no'
|
110 |
+
),
|
111 |
+
|
112 |
'aepc_force_ids' => array(
|
113 |
'type' => 'checkbox',
|
114 |
'default' => 'no'
|
179 |
'default' => 'no'
|
180 |
),
|
181 |
|
182 |
+
'aepc_no_variation_tracking' => array(
|
183 |
+
'type' => 'checkbox',
|
184 |
+
'default' => 'no'
|
185 |
+
),
|
186 |
+
|
187 |
);
|
includes/admin/templates/parts/advanced-settings.php
CHANGED
@@ -26,6 +26,26 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
26 |
<article class="sub-panel sub-panel-adv-opt form-horizontal-inline">
|
27 |
<h4 class="tit"><?php _e( 'Tracking tools', 'pixel-caffeine' ) ?></h4>
|
28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
<div class="form-group">
|
30 |
<div class="control-wrap">
|
31 |
<div class="checkbox">
|
@@ -114,6 +134,24 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
114 |
</div><!-- ./control-wrap -->
|
115 |
</div><!-- ./form-group -->
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
<div class="form-group">
|
118 |
<div class="control-wrap">
|
119 |
<div class="checkbox">
|
26 |
<article class="sub-panel sub-panel-adv-opt form-horizontal-inline">
|
27 |
<h4 class="tit"><?php _e( 'Tracking tools', 'pixel-caffeine' ) ?></h4>
|
28 |
|
29 |
+
<div class="form-group">
|
30 |
+
<div class="control-wrap">
|
31 |
+
<div class="checkbox">
|
32 |
+
<label for="<?php $page->field_id( 'aepc_no_pixel_init' ) ?>">
|
33 |
+
<?php printf( esc_html_x( 'Do not add the %1$sPixel init snippet%2$s', 'pixel-caffeine' ),
|
34 |
+
'<a href="https://developers.facebook.com/docs/facebook-pixel/implementation/" target="_blank">',
|
35 |
+
'</a>',
|
36 |
+
'<strong>',
|
37 |
+
'</strong>'
|
38 |
+
) ?>
|
39 |
+
<input
|
40 |
+
type="checkbox"
|
41 |
+
name="<?php $page->field_name( 'aepc_no_pixel_init' ) ?>"
|
42 |
+
id="<?php $page->field_id( 'aepc_no_pixel_init' ) ?>"
|
43 |
+
<?php checked( $page->get_value( 'aepc_no_pixel_init' ), 'yes' ) ?>>
|
44 |
+
</label>
|
45 |
+
</div>
|
46 |
+
</div><!-- ./control-wrap -->
|
47 |
+
</div><!-- ./form-group -->
|
48 |
+
|
49 |
<div class="form-group">
|
50 |
<div class="control-wrap">
|
51 |
<div class="checkbox">
|
134 |
</div><!-- ./control-wrap -->
|
135 |
</div><!-- ./form-group -->
|
136 |
|
137 |
+
<div class="form-group">
|
138 |
+
<div class="control-wrap">
|
139 |
+
<div class="checkbox">
|
140 |
+
<label for="<?php $page->field_id( 'aepc_no_variation_tracking' ) ?>">
|
141 |
+
<?php printf( esc_html_x( 'Do not track %1$svariations%2$s on DPA events and %1$sforce to use the parent ID%2$s when a variation is added to cart and checkout.', '%1$s and %2$s are for strong tag', 'pixel-caffeine' ),
|
142 |
+
'<strong>',
|
143 |
+
'</strong>'
|
144 |
+
) ?>
|
145 |
+
<input
|
146 |
+
type="checkbox"
|
147 |
+
name="<?php $page->field_name( 'aepc_no_variation_tracking' ) ?>"
|
148 |
+
id="<?php $page->field_id( 'aepc_no_variation_tracking' ) ?>"
|
149 |
+
<?php checked( $page->get_value( 'aepc_no_variation_tracking' ), 'yes' ) ?>>
|
150 |
+
</label>
|
151 |
+
</div>
|
152 |
+
</div><!-- ./control-wrap -->
|
153 |
+
</div><!-- ./form-group -->
|
154 |
+
|
155 |
<div class="form-group">
|
156 |
<div class="control-wrap">
|
157 |
<div class="checkbox">
|
includes/admin/templates/parts/forms/conversion.php
CHANGED
@@ -31,6 +31,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
31 |
<option value="page_visit"<# if ( 'page_visit' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'Page visit', 'pixel-caffeine' ) ?></option>
|
32 |
<option value="link_click"<# if ( 'link_click' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'Link click', 'pixel-caffeine' ) ?></option>
|
33 |
<option value="css_selector"<# if ( 'css_selector' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'CSS Selector', 'pixel-caffeine' ) ?></option>
|
|
|
34 |
</select>
|
35 |
<div class="field-helper">
|
36 |
<?php $page->print_field_error( 'event_trigger_on', '<span class="help-block help-block-error">', '</span>' ) ?>
|
@@ -67,6 +68,28 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
67 |
</div>
|
68 |
</div>
|
69 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
<div class="multi-form-group">
|
72 |
<div class="form-group<?php $page->field_class( 'event_standard_events' ) ?>">
|
31 |
<option value="page_visit"<# if ( 'page_visit' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'Page visit', 'pixel-caffeine' ) ?></option>
|
32 |
<option value="link_click"<# if ( 'link_click' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'Link click', 'pixel-caffeine' ) ?></option>
|
33 |
<option value="css_selector"<# if ( 'css_selector' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'CSS Selector', 'pixel-caffeine' ) ?></option>
|
34 |
+
<option value="js_event"<# if ( 'js_event' == data.trigger ) { #> selected="selected"<# } #>><?php _e( 'JS Event', 'pixel-caffeine' ) ?></option>
|
35 |
</select>
|
36 |
<div class="field-helper">
|
37 |
<?php $page->print_field_error( 'event_trigger_on', '<span class="help-block help-block-error">', '</span>' ) ?>
|
68 |
</div>
|
69 |
</div>
|
70 |
</div>
|
71 |
+
<div class="form-group event_trigger_on-js_event<?php $page->field_class( 'js_event_name' ) ?>">
|
72 |
+
<label for="js_event_name" class="control-label"><?php _e( 'JS Event', 'pixel-caffeine' ) ?></label>
|
73 |
+
<div class="multiple-fields-inline">
|
74 |
+
<div class="controls-wrap">
|
75 |
+
<div class="control-wrap w33">
|
76 |
+
<input type="text" class="form-control" name="event_js_event_element" id="event_js_event_element" value="{{{ data.js_event_element }}}" placeholder="<?php _e( 'Element by jQuery/CSS selector (`.element` or `#element` or `#element .child`)', 'pixel-caffeine' ) ?>">
|
77 |
+
<div class="field-helper">
|
78 |
+
<?php $page->print_field_error( 'event_js_event_element', '<span class="help-block help-block-error">', '</span>' ) ?>
|
79 |
+
</div>
|
80 |
+
</div>
|
81 |
+
<div class="control-wrap">
|
82 |
+
<input type="text" class="form-control" name="event_js_event_name" id="event_js_event_name" value="{{{ data.js_event_name }}}" placeholder="<?php _e( 'JS Event name', 'pixel-caffeine' ) ?>">
|
83 |
+
<div class="field-helper">
|
84 |
+
<?php $page->print_field_error( 'event_js_event_name', '<span class="help-block help-block-error">', '</span>' ) ?>
|
85 |
+
</div>
|
86 |
+
</div>
|
87 |
+
</div>
|
88 |
+
<div class="field-helper">
|
89 |
+
<small class="text"><?php _e( 'It will be translated in `jQuery(" field1 content ").on(" field2 content ")`', 'pixel-caffeine' ) ?></small>
|
90 |
+
</div>
|
91 |
+
</div>
|
92 |
+
</div>
|
93 |
|
94 |
<div class="multi-form-group">
|
95 |
<div class="form-group<?php $page->field_class( 'event_standard_events' ) ?>">
|
includes/admin/templates/parts/tables/ce-tracking.php
CHANGED
@@ -60,6 +60,11 @@ if ( empty( $conversions ) ) {
|
|
60 |
esc_html_e( 'On click css selector', 'pixel-caffeine' );
|
61 |
echo '<br />' . '"' . esc_html( $event['css'] ) . '"';
|
62 |
}
|
|
|
|
|
|
|
|
|
|
|
63 |
?>
|
64 |
</td>
|
65 |
<td>
|
60 |
esc_html_e( 'On click css selector', 'pixel-caffeine' );
|
61 |
echo '<br />' . '"' . esc_html( $event['css'] ) . '"';
|
62 |
}
|
63 |
+
|
64 |
+
elseif ( 'js_event' == $event['trigger'] ) {
|
65 |
+
esc_html_e( 'On Javascript Event', 'pixel-caffeine' );
|
66 |
+
printf( __( '<br />When "%s" triggers "%s"', 'pixel-caffeine' ), esc_html( $event['js_event_element'] ), esc_html( $event['js_event_name'] ) );
|
67 |
+
}
|
68 |
?>
|
69 |
</td>
|
70 |
<td>
|
includes/class-aepc-cron.php
CHANGED
@@ -32,6 +32,9 @@ class AEPC_Cron {
|
|
32 |
public static function init() {
|
33 |
self::bootstrap_jobs();
|
34 |
|
|
|
|
|
|
|
35 |
foreach ( self::$jobs as $job ) {
|
36 |
$job->init();
|
37 |
}
|
32 |
public static function init() {
|
33 |
self::bootstrap_jobs();
|
34 |
|
35 |
+
AEPC_Admin::init();
|
36 |
+
AEPC_Admin::$api->connect();
|
37 |
+
|
38 |
foreach ( self::$jobs as $job ) {
|
39 |
$job->init();
|
40 |
}
|
includes/class-aepc-pixel-scripts.php
CHANGED
@@ -115,18 +115,18 @@ class AEPC_Pixel_Scripts {
|
|
115 |
?>
|
116 |
<!-- Facebook Pixel Code -->
|
117 |
<script>
|
118 |
-
<?php if (
|
119 |
-
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
120 |
-
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
|
121 |
-
n.push=n;n.loaded=!0;n.version='2.0';n.agent='dvpixelcaffeinewordpress';n.queue=[];t=b.createElement(e);t.async=!0;
|
122 |
-
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
|
123 |
-
document,'script','https://connect.facebook.net/en_US/fbevents.js');
|
124 |
-
<?php else : ?>
|
125 |
var fbq_calls = [],
|
126 |
fbq = function() {
|
127 |
console.log( 'fbq: ', arguments[0], arguments[1], arguments[2] );
|
128 |
fbq_calls.push( arguments );
|
129 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
<?php endif; ?>
|
131 |
|
132 |
var aepc_pixel = <?php echo wp_json_encode( self::pixel_init_arguments() ) ?>,
|
@@ -152,14 +152,16 @@ class AEPC_Pixel_Scripts {
|
|
152 |
}
|
153 |
}
|
154 |
|
|
|
155 |
fbq('init', aepc_pixel.pixel_id, aepc_pixel.user);
|
156 |
|
157 |
<?php /* Trigger the event when delay is passed and where there are all fbq calls that need to wait */ ?>
|
158 |
setTimeout( function() {
|
159 |
fbq('track', "PageView", aepc_pixel_args);
|
160 |
}, aepc_pixel.fire_delay * 1000 );
|
|
|
161 |
</script>
|
162 |
-
<?php if ( ! PixelCaffeine()->is_debug_mode() ) : ?>
|
163 |
<noscript><img height="1" width="1" style="display:none"
|
164 |
src="https://www.facebook.com/tr?id=<?php echo esc_attr( PixelCaffeine()->get_pixel_id() ) ?>&ev=PageView&noscript=1"
|
165 |
/></noscript>
|
@@ -181,7 +183,8 @@ class AEPC_Pixel_Scripts {
|
|
181 |
'standard_events' => AEPC_Track::get_standard_events(),
|
182 |
'custom_events' => AEPC_Track::get_custom_events(),
|
183 |
'css_events' => self::track_css_events(),
|
184 |
-
'link_clicks' => self::track_link_click_events()
|
|
|
185 |
) ) );
|
186 |
}
|
187 |
|
@@ -409,6 +412,38 @@ class AEPC_Pixel_Scripts {
|
|
409 |
return $links;
|
410 |
}
|
411 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
412 |
/**
|
413 |
* Return a formatted list of categories as facebook expects
|
414 |
*
|
115 |
?>
|
116 |
<!-- Facebook Pixel Code -->
|
117 |
<script>
|
118 |
+
<?php if ( PixelCaffeine()->is_debug_mode() ) : ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
var fbq_calls = [],
|
120 |
fbq = function() {
|
121 |
console.log( 'fbq: ', arguments[0], arguments[1], arguments[2] );
|
122 |
fbq_calls.push( arguments );
|
123 |
};
|
124 |
+
<?php elseif ( AEPC_Track::can_init_pixel() ) : ?>
|
125 |
+
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
126 |
+
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
|
127 |
+
n.push=n;n.loaded=!0;n.version='2.0';n.agent='dvpixelcaffeinewordpress';n.queue=[];t=b.createElement(e);t.async=!0;
|
128 |
+
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
|
129 |
+
document,'script','https://connect.facebook.net/en_US/fbevents.js');
|
130 |
<?php endif; ?>
|
131 |
|
132 |
var aepc_pixel = <?php echo wp_json_encode( self::pixel_init_arguments() ) ?>,
|
152 |
}
|
153 |
}
|
154 |
|
155 |
+
<?php if ( AEPC_Track::can_init_pixel() ) : ?>
|
156 |
fbq('init', aepc_pixel.pixel_id, aepc_pixel.user);
|
157 |
|
158 |
<?php /* Trigger the event when delay is passed and where there are all fbq calls that need to wait */ ?>
|
159 |
setTimeout( function() {
|
160 |
fbq('track', "PageView", aepc_pixel_args);
|
161 |
}, aepc_pixel.fire_delay * 1000 );
|
162 |
+
<?php endif; ?>
|
163 |
</script>
|
164 |
+
<?php if ( ! PixelCaffeine()->is_debug_mode() && AEPC_Track::can_init_pixel() ) : ?>
|
165 |
<noscript><img height="1" width="1" style="display:none"
|
166 |
src="https://www.facebook.com/tr?id=<?php echo esc_attr( PixelCaffeine()->get_pixel_id() ) ?>&ev=PageView&noscript=1"
|
167 |
/></noscript>
|
183 |
'standard_events' => AEPC_Track::get_standard_events(),
|
184 |
'custom_events' => AEPC_Track::get_custom_events(),
|
185 |
'css_events' => self::track_css_events(),
|
186 |
+
'link_clicks' => self::track_link_click_events(),
|
187 |
+
'js_events' => self::track_js_event_events(),
|
188 |
) ) );
|
189 |
}
|
190 |
|
412 |
return $links;
|
413 |
}
|
414 |
|
415 |
+
/**
|
416 |
+
* Get all conversion events defined by user, for all events handled by JS event
|
417 |
+
*
|
418 |
+
* @return array
|
419 |
+
*/
|
420 |
+
public static function track_js_event_events() {
|
421 |
+
$conversions = AEPC_Track::get_conversions_events();
|
422 |
+
$links = array();
|
423 |
+
|
424 |
+
foreach ( $conversions as $track ) {
|
425 |
+
if ( 'js_event' != $track['trigger'] ) {
|
426 |
+
continue;
|
427 |
+
}
|
428 |
+
|
429 |
+
if ( ! isset( $links[ $track['js_event_element'] ] ) ) {
|
430 |
+
$links[ $track['js_event_element'] ] = array();
|
431 |
+
}
|
432 |
+
|
433 |
+
if ( ! isset( $links[ $track['js_event_element'] ][ $track['js_event_name'] ] ) ) {
|
434 |
+
$links[ $track['js_event_element'] ][ $track['js_event_name'] ] = array();
|
435 |
+
}
|
436 |
+
|
437 |
+
$links[ $track['js_event_element'] ][ $track['js_event_name'] ][] = array(
|
438 |
+
'trackType' => AEPC_Track::get_track_type( $track['event'] ),
|
439 |
+
'trackName' => $track['event'],
|
440 |
+
'trackParams' => AEPC_Track::sanitize_fields( array_merge( $track['params'], $track['custom_params'] ) )
|
441 |
+
);
|
442 |
+
}
|
443 |
+
|
444 |
+
return $links;
|
445 |
+
}
|
446 |
+
|
447 |
/**
|
448 |
* Return a formatted list of categories as facebook expects
|
449 |
*
|
includes/class-aepc-track.php
CHANGED
@@ -328,7 +328,22 @@ class AEPC_Track {
|
|
328 |
* Get all conversion events saved on DB
|
329 |
*/
|
330 |
public static function get_conversions_events() {
|
331 |
-
return get_option( 'aepc_conversions_events', array() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
}
|
333 |
|
334 |
/**
|
@@ -478,6 +493,15 @@ class AEPC_Track {
|
|
478 |
return $delay;
|
479 |
}
|
480 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
/**
|
482 |
* Get if the user wants to track the shipping
|
483 |
*/
|
@@ -492,6 +516,13 @@ class AEPC_Track {
|
|
492 |
return 'no' === get_option( 'aepc_conversions_no_product_group', 'no' );
|
493 |
}
|
494 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
495 |
/**
|
496 |
* Say if content_ids should contain IDs or SKUs
|
497 |
*/
|
328 |
* Get all conversion events saved on DB
|
329 |
*/
|
330 |
public static function get_conversions_events() {
|
331 |
+
return array_map( [__CLASS__, 'get_default_args'], get_option( 'aepc_conversions_events', array() ) );
|
332 |
+
}
|
333 |
+
|
334 |
+
/**
|
335 |
+
* Return the arguments on parameter with the defaults if not found
|
336 |
+
*
|
337 |
+
* @param array $args
|
338 |
+
*
|
339 |
+
* @return array
|
340 |
+
*/
|
341 |
+
public static function get_default_args($args = []) {
|
342 |
+
return wp_parse_args($args, [
|
343 |
+
'url_condition' => 'contains',
|
344 |
+
'js_event_element' => '',
|
345 |
+
'js_event_name' => '',
|
346 |
+
]);
|
347 |
}
|
348 |
|
349 |
/**
|
493 |
return $delay;
|
494 |
}
|
495 |
|
496 |
+
/**
|
497 |
+
* Return if DAP events are active
|
498 |
+
*
|
499 |
+
* @return mixed|void
|
500 |
+
*/
|
501 |
+
public static function can_init_pixel() {
|
502 |
+
return 'no' === get_option( 'aepc_no_pixel_init', 'no' );
|
503 |
+
}
|
504 |
+
|
505 |
/**
|
506 |
* Get if the user wants to track the shipping
|
507 |
*/
|
516 |
return 'no' === get_option( 'aepc_conversions_no_product_group', 'no' );
|
517 |
}
|
518 |
|
519 |
+
/**
|
520 |
+
* Say if we can track the variation
|
521 |
+
*/
|
522 |
+
public static function can_track_variations() {
|
523 |
+
return 'no' === get_option( 'aepc_no_variation_tracking', 'no' );
|
524 |
+
}
|
525 |
+
|
526 |
/**
|
527 |
* Say if content_ids should contain IDs or SKUs
|
528 |
*/
|
includes/product-catalogs/feed/class-xml-writer.php
CHANGED
@@ -173,6 +173,10 @@ class XMLWriter implements WriterInterface {
|
|
173 |
'g:custom_label_4' => $item->get_custom_label_4(),
|
174 |
);
|
175 |
|
|
|
|
|
|
|
|
|
176 |
/**
|
177 |
* Merge leaving only the not empty optional fields
|
178 |
*/
|
173 |
'g:custom_label_4' => $item->get_custom_label_4(),
|
174 |
);
|
175 |
|
176 |
+
if ($required_fields['g:description'] === $optional_fields['g:short_description']) {
|
177 |
+
unset($optional_fields['g:short_description']);
|
178 |
+
}
|
179 |
+
|
180 |
/**
|
181 |
* Merge leaving only the not empty optional fields
|
182 |
*/
|
includes/supports/class-aepc-edd-addon-support.php
CHANGED
@@ -551,6 +551,10 @@ class AEPC_Edd_Addon_Support extends AEPC_Addon_Factory implements ECommerceAddO
|
|
551 |
protected function query_items( $filter, ProductCatalogManager $product_catalog, Metaboxes $metaboxes ) {
|
552 |
$products_query = $this->query_items_args( $filter, $product_catalog );
|
553 |
|
|
|
|
|
|
|
|
|
554 |
// Map WC objects
|
555 |
$products = new WP_Query( $products_query );
|
556 |
$products = array_map( array( $this, 'get_download_instance' ), $products->posts );
|
551 |
protected function query_items( $filter, ProductCatalogManager $product_catalog, Metaboxes $metaboxes ) {
|
552 |
$products_query = $this->query_items_args( $filter, $product_catalog );
|
553 |
|
554 |
+
// Fix plugin compatibilities
|
555 |
+
add_filter('option_siteground_optimizer_optimize_images', '__return_true');
|
556 |
+
add_filter('site_option_siteground_optimizer_optimize_images', '__return_true');
|
557 |
+
|
558 |
// Map WC objects
|
559 |
$products = new WP_Query( $products_query );
|
560 |
$products = array_map( array( $this, 'get_download_instance' ), $products->posts );
|
includes/supports/class-aepc-woocommerce-addon-support.php
CHANGED
@@ -17,6 +17,8 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
17 |
|
18 |
const FEED_STATUS_META = '_product_feed_status';
|
19 |
const ALREADY_TRACKED_POSTMETA = '_aepc_puchase_tracked';
|
|
|
|
|
20 |
|
21 |
/**
|
22 |
* The slug of addon, useful to identify some common resources
|
@@ -82,6 +84,8 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
82 |
add_action( 'woocommerce_registration_redirect', array( $this, 'save_registration_data' ), 5 );
|
83 |
add_action( 'wp_footer', array( $this, 'register_add_to_cart_params' ), 10 );
|
84 |
add_action( 'wp_footer', array( $this, 'register_add_payment_info_params' ), 10 );
|
|
|
|
|
85 |
}
|
86 |
|
87 |
/**
|
@@ -127,13 +131,13 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
127 |
*/
|
128 |
protected function can_fire_purchase() {
|
129 |
if ( ! is_order_received_page() ) {
|
130 |
-
return
|
131 |
}
|
132 |
|
133 |
global $wp;
|
134 |
$order_id = ! empty( $wp->query_vars['order-received'] ) ? intval( $wp->query_vars['order-received'] ) : intval( $_GET['order-received'] );
|
135 |
|
136 |
-
return
|
137 |
}
|
138 |
|
139 |
/**
|
@@ -145,6 +149,48 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
145 |
return get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' && false !== WC()->session->get( 'aepc_complete_registration_data', false );
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
/**
|
149 |
* This is an alternative method that register the add to cart parameters in a JS variable
|
150 |
*
|
@@ -168,7 +214,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
168 |
|
169 |
$args = array();
|
170 |
|
171 |
-
$product_id =
|
172 |
$args[ $product_id ] = AEPC_Track::check_event_parameters( 'AddToCart', array(
|
173 |
'content_type' => 'product',
|
174 |
'content_ids' => array( $this->maybe_sku( $product_id ) ),
|
@@ -182,8 +228,8 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
182 |
if (empty($variation)) {
|
183 |
continue;
|
184 |
}
|
185 |
-
$variation_id =
|
186 |
-
$args[ $
|
187 |
'content_type' => 'product',
|
188 |
'content_ids' => array( $this->maybe_sku( $variation_id ) ),
|
189 |
'content_category' => AEPC_Pixel_Scripts::content_category_list( $product_id ),
|
@@ -214,7 +260,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
214 |
*/
|
215 |
protected function get_view_content_params() {
|
216 |
$product = wc_get_product();
|
217 |
-
$product_id =
|
218 |
|
219 |
$params = array(
|
220 |
'content_type' => 'product',
|
@@ -244,7 +290,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
244 |
|
245 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
246 |
$_product = $values['data'];
|
247 |
-
$product_ids[] = $this->maybe_sku(
|
248 |
$num_items += $values['quantity'];
|
249 |
}
|
250 |
|
@@ -258,7 +304,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
258 |
|
259 |
return array(
|
260 |
'content_type' => 'product',
|
261 |
-
'content_ids' => $product_ids,
|
262 |
'num_items' => $num_items,
|
263 |
'value' => $cart_total,
|
264 |
'currency' => get_woocommerce_currency()
|
@@ -271,25 +317,31 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
271 |
* @return array
|
272 |
*/
|
273 |
protected function get_purchase_params() {
|
274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
|
276 |
-
$
|
277 |
-
$order = wc_get_order( ! empty( $wp->query_vars['order-received'] ) ? intval( $wp->query_vars['order-received'] ) : intval( $_GET['order-received'] ) );
|
278 |
|
279 |
if ( empty( $order ) ) {
|
280 |
return array();
|
281 |
}
|
282 |
|
283 |
-
|
|
|
284 |
$_product = is_object( $item ) ? $item->get_product() : $order->get_product_from_item( $item );
|
285 |
-
$_product_id =
|
286 |
|
287 |
if ( ! empty( $_product ) ) {
|
288 |
-
|
289 |
} else {
|
290 |
-
|
291 |
}
|
292 |
-
}
|
293 |
|
294 |
// Order value
|
295 |
$order_value = $order->get_total();
|
@@ -299,10 +351,14 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
299 |
$order_value -= method_exists( $order, 'get_shipping_total' ) ? $order->get_shipping_total() : $order->get_total_shipping();
|
300 |
}
|
301 |
|
302 |
-
|
|
|
|
|
|
|
|
|
303 |
|
304 |
return array(
|
305 |
-
'content_ids' => $product_ids,
|
306 |
'content_type' => 'product',
|
307 |
'value' => $order_value,
|
308 |
'currency' => method_exists( $order, 'get_currency' ) ? $order->get_currency() : $order->get_order_currency()
|
@@ -371,7 +427,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
371 |
}
|
372 |
|
373 |
$product = wc_get_product();
|
374 |
-
$product_id =
|
375 |
?><span data-content_category="<?php echo esc_attr( wp_json_encode( AEPC_Pixel_Scripts::content_category_list( $product_id ) ) ) ?>" style="display:none;"></span><?php
|
376 |
}
|
377 |
|
@@ -448,6 +504,42 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
448 |
return function_exists('wc_get_checkout_url') ? wc_get_checkout_url() : wc_get_page_permalink('checkout');
|
449 |
}
|
450 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
/**
|
452 |
* Helper method to get the description from a product by checking first description and then short one if the full
|
453 |
* one is empty
|
@@ -457,14 +549,16 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
457 |
* @return string
|
458 |
*/
|
459 |
protected function get_description_from_product( $product ) {
|
460 |
-
|
461 |
-
|
462 |
-
// Get excerpt if description is empty
|
463 |
-
if ( empty( $product_description ) ) {
|
464 |
-
$product_description = method_exists( $product, 'get_short_description' ) ? $product->get_short_description() : '';;
|
465 |
-
}
|
466 |
|
467 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
468 |
}
|
469 |
|
470 |
/**
|
@@ -485,7 +579,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
485 |
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : ( $product_is_variation ? $product->variation_id : $product->id );
|
486 |
$product_slug = method_exists( $product, 'get_slug' ) ? $product->get_slug() : $product->post->post_name;
|
487 |
$product_description = $this->get_description_from_product( $product );
|
488 |
-
$product_short_description =
|
489 |
$product_additional_image_ids = array_map( 'wp_get_attachment_url', method_exists( $product, 'get_gallery_image_ids' ) ? $product->get_gallery_image_ids() : $product->get_gallery_attachment_ids() );
|
490 |
$product_parent_id = method_exists( $product, 'get_parent_id' ) ? $product->get_parent_id() : ( isset( $product->parent->id ) ? $product->parent->id : 0 );
|
491 |
$product_parent = $product_parent_id && ($parent_product = wc_get_product($product_parent_id)) ? $parent_product : null;
|
@@ -510,6 +604,11 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
510 |
$product_description = $this->get_description_from_product( wc_get_product( $product_parent_id ) );
|
511 |
}
|
512 |
|
|
|
|
|
|
|
|
|
|
|
513 |
if ( method_exists( $product, 'get_date_on_sale_from' ) && method_exists( $product, 'get_date_on_sale_to' ) ) {
|
514 |
$product_date_on_sale_from = $product->get_date_on_sale_from();
|
515 |
$product_date_on_sale_to = $product->get_date_on_sale_to();
|
@@ -528,7 +627,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
528 |
->set_admin_url( add_query_arg( array( 'post' => $product_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
|
529 |
->set_parent_admin_url( add_query_arg( array( 'post' => $product_parent_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
|
530 |
->set_title( $product->get_title() )
|
531 |
-
->set_description( $product_description )
|
532 |
->set_short_description( $product_short_description )
|
533 |
->set_link( $product->get_permalink() )
|
534 |
->set_image_url( $product_image_link )
|
@@ -727,6 +826,10 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
727 |
// Add hook to customize the query
|
728 |
add_action( 'pre_get_posts', array( $this, 'customize_wp_query' ) );
|
729 |
|
|
|
|
|
|
|
|
|
730 |
// Map WC objects
|
731 |
$products = wc_get_products( $products_query );
|
732 |
|
@@ -940,4 +1043,21 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
|
|
940 |
|
941 |
return $price;
|
942 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
943 |
}
|
17 |
|
18 |
const FEED_STATUS_META = '_product_feed_status';
|
19 |
const ALREADY_TRACKED_POSTMETA = '_aepc_puchase_tracked';
|
20 |
+
const SESSION_USER_ID_POSTMETA = '_aepc_session_user_id';
|
21 |
+
const PURCHASE_QUEUE_TRANSIENT = 'aepc_purchase_%s';
|
22 |
|
23 |
/**
|
24 |
* The slug of addon, useful to identify some common resources
|
84 |
add_action( 'woocommerce_registration_redirect', array( $this, 'save_registration_data' ), 5 );
|
85 |
add_action( 'wp_footer', array( $this, 'register_add_to_cart_params' ), 10 );
|
86 |
add_action( 'wp_footer', array( $this, 'register_add_payment_info_params' ), 10 );
|
87 |
+
add_action( 'woocommerce_checkout_order_processed', array( $this, 'register_user_id' ), 10, 3 );
|
88 |
+
add_action( 'woocommerce_payment_complete', array( $this, 'register_purchase_event' ) );
|
89 |
}
|
90 |
|
91 |
/**
|
131 |
*/
|
132 |
protected function can_fire_purchase() {
|
133 |
if ( ! is_order_received_page() ) {
|
134 |
+
return count($this->get_purchase_queue()) > 0;
|
135 |
}
|
136 |
|
137 |
global $wp;
|
138 |
$order_id = ! empty( $wp->query_vars['order-received'] ) ? intval( $wp->query_vars['order-received'] ) : intval( $_GET['order-received'] );
|
139 |
|
140 |
+
return ( $order = wc_get_order( $order_id ) ) && ! $order->get_meta( self::ALREADY_TRACKED_POSTMETA );
|
141 |
}
|
142 |
|
143 |
/**
|
149 |
return get_option( 'woocommerce_enable_myaccount_registration' ) === 'yes' && false !== WC()->session->get( 'aepc_complete_registration_data', false );
|
150 |
}
|
151 |
|
152 |
+
/**
|
153 |
+
* Save a transient with the purchase details
|
154 |
+
*
|
155 |
+
* @param $order_id
|
156 |
+
*/
|
157 |
+
public function register_purchase_event( $order_id ) {
|
158 |
+
$order = wc_get_order($order_id);
|
159 |
+
$user_id = $order->get_meta(self::SESSION_USER_ID_POSTMETA);
|
160 |
+
|
161 |
+
$queue = $this->get_purchase_queue($user_id);
|
162 |
+
$queue[] = $order_id;
|
163 |
+
$this->save_purchase_queue(array_unique($queue), $user_id);
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Save a transient with the purchase details
|
168 |
+
*
|
169 |
+
* @param int $order_id
|
170 |
+
* @param array $posted_data
|
171 |
+
* @param WC_Order $order
|
172 |
+
*/
|
173 |
+
public function register_user_id( $order_id, $posted_data, $order ) {
|
174 |
+
$user_id = $this->get_session_user_id();
|
175 |
+
$order->add_meta_data(self::SESSION_USER_ID_POSTMETA, $user_id);
|
176 |
+
$order->save_meta_data();
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* @return string
|
181 |
+
*/
|
182 |
+
protected function get_session_user_id() {
|
183 |
+
if ( ! $user_id = WC()->session->get('aepc_user_id') ) {
|
184 |
+
require_once ABSPATH . 'wp-includes/class-phpass.php';
|
185 |
+
$hasher = new PasswordHash( 8, false );
|
186 |
+
$user_id = md5( $hasher->get_random_bytes( 32 ) );
|
187 |
+
|
188 |
+
WC()->session->set('aepc_user_id', $user_id);
|
189 |
+
}
|
190 |
+
|
191 |
+
return $user_id;
|
192 |
+
}
|
193 |
+
|
194 |
/**
|
195 |
* This is an alternative method that register the add to cart parameters in a JS variable
|
196 |
*
|
214 |
|
215 |
$args = array();
|
216 |
|
217 |
+
$product_id = $this->get_product_id( $product );
|
218 |
$args[ $product_id ] = AEPC_Track::check_event_parameters( 'AddToCart', array(
|
219 |
'content_type' => 'product',
|
220 |
'content_ids' => array( $this->maybe_sku( $product_id ) ),
|
228 |
if (empty($variation)) {
|
229 |
continue;
|
230 |
}
|
231 |
+
$variation_id = $this->get_product_id( $variation );
|
232 |
+
$args[ $child_id ] = AEPC_Track::check_event_parameters( 'AddToCart', array(
|
233 |
'content_type' => 'product',
|
234 |
'content_ids' => array( $this->maybe_sku( $variation_id ) ),
|
235 |
'content_category' => AEPC_Pixel_Scripts::content_category_list( $product_id ),
|
260 |
*/
|
261 |
protected function get_view_content_params() {
|
262 |
$product = wc_get_product();
|
263 |
+
$product_id = $this->get_product_id( $product );
|
264 |
|
265 |
$params = array(
|
266 |
'content_type' => 'product',
|
290 |
|
291 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $values ) {
|
292 |
$_product = $values['data'];
|
293 |
+
$product_ids[] = $this->maybe_sku( $this->get_product_id( $_product ) );
|
294 |
$num_items += $values['quantity'];
|
295 |
}
|
296 |
|
304 |
|
305 |
return array(
|
306 |
'content_type' => 'product',
|
307 |
+
'content_ids' => array_unique( $product_ids ),
|
308 |
'num_items' => $num_items,
|
309 |
'value' => $cart_total,
|
310 |
'currency' => get_woocommerce_currency()
|
317 |
* @return array
|
318 |
*/
|
319 |
protected function get_purchase_params() {
|
320 |
+
if (is_order_received_page()) {
|
321 |
+
global $wp;
|
322 |
+
$order = wc_get_order( ! empty( $wp->query_vars['order-received'] ) ? intval( $wp->query_vars['order-received'] ) : intval( $_GET['order-received'] ) );
|
323 |
+
} else {
|
324 |
+
$queue = $this->get_purchase_queue();
|
325 |
+
$order = wc_get_order( array_shift($queue) );
|
326 |
+
}
|
327 |
|
328 |
+
$queue = $this->get_purchase_queue();
|
|
|
329 |
|
330 |
if ( empty( $order ) ) {
|
331 |
return array();
|
332 |
}
|
333 |
|
334 |
+
$product_ids = array_map(function($item) use($order) {
|
335 |
+
/** @var WC_Order_Item $item */
|
336 |
$_product = is_object( $item ) ? $item->get_product() : $order->get_product_from_item( $item );
|
337 |
+
$_product_id = $this->get_product_id( $_product );
|
338 |
|
339 |
if ( ! empty( $_product ) ) {
|
340 |
+
return $this->maybe_sku( $_product_id );
|
341 |
} else {
|
342 |
+
return $item['product_id'];
|
343 |
}
|
344 |
+
}, array_values($order->get_items()));
|
345 |
|
346 |
// Order value
|
347 |
$order_value = $order->get_total();
|
351 |
$order_value -= method_exists( $order, 'get_shipping_total' ) ? $order->get_shipping_total() : $order->get_total_shipping();
|
352 |
}
|
353 |
|
354 |
+
$order->add_meta_data( self::ALREADY_TRACKED_POSTMETA, true );
|
355 |
+
$order->save_meta_data();
|
356 |
+
|
357 |
+
unset($queue[0]);
|
358 |
+
$this->save_purchase_queue($queue);
|
359 |
|
360 |
return array(
|
361 |
+
'content_ids' => array_unique( $product_ids ),
|
362 |
'content_type' => 'product',
|
363 |
'value' => $order_value,
|
364 |
'currency' => method_exists( $order, 'get_currency' ) ? $order->get_currency() : $order->get_order_currency()
|
427 |
}
|
428 |
|
429 |
$product = wc_get_product();
|
430 |
+
$product_id = $this->get_product_id( $product );
|
431 |
?><span data-content_category="<?php echo esc_attr( wp_json_encode( AEPC_Pixel_Scripts::content_category_list( $product_id ) ) ) ?>" style="display:none;"></span><?php
|
432 |
}
|
433 |
|
504 |
return function_exists('wc_get_checkout_url') ? wc_get_checkout_url() : wc_get_page_permalink('checkout');
|
505 |
}
|
506 |
|
507 |
+
/**
|
508 |
+
* @param $user_id
|
509 |
+
*
|
510 |
+
* @return string
|
511 |
+
*/
|
512 |
+
protected function get_queue_transient_name($user_id = null) {
|
513 |
+
return sprintf(self::PURCHASE_QUEUE_TRANSIENT, $user_id ?: $this->get_session_user_id());
|
514 |
+
}
|
515 |
+
|
516 |
+
/**
|
517 |
+
* @param null $user_id
|
518 |
+
*
|
519 |
+
* @return array
|
520 |
+
*/
|
521 |
+
protected function get_purchase_queue($user_id = null) {
|
522 |
+
$queue = get_transient($this->get_queue_transient_name($user_id)) ?: [];
|
523 |
+
return array_filter($queue, function($order_id){
|
524 |
+
$order = wc_get_order($order_id);
|
525 |
+
return ! empty($order) && ! $order->get_meta(self::ALREADY_TRACKED_POSTMETA );
|
526 |
+
});
|
527 |
+
}
|
528 |
+
|
529 |
+
/**
|
530 |
+
* @param $queue
|
531 |
+
* @param null $user_id
|
532 |
+
*/
|
533 |
+
protected function save_purchase_queue($queue, $user_id = null) {
|
534 |
+
$key = $this->get_queue_transient_name($user_id);
|
535 |
+
|
536 |
+
if (!empty($queue)) {
|
537 |
+
set_transient($key, $queue);
|
538 |
+
} else {
|
539 |
+
delete_transient($key);
|
540 |
+
}
|
541 |
+
}
|
542 |
+
|
543 |
/**
|
544 |
* Helper method to get the description from a product by checking first description and then short one if the full
|
545 |
* one is empty
|
549 |
* @return string
|
550 |
*/
|
551 |
protected function get_description_from_product( $product ) {
|
552 |
+
return method_exists( $product, 'get_description' ) ? $product->get_description() : $product->post->post_content;
|
553 |
+
}
|
|
|
|
|
|
|
|
|
554 |
|
555 |
+
/**
|
556 |
+
* @param $product
|
557 |
+
*
|
558 |
+
* @return mixed
|
559 |
+
*/
|
560 |
+
protected function get_short_description_from_product( $product ) {
|
561 |
+
return method_exists( $product, 'get_short_description' ) ? $product->get_short_description() : $product->post->post_excerpt;
|
562 |
}
|
563 |
|
564 |
/**
|
579 |
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : ( $product_is_variation ? $product->variation_id : $product->id );
|
580 |
$product_slug = method_exists( $product, 'get_slug' ) ? $product->get_slug() : $product->post->post_name;
|
581 |
$product_description = $this->get_description_from_product( $product );
|
582 |
+
$product_short_description = $this->get_short_description_from_product( $product );
|
583 |
$product_additional_image_ids = array_map( 'wp_get_attachment_url', method_exists( $product, 'get_gallery_image_ids' ) ? $product->get_gallery_image_ids() : $product->get_gallery_attachment_ids() );
|
584 |
$product_parent_id = method_exists( $product, 'get_parent_id' ) ? $product->get_parent_id() : ( isset( $product->parent->id ) ? $product->parent->id : 0 );
|
585 |
$product_parent = $product_parent_id && ($parent_product = wc_get_product($product_parent_id)) ? $parent_product : null;
|
604 |
$product_description = $this->get_description_from_product( wc_get_product( $product_parent_id ) );
|
605 |
}
|
606 |
|
607 |
+
// If variation description is empty get it from parent
|
608 |
+
if ( $product_is_variation && empty( $product_short_description ) ) {
|
609 |
+
$product_short_description = $this->get_short_description_from_product( wc_get_product( $product_parent_id ) );
|
610 |
+
}
|
611 |
+
|
612 |
if ( method_exists( $product, 'get_date_on_sale_from' ) && method_exists( $product, 'get_date_on_sale_to' ) ) {
|
613 |
$product_date_on_sale_from = $product->get_date_on_sale_from();
|
614 |
$product_date_on_sale_to = $product->get_date_on_sale_to();
|
627 |
->set_admin_url( add_query_arg( array( 'post' => $product_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
|
628 |
->set_parent_admin_url( add_query_arg( array( 'post' => $product_parent_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
|
629 |
->set_title( $product->get_title() )
|
630 |
+
->set_description( $product_description ?: $product_short_description )
|
631 |
->set_short_description( $product_short_description )
|
632 |
->set_link( $product->get_permalink() )
|
633 |
->set_image_url( $product_image_link )
|
826 |
// Add hook to customize the query
|
827 |
add_action( 'pre_get_posts', array( $this, 'customize_wp_query' ) );
|
828 |
|
829 |
+
// Fix plugin compatibilities
|
830 |
+
add_filter('option_siteground_optimizer_optimize_images', '__return_true');
|
831 |
+
add_filter('site_option_siteground_optimizer_optimize_images', '__return_true');
|
832 |
+
|
833 |
// Map WC objects
|
834 |
$products = wc_get_products( $products_query );
|
835 |
|
1043 |
|
1044 |
return $price;
|
1045 |
}
|
1046 |
+
|
1047 |
+
/**
|
1048 |
+
* Get the right product ID
|
1049 |
+
*
|
1050 |
+
* @param WC_Product $product
|
1051 |
+
*
|
1052 |
+
* @return int
|
1053 |
+
*/
|
1054 |
+
protected function get_product_id( WC_Product $product ) {
|
1055 |
+
if (!AEPC_Track::can_track_variations() && $product->is_type('variation')) {
|
1056 |
+
$product_id = method_exists( $product, 'get_parent_id' ) ? $product->get_parent_id() : $product->parent_id;
|
1057 |
+
} else {
|
1058 |
+
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
|
1059 |
+
}
|
1060 |
+
|
1061 |
+
return $product_id;
|
1062 |
+
}
|
1063 |
}
|
languages/pixel-caffeine.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Pixel Caffeine package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Pixel Caffeine 2.0
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/pixel-caffeine\n"
|
7 |
-
"POT-Creation-Date: 2019-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -136,12 +136,12 @@ msgid ""
|
|
136 |
msgstr ""
|
137 |
|
138 |
#: includes/admin/class-aepc-admin-ca.php:392
|
139 |
-
#: includes/admin/class-aepc-admin-view.php:
|
140 |
msgid "Now"
|
141 |
msgstr ""
|
142 |
|
143 |
#: includes/admin/class-aepc-admin-ca.php:394
|
144 |
-
#: includes/admin/class-aepc-admin-view.php:
|
145 |
#: includes/admin/templates/parts/widgets/news.php:38
|
146 |
msgid "%s ago"
|
147 |
msgstr ""
|
@@ -199,7 +199,7 @@ msgstr[1] ""
|
|
199 |
#: includes/admin/class-aepc-admin-ca.php:910
|
200 |
#: includes/admin/class-aepc-admin-ca.php:923
|
201 |
#: includes/admin/class-aepc-admin-ca.php:944
|
202 |
-
#: includes/admin/class-aepc-admin.php:
|
203 |
msgid "any"
|
204 |
msgstr ""
|
205 |
|
@@ -357,113 +357,113 @@ msgstr ""
|
|
357 |
msgid "Manual facebook connection"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: includes/admin/class-aepc-admin-view.php:
|
361 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
362 |
msgid "Contains"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/admin/class-aepc-admin-view.php:
|
366 |
msgid "Not Contains"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: includes/admin/class-aepc-admin-view.php:
|
370 |
msgid "Is"
|
371 |
msgstr ""
|
372 |
|
373 |
-
#: includes/admin/class-aepc-admin-view.php:
|
374 |
msgid "Not equal"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/admin/class-aepc-admin-view.php:
|
378 |
msgid "Less than"
|
379 |
msgstr ""
|
380 |
|
381 |
-
#: includes/admin/class-aepc-admin-view.php:
|
382 |
msgid "Less than or equal to"
|
383 |
msgstr ""
|
384 |
|
385 |
-
#: includes/admin/class-aepc-admin-view.php:
|
386 |
-
#: includes/admin/class-aepc-admin-view.php:
|
387 |
msgid "Greater than or equal to"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: includes/admin/class-aepc-admin-view.php:
|
391 |
msgid "Product Category"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/admin/class-aepc-admin-view.php:
|
395 |
msgid "Product Tag"
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/admin/class-aepc-admin-view.php:
|
399 |
msgid "Full Description"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/admin/class-aepc-admin-view.php:
|
403 |
msgid "Short Description"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/admin/class-aepc-admin-view.php:
|
407 |
msgid "Price excluding tax"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/admin/class-aepc-admin-view.php:
|
411 |
msgid "Price including tax"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/admin/class-aepc-admin-view.php:
|
415 |
msgid "New"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/admin/class-aepc-admin-view.php:
|
419 |
msgid "Refurbished"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/admin/class-aepc-admin-view.php:
|
423 |
msgid "Used"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/admin/class-aepc-admin-view.php:
|
427 |
msgid "Thumbnail"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/admin/class-aepc-admin-view.php:
|
431 |
msgid "Medium"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/admin/class-aepc-admin-view.php:
|
435 |
msgid "Large"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/admin/class-aepc-admin-view.php:
|
439 |
msgid "Full Size"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/admin/class-aepc-admin-view.php:
|
443 |
msgid "Every Sunday"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/admin/class-aepc-admin-view.php:
|
447 |
msgid "Every Monday"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/admin/class-aepc-admin-view.php:
|
451 |
msgid "Every Tuesday"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: includes/admin/class-aepc-admin-view.php:
|
455 |
msgid "Every Wednesday"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: includes/admin/class-aepc-admin-view.php:
|
459 |
msgid "Every Thursday"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: includes/admin/class-aepc-admin-view.php:
|
463 |
msgid "Every Friday"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/admin/class-aepc-admin-view.php:
|
467 |
msgid "Every Saturday"
|
468 |
msgstr ""
|
469 |
|
@@ -483,158 +483,158 @@ msgstr ""
|
|
483 |
msgid "<strong>Some option cannot be saved</strong> Please, check errors below."
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/admin/class-aepc-admin.php:
|
487 |
msgid "Please, check fields errors below."
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/admin/class-aepc-admin.php:
|
491 |
msgid ""
|
492 |
"You have unsaved changes on this page. Do you want to leave this page and "
|
493 |
"discard your changes or stay on this page?"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: includes/admin/class-aepc-admin.php:
|
497 |
msgid "You need to save!"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: includes/admin/class-aepc-admin.php:
|
501 |
-
#: includes/admin/class-aepc-admin.php:
|
502 |
msgid "Saving..."
|
503 |
msgstr ""
|
504 |
|
505 |
-
#: includes/admin/class-aepc-admin.php:
|
506 |
msgid "Copied!"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: includes/admin/class-aepc-admin.php:
|
510 |
msgid "No support :("
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: includes/admin/class-aepc-admin.php:
|
514 |
msgid "Press ⌘-{{{ key }}} to copy"
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: includes/admin/class-aepc-admin.php:
|
518 |
msgid "Press Ctrl-{{{ key }}} to copy"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: includes/admin/class-aepc-admin.php:
|
522 |
msgid "Press ⌘-{{{ key }}} to cut"
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: includes/admin/class-aepc-admin.php:
|
526 |
msgid "Press Ctrl-{{{ key }}} to cut"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: includes/admin/class-aepc-admin.php:
|
530 |
msgid "Write the key or select from below"
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: includes/admin/class-aepc-admin.php:
|
534 |
msgid "<strong>Can't add filter</strong> You have to select an event type"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: includes/admin/class-aepc-admin.php:
|
538 |
msgid "<strong>Can't add filter</strong> You have to define at least one condition"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: includes/admin/class-aepc-admin.php:
|
542 |
msgid "Select an account ID"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: includes/admin/class-aepc-admin.php:
|
546 |
msgid "No Ad account found"
|
547 |
msgstr ""
|
548 |
|
549 |
-
#: includes/admin/class-aepc-admin.php:
|
550 |
msgid "No pixel found"
|
551 |
msgstr ""
|
552 |
|
553 |
-
#: includes/admin/class-aepc-admin.php:
|
554 |
msgid "No products feeds found"
|
555 |
msgstr ""
|
556 |
|
557 |
-
#: includes/admin/class-aepc-admin.php:
|
558 |
#: includes/admin/templates/parts/activity-box.php:29
|
559 |
msgid "Today"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: includes/admin/class-aepc-admin.php:
|
563 |
#: includes/admin/templates/parts/activity-box.php:30
|
564 |
msgid "Yesterday"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: includes/admin/class-aepc-admin.php:
|
568 |
msgid "2 Days"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: includes/admin/class-aepc-admin.php:
|
572 |
msgid "7 Days"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: includes/admin/class-aepc-admin.php:
|
576 |
msgid "14 Days"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: includes/admin/class-aepc-admin.php:
|
580 |
msgid "<strong>RSS Error</strong>: %s"
|
581 |
msgstr ""
|
582 |
|
583 |
-
#: includes/admin/class-aepc-admin.php:
|
584 |
msgid ""
|
585 |
"An error has occurred, which probably means the feed is down. Try again "
|
586 |
"later."
|
587 |
msgstr ""
|
588 |
|
589 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
590 |
msgid "Empty Token"
|
591 |
msgstr ""
|
592 |
|
593 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
594 |
msgid "Expired Token"
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
598 |
msgid "Invalid login, please try again."
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
602 |
msgid "Please, grant the permissions requested"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
606 |
msgid "Please, grant the permissions: %s"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
610 |
msgid "Facebook authentication error"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
614 |
msgid ""
|
615 |
"<strong>Facebook connected</strong> Your facebook account is properly "
|
616 |
"connected now."
|
617 |
msgstr ""
|
618 |
|
619 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
620 |
msgid ""
|
621 |
"Please, connect your facebook account to make operations to the custom "
|
622 |
"audiences of your Ad account."
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
626 |
msgid ""
|
627 |
"Something went wrong during the connection with Facebook API. Please, try "
|
628 |
"to %1$srefresh the page%2$s."
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
632 |
msgid ""
|
633 |
"Cannot save on facebook account because of something gone wrong during "
|
634 |
"facebook connection."
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
638 |
msgid ""
|
639 |
"The request goes in error from your server due by some oldest version of "
|
640 |
"\"cUrl\" package. Please, ask to your hosting to upgrade it in order to fix "
|
@@ -643,86 +643,86 @@ msgid ""
|
|
643 |
"service, to give their more details about the issue."
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
647 |
msgid "Facebook connection timed out. Please, login again from %shere%s"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
651 |
msgid ""
|
652 |
"Facebook connection timed out or you need to authorize again. Please, login "
|
653 |
"again from %shere%s"
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
657 |
msgid "Permission error: %s"
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
661 |
msgid "This Ads action requires the user to be admin of the application."
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
665 |
msgid "This Ads action requires the user to be admin of the ad account."
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
669 |
msgid ""
|
670 |
"The ad account is not enabled for usage in Ads API. Please add it in "
|
671 |
"developers.facebook.com/apps -> select your app -> settings -> advanced -> "
|
672 |
"advertising accounts -> Ads API."
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
676 |
msgid "The facebook object you are trying to use does not exist."
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
680 |
msgid "You have to extend permission for ads_read to complete the action."
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
684 |
msgid "You have to extend permission for ads_management to complete the action."
|
685 |
msgstr ""
|
686 |
|
687 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
688 |
msgid "Failed to update the custom audience."
|
689 |
msgstr ""
|
690 |
|
691 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
692 |
msgid "Failed to create lookalike custom audience."
|
693 |
msgstr ""
|
694 |
|
695 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
696 |
msgid "Failed to create custom audience on your facebook account."
|
697 |
msgstr ""
|
698 |
|
699 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
700 |
msgid ""
|
701 |
"Terms of service has not been accepted. To accept, go to "
|
702 |
"https://www.facebook.com/ads/manage/customaudiences/tos.php"
|
703 |
msgstr ""
|
704 |
|
705 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
706 |
msgid "Failed to delete custom audience because associated lookalikes exist."
|
707 |
msgstr ""
|
708 |
|
709 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
710 |
msgid ""
|
711 |
"Terms of service has not been accepted. To accept, go to "
|
712 |
"https://www.facebook.com/customaudiences/app/tos"
|
713 |
msgstr ""
|
714 |
|
715 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
716 |
msgid ""
|
717 |
"The corporate terms of service has not been accepted. To accept, go to "
|
718 |
"https://business.facebook.com/ads/manage/customaudiences/tos.php"
|
719 |
msgstr ""
|
720 |
|
721 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
722 |
msgid "Specified audience is too small."
|
723 |
msgstr ""
|
724 |
|
725 |
-
#: includes/admin/class-aepc-facebook-adapter.php:
|
726 |
msgid ""
|
727 |
"Unable to create a product catalog because there isn't any business ID "
|
728 |
"associated to your Ad account."
|
@@ -812,8 +812,8 @@ msgid "Main Controls"
|
|
812 |
msgstr ""
|
813 |
|
814 |
#: includes/admin/templates/dashboard.php:61
|
815 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
816 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
817 |
msgid "Status"
|
818 |
msgstr ""
|
819 |
|
@@ -1047,89 +1047,89 @@ msgstr ""
|
|
1047 |
msgid "Tracking tools"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1051 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1052 |
msgid "num"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1056 |
msgid ""
|
1057 |
"Postpone the events fired on page load. It's useful to avoid to track "
|
1058 |
"bouncing users that spends less time on pages."
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1062 |
msgid ""
|
1063 |
"Postpone the AdvancedEvents pixel that contains data for post ID, post "
|
1064 |
"type, taxonomy, custom fields, so on."
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1068 |
msgid "role"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1072 |
msgid ""
|
1073 |
"Useful for those roles (such as Administrators) that don't want to track "
|
1074 |
"pixels for themselves."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1078 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1079 |
msgid "event"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1083 |
msgid ""
|
1084 |
"Exclude \"value\" and \"currency\" parameters from the specified DPA "
|
1085 |
"standard pixels."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1089 |
msgid ""
|
1090 |
"Exclude \"content_ids\", \"content_type\" and \"content_name\" parameters "
|
1091 |
"from the specified DPA standard pixels."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1095 |
msgid "Developers tools"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1099 |
msgid "Clear transients"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1103 |
msgid ""
|
1104 |
"Reset all Facebook API cached to better performance. Rarely used, it is "
|
1105 |
"useful to fix some data don't fetched from facebook."
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1109 |
msgid "Enable debug mode"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1113 |
msgid ""
|
1114 |
"You will be able to have a details dump of pixels events fired, on "
|
1115 |
"javascript console of browser inspector."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1119 |
msgid "Note:"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1123 |
msgid ""
|
1124 |
"by activating this mode, the pixels won't be sent to facebook, so a warning "
|
1125 |
"is shown on Facebook Pixel Helper chrome extension."
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1129 |
msgid "Reset Facebook Connection"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
1133 |
msgid ""
|
1134 |
"Reset facebook connection status when it is blocked by an error (you won't "
|
1135 |
"lose any data)."
|
@@ -1325,7 +1325,7 @@ msgid "Name"
|
|
1325 |
msgstr ""
|
1326 |
|
1327 |
#: includes/admin/templates/parts/forms/conversion.php:20
|
1328 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1329 |
msgid "Name..."
|
1330 |
msgstr ""
|
1331 |
|
@@ -1347,113 +1347,134 @@ msgstr ""
|
|
1347 |
msgid "CSS Selector"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1351 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
|
|
|
|
|
|
|
|
|
|
1352 |
#: includes/admin/templates/parts/panels/product-feed/created.php:42
|
1353 |
msgid "URL"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1357 |
msgid "Is Exact"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1361 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1362 |
msgid "CSS"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1366 |
msgid "Event"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1370 |
msgid "Custom Event Name"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1374 |
msgid "Delay"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1378 |
msgid "seconds (leave empty for default)"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1382 |
msgid "Pass Advanced Data"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1386 |
msgid "Advanced data is ON!"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1390 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1391 |
msgid "Advanced data is OFF!"
|
1392 |
msgstr ""
|
1393 |
|
1394 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1395 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1396 |
-
#: includes/admin/templates/parts/forms/conversion.php:252
|
1397 |
#: includes/admin/templates/parts/forms/conversion.php:275
|
|
|
1398 |
msgid "Value"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1402 |
msgid "Currency"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1406 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1407 |
msgid "Predicted lifetime value"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1411 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1412 |
msgid "Content Name"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1416 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1417 |
msgid "Content category"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1421 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1422 |
msgid "Content ids"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1426 |
msgid "Content Type"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1430 |
msgid "Product"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1434 |
msgid "Product Group"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1438 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1439 |
msgid "Num items"
|
1440 |
msgstr ""
|
1441 |
|
1442 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1443 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1444 |
msgid "Search string"
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1448 |
msgid "Custom parameters"
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: includes/admin/templates/parts/forms/conversion.php:249
|
1452 |
#: includes/admin/templates/parts/forms/conversion.php:272
|
|
|
1453 |
msgid "Key"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: includes/admin/templates/parts/forms/conversion.php:
|
1457 |
msgid "Add parameter"
|
1458 |
msgstr ""
|
1459 |
|
@@ -2111,7 +2132,15 @@ msgstr ""
|
|
2111 |
msgid "On click css selector"
|
2112 |
msgstr ""
|
2113 |
|
2114 |
-
#: includes/admin/templates/parts/tables/ce-tracking.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2115 |
msgid "Show code"
|
2116 |
msgstr ""
|
2117 |
|
@@ -2609,46 +2638,58 @@ msgstr ""
|
|
2609 |
|
2610 |
#: includes/admin/templates/parts/advanced-settings.php:33
|
2611 |
msgctxt "pixel-caffeine"
|
|
|
|
|
|
|
|
|
|
|
2612 |
msgid "Force to use product IDs even if there is a SKU defined"
|
2613 |
msgstr ""
|
2614 |
|
2615 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2616 |
msgctxt "%1$s is an input text, the other strong tags"
|
2617 |
msgid "Delay %2$sPageView%3$s pixel firing of %1$s seconds"
|
2618 |
msgstr ""
|
2619 |
|
2620 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2621 |
msgctxt "%1$s is an input text, the other strong tags"
|
2622 |
msgid ""
|
2623 |
"Delay %2$sAdvancedEvents%3$s and %2$sCustom Conversions%3$s pixels firing "
|
2624 |
"of %1$s seconds"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2628 |
msgctxt "%1$s is an input text, the other strong tags"
|
2629 |
msgid "Don't fire the pixels if the user is logged in as %1$s"
|
2630 |
msgstr ""
|
2631 |
|
2632 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2633 |
msgctxt "%1$s is an input text, the other strong tags"
|
2634 |
msgid "Don't track \"value\" when following events are fired: %1$s"
|
2635 |
msgstr ""
|
2636 |
|
2637 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2638 |
msgctxt "%1$s is an input text, the other strong tags"
|
2639 |
msgid ""
|
2640 |
"Don't track \"content_ids\", \"content_type\" and \"content_name\" when "
|
2641 |
"following events are fired: %1$s"
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
2645 |
msgctxt "%1$s and %2$s are for strong tag"
|
2646 |
msgid ""
|
2647 |
"Do not track variable products as %1$sproduct_group%2$s in the conversion "
|
2648 |
"events"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: includes/admin/templates/parts/advanced-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2652 |
msgctxt "%1$s and %2$s are for strong tag"
|
2653 |
msgid ""
|
2654 |
"Track %1$sshipping costs%2$s into %1$sPurchase%2$s and "
|
2 |
# This file is distributed under the same license as the Pixel Caffeine package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Pixel Caffeine 2.1.0\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/pixel-caffeine\n"
|
7 |
+
"POT-Creation-Date: 2019-11-07 08:52:29+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
136 |
msgstr ""
|
137 |
|
138 |
#: includes/admin/class-aepc-admin-ca.php:392
|
139 |
+
#: includes/admin/class-aepc-admin-view.php:1289
|
140 |
msgid "Now"
|
141 |
msgstr ""
|
142 |
|
143 |
#: includes/admin/class-aepc-admin-ca.php:394
|
144 |
+
#: includes/admin/class-aepc-admin-view.php:1291
|
145 |
#: includes/admin/templates/parts/widgets/news.php:38
|
146 |
msgid "%s ago"
|
147 |
msgstr ""
|
199 |
#: includes/admin/class-aepc-admin-ca.php:910
|
200 |
#: includes/admin/class-aepc-admin-ca.php:923
|
201 |
#: includes/admin/class-aepc-admin-ca.php:944
|
202 |
+
#: includes/admin/class-aepc-admin.php:532
|
203 |
msgid "any"
|
204 |
msgstr ""
|
205 |
|
357 |
msgid "Manual facebook connection"
|
358 |
msgstr ""
|
359 |
|
360 |
+
#: includes/admin/class-aepc-admin-view.php:800
|
361 |
+
#: includes/admin/templates/parts/forms/conversion.php:48
|
362 |
msgid "Contains"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: includes/admin/class-aepc-admin-view.php:801
|
366 |
msgid "Not Contains"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: includes/admin/class-aepc-admin-view.php:802
|
370 |
msgid "Is"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: includes/admin/class-aepc-admin-view.php:803
|
374 |
msgid "Not equal"
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: includes/admin/class-aepc-admin-view.php:804
|
378 |
msgid "Less than"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: includes/admin/class-aepc-admin-view.php:805
|
382 |
msgid "Less than or equal to"
|
383 |
msgstr ""
|
384 |
|
385 |
+
#: includes/admin/class-aepc-admin-view.php:806
|
386 |
+
#: includes/admin/class-aepc-admin-view.php:807
|
387 |
msgid "Greater than or equal to"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: includes/admin/class-aepc-admin-view.php:849
|
391 |
msgid "Product Category"
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: includes/admin/class-aepc-admin-view.php:880
|
395 |
msgid "Product Tag"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: includes/admin/class-aepc-admin-view.php:1190
|
399 |
msgid "Full Description"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/admin/class-aepc-admin-view.php:1191
|
403 |
msgid "Short Description"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/admin/class-aepc-admin-view.php:1202
|
407 |
msgid "Price excluding tax"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/admin/class-aepc-admin-view.php:1203
|
411 |
msgid "Price including tax"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/admin/class-aepc-admin-view.php:1214
|
415 |
msgid "New"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/admin/class-aepc-admin-view.php:1215
|
419 |
msgid "Refurbished"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: includes/admin/class-aepc-admin-view.php:1216
|
423 |
msgid "Used"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: includes/admin/class-aepc-admin-view.php:1227
|
427 |
msgid "Thumbnail"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: includes/admin/class-aepc-admin-view.php:1228
|
431 |
msgid "Medium"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: includes/admin/class-aepc-admin-view.php:1229
|
435 |
msgid "Large"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: includes/admin/class-aepc-admin-view.php:1230
|
439 |
msgid "Full Size"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: includes/admin/class-aepc-admin-view.php:1242
|
443 |
msgid "Every Sunday"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: includes/admin/class-aepc-admin-view.php:1243
|
447 |
msgid "Every Monday"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: includes/admin/class-aepc-admin-view.php:1244
|
451 |
msgid "Every Tuesday"
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: includes/admin/class-aepc-admin-view.php:1245
|
455 |
msgid "Every Wednesday"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/admin/class-aepc-admin-view.php:1246
|
459 |
msgid "Every Thursday"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/admin/class-aepc-admin-view.php:1247
|
463 |
msgid "Every Friday"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/admin/class-aepc-admin-view.php:1248
|
467 |
msgid "Every Saturday"
|
468 |
msgstr ""
|
469 |
|
483 |
msgid "<strong>Some option cannot be saved</strong> Please, check errors below."
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/admin/class-aepc-admin.php:370
|
487 |
msgid "Please, check fields errors below."
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/admin/class-aepc-admin.php:520
|
491 |
msgid ""
|
492 |
"You have unsaved changes on this page. Do you want to leave this page and "
|
493 |
"discard your changes or stay on this page?"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: includes/admin/class-aepc-admin.php:521
|
497 |
msgid "You need to save!"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: includes/admin/class-aepc-admin.php:523
|
501 |
+
#: includes/admin/class-aepc-admin.php:534
|
502 |
msgid "Saving..."
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: includes/admin/class-aepc-admin.php:525
|
506 |
msgid "Copied!"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: includes/admin/class-aepc-admin.php:526
|
510 |
msgid "No support :("
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/admin/class-aepc-admin.php:527
|
514 |
msgid "Press ⌘-{{{ key }}} to copy"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: includes/admin/class-aepc-admin.php:528
|
518 |
msgid "Press Ctrl-{{{ key }}} to copy"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: includes/admin/class-aepc-admin.php:529
|
522 |
msgid "Press ⌘-{{{ key }}} to cut"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: includes/admin/class-aepc-admin.php:530
|
526 |
msgid "Press Ctrl-{{{ key }}} to cut"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: includes/admin/class-aepc-admin.php:533
|
530 |
msgid "Write the key or select from below"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: includes/admin/class-aepc-admin.php:535
|
534 |
msgid "<strong>Can't add filter</strong> You have to select an event type"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: includes/admin/class-aepc-admin.php:536
|
538 |
msgid "<strong>Can't add filter</strong> You have to define at least one condition"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: includes/admin/class-aepc-admin.php:538
|
542 |
msgid "Select an account ID"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: includes/admin/class-aepc-admin.php:539
|
546 |
msgid "No Ad account found"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: includes/admin/class-aepc-admin.php:540
|
550 |
msgid "No pixel found"
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: includes/admin/class-aepc-admin.php:541
|
554 |
msgid "No products feeds found"
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: includes/admin/class-aepc-admin.php:543
|
558 |
#: includes/admin/templates/parts/activity-box.php:29
|
559 |
msgid "Today"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: includes/admin/class-aepc-admin.php:544
|
563 |
#: includes/admin/templates/parts/activity-box.php:30
|
564 |
msgid "Yesterday"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: includes/admin/class-aepc-admin.php:545
|
568 |
msgid "2 Days"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: includes/admin/class-aepc-admin.php:546
|
572 |
msgid "7 Days"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: includes/admin/class-aepc-admin.php:547
|
576 |
msgid "14 Days"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: includes/admin/class-aepc-admin.php:713
|
580 |
msgid "<strong>RSS Error</strong>: %s"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: includes/admin/class-aepc-admin.php:725
|
584 |
msgid ""
|
585 |
"An error has occurred, which probably means the feed is down. Try again "
|
586 |
"later."
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: includes/admin/class-aepc-facebook-adapter.php:150
|
590 |
msgid "Empty Token"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: includes/admin/class-aepc-facebook-adapter.php:160
|
594 |
msgid "Expired Token"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: includes/admin/class-aepc-facebook-adapter.php:168
|
598 |
msgid "Invalid login, please try again."
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: includes/admin/class-aepc-facebook-adapter.php:201
|
602 |
msgid "Please, grant the permissions requested"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: includes/admin/class-aepc-facebook-adapter.php:203
|
606 |
msgid "Please, grant the permissions: %s"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: includes/admin/class-aepc-facebook-adapter.php:206
|
610 |
msgid "Facebook authentication error"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: includes/admin/class-aepc-facebook-adapter.php:220
|
614 |
msgid ""
|
615 |
"<strong>Facebook connected</strong> Your facebook account is properly "
|
616 |
"connected now."
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: includes/admin/class-aepc-facebook-adapter.php:372
|
620 |
msgid ""
|
621 |
"Please, connect your facebook account to make operations to the custom "
|
622 |
"audiences of your Ad account."
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: includes/admin/class-aepc-facebook-adapter.php:417
|
626 |
msgid ""
|
627 |
"Something went wrong during the connection with Facebook API. Please, try "
|
628 |
"to %1$srefresh the page%2$s."
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: includes/admin/class-aepc-facebook-adapter.php:430
|
632 |
msgid ""
|
633 |
"Cannot save on facebook account because of something gone wrong during "
|
634 |
"facebook connection."
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: includes/admin/class-aepc-facebook-adapter.php:436
|
638 |
msgid ""
|
639 |
"The request goes in error from your server due by some oldest version of "
|
640 |
"\"cUrl\" package. Please, ask to your hosting to upgrade it in order to fix "
|
643 |
"service, to give their more details about the issue."
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: includes/admin/class-aepc-facebook-adapter.php:452
|
647 |
msgid "Facebook connection timed out. Please, login again from %shere%s"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: includes/admin/class-aepc-facebook-adapter.php:475
|
651 |
msgid ""
|
652 |
"Facebook connection timed out or you need to authorize again. Please, login "
|
653 |
"again from %shere%s"
|
654 |
msgstr ""
|
655 |
|
656 |
+
#: includes/admin/class-aepc-facebook-adapter.php:476
|
657 |
msgid "Permission error: %s"
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: includes/admin/class-aepc-facebook-adapter.php:477
|
661 |
msgid "This Ads action requires the user to be admin of the application."
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: includes/admin/class-aepc-facebook-adapter.php:478
|
665 |
msgid "This Ads action requires the user to be admin of the ad account."
|
666 |
msgstr ""
|
667 |
|
668 |
+
#: includes/admin/class-aepc-facebook-adapter.php:479
|
669 |
msgid ""
|
670 |
"The ad account is not enabled for usage in Ads API. Please add it in "
|
671 |
"developers.facebook.com/apps -> select your app -> settings -> advanced -> "
|
672 |
"advertising accounts -> Ads API."
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: includes/admin/class-aepc-facebook-adapter.php:480
|
676 |
msgid "The facebook object you are trying to use does not exist."
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: includes/admin/class-aepc-facebook-adapter.php:481
|
680 |
msgid "You have to extend permission for ads_read to complete the action."
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: includes/admin/class-aepc-facebook-adapter.php:482
|
684 |
msgid "You have to extend permission for ads_management to complete the action."
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/admin/class-aepc-facebook-adapter.php:483
|
688 |
msgid "Failed to update the custom audience."
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: includes/admin/class-aepc-facebook-adapter.php:484
|
692 |
msgid "Failed to create lookalike custom audience."
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: includes/admin/class-aepc-facebook-adapter.php:485
|
696 |
msgid "Failed to create custom audience on your facebook account."
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/admin/class-aepc-facebook-adapter.php:486
|
700 |
msgid ""
|
701 |
"Terms of service has not been accepted. To accept, go to "
|
702 |
"https://www.facebook.com/ads/manage/customaudiences/tos.php"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: includes/admin/class-aepc-facebook-adapter.php:487
|
706 |
msgid "Failed to delete custom audience because associated lookalikes exist."
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: includes/admin/class-aepc-facebook-adapter.php:488
|
710 |
msgid ""
|
711 |
"Terms of service has not been accepted. To accept, go to "
|
712 |
"https://www.facebook.com/customaudiences/app/tos"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: includes/admin/class-aepc-facebook-adapter.php:489
|
716 |
msgid ""
|
717 |
"The corporate terms of service has not been accepted. To accept, go to "
|
718 |
"https://business.facebook.com/ads/manage/customaudiences/tos.php"
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: includes/admin/class-aepc-facebook-adapter.php:490
|
722 |
msgid "Specified audience is too small."
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: includes/admin/class-aepc-facebook-adapter.php:1012
|
726 |
msgid ""
|
727 |
"Unable to create a product catalog because there isn't any business ID "
|
728 |
"associated to your Ad account."
|
812 |
msgstr ""
|
813 |
|
814 |
#: includes/admin/templates/dashboard.php:61
|
815 |
+
#: includes/admin/templates/parts/forms/conversion.php:257
|
816 |
+
#: includes/admin/templates/parts/forms/conversion.php:259
|
817 |
msgid "Status"
|
818 |
msgstr ""
|
819 |
|
1047 |
msgid "Tracking tools"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: includes/admin/templates/parts/advanced-settings.php:75
|
1051 |
+
#: includes/admin/templates/parts/advanced-settings.php:101
|
1052 |
msgid "num"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: includes/admin/templates/parts/advanced-settings.php:88
|
1056 |
msgid ""
|
1057 |
"Postpone the events fired on page load. It's useful to avoid to track "
|
1058 |
"bouncing users that spends less time on pages."
|
1059 |
msgstr ""
|
1060 |
|
1061 |
+
#: includes/admin/templates/parts/advanced-settings.php:114
|
1062 |
msgid ""
|
1063 |
"Postpone the AdvancedEvents pixel that contains data for post ID, post "
|
1064 |
"type, taxonomy, custom fields, so on."
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: includes/admin/templates/parts/advanced-settings.php:181
|
1068 |
msgid "role"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: includes/admin/templates/parts/advanced-settings.php:194
|
1072 |
msgid ""
|
1073 |
"Useful for those roles (such as Administrators) that don't want to track "
|
1074 |
"pixels for themselves."
|
1075 |
msgstr ""
|
1076 |
|
1077 |
+
#: includes/admin/templates/parts/advanced-settings.php:207
|
1078 |
+
#: includes/admin/templates/parts/advanced-settings.php:233
|
1079 |
msgid "event"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: includes/admin/templates/parts/advanced-settings.php:220
|
1083 |
msgid ""
|
1084 |
"Exclude \"value\" and \"currency\" parameters from the specified DPA "
|
1085 |
"standard pixels."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: includes/admin/templates/parts/advanced-settings.php:246
|
1089 |
msgid ""
|
1090 |
"Exclude \"content_ids\", \"content_type\" and \"content_name\" parameters "
|
1091 |
"from the specified DPA standard pixels."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/admin/templates/parts/advanced-settings.php:254
|
1095 |
msgid "Developers tools"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/admin/templates/parts/advanced-settings.php:262
|
1099 |
msgid "Clear transients"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/admin/templates/parts/advanced-settings.php:263
|
1103 |
msgid ""
|
1104 |
"Reset all Facebook API cached to better performance. Rarely used, it is "
|
1105 |
"useful to fix some data don't fetched from facebook."
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: includes/admin/templates/parts/advanced-settings.php:271
|
1109 |
msgid "Enable debug mode"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: includes/admin/templates/parts/advanced-settings.php:278
|
1113 |
msgid ""
|
1114 |
"You will be able to have a details dump of pixels events fired, on "
|
1115 |
"javascript console of browser inspector."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: includes/admin/templates/parts/advanced-settings.php:279
|
1119 |
msgid "Note:"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: includes/admin/templates/parts/advanced-settings.php:279
|
1123 |
msgid ""
|
1124 |
"by activating this mode, the pixels won't be sent to facebook, so a warning "
|
1125 |
"is shown on Facebook Pixel Helper chrome extension."
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: includes/admin/templates/parts/advanced-settings.php:290
|
1129 |
msgid "Reset Facebook Connection"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: includes/admin/templates/parts/advanced-settings.php:291
|
1133 |
msgid ""
|
1134 |
"Reset facebook connection status when it is blocked by an error (you won't "
|
1135 |
"lose any data)."
|
1325 |
msgstr ""
|
1326 |
|
1327 |
#: includes/admin/templates/parts/forms/conversion.php:20
|
1328 |
+
#: includes/admin/templates/parts/forms/conversion.php:117
|
1329 |
msgid "Name..."
|
1330 |
msgstr ""
|
1331 |
|
1347 |
msgid "CSS Selector"
|
1348 |
msgstr ""
|
1349 |
|
1350 |
+
#: includes/admin/templates/parts/forms/conversion.php:34
|
1351 |
+
#: includes/admin/templates/parts/forms/conversion.php:72
|
1352 |
+
msgid "JS Event"
|
1353 |
+
msgstr ""
|
1354 |
+
|
1355 |
+
#: includes/admin/templates/parts/forms/conversion.php:44
|
1356 |
+
#: includes/admin/templates/parts/forms/conversion.php:53
|
1357 |
#: includes/admin/templates/parts/panels/product-feed/created.php:42
|
1358 |
msgid "URL"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: includes/admin/templates/parts/forms/conversion.php:49
|
1362 |
msgid "Is Exact"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: includes/admin/templates/parts/forms/conversion.php:63
|
1366 |
+
#: includes/admin/templates/parts/forms/conversion.php:65
|
1367 |
msgid "CSS"
|
1368 |
msgstr ""
|
1369 |
|
1370 |
+
#: includes/admin/templates/parts/forms/conversion.php:76
|
1371 |
+
msgid ""
|
1372 |
+
"Element by jQuery/CSS selector (`.element` or `#element` or `#element "
|
1373 |
+
".child`)"
|
1374 |
+
msgstr ""
|
1375 |
+
|
1376 |
+
#: includes/admin/templates/parts/forms/conversion.php:82
|
1377 |
+
msgid "JS Event name"
|
1378 |
+
msgstr ""
|
1379 |
+
|
1380 |
+
#: includes/admin/templates/parts/forms/conversion.php:89
|
1381 |
+
msgid ""
|
1382 |
+
"It will be translated in `jQuery(\" field1 content \").on(\" field2 content "
|
1383 |
+
"\")`"
|
1384 |
+
msgstr ""
|
1385 |
+
|
1386 |
+
#: includes/admin/templates/parts/forms/conversion.php:96
|
1387 |
msgid "Event"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: includes/admin/templates/parts/forms/conversion.php:115
|
1391 |
msgid "Custom Event Name"
|
1392 |
msgstr ""
|
1393 |
|
1394 |
+
#: includes/admin/templates/parts/forms/conversion.php:128
|
1395 |
msgid "Delay"
|
1396 |
msgstr ""
|
1397 |
|
1398 |
+
#: includes/admin/templates/parts/forms/conversion.php:130
|
1399 |
msgid "seconds (leave empty for default)"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
+
#: includes/admin/templates/parts/forms/conversion.php:139
|
1403 |
msgid "Pass Advanced Data"
|
1404 |
msgstr ""
|
1405 |
|
1406 |
+
#: includes/admin/templates/parts/forms/conversion.php:155
|
1407 |
msgid "Advanced data is ON!"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
+
#: includes/admin/templates/parts/forms/conversion.php:157
|
1411 |
+
#: includes/admin/templates/parts/forms/conversion.php:161
|
1412 |
msgid "Advanced data is OFF!"
|
1413 |
msgstr ""
|
1414 |
|
1415 |
+
#: includes/admin/templates/parts/forms/conversion.php:169
|
1416 |
+
#: includes/admin/templates/parts/forms/conversion.php:171
|
|
|
1417 |
#: includes/admin/templates/parts/forms/conversion.php:275
|
1418 |
+
#: includes/admin/templates/parts/forms/conversion.php:298
|
1419 |
msgid "Value"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
+
#: includes/admin/templates/parts/forms/conversion.php:178
|
1423 |
msgid "Currency"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
+
#: includes/admin/templates/parts/forms/conversion.php:190
|
1427 |
+
#: includes/admin/templates/parts/forms/conversion.php:192
|
1428 |
msgid "Predicted lifetime value"
|
1429 |
msgstr ""
|
1430 |
|
1431 |
+
#: includes/admin/templates/parts/forms/conversion.php:199
|
1432 |
+
#: includes/admin/templates/parts/forms/conversion.php:201
|
1433 |
msgid "Content Name"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
+
#: includes/admin/templates/parts/forms/conversion.php:208
|
1437 |
+
#: includes/admin/templates/parts/forms/conversion.php:210
|
1438 |
msgid "Content category"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: includes/admin/templates/parts/forms/conversion.php:217
|
1442 |
+
#: includes/admin/templates/parts/forms/conversion.php:219
|
1443 |
msgid "Content ids"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: includes/admin/templates/parts/forms/conversion.php:226
|
1447 |
msgid "Content Type"
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: includes/admin/templates/parts/forms/conversion.php:230
|
1451 |
msgid "Product"
|
1452 |
msgstr ""
|
1453 |
|
1454 |
+
#: includes/admin/templates/parts/forms/conversion.php:231
|
1455 |
msgid "Product Group"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: includes/admin/templates/parts/forms/conversion.php:239
|
1459 |
+
#: includes/admin/templates/parts/forms/conversion.php:241
|
1460 |
msgid "Num items"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
+
#: includes/admin/templates/parts/forms/conversion.php:248
|
1464 |
+
#: includes/admin/templates/parts/forms/conversion.php:250
|
1465 |
msgid "Search string"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
+
#: includes/admin/templates/parts/forms/conversion.php:266
|
1469 |
msgid "Custom parameters"
|
1470 |
msgstr ""
|
1471 |
|
|
|
1472 |
#: includes/admin/templates/parts/forms/conversion.php:272
|
1473 |
+
#: includes/admin/templates/parts/forms/conversion.php:295
|
1474 |
msgid "Key"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
+
#: includes/admin/templates/parts/forms/conversion.php:284
|
1478 |
msgid "Add parameter"
|
1479 |
msgstr ""
|
1480 |
|
2132 |
msgid "On click css selector"
|
2133 |
msgstr ""
|
2134 |
|
2135 |
+
#: includes/admin/templates/parts/tables/ce-tracking.php:65
|
2136 |
+
msgid "On Javascript Event"
|
2137 |
+
msgstr ""
|
2138 |
+
|
2139 |
+
#: includes/admin/templates/parts/tables/ce-tracking.php:66
|
2140 |
+
msgid "<br />When \"%s\" triggers \"%s\""
|
2141 |
+
msgstr ""
|
2142 |
+
|
2143 |
+
#: includes/admin/templates/parts/tables/ce-tracking.php:76
|
2144 |
msgid "Show code"
|
2145 |
msgstr ""
|
2146 |
|
2638 |
|
2639 |
#: includes/admin/templates/parts/advanced-settings.php:33
|
2640 |
msgctxt "pixel-caffeine"
|
2641 |
+
msgid "Do not add the %1$sPixel init snippet%2$s"
|
2642 |
+
msgstr ""
|
2643 |
+
|
2644 |
+
#: includes/admin/templates/parts/advanced-settings.php:53
|
2645 |
+
msgctxt "pixel-caffeine"
|
2646 |
msgid "Force to use product IDs even if there is a SKU defined"
|
2647 |
msgstr ""
|
2648 |
|
2649 |
+
#: includes/admin/templates/parts/advanced-settings.php:71
|
2650 |
msgctxt "%1$s is an input text, the other strong tags"
|
2651 |
msgid "Delay %2$sPageView%3$s pixel firing of %1$s seconds"
|
2652 |
msgstr ""
|
2653 |
|
2654 |
+
#: includes/admin/templates/parts/advanced-settings.php:97
|
2655 |
msgctxt "%1$s is an input text, the other strong tags"
|
2656 |
msgid ""
|
2657 |
"Delay %2$sAdvancedEvents%3$s and %2$sCustom Conversions%3$s pixels firing "
|
2658 |
"of %1$s seconds"
|
2659 |
msgstr ""
|
2660 |
|
2661 |
+
#: includes/admin/templates/parts/advanced-settings.php:177
|
2662 |
msgctxt "%1$s is an input text, the other strong tags"
|
2663 |
msgid "Don't fire the pixels if the user is logged in as %1$s"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
+
#: includes/admin/templates/parts/advanced-settings.php:203
|
2667 |
msgctxt "%1$s is an input text, the other strong tags"
|
2668 |
msgid "Don't track \"value\" when following events are fired: %1$s"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
+
#: includes/admin/templates/parts/advanced-settings.php:229
|
2672 |
msgctxt "%1$s is an input text, the other strong tags"
|
2673 |
msgid ""
|
2674 |
"Don't track \"content_ids\", \"content_type\" and \"content_name\" when "
|
2675 |
"following events are fired: %1$s"
|
2676 |
msgstr ""
|
2677 |
|
2678 |
+
#: includes/admin/templates/parts/advanced-settings.php:123
|
2679 |
msgctxt "%1$s and %2$s are for strong tag"
|
2680 |
msgid ""
|
2681 |
"Do not track variable products as %1$sproduct_group%2$s in the conversion "
|
2682 |
"events"
|
2683 |
msgstr ""
|
2684 |
|
2685 |
+
#: includes/admin/templates/parts/advanced-settings.php:141
|
2686 |
+
msgctxt "%1$s and %2$s are for strong tag"
|
2687 |
+
msgid ""
|
2688 |
+
"Do not track %1$svariations%2$s on DPA events and %1$sforce to use the "
|
2689 |
+
"parent ID%2$s when a variation is added to cart and checkout."
|
2690 |
+
msgstr ""
|
2691 |
+
|
2692 |
+
#: includes/admin/templates/parts/advanced-settings.php:159
|
2693 |
msgctxt "%1$s and %2$s are for strong tag"
|
2694 |
msgid ""
|
2695 |
"Track %1$sshipping costs%2$s into %1$sPurchase%2$s and "
|
pixel-caffeine.php
CHANGED
@@ -7,9 +7,9 @@
|
|
7 |
* Author URI: https://adespresso.com/
|
8 |
* Text Domain: pixel-caffeine
|
9 |
* Domain Path: /languages
|
10 |
-
* Version: 2.0
|
11 |
* WC requires at least: 3.0.0
|
12 |
-
* WC tested up to: 3.
|
13 |
*
|
14 |
* @package PixelCaffeine
|
15 |
*/
|
@@ -24,12 +24,12 @@ if ( ! class_exists( 'PixelCaffeine' ) ) :
|
|
24 |
* Main PixelCaffeine Class.
|
25 |
*
|
26 |
* @class PixelCaffeine
|
27 |
-
* @version 2.0
|
28 |
*/
|
29 |
final class PixelCaffeine {
|
30 |
|
31 |
/** @var string PixelCaffeine version. */
|
32 |
-
public $version = '2.0
|
33 |
|
34 |
/** @var PixelCaffeine The single instance of the class. */
|
35 |
protected static $_instance = null;
|
7 |
* Author URI: https://adespresso.com/
|
8 |
* Text Domain: pixel-caffeine
|
9 |
* Domain Path: /languages
|
10 |
+
* Version: 2.1.0
|
11 |
* WC requires at least: 3.0.0
|
12 |
+
* WC tested up to: 3.8
|
13 |
*
|
14 |
* @package PixelCaffeine
|
15 |
*/
|
24 |
* Main PixelCaffeine Class.
|
25 |
*
|
26 |
* @class PixelCaffeine
|
27 |
+
* @version 2.1.0
|
28 |
*/
|
29 |
final class PixelCaffeine {
|
30 |
|
31 |
/** @var string PixelCaffeine version. */
|
32 |
+
public $version = '2.1.0';
|
33 |
|
34 |
/** @var PixelCaffeine The single instance of the class. */
|
35 |
protected static $_instance = null;
|
readme.txt
CHANGED
@@ -4,8 +4,8 @@ Donate link: https://adespresso.com/
|
|
4 |
Tags: facebook, facebook pixel, facebook ad, facebook insertions, custom audiences, dynamic events, woocommerce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.6
|
7 |
-
Tested up to: 5.
|
8 |
-
Stable tag: 2.0
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
@@ -124,7 +124,19 @@ Unfortunately there isn’t any way at the moment to import custom audiences _fr
|
|
124 |
|
125 |
== Changelog ==
|
126 |
|
127 |
-
= 2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
* Important - **FB API Breaking Change** It's **mandatory** upgrade the plugin in order to have Facebook Pixel selection working correctly in the admin. If you won't upgrade within this week, the plugin will continue to work, but you won't be able to change the Pixel ID.
|
129 |
* Add - Option to enable/disable the Search event
|
130 |
* Add - Ability in Conversions/Events tab to specify if the trigger URL is contained or must be exact of the page where send the event. RECOMMENDED: take a backup of your current version and check all custom conversions events you have after upgrade and open a new topic if have any issues.
|
4 |
Tags: facebook, facebook pixel, facebook ad, facebook insertions, custom audiences, dynamic events, woocommerce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.6
|
7 |
+
Tested up to: 5.3
|
8 |
+
Stable tag: 2.1.0
|
9 |
License: GPLv3
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
11 |
|
124 |
|
125 |
== Changelog ==
|
126 |
|
127 |
+
= 2.1.0 - 2019-11-07 =
|
128 |
+
* Add - Option to disable the tracking of the variations. If enabled, when a variation is added to cart and then checkout/purchase, the content_ids will contain the parent ID
|
129 |
+
* Add - Option to bypass pixel init, allowing to add pixel snippet from GTM or other source
|
130 |
+
* Add - Allow to trigger a custom conversion event by Javascript event
|
131 |
+
* Fix - Conflict with CartFlows
|
132 |
+
* Fix - "Use SKU" option always checked even if unchecked
|
133 |
+
* Fix - Notice: Undefined index: url_condition in .../pixel-caffeine/includes/class-aepc-pixel-scripts.php
|
134 |
+
* Fix - Cron jobs initialization causing some errors on "Logs" tab
|
135 |
+
* Fix - Description missing on variations when short description is mapped on the description field
|
136 |
+
* Fix - Run Purchase event afterwards when PayPal used and not returned back to website after payment
|
137 |
+
* Fix - Wrong image link on product catalog when SG Optimizer active
|
138 |
+
|
139 |
+
= 2.0.8 - 2019-05-07 =
|
140 |
* Important - **FB API Breaking Change** It's **mandatory** upgrade the plugin in order to have Facebook Pixel selection working correctly in the admin. If you won't upgrade within this week, the plugin will continue to work, but you won't be able to change the Pixel ID.
|
141 |
* Add - Option to enable/disable the Search event
|
142 |
* Add - Ability in Conversions/Events tab to specify if the trigger URL is contained or must be exact of the page where send the event. RECOMMENDED: take a backup of your current version and check all custom conversions events you have after upgrade and open a new topic if have any issues.
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInitc89bef6935346d115fe089ba397d38b7::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit53a13e9ee87935cbb7000c216d4144d2
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit53a13e9ee87935cbb7000c216d4144d2
|
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
-
$includeFiles = Composer\Autoload\
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
-
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
-
function
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInitc89bef6935346d115fe089ba397d38b7
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInitc89bef6935346d115fe089ba397d38b7', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInitc89bef6935346d115fe089ba397d38b7', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInitc89bef6935346d115fe089ba397d38b7::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
48 |
$loader->register(true);
|
49 |
|
50 |
if ($useStaticLoader) {
|
51 |
+
$includeFiles = Composer\Autoload\ComposerStaticInitc89bef6935346d115fe089ba397d38b7::$files;
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
+
composerRequirec89bef6935346d115fe089ba397d38b7($fileIdentifier, $file);
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function composerRequirec89bef6935346d115fe089ba397d38b7($fileIdentifier, $file)
|
64 |
{
|
65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
66 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
@@ -113,9 +113,9 @@ class ComposerStaticInit53a13e9ee87935cbb7000c216d4144d2
|
|
113 |
public static function getInitializer(ClassLoader $loader)
|
114 |
{
|
115 |
return \Closure::bind(function () use ($loader) {
|
116 |
-
$loader->prefixLengthsPsr4 =
|
117 |
-
$loader->prefixDirsPsr4 =
|
118 |
-
$loader->classMap =
|
119 |
|
120 |
}, null, ClassLoader::class);
|
121 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInitc89bef6935346d115fe089ba397d38b7
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
|
113 |
public static function getInitializer(ClassLoader $loader)
|
114 |
{
|
115 |
return \Closure::bind(function () use ($loader) {
|
116 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInitc89bef6935346d115fe089ba397d38b7::$prefixLengthsPsr4;
|
117 |
+
$loader->prefixDirsPsr4 = ComposerStaticInitc89bef6935346d115fe089ba397d38b7::$prefixDirsPsr4;
|
118 |
+
$loader->classMap = ComposerStaticInitc89bef6935346d115fe089ba397d38b7::$classMap;
|
119 |
|
120 |
}, null, ClassLoader::class);
|
121 |
}
|
vendor/composer/installed.json
CHANGED
@@ -84,17 +84,17 @@
|
|
84 |
},
|
85 |
{
|
86 |
"name": "monolog/monolog",
|
87 |
-
"version": "1.
|
88 |
-
"version_normalized": "1.
|
89 |
"source": {
|
90 |
"type": "git",
|
91 |
"url": "https://github.com/Seldaek/monolog.git",
|
92 |
-
"reference": "
|
93 |
},
|
94 |
"dist": {
|
95 |
"type": "zip",
|
96 |
-
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/
|
97 |
-
"reference": "
|
98 |
"shasum": ""
|
99 |
},
|
100 |
"require": {
|
@@ -130,7 +130,7 @@
|
|
130 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
131 |
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
132 |
},
|
133 |
-
"time": "
|
134 |
"type": "library",
|
135 |
"extra": {
|
136 |
"branch-alias": {
|
@@ -164,23 +164,23 @@
|
|
164 |
},
|
165 |
{
|
166 |
"name": "psr/log",
|
167 |
-
"version": "1.0
|
168 |
-
"version_normalized": "1.0.
|
169 |
"source": {
|
170 |
"type": "git",
|
171 |
"url": "https://github.com/php-fig/log.git",
|
172 |
-
"reference": "
|
173 |
},
|
174 |
"dist": {
|
175 |
"type": "zip",
|
176 |
-
"url": "https://api.github.com/repos/php-fig/log/zipball/
|
177 |
-
"reference": "
|
178 |
"shasum": ""
|
179 |
},
|
180 |
"require": {
|
181 |
"php": ">=5.3.0"
|
182 |
},
|
183 |
-
"time": "
|
184 |
"type": "library",
|
185 |
"extra": {
|
186 |
"branch-alias": {
|
@@ -213,24 +213,24 @@
|
|
213 |
},
|
214 |
{
|
215 |
"name": "symfony/filesystem",
|
216 |
-
"version": "v2.8.
|
217 |
-
"version_normalized": "2.8.
|
218 |
"source": {
|
219 |
"type": "git",
|
220 |
"url": "https://github.com/symfony/filesystem.git",
|
221 |
-
"reference": "
|
222 |
},
|
223 |
"dist": {
|
224 |
"type": "zip",
|
225 |
-
"url": "https://api.github.com/repos/symfony/filesystem/zipball/
|
226 |
-
"reference": "
|
227 |
"shasum": ""
|
228 |
},
|
229 |
"require": {
|
230 |
"php": ">=5.3.9",
|
231 |
"symfony/polyfill-ctype": "~1.8"
|
232 |
},
|
233 |
-
"time": "2018-
|
234 |
"type": "library",
|
235 |
"extra": {
|
236 |
"branch-alias": {
|
@@ -265,27 +265,30 @@
|
|
265 |
},
|
266 |
{
|
267 |
"name": "symfony/polyfill-ctype",
|
268 |
-
"version": "v1.
|
269 |
-
"version_normalized": "1.
|
270 |
"source": {
|
271 |
"type": "git",
|
272 |
"url": "https://github.com/symfony/polyfill-ctype.git",
|
273 |
-
"reference": "
|
274 |
},
|
275 |
"dist": {
|
276 |
"type": "zip",
|
277 |
-
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/
|
278 |
-
"reference": "
|
279 |
"shasum": ""
|
280 |
},
|
281 |
"require": {
|
282 |
"php": ">=5.3.3"
|
283 |
},
|
284 |
-
"
|
|
|
|
|
|
|
285 |
"type": "library",
|
286 |
"extra": {
|
287 |
"branch-alias": {
|
288 |
-
"dev-master": "1.
|
289 |
}
|
290 |
},
|
291 |
"installation-source": "dist",
|
@@ -302,13 +305,13 @@
|
|
302 |
"MIT"
|
303 |
],
|
304 |
"authors": [
|
305 |
-
{
|
306 |
-
"name": "Symfony Community",
|
307 |
-
"homepage": "https://symfony.com/contributors"
|
308 |
-
},
|
309 |
{
|
310 |
"name": "Gert de Pagter",
|
311 |
"email": "BackEndTea@gmail.com"
|
|
|
|
|
|
|
|
|
312 |
}
|
313 |
],
|
314 |
"description": "Symfony polyfill for ctype functions",
|
84 |
},
|
85 |
{
|
86 |
"name": "monolog/monolog",
|
87 |
+
"version": "1.25.1",
|
88 |
+
"version_normalized": "1.25.1.0",
|
89 |
"source": {
|
90 |
"type": "git",
|
91 |
"url": "https://github.com/Seldaek/monolog.git",
|
92 |
+
"reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf"
|
93 |
},
|
94 |
"dist": {
|
95 |
"type": "zip",
|
96 |
+
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/70e65a5470a42cfec1a7da00d30edb6e617e8dcf",
|
97 |
+
"reference": "70e65a5470a42cfec1a7da00d30edb6e617e8dcf",
|
98 |
"shasum": ""
|
99 |
},
|
100 |
"require": {
|
130 |
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
131 |
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
132 |
},
|
133 |
+
"time": "2019-09-06T13:49:17+00:00",
|
134 |
"type": "library",
|
135 |
"extra": {
|
136 |
"branch-alias": {
|
164 |
},
|
165 |
{
|
166 |
"name": "psr/log",
|
167 |
+
"version": "1.1.0",
|
168 |
+
"version_normalized": "1.1.0.0",
|
169 |
"source": {
|
170 |
"type": "git",
|
171 |
"url": "https://github.com/php-fig/log.git",
|
172 |
+
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd"
|
173 |
},
|
174 |
"dist": {
|
175 |
"type": "zip",
|
176 |
+
"url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
177 |
+
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
|
178 |
"shasum": ""
|
179 |
},
|
180 |
"require": {
|
181 |
"php": ">=5.3.0"
|
182 |
},
|
183 |
+
"time": "2018-11-20T15:27:04+00:00",
|
184 |
"type": "library",
|
185 |
"extra": {
|
186 |
"branch-alias": {
|
213 |
},
|
214 |
{
|
215 |
"name": "symfony/filesystem",
|
216 |
+
"version": "v2.8.50",
|
217 |
+
"version_normalized": "2.8.50.0",
|
218 |
"source": {
|
219 |
"type": "git",
|
220 |
"url": "https://github.com/symfony/filesystem.git",
|
221 |
+
"reference": "7ae46872dad09dffb7fe1e93a0937097339d0080"
|
222 |
},
|
223 |
"dist": {
|
224 |
"type": "zip",
|
225 |
+
"url": "https://api.github.com/repos/symfony/filesystem/zipball/7ae46872dad09dffb7fe1e93a0937097339d0080",
|
226 |
+
"reference": "7ae46872dad09dffb7fe1e93a0937097339d0080",
|
227 |
"shasum": ""
|
228 |
},
|
229 |
"require": {
|
230 |
"php": ">=5.3.9",
|
231 |
"symfony/polyfill-ctype": "~1.8"
|
232 |
},
|
233 |
+
"time": "2018-11-11T11:18:13+00:00",
|
234 |
"type": "library",
|
235 |
"extra": {
|
236 |
"branch-alias": {
|
265 |
},
|
266 |
{
|
267 |
"name": "symfony/polyfill-ctype",
|
268 |
+
"version": "v1.12.0",
|
269 |
+
"version_normalized": "1.12.0.0",
|
270 |
"source": {
|
271 |
"type": "git",
|
272 |
"url": "https://github.com/symfony/polyfill-ctype.git",
|
273 |
+
"reference": "550ebaac289296ce228a706d0867afc34687e3f4"
|
274 |
},
|
275 |
"dist": {
|
276 |
"type": "zip",
|
277 |
+
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4",
|
278 |
+
"reference": "550ebaac289296ce228a706d0867afc34687e3f4",
|
279 |
"shasum": ""
|
280 |
},
|
281 |
"require": {
|
282 |
"php": ">=5.3.3"
|
283 |
},
|
284 |
+
"suggest": {
|
285 |
+
"ext-ctype": "For best performance"
|
286 |
+
},
|
287 |
+
"time": "2019-08-06T08:03:45+00:00",
|
288 |
"type": "library",
|
289 |
"extra": {
|
290 |
"branch-alias": {
|
291 |
+
"dev-master": "1.12-dev"
|
292 |
}
|
293 |
},
|
294 |
"installation-source": "dist",
|
305 |
"MIT"
|
306 |
],
|
307 |
"authors": [
|
|
|
|
|
|
|
|
|
308 |
{
|
309 |
"name": "Gert de Pagter",
|
310 |
"email": "BackEndTea@gmail.com"
|
311 |
+
},
|
312 |
+
{
|
313 |
+
"name": "Symfony Community",
|
314 |
+
"homepage": "https://symfony.com/contributors"
|
315 |
}
|
316 |
],
|
317 |
"description": "Symfony polyfill for ctype functions",
|
vendor/monolog/monolog/.php_cs
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
$header = <<<EOF
|
4 |
-
This file is part of the Monolog package.
|
5 |
-
|
6 |
-
(c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
-
|
8 |
-
For the full copyright and license information, please view the LICENSE
|
9 |
-
file that was distributed with this source code.
|
10 |
-
EOF;
|
11 |
-
|
12 |
-
$finder = Symfony\CS\Finder::create()
|
13 |
-
->files()
|
14 |
-
->name('*.php')
|
15 |
-
->exclude('Fixtures')
|
16 |
-
->in(__DIR__.'/src')
|
17 |
-
->in(__DIR__.'/tests')
|
18 |
-
;
|
19 |
-
|
20 |
-
return Symfony\CS\Config::create()
|
21 |
-
->setUsingCache(true)
|
22 |
-
//->setUsingLinter(false)
|
23 |
-
->setRiskyAllowed(true)
|
24 |
-
->setRules(array(
|
25 |
-
'@PSR2' => true,
|
26 |
-
'binary_operator_spaces' => true,
|
27 |
-
'blank_line_before_return' => true,
|
28 |
-
'header_comment' => array('header' => $header),
|
29 |
-
'include' => true,
|
30 |
-
'long_array_syntax' => true,
|
31 |
-
'method_separation' => true,
|
32 |
-
'no_blank_lines_after_class_opening' => true,
|
33 |
-
'no_blank_lines_after_phpdoc' => true,
|
34 |
-
'no_blank_lines_between_uses' => true,
|
35 |
-
'no_duplicate_semicolons' => true,
|
36 |
-
'no_extra_consecutive_blank_lines' => true,
|
37 |
-
'no_leading_import_slash' => true,
|
38 |
-
'no_leading_namespace_whitespace' => true,
|
39 |
-
'no_trailing_comma_in_singleline_array' => true,
|
40 |
-
'no_unused_imports' => true,
|
41 |
-
'object_operator_without_whitespace' => true,
|
42 |
-
'phpdoc_align' => true,
|
43 |
-
'phpdoc_indent' => true,
|
44 |
-
'phpdoc_no_access' => true,
|
45 |
-
'phpdoc_no_package' => true,
|
46 |
-
'phpdoc_order' => true,
|
47 |
-
'phpdoc_scalar' => true,
|
48 |
-
'phpdoc_trim' => true,
|
49 |
-
'phpdoc_type_to_var' => true,
|
50 |
-
'psr0' => true,
|
51 |
-
'single_blank_line_before_namespace' => true,
|
52 |
-
'spaces_cast' => true,
|
53 |
-
'standardize_not_equals' => true,
|
54 |
-
'ternary_operator_spaces' => true,
|
55 |
-
'trailing_comma_in_multiline_array' => true,
|
56 |
-
'whitespacy_lines' => true,
|
57 |
-
))
|
58 |
-
->finder($finder)
|
59 |
-
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/CHANGELOG.md
CHANGED
@@ -1,3 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
### 1.23.0 (2017-06-19)
|
2 |
|
3 |
* Improved SyslogUdpHandler's support for RFC5424 and added optional `$ident` argument
|
1 |
+
### 1.25.1 (2019-09-06)
|
2 |
+
|
3 |
+
* Fixed forward-compatible interfaces to be compatible with Monolog 1.x too.
|
4 |
+
|
5 |
+
### 1.25.0 (2019-09-06)
|
6 |
+
|
7 |
+
* Deprecated SlackbotHandler, use SlackWebhookHandler or SlackHandler instead
|
8 |
+
* Deprecated RavenHandler, use sentry/sentry 2.x and their Sentry\Monolog\Handler instead
|
9 |
+
* Deprecated HipChatHandler, migrate to Slack and use SlackWebhookHandler or SlackHandler instead
|
10 |
+
* Added forward-compatible interfaces and traits FormattableHandlerInterface, FormattableHandlerTrait, ProcessableHandlerInterface, ProcessableHandlerTrait. If you use modern PHP and want to make code compatible with Monolog 1 and 2 this can help. You will have to require at least Monolog 1.25 though.
|
11 |
+
* Added support for RFC3164 (outdated BSD syslog protocol) to SyslogUdpHandler
|
12 |
+
* Fixed issue in GroupHandler and WhatFailureGroupHandler where setting multiple processors would duplicate records
|
13 |
+
* Fixed issue in SignalHandler restarting syscalls functionality
|
14 |
+
* Fixed normalizers handling of exception backtraces to avoid serializing arguments in some cases
|
15 |
+
* Fixed ZendMonitorHandler to work with the latest Zend Server versions
|
16 |
+
* Fixed ChromePHPHandler to avoid sending more data than latest Chrome versions allow in headers (4KB down from 256KB).
|
17 |
+
|
18 |
+
### 1.24.0 (2018-11-05)
|
19 |
+
|
20 |
+
* BC Notice: If you are extending any of the Monolog's Formatters' `normalize` method, make sure you add the new `$depth = 0` argument to your function signature to avoid strict PHP warnings.
|
21 |
+
* Added a `ResettableInterface` in order to reset/reset/clear/flush handlers and processors
|
22 |
+
* Added a `ProcessorInterface` as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers)
|
23 |
+
* Added a way to log signals being received using Monolog\SignalHandler
|
24 |
+
* Added ability to customize error handling at the Logger level using Logger::setExceptionHandler
|
25 |
+
* Added InsightOpsHandler to migrate users of the LogEntriesHandler
|
26 |
+
* Added protection to NormalizerHandler against circular and very deep structures, it now stops normalizing at a depth of 9
|
27 |
+
* Added capture of stack traces to ErrorHandler when logging PHP errors
|
28 |
+
* Added RavenHandler support for a `contexts` context or extra key to forward that to Sentry's contexts
|
29 |
+
* Added forwarding of context info to FluentdFormatter
|
30 |
+
* Added SocketHandler::setChunkSize to override the default chunk size in case you must send large log lines to rsyslog for example
|
31 |
+
* Added ability to extend/override BrowserConsoleHandler
|
32 |
+
* Added SlackWebhookHandler::getWebhookUrl and SlackHandler::getToken to enable class extensibility
|
33 |
+
* Added SwiftMailerHandler::getSubjectFormatter to enable class extensibility
|
34 |
+
* Dropped official support for HHVM in test builds
|
35 |
+
* Fixed normalization of exception traces when call_user_func is used to avoid serializing objects and the data they contain
|
36 |
+
* Fixed naming of fields in Slack handler, all field names are now capitalized in all cases
|
37 |
+
* Fixed HipChatHandler bug where slack dropped messages randomly
|
38 |
+
* Fixed normalization of objects in Slack handlers
|
39 |
+
* Fixed support for PHP7's Throwable in NewRelicHandler
|
40 |
+
* Fixed race bug when StreamHandler sometimes incorrectly reported it failed to create a directory
|
41 |
+
* Fixed table row styling issues in HtmlFormatter
|
42 |
+
* Fixed RavenHandler dropping the message when logging exception
|
43 |
+
* Fixed WhatFailureGroupHandler skipping processors when using handleBatch
|
44 |
+
and implement it where possible
|
45 |
+
* Fixed display of anonymous class names
|
46 |
+
|
47 |
### 1.23.0 (2017-06-19)
|
48 |
|
49 |
* Improved SyslogUdpHandler's support for RFC5424 and added optional `$ident` argument
|
vendor/monolog/monolog/doc/01-usage.md
DELETED
@@ -1,231 +0,0 @@
|
|
1 |
-
# Using Monolog
|
2 |
-
|
3 |
-
- [Installation](#installation)
|
4 |
-
- [Core Concepts](#core-concepts)
|
5 |
-
- [Log Levels](#log-levels)
|
6 |
-
- [Configuring a logger](#configuring-a-logger)
|
7 |
-
- [Adding extra data in the records](#adding-extra-data-in-the-records)
|
8 |
-
- [Leveraging channels](#leveraging-channels)
|
9 |
-
- [Customizing the log format](#customizing-the-log-format)
|
10 |
-
|
11 |
-
## Installation
|
12 |
-
|
13 |
-
Monolog is available on Packagist ([monolog/monolog](http://packagist.org/packages/monolog/monolog))
|
14 |
-
and as such installable via [Composer](http://getcomposer.org/).
|
15 |
-
|
16 |
-
```bash
|
17 |
-
composer require monolog/monolog
|
18 |
-
```
|
19 |
-
|
20 |
-
If you do not use Composer, you can grab the code from GitHub, and use any
|
21 |
-
PSR-0 compatible autoloader (e.g. the [Symfony2 ClassLoader component](https://github.com/symfony/ClassLoader))
|
22 |
-
to load Monolog classes.
|
23 |
-
|
24 |
-
## Core Concepts
|
25 |
-
|
26 |
-
Every `Logger` instance has a channel (name) and a stack of handlers. Whenever
|
27 |
-
you add a record to the logger, it traverses the handler stack. Each handler
|
28 |
-
decides whether it fully handled the record, and if so, the propagation of the
|
29 |
-
record ends there.
|
30 |
-
|
31 |
-
This allows for flexible logging setups, for example having a `StreamHandler` at
|
32 |
-
the bottom of the stack that will log anything to disk, and on top of that add
|
33 |
-
a `MailHandler` that will send emails only when an error message is logged.
|
34 |
-
Handlers also have a `$bubble` property which defines whether they block the
|
35 |
-
record or not if they handled it. In this example, setting the `MailHandler`'s
|
36 |
-
`$bubble` argument to false means that records handled by the `MailHandler` will
|
37 |
-
not propagate to the `StreamHandler` anymore.
|
38 |
-
|
39 |
-
You can create many `Logger`s, each defining a channel (e.g.: db, request,
|
40 |
-
router, ..) and each of them combining various handlers, which can be shared
|
41 |
-
or not. The channel is reflected in the logs and allows you to easily see or
|
42 |
-
filter records.
|
43 |
-
|
44 |
-
Each Handler also has a Formatter, a default one with settings that make sense
|
45 |
-
will be created if you don't set one. The formatters normalize and format
|
46 |
-
incoming records so that they can be used by the handlers to output useful
|
47 |
-
information.
|
48 |
-
|
49 |
-
Custom severity levels are not available. Only the eight
|
50 |
-
[RFC 5424](http://tools.ietf.org/html/rfc5424) levels (debug, info, notice,
|
51 |
-
warning, error, critical, alert, emergency) are present for basic filtering
|
52 |
-
purposes, but for sorting and other use cases that would require
|
53 |
-
flexibility, you should add Processors to the Logger that can add extra
|
54 |
-
information (tags, user ip, ..) to the records before they are handled.
|
55 |
-
|
56 |
-
## Log Levels
|
57 |
-
|
58 |
-
Monolog supports the logging levels described by [RFC 5424](http://tools.ietf.org/html/rfc5424).
|
59 |
-
|
60 |
-
- **DEBUG** (100): Detailed debug information.
|
61 |
-
|
62 |
-
- **INFO** (200): Interesting events. Examples: User logs in, SQL logs.
|
63 |
-
|
64 |
-
- **NOTICE** (250): Normal but significant events.
|
65 |
-
|
66 |
-
- **WARNING** (300): Exceptional occurrences that are not errors. Examples:
|
67 |
-
Use of deprecated APIs, poor use of an API, undesirable things that are not
|
68 |
-
necessarily wrong.
|
69 |
-
|
70 |
-
- **ERROR** (400): Runtime errors that do not require immediate action but
|
71 |
-
should typically be logged and monitored.
|
72 |
-
|
73 |
-
- **CRITICAL** (500): Critical conditions. Example: Application component
|
74 |
-
unavailable, unexpected exception.
|
75 |
-
|
76 |
-
- **ALERT** (550): Action must be taken immediately. Example: Entire website
|
77 |
-
down, database unavailable, etc. This should trigger the SMS alerts and wake
|
78 |
-
you up.
|
79 |
-
|
80 |
-
- **EMERGENCY** (600): Emergency: system is unusable.
|
81 |
-
|
82 |
-
## Configuring a logger
|
83 |
-
|
84 |
-
Here is a basic setup to log to a file and to firephp on the DEBUG level:
|
85 |
-
|
86 |
-
```php
|
87 |
-
<?php
|
88 |
-
|
89 |
-
use Monolog\Logger;
|
90 |
-
use Monolog\Handler\StreamHandler;
|
91 |
-
use Monolog\Handler\FirePHPHandler;
|
92 |
-
|
93 |
-
// Create the logger
|
94 |
-
$logger = new Logger('my_logger');
|
95 |
-
// Now add some handlers
|
96 |
-
$logger->pushHandler(new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG));
|
97 |
-
$logger->pushHandler(new FirePHPHandler());
|
98 |
-
|
99 |
-
// You can now use your logger
|
100 |
-
$logger->addInfo('My logger is now ready');
|
101 |
-
```
|
102 |
-
|
103 |
-
Let's explain it. The first step is to create the logger instance which will
|
104 |
-
be used in your code. The argument is a channel name, which is useful when
|
105 |
-
you use several loggers (see below for more details about it).
|
106 |
-
|
107 |
-
The logger itself does not know how to handle a record. It delegates it to
|
108 |
-
some handlers. The code above registers two handlers in the stack to allow
|
109 |
-
handling records in two different ways.
|
110 |
-
|
111 |
-
Note that the FirePHPHandler is called first as it is added on top of the
|
112 |
-
stack. This allows you to temporarily add a logger with bubbling disabled if
|
113 |
-
you want to override other configured loggers.
|
114 |
-
|
115 |
-
> If you use Monolog standalone and are looking for an easy way to
|
116 |
-
> configure many handlers, the [theorchard/monolog-cascade](https://github.com/theorchard/monolog-cascade)
|
117 |
-
> can help you build complex logging configs via PHP arrays, yaml or json configs.
|
118 |
-
|
119 |
-
## Adding extra data in the records
|
120 |
-
|
121 |
-
Monolog provides two different ways to add extra informations along the simple
|
122 |
-
textual message.
|
123 |
-
|
124 |
-
### Using the logging context
|
125 |
-
|
126 |
-
The first way is the context, allowing to pass an array of data along the
|
127 |
-
record:
|
128 |
-
|
129 |
-
```php
|
130 |
-
<?php
|
131 |
-
|
132 |
-
$logger->addInfo('Adding a new user', array('username' => 'Seldaek'));
|
133 |
-
```
|
134 |
-
|
135 |
-
Simple handlers (like the StreamHandler for instance) will simply format
|
136 |
-
the array to a string but richer handlers can take advantage of the context
|
137 |
-
(FirePHP is able to display arrays in pretty way for instance).
|
138 |
-
|
139 |
-
### Using processors
|
140 |
-
|
141 |
-
The second way is to add extra data for all records by using a processor.
|
142 |
-
Processors can be any callable. They will get the record as parameter and
|
143 |
-
must return it after having eventually changed the `extra` part of it. Let's
|
144 |
-
write a processor adding some dummy data in the record:
|
145 |
-
|
146 |
-
```php
|
147 |
-
<?php
|
148 |
-
|
149 |
-
$logger->pushProcessor(function ($record) {
|
150 |
-
$record['extra']['dummy'] = 'Hello world!';
|
151 |
-
|
152 |
-
return $record;
|
153 |
-
});
|
154 |
-
```
|
155 |
-
|
156 |
-
Monolog provides some built-in processors that can be used in your project.
|
157 |
-
Look at the [dedicated chapter](https://github.com/Seldaek/monolog/blob/master/doc/02-handlers-formatters-processors.md#processors) for the list.
|
158 |
-
|
159 |
-
> Tip: processors can also be registered on a specific handler instead of
|
160 |
-
the logger to apply only for this handler.
|
161 |
-
|
162 |
-
## Leveraging channels
|
163 |
-
|
164 |
-
Channels are a great way to identify to which part of the application a record
|
165 |
-
is related. This is useful in big applications (and is leveraged by
|
166 |
-
MonologBundle in Symfony2).
|
167 |
-
|
168 |
-
Picture two loggers sharing a handler that writes to a single log file.
|
169 |
-
Channels would allow you to identify the logger that issued every record.
|
170 |
-
You can easily grep through the log files filtering this or that channel.
|
171 |
-
|
172 |
-
```php
|
173 |
-
<?php
|
174 |
-
|
175 |
-
use Monolog\Logger;
|
176 |
-
use Monolog\Handler\StreamHandler;
|
177 |
-
use Monolog\Handler\FirePHPHandler;
|
178 |
-
|
179 |
-
// Create some handlers
|
180 |
-
$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
|
181 |
-
$firephp = new FirePHPHandler();
|
182 |
-
|
183 |
-
// Create the main logger of the app
|
184 |
-
$logger = new Logger('my_logger');
|
185 |
-
$logger->pushHandler($stream);
|
186 |
-
$logger->pushHandler($firephp);
|
187 |
-
|
188 |
-
// Create a logger for the security-related stuff with a different channel
|
189 |
-
$securityLogger = new Logger('security');
|
190 |
-
$securityLogger->pushHandler($stream);
|
191 |
-
$securityLogger->pushHandler($firephp);
|
192 |
-
|
193 |
-
// Or clone the first one to only change the channel
|
194 |
-
$securityLogger = $logger->withName('security');
|
195 |
-
```
|
196 |
-
|
197 |
-
## Customizing the log format
|
198 |
-
|
199 |
-
In Monolog it's easy to customize the format of the logs written into files,
|
200 |
-
sockets, mails, databases and other handlers. Most of the handlers use the
|
201 |
-
|
202 |
-
```php
|
203 |
-
$record['formatted']
|
204 |
-
```
|
205 |
-
|
206 |
-
value to be automatically put into the log device. This value depends on the
|
207 |
-
formatter settings. You can choose between predefined formatter classes or
|
208 |
-
write your own (e.g. a multiline text file for human-readable output).
|
209 |
-
|
210 |
-
To configure a predefined formatter class, just set it as the handler's field:
|
211 |
-
|
212 |
-
```php
|
213 |
-
// the default date format is "Y-m-d H:i:s"
|
214 |
-
$dateFormat = "Y n j, g:i a";
|
215 |
-
// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"
|
216 |
-
$output = "%datetime% > %level_name% > %message% %context% %extra%\n";
|
217 |
-
// finally, create a formatter
|
218 |
-
$formatter = new LineFormatter($output, $dateFormat);
|
219 |
-
|
220 |
-
// Create a handler
|
221 |
-
$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
|
222 |
-
$stream->setFormatter($formatter);
|
223 |
-
// bind it to a logger object
|
224 |
-
$securityLogger = new Logger('security');
|
225 |
-
$securityLogger->pushHandler($stream);
|
226 |
-
```
|
227 |
-
|
228 |
-
You may also reuse the same formatter between multiple handlers and share those
|
229 |
-
handlers between multiple loggers.
|
230 |
-
|
231 |
-
[Handlers, Formatters and Processors](02-handlers-formatters-processors.md) →
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/doc/02-handlers-formatters-processors.md
DELETED
@@ -1,157 +0,0 @@
|
|
1 |
-
# Handlers, Formatters and Processors
|
2 |
-
|
3 |
-
- [Handlers](#handlers)
|
4 |
-
- [Log to files and syslog](#log-to-files-and-syslog)
|
5 |
-
- [Send alerts and emails](#send-alerts-and-emails)
|
6 |
-
- [Log specific servers and networked logging](#log-specific-servers-and-networked-logging)
|
7 |
-
- [Logging in development](#logging-in-development)
|
8 |
-
- [Log to databases](#log-to-databases)
|
9 |
-
- [Wrappers / Special Handlers](#wrappers--special-handlers)
|
10 |
-
- [Formatters](#formatters)
|
11 |
-
- [Processors](#processors)
|
12 |
-
- [Third Party Packages](#third-party-packages)
|
13 |
-
|
14 |
-
## Handlers
|
15 |
-
|
16 |
-
### Log to files and syslog
|
17 |
-
|
18 |
-
- _StreamHandler_: Logs records into any PHP stream, use this for log files.
|
19 |
-
- _RotatingFileHandler_: Logs records to a file and creates one logfile per day.
|
20 |
-
It will also delete files older than `$maxFiles`. You should use
|
21 |
-
[logrotate](http://linuxcommand.org/man_pages/logrotate8.html) for high profile
|
22 |
-
setups though, this is just meant as a quick and dirty solution.
|
23 |
-
- _SyslogHandler_: Logs records to the syslog.
|
24 |
-
- _ErrorLogHandler_: Logs records to PHP's
|
25 |
-
[`error_log()`](http://docs.php.net/manual/en/function.error-log.php) function.
|
26 |
-
|
27 |
-
### Send alerts and emails
|
28 |
-
|
29 |
-
- _NativeMailerHandler_: Sends emails using PHP's
|
30 |
-
[`mail()`](http://php.net/manual/en/function.mail.php) function.
|
31 |
-
- _SwiftMailerHandler_: Sends emails using a [`Swift_Mailer`](http://swiftmailer.org/) instance.
|
32 |
-
- _PushoverHandler_: Sends mobile notifications via the [Pushover](https://www.pushover.net/) API.
|
33 |
-
- _HipChatHandler_: Logs records to a [HipChat](http://hipchat.com) chat room using its API.
|
34 |
-
- _FlowdockHandler_: Logs records to a [Flowdock](https://www.flowdock.com/) account.
|
35 |
-
- _SlackHandler_: Logs records to a [Slack](https://www.slack.com/) account using the Slack API.
|
36 |
-
- _SlackbotHandler_: Logs records to a [Slack](https://www.slack.com/) account using the Slackbot incoming hook.
|
37 |
-
- _SlackWebhookHandler_: Logs records to a [Slack](https://www.slack.com/) account using Slack Webhooks.
|
38 |
-
- _MandrillHandler_: Sends emails via the Mandrill API using a [`Swift_Message`](http://swiftmailer.org/) instance.
|
39 |
-
- _FleepHookHandler_: Logs records to a [Fleep](https://fleep.io/) conversation using Webhooks.
|
40 |
-
- _IFTTTHandler_: Notifies an [IFTTT](https://ifttt.com/maker) trigger with the log channel, level name and message.
|
41 |
-
|
42 |
-
### Log specific servers and networked logging
|
43 |
-
|
44 |
-
- _SocketHandler_: Logs records to [sockets](http://php.net/fsockopen), use this
|
45 |
-
for UNIX and TCP sockets. See an [example](sockets.md).
|
46 |
-
- _AmqpHandler_: Logs records to an [amqp](http://www.amqp.org/) compatible
|
47 |
-
server. Requires the [php-amqp](http://pecl.php.net/package/amqp) extension (1.0+).
|
48 |
-
- _GelfHandler_: Logs records to a [Graylog2](http://www.graylog2.org) server.
|
49 |
-
- _CubeHandler_: Logs records to a [Cube](http://square.github.com/cube/) server.
|
50 |
-
- _RavenHandler_: Logs records to a [Sentry](http://getsentry.com/) server using
|
51 |
-
[raven](https://packagist.org/packages/raven/raven).
|
52 |
-
- _ZendMonitorHandler_: Logs records to the Zend Monitor present in Zend Server.
|
53 |
-
- _NewRelicHandler_: Logs records to a [NewRelic](http://newrelic.com/) application.
|
54 |
-
- _LogglyHandler_: Logs records to a [Loggly](http://www.loggly.com/) account.
|
55 |
-
- _RollbarHandler_: Logs records to a [Rollbar](https://rollbar.com/) account.
|
56 |
-
- _SyslogUdpHandler_: Logs records to a remote [Syslogd](http://www.rsyslog.com/) server.
|
57 |
-
- _LogEntriesHandler_: Logs records to a [LogEntries](http://logentries.com/) account.
|
58 |
-
|
59 |
-
### Logging in development
|
60 |
-
|
61 |
-
- _FirePHPHandler_: Handler for [FirePHP](http://www.firephp.org/), providing
|
62 |
-
inline `console` messages within [FireBug](http://getfirebug.com/).
|
63 |
-
- _ChromePHPHandler_: Handler for [ChromePHP](http://www.chromephp.com/), providing
|
64 |
-
inline `console` messages within Chrome.
|
65 |
-
- _BrowserConsoleHandler_: Handler to send logs to browser's Javascript `console` with
|
66 |
-
no browser extension required. Most browsers supporting `console` API are supported.
|
67 |
-
- _PHPConsoleHandler_: Handler for [PHP Console](https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef), providing
|
68 |
-
inline `console` and notification popup messages within Chrome.
|
69 |
-
|
70 |
-
### Log to databases
|
71 |
-
|
72 |
-
- _RedisHandler_: Logs records to a [redis](http://redis.io) server.
|
73 |
-
- _MongoDBHandler_: Handler to write records in MongoDB via a
|
74 |
-
[Mongo](http://pecl.php.net/package/mongo) extension connection.
|
75 |
-
- _CouchDBHandler_: Logs records to a CouchDB server.
|
76 |
-
- _DoctrineCouchDBHandler_: Logs records to a CouchDB server via the Doctrine CouchDB ODM.
|
77 |
-
- _ElasticSearchHandler_: Logs records to an Elastic Search server.
|
78 |
-
- _DynamoDbHandler_: Logs records to a DynamoDB table with the [AWS SDK](https://github.com/aws/aws-sdk-php).
|
79 |
-
|
80 |
-
### Wrappers / Special Handlers
|
81 |
-
|
82 |
-
- _FingersCrossedHandler_: A very interesting wrapper. It takes a logger as
|
83 |
-
parameter and will accumulate log records of all levels until a record
|
84 |
-
exceeds the defined severity level. At which point it delivers all records,
|
85 |
-
including those of lower severity, to the handler it wraps. This means that
|
86 |
-
until an error actually happens you will not see anything in your logs, but
|
87 |
-
when it happens you will have the full information, including debug and info
|
88 |
-
records. This provides you with all the information you need, but only when
|
89 |
-
you need it.
|
90 |
-
- _DeduplicationHandler_: Useful if you are sending notifications or emails
|
91 |
-
when critical errors occur. It takes a logger as parameter and will
|
92 |
-
accumulate log records of all levels until the end of the request (or
|
93 |
-
`flush()` is called). At that point it delivers all records to the handler
|
94 |
-
it wraps, but only if the records are unique over a given time period
|
95 |
-
(60seconds by default). If the records are duplicates they are simply
|
96 |
-
discarded. The main use of this is in case of critical failure like if your
|
97 |
-
database is unreachable for example all your requests will fail and that
|
98 |
-
can result in a lot of notifications being sent. Adding this handler reduces
|
99 |
-
the amount of notifications to a manageable level.
|
100 |
-
- _WhatFailureGroupHandler_: This handler extends the _GroupHandler_ ignoring
|
101 |
-
exceptions raised by each child handler. This allows you to ignore issues
|
102 |
-
where a remote tcp connection may have died but you do not want your entire
|
103 |
-
application to crash and may wish to continue to log to other handlers.
|
104 |
-
- _BufferHandler_: This handler will buffer all the log records it receives
|
105 |
-
until `close()` is called at which point it will call `handleBatch()` on the
|
106 |
-
handler it wraps with all the log messages at once. This is very useful to
|
107 |
-
send an email with all records at once for example instead of having one mail
|
108 |
-
for every log record.
|
109 |
-
- _GroupHandler_: This handler groups other handlers. Every record received is
|
110 |
-
sent to all the handlers it is configured with.
|
111 |
-
- _FilterHandler_: This handler only lets records of the given levels through
|
112 |
-
to the wrapped handler.
|
113 |
-
- _SamplingHandler_: Wraps around another handler and lets you sample records
|
114 |
-
if you only want to store some of them.
|
115 |
-
- _NullHandler_: Any record it can handle will be thrown away. This can be used
|
116 |
-
to put on top of an existing handler stack to disable it temporarily.
|
117 |
-
- _PsrHandler_: Can be used to forward log records to an existing PSR-3 logger
|
118 |
-
- _TestHandler_: Used for testing, it records everything that is sent to it and
|
119 |
-
has accessors to read out the information.
|
120 |
-
- _HandlerWrapper_: A simple handler wrapper you can inherit from to create
|
121 |
-
your own wrappers easily.
|
122 |
-
|
123 |
-
## Formatters
|
124 |
-
|
125 |
-
- _LineFormatter_: Formats a log record into a one-line string.
|
126 |
-
- _HtmlFormatter_: Used to format log records into a human readable html table, mainly suitable for emails.
|
127 |
-
- _NormalizerFormatter_: Normalizes objects/resources down to strings so a record can easily be serialized/encoded.
|
128 |
-
- _ScalarFormatter_: Used to format log records into an associative array of scalar values.
|
129 |
-
- _JsonFormatter_: Encodes a log record into json.
|
130 |
-
- _WildfireFormatter_: Used to format log records into the Wildfire/FirePHP protocol, only useful for the FirePHPHandler.
|
131 |
-
- _ChromePHPFormatter_: Used to format log records into the ChromePHP format, only useful for the ChromePHPHandler.
|
132 |
-
- _GelfMessageFormatter_: Used to format log records into Gelf message instances, only useful for the GelfHandler.
|
133 |
-
- _LogstashFormatter_: Used to format log records into [logstash](http://logstash.net/) event json, useful for any handler listed under inputs [here](http://logstash.net/docs/latest).
|
134 |
-
- _ElasticaFormatter_: Used to format log records into an Elastica\Document object, only useful for the ElasticSearchHandler.
|
135 |
-
- _LogglyFormatter_: Used to format log records into Loggly messages, only useful for the LogglyHandler.
|
136 |
-
- _FlowdockFormatter_: Used to format log records into Flowdock messages, only useful for the FlowdockHandler.
|
137 |
-
- _MongoDBFormatter_: Converts \DateTime instances to \MongoDate and objects recursively to arrays, only useful with the MongoDBHandler.
|
138 |
-
|
139 |
-
## Processors
|
140 |
-
|
141 |
-
- _PsrLogMessageProcessor_: Processes a log record's message according to PSR-3 rules, replacing `{foo}` with the value from `$context['foo']`.
|
142 |
-
- _IntrospectionProcessor_: Adds the line/file/class/method from which the log call originated.
|
143 |
-
- _WebProcessor_: Adds the current request URI, request method and client IP to a log record.
|
144 |
-
- _MemoryUsageProcessor_: Adds the current memory usage to a log record.
|
145 |
-
- _MemoryPeakUsageProcessor_: Adds the peak memory usage to a log record.
|
146 |
-
- _ProcessIdProcessor_: Adds the process id to a log record.
|
147 |
-
- _UidProcessor_: Adds a unique identifier to a log record.
|
148 |
-
- _GitProcessor_: Adds the current git branch and commit to a log record.
|
149 |
-
- _TagProcessor_: Adds an array of predefined tags to a log record.
|
150 |
-
|
151 |
-
## Third Party Packages
|
152 |
-
|
153 |
-
Third party handlers, formatters and processors are
|
154 |
-
[listed in the wiki](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages). You
|
155 |
-
can also add your own there if you publish one.
|
156 |
-
|
157 |
-
← [Usage](01-usage.md) | [Utility classes](03-utilities.md) →
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/doc/03-utilities.md
DELETED
@@ -1,13 +0,0 @@
|
|
1 |
-
# Utilities
|
2 |
-
|
3 |
-
- _Registry_: The `Monolog\Registry` class lets you configure global loggers that you
|
4 |
-
can then statically access from anywhere. It is not really a best practice but can
|
5 |
-
help in some older codebases or for ease of use.
|
6 |
-
- _ErrorHandler_: The `Monolog\ErrorHandler` class allows you to easily register
|
7 |
-
a Logger instance as an exception handler, error handler or fatal error handler.
|
8 |
-
- _ErrorLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain log
|
9 |
-
level is reached.
|
10 |
-
- _ChannelLevelActivationStrategy_: Activates a FingersCrossedHandler when a certain
|
11 |
-
log level is reached, depending on which channel received the log record.
|
12 |
-
|
13 |
-
← [Handlers, Formatters and Processors](02-handlers-formatters-processors.md) | [Extending Monolog](04-extending.md) →
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/doc/04-extending.md
DELETED
@@ -1,76 +0,0 @@
|
|
1 |
-
# Extending Monolog
|
2 |
-
|
3 |
-
Monolog is fully extensible, allowing you to adapt your logger to your needs.
|
4 |
-
|
5 |
-
## Writing your own handler
|
6 |
-
|
7 |
-
Monolog provides many built-in handlers. But if the one you need does not
|
8 |
-
exist, you can write it and use it in your logger. The only requirement is
|
9 |
-
to implement `Monolog\Handler\HandlerInterface`.
|
10 |
-
|
11 |
-
Let's write a PDOHandler to log records to a database. We will extend the
|
12 |
-
abstract class provided by Monolog to keep things DRY.
|
13 |
-
|
14 |
-
```php
|
15 |
-
<?php
|
16 |
-
|
17 |
-
use Monolog\Logger;
|
18 |
-
use Monolog\Handler\AbstractProcessingHandler;
|
19 |
-
|
20 |
-
class PDOHandler extends AbstractProcessingHandler
|
21 |
-
{
|
22 |
-
private $initialized = false;
|
23 |
-
private $pdo;
|
24 |
-
private $statement;
|
25 |
-
|
26 |
-
public function __construct(PDO $pdo, $level = Logger::DEBUG, $bubble = true)
|
27 |
-
{
|
28 |
-
$this->pdo = $pdo;
|
29 |
-
parent::__construct($level, $bubble);
|
30 |
-
}
|
31 |
-
|
32 |
-
protected function write(array $record)
|
33 |
-
{
|
34 |
-
if (!$this->initialized) {
|
35 |
-
$this->initialize();
|
36 |
-
}
|
37 |
-
|
38 |
-
$this->statement->execute(array(
|
39 |
-
'channel' => $record['channel'],
|
40 |
-
'level' => $record['level'],
|
41 |
-
'message' => $record['formatted'],
|
42 |
-
'time' => $record['datetime']->format('U'),
|
43 |
-
));
|
44 |
-
}
|
45 |
-
|
46 |
-
private function initialize()
|
47 |
-
{
|
48 |
-
$this->pdo->exec(
|
49 |
-
'CREATE TABLE IF NOT EXISTS monolog '
|
50 |
-
.'(channel VARCHAR(255), level INTEGER, message LONGTEXT, time INTEGER UNSIGNED)'
|
51 |
-
);
|
52 |
-
$this->statement = $this->pdo->prepare(
|
53 |
-
'INSERT INTO monolog (channel, level, message, time) VALUES (:channel, :level, :message, :time)'
|
54 |
-
);
|
55 |
-
|
56 |
-
$this->initialized = true;
|
57 |
-
}
|
58 |
-
}
|
59 |
-
```
|
60 |
-
|
61 |
-
You can now use this handler in your logger:
|
62 |
-
|
63 |
-
```php
|
64 |
-
<?php
|
65 |
-
|
66 |
-
$logger->pushHandler(new PDOHandler(new PDO('sqlite:logs.sqlite')));
|
67 |
-
|
68 |
-
// You can now use your logger
|
69 |
-
$logger->addInfo('My logger is now ready');
|
70 |
-
```
|
71 |
-
|
72 |
-
The `Monolog\Handler\AbstractProcessingHandler` class provides most of the
|
73 |
-
logic needed for the handler, including the use of processors and the formatting
|
74 |
-
of the record (which is why we use ``$record['formatted']`` instead of ``$record['message']``).
|
75 |
-
|
76 |
-
← [Utility classes](03-utilities.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/doc/sockets.md
DELETED
@@ -1,39 +0,0 @@
|
|
1 |
-
Sockets Handler
|
2 |
-
===============
|
3 |
-
|
4 |
-
This handler allows you to write your logs to sockets using [fsockopen](http://php.net/fsockopen)
|
5 |
-
or [pfsockopen](http://php.net/pfsockopen).
|
6 |
-
|
7 |
-
Persistent sockets are mainly useful in web environments where you gain some performance not closing/opening
|
8 |
-
the connections between requests.
|
9 |
-
|
10 |
-
You can use a `unix://` prefix to access unix sockets and `udp://` to open UDP sockets instead of the default TCP.
|
11 |
-
|
12 |
-
Basic Example
|
13 |
-
-------------
|
14 |
-
|
15 |
-
```php
|
16 |
-
<?php
|
17 |
-
|
18 |
-
use Monolog\Logger;
|
19 |
-
use Monolog\Handler\SocketHandler;
|
20 |
-
|
21 |
-
// Create the logger
|
22 |
-
$logger = new Logger('my_logger');
|
23 |
-
|
24 |
-
// Create the handler
|
25 |
-
$handler = new SocketHandler('unix:///var/log/httpd_app_log.socket');
|
26 |
-
$handler->setPersistent(true);
|
27 |
-
|
28 |
-
// Now add the handler
|
29 |
-
$logger->pushHandler($handler, Logger::DEBUG);
|
30 |
-
|
31 |
-
// You can now use your logger
|
32 |
-
$logger->addInfo('My logger is now ready');
|
33 |
-
|
34 |
-
```
|
35 |
-
|
36 |
-
In this example, using syslog-ng, you should see the log on the log server:
|
37 |
-
|
38 |
-
cweb1 [2012-02-26 00:12:03] my_logger.INFO: My logger is now ready [] []
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/src/Monolog/ErrorHandler.php
CHANGED
@@ -14,6 +14,7 @@ namespace Monolog;
|
|
14 |
use Psr\Log\LoggerInterface;
|
15 |
use Psr\Log\LogLevel;
|
16 |
use Monolog\Handler\AbstractHandler;
|
|
|
17 |
|
18 |
/**
|
19 |
* Monolog error handler
|
@@ -38,6 +39,7 @@ class ErrorHandler
|
|
38 |
private $hasFatalErrorHandler;
|
39 |
private $fatalLevel;
|
40 |
private $reservedMemory;
|
|
|
41 |
private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR);
|
42 |
|
43 |
public function __construct(LoggerInterface $logger)
|
@@ -132,7 +134,7 @@ class ErrorHandler
|
|
132 |
{
|
133 |
$this->logger->log(
|
134 |
$this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel,
|
135 |
-
sprintf('Uncaught Exception %s: "%s" at %s line %s',
|
136 |
array('exception' => $e)
|
137 |
);
|
138 |
|
@@ -156,6 +158,13 @@ class ErrorHandler
|
|
156 |
if (!$this->hasFatalErrorHandler || !in_array($code, self::$fatalErrors, true)) {
|
157 |
$level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL;
|
158 |
$this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
}
|
160 |
|
161 |
if ($this->previousErrorHandler === true) {
|
@@ -177,7 +186,7 @@ class ErrorHandler
|
|
177 |
$this->logger->log(
|
178 |
$this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel,
|
179 |
'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'],
|
180 |
-
array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'])
|
181 |
);
|
182 |
|
183 |
if ($this->logger instanceof Logger) {
|
14 |
use Psr\Log\LoggerInterface;
|
15 |
use Psr\Log\LogLevel;
|
16 |
use Monolog\Handler\AbstractHandler;
|
17 |
+
use Monolog\Registry;
|
18 |
|
19 |
/**
|
20 |
* Monolog error handler
|
39 |
private $hasFatalErrorHandler;
|
40 |
private $fatalLevel;
|
41 |
private $reservedMemory;
|
42 |
+
private $lastFatalTrace;
|
43 |
private static $fatalErrors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR);
|
44 |
|
45 |
public function __construct(LoggerInterface $logger)
|
134 |
{
|
135 |
$this->logger->log(
|
136 |
$this->uncaughtExceptionLevel === null ? LogLevel::ERROR : $this->uncaughtExceptionLevel,
|
137 |
+
sprintf('Uncaught Exception %s: "%s" at %s line %s', Utils::getClass($e), $e->getMessage(), $e->getFile(), $e->getLine()),
|
138 |
array('exception' => $e)
|
139 |
);
|
140 |
|
158 |
if (!$this->hasFatalErrorHandler || !in_array($code, self::$fatalErrors, true)) {
|
159 |
$level = isset($this->errorLevelMap[$code]) ? $this->errorLevelMap[$code] : LogLevel::CRITICAL;
|
160 |
$this->logger->log($level, self::codeToString($code).': '.$message, array('code' => $code, 'message' => $message, 'file' => $file, 'line' => $line));
|
161 |
+
} else {
|
162 |
+
// http://php.net/manual/en/function.debug-backtrace.php
|
163 |
+
// As of 5.3.6, DEBUG_BACKTRACE_IGNORE_ARGS option was added.
|
164 |
+
// Any version less than 5.3.6 must use the DEBUG_BACKTRACE_IGNORE_ARGS constant value '2'.
|
165 |
+
$trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS);
|
166 |
+
array_shift($trace); // Exclude handleError from trace
|
167 |
+
$this->lastFatalTrace = $trace;
|
168 |
}
|
169 |
|
170 |
if ($this->previousErrorHandler === true) {
|
186 |
$this->logger->log(
|
187 |
$this->fatalLevel === null ? LogLevel::ALERT : $this->fatalLevel,
|
188 |
'Fatal Error ('.self::codeToString($lastError['type']).'): '.$lastError['message'],
|
189 |
+
array('code' => $lastError['type'], 'message' => $lastError['message'], 'file' => $lastError['file'], 'line' => $lastError['line'], 'trace' => $this->lastFatalTrace)
|
190 |
);
|
191 |
|
192 |
if ($this->logger instanceof Logger) {
|
vendor/monolog/monolog/src/Monolog/Formatter/FluentdFormatter.php
CHANGED
@@ -62,6 +62,7 @@ class FluentdFormatter implements FormatterInterface
|
|
62 |
|
63 |
$message = array(
|
64 |
'message' => $record['message'],
|
|
|
65 |
'extra' => $record['extra'],
|
66 |
);
|
67 |
|
62 |
|
63 |
$message = array(
|
64 |
'message' => $record['message'],
|
65 |
+
'context' => $record['context'],
|
66 |
'extra' => $record['extra'],
|
67 |
);
|
68 |
|
vendor/monolog/monolog/src/Monolog/Formatter/HtmlFormatter.php
CHANGED
@@ -58,7 +58,7 @@ class HtmlFormatter extends NormalizerFormatter
|
|
58 |
$td = '<pre>'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'</pre>';
|
59 |
}
|
60 |
|
61 |
-
return "<tr style=\"padding: 4px;
|
62 |
}
|
63 |
|
64 |
/**
|
58 |
$td = '<pre>'.htmlspecialchars($td, ENT_NOQUOTES, 'UTF-8').'</pre>';
|
59 |
}
|
60 |
|
61 |
+
return "<tr style=\"padding: 4px;text-align: left;\">\n<th style=\"vertical-align: top;background: #ccc;color: #000\" width=\"100\">$th:</th>\n<td style=\"padding: 4px;text-align: left;vertical-align: top;background: #eee;color: #000\">".$td."</td>\n</tr>";
|
62 |
}
|
63 |
|
64 |
/**
|
vendor/monolog/monolog/src/Monolog/Formatter/JsonFormatter.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
use Exception;
|
|
|
15 |
use Throwable;
|
16 |
|
17 |
/**
|
@@ -138,18 +139,23 @@ class JsonFormatter extends NormalizerFormatter
|
|
138 |
*
|
139 |
* @return mixed
|
140 |
*/
|
141 |
-
protected function normalize($data)
|
142 |
{
|
|
|
|
|
|
|
|
|
143 |
if (is_array($data) || $data instanceof \Traversable) {
|
144 |
$normalized = array();
|
145 |
|
146 |
$count = 1;
|
147 |
foreach ($data as $key => $value) {
|
148 |
-
if ($count++
|
149 |
-
$normalized['...'] = 'Over 1000 items, aborting normalization';
|
150 |
break;
|
151 |
}
|
152 |
-
|
|
|
153 |
}
|
154 |
|
155 |
return $normalized;
|
@@ -174,11 +180,11 @@ class JsonFormatter extends NormalizerFormatter
|
|
174 |
{
|
175 |
// TODO 2.0 only check for Throwable
|
176 |
if (!$e instanceof Exception && !$e instanceof Throwable) {
|
177 |
-
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.
|
178 |
}
|
179 |
|
180 |
$data = array(
|
181 |
-
'class' =>
|
182 |
'message' => $e->getMessage(),
|
183 |
'code' => $e->getCode(),
|
184 |
'file' => $e->getFile().':'.$e->getLine(),
|
@@ -189,12 +195,6 @@ class JsonFormatter extends NormalizerFormatter
|
|
189 |
foreach ($trace as $frame) {
|
190 |
if (isset($frame['file'])) {
|
191 |
$data['trace'][] = $frame['file'].':'.$frame['line'];
|
192 |
-
} elseif (isset($frame['function']) && $frame['function'] === '{closure}') {
|
193 |
-
// We should again normalize the frames, because it might contain invalid items
|
194 |
-
$data['trace'][] = $frame['function'];
|
195 |
-
} else {
|
196 |
-
// We should again normalize the frames, because it might contain invalid items
|
197 |
-
$data['trace'][] = $this->normalize($frame);
|
198 |
}
|
199 |
}
|
200 |
}
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
use Exception;
|
15 |
+
use Monolog\Utils;
|
16 |
use Throwable;
|
17 |
|
18 |
/**
|
139 |
*
|
140 |
* @return mixed
|
141 |
*/
|
142 |
+
protected function normalize($data, $depth = 0)
|
143 |
{
|
144 |
+
if ($depth > 9) {
|
145 |
+
return 'Over 9 levels deep, aborting normalization';
|
146 |
+
}
|
147 |
+
|
148 |
if (is_array($data) || $data instanceof \Traversable) {
|
149 |
$normalized = array();
|
150 |
|
151 |
$count = 1;
|
152 |
foreach ($data as $key => $value) {
|
153 |
+
if ($count++ > 1000) {
|
154 |
+
$normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization';
|
155 |
break;
|
156 |
}
|
157 |
+
|
158 |
+
$normalized[$key] = $this->normalize($value, $depth+1);
|
159 |
}
|
160 |
|
161 |
return $normalized;
|
180 |
{
|
181 |
// TODO 2.0 only check for Throwable
|
182 |
if (!$e instanceof Exception && !$e instanceof Throwable) {
|
183 |
+
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
184 |
}
|
185 |
|
186 |
$data = array(
|
187 |
+
'class' => Utils::getClass($e),
|
188 |
'message' => $e->getMessage(),
|
189 |
'code' => $e->getCode(),
|
190 |
'file' => $e->getFile().':'.$e->getLine(),
|
195 |
foreach ($trace as $frame) {
|
196 |
if (isset($frame['file'])) {
|
197 |
$data['trace'][] = $frame['file'].':'.$frame['line'];
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
}
|
200 |
}
|
vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php
CHANGED
@@ -11,6 +11,8 @@
|
|
11 |
|
12 |
namespace Monolog\Formatter;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* Formats incoming records into a one-line string
|
16 |
*
|
@@ -129,17 +131,17 @@ class LineFormatter extends NormalizerFormatter
|
|
129 |
{
|
130 |
// TODO 2.0 only check for Throwable
|
131 |
if (!$e instanceof \Exception && !$e instanceof \Throwable) {
|
132 |
-
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.
|
133 |
}
|
134 |
|
135 |
$previousText = '';
|
136 |
if ($previous = $e->getPrevious()) {
|
137 |
do {
|
138 |
-
$previousText .= ', '.
|
139 |
} while ($previous = $previous->getPrevious());
|
140 |
}
|
141 |
|
142 |
-
$str = '[object] ('.
|
143 |
if ($this->includeStacktraces) {
|
144 |
$str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n";
|
145 |
}
|
11 |
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
+
use Monolog\Utils;
|
15 |
+
|
16 |
/**
|
17 |
* Formats incoming records into a one-line string
|
18 |
*
|
131 |
{
|
132 |
// TODO 2.0 only check for Throwable
|
133 |
if (!$e instanceof \Exception && !$e instanceof \Throwable) {
|
134 |
+
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
135 |
}
|
136 |
|
137 |
$previousText = '';
|
138 |
if ($previous = $e->getPrevious()) {
|
139 |
do {
|
140 |
+
$previousText .= ', '.Utils::getClass($previous).'(code: '.$previous->getCode().'): '.$previous->getMessage().' at '.$previous->getFile().':'.$previous->getLine();
|
141 |
} while ($previous = $previous->getPrevious());
|
142 |
}
|
143 |
|
144 |
+
$str = '[object] ('.Utils::getClass($e).'(code: '.$e->getCode().'): '.$e->getMessage().' at '.$e->getFile().':'.$e->getLine().$previousText.')';
|
145 |
if ($this->includeStacktraces) {
|
146 |
$str .= "\n[stacktrace]\n".$e->getTraceAsString()."\n";
|
147 |
}
|
vendor/monolog/monolog/src/Monolog/Formatter/MongoDBFormatter.php
CHANGED
@@ -11,6 +11,8 @@
|
|
11 |
|
12 |
namespace Monolog\Formatter;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* Formats a record for use with the MongoDBHandler.
|
16 |
*
|
@@ -75,7 +77,7 @@ class MongoDBFormatter implements FormatterInterface
|
|
75 |
protected function formatObject($value, $nestingLevel)
|
76 |
{
|
77 |
$objectVars = get_object_vars($value);
|
78 |
-
$objectVars['class'] =
|
79 |
|
80 |
return $this->formatArray($objectVars, $nestingLevel);
|
81 |
}
|
@@ -83,7 +85,7 @@ class MongoDBFormatter implements FormatterInterface
|
|
83 |
protected function formatException(\Exception $exception, $nestingLevel)
|
84 |
{
|
85 |
$formattedException = array(
|
86 |
-
'class' =>
|
87 |
'message' => $exception->getMessage(),
|
88 |
'code' => $exception->getCode(),
|
89 |
'file' => $exception->getFile() . ':' . $exception->getLine(),
|
11 |
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
+
use Monolog\Utils;
|
15 |
+
|
16 |
/**
|
17 |
* Formats a record for use with the MongoDBHandler.
|
18 |
*
|
77 |
protected function formatObject($value, $nestingLevel)
|
78 |
{
|
79 |
$objectVars = get_object_vars($value);
|
80 |
+
$objectVars['class'] = Utils::getClass($value);
|
81 |
|
82 |
return $this->formatArray($objectVars, $nestingLevel);
|
83 |
}
|
85 |
protected function formatException(\Exception $exception, $nestingLevel)
|
86 |
{
|
87 |
$formattedException = array(
|
88 |
+
'class' => Utils::getClass($exception),
|
89 |
'message' => $exception->getMessage(),
|
90 |
'code' => $exception->getCode(),
|
91 |
'file' => $exception->getFile() . ':' . $exception->getLine(),
|
vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
use Exception;
|
|
|
15 |
|
16 |
/**
|
17 |
* Normalizes incoming records to remove objects/resources so it's easier to dump to various targets
|
@@ -55,8 +56,12 @@ class NormalizerFormatter implements FormatterInterface
|
|
55 |
return $records;
|
56 |
}
|
57 |
|
58 |
-
protected function normalize($data)
|
59 |
{
|
|
|
|
|
|
|
|
|
60 |
if (null === $data || is_scalar($data)) {
|
61 |
if (is_float($data)) {
|
62 |
if (is_infinite($data)) {
|
@@ -75,11 +80,12 @@ class NormalizerFormatter implements FormatterInterface
|
|
75 |
|
76 |
$count = 1;
|
77 |
foreach ($data as $key => $value) {
|
78 |
-
if ($count++
|
79 |
$normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization';
|
80 |
break;
|
81 |
}
|
82 |
-
|
|
|
83 |
}
|
84 |
|
85 |
return $normalized;
|
@@ -103,7 +109,7 @@ class NormalizerFormatter implements FormatterInterface
|
|
103 |
$value = $this->toJson($data, true);
|
104 |
}
|
105 |
|
106 |
-
return sprintf("[object] (%s: %s)",
|
107 |
}
|
108 |
|
109 |
if (is_resource($data)) {
|
@@ -117,11 +123,11 @@ class NormalizerFormatter implements FormatterInterface
|
|
117 |
{
|
118 |
// TODO 2.0 only check for Throwable
|
119 |
if (!$e instanceof Exception && !$e instanceof \Throwable) {
|
120 |
-
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.
|
121 |
}
|
122 |
|
123 |
$data = array(
|
124 |
-
'class' =>
|
125 |
'message' => $e->getMessage(),
|
126 |
'code' => $e->getCode(),
|
127 |
'file' => $e->getFile().':'.$e->getLine(),
|
@@ -145,12 +151,6 @@ class NormalizerFormatter implements FormatterInterface
|
|
145 |
foreach ($trace as $frame) {
|
146 |
if (isset($frame['file'])) {
|
147 |
$data['trace'][] = $frame['file'].':'.$frame['line'];
|
148 |
-
} elseif (isset($frame['function']) && $frame['function'] === '{closure}') {
|
149 |
-
// We should again normalize the frames, because it might contain invalid items
|
150 |
-
$data['trace'][] = $frame['function'];
|
151 |
-
} else {
|
152 |
-
// We should again normalize the frames, because it might contain invalid items
|
153 |
-
$data['trace'][] = $this->toJson($this->normalize($frame), true);
|
154 |
}
|
155 |
}
|
156 |
|
12 |
namespace Monolog\Formatter;
|
13 |
|
14 |
use Exception;
|
15 |
+
use Monolog\Utils;
|
16 |
|
17 |
/**
|
18 |
* Normalizes incoming records to remove objects/resources so it's easier to dump to various targets
|
56 |
return $records;
|
57 |
}
|
58 |
|
59 |
+
protected function normalize($data, $depth = 0)
|
60 |
{
|
61 |
+
if ($depth > 9) {
|
62 |
+
return 'Over 9 levels deep, aborting normalization';
|
63 |
+
}
|
64 |
+
|
65 |
if (null === $data || is_scalar($data)) {
|
66 |
if (is_float($data)) {
|
67 |
if (is_infinite($data)) {
|
80 |
|
81 |
$count = 1;
|
82 |
foreach ($data as $key => $value) {
|
83 |
+
if ($count++ > 1000) {
|
84 |
$normalized['...'] = 'Over 1000 items ('.count($data).' total), aborting normalization';
|
85 |
break;
|
86 |
}
|
87 |
+
|
88 |
+
$normalized[$key] = $this->normalize($value, $depth+1);
|
89 |
}
|
90 |
|
91 |
return $normalized;
|
109 |
$value = $this->toJson($data, true);
|
110 |
}
|
111 |
|
112 |
+
return sprintf("[object] (%s: %s)", Utils::getClass($data), $value);
|
113 |
}
|
114 |
|
115 |
if (is_resource($data)) {
|
123 |
{
|
124 |
// TODO 2.0 only check for Throwable
|
125 |
if (!$e instanceof Exception && !$e instanceof \Throwable) {
|
126 |
+
throw new \InvalidArgumentException('Exception/Throwable expected, got '.gettype($e).' / '.Utils::getClass($e));
|
127 |
}
|
128 |
|
129 |
$data = array(
|
130 |
+
'class' => Utils::getClass($e),
|
131 |
'message' => $e->getMessage(),
|
132 |
'code' => $e->getCode(),
|
133 |
'file' => $e->getFile().':'.$e->getLine(),
|
151 |
foreach ($trace as $frame) {
|
152 |
if (isset($frame['file'])) {
|
153 |
$data['trace'][] = $frame['file'].':'.$frame['line'];
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
}
|
155 |
}
|
156 |
|
vendor/monolog/monolog/src/Monolog/Formatter/WildfireFormatter.php
CHANGED
@@ -102,12 +102,12 @@ class WildfireFormatter extends NormalizerFormatter
|
|
102 |
throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
|
103 |
}
|
104 |
|
105 |
-
protected function normalize($data)
|
106 |
{
|
107 |
if (is_object($data) && !$data instanceof \DateTime) {
|
108 |
return $data;
|
109 |
}
|
110 |
|
111 |
-
return parent::normalize($data);
|
112 |
}
|
113 |
}
|
102 |
throw new \BadMethodCallException('Batch formatting does not make sense for the WildfireFormatter');
|
103 |
}
|
104 |
|
105 |
+
protected function normalize($data, $depth = 0)
|
106 |
{
|
107 |
if (is_object($data) && !$data instanceof \DateTime) {
|
108 |
return $data;
|
109 |
}
|
110 |
|
111 |
+
return parent::normalize($data, $depth);
|
112 |
}
|
113 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php
CHANGED
@@ -11,16 +11,17 @@
|
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
-
use Monolog\Logger;
|
15 |
use Monolog\Formatter\FormatterInterface;
|
16 |
use Monolog\Formatter\LineFormatter;
|
|
|
|
|
17 |
|
18 |
/**
|
19 |
* Base Handler class providing the Handler structure
|
20 |
*
|
21 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
*/
|
23 |
-
abstract class AbstractHandler implements HandlerInterface
|
24 |
{
|
25 |
protected $level = Logger::DEBUG;
|
26 |
protected $bubble = true;
|
@@ -32,8 +33,8 @@ abstract class AbstractHandler implements HandlerInterface
|
|
32 |
protected $processors = array();
|
33 |
|
34 |
/**
|
35 |
-
* @param int
|
36 |
-
* @param
|
37 |
*/
|
38 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
39 |
{
|
@@ -141,8 +142,8 @@ abstract class AbstractHandler implements HandlerInterface
|
|
141 |
/**
|
142 |
* Sets the bubbling behavior.
|
143 |
*
|
144 |
-
* @param
|
145 |
-
*
|
146 |
* @return self
|
147 |
*/
|
148 |
public function setBubble($bubble)
|
@@ -155,8 +156,8 @@ abstract class AbstractHandler implements HandlerInterface
|
|
155 |
/**
|
156 |
* Gets the bubbling behavior.
|
157 |
*
|
158 |
-
* @return
|
159 |
-
*
|
160 |
*/
|
161 |
public function getBubble()
|
162 |
{
|
@@ -174,6 +175,15 @@ abstract class AbstractHandler implements HandlerInterface
|
|
174 |
}
|
175 |
}
|
176 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
/**
|
178 |
* Gets the default formatter.
|
179 |
*
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
|
|
14 |
use Monolog\Formatter\FormatterInterface;
|
15 |
use Monolog\Formatter\LineFormatter;
|
16 |
+
use Monolog\Logger;
|
17 |
+
use Monolog\ResettableInterface;
|
18 |
|
19 |
/**
|
20 |
* Base Handler class providing the Handler structure
|
21 |
*
|
22 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
23 |
*/
|
24 |
+
abstract class AbstractHandler implements HandlerInterface, ResettableInterface
|
25 |
{
|
26 |
protected $level = Logger::DEBUG;
|
27 |
protected $bubble = true;
|
33 |
protected $processors = array();
|
34 |
|
35 |
/**
|
36 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
37 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
38 |
*/
|
39 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
40 |
{
|
142 |
/**
|
143 |
* Sets the bubbling behavior.
|
144 |
*
|
145 |
+
* @param bool $bubble true means that this handler allows bubbling.
|
146 |
+
* false means that bubbling is not permitted.
|
147 |
* @return self
|
148 |
*/
|
149 |
public function setBubble($bubble)
|
156 |
/**
|
157 |
* Gets the bubbling behavior.
|
158 |
*
|
159 |
+
* @return bool true means that this handler allows bubbling.
|
160 |
+
* false means that bubbling is not permitted.
|
161 |
*/
|
162 |
public function getBubble()
|
163 |
{
|
175 |
}
|
176 |
}
|
177 |
|
178 |
+
public function reset()
|
179 |
+
{
|
180 |
+
foreach ($this->processors as $processor) {
|
181 |
+
if ($processor instanceof ResettableInterface) {
|
182 |
+
$processor->reset();
|
183 |
+
}
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
/**
|
188 |
* Gets the default formatter.
|
189 |
*
|
vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
CHANGED
@@ -11,6 +11,8 @@
|
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* Base Handler class providing the Handler structure
|
16 |
*
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
+
use Monolog\ResettableInterface;
|
15 |
+
|
16 |
/**
|
17 |
* Base Handler class providing the Handler structure
|
18 |
*
|
vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php
CHANGED
@@ -53,9 +53,9 @@ abstract class AbstractSyslogHandler extends AbstractProcessingHandler
|
|
53 |
);
|
54 |
|
55 |
/**
|
56 |
-
* @param mixed
|
57 |
-
* @param int
|
58 |
-
* @param
|
59 |
*/
|
60 |
public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true)
|
61 |
{
|
53 |
);
|
54 |
|
55 |
/**
|
56 |
+
* @param mixed $facility
|
57 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
58 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
59 |
*/
|
60 |
public function __construct($facility = LOG_USER, $level = Logger::DEBUG, $bubble = true)
|
61 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/BrowserConsoleHandler.php
CHANGED
@@ -43,11 +43,11 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
43 |
protected function write(array $record)
|
44 |
{
|
45 |
// Accumulate records
|
46 |
-
|
47 |
|
48 |
// Register shutdown handler if not already done
|
49 |
-
if (!
|
50 |
-
|
51 |
$this->registerShutdownFunction();
|
52 |
}
|
53 |
}
|
@@ -58,27 +58,37 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
58 |
*/
|
59 |
public static function send()
|
60 |
{
|
61 |
-
$format =
|
62 |
if ($format === 'unknown') {
|
63 |
return;
|
64 |
}
|
65 |
|
66 |
-
if (count(
|
67 |
if ($format === 'html') {
|
68 |
-
|
69 |
} elseif ($format === 'js') {
|
70 |
-
|
71 |
}
|
72 |
-
|
73 |
}
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
/**
|
77 |
* Forget all logged records
|
78 |
*/
|
79 |
-
public static function
|
80 |
{
|
81 |
-
|
82 |
}
|
83 |
|
84 |
/**
|
@@ -133,18 +143,18 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
133 |
private static function generateScript()
|
134 |
{
|
135 |
$script = array();
|
136 |
-
foreach (
|
137 |
-
$context =
|
138 |
-
$extra =
|
139 |
|
140 |
if (empty($context) && empty($extra)) {
|
141 |
-
$script[] =
|
142 |
} else {
|
143 |
$script = array_merge($script,
|
144 |
-
array(
|
145 |
$context,
|
146 |
$extra,
|
147 |
-
array(
|
148 |
);
|
149 |
}
|
150 |
}
|
@@ -154,19 +164,19 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
154 |
|
155 |
private static function handleStyles($formatted)
|
156 |
{
|
157 |
-
$args = array(
|
158 |
$format = '%c' . $formatted;
|
159 |
preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
|
160 |
|
161 |
foreach (array_reverse($matches) as $match) {
|
162 |
-
$args[] =
|
163 |
$args[] = '"font-weight: normal"';
|
164 |
|
165 |
$pos = $match[0][1];
|
166 |
$format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0]));
|
167 |
}
|
168 |
|
169 |
-
array_unshift($args,
|
170 |
|
171 |
return $args;
|
172 |
}
|
@@ -198,13 +208,13 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
198 |
if (empty($dict)) {
|
199 |
return $script;
|
200 |
}
|
201 |
-
$script[] =
|
202 |
foreach ($dict as $key => $value) {
|
203 |
$value = json_encode($value);
|
204 |
if (empty($value)) {
|
205 |
-
$value =
|
206 |
}
|
207 |
-
$script[] =
|
208 |
}
|
209 |
|
210 |
return $script;
|
@@ -220,7 +230,7 @@ class BrowserConsoleHandler extends AbstractProcessingHandler
|
|
220 |
$args = func_get_args();
|
221 |
$method = array_shift($args);
|
222 |
|
223 |
-
return
|
224 |
}
|
225 |
|
226 |
private static function call_array($method, array $args)
|
43 |
protected function write(array $record)
|
44 |
{
|
45 |
// Accumulate records
|
46 |
+
static::$records[] = $record;
|
47 |
|
48 |
// Register shutdown handler if not already done
|
49 |
+
if (!static::$initialized) {
|
50 |
+
static::$initialized = true;
|
51 |
$this->registerShutdownFunction();
|
52 |
}
|
53 |
}
|
58 |
*/
|
59 |
public static function send()
|
60 |
{
|
61 |
+
$format = static::getResponseFormat();
|
62 |
if ($format === 'unknown') {
|
63 |
return;
|
64 |
}
|
65 |
|
66 |
+
if (count(static::$records)) {
|
67 |
if ($format === 'html') {
|
68 |
+
static::writeOutput('<script>' . static::generateScript() . '</script>');
|
69 |
} elseif ($format === 'js') {
|
70 |
+
static::writeOutput(static::generateScript());
|
71 |
}
|
72 |
+
static::resetStatic();
|
73 |
}
|
74 |
}
|
75 |
|
76 |
+
public function close()
|
77 |
+
{
|
78 |
+
self::resetStatic();
|
79 |
+
}
|
80 |
+
|
81 |
+
public function reset()
|
82 |
+
{
|
83 |
+
self::resetStatic();
|
84 |
+
}
|
85 |
+
|
86 |
/**
|
87 |
* Forget all logged records
|
88 |
*/
|
89 |
+
public static function resetStatic()
|
90 |
{
|
91 |
+
static::$records = array();
|
92 |
}
|
93 |
|
94 |
/**
|
143 |
private static function generateScript()
|
144 |
{
|
145 |
$script = array();
|
146 |
+
foreach (static::$records as $record) {
|
147 |
+
$context = static::dump('Context', $record['context']);
|
148 |
+
$extra = static::dump('Extra', $record['extra']);
|
149 |
|
150 |
if (empty($context) && empty($extra)) {
|
151 |
+
$script[] = static::call_array('log', static::handleStyles($record['formatted']));
|
152 |
} else {
|
153 |
$script = array_merge($script,
|
154 |
+
array(static::call_array('groupCollapsed', static::handleStyles($record['formatted']))),
|
155 |
$context,
|
156 |
$extra,
|
157 |
+
array(static::call('groupEnd'))
|
158 |
);
|
159 |
}
|
160 |
}
|
164 |
|
165 |
private static function handleStyles($formatted)
|
166 |
{
|
167 |
+
$args = array(static::quote('font-weight: normal'));
|
168 |
$format = '%c' . $formatted;
|
169 |
preg_match_all('/\[\[(.*?)\]\]\{([^}]*)\}/s', $format, $matches, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
|
170 |
|
171 |
foreach (array_reverse($matches) as $match) {
|
172 |
+
$args[] = static::quote(static::handleCustomStyles($match[2][0], $match[1][0]));
|
173 |
$args[] = '"font-weight: normal"';
|
174 |
|
175 |
$pos = $match[0][1];
|
176 |
$format = substr($format, 0, $pos) . '%c' . $match[1][0] . '%c' . substr($format, $pos + strlen($match[0][0]));
|
177 |
}
|
178 |
|
179 |
+
array_unshift($args, static::quote($format));
|
180 |
|
181 |
return $args;
|
182 |
}
|
208 |
if (empty($dict)) {
|
209 |
return $script;
|
210 |
}
|
211 |
+
$script[] = static::call('log', static::quote('%c%s'), static::quote('font-weight: bold'), static::quote($title));
|
212 |
foreach ($dict as $key => $value) {
|
213 |
$value = json_encode($value);
|
214 |
if (empty($value)) {
|
215 |
+
$value = static::quote('');
|
216 |
}
|
217 |
+
$script[] = static::call('log', static::quote('%s: %o'), static::quote($key), $value);
|
218 |
}
|
219 |
|
220 |
return $script;
|
230 |
$args = func_get_args();
|
231 |
$method = array_shift($args);
|
232 |
|
233 |
+
return static::call_array($method, $args);
|
234 |
}
|
235 |
|
236 |
private static function call_array($method, array $args)
|
vendor/monolog/monolog/src/Monolog/Handler/BufferHandler.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Logger;
|
|
|
15 |
|
16 |
/**
|
17 |
* Buffers all records until closing the handler and then pass them as batch.
|
@@ -34,8 +35,8 @@ class BufferHandler extends AbstractHandler
|
|
34 |
* @param HandlerInterface $handler Handler.
|
35 |
* @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
36 |
* @param int $level The minimum logging level at which this handler will be triggered
|
37 |
-
* @param
|
38 |
-
* @param
|
39 |
*/
|
40 |
public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false)
|
41 |
{
|
@@ -114,4 +115,15 @@ class BufferHandler extends AbstractHandler
|
|
114 |
$this->bufferSize = 0;
|
115 |
$this->buffer = array();
|
116 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Logger;
|
15 |
+
use Monolog\ResettableInterface;
|
16 |
|
17 |
/**
|
18 |
* Buffers all records until closing the handler and then pass them as batch.
|
35 |
* @param HandlerInterface $handler Handler.
|
36 |
* @param int $bufferLimit How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
37 |
* @param int $level The minimum logging level at which this handler will be triggered
|
38 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
39 |
+
* @param bool $flushOnOverflow If true, the buffer is flushed when the max size has been reached, by default oldest entries are discarded
|
40 |
*/
|
41 |
public function __construct(HandlerInterface $handler, $bufferLimit = 0, $level = Logger::DEBUG, $bubble = true, $flushOnOverflow = false)
|
42 |
{
|
115 |
$this->bufferSize = 0;
|
116 |
$this->buffer = array();
|
117 |
}
|
118 |
+
|
119 |
+
public function reset()
|
120 |
+
{
|
121 |
+
$this->flush();
|
122 |
+
|
123 |
+
parent::reset();
|
124 |
+
|
125 |
+
if ($this->handler instanceof ResettableInterface) {
|
126 |
+
$this->handler->reset();
|
127 |
+
}
|
128 |
+
}
|
129 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/ChromePHPHandler.php
CHANGED
@@ -32,7 +32,7 @@ class ChromePHPHandler extends AbstractProcessingHandler
|
|
32 |
* Header name
|
33 |
*/
|
34 |
const HEADER_NAME = 'X-ChromeLogger-Data';
|
35 |
-
|
36 |
/**
|
37 |
* Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
|
38 |
*/
|
@@ -43,9 +43,9 @@ class ChromePHPHandler extends AbstractProcessingHandler
|
|
43 |
/**
|
44 |
* Tracks whether we sent too much data
|
45 |
*
|
46 |
-
* Chrome limits the headers to
|
47 |
*
|
48 |
-
* @var
|
49 |
*/
|
50 |
protected static $overflowed = false;
|
51 |
|
@@ -58,8 +58,8 @@ class ChromePHPHandler extends AbstractProcessingHandler
|
|
58 |
protected static $sendHeaders = true;
|
59 |
|
60 |
/**
|
61 |
-
* @param int
|
62 |
-
* @param
|
63 |
*/
|
64 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
65 |
{
|
@@ -136,7 +136,7 @@ class ChromePHPHandler extends AbstractProcessingHandler
|
|
136 |
|
137 |
$json = @json_encode(self::$json);
|
138 |
$data = base64_encode(utf8_encode($json));
|
139 |
-
if (strlen($data) >
|
140 |
self::$overflowed = true;
|
141 |
|
142 |
$record = array(
|
@@ -174,7 +174,7 @@ class ChromePHPHandler extends AbstractProcessingHandler
|
|
174 |
/**
|
175 |
* Verifies if the headers are accepted by the current user agent
|
176 |
*
|
177 |
-
* @return
|
178 |
*/
|
179 |
protected function headersAccepted()
|
180 |
{
|
32 |
* Header name
|
33 |
*/
|
34 |
const HEADER_NAME = 'X-ChromeLogger-Data';
|
35 |
+
|
36 |
/**
|
37 |
* Regular expression to detect supported browsers (matches any Chrome, or Firefox 43+)
|
38 |
*/
|
43 |
/**
|
44 |
* Tracks whether we sent too much data
|
45 |
*
|
46 |
+
* Chrome limits the headers to 4KB, so when we sent 3KB we stop sending
|
47 |
*
|
48 |
+
* @var bool
|
49 |
*/
|
50 |
protected static $overflowed = false;
|
51 |
|
58 |
protected static $sendHeaders = true;
|
59 |
|
60 |
/**
|
61 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
62 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
63 |
*/
|
64 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
65 |
{
|
136 |
|
137 |
$json = @json_encode(self::$json);
|
138 |
$data = base64_encode(utf8_encode($json));
|
139 |
+
if (strlen($data) > 3 * 1024) {
|
140 |
self::$overflowed = true;
|
141 |
|
142 |
$record = array(
|
174 |
/**
|
175 |
* Verifies if the headers are accepted by the current user agent
|
176 |
*
|
177 |
+
* @return bool
|
178 |
*/
|
179 |
protected function headersAccepted()
|
180 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/DeduplicationHandler.php
CHANGED
@@ -60,7 +60,7 @@ class DeduplicationHandler extends BufferHandler
|
|
60 |
* @param string $deduplicationStore The file/path where the deduplication log should be kept
|
61 |
* @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
|
62 |
* @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
|
63 |
-
* @param
|
64 |
*/
|
65 |
public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true)
|
66 |
{
|
60 |
* @param string $deduplicationStore The file/path where the deduplication log should be kept
|
61 |
* @param int $deduplicationLevel The minimum logging level for log records to be looked at for deduplication purposes
|
62 |
* @param int $time The period (in seconds) during which duplicate entries should be suppressed after a given log is sent through
|
63 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
64 |
*/
|
65 |
public function __construct(HandlerInterface $handler, $deduplicationStore = null, $deduplicationLevel = Logger::ERROR, $time = 60, $bubble = true)
|
66 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/ElasticSearchHandler.php
CHANGED
@@ -46,10 +46,10 @@ class ElasticSearchHandler extends AbstractProcessingHandler
|
|
46 |
protected $options = array();
|
47 |
|
48 |
/**
|
49 |
-
* @param Client
|
50 |
-
* @param array
|
51 |
-
* @param int
|
52 |
-
* @param
|
53 |
*/
|
54 |
public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true)
|
55 |
{
|
46 |
protected $options = array();
|
47 |
|
48 |
/**
|
49 |
+
* @param Client $client Elastica Client object
|
50 |
+
* @param array $options Handler configuration
|
51 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
52 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
53 |
*/
|
54 |
public function __construct(Client $client, array $options = array(), $level = Logger::DEBUG, $bubble = true)
|
55 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/ErrorLogHandler.php
CHANGED
@@ -28,10 +28,10 @@ class ErrorLogHandler extends AbstractProcessingHandler
|
|
28 |
protected $expandNewlines;
|
29 |
|
30 |
/**
|
31 |
-
* @param int
|
32 |
-
* @param int
|
33 |
-
* @param
|
34 |
-
* @param
|
35 |
*/
|
36 |
public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false)
|
37 |
{
|
28 |
protected $expandNewlines;
|
29 |
|
30 |
/**
|
31 |
+
* @param int $messageType Says where the error should go.
|
32 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
33 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
34 |
+
* @param bool $expandNewlines If set to true, newlines in the message will be expanded to be take multiple log entries
|
35 |
*/
|
36 |
public function __construct($messageType = self::OPERATING_SYSTEM, $level = Logger::DEBUG, $bubble = true, $expandNewlines = false)
|
37 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/FilterHandler.php
CHANGED
@@ -40,7 +40,7 @@ class FilterHandler extends AbstractHandler
|
|
40 |
/**
|
41 |
* Whether the messages that are handled can bubble up the stack or not
|
42 |
*
|
43 |
-
* @var
|
44 |
*/
|
45 |
protected $bubble;
|
46 |
|
@@ -48,7 +48,7 @@ class FilterHandler extends AbstractHandler
|
|
48 |
* @param callable|HandlerInterface $handler Handler or factory callable($record, $this).
|
49 |
* @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
|
50 |
* @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
|
51 |
-
* @param
|
52 |
*/
|
53 |
public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true)
|
54 |
{
|
40 |
/**
|
41 |
* Whether the messages that are handled can bubble up the stack or not
|
42 |
*
|
43 |
+
* @var bool
|
44 |
*/
|
45 |
protected $bubble;
|
46 |
|
48 |
* @param callable|HandlerInterface $handler Handler or factory callable($record, $this).
|
49 |
* @param int|array $minLevelOrList A list of levels to accept or a minimum level if maxLevel is provided
|
50 |
* @param int $maxLevel Maximum level to accept, only used if $minLevelOrList is not an array
|
51 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
52 |
*/
|
53 |
public function __construct($handler, $minLevelOrList = Logger::DEBUG, $maxLevel = Logger::EMERGENCY, $bubble = true)
|
54 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/FingersCrossed/ActivationStrategyInterface.php
CHANGED
@@ -22,7 +22,7 @@ interface ActivationStrategyInterface
|
|
22 |
* Returns whether the given record activates the handler.
|
23 |
*
|
24 |
* @param array $record
|
25 |
-
* @return
|
26 |
*/
|
27 |
public function isHandlerActivated(array $record);
|
28 |
}
|
22 |
* Returns whether the given record activates the handler.
|
23 |
*
|
24 |
* @param array $record
|
25 |
+
* @return bool
|
26 |
*/
|
27 |
public function isHandlerActivated(array $record);
|
28 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/FingersCrossedHandler.php
CHANGED
@@ -14,6 +14,7 @@ namespace Monolog\Handler;
|
|
14 |
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
|
15 |
use Monolog\Handler\FingersCrossed\ActivationStrategyInterface;
|
16 |
use Monolog\Logger;
|
|
|
17 |
|
18 |
/**
|
19 |
* Buffers all records until a certain level is reached
|
@@ -41,8 +42,8 @@ class FingersCrossedHandler extends AbstractHandler
|
|
41 |
* @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler).
|
42 |
* @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action
|
43 |
* @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
44 |
-
* @param
|
45 |
-
* @param
|
46 |
* @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
|
47 |
*/
|
48 |
public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null)
|
@@ -130,24 +131,18 @@ class FingersCrossedHandler extends AbstractHandler
|
|
130 |
*/
|
131 |
public function close()
|
132 |
{
|
133 |
-
|
134 |
-
$level = $this->passthruLevel;
|
135 |
-
$this->buffer = array_filter($this->buffer, function ($record) use ($level) {
|
136 |
-
return $record['level'] >= $level;
|
137 |
-
});
|
138 |
-
if (count($this->buffer) > 0) {
|
139 |
-
$this->handler->handleBatch($this->buffer);
|
140 |
-
$this->buffer = array();
|
141 |
-
}
|
142 |
-
}
|
143 |
}
|
144 |
|
145 |
-
/**
|
146 |
-
* Resets the state of the handler. Stops forwarding records to the wrapped handler.
|
147 |
-
*/
|
148 |
public function reset()
|
149 |
{
|
150 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
/**
|
@@ -160,4 +155,23 @@ class FingersCrossedHandler extends AbstractHandler
|
|
160 |
$this->buffer = array();
|
161 |
$this->reset();
|
162 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
}
|
14 |
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
|
15 |
use Monolog\Handler\FingersCrossed\ActivationStrategyInterface;
|
16 |
use Monolog\Logger;
|
17 |
+
use Monolog\ResettableInterface;
|
18 |
|
19 |
/**
|
20 |
* Buffers all records until a certain level is reached
|
42 |
* @param callable|HandlerInterface $handler Handler or factory callable($record, $fingersCrossedHandler).
|
43 |
* @param int|ActivationStrategyInterface $activationStrategy Strategy which determines when this handler takes action
|
44 |
* @param int $bufferSize How many entries should be buffered at most, beyond that the oldest items are removed from the buffer.
|
45 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
46 |
+
* @param bool $stopBuffering Whether the handler should stop buffering after being triggered (default true)
|
47 |
* @param int $passthruLevel Minimum level to always flush to handler on close, even if strategy not triggered
|
48 |
*/
|
49 |
public function __construct($handler, $activationStrategy = null, $bufferSize = 0, $bubble = true, $stopBuffering = true, $passthruLevel = null)
|
131 |
*/
|
132 |
public function close()
|
133 |
{
|
134 |
+
$this->flushBuffer();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
|
|
|
|
|
|
|
137 |
public function reset()
|
138 |
{
|
139 |
+
$this->flushBuffer();
|
140 |
+
|
141 |
+
parent::reset();
|
142 |
+
|
143 |
+
if ($this->handler instanceof ResettableInterface) {
|
144 |
+
$this->handler->reset();
|
145 |
+
}
|
146 |
}
|
147 |
|
148 |
/**
|
155 |
$this->buffer = array();
|
156 |
$this->reset();
|
157 |
}
|
158 |
+
|
159 |
+
/**
|
160 |
+
* Resets the state of the handler. Stops forwarding records to the wrapped handler.
|
161 |
+
*/
|
162 |
+
private function flushBuffer()
|
163 |
+
{
|
164 |
+
if (null !== $this->passthruLevel) {
|
165 |
+
$level = $this->passthruLevel;
|
166 |
+
$this->buffer = array_filter($this->buffer, function ($record) use ($level) {
|
167 |
+
return $record['level'] >= $level;
|
168 |
+
});
|
169 |
+
if (count($this->buffer) > 0) {
|
170 |
+
$this->handler->handleBatch($this->buffer);
|
171 |
+
}
|
172 |
+
}
|
173 |
+
|
174 |
+
$this->buffer = array();
|
175 |
+
$this->buffering = true;
|
176 |
+
}
|
177 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/FirePHPHandler.php
CHANGED
@@ -158,7 +158,7 @@ class FirePHPHandler extends AbstractProcessingHandler
|
|
158 |
/**
|
159 |
* Verifies if the headers are accepted by the current user agent
|
160 |
*
|
161 |
-
* @return
|
162 |
*/
|
163 |
protected function headersAccepted()
|
164 |
{
|
158 |
/**
|
159 |
* Verifies if the headers are accepted by the current user agent
|
160 |
*
|
161 |
+
* @return bool
|
162 |
*/
|
163 |
protected function headersAccepted()
|
164 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerInterface.php
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php declare(strict_types=1);
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Handler;
|
13 |
+
|
14 |
+
use Monolog\Formatter\FormatterInterface;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Interface to describe loggers that have a formatter
|
18 |
+
*
|
19 |
+
* This interface is present in monolog 1.x to ease forward compatibility.
|
20 |
+
*
|
21 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
+
*/
|
23 |
+
interface FormattableHandlerInterface
|
24 |
+
{
|
25 |
+
/**
|
26 |
+
* Sets the formatter.
|
27 |
+
*
|
28 |
+
* @param FormatterInterface $formatter
|
29 |
+
* @return HandlerInterface self
|
30 |
+
*/
|
31 |
+
public function setFormatter(FormatterInterface $formatter): HandlerInterface;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Gets the formatter.
|
35 |
+
*
|
36 |
+
* @return FormatterInterface
|
37 |
+
*/
|
38 |
+
public function getFormatter(): FormatterInterface;
|
39 |
+
}
|
vendor/monolog/monolog/src/Monolog/Handler/FormattableHandlerTrait.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php declare(strict_types=1);
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Handler;
|
13 |
+
|
14 |
+
use Monolog\Formatter\FormatterInterface;
|
15 |
+
use Monolog\Formatter\LineFormatter;
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Helper trait for implementing FormattableInterface
|
19 |
+
*
|
20 |
+
* This trait is present in monolog 1.x to ease forward compatibility.
|
21 |
+
*
|
22 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
23 |
+
*/
|
24 |
+
trait FormattableHandlerTrait
|
25 |
+
{
|
26 |
+
/**
|
27 |
+
* @var FormatterInterface
|
28 |
+
*/
|
29 |
+
protected $formatter;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* {@inheritdoc}
|
33 |
+
* @suppress PhanTypeMismatchReturn
|
34 |
+
*/
|
35 |
+
public function setFormatter(FormatterInterface $formatter): HandlerInterface
|
36 |
+
{
|
37 |
+
$this->formatter = $formatter;
|
38 |
+
|
39 |
+
return $this;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* {@inheritdoc}
|
44 |
+
*/
|
45 |
+
public function getFormatter(): FormatterInterface
|
46 |
+
{
|
47 |
+
if (!$this->formatter) {
|
48 |
+
$this->formatter = $this->getDefaultFormatter();
|
49 |
+
}
|
50 |
+
|
51 |
+
return $this->formatter;
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Gets the default formatter.
|
56 |
+
*
|
57 |
+
* Overwrite this if the LineFormatter is not a good default for your handler.
|
58 |
+
*/
|
59 |
+
protected function getDefaultFormatter(): FormatterInterface
|
60 |
+
{
|
61 |
+
return new LineFormatter();
|
62 |
+
}
|
63 |
+
}
|
vendor/monolog/monolog/src/Monolog/Handler/GelfHandler.php
CHANGED
@@ -47,14 +47,6 @@ class GelfHandler extends AbstractProcessingHandler
|
|
47 |
$this->publisher = $publisher;
|
48 |
}
|
49 |
|
50 |
-
/**
|
51 |
-
* {@inheritdoc}
|
52 |
-
*/
|
53 |
-
public function close()
|
54 |
-
{
|
55 |
-
$this->publisher = null;
|
56 |
-
}
|
57 |
-
|
58 |
/**
|
59 |
* {@inheritdoc}
|
60 |
*/
|
47 |
$this->publisher = $publisher;
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* {@inheritdoc}
|
52 |
*/
|
vendor/monolog/monolog/src/Monolog/Handler/GroupHandler.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Formatter\FormatterInterface;
|
|
|
15 |
|
16 |
/**
|
17 |
* Forwards records to multiple handlers
|
@@ -23,8 +24,8 @@ class GroupHandler extends AbstractHandler
|
|
23 |
protected $handlers;
|
24 |
|
25 |
/**
|
26 |
-
* @param array
|
27 |
-
* @param
|
28 |
*/
|
29 |
public function __construct(array $handlers, $bubble = true)
|
30 |
{
|
@@ -79,8 +80,9 @@ class GroupHandler extends AbstractHandler
|
|
79 |
$processed = array();
|
80 |
foreach ($records as $record) {
|
81 |
foreach ($this->processors as $processor) {
|
82 |
-
$
|
83 |
}
|
|
|
84 |
}
|
85 |
$records = $processed;
|
86 |
}
|
@@ -90,6 +92,17 @@ class GroupHandler extends AbstractHandler
|
|
90 |
}
|
91 |
}
|
92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
/**
|
94 |
* {@inheritdoc}
|
95 |
*/
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Formatter\FormatterInterface;
|
15 |
+
use Monolog\ResettableInterface;
|
16 |
|
17 |
/**
|
18 |
* Forwards records to multiple handlers
|
24 |
protected $handlers;
|
25 |
|
26 |
/**
|
27 |
+
* @param array $handlers Array of Handlers.
|
28 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
29 |
*/
|
30 |
public function __construct(array $handlers, $bubble = true)
|
31 |
{
|
80 |
$processed = array();
|
81 |
foreach ($records as $record) {
|
82 |
foreach ($this->processors as $processor) {
|
83 |
+
$record = call_user_func($processor, $record);
|
84 |
}
|
85 |
+
$processed[] = $record;
|
86 |
}
|
87 |
$records = $processed;
|
88 |
}
|
92 |
}
|
93 |
}
|
94 |
|
95 |
+
public function reset()
|
96 |
+
{
|
97 |
+
parent::reset();
|
98 |
+
|
99 |
+
foreach ($this->handlers as $handler) {
|
100 |
+
if ($handler instanceof ResettableInterface) {
|
101 |
+
$handler->reset();
|
102 |
+
}
|
103 |
+
}
|
104 |
+
}
|
105 |
+
|
106 |
/**
|
107 |
* {@inheritdoc}
|
108 |
*/
|
vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php
CHANGED
@@ -31,7 +31,7 @@ interface HandlerInterface
|
|
31 |
*
|
32 |
* @param array $record Partial log record containing only a level key
|
33 |
*
|
34 |
-
* @return
|
35 |
*/
|
36 |
public function isHandling(array $record);
|
37 |
|
@@ -46,7 +46,7 @@ interface HandlerInterface
|
|
46 |
* calling further handlers in the stack with a given log record.
|
47 |
*
|
48 |
* @param array $record The record to handle
|
49 |
-
* @return
|
50 |
* false means the record was either not processed or that this handler allows bubbling.
|
51 |
*/
|
52 |
public function handle(array $record);
|
31 |
*
|
32 |
* @param array $record Partial log record containing only a level key
|
33 |
*
|
34 |
+
* @return bool
|
35 |
*/
|
36 |
public function isHandling(array $record);
|
37 |
|
46 |
* calling further handlers in the stack with a given log record.
|
47 |
*
|
48 |
* @param array $record The record to handle
|
49 |
+
* @return bool true means that this handler handled the record, and that bubbling is not permitted.
|
50 |
* false means the record was either not processed or that this handler allows bubbling.
|
51 |
*/
|
52 |
public function handle(array $record);
|
vendor/monolog/monolog/src/Monolog/Handler/HandlerWrapper.php
CHANGED
@@ -11,6 +11,7 @@
|
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
|
|
14 |
use Monolog\Formatter\FormatterInterface;
|
15 |
|
16 |
/**
|
@@ -30,7 +31,7 @@ use Monolog\Formatter\FormatterInterface;
|
|
30 |
*
|
31 |
* @author Alexey Karapetov <alexey@karapetov.com>
|
32 |
*/
|
33 |
-
class HandlerWrapper implements HandlerInterface
|
34 |
{
|
35 |
/**
|
36 |
* @var HandlerInterface
|
@@ -105,4 +106,11 @@ class HandlerWrapper implements HandlerInterface
|
|
105 |
{
|
106 |
return $this->handler->getFormatter();
|
107 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
}
|
11 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
+
use Monolog\ResettableInterface;
|
15 |
use Monolog\Formatter\FormatterInterface;
|
16 |
|
17 |
/**
|
31 |
*
|
32 |
* @author Alexey Karapetov <alexey@karapetov.com>
|
33 |
*/
|
34 |
+
class HandlerWrapper implements HandlerInterface, ResettableInterface
|
35 |
{
|
36 |
/**
|
37 |
* @var HandlerInterface
|
106 |
{
|
107 |
return $this->handler->getFormatter();
|
108 |
}
|
109 |
+
|
110 |
+
public function reset()
|
111 |
+
{
|
112 |
+
if ($this->handler instanceof ResettableInterface) {
|
113 |
+
return $this->handler->reset();
|
114 |
+
}
|
115 |
+
}
|
116 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/HipChatHandler.php
CHANGED
@@ -97,6 +97,8 @@ class HipChatHandler extends SocketHandler
|
|
97 |
*/
|
98 |
public function __construct($token, $room, $name = 'Monolog', $notify = false, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $format = 'text', $host = 'api.hipchat.com', $version = self::API_V1)
|
99 |
{
|
|
|
|
|
100 |
if ($version == self::API_V1 && !$this->validateStringLength($name, static::MAXIMUM_NAME_LENGTH)) {
|
101 |
throw new \InvalidArgumentException('The supplied name is too long. HipChat\'s v1 API supports names up to 15 UTF-8 characters.');
|
102 |
}
|
@@ -219,6 +221,21 @@ class HipChatHandler extends SocketHandler
|
|
219 |
protected function write(array $record)
|
220 |
{
|
221 |
parent::write($record);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
$this->closeSocket();
|
223 |
}
|
224 |
|
97 |
*/
|
98 |
public function __construct($token, $room, $name = 'Monolog', $notify = false, $level = Logger::CRITICAL, $bubble = true, $useSSL = true, $format = 'text', $host = 'api.hipchat.com', $version = self::API_V1)
|
99 |
{
|
100 |
+
@trigger_error('The Monolog\Handler\HipChatHandler class is deprecated. You should migrate to Slack and the SlackWebhookHandler / SlackbotHandler, see https://www.atlassian.com/partnerships/slack', E_USER_DEPRECATED);
|
101 |
+
|
102 |
if ($version == self::API_V1 && !$this->validateStringLength($name, static::MAXIMUM_NAME_LENGTH)) {
|
103 |
throw new \InvalidArgumentException('The supplied name is too long. HipChat\'s v1 API supports names up to 15 UTF-8 characters.');
|
104 |
}
|
221 |
protected function write(array $record)
|
222 |
{
|
223 |
parent::write($record);
|
224 |
+
$this->finalizeWrite();
|
225 |
+
}
|
226 |
+
|
227 |
+
/**
|
228 |
+
* Finalizes the request by reading some bytes and then closing the socket
|
229 |
+
*
|
230 |
+
* If we do not read some but close the socket too early, hipchat sometimes
|
231 |
+
* drops the request entirely.
|
232 |
+
*/
|
233 |
+
protected function finalizeWrite()
|
234 |
+
{
|
235 |
+
$res = $this->getResource();
|
236 |
+
if (is_resource($res)) {
|
237 |
+
@fread($res, 2048);
|
238 |
+
}
|
239 |
$this->closeSocket();
|
240 |
}
|
241 |
|
vendor/monolog/monolog/src/Monolog/Handler/IFTTTHandler.php
CHANGED
@@ -30,10 +30,10 @@ class IFTTTHandler extends AbstractProcessingHandler
|
|
30 |
private $secretKey;
|
31 |
|
32 |
/**
|
33 |
-
* @param string
|
34 |
-
* @param string
|
35 |
-
* @param int
|
36 |
-
* @param
|
37 |
*/
|
38 |
public function __construct($eventName, $secretKey, $level = Logger::ERROR, $bubble = true)
|
39 |
{
|
30 |
private $secretKey;
|
31 |
|
32 |
/**
|
33 |
+
* @param string $eventName The name of the IFTTT Maker event that should be triggered
|
34 |
+
* @param string $secretKey A valid IFTTT secret key
|
35 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
36 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
37 |
*/
|
38 |
public function __construct($eventName, $secretKey, $level = Logger::ERROR, $bubble = true)
|
39 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/InsightOpsHandler.php
ADDED
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Handler;
|
13 |
+
|
14 |
+
use Monolog\Logger;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Inspired on LogEntriesHandler.
|
18 |
+
*
|
19 |
+
* @author Robert Kaufmann III <rok3@rok3.me>
|
20 |
+
* @author Gabriel Machado <gabriel.ms1@hotmail.com>
|
21 |
+
*/
|
22 |
+
class InsightOpsHandler extends SocketHandler
|
23 |
+
{
|
24 |
+
/**
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
protected $logToken;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param string $token Log token supplied by InsightOps
|
31 |
+
* @param string $region Region where InsightOps account is hosted. Could be 'us' or 'eu'.
|
32 |
+
* @param bool $useSSL Whether or not SSL encryption should be used
|
33 |
+
* @param int $level The minimum logging level to trigger this handler
|
34 |
+
* @param bool $bubble Whether or not messages that are handled should bubble up the stack.
|
35 |
+
*
|
36 |
+
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
37 |
+
*/
|
38 |
+
public function __construct($token, $region = 'us', $useSSL = true, $level = Logger::DEBUG, $bubble = true)
|
39 |
+
{
|
40 |
+
if ($useSSL && !extension_loaded('openssl')) {
|
41 |
+
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for InsightOpsHandler');
|
42 |
+
}
|
43 |
+
|
44 |
+
$endpoint = $useSSL
|
45 |
+
? 'ssl://' . $region . '.data.logs.insight.rapid7.com:443'
|
46 |
+
: $region . '.data.logs.insight.rapid7.com:80';
|
47 |
+
|
48 |
+
parent::__construct($endpoint, $level, $bubble);
|
49 |
+
$this->logToken = $token;
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* {@inheritdoc}
|
54 |
+
*
|
55 |
+
* @param array $record
|
56 |
+
* @return string
|
57 |
+
*/
|
58 |
+
protected function generateDataStream($record)
|
59 |
+
{
|
60 |
+
return $this->logToken . ' ' . $record['formatted'];
|
61 |
+
}
|
62 |
+
}
|
vendor/monolog/monolog/src/Monolog/Handler/LogEntriesHandler.php
CHANGED
@@ -31,13 +31,13 @@ class LogEntriesHandler extends SocketHandler
|
|
31 |
*
|
32 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
33 |
*/
|
34 |
-
public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true)
|
35 |
{
|
36 |
if ($useSSL && !extension_loaded('openssl')) {
|
37 |
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler');
|
38 |
}
|
39 |
|
40 |
-
$endpoint = $useSSL ? 'ssl://
|
41 |
parent::__construct($endpoint, $level, $bubble);
|
42 |
$this->logToken = $token;
|
43 |
}
|
31 |
*
|
32 |
* @throws MissingExtensionException If SSL encryption is set to true and OpenSSL is missing
|
33 |
*/
|
34 |
+
public function __construct($token, $useSSL = true, $level = Logger::DEBUG, $bubble = true, $host = 'data.logentries.com')
|
35 |
{
|
36 |
if ($useSSL && !extension_loaded('openssl')) {
|
37 |
throw new MissingExtensionException('The OpenSSL PHP plugin is required to use SSL encrypted connection for LogEntriesHandler');
|
38 |
}
|
39 |
|
40 |
+
$endpoint = $useSSL ? 'ssl://' . $host . ':443' : $host . ':80';
|
41 |
parent::__construct($endpoint, $level, $bubble);
|
42 |
$this->logToken = $token;
|
43 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/MandrillHandler.php
CHANGED
@@ -27,7 +27,7 @@ class MandrillHandler extends MailHandler
|
|
27 |
* @param string $apiKey A valid Mandrill API key
|
28 |
* @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
|
29 |
* @param int $level The minimum logging level at which this handler will be triggered
|
30 |
-
* @param
|
31 |
*/
|
32 |
public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true)
|
33 |
{
|
27 |
* @param string $apiKey A valid Mandrill API key
|
28 |
* @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
|
29 |
* @param int $level The minimum logging level at which this handler will be triggered
|
30 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
31 |
*/
|
32 |
public function __construct($apiKey, $message, $level = Logger::ERROR, $bubble = true)
|
33 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/NewRelicHandler.php
CHANGED
@@ -18,6 +18,8 @@ use Monolog\Formatter\NormalizerFormatter;
|
|
18 |
* Class to record a log on a NewRelic application.
|
19 |
* Enabling New Relic High Security mode may prevent capture of useful information.
|
20 |
*
|
|
|
|
|
21 |
* @see https://docs.newrelic.com/docs/agents/php-agent
|
22 |
* @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security
|
23 |
*/
|
@@ -84,7 +86,7 @@ class NewRelicHandler extends AbstractProcessingHandler
|
|
84 |
unset($record['formatted']['context']['transaction_name']);
|
85 |
}
|
86 |
|
87 |
-
if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) {
|
88 |
newrelic_notice_error($record['message'], $record['context']['exception']);
|
89 |
unset($record['formatted']['context']['exception']);
|
90 |
} else {
|
18 |
* Class to record a log on a NewRelic application.
|
19 |
* Enabling New Relic High Security mode may prevent capture of useful information.
|
20 |
*
|
21 |
+
* This handler requires a NormalizerFormatter to function and expects an array in $record['formatted']
|
22 |
+
*
|
23 |
* @see https://docs.newrelic.com/docs/agents/php-agent
|
24 |
* @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security
|
25 |
*/
|
86 |
unset($record['formatted']['context']['transaction_name']);
|
87 |
}
|
88 |
|
89 |
+
if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) {
|
90 |
newrelic_notice_error($record['message'], $record['context']['exception']);
|
91 |
unset($record['formatted']['context']['exception']);
|
92 |
} else {
|
vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerInterface.php
ADDED
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php declare(strict_types=1);
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Handler;
|
13 |
+
|
14 |
+
use Monolog\Processor\ProcessorInterface;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Interface to describe loggers that have processors
|
18 |
+
*
|
19 |
+
* This interface is present in monolog 1.x to ease forward compatibility.
|
20 |
+
*
|
21 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
+
*/
|
23 |
+
interface ProcessableHandlerInterface
|
24 |
+
{
|
25 |
+
/**
|
26 |
+
* Adds a processor in the stack.
|
27 |
+
*
|
28 |
+
* @param ProcessorInterface|callable $callback
|
29 |
+
* @return HandlerInterface self
|
30 |
+
*/
|
31 |
+
public function pushProcessor($callback): HandlerInterface;
|
32 |
+
|
33 |
+
/**
|
34 |
+
* Removes the processor on top of the stack and returns it.
|
35 |
+
*
|
36 |
+
* @throws \LogicException In case the processor stack is empty
|
37 |
+
* @return callable
|
38 |
+
*/
|
39 |
+
public function popProcessor(): callable;
|
40 |
+
}
|
vendor/monolog/monolog/src/Monolog/Handler/ProcessableHandlerTrait.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php declare(strict_types=1);
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Handler;
|
13 |
+
|
14 |
+
use Monolog\ResettableInterface;
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Helper trait for implementing ProcessableInterface
|
18 |
+
*
|
19 |
+
* This trait is present in monolog 1.x to ease forward compatibility.
|
20 |
+
*
|
21 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
+
*/
|
23 |
+
trait ProcessableHandlerTrait
|
24 |
+
{
|
25 |
+
/**
|
26 |
+
* @var callable[]
|
27 |
+
*/
|
28 |
+
protected $processors = [];
|
29 |
+
|
30 |
+
/**
|
31 |
+
* {@inheritdoc}
|
32 |
+
* @suppress PhanTypeMismatchReturn
|
33 |
+
*/
|
34 |
+
public function pushProcessor($callback): HandlerInterface
|
35 |
+
{
|
36 |
+
array_unshift($this->processors, $callback);
|
37 |
+
|
38 |
+
return $this;
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* {@inheritdoc}
|
43 |
+
*/
|
44 |
+
public function popProcessor(): callable
|
45 |
+
{
|
46 |
+
if (!$this->processors) {
|
47 |
+
throw new \LogicException('You tried to pop from an empty processor stack.');
|
48 |
+
}
|
49 |
+
|
50 |
+
return array_shift($this->processors);
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Processes a record.
|
55 |
+
*/
|
56 |
+
protected function processRecord(array $record): array
|
57 |
+
{
|
58 |
+
foreach ($this->processors as $processor) {
|
59 |
+
$record = $processor($record);
|
60 |
+
}
|
61 |
+
|
62 |
+
return $record;
|
63 |
+
}
|
64 |
+
|
65 |
+
protected function resetProcessors(): void
|
66 |
+
{
|
67 |
+
foreach ($this->processors as $processor) {
|
68 |
+
if ($processor instanceof ResettableInterface) {
|
69 |
+
$processor->reset();
|
70 |
+
}
|
71 |
+
}
|
72 |
+
}
|
73 |
+
}
|
vendor/monolog/monolog/src/Monolog/Handler/PsrHandler.php
CHANGED
@@ -31,7 +31,7 @@ class PsrHandler extends AbstractHandler
|
|
31 |
/**
|
32 |
* @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
|
33 |
* @param int $level The minimum logging level at which this handler will be triggered
|
34 |
-
* @param
|
35 |
*/
|
36 |
public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true)
|
37 |
{
|
31 |
/**
|
32 |
* @param LoggerInterface $logger The underlying PSR-3 compliant logger to which messages will be proxied
|
33 |
* @param int $level The minimum logging level at which this handler will be triggered
|
34 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
35 |
*/
|
36 |
public function __construct(LoggerInterface $logger, $level = Logger::DEBUG, $bubble = true)
|
37 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/PushoverHandler.php
CHANGED
@@ -69,8 +69,8 @@ class PushoverHandler extends SocketHandler
|
|
69 |
* @param string|array $users Pushover user id or array of ids the message will be sent to
|
70 |
* @param string $title Title sent to the Pushover API
|
71 |
* @param int $level The minimum logging level at which this handler will be triggered
|
72 |
-
* @param
|
73 |
-
* @param
|
74 |
* the pushover.net app owner. OpenSSL is required for this option.
|
75 |
* @param int $highPriorityLevel The minimum logging level at which this handler will start
|
76 |
* sending "high priority" requests to the Pushover API
|
@@ -180,6 +180,6 @@ class PushoverHandler extends SocketHandler
|
|
180 |
*/
|
181 |
public function useFormattedMessage($value)
|
182 |
{
|
183 |
-
$this->useFormattedMessage = (
|
184 |
}
|
185 |
}
|
69 |
* @param string|array $users Pushover user id or array of ids the message will be sent to
|
70 |
* @param string $title Title sent to the Pushover API
|
71 |
* @param int $level The minimum logging level at which this handler will be triggered
|
72 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
73 |
+
* @param bool $useSSL Whether to connect via SSL. Required when pushing messages to users that are not
|
74 |
* the pushover.net app owner. OpenSSL is required for this option.
|
75 |
* @param int $highPriorityLevel The minimum logging level at which this handler will start
|
76 |
* sending "high priority" requests to the Pushover API
|
180 |
*/
|
181 |
public function useFormattedMessage($value)
|
182 |
{
|
183 |
+
$this->useFormattedMessage = (bool) $value;
|
184 |
}
|
185 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/RavenHandler.php
CHANGED
@@ -18,7 +18,7 @@ use Raven_Client;
|
|
18 |
|
19 |
/**
|
20 |
* Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server
|
21 |
-
* using
|
22 |
*
|
23 |
* @author Marc Abramowitz <marc@marc-abramowitz.com>
|
24 |
*/
|
@@ -27,7 +27,7 @@ class RavenHandler extends AbstractProcessingHandler
|
|
27 |
/**
|
28 |
* Translates Monolog log levels to Raven log levels.
|
29 |
*/
|
30 |
-
|
31 |
Logger::DEBUG => Raven_Client::DEBUG,
|
32 |
Logger::INFO => Raven_Client::INFO,
|
33 |
Logger::NOTICE => Raven_Client::INFO,
|
@@ -42,7 +42,7 @@ class RavenHandler extends AbstractProcessingHandler
|
|
42 |
* @var string should represent the current version of the calling
|
43 |
* software. Can be any string (git commit, version number)
|
44 |
*/
|
45 |
-
|
46 |
|
47 |
/**
|
48 |
* @var Raven_Client the client object that sends the message to the server
|
@@ -57,10 +57,12 @@ class RavenHandler extends AbstractProcessingHandler
|
|
57 |
/**
|
58 |
* @param Raven_Client $ravenClient
|
59 |
* @param int $level The minimum logging level at which this handler will be triggered
|
60 |
-
* @param
|
61 |
*/
|
62 |
public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true)
|
63 |
{
|
|
|
|
|
64 |
parent::__construct($level, $bubble);
|
65 |
|
66 |
$this->ravenClient = $ravenClient;
|
@@ -180,7 +182,7 @@ class RavenHandler extends AbstractProcessingHandler
|
|
180 |
}
|
181 |
|
182 |
if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) {
|
183 |
-
$options['
|
184 |
$this->ravenClient->captureException($record['context']['exception'], $options);
|
185 |
} else {
|
186 |
$this->ravenClient->captureMessage($record['formatted'], array(), $options);
|
@@ -216,7 +218,7 @@ class RavenHandler extends AbstractProcessingHandler
|
|
216 |
*/
|
217 |
protected function getExtraParameters()
|
218 |
{
|
219 |
-
return array('checksum', 'release', 'event_id');
|
220 |
}
|
221 |
|
222 |
/**
|
18 |
|
19 |
/**
|
20 |
* Handler to send messages to a Sentry (https://github.com/getsentry/sentry) server
|
21 |
+
* using sentry-php (https://github.com/getsentry/sentry-php)
|
22 |
*
|
23 |
* @author Marc Abramowitz <marc@marc-abramowitz.com>
|
24 |
*/
|
27 |
/**
|
28 |
* Translates Monolog log levels to Raven log levels.
|
29 |
*/
|
30 |
+
protected $logLevels = array(
|
31 |
Logger::DEBUG => Raven_Client::DEBUG,
|
32 |
Logger::INFO => Raven_Client::INFO,
|
33 |
Logger::NOTICE => Raven_Client::INFO,
|
42 |
* @var string should represent the current version of the calling
|
43 |
* software. Can be any string (git commit, version number)
|
44 |
*/
|
45 |
+
protected $release;
|
46 |
|
47 |
/**
|
48 |
* @var Raven_Client the client object that sends the message to the server
|
57 |
/**
|
58 |
* @param Raven_Client $ravenClient
|
59 |
* @param int $level The minimum logging level at which this handler will be triggered
|
60 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
61 |
*/
|
62 |
public function __construct(Raven_Client $ravenClient, $level = Logger::DEBUG, $bubble = true)
|
63 |
{
|
64 |
+
@trigger_error('The Monolog\Handler\RavenHandler class is deprecated. You should rather upgrade to the sentry/sentry 2.x and use Sentry\Monolog\Handler, see https://github.com/getsentry/sentry-php/blob/master/src/Monolog/Handler.php', E_USER_DEPRECATED);
|
65 |
+
|
66 |
parent::__construct($level, $bubble);
|
67 |
|
68 |
$this->ravenClient = $ravenClient;
|
182 |
}
|
183 |
|
184 |
if (isset($record['context']['exception']) && ($record['context']['exception'] instanceof \Exception || (PHP_VERSION_ID >= 70000 && $record['context']['exception'] instanceof \Throwable))) {
|
185 |
+
$options['message'] = $record['formatted'];
|
186 |
$this->ravenClient->captureException($record['context']['exception'], $options);
|
187 |
} else {
|
188 |
$this->ravenClient->captureMessage($record['formatted'], array(), $options);
|
218 |
*/
|
219 |
protected function getExtraParameters()
|
220 |
{
|
221 |
+
return array('contexts', 'checksum', 'release', 'event_id');
|
222 |
}
|
223 |
|
224 |
/**
|
vendor/monolog/monolog/src/Monolog/Handler/RollbarHandler.php
CHANGED
@@ -129,4 +129,16 @@ class RollbarHandler extends AbstractProcessingHandler
|
|
129 |
{
|
130 |
$this->flush();
|
131 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
}
|
129 |
{
|
130 |
$this->flush();
|
131 |
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* {@inheritdoc}
|
135 |
+
*/
|
136 |
+
public function reset()
|
137 |
+
{
|
138 |
+
$this->flush();
|
139 |
+
|
140 |
+
parent::reset();
|
141 |
+
}
|
142 |
+
|
143 |
+
|
144 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php
CHANGED
@@ -39,9 +39,9 @@ class RotatingFileHandler extends StreamHandler
|
|
39 |
* @param string $filename
|
40 |
* @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
|
41 |
* @param int $level The minimum logging level at which this handler will be triggered
|
42 |
-
* @param
|
43 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
44 |
-
* @param
|
45 |
*/
|
46 |
public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false)
|
47 |
{
|
@@ -66,6 +66,18 @@ class RotatingFileHandler extends StreamHandler
|
|
66 |
}
|
67 |
}
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
public function setFilenameFormat($filenameFormat, $dateFormat)
|
70 |
{
|
71 |
if (!preg_match('{^Y(([/_.-]?m)([/_.-]?d)?)?$}', $dateFormat)) {
|
@@ -166,7 +178,7 @@ class RotatingFileHandler extends StreamHandler
|
|
166 |
$fileInfo = pathinfo($this->filename);
|
167 |
$glob = str_replace(
|
168 |
array('{filename}', '{date}'),
|
169 |
-
array($fileInfo['filename'], '*'),
|
170 |
$fileInfo['dirname'] . '/' . $this->filenameFormat
|
171 |
);
|
172 |
if (!empty($fileInfo['extension'])) {
|
39 |
* @param string $filename
|
40 |
* @param int $maxFiles The maximal amount of files to keep (0 means unlimited)
|
41 |
* @param int $level The minimum logging level at which this handler will be triggered
|
42 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
43 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
44 |
+
* @param bool $useLocking Try to lock log file before doing any writes
|
45 |
*/
|
46 |
public function __construct($filename, $maxFiles = 0, $level = Logger::DEBUG, $bubble = true, $filePermission = null, $useLocking = false)
|
47 |
{
|
66 |
}
|
67 |
}
|
68 |
|
69 |
+
/**
|
70 |
+
* {@inheritdoc}
|
71 |
+
*/
|
72 |
+
public function reset()
|
73 |
+
{
|
74 |
+
parent::reset();
|
75 |
+
|
76 |
+
if (true === $this->mustRotate) {
|
77 |
+
$this->rotate();
|
78 |
+
}
|
79 |
+
}
|
80 |
+
|
81 |
public function setFilenameFormat($filenameFormat, $dateFormat)
|
82 |
{
|
83 |
if (!preg_match('{^Y(([/_.-]?m)([/_.-]?d)?)?$}', $dateFormat)) {
|
178 |
$fileInfo = pathinfo($this->filename);
|
179 |
$glob = str_replace(
|
180 |
array('{filename}', '{date}'),
|
181 |
+
array($fileInfo['filename'], '[0-9][0-9][0-9][0-9]*'),
|
182 |
$fileInfo['dirname'] . '/' . $this->filenameFormat
|
183 |
);
|
184 |
if (!empty($fileInfo['extension'])) {
|
vendor/monolog/monolog/src/Monolog/Handler/Slack/SlackRecord.php
CHANGED
@@ -146,7 +146,7 @@ class SlackRecord
|
|
146 |
|
147 |
if ($this->useShortAttachment) {
|
148 |
$attachment['fields'][] = $this->generateAttachmentField(
|
149 |
-
|
150 |
$record[$key]
|
151 |
);
|
152 |
} else {
|
@@ -229,8 +229,8 @@ class SlackRecord
|
|
229 |
/**
|
230 |
* Generates attachment field
|
231 |
*
|
232 |
-
* @param string
|
233 |
-
* @param string|array $value
|
234 |
*
|
235 |
* @return array
|
236 |
*/
|
@@ -241,7 +241,7 @@ class SlackRecord
|
|
241 |
: $value;
|
242 |
|
243 |
return array(
|
244 |
-
'title' => $title,
|
245 |
'value' => $value,
|
246 |
'short' => false
|
247 |
);
|
@@ -257,7 +257,7 @@ class SlackRecord
|
|
257 |
private function generateAttachmentFields(array $data)
|
258 |
{
|
259 |
$fields = array();
|
260 |
-
foreach ($data as $key => $value) {
|
261 |
$fields[] = $this->generateAttachmentField($key, $value);
|
262 |
}
|
263 |
|
146 |
|
147 |
if ($this->useShortAttachment) {
|
148 |
$attachment['fields'][] = $this->generateAttachmentField(
|
149 |
+
$key,
|
150 |
$record[$key]
|
151 |
);
|
152 |
} else {
|
229 |
/**
|
230 |
* Generates attachment field
|
231 |
*
|
232 |
+
* @param string $title
|
233 |
+
* @param string|array $value
|
234 |
*
|
235 |
* @return array
|
236 |
*/
|
241 |
: $value;
|
242 |
|
243 |
return array(
|
244 |
+
'title' => ucfirst($title),
|
245 |
'value' => $value,
|
246 |
'short' => false
|
247 |
);
|
257 |
private function generateAttachmentFields(array $data)
|
258 |
{
|
259 |
$fields = array();
|
260 |
+
foreach ($this->normalizerFormatter->format($data) as $key => $value) {
|
261 |
$fields[] = $this->generateAttachmentField($key, $value);
|
262 |
}
|
263 |
|
vendor/monolog/monolog/src/Monolog/Handler/SlackHandler.php
CHANGED
@@ -75,6 +75,11 @@ class SlackHandler extends SocketHandler
|
|
75 |
return $this->slackRecord;
|
76 |
}
|
77 |
|
|
|
|
|
|
|
|
|
|
|
78 |
/**
|
79 |
* {@inheritdoc}
|
80 |
*
|
75 |
return $this->slackRecord;
|
76 |
}
|
77 |
|
78 |
+
public function getToken()
|
79 |
+
{
|
80 |
+
return $this->token;
|
81 |
+
}
|
82 |
+
|
83 |
/**
|
84 |
* {@inheritdoc}
|
85 |
*
|
vendor/monolog/monolog/src/Monolog/Handler/SlackWebhookHandler.php
CHANGED
@@ -70,6 +70,11 @@ class SlackWebhookHandler extends AbstractProcessingHandler
|
|
70 |
return $this->slackRecord;
|
71 |
}
|
72 |
|
|
|
|
|
|
|
|
|
|
|
73 |
/**
|
74 |
* {@inheritdoc}
|
75 |
*
|
70 |
return $this->slackRecord;
|
71 |
}
|
72 |
|
73 |
+
public function getWebhookUrl()
|
74 |
+
{
|
75 |
+
return $this->webhookUrl;
|
76 |
+
}
|
77 |
+
|
78 |
/**
|
79 |
* {@inheritdoc}
|
80 |
*
|
vendor/monolog/monolog/src/Monolog/Handler/SlackbotHandler.php
CHANGED
@@ -16,8 +16,11 @@ use Monolog\Logger;
|
|
16 |
/**
|
17 |
* Sends notifications through Slack's Slackbot
|
18 |
*
|
19 |
-
* @author
|
20 |
-
* @see
|
|
|
|
|
|
|
21 |
*/
|
22 |
class SlackbotHandler extends AbstractProcessingHandler
|
23 |
{
|
@@ -48,6 +51,7 @@ class SlackbotHandler extends AbstractProcessingHandler
|
|
48 |
*/
|
49 |
public function __construct($slackTeam, $token, $channel, $level = Logger::CRITICAL, $bubble = true)
|
50 |
{
|
|
|
51 |
parent::__construct($level, $bubble);
|
52 |
|
53 |
$this->slackTeam = $slackTeam;
|
16 |
/**
|
17 |
* Sends notifications through Slack's Slackbot
|
18 |
*
|
19 |
+
* @author Haralan Dobrev <hkdobrev@gmail.com>
|
20 |
+
* @see https://slack.com/apps/A0F81R8ET-slackbot
|
21 |
+
* @deprecated According to Slack the API used on this handler it is deprecated.
|
22 |
+
* Therefore this handler will be removed on 2.x
|
23 |
+
* Slack suggests to use webhooks instead. Please contact slack for more information.
|
24 |
*/
|
25 |
class SlackbotHandler extends AbstractProcessingHandler
|
26 |
{
|
51 |
*/
|
52 |
public function __construct($slackTeam, $token, $channel, $level = Logger::CRITICAL, $bubble = true)
|
53 |
{
|
54 |
+
@trigger_error('SlackbotHandler is deprecated and will be removed on 2.x', E_USER_DEPRECATED);
|
55 |
parent::__construct($level, $bubble);
|
56 |
|
57 |
$this->slackTeam = $slackTeam;
|
vendor/monolog/monolog/src/Monolog/Handler/SocketHandler.php
CHANGED
@@ -27,15 +27,16 @@ class SocketHandler extends AbstractProcessingHandler
|
|
27 |
private $timeout = 0;
|
28 |
private $writingTimeout = 10;
|
29 |
private $lastSentBytes = null;
|
|
|
30 |
private $persistent = false;
|
31 |
private $errno;
|
32 |
private $errstr;
|
33 |
private $lastWritingAt;
|
34 |
|
35 |
/**
|
36 |
-
* @param string
|
37 |
-
* @param int
|
38 |
-
* @param
|
39 |
*/
|
40 |
public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true)
|
41 |
{
|
@@ -87,7 +88,7 @@ class SocketHandler extends AbstractProcessingHandler
|
|
87 |
*/
|
88 |
public function setPersistent($persistent)
|
89 |
{
|
90 |
-
$this->persistent = (
|
91 |
}
|
92 |
|
93 |
/**
|
@@ -127,6 +128,16 @@ class SocketHandler extends AbstractProcessingHandler
|
|
127 |
$this->writingTimeout = (float) $seconds;
|
128 |
}
|
129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
/**
|
131 |
* Get current connection string
|
132 |
*
|
@@ -177,6 +188,16 @@ class SocketHandler extends AbstractProcessingHandler
|
|
177 |
return $this->writingTimeout;
|
178 |
}
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
/**
|
181 |
* Check to see if the socket is currently available.
|
182 |
*
|
@@ -219,6 +240,16 @@ class SocketHandler extends AbstractProcessingHandler
|
|
219 |
return stream_set_timeout($this->resource, $seconds, $microseconds);
|
220 |
}
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
/**
|
223 |
* Wrapper to allow mocking
|
224 |
*/
|
@@ -268,6 +299,7 @@ class SocketHandler extends AbstractProcessingHandler
|
|
268 |
{
|
269 |
$this->createSocketResource();
|
270 |
$this->setSocketTimeout();
|
|
|
271 |
}
|
272 |
|
273 |
private function createSocketResource()
|
@@ -290,6 +322,13 @@ class SocketHandler extends AbstractProcessingHandler
|
|
290 |
}
|
291 |
}
|
292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
private function writeToSocket($data)
|
294 |
{
|
295 |
$length = strlen($data);
|
27 |
private $timeout = 0;
|
28 |
private $writingTimeout = 10;
|
29 |
private $lastSentBytes = null;
|
30 |
+
private $chunkSize = null;
|
31 |
private $persistent = false;
|
32 |
private $errno;
|
33 |
private $errstr;
|
34 |
private $lastWritingAt;
|
35 |
|
36 |
/**
|
37 |
+
* @param string $connectionString Socket connection string
|
38 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
39 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
40 |
*/
|
41 |
public function __construct($connectionString, $level = Logger::DEBUG, $bubble = true)
|
42 |
{
|
88 |
*/
|
89 |
public function setPersistent($persistent)
|
90 |
{
|
91 |
+
$this->persistent = (bool) $persistent;
|
92 |
}
|
93 |
|
94 |
/**
|
128 |
$this->writingTimeout = (float) $seconds;
|
129 |
}
|
130 |
|
131 |
+
/**
|
132 |
+
* Set chunk size. Only has effect during connection in the writing cycle.
|
133 |
+
*
|
134 |
+
* @param float $bytes
|
135 |
+
*/
|
136 |
+
public function setChunkSize($bytes)
|
137 |
+
{
|
138 |
+
$this->chunkSize = $bytes;
|
139 |
+
}
|
140 |
+
|
141 |
/**
|
142 |
* Get current connection string
|
143 |
*
|
188 |
return $this->writingTimeout;
|
189 |
}
|
190 |
|
191 |
+
/**
|
192 |
+
* Get current chunk size
|
193 |
+
*
|
194 |
+
* @return float
|
195 |
+
*/
|
196 |
+
public function getChunkSize()
|
197 |
+
{
|
198 |
+
return $this->chunkSize;
|
199 |
+
}
|
200 |
+
|
201 |
/**
|
202 |
* Check to see if the socket is currently available.
|
203 |
*
|
240 |
return stream_set_timeout($this->resource, $seconds, $microseconds);
|
241 |
}
|
242 |
|
243 |
+
/**
|
244 |
+
* Wrapper to allow mocking
|
245 |
+
*
|
246 |
+
* @see http://php.net/manual/en/function.stream-set-chunk-size.php
|
247 |
+
*/
|
248 |
+
protected function streamSetChunkSize()
|
249 |
+
{
|
250 |
+
return stream_set_chunk_size($this->resource, $this->chunkSize);
|
251 |
+
}
|
252 |
+
|
253 |
/**
|
254 |
* Wrapper to allow mocking
|
255 |
*/
|
299 |
{
|
300 |
$this->createSocketResource();
|
301 |
$this->setSocketTimeout();
|
302 |
+
$this->setStreamChunkSize();
|
303 |
}
|
304 |
|
305 |
private function createSocketResource()
|
322 |
}
|
323 |
}
|
324 |
|
325 |
+
private function setStreamChunkSize()
|
326 |
+
{
|
327 |
+
if ($this->chunkSize && !$this->streamSetChunkSize()) {
|
328 |
+
throw new \UnexpectedValueException("Failed setting chunk size with stream_set_chunk_size()");
|
329 |
+
}
|
330 |
+
}
|
331 |
+
|
332 |
private function writeToSocket($data)
|
333 |
{
|
334 |
$length = strlen($data);
|
vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
CHANGED
@@ -32,9 +32,9 @@ class StreamHandler extends AbstractProcessingHandler
|
|
32 |
/**
|
33 |
* @param resource|string $stream
|
34 |
* @param int $level The minimum logging level at which this handler will be triggered
|
35 |
-
* @param
|
36 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
37 |
-
* @param
|
38 |
*
|
39 |
* @throws \Exception If a missing directory is not buildable
|
40 |
* @throws \InvalidArgumentException If stream is not a resource or string
|
@@ -63,6 +63,7 @@ class StreamHandler extends AbstractProcessingHandler
|
|
63 |
fclose($this->stream);
|
64 |
}
|
65 |
$this->stream = null;
|
|
|
66 |
}
|
67 |
|
68 |
/**
|
@@ -167,7 +168,7 @@ class StreamHandler extends AbstractProcessingHandler
|
|
167 |
set_error_handler(array($this, 'customErrorHandler'));
|
168 |
$status = mkdir($dir, 0777, true);
|
169 |
restore_error_handler();
|
170 |
-
if (false === $status) {
|
171 |
throw new \UnexpectedValueException(sprintf('There is no existing directory at "%s" and its not buildable: '.$this->errorMessage, $dir));
|
172 |
}
|
173 |
}
|
32 |
/**
|
33 |
* @param resource|string $stream
|
34 |
* @param int $level The minimum logging level at which this handler will be triggered
|
35 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
36 |
* @param int|null $filePermission Optional file permissions (default (0644) are only for owner read/write)
|
37 |
+
* @param bool $useLocking Try to lock log file before doing any writes
|
38 |
*
|
39 |
* @throws \Exception If a missing directory is not buildable
|
40 |
* @throws \InvalidArgumentException If stream is not a resource or string
|
63 |
fclose($this->stream);
|
64 |
}
|
65 |
$this->stream = null;
|
66 |
+
$this->dirCreated = null;
|
67 |
}
|
68 |
|
69 |
/**
|
168 |
set_error_handler(array($this, 'customErrorHandler'));
|
169 |
$status = mkdir($dir, 0777, true);
|
170 |
restore_error_handler();
|
171 |
+
if (false === $status && !is_dir($dir)) {
|
172 |
throw new \UnexpectedValueException(sprintf('There is no existing directory at "%s" and its not buildable: '.$this->errorMessage, $dir));
|
173 |
}
|
174 |
}
|
vendor/monolog/monolog/src/Monolog/Handler/SwiftMailerHandler.php
CHANGED
@@ -12,6 +12,7 @@
|
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Logger;
|
|
|
15 |
use Monolog\Formatter\LineFormatter;
|
16 |
use Swift;
|
17 |
|
@@ -29,7 +30,7 @@ class SwiftMailerHandler extends MailHandler
|
|
29 |
* @param \Swift_Mailer $mailer The mailer to use
|
30 |
* @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
|
31 |
* @param int $level The minimum logging level at which this handler will be triggered
|
32 |
-
* @param
|
33 |
*/
|
34 |
public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true)
|
35 |
{
|
@@ -47,6 +48,17 @@ class SwiftMailerHandler extends MailHandler
|
|
47 |
$this->mailer->send($this->buildMessage($content, $records));
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* Creates instance of Swift_Message to be sent
|
52 |
*
|
@@ -69,7 +81,7 @@ class SwiftMailerHandler extends MailHandler
|
|
69 |
}
|
70 |
|
71 |
if ($records) {
|
72 |
-
$subjectFormatter =
|
73 |
$message->setSubject($subjectFormatter->format($this->getHighestRecord($records)));
|
74 |
}
|
75 |
|
12 |
namespace Monolog\Handler;
|
13 |
|
14 |
use Monolog\Logger;
|
15 |
+
use Monolog\Formatter\FormatterInterface;
|
16 |
use Monolog\Formatter\LineFormatter;
|
17 |
use Swift;
|
18 |
|
30 |
* @param \Swift_Mailer $mailer The mailer to use
|
31 |
* @param callable|\Swift_Message $message An example message for real messages, only the body will be replaced
|
32 |
* @param int $level The minimum logging level at which this handler will be triggered
|
33 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
34 |
*/
|
35 |
public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true)
|
36 |
{
|
48 |
$this->mailer->send($this->buildMessage($content, $records));
|
49 |
}
|
50 |
|
51 |
+
/**
|
52 |
+
* Gets the formatter for the Swift_Message subject.
|
53 |
+
*
|
54 |
+
* @param string $format The format of the subject
|
55 |
+
* @return FormatterInterface
|
56 |
+
*/
|
57 |
+
protected function getSubjectFormatter($format)
|
58 |
+
{
|
59 |
+
return new LineFormatter($format);
|
60 |
+
}
|
61 |
+
|
62 |
/**
|
63 |
* Creates instance of Swift_Message to be sent
|
64 |
*
|
81 |
}
|
82 |
|
83 |
if ($records) {
|
84 |
+
$subjectFormatter = $this->getSubjectFormatter($message->getSubject());
|
85 |
$message->setSubject($subjectFormatter->format($this->getHighestRecord($records)));
|
86 |
}
|
87 |
|
vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php
CHANGED
@@ -32,11 +32,11 @@ class SyslogHandler extends AbstractSyslogHandler
|
|
32 |
protected $logopts;
|
33 |
|
34 |
/**
|
35 |
-
* @param string
|
36 |
-
* @param mixed
|
37 |
-
* @param int
|
38 |
-
* @param
|
39 |
-
* @param int
|
40 |
*/
|
41 |
public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID)
|
42 |
{
|
32 |
protected $logopts;
|
33 |
|
34 |
/**
|
35 |
+
* @param string $ident
|
36 |
+
* @param mixed $facility
|
37 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
38 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
39 |
+
* @param int $logopts Option flags for the openlog() call, defaults to LOG_PID
|
40 |
*/
|
41 |
public function __construct($ident, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $logopts = LOG_PID)
|
42 |
{
|
vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php
CHANGED
@@ -18,25 +18,37 @@ use Monolog\Handler\SyslogUdp\UdpSocket;
|
|
18 |
* A Handler for logging to a remote syslogd server.
|
19 |
*
|
20 |
* @author Jesper Skovgaard Nielsen <nulpunkt@gmail.com>
|
|
|
21 |
*/
|
22 |
class SyslogUdpHandler extends AbstractSyslogHandler
|
23 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
protected $socket;
|
25 |
protected $ident;
|
|
|
26 |
|
27 |
/**
|
28 |
-
* @param string
|
29 |
-
* @param int
|
30 |
-
* @param mixed
|
31 |
-
* @param int
|
32 |
-
* @param
|
33 |
-
* @param string
|
|
|
34 |
*/
|
35 |
-
public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $ident = 'php')
|
36 |
{
|
37 |
parent::__construct($facility, $level, $bubble);
|
38 |
|
39 |
$this->ident = $ident;
|
|
|
40 |
|
41 |
$this->socket = new UdpSocket($host, $port ?: 514);
|
42 |
}
|
@@ -67,7 +79,7 @@ class SyslogUdpHandler extends AbstractSyslogHandler
|
|
67 |
}
|
68 |
|
69 |
/**
|
70 |
-
* Make common syslog header (see rfc5424)
|
71 |
*/
|
72 |
protected function makeCommonSyslogHeader($severity)
|
73 |
{
|
@@ -81,16 +93,25 @@ class SyslogUdpHandler extends AbstractSyslogHandler
|
|
81 |
$hostname = '-';
|
82 |
}
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
}
|
90 |
|
91 |
protected function getDateTime()
|
92 |
{
|
93 |
-
return date(
|
94 |
}
|
95 |
|
96 |
/**
|
18 |
* A Handler for logging to a remote syslogd server.
|
19 |
*
|
20 |
* @author Jesper Skovgaard Nielsen <nulpunkt@gmail.com>
|
21 |
+
* @author Dominik Kukacka <dominik.kukacka@gmail.com>
|
22 |
*/
|
23 |
class SyslogUdpHandler extends AbstractSyslogHandler
|
24 |
{
|
25 |
+
const RFC3164 = 0;
|
26 |
+
const RFC5424 = 1;
|
27 |
+
|
28 |
+
private $dateFormats = array(
|
29 |
+
self::RFC3164 => 'M d H:i:s',
|
30 |
+
self::RFC5424 => \DateTime::RFC3339,
|
31 |
+
);
|
32 |
+
|
33 |
protected $socket;
|
34 |
protected $ident;
|
35 |
+
protected $rfc;
|
36 |
|
37 |
/**
|
38 |
+
* @param string $host
|
39 |
+
* @param int $port
|
40 |
+
* @param mixed $facility
|
41 |
+
* @param int $level The minimum logging level at which this handler will be triggered
|
42 |
+
* @param bool $bubble Whether the messages that are handled can bubble up the stack or not
|
43 |
+
* @param string $ident Program name or tag for each log message.
|
44 |
+
* @param int $rfc RFC to format the message for.
|
45 |
*/
|
46 |
+
public function __construct($host, $port = 514, $facility = LOG_USER, $level = Logger::DEBUG, $bubble = true, $ident = 'php', $rfc = self::RFC5424)
|
47 |
{
|
48 |
parent::__construct($facility, $level, $bubble);
|
49 |
|
50 |
$this->ident = $ident;
|
51 |
+
$this->rfc = $rfc;
|
52 |
|
53 |
$this->socket = new UdpSocket($host, $port ?: 514);
|
54 |
}
|
79 |
}
|
80 |
|
81 |
/**
|
82 |
+
* Make common syslog header (see rfc5424 or rfc3164)
|
83 |
*/
|
84 |
protected function makeCommonSyslogHeader($severity)
|
85 |
{
|
93 |
$hostname = '-';
|
94 |
}
|
95 |
|
96 |
+
$date = $this->getDateTime();
|
97 |
+
|
98 |
+
if ($this->rfc === self::RFC3164) {
|
99 |
+
return "<$priority>" .
|
100 |
+
$date . " " .
|
101 |
+
$hostname . " " .
|
102 |
+
$this->ident . "[" . $pid . "]: ";
|
103 |
+
} else {
|
104 |
+
return "<$priority>1 " .
|
105 |
+
$date . " " .
|
106 |
+
$hostname . " " .
|
107 |
+
$this->ident . " " .
|
108 |
+
$pid . " - - ";
|
109 |
+
}
|
110 |
}
|
111 |
|
112 |
protected function getDateTime()
|
113 |
{
|
114 |
+
return date($this->dateFormats[$this->rfc]);
|
115 |
}
|
116 |
|
117 |
/**
|
vendor/monolog/monolog/src/Monolog/Handler/TestHandler.php
CHANGED
@@ -67,6 +67,7 @@ class TestHandler extends AbstractProcessingHandler
|
|
67 |
{
|
68 |
protected $records = array();
|
69 |
protected $recordsByLevel = array();
|
|
|
70 |
|
71 |
public function getRecords()
|
72 |
{
|
@@ -79,19 +80,41 @@ class TestHandler extends AbstractProcessingHandler
|
|
79 |
$this->recordsByLevel = array();
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
public function hasRecords($level)
|
83 |
{
|
84 |
return isset($this->recordsByLevel[$level]);
|
85 |
}
|
86 |
|
|
|
|
|
|
|
|
|
87 |
public function hasRecord($record, $level)
|
88 |
{
|
89 |
-
if (
|
90 |
-
$record =
|
91 |
}
|
92 |
|
93 |
return $this->hasRecordThatPasses(function ($rec) use ($record) {
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}, $level);
|
96 |
}
|
97 |
|
67 |
{
|
68 |
protected $records = array();
|
69 |
protected $recordsByLevel = array();
|
70 |
+
private $skipReset = false;
|
71 |
|
72 |
public function getRecords()
|
73 |
{
|
80 |
$this->recordsByLevel = array();
|
81 |
}
|
82 |
|
83 |
+
public function reset()
|
84 |
+
{
|
85 |
+
if (!$this->skipReset) {
|
86 |
+
$this->clear();
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
public function setSkipReset($skipReset)
|
91 |
+
{
|
92 |
+
$this->skipReset = $skipReset;
|
93 |
+
}
|
94 |
+
|
95 |
public function hasRecords($level)
|
96 |
{
|
97 |
return isset($this->recordsByLevel[$level]);
|
98 |
}
|
99 |
|
100 |
+
/**
|
101 |
+
* @param string|array $record Either a message string or an array containing message and optionally context keys that will be checked against all records
|
102 |
+
* @param int $level Logger::LEVEL constant value
|
103 |
+
*/
|
104 |
public function hasRecord($record, $level)
|
105 |
{
|
106 |
+
if (is_string($record)) {
|
107 |
+
$record = array('message' => $record);
|
108 |
}
|
109 |
|
110 |
return $this->hasRecordThatPasses(function ($rec) use ($record) {
|
111 |
+
if ($rec['message'] !== $record['message']) {
|
112 |
+
return false;
|
113 |
+
}
|
114 |
+
if (isset($record['context']) && $rec['context'] !== $record['context']) {
|
115 |
+
return false;
|
116 |
+
}
|
117 |
+
return true;
|
118 |
}, $level);
|
119 |
}
|
120 |
|
vendor/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php
CHANGED
@@ -48,6 +48,17 @@ class WhatFailureGroupHandler extends GroupHandler
|
|
48 |
*/
|
49 |
public function handleBatch(array $records)
|
50 |
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
foreach ($this->handlers as $handler) {
|
52 |
try {
|
53 |
$handler->handleBatch($records);
|
48 |
*/
|
49 |
public function handleBatch(array $records)
|
50 |
{
|
51 |
+
if ($this->processors) {
|
52 |
+
$processed = array();
|
53 |
+
foreach ($records as $record) {
|
54 |
+
foreach ($this->processors as $processor) {
|
55 |
+
$record = call_user_func($processor, $record);
|
56 |
+
}
|
57 |
+
$processed[] = $record;
|
58 |
+
}
|
59 |
+
$records = $processed;
|
60 |
+
}
|
61 |
+
|
62 |
foreach ($this->handlers as $handler) {
|
63 |
try {
|
64 |
$handler->handleBatch($records);
|
vendor/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php
CHANGED
@@ -17,6 +17,7 @@ use Monolog\Logger;
|
|
17 |
* Handler sending logs to Zend Monitor
|
18 |
*
|
19 |
* @author Christian Bergau <cbergau86@gmail.com>
|
|
|
20 |
*/
|
21 |
class ZendMonitorHandler extends AbstractProcessingHandler
|
22 |
{
|
@@ -25,16 +26,7 @@ class ZendMonitorHandler extends AbstractProcessingHandler
|
|
25 |
*
|
26 |
* @var array
|
27 |
*/
|
28 |
-
protected $levelMap = array(
|
29 |
-
Logger::DEBUG => 1,
|
30 |
-
Logger::INFO => 2,
|
31 |
-
Logger::NOTICE => 3,
|
32 |
-
Logger::WARNING => 4,
|
33 |
-
Logger::ERROR => 5,
|
34 |
-
Logger::CRITICAL => 6,
|
35 |
-
Logger::ALERT => 7,
|
36 |
-
Logger::EMERGENCY => 0,
|
37 |
-
);
|
38 |
|
39 |
/**
|
40 |
* Construct
|
@@ -46,8 +38,21 @@ class ZendMonitorHandler extends AbstractProcessingHandler
|
|
46 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
47 |
{
|
48 |
if (!function_exists('zend_monitor_custom_event')) {
|
49 |
-
throw new MissingExtensionException(
|
|
|
|
|
50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
parent::__construct($level, $bubble);
|
52 |
}
|
53 |
|
@@ -57,22 +62,23 @@ class ZendMonitorHandler extends AbstractProcessingHandler
|
|
57 |
protected function write(array $record)
|
58 |
{
|
59 |
$this->writeZendMonitorCustomEvent(
|
60 |
-
$
|
61 |
$record['message'],
|
62 |
-
$record['formatted']
|
|
|
63 |
);
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
-
* Write
|
68 |
-
*
|
69 |
-
* @param
|
70 |
-
* @param
|
71 |
-
* @param
|
72 |
*/
|
73 |
-
protected function writeZendMonitorCustomEvent($
|
74 |
{
|
75 |
-
zend_monitor_custom_event($
|
76 |
}
|
77 |
|
78 |
/**
|
17 |
* Handler sending logs to Zend Monitor
|
18 |
*
|
19 |
* @author Christian Bergau <cbergau86@gmail.com>
|
20 |
+
* @author Jason Davis <happydude@jasondavis.net>
|
21 |
*/
|
22 |
class ZendMonitorHandler extends AbstractProcessingHandler
|
23 |
{
|
26 |
*
|
27 |
* @var array
|
28 |
*/
|
29 |
+
protected $levelMap = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
|
31 |
/**
|
32 |
* Construct
|
38 |
public function __construct($level = Logger::DEBUG, $bubble = true)
|
39 |
{
|
40 |
if (!function_exists('zend_monitor_custom_event')) {
|
41 |
+
throw new MissingExtensionException(
|
42 |
+
'You must have Zend Server installed with Zend Monitor enabled in order to use this handler'
|
43 |
+
);
|
44 |
}
|
45 |
+
//zend monitor constants are not defined if zend monitor is not enabled.
|
46 |
+
$this->levelMap = array(
|
47 |
+
Logger::DEBUG => \ZEND_MONITOR_EVENT_SEVERITY_INFO,
|
48 |
+
Logger::INFO => \ZEND_MONITOR_EVENT_SEVERITY_INFO,
|
49 |
+
Logger::NOTICE => \ZEND_MONITOR_EVENT_SEVERITY_INFO,
|
50 |
+
Logger::WARNING => \ZEND_MONITOR_EVENT_SEVERITY_WARNING,
|
51 |
+
Logger::ERROR => \ZEND_MONITOR_EVENT_SEVERITY_ERROR,
|
52 |
+
Logger::CRITICAL => \ZEND_MONITOR_EVENT_SEVERITY_ERROR,
|
53 |
+
Logger::ALERT => \ZEND_MONITOR_EVENT_SEVERITY_ERROR,
|
54 |
+
Logger::EMERGENCY => \ZEND_MONITOR_EVENT_SEVERITY_ERROR,
|
55 |
+
);
|
56 |
parent::__construct($level, $bubble);
|
57 |
}
|
58 |
|
62 |
protected function write(array $record)
|
63 |
{
|
64 |
$this->writeZendMonitorCustomEvent(
|
65 |
+
Logger::getLevelName($record['level']),
|
66 |
$record['message'],
|
67 |
+
$record['formatted'],
|
68 |
+
$this->levelMap[$record['level']]
|
69 |
);
|
70 |
}
|
71 |
|
72 |
/**
|
73 |
+
* Write to Zend Monitor Events
|
74 |
+
* @param string $type Text displayed in "Class Name (custom)" field
|
75 |
+
* @param string $message Text displayed in "Error String"
|
76 |
+
* @param mixed $formatted Displayed in Custom Variables tab
|
77 |
+
* @param int $severity Set the event severity level (-1,0,1)
|
78 |
*/
|
79 |
+
protected function writeZendMonitorCustomEvent($type, $message, $formatted, $severity)
|
80 |
{
|
81 |
+
zend_monitor_custom_event($type, $message, $formatted, $severity);
|
82 |
}
|
83 |
|
84 |
/**
|
vendor/monolog/monolog/src/Monolog/Logger.php
CHANGED
@@ -15,6 +15,7 @@ use Monolog\Handler\HandlerInterface;
|
|
15 |
use Monolog\Handler\StreamHandler;
|
16 |
use Psr\Log\LoggerInterface;
|
17 |
use Psr\Log\InvalidArgumentException;
|
|
|
18 |
|
19 |
/**
|
20 |
* Monolog log channel
|
@@ -24,7 +25,7 @@ use Psr\Log\InvalidArgumentException;
|
|
24 |
*
|
25 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
26 |
*/
|
27 |
-
class Logger implements LoggerInterface
|
28 |
{
|
29 |
/**
|
30 |
* Detailed debug information
|
@@ -133,6 +134,11 @@ class Logger implements LoggerInterface
|
|
133 |
*/
|
134 |
protected $microsecondTimestamps = true;
|
135 |
|
|
|
|
|
|
|
|
|
|
|
136 |
/**
|
137 |
* @param string $name The logging channel
|
138 |
* @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc.
|
@@ -141,7 +147,7 @@ class Logger implements LoggerInterface
|
|
141 |
public function __construct($name, array $handlers = array(), array $processors = array())
|
142 |
{
|
143 |
$this->name = $name;
|
144 |
-
$this->
|
145 |
$this->processors = $processors;
|
146 |
}
|
147 |
|
@@ -281,7 +287,7 @@ class Logger implements LoggerInterface
|
|
281 |
* @param int $level The logging level
|
282 |
* @param string $message The log message
|
283 |
* @param array $context The log context
|
284 |
-
* @return
|
285 |
*/
|
286 |
public function addRecord($level, $message, array $context = array())
|
287 |
{
|
@@ -329,27 +335,75 @@ class Logger implements LoggerInterface
|
|
329 |
'extra' => array(),
|
330 |
);
|
331 |
|
332 |
-
|
333 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
}
|
|
|
|
|
340 |
|
341 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
342 |
}
|
343 |
|
344 |
-
|
|
|
|
|
|
|
|
|
345 |
}
|
346 |
|
347 |
/**
|
348 |
* Adds a log record at the DEBUG level.
|
349 |
*
|
350 |
-
* @param string
|
351 |
-
* @param array
|
352 |
-
* @return
|
353 |
*/
|
354 |
public function addDebug($message, array $context = array())
|
355 |
{
|
@@ -359,9 +413,9 @@ class Logger implements LoggerInterface
|
|
359 |
/**
|
360 |
* Adds a log record at the INFO level.
|
361 |
*
|
362 |
-
* @param string
|
363 |
-
* @param array
|
364 |
-
* @return
|
365 |
*/
|
366 |
public function addInfo($message, array $context = array())
|
367 |
{
|
@@ -371,9 +425,9 @@ class Logger implements LoggerInterface
|
|
371 |
/**
|
372 |
* Adds a log record at the NOTICE level.
|
373 |
*
|
374 |
-
* @param string
|
375 |
-
* @param array
|
376 |
-
* @return
|
377 |
*/
|
378 |
public function addNotice($message, array $context = array())
|
379 |
{
|
@@ -383,9 +437,9 @@ class Logger implements LoggerInterface
|
|
383 |
/**
|
384 |
* Adds a log record at the WARNING level.
|
385 |
*
|
386 |
-
* @param string
|
387 |
-
* @param array
|
388 |
-
* @return
|
389 |
*/
|
390 |
public function addWarning($message, array $context = array())
|
391 |
{
|
@@ -395,9 +449,9 @@ class Logger implements LoggerInterface
|
|
395 |
/**
|
396 |
* Adds a log record at the ERROR level.
|
397 |
*
|
398 |
-
* @param string
|
399 |
-
* @param array
|
400 |
-
* @return
|
401 |
*/
|
402 |
public function addError($message, array $context = array())
|
403 |
{
|
@@ -407,9 +461,9 @@ class Logger implements LoggerInterface
|
|
407 |
/**
|
408 |
* Adds a log record at the CRITICAL level.
|
409 |
*
|
410 |
-
* @param string
|
411 |
-
* @param array
|
412 |
-
* @return
|
413 |
*/
|
414 |
public function addCritical($message, array $context = array())
|
415 |
{
|
@@ -419,9 +473,9 @@ class Logger implements LoggerInterface
|
|
419 |
/**
|
420 |
* Adds a log record at the ALERT level.
|
421 |
*
|
422 |
-
* @param string
|
423 |
-
* @param array
|
424 |
-
* @return
|
425 |
*/
|
426 |
public function addAlert($message, array $context = array())
|
427 |
{
|
@@ -431,9 +485,9 @@ class Logger implements LoggerInterface
|
|
431 |
/**
|
432 |
* Adds a log record at the EMERGENCY level.
|
433 |
*
|
434 |
-
* @param string
|
435 |
-
* @param array
|
436 |
-
* @return
|
437 |
*/
|
438 |
public function addEmergency($message, array $context = array())
|
439 |
{
|
@@ -484,7 +538,7 @@ class Logger implements LoggerInterface
|
|
484 |
* Checks whether the Logger has a handler that listens on the given level
|
485 |
*
|
486 |
* @param int $level
|
487 |
-
* @return
|
488 |
*/
|
489 |
public function isHandling($level)
|
490 |
{
|
@@ -501,15 +555,52 @@ class Logger implements LoggerInterface
|
|
501 |
return false;
|
502 |
}
|
503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
/**
|
505 |
* Adds a log record at an arbitrary level.
|
506 |
*
|
507 |
* This method allows for compatibility with common interfaces.
|
508 |
*
|
509 |
* @param mixed $level The log level
|
510 |
-
* @param string
|
511 |
-
* @param array
|
512 |
-
* @return
|
513 |
*/
|
514 |
public function log($level, $message, array $context = array())
|
515 |
{
|
@@ -523,9 +614,9 @@ class Logger implements LoggerInterface
|
|
523 |
*
|
524 |
* This method allows for compatibility with common interfaces.
|
525 |
*
|
526 |
-
* @param string
|
527 |
-
* @param array
|
528 |
-
* @return
|
529 |
*/
|
530 |
public function debug($message, array $context = array())
|
531 |
{
|
@@ -537,9 +628,9 @@ class Logger implements LoggerInterface
|
|
537 |
*
|
538 |
* This method allows for compatibility with common interfaces.
|
539 |
*
|
540 |
-
* @param string
|
541 |
-
* @param array
|
542 |
-
* @return
|
543 |
*/
|
544 |
public function info($message, array $context = array())
|
545 |
{
|
@@ -551,9 +642,9 @@ class Logger implements LoggerInterface
|
|
551 |
*
|
552 |
* This method allows for compatibility with common interfaces.
|
553 |
*
|
554 |
-
* @param string
|
555 |
-
* @param array
|
556 |
-
* @return
|
557 |
*/
|
558 |
public function notice($message, array $context = array())
|
559 |
{
|
@@ -565,9 +656,9 @@ class Logger implements LoggerInterface
|
|
565 |
*
|
566 |
* This method allows for compatibility with common interfaces.
|
567 |
*
|
568 |
-
* @param string
|
569 |
-
* @param array
|
570 |
-
* @return
|
571 |
*/
|
572 |
public function warn($message, array $context = array())
|
573 |
{
|
@@ -579,9 +670,9 @@ class Logger implements LoggerInterface
|
|
579 |
*
|
580 |
* This method allows for compatibility with common interfaces.
|
581 |
*
|
582 |
-
* @param string
|
583 |
-
* @param array
|
584 |
-
* @return
|
585 |
*/
|
586 |
public function warning($message, array $context = array())
|
587 |
{
|
@@ -593,9 +684,9 @@ class Logger implements LoggerInterface
|
|
593 |
*
|
594 |
* This method allows for compatibility with common interfaces.
|
595 |
*
|
596 |
-
* @param string
|
597 |
-
* @param array
|
598 |
-
* @return
|
599 |
*/
|
600 |
public function err($message, array $context = array())
|
601 |
{
|
@@ -607,9 +698,9 @@ class Logger implements LoggerInterface
|
|
607 |
*
|
608 |
* This method allows for compatibility with common interfaces.
|
609 |
*
|
610 |
-
* @param string
|
611 |
-
* @param array
|
612 |
-
* @return
|
613 |
*/
|
614 |
public function error($message, array $context = array())
|
615 |
{
|
@@ -621,9 +712,9 @@ class Logger implements LoggerInterface
|
|
621 |
*
|
622 |
* This method allows for compatibility with common interfaces.
|
623 |
*
|
624 |
-
* @param string
|
625 |
-
* @param array
|
626 |
-
* @return
|
627 |
*/
|
628 |
public function crit($message, array $context = array())
|
629 |
{
|
@@ -635,9 +726,9 @@ class Logger implements LoggerInterface
|
|
635 |
*
|
636 |
* This method allows for compatibility with common interfaces.
|
637 |
*
|
638 |
-
* @param string
|
639 |
-
* @param array
|
640 |
-
* @return
|
641 |
*/
|
642 |
public function critical($message, array $context = array())
|
643 |
{
|
@@ -649,9 +740,9 @@ class Logger implements LoggerInterface
|
|
649 |
*
|
650 |
* This method allows for compatibility with common interfaces.
|
651 |
*
|
652 |
-
* @param string
|
653 |
-
* @param array
|
654 |
-
* @return
|
655 |
*/
|
656 |
public function alert($message, array $context = array())
|
657 |
{
|
@@ -663,9 +754,9 @@ class Logger implements LoggerInterface
|
|
663 |
*
|
664 |
* This method allows for compatibility with common interfaces.
|
665 |
*
|
666 |
-
* @param string
|
667 |
-
* @param array
|
668 |
-
* @return
|
669 |
*/
|
670 |
public function emerg($message, array $context = array())
|
671 |
{
|
@@ -677,9 +768,9 @@ class Logger implements LoggerInterface
|
|
677 |
*
|
678 |
* This method allows for compatibility with common interfaces.
|
679 |
*
|
680 |
-
* @param string
|
681 |
-
* @param array
|
682 |
-
* @return
|
683 |
*/
|
684 |
public function emergency($message, array $context = array())
|
685 |
{
|
15 |
use Monolog\Handler\StreamHandler;
|
16 |
use Psr\Log\LoggerInterface;
|
17 |
use Psr\Log\InvalidArgumentException;
|
18 |
+
use Exception;
|
19 |
|
20 |
/**
|
21 |
* Monolog log channel
|
25 |
*
|
26 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
27 |
*/
|
28 |
+
class Logger implements LoggerInterface, ResettableInterface
|
29 |
{
|
30 |
/**
|
31 |
* Detailed debug information
|
134 |
*/
|
135 |
protected $microsecondTimestamps = true;
|
136 |
|
137 |
+
/**
|
138 |
+
* @var callable
|
139 |
+
*/
|
140 |
+
protected $exceptionHandler;
|
141 |
+
|
142 |
/**
|
143 |
* @param string $name The logging channel
|
144 |
* @param HandlerInterface[] $handlers Optional stack of handlers, the first one in the array is called first, etc.
|
147 |
public function __construct($name, array $handlers = array(), array $processors = array())
|
148 |
{
|
149 |
$this->name = $name;
|
150 |
+
$this->setHandlers($handlers);
|
151 |
$this->processors = $processors;
|
152 |
}
|
153 |
|
287 |
* @param int $level The logging level
|
288 |
* @param string $message The log message
|
289 |
* @param array $context The log context
|
290 |
+
* @return bool Whether the record has been processed
|
291 |
*/
|
292 |
public function addRecord($level, $message, array $context = array())
|
293 |
{
|
335 |
'extra' => array(),
|
336 |
);
|
337 |
|
338 |
+
try {
|
339 |
+
foreach ($this->processors as $processor) {
|
340 |
+
$record = call_user_func($processor, $record);
|
341 |
+
}
|
342 |
+
|
343 |
+
while ($handler = current($this->handlers)) {
|
344 |
+
if (true === $handler->handle($record)) {
|
345 |
+
break;
|
346 |
+
}
|
347 |
+
|
348 |
+
next($this->handlers);
|
349 |
+
}
|
350 |
+
} catch (Exception $e) {
|
351 |
+
$this->handleException($e, $record);
|
352 |
}
|
353 |
|
354 |
+
return true;
|
355 |
+
}
|
356 |
+
|
357 |
+
/**
|
358 |
+
* Ends a log cycle and frees all resources used by handlers.
|
359 |
+
*
|
360 |
+
* Closing a Handler means flushing all buffers and freeing any open resources/handles.
|
361 |
+
* Handlers that have been closed should be able to accept log records again and re-open
|
362 |
+
* themselves on demand, but this may not always be possible depending on implementation.
|
363 |
+
*
|
364 |
+
* This is useful at the end of a request and will be called automatically on every handler
|
365 |
+
* when they get destructed.
|
366 |
+
*/
|
367 |
+
public function close()
|
368 |
+
{
|
369 |
+
foreach ($this->handlers as $handler) {
|
370 |
+
if (method_exists($handler, 'close')) {
|
371 |
+
$handler->close();
|
372 |
}
|
373 |
+
}
|
374 |
+
}
|
375 |
|
376 |
+
/**
|
377 |
+
* Ends a log cycle and resets all handlers and processors to their initial state.
|
378 |
+
*
|
379 |
+
* Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal
|
380 |
+
* state, and getting it back to a state in which it can receive log records again.
|
381 |
+
*
|
382 |
+
* This is useful in case you want to avoid logs leaking between two requests or jobs when you
|
383 |
+
* have a long running process like a worker or an application server serving multiple requests
|
384 |
+
* in one process.
|
385 |
+
*/
|
386 |
+
public function reset()
|
387 |
+
{
|
388 |
+
foreach ($this->handlers as $handler) {
|
389 |
+
if ($handler instanceof ResettableInterface) {
|
390 |
+
$handler->reset();
|
391 |
+
}
|
392 |
}
|
393 |
|
394 |
+
foreach ($this->processors as $processor) {
|
395 |
+
if ($processor instanceof ResettableInterface) {
|
396 |
+
$processor->reset();
|
397 |
+
}
|
398 |
+
}
|
399 |
}
|
400 |
|
401 |
/**
|
402 |
* Adds a log record at the DEBUG level.
|
403 |
*
|
404 |
+
* @param string $message The log message
|
405 |
+
* @param array $context The log context
|
406 |
+
* @return bool Whether the record has been processed
|
407 |
*/
|
408 |
public function addDebug($message, array $context = array())
|
409 |
{
|
413 |
/**
|
414 |
* Adds a log record at the INFO level.
|
415 |
*
|
416 |
+
* @param string $message The log message
|
417 |
+
* @param array $context The log context
|
418 |
+
* @return bool Whether the record has been processed
|
419 |
*/
|
420 |
public function addInfo($message, array $context = array())
|
421 |
{
|
425 |
/**
|
426 |
* Adds a log record at the NOTICE level.
|
427 |
*
|
428 |
+
* @param string $message The log message
|
429 |
+
* @param array $context The log context
|
430 |
+
* @return bool Whether the record has been processed
|
431 |
*/
|
432 |
public function addNotice($message, array $context = array())
|
433 |
{
|
437 |
/**
|
438 |
* Adds a log record at the WARNING level.
|
439 |
*
|
440 |
+
* @param string $message The log message
|
441 |
+
* @param array $context The log context
|
442 |
+
* @return bool Whether the record has been processed
|
443 |
*/
|
444 |
public function addWarning($message, array $context = array())
|
445 |
{
|
449 |
/**
|
450 |
* Adds a log record at the ERROR level.
|
451 |
*
|
452 |
+
* @param string $message The log message
|
453 |
+
* @param array $context The log context
|
454 |
+
* @return bool Whether the record has been processed
|
455 |
*/
|
456 |
public function addError($message, array $context = array())
|
457 |
{
|
461 |
/**
|
462 |
* Adds a log record at the CRITICAL level.
|
463 |
*
|
464 |
+
* @param string $message The log message
|
465 |
+
* @param array $context The log context
|
466 |
+
* @return bool Whether the record has been processed
|
467 |
*/
|
468 |
public function addCritical($message, array $context = array())
|
469 |
{
|
473 |
/**
|
474 |
* Adds a log record at the ALERT level.
|
475 |
*
|
476 |
+
* @param string $message The log message
|
477 |
+
* @param array $context The log context
|
478 |
+
* @return bool Whether the record has been processed
|
479 |
*/
|
480 |
public function addAlert($message, array $context = array())
|
481 |
{
|
485 |
/**
|
486 |
* Adds a log record at the EMERGENCY level.
|
487 |
*
|
488 |
+
* @param string $message The log message
|
489 |
+
* @param array $context The log context
|
490 |
+
* @return bool Whether the record has been processed
|
491 |
*/
|
492 |
public function addEmergency($message, array $context = array())
|
493 |
{
|
538 |
* Checks whether the Logger has a handler that listens on the given level
|
539 |
*
|
540 |
* @param int $level
|
541 |
+
* @return bool
|
542 |
*/
|
543 |
public function isHandling($level)
|
544 |
{
|
555 |
return false;
|
556 |
}
|
557 |
|
558 |
+
/**
|
559 |
+
* Set a custom exception handler
|
560 |
+
*
|
561 |
+
* @param callable $callback
|
562 |
+
* @return $this
|
563 |
+
*/
|
564 |
+
public function setExceptionHandler($callback)
|
565 |
+
{
|
566 |
+
if (!is_callable($callback)) {
|
567 |
+
throw new \InvalidArgumentException('Exception handler must be valid callable (callback or object with an __invoke method), '.var_export($callback, true).' given');
|
568 |
+
}
|
569 |
+
$this->exceptionHandler = $callback;
|
570 |
+
|
571 |
+
return $this;
|
572 |
+
}
|
573 |
+
|
574 |
+
/**
|
575 |
+
* @return callable
|
576 |
+
*/
|
577 |
+
public function getExceptionHandler()
|
578 |
+
{
|
579 |
+
return $this->exceptionHandler;
|
580 |
+
}
|
581 |
+
|
582 |
+
/**
|
583 |
+
* Delegates exception management to the custom exception handler,
|
584 |
+
* or throws the exception if no custom handler is set.
|
585 |
+
*/
|
586 |
+
protected function handleException(Exception $e, array $record)
|
587 |
+
{
|
588 |
+
if (!$this->exceptionHandler) {
|
589 |
+
throw $e;
|
590 |
+
}
|
591 |
+
|
592 |
+
call_user_func($this->exceptionHandler, $e, $record);
|
593 |
+
}
|
594 |
+
|
595 |
/**
|
596 |
* Adds a log record at an arbitrary level.
|
597 |
*
|
598 |
* This method allows for compatibility with common interfaces.
|
599 |
*
|
600 |
* @param mixed $level The log level
|
601 |
+
* @param string $message The log message
|
602 |
+
* @param array $context The log context
|
603 |
+
* @return bool Whether the record has been processed
|
604 |
*/
|
605 |
public function log($level, $message, array $context = array())
|
606 |
{
|
614 |
*
|
615 |
* This method allows for compatibility with common interfaces.
|
616 |
*
|
617 |
+
* @param string $message The log message
|
618 |
+
* @param array $context The log context
|
619 |
+
* @return bool Whether the record has been processed
|
620 |
*/
|
621 |
public function debug($message, array $context = array())
|
622 |
{
|
628 |
*
|
629 |
* This method allows for compatibility with common interfaces.
|
630 |
*
|
631 |
+
* @param string $message The log message
|
632 |
+
* @param array $context The log context
|
633 |
+
* @return bool Whether the record has been processed
|
634 |
*/
|
635 |
public function info($message, array $context = array())
|
636 |
{
|
642 |
*
|
643 |
* This method allows for compatibility with common interfaces.
|
644 |
*
|
645 |
+
* @param string $message The log message
|
646 |
+
* @param array $context The log context
|
647 |
+
* @return bool Whether the record has been processed
|
648 |
*/
|
649 |
public function notice($message, array $context = array())
|
650 |
{
|
656 |
*
|
657 |
* This method allows for compatibility with common interfaces.
|
658 |
*
|
659 |
+
* @param string $message The log message
|
660 |
+
* @param array $context The log context
|
661 |
+
* @return bool Whether the record has been processed
|
662 |
*/
|
663 |
public function warn($message, array $context = array())
|
664 |
{
|
670 |
*
|
671 |
* This method allows for compatibility with common interfaces.
|
672 |
*
|
673 |
+
* @param string $message The log message
|
674 |
+
* @param array $context The log context
|
675 |
+
* @return bool Whether the record has been processed
|
676 |
*/
|
677 |
public function warning($message, array $context = array())
|
678 |
{
|
684 |
*
|
685 |
* This method allows for compatibility with common interfaces.
|
686 |
*
|
687 |
+
* @param string $message The log message
|
688 |
+
* @param array $context The log context
|
689 |
+
* @return bool Whether the record has been processed
|
690 |
*/
|
691 |
public function err($message, array $context = array())
|
692 |
{
|
698 |
*
|
699 |
* This method allows for compatibility with common interfaces.
|
700 |
*
|
701 |
+
* @param string $message The log message
|
702 |
+
* @param array $context The log context
|
703 |
+
* @return bool Whether the record has been processed
|
704 |
*/
|
705 |
public function error($message, array $context = array())
|
706 |
{
|
712 |
*
|
713 |
* This method allows for compatibility with common interfaces.
|
714 |
*
|
715 |
+
* @param string $message The log message
|
716 |
+
* @param array $context The log context
|
717 |
+
* @return bool Whether the record has been processed
|
718 |
*/
|
719 |
public function crit($message, array $context = array())
|
720 |
{
|
726 |
*
|
727 |
* This method allows for compatibility with common interfaces.
|
728 |
*
|
729 |
+
* @param string $message The log message
|
730 |
+
* @param array $context The log context
|
731 |
+
* @return bool Whether the record has been processed
|
732 |
*/
|
733 |
public function critical($message, array $context = array())
|
734 |
{
|
740 |
*
|
741 |
* This method allows for compatibility with common interfaces.
|
742 |
*
|
743 |
+
* @param string $message The log message
|
744 |
+
* @param array $context The log context
|
745 |
+
* @return bool Whether the record has been processed
|
746 |
*/
|
747 |
public function alert($message, array $context = array())
|
748 |
{
|
754 |
*
|
755 |
* This method allows for compatibility with common interfaces.
|
756 |
*
|
757 |
+
* @param string $message The log message
|
758 |
+
* @param array $context The log context
|
759 |
+
* @return bool Whether the record has been processed
|
760 |
*/
|
761 |
public function emerg($message, array $context = array())
|
762 |
{
|
768 |
*
|
769 |
* This method allows for compatibility with common interfaces.
|
770 |
*
|
771 |
+
* @param string $message The log message
|
772 |
+
* @param array $context The log context
|
773 |
+
* @return bool Whether the record has been processed
|
774 |
*/
|
775 |
public function emergency($message, array $context = array())
|
776 |
{
|
vendor/monolog/monolog/src/Monolog/Processor/GitProcessor.php
CHANGED
@@ -19,7 +19,7 @@ use Monolog\Logger;
|
|
19 |
* @author Nick Otter
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
*/
|
22 |
-
class GitProcessor
|
23 |
{
|
24 |
private $level;
|
25 |
private static $cache;
|
19 |
* @author Nick Otter
|
20 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
21 |
*/
|
22 |
+
class GitProcessor implements ProcessorInterface
|
23 |
{
|
24 |
private $level;
|
25 |
private static $cache;
|
vendor/monolog/monolog/src/Monolog/Processor/IntrospectionProcessor.php
CHANGED
@@ -24,7 +24,7 @@ use Monolog\Logger;
|
|
24 |
*
|
25 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
26 |
*/
|
27 |
-
class IntrospectionProcessor
|
28 |
{
|
29 |
private $level;
|
30 |
|
24 |
*
|
25 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
26 |
*/
|
27 |
+
class IntrospectionProcessor implements ProcessorInterface
|
28 |
{
|
29 |
private $level;
|
30 |
|
vendor/monolog/monolog/src/Monolog/Processor/MemoryProcessor.php
CHANGED
@@ -16,7 +16,7 @@ namespace Monolog\Processor;
|
|
16 |
*
|
17 |
* @author Rob Jensen
|
18 |
*/
|
19 |
-
abstract class MemoryProcessor
|
20 |
{
|
21 |
/**
|
22 |
* @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported.
|
@@ -34,8 +34,8 @@ abstract class MemoryProcessor
|
|
34 |
*/
|
35 |
public function __construct($realUsage = true, $useFormatting = true)
|
36 |
{
|
37 |
-
$this->realUsage = (
|
38 |
-
$this->useFormatting = (
|
39 |
}
|
40 |
|
41 |
/**
|
16 |
*
|
17 |
* @author Rob Jensen
|
18 |
*/
|
19 |
+
abstract class MemoryProcessor implements ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
* @var bool If true, get the real size of memory allocated from system. Else, only the memory used by emalloc() is reported.
|
34 |
*/
|
35 |
public function __construct($realUsage = true, $useFormatting = true)
|
36 |
{
|
37 |
+
$this->realUsage = (bool) $realUsage;
|
38 |
+
$this->useFormatting = (bool) $useFormatting;
|
39 |
}
|
40 |
|
41 |
/**
|
vendor/monolog/monolog/src/Monolog/Processor/MercurialProcessor.php
CHANGED
@@ -18,7 +18,7 @@ use Monolog\Logger;
|
|
18 |
*
|
19 |
* @author Jonathan A. Schweder <jonathanschweder@gmail.com>
|
20 |
*/
|
21 |
-
class MercurialProcessor
|
22 |
{
|
23 |
private $level;
|
24 |
private static $cache;
|
18 |
*
|
19 |
* @author Jonathan A. Schweder <jonathanschweder@gmail.com>
|
20 |
*/
|
21 |
+
class MercurialProcessor implements ProcessorInterface
|
22 |
{
|
23 |
private $level;
|
24 |
private static $cache;
|
vendor/monolog/monolog/src/Monolog/Processor/ProcessIdProcessor.php
CHANGED
@@ -16,7 +16,7 @@ namespace Monolog\Processor;
|
|
16 |
*
|
17 |
* @author Andreas Hörnicke
|
18 |
*/
|
19 |
-
class ProcessIdProcessor
|
20 |
{
|
21 |
/**
|
22 |
* @param array $record
|
16 |
*
|
17 |
* @author Andreas Hörnicke
|
18 |
*/
|
19 |
+
class ProcessIdProcessor implements ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
* @param array $record
|
vendor/monolog/monolog/src/Monolog/Processor/ProcessorInterface.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog\Processor;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* An optional interface to allow labelling Monolog processors.
|
16 |
+
*
|
17 |
+
* @author Nicolas Grekas <p@tchwork.com>
|
18 |
+
*/
|
19 |
+
interface ProcessorInterface
|
20 |
+
{
|
21 |
+
/**
|
22 |
+
* @return array The processed records
|
23 |
+
*/
|
24 |
+
public function __invoke(array $records);
|
25 |
+
}
|
vendor/monolog/monolog/src/Monolog/Processor/PsrLogMessageProcessor.php
CHANGED
@@ -11,6 +11,8 @@
|
|
11 |
|
12 |
namespace Monolog\Processor;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* Processes a record's message according to PSR-3 rules
|
16 |
*
|
@@ -18,7 +20,7 @@ namespace Monolog\Processor;
|
|
18 |
*
|
19 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
20 |
*/
|
21 |
-
class PsrLogMessageProcessor
|
22 |
{
|
23 |
/**
|
24 |
* @param array $record
|
@@ -35,7 +37,7 @@ class PsrLogMessageProcessor
|
|
35 |
if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) {
|
36 |
$replacements['{'.$key.'}'] = $val;
|
37 |
} elseif (is_object($val)) {
|
38 |
-
$replacements['{'.$key.'}'] = '[object '.
|
39 |
} else {
|
40 |
$replacements['{'.$key.'}'] = '['.gettype($val).']';
|
41 |
}
|
11 |
|
12 |
namespace Monolog\Processor;
|
13 |
|
14 |
+
use Monolog\Utils;
|
15 |
+
|
16 |
/**
|
17 |
* Processes a record's message according to PSR-3 rules
|
18 |
*
|
20 |
*
|
21 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
22 |
*/
|
23 |
+
class PsrLogMessageProcessor implements ProcessorInterface
|
24 |
{
|
25 |
/**
|
26 |
* @param array $record
|
37 |
if (is_null($val) || is_scalar($val) || (is_object($val) && method_exists($val, "__toString"))) {
|
38 |
$replacements['{'.$key.'}'] = $val;
|
39 |
} elseif (is_object($val)) {
|
40 |
+
$replacements['{'.$key.'}'] = '[object '.Utils::getClass($val).']';
|
41 |
} else {
|
42 |
$replacements['{'.$key.'}'] = '['.gettype($val).']';
|
43 |
}
|
vendor/monolog/monolog/src/Monolog/Processor/TagProcessor.php
CHANGED
@@ -16,7 +16,7 @@ namespace Monolog\Processor;
|
|
16 |
*
|
17 |
* @author Martijn Riemers
|
18 |
*/
|
19 |
-
class TagProcessor
|
20 |
{
|
21 |
private $tags;
|
22 |
|
16 |
*
|
17 |
* @author Martijn Riemers
|
18 |
*/
|
19 |
+
class TagProcessor implements ProcessorInterface
|
20 |
{
|
21 |
private $tags;
|
22 |
|
vendor/monolog/monolog/src/Monolog/Processor/UidProcessor.php
CHANGED
@@ -11,12 +11,14 @@
|
|
11 |
|
12 |
namespace Monolog\Processor;
|
13 |
|
|
|
|
|
14 |
/**
|
15 |
* Adds a unique identifier into records
|
16 |
*
|
17 |
* @author Simon Mönch <sm@webfactory.de>
|
18 |
*/
|
19 |
-
class UidProcessor
|
20 |
{
|
21 |
private $uid;
|
22 |
|
@@ -26,7 +28,8 @@ class UidProcessor
|
|
26 |
throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32');
|
27 |
}
|
28 |
|
29 |
-
|
|
|
30 |
}
|
31 |
|
32 |
public function __invoke(array $record)
|
@@ -43,4 +46,14 @@ class UidProcessor
|
|
43 |
{
|
44 |
return $this->uid;
|
45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
11 |
|
12 |
namespace Monolog\Processor;
|
13 |
|
14 |
+
use Monolog\ResettableInterface;
|
15 |
+
|
16 |
/**
|
17 |
* Adds a unique identifier into records
|
18 |
*
|
19 |
* @author Simon Mönch <sm@webfactory.de>
|
20 |
*/
|
21 |
+
class UidProcessor implements ProcessorInterface, ResettableInterface
|
22 |
{
|
23 |
private $uid;
|
24 |
|
28 |
throw new \InvalidArgumentException('The uid length must be an integer between 1 and 32');
|
29 |
}
|
30 |
|
31 |
+
|
32 |
+
$this->uid = $this->generateUid($length);
|
33 |
}
|
34 |
|
35 |
public function __invoke(array $record)
|
46 |
{
|
47 |
return $this->uid;
|
48 |
}
|
49 |
+
|
50 |
+
public function reset()
|
51 |
+
{
|
52 |
+
$this->uid = $this->generateUid(strlen($this->uid));
|
53 |
+
}
|
54 |
+
|
55 |
+
private function generateUid($length)
|
56 |
+
{
|
57 |
+
return substr(hash('md5', uniqid('', true)), 0, $length);
|
58 |
+
}
|
59 |
}
|
vendor/monolog/monolog/src/Monolog/Processor/WebProcessor.php
CHANGED
@@ -16,7 +16,7 @@ namespace Monolog\Processor;
|
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
18 |
*/
|
19 |
-
class WebProcessor
|
20 |
{
|
21 |
/**
|
22 |
* @var array|\ArrayAccess
|
16 |
*
|
17 |
* @author Jordi Boggiano <j.boggiano@seld.be>
|
18 |
*/
|
19 |
+
class WebProcessor implements ProcessorInterface
|
20 |
{
|
21 |
/**
|
22 |
* @var array|\ArrayAccess
|
vendor/monolog/monolog/src/Monolog/ResettableInterface.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Handler or Processor implementing this interface will be reset when Logger::reset() is called.
|
16 |
+
*
|
17 |
+
* Resetting ends a log cycle gets them back to their initial state.
|
18 |
+
*
|
19 |
+
* Resetting a Handler or a Processor means flushing/cleaning all buffers, resetting internal
|
20 |
+
* state, and getting it back to a state in which it can receive log records again.
|
21 |
+
*
|
22 |
+
* This is useful in case you want to avoid logs leaking between two requests or jobs when you
|
23 |
+
* have a long running process like a worker or an application server serving multiple requests
|
24 |
+
* in one process.
|
25 |
+
*
|
26 |
+
* @author Grégoire Pineau <lyrixx@lyrixx.info>
|
27 |
+
*/
|
28 |
+
interface ResettableInterface
|
29 |
+
{
|
30 |
+
public function reset();
|
31 |
+
}
|
vendor/monolog/monolog/src/Monolog/SignalHandler.php
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog;
|
13 |
+
|
14 |
+
use Psr\Log\LoggerInterface;
|
15 |
+
use Psr\Log\LogLevel;
|
16 |
+
use ReflectionExtension;
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Monolog POSIX signal handler
|
20 |
+
*
|
21 |
+
* @author Robert Gust-Bardon <robert@gust-bardon.org>
|
22 |
+
*/
|
23 |
+
class SignalHandler
|
24 |
+
{
|
25 |
+
private $logger;
|
26 |
+
|
27 |
+
private $previousSignalHandler = array();
|
28 |
+
private $signalLevelMap = array();
|
29 |
+
private $signalRestartSyscalls = array();
|
30 |
+
|
31 |
+
public function __construct(LoggerInterface $logger)
|
32 |
+
{
|
33 |
+
$this->logger = $logger;
|
34 |
+
}
|
35 |
+
|
36 |
+
public function registerSignalHandler($signo, $level = LogLevel::CRITICAL, $callPrevious = true, $restartSyscalls = true, $async = true)
|
37 |
+
{
|
38 |
+
if (!extension_loaded('pcntl') || !function_exists('pcntl_signal')) {
|
39 |
+
return $this;
|
40 |
+
}
|
41 |
+
|
42 |
+
if ($callPrevious) {
|
43 |
+
if (function_exists('pcntl_signal_get_handler')) {
|
44 |
+
$handler = pcntl_signal_get_handler($signo);
|
45 |
+
if ($handler === false) {
|
46 |
+
return $this;
|
47 |
+
}
|
48 |
+
$this->previousSignalHandler[$signo] = $handler;
|
49 |
+
} else {
|
50 |
+
$this->previousSignalHandler[$signo] = true;
|
51 |
+
}
|
52 |
+
} else {
|
53 |
+
unset($this->previousSignalHandler[$signo]);
|
54 |
+
}
|
55 |
+
$this->signalLevelMap[$signo] = $level;
|
56 |
+
$this->signalRestartSyscalls[$signo] = $restartSyscalls;
|
57 |
+
|
58 |
+
if (function_exists('pcntl_async_signals') && $async !== null) {
|
59 |
+
pcntl_async_signals($async);
|
60 |
+
}
|
61 |
+
|
62 |
+
pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls);
|
63 |
+
|
64 |
+
return $this;
|
65 |
+
}
|
66 |
+
|
67 |
+
public function handleSignal($signo, array $siginfo = null)
|
68 |
+
{
|
69 |
+
static $signals = array();
|
70 |
+
|
71 |
+
if (!$signals && extension_loaded('pcntl')) {
|
72 |
+
$pcntl = new ReflectionExtension('pcntl');
|
73 |
+
$constants = $pcntl->getConstants();
|
74 |
+
if (!$constants) {
|
75 |
+
// HHVM 3.24.2 returns an empty array.
|
76 |
+
$constants = get_defined_constants(true);
|
77 |
+
$constants = $constants['Core'];
|
78 |
+
}
|
79 |
+
foreach ($constants as $name => $value) {
|
80 |
+
if (substr($name, 0, 3) === 'SIG' && $name[3] !== '_' && is_int($value)) {
|
81 |
+
$signals[$value] = $name;
|
82 |
+
}
|
83 |
+
}
|
84 |
+
unset($constants);
|
85 |
+
}
|
86 |
+
|
87 |
+
$level = isset($this->signalLevelMap[$signo]) ? $this->signalLevelMap[$signo] : LogLevel::CRITICAL;
|
88 |
+
$signal = isset($signals[$signo]) ? $signals[$signo] : $signo;
|
89 |
+
$context = isset($siginfo) ? $siginfo : array();
|
90 |
+
$this->logger->log($level, sprintf('Program received signal %s', $signal), $context);
|
91 |
+
|
92 |
+
if (!isset($this->previousSignalHandler[$signo])) {
|
93 |
+
return;
|
94 |
+
}
|
95 |
+
|
96 |
+
if ($this->previousSignalHandler[$signo] === true || $this->previousSignalHandler[$signo] === SIG_DFL) {
|
97 |
+
if (extension_loaded('pcntl') && function_exists('pcntl_signal') && function_exists('pcntl_sigprocmask') && function_exists('pcntl_signal_dispatch')
|
98 |
+
&& extension_loaded('posix') && function_exists('posix_getpid') && function_exists('posix_kill')) {
|
99 |
+
$restartSyscalls = isset($this->signalRestartSyscalls[$signo]) ? $this->signalRestartSyscalls[$signo] : true;
|
100 |
+
pcntl_signal($signo, SIG_DFL, $restartSyscalls);
|
101 |
+
pcntl_sigprocmask(SIG_UNBLOCK, array($signo), $oldset);
|
102 |
+
posix_kill(posix_getpid(), $signo);
|
103 |
+
pcntl_signal_dispatch();
|
104 |
+
pcntl_sigprocmask(SIG_SETMASK, $oldset);
|
105 |
+
pcntl_signal($signo, array($this, 'handleSignal'), $restartSyscalls);
|
106 |
+
}
|
107 |
+
} elseif (is_callable($this->previousSignalHandler[$signo])) {
|
108 |
+
if (PHP_VERSION_ID >= 70100) {
|
109 |
+
$this->previousSignalHandler[$signo]($signo, $siginfo);
|
110 |
+
} else {
|
111 |
+
$this->previousSignalHandler[$signo]($signo);
|
112 |
+
}
|
113 |
+
}
|
114 |
+
}
|
115 |
+
}
|
vendor/monolog/monolog/src/Monolog/Utils.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Monolog package.
|
5 |
+
*
|
6 |
+
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Monolog;
|
13 |
+
|
14 |
+
class Utils
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* @internal
|
18 |
+
*/
|
19 |
+
public static function getClass($object)
|
20 |
+
{
|
21 |
+
$class = \get_class($object);
|
22 |
+
|
23 |
+
return 'c' === $class[0] && 0 === strpos($class, "class@anonymous\0") ? get_parent_class($class).'@anonymous' : $class;
|
24 |
+
}
|
25 |
+
}
|
vendor/monolog/monolog/tests/Monolog/ErrorHandlerTest.php
DELETED
@@ -1,31 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Monolog package.
|
5 |
-
*
|
6 |
-
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Monolog;
|
13 |
-
|
14 |
-
use Monolog\Handler\TestHandler;
|
15 |
-
|
16 |
-
class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
|
17 |
-
{
|
18 |
-
public function testHandleError()
|
19 |
-
{
|
20 |
-
$logger = new Logger('test', array($handler = new TestHandler));
|
21 |
-
$errHandler = new ErrorHandler($logger);
|
22 |
-
|
23 |
-
$errHandler->registerErrorHandler(array(E_USER_NOTICE => Logger::EMERGENCY), false);
|
24 |
-
trigger_error('Foo', E_USER_ERROR);
|
25 |
-
$this->assertCount(1, $handler->getRecords());
|
26 |
-
$this->assertTrue($handler->hasErrorRecords());
|
27 |
-
trigger_error('Foo', E_USER_NOTICE);
|
28 |
-
$this->assertCount(2, $handler->getRecords());
|
29 |
-
$this->assertTrue($handler->hasEmergencyRecords());
|
30 |
-
}
|
31 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/tests/Monolog/Formatter/ChromePHPFormatterTest.php
DELETED
@@ -1,158 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Monolog package.
|
5 |
-
*
|
6 |
-
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Monolog\Formatter;
|
13 |
-
|
14 |
-
use Monolog\Logger;
|
15 |
-
|
16 |
-
class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
|
17 |
-
{
|
18 |
-
/**
|
19 |
-
* @covers Monolog\Formatter\ChromePHPFormatter::format
|
20 |
-
*/
|
21 |
-
public function testDefaultFormat()
|
22 |
-
{
|
23 |
-
$formatter = new ChromePHPFormatter();
|
24 |
-
$record = array(
|
25 |
-
'level' => Logger::ERROR,
|
26 |
-
'level_name' => 'ERROR',
|
27 |
-
'channel' => 'meh',
|
28 |
-
'context' => array('from' => 'logger'),
|
29 |
-
'datetime' => new \DateTime("@0"),
|
30 |
-
'extra' => array('ip' => '127.0.0.1'),
|
31 |
-
'message' => 'log',
|
32 |
-
);
|
33 |
-
|
34 |
-
$message = $formatter->format($record);
|
35 |
-
|
36 |
-
$this->assertEquals(
|
37 |
-
array(
|
38 |
-
'meh',
|
39 |
-
array(
|
40 |
-
'message' => 'log',
|
41 |
-
'context' => array('from' => 'logger'),
|
42 |
-
'extra' => array('ip' => '127.0.0.1'),
|
43 |
-
),
|
44 |
-
'unknown',
|
45 |
-
'error',
|
46 |
-
),
|
47 |
-
$message
|
48 |
-
);
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* @covers Monolog\Formatter\ChromePHPFormatter::format
|
53 |
-
*/
|
54 |
-
public function testFormatWithFileAndLine()
|
55 |
-
{
|
56 |
-
$formatter = new ChromePHPFormatter();
|
57 |
-
$record = array(
|
58 |
-
'level' => Logger::CRITICAL,
|
59 |
-
'level_name' => 'CRITICAL',
|
60 |
-
'channel' => 'meh',
|
61 |
-
'context' => array('from' => 'logger'),
|
62 |
-
'datetime' => new \DateTime("@0"),
|
63 |
-
'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
|
64 |
-
'message' => 'log',
|
65 |
-
);
|
66 |
-
|
67 |
-
$message = $formatter->format($record);
|
68 |
-
|
69 |
-
$this->assertEquals(
|
70 |
-
array(
|
71 |
-
'meh',
|
72 |
-
array(
|
73 |
-
'message' => 'log',
|
74 |
-
'context' => array('from' => 'logger'),
|
75 |
-
'extra' => array('ip' => '127.0.0.1'),
|
76 |
-
),
|
77 |
-
'test : 14',
|
78 |
-
'error',
|
79 |
-
),
|
80 |
-
$message
|
81 |
-
);
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* @covers Monolog\Formatter\ChromePHPFormatter::format
|
86 |
-
*/
|
87 |
-
public function testFormatWithoutContext()
|
88 |
-
{
|
89 |
-
$formatter = new ChromePHPFormatter();
|
90 |
-
$record = array(
|
91 |
-
'level' => Logger::DEBUG,
|
92 |
-
'level_name' => 'DEBUG',
|
93 |
-
'channel' => 'meh',
|
94 |
-
'context' => array(),
|
95 |
-
'datetime' => new \DateTime("@0"),
|
96 |
-
'extra' => array(),
|
97 |
-
'message' => 'log',
|
98 |
-
);
|
99 |
-
|
100 |
-
$message = $formatter->format($record);
|
101 |
-
|
102 |
-
$this->assertEquals(
|
103 |
-
array(
|
104 |
-
'meh',
|
105 |
-
'log',
|
106 |
-
'unknown',
|
107 |
-
'log',
|
108 |
-
),
|
109 |
-
$message
|
110 |
-
);
|
111 |
-
}
|
112 |
-
|
113 |
-
/**
|
114 |
-
* @covers Monolog\Formatter\ChromePHPFormatter::formatBatch
|
115 |
-
*/
|
116 |
-
public function testBatchFormatThrowException()
|
117 |
-
{
|
118 |
-
$formatter = new ChromePHPFormatter();
|
119 |
-
$records = array(
|
120 |
-
array(
|
121 |
-
'level' => Logger::INFO,
|
122 |
-
'level_name' => 'INFO',
|
123 |
-
'channel' => 'meh',
|
124 |
-
'context' => array(),
|
125 |
-
'datetime' => new \DateTime("@0"),
|
126 |
-
'extra' => array(),
|
127 |
-
'message' => 'log',
|
128 |
-
),
|
129 |
-
array(
|
130 |
-
'level' => Logger::WARNING,
|
131 |
-
'level_name' => 'WARNING',
|
132 |
-
'channel' => 'foo',
|
133 |
-
'context' => array(),
|
134 |
-
'datetime' => new \DateTime("@0"),
|
135 |
-
'extra' => array(),
|
136 |
-
'message' => 'log2',
|
137 |
-
),
|
138 |
-
);
|
139 |
-
|
140 |
-
$this->assertEquals(
|
141 |
-
array(
|
142 |
-
array(
|
143 |
-
'meh',
|
144 |
-
'log',
|
145 |
-
'unknown',
|
146 |
-
'info',
|
147 |
-
),
|
148 |
-
array(
|
149 |
-
'foo',
|
150 |
-
'log2',
|
151 |
-
'unknown',
|
152 |
-
'warn',
|
153 |
-
),
|
154 |
-
),
|
155 |
-
$formatter->formatBatch($records)
|
156 |
-
);
|
157 |
-
}
|
158 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/tests/Monolog/Formatter/ElasticaFormatterTest.php
DELETED
@@ -1,79 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Monolog package.
|
5 |
-
*
|
6 |
-
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Monolog\Formatter;
|
13 |
-
|
14 |
-
use Monolog\Logger;
|
15 |
-
|
16 |
-
class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase
|
17 |
-
{
|
18 |
-
public function setUp()
|
19 |
-
{
|
20 |
-
if (!class_exists("Elastica\Document")) {
|
21 |
-
$this->markTestSkipped("ruflin/elastica not installed");
|
22 |
-
}
|
23 |
-
}
|
24 |
-
|
25 |
-
/**
|
26 |
-
* @covers Monolog\Formatter\ElasticaFormatter::__construct
|
27 |
-
* @covers Monolog\Formatter\ElasticaFormatter::format
|
28 |
-
* @covers Monolog\Formatter\ElasticaFormatter::getDocument
|
29 |
-
*/
|
30 |
-
public function testFormat()
|
31 |
-
{
|
32 |
-
// test log message
|
33 |
-
$msg = array(
|
34 |
-
'level' => Logger::ERROR,
|
35 |
-
'level_name' => 'ERROR',
|
36 |
-
'channel' => 'meh',
|
37 |
-
'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
|
38 |
-
'datetime' => new \DateTime("@0"),
|
39 |
-
'extra' => array(),
|
40 |
-
'message' => 'log',
|
41 |
-
);
|
42 |
-
|
43 |
-
// expected values
|
44 |
-
$expected = $msg;
|
45 |
-
$expected['datetime'] = '1970-01-01T00:00:00.000000+00:00';
|
46 |
-
$expected['context'] = array(
|
47 |
-
'class' => '[object] (stdClass: {})',
|
48 |
-
'foo' => 7,
|
49 |
-
0 => 'bar',
|
50 |
-
);
|
51 |
-
|
52 |
-
// format log message
|
53 |
-
$formatter = new ElasticaFormatter('my_index', 'doc_type');
|
54 |
-
$doc = $formatter->format($msg);
|
55 |
-
$this->assertInstanceOf('Elastica\Document', $doc);
|
56 |
-
|
57 |
-
// Document parameters
|
58 |
-
$params = $doc->getParams();
|
59 |
-
$this->assertEquals('my_index', $params['_index']);
|
60 |
-
$this->assertEquals('doc_type', $params['_type']);
|
61 |
-
|
62 |
-
// Document data values
|
63 |
-
$data = $doc->getData();
|
64 |
-
foreach (array_keys($expected) as $key) {
|
65 |
-
$this->assertEquals($expected[$key], $data[$key]);
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* @covers Monolog\Formatter\ElasticaFormatter::getIndex
|
71 |
-
* @covers Monolog\Formatter\ElasticaFormatter::getType
|
72 |
-
*/
|
73 |
-
public function testGetters()
|
74 |
-
{
|
75 |
-
$formatter = new ElasticaFormatter('my_index', 'doc_type');
|
76 |
-
$this->assertEquals('my_index', $formatter->getIndex());
|
77 |
-
$this->assertEquals('doc_type', $formatter->getType());
|
78 |
-
}
|
79 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/monolog/monolog/tests/Monolog/Formatter/FlowdockFormatterTest.php
DELETED
@@ -1,55 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Monolog package.
|
5 |
-
*
|
6 |
-
* (c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Monolog\Formatter;
|
13 |
-
|
14 |
-
use Monolog\Logger;
|
15 |
-
use Monolog\TestCase;
|
16 |
-
|
17 |
-
class FlowdockFormatterTest extends TestCase
|
18 |
-
{
|
19 |
-
/**
|
20 |
-
* @covers Monolog\Formatter\FlowdockFormatter::format
|
21 |
-
*/
|
22 |
-
public function testFormat()
|
23 |
-
{
|
24 |
-
$formatter = new FlowdockFormatter('test_source', 'source@test.com');
|
25 |
-
$record = $this->getRecord();
|
26 |
-
|
27 |
-
$expected = array(
|
28 |
-
'source' => 'test_source',
|
29 |
-
'from_address' => 'source@test.com',
|
30 |
-
'subject' => 'in test_source: WARNING - test',
|
31 |
-
'content' => 'test',
|
32 |
-
'tags' => array('#logs', '#warning', '#test'),
|
33 |
-
'project' => 'test_source',
|
34 |
-
);
|
35 |
-
$formatted = $formatter->forma
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|