/* Gerado por scripts/meteor-estilo/extrair.js a partir do bundle do Meteor. Não editar. */
.dropzone{position:relative}.dropzone .dz-preview{width:120px;margin:.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;background:green}.dropzone .dz-preview .dz-error-message{color:red}.dropzone .dz-preview.dz-error .dz-error-mark,.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{display:none;left:30px;top:30px;width:54px;height:58px}@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.dropzone,.dropzone *{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,.3);background:#fff;padding:20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:linear-gradient(180deg,#eee,#ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid hsla(0,0%,78%,.8);background-color:hsla(0,0%,100%,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:hsla(0,0%,100%,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(.77,0,.175,1);animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(.77,0,.175,1);animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-error-mark svg,.dropzone .dz-preview .dz-success-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:hsla(0,0%,100%,.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:linear-gradient(180deg,#666,#444);position:absolute;top:0;left:0;bottom:0;width:0;transition:width .3s ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(180deg,#be2626,#a92222);padding:.5em 1.2em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:"";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:FontAwesome;src:url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot?v=4.7.0);src:url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),url(packages/fortawesome_fontawesome/upstream/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.bert-alert{display:none;position:fixed;background:#eee;z-index:9999;color:#666;padding:15px}.bert-alert.show{display:block}.bert-alert>.bert-container{-webkit-box-pack:start;-ms-flex-pack:start;-moz-justify-content:flex-start;justify-content:flex-start;-ms-flex-line-pack:center;-ms-flex-align:center}.bert-alert>.bert-container,.bert-alert>.bert-container>.bert-gem{display:-webkit-box;display:-moz-flex;display:-ms-flexbox;display:flex;align-content:center;-webkit-box-align:center;-moz-align-items:center;align-items:center}.bert-alert>.bert-container>.bert-gem{-webkit-box-pack:center;-ms-flex-pack:center;-moz-justify-content:center;justify-content:center;-ms-flex-line-pack:center;-ms-flex-align:center;float:left;width:32px;height:32px;background:rgba(0,0,0,.3);border-radius:3px;margin-right:15px}.bert-alert>.bert-container>.bert-gem i{position:relative;top:0;font-size:16px;line-height:16px}.bert-alert>.bert-container>.bert-content{float:left;width:calc(100% - 47px)}.bert-alert>.bert-container>.bert-content h5+p{top:0}.bert-alert>.bert-container>.bert-content p{position:relative;top:-1px}.bert-alert .bert-content>h5{display:block;color:#666;margin:0 0 5px;font-size:14px}.bert-alert:not(.default) .bert-content>h5{color:#fff}.bert-alert .bert-content>p{font-size:14px;line-height:20px;margin:0}.bert-alert .bert-content>.bert-icon{position:relative;top:-4px;float:right;font-size:24px;line-height:24px;margin:0}.bert-alert.danger i,.bert-alert.danger p,.bert-alert.info i,.bert-alert.info p,.bert-alert.success i,.bert-alert.success p,.bert-alert.warning i,.bert-alert.warning p{color:#fff}.bert-alert.success{background:#75ba50}.bert-alert.info{background:#1b9edb}.bert-alert.warning{background:#fad131}.bert-alert.danger{background:#da5347}.bert-alert.fixed-bottom,.bert-alert.fixed-top{left:0;right:0}.bert-alert.fixed-top{top:-100%;padding-top:20px;-webkit-transition:top .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.fixed-top.animate{padding-top:20px;top:-6px}.bert-alert.fixed-bottom{bottom:-100%;padding-bottom:20px;-webkit-transition:bottom .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.fixed-bottom.animate{padding-bottom:20px;bottom:-6px}.bert-alert[class*=growl-]{border-radius:3px;max-width:350px}.bert-alert[class*=growl-] .bert-content h5{display:block;color:#fff;margin:0 0 5px;font-size:14px}.bert-alert[class*=growl-] .bert-content p{font-size:14px;width:100%}.bert-alert.growl-bottom-left,.bert-alert.growl-top-left{left:-100%;right:auto;width:calc(100% - 30px);-webkit-transition:left .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.growl-bottom-left.animate,.bert-alert.growl-top-left.animate{left:15px}.bert-alert.growl-top-left,.bert-alert.growl-top-right{top:15px}.bert-alert.growl-bottom-left,.bert-alert.growl-bottom-right{bottom:15px}.bert-alert.growl-bottom-right,.bert-alert.growl-top-right{right:-100%;left:auto;width:calc(100% - 30px);-webkit-transition:right .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.growl-bottom-right.animate,.bert-alert.growl-top-right.animate{right:15px}@media screen and (min-width:350px){.bert-alert[class*=growl-]{min-width:350px}.bert-alert.growl-bottom-left,.bert-alert.growl-top-left{left:-100%;right:auto;-webkit-transition:left .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.growl-bottom-left.animate,.bert-alert.growl-top-left.animate{left:15px}.bert-alert.growl-bottom-right,.bert-alert.growl-top-right{right:-100%;left:auto;-webkit-transition:right .8s cubic-bezier(.5,0,.275,1.11)}.bert-alert.growl-bottom-right.animate,.bert-alert.growl-top-right.animate{right:15px}}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.out{opacity:0}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}.animated.bounceIn,.animated.bounceOut,.animated.flipOutX,.animated.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:none;transform:none}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(-1turn);transform:perspective(400px) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-190deg);transform:perspective(400px) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(-170deg);transform:perspective(400px) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}to{-webkit-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.list-group-item.autoform-array-item>div{display:table;width:100%}.list-group-item.autoform-array-item .autoform-remove-item-wrap{display:table-cell}.list-group-item.autoform-array-item .autoform-remove-item{vertical-align:top;margin-right:15px}.list-group-item.autoform-array-item .autoform-array-item-body{display:table-cell;vertical-align:top;width:100%}.checkbox-inline.fix-indent,.checkbox-inline.fix-indent+.checkbox-inline.fix-indent{margin-left:0;margin-right:10px}.checkbox-inline.fix-indent:last-child{margin-right:0}.radio-inline.fix-indent,.radio-inline.fix-indent+.radio-inline.fix-indent{margin-left:0;margin-right:10px}.radio-inline.fix-indent:last-child{margin-right:0}.form-horizontal .autoform-padding-fix .form-group{margin-right:0;margin-left:0}.checkbox-inline input[type=checkbox].autoform-checkbox-margin-fix,.checkbox input[type=checkbox].autoform-checkbox-margin-fix{margin-left:0}.btn.autoform-inline-align{vertical-align:top}body.pg-loading{overflow:hidden}.pg-loading-screen{position:fixed;bottom:0;left:0;right:0;top:0;z-index:1000000;opacity:1;background-color:#fff;transition:background-color .4s ease-in-out 0s}.pg-loading-screen.pg-loaded{opacity:0;-webkit-animation:pgAnimLoaded .5s cubic-bezier(.7,0,.3,1) both;animation:pgAnimLoaded .5s cubic-bezier(.7,0,.3,1) both}.pg-loading-screen.pg-loading .pg-loading-html,.pg-loading-screen.pg-loading .pg-loading-logo-header{opacity:1}.pg-loading-screen.pg-loading .pg-loading-html:not(.pg-loaded),.pg-loading-screen.pg-loading .pg-loading-logo-header{-webkit-animation:pgAnimLoading 1s cubic-bezier(.7,0,.3,1) both;animation:pgAnimLoading 1s cubic-bezier(.7,0,.3,1) both}.pg-loading-screen.pg-loading .pg-loading-html:not(.pg-loaded){-webkit-animation-delay:.3s;animation-delay:.3s}.pg-loading-screen .pg-loading-inner{height:100%;width:100%;margin:0;padding:0;position:static}.pg-loading-screen .pg-loading-center-outer{width:100%;padding:0;display:table!important;height:100%;position:absolute;top:0;left:0;margin:0}.pg-loading-screen .pg-loading-center-middle{padding:0;vertical-align:middle;display:table-cell!important;margin:0;text-align:center}.pg-loading-screen .pg-loading-html,.pg-loading-screen .pg-loading-logo-header{width:100%;opacity:0}.pg-loading-screen .pg-loading-logo-header{text-align:center}.pg-loading-screen .pg-loading-logo-header img{display:inline-block!important}.pg-loading-screen .pg-loading-html{margin-top:90px}.pg-loading-screen .pg-loading-html.pg-loaded{transition:opacity .5s cubic-bezier(.7,0,.3,1)}.pg-loading-screen .pg-loading-html.pg-loaded.pg-removing{opacity:0}.pg-loading-screen .pg-loading-html.pg-loaded.pg-loading{opacity:1}@-webkit-keyframes pgAnimLoading{0%{opacity:0}}@keyframes pgAnimLoading{0%{opacity:0}}@-webkit-keyframes pgAnimLoaded{0%{opacity:1}}@keyframes pgAnimLoaded{0%{opacity:1}}.sk-spinner-rotating-plane.sk-spinner{width:30px;height:30px;background-color:#333;margin:0 auto;-webkit-animation:sk-rotatePlane 1.2s infinite ease-in-out;animation:sk-rotatePlane 1.2s infinite ease-in-out}@-webkit-keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg);transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}to{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}@keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg);transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}to{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-spinner-double-bounce.sk-spinner{width:40px;height:40px;position:relative;margin:0 auto}.sk-spinner-double-bounce .sk-double-bounce1,.sk-spinner-double-bounce .sk-double-bounce2{width:100%;height:100%;border-radius:50%;background-color:#333;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:sk-doubleBounce 2s infinite ease-in-out;animation:sk-doubleBounce 2s infinite ease-in-out}.sk-spinner-double-bounce .sk-double-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-doubleBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-doubleBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-spinner-wave.sk-spinner{margin:0 auto;width:50px;height:30px;text-align:center;font-size:10px}.sk-spinner-wave div{background-color:#333;height:100%;width:6px;display:inline-block;-webkit-animation:sk-waveStretchDelay 1.2s infinite ease-in-out;animation:sk-waveStretchDelay 1.2s infinite ease-in-out}.sk-spinner-wave .sk-rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-spinner-wave .sk-rect3{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-spinner-wave .sk-rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-spinner-wave .sk-rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-waveStretchDelay{0%,40%,to{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes sk-waveStretchDelay{0%,40%,to{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}.sk-spinner-wandering-cubes.sk-spinner{margin:0 auto;width:32px;height:32px;position:relative}.sk-spinner-wandering-cubes .sk-cube1,.sk-spinner-wandering-cubes .sk-cube2{background-color:#333;width:10px;height:10px;position:absolute;top:0;left:0;-webkit-animation:sk-wanderingCubeMove 1.8s infinite ease-in-out;animation:sk-wanderingCubeMove 1.8s infinite ease-in-out}.sk-spinner-wandering-cubes .sk-cube2{-webkit-animation-delay:-.9s;animation-delay:-.9s}@-webkit-keyframes sk-wanderingCubeMove{25%{-webkit-transform:translateX(42px) rotate(-90deg) scale(.5);transform:translateX(42px) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(42px) translateY(42px) rotate(-179deg);transform:translateX(42px) translateY(42px) rotate(-179deg)}50.1%{-webkit-transform:translateX(42px) translateY(42px) rotate(-180deg);transform:translateX(42px) translateY(42px) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5);transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes sk-wanderingCubeMove{25%{-webkit-transform:translateX(42px) rotate(-90deg) scale(.5);transform:translateX(42px) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(42px) translateY(42px) rotate(-179deg);transform:translateX(42px) translateY(42px) rotate(-179deg)}50.1%{-webkit-transform:translateX(42px) translateY(42px) rotate(-180deg);transform:translateX(42px) translateY(42px) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5);transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.sk-spinner-pulse.sk-spinner{width:40px;height:40px;margin:0 auto;background-color:#333;border-radius:100%;-webkit-animation:sk-pulseScaleOut 1s infinite ease-in-out;animation:sk-pulseScaleOut 1s infinite ease-in-out}@-webkit-keyframes sk-pulseScaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes sk-pulseScaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.sk-spinner-chasing-dots.sk-spinner{margin:0 auto;width:40px;height:40px;position:relative;text-align:center;-webkit-animation:sk-chasingDotsRotate 2s infinite linear;animation:sk-chasingDotsRotate 2s infinite linear}.sk-spinner-chasing-dots .sk-dot1,.sk-spinner-chasing-dots .sk-dot2{width:60%;height:60%;display:inline-block;position:absolute;top:0;background-color:#333;border-radius:100%;-webkit-animation:sk-chasingDotsBounce 2s infinite ease-in-out;animation:sk-chasingDotsBounce 2s infinite ease-in-out}.sk-spinner-chasing-dots .sk-dot2{top:auto;bottom:0;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-chasingDotsRotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes sk-chasingDotsRotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes sk-chasingDotsBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-chasingDotsBounce{0%,to{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-spinner-three-bounce.sk-spinner{margin:0 auto;width:70px;text-align:center}.sk-spinner-three-bounce div{width:18px;height:18px;background-color:#333;border-radius:100%;display:inline-block;-webkit-animation:sk-threeBounceDelay 1.4s infinite ease-in-out;animation:sk-threeBounceDelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sk-spinner-three-bounce .sk-bounce1{-webkit-animation-delay:-.32s;animation-delay:-.32s}.sk-spinner-three-bounce .sk-bounce2{-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-threeBounceDelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-threeBounceDelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-spinner-circle.sk-spinner{margin:0 auto;width:22px;height:22px;position:relative}.sk-spinner-circle .sk-circle{width:100%;height:100%;position:absolute;left:0;top:0}.sk-spinner-circle .sk-circle:before{content:"";display:block;margin:0 auto;width:20%;height:20%;background-color:#333;border-radius:100%;-webkit-animation:sk-circleBounceDelay 1.2s infinite ease-in-out;animation:sk-circleBounceDelay 1.2s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sk-spinner-circle .sk-circle2{-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-spinner-circle .sk-circle3{-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-spinner-circle .sk-circle4{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-spinner-circle .sk-circle5{-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-spinner-circle .sk-circle6{-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-spinner-circle .sk-circle7{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-spinner-circle .sk-circle8{-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-spinner-circle .sk-circle9{-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-spinner-circle .sk-circle10{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-spinner-circle .sk-circle11{-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-spinner-circle .sk-circle12{-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-spinner-circle .sk-circle2:before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-spinner-circle .sk-circle3:before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-spinner-circle .sk-circle4:before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-spinner-circle .sk-circle5:before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-spinner-circle .sk-circle6:before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-spinner-circle .sk-circle7:before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-spinner-circle .sk-circle8:before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-spinner-circle .sk-circle9:before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-spinner-circle .sk-circle10:before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-spinner-circle .sk-circle11:before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-spinner-circle .sk-circle12:before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-circleBounceDelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-circleBounceDelay{0%,80%,to{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-spinner-cube-grid.sk-spinner{width:30px;height:30px;margin:0 auto}.sk-spinner-cube-grid .sk-cube{width:33%;height:33%;background-color:#333;float:left;-webkit-animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out;animation:sk-cubeGridScaleDelay 1.3s infinite ease-in-out}.sk-spinner-cube-grid .sk-cube:first-child{-webkit-animation-delay:.2s;animation-delay:.2s}.sk-spinner-cube-grid .sk-cube:nth-child(2){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-spinner-cube-grid .sk-cube:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}.sk-spinner-cube-grid .sk-cube:nth-child(4){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-spinner-cube-grid .sk-cube:nth-child(5){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-spinner-cube-grid .sk-cube:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-spinner-cube-grid .sk-cube:nth-child(7){-webkit-animation-delay:0s;animation-delay:0s}.sk-spinner-cube-grid .sk-cube:nth-child(8){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-spinner-cube-grid .sk-cube:nth-child(9){-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGridScaleDelay{0%,70%,to{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}.sk-spinner-wordpress.sk-spinner{background-color:#333;width:30px;height:30px;border-radius:30px;position:relative;margin:0 auto;-webkit-animation:sk-innerCircle 1s linear infinite;animation:sk-innerCircle 1s linear infinite}.sk-spinner-wordpress .sk-inner-circle{display:block;background-color:#fff;width:8px;height:8px;position:absolute;border-radius:8px;top:5px;left:5px}@-webkit-keyframes sk-innerCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes sk-innerCircle{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.sk-spinner-fading-circle.sk-spinner{margin:0 auto;width:22px;height:22px;position:relative}.sk-spinner-fading-circle .sk-circle{width:100%;height:100%;position:absolute;left:0;top:0}.sk-spinner-fading-circle .sk-circle:before{content:"";display:block;margin:0 auto;width:18%;height:18%;background-color:#333;border-radius:100%;-webkit-animation:sk-circleFadeDelay 1.2s infinite ease-in-out;animation:sk-circleFadeDelay 1.2s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.sk-spinner-fading-circle .sk-circle2{-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-spinner-fading-circle .sk-circle3{-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-spinner-fading-circle .sk-circle4{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-spinner-fading-circle .sk-circle5{-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-spinner-fading-circle .sk-circle6{-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-spinner-fading-circle .sk-circle7{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-spinner-fading-circle .sk-circle8{-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-spinner-fading-circle .sk-circle9{-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-spinner-fading-circle .sk-circle10{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-spinner-fading-circle .sk-circle11{-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-spinner-fading-circle .sk-circle12{-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-spinner-fading-circle .sk-circle2:before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-spinner-fading-circle .sk-circle3:before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-spinner-fading-circle .sk-circle4:before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-spinner-fading-circle .sk-circle5:before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-spinner-fading-circle .sk-circle6:before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-spinner-fading-circle .sk-circle7:before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-spinner-fading-circle .sk-circle8:before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-spinner-fading-circle .sk-circle9:before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-spinner-fading-circle .sk-circle10:before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-spinner-fading-circle .sk-circle11:before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-spinner-fading-circle .sk-circle12:before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-circleFadeDelay{0%,39%,to{opacity:0}40%{opacity:1}}@keyframes sk-circleFadeDelay{0%,39%,to{opacity:0}40%{opacity:1}}#login-buttons{display:inline-block;margin-right:.2px;line-height:1}#login-buttons .login-button{position:relative}#login-buttons button.login-button{width:100%}#login-buttons .login-buttons-with-only-one-button,#login-buttons .login-buttons-with-only-one-button .login-button,#login-buttons .login-buttons-with-only-one-button .login-text-and-button{display:inline-block}#login-buttons .login-display-name{display:inline-block;padding-right:2px;line-height:1.5;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}#login-buttons .loading{line-height:1;background-image:url(data:image/gif;base64,R0lGODlhEAALAPQAAP///wAAANra2tDQ0Orq6gYGBgAAAC4uLoKCgmBgYLq6uiIiIkpKSoqKimRkZL6+viYmJgQEBE5OTubm5tjY2PT09Dg4ONzc3PLy8ra2tqCgoMrKyu7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA);width:16px;background-position:50%;background-repeat:no-repeat}#login-buttons .login-button,.accounts-dialog .login-button{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:4px 8px;font-size:80%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;text-align:center;color:#fff;background:#596595;border:1px solid #464f75;border-radius:4px}#login-buttons .login-button:hover,.accounts-dialog .login-button:hover{background:#7580ac}#login-buttons .login-button:active,.accounts-dialog .login-button:active{background:#7580ac;box-shadow:inset 0 2px 3px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 2px 3px 0 rgba(0,0,0,.2) inset}#login-buttons .login-button.login-button-disabled,#login-buttons .login-button.login-button-disabled:active,.accounts-dialog .login-button.login-button-disabled,.accounts-dialog .login-button.login-button-disabled:active{color:#ddd;background:#aaa;border:1px solid #c3c3c3;box-shadow:none;-webkit-box-shadow:none}.accounts-dialog *{padding:0;margin:0;line-height:inherit;color:inherit;font:inherit;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.accounts-dialog .login-button{width:auto;margin-bottom:4px}#login-buttons .login-buttons-padding{display:inline-block;width:30px}#login-buttons .login-display-name{margin-right:4px}#login-buttons .configure-button{background:#ff2a00;border-color:#c20}#login-buttons .configure-button:active,#login-buttons .configure-button:hover{background:#f53;border-color:#ff2a00}#login-buttons .login-image{display:inline-block;position:absolute;left:6px;top:6px;width:16px;height:16px}#login-buttons .text-besides-image{margin-left:18px}#login-buttons .no-services{color:red}#login-buttons .login-link-and-dropdown-list{position:relative}#login-buttons .login-close-text{float:left;position:relative;padding-bottom:8px}#login-buttons .login-link-and-dropdown-list .loading,#login-buttons .login-text-and-button .loading{display:inline-block}#login-buttons.login-buttons-dropdown-align-left #login-dropdown-list .loading{float:right}#login-buttons.login-buttons-dropdown-align-right #login-dropdown-list .loading{float:left}#login-buttons .login-close-text-clear{clear:both}#login-buttons .or{text-align:center}#login-buttons .hline{text-decoration:line-through;color:#d3d3d3}#login-buttons .or-text{font-weight:700}#login-buttons #signup-link{float:right}#login-buttons #forgot-password-link{float:left}#login-buttons #back-to-login-link{float:right}#login-buttons a,.accounts-dialog a{cursor:pointer;text-decoration:underline}#login-buttons.login-buttons-dropdown-align-right .login-close-text{float:right}.accounts-dialog{border:1px solid #ccc;z-index:1000;background:#fff;border-radius:4px;padding:8px 12px;margin:-8px -12px 0;width:250px;box-shadow:0 0 3px 0 rgba(0,0,0,.2);-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.2);font-size:16px;color:#333}.accounts-dialog>*{line-height:1.6}.accounts-dialog>.login-close-text{line-height:inherit;font-size:inherit;font-family:inherit}.accounts-dialog .title,.accounts-dialog label{font-size:80%;margin-top:7px;margin-bottom:-2px}.accounts-dialog label{display:inline}.accounts-dialog input[type=email],.accounts-dialog input[type=password],.accounts-dialog input[type=text]{box-sizing:border-box;width:100%}.accounts-dialog input[type=email][type],.accounts-dialog input[type=password][type],.accounts-dialog input[type=text][type]{height:auto}.accounts-dialog .login-button-form-submit{margin-top:8px}.accounts-dialog .message{font-size:80%;margin-top:8px;line-height:1.3}.accounts-dialog .error-message{color:red}.accounts-dialog .info-message{color:green}.accounts-dialog .additional-link{font-size:75%}.accounts-dialog .accounts-close{position:absolute;top:0;right:5px;font-size:20px;font-weight:700;line-height:20px;text-decoration:none;color:#000;opacity:.4}.accounts-dialog .accounts-close:hover{opacity:.8}.accounts-dialog #login-buttons-cancel-enroll-account,.accounts-dialog #login-buttons-cancel-reset-password{float:right}#login-dropdown-list{position:absolute;top:-1px;left:-1px}#login-buttons.login-buttons-dropdown-align-right #login-dropdown-list{left:auto;right:-1px}#login-buttons-message-dialog .message{font-size:100%}.accounts-centered-dialog{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;z-index:1001;position:fixed;left:50%;margin-left:-129px;top:50%;margin-top:-40px}#configure-login-service-dialog{width:530px;margin-left:-269px;margin-top:-300px}#configure-login-service-dialog table{width:100%}#configure-login-service-dialog input[type=text]{width:100%;font-family:Courier New,Courier,monospace}#configure-login-service-dialog ol{margin-top:10px;margin-bottom:10px}#configure-login-service-dialog ol li{margin-left:30px}#configure-login-service-dialog .configuration_labels{width:30%}#configure-login-service-dialog .configuration_inputs{width:70%}#configure-login-service-dialog .new-section{margin-top:10px}#configure-login-service-dialog .url{font-family:Courier New,Courier,monospace}#configure-login-service-dialog-save-configuration{float:right}.configure-login-service-dismiss-button{float:left}#just-verified-dismiss-button,#messages-dialog-dismiss-button{margin-top:8px}.hide-background{position:fixed;left:0;top:0;width:100%;height:100%;z-index:999;background-color:#000;background-color:rgba(0,0,0,.7)}#login-buttons input[type=email],#login-buttons input[type=password],#login-buttons input[type=text],.accounts-dialog input[type=email],.accounts-dialog input[type=password],.accounts-dialog input[type=text]{padding:4px;border:1px solid #aaa;border-radius:3px;line-height:1}.offline-ui.offline-ui-up .offline-ui-content:before{content:"Online"}.offline-ui.offline-ui-down .offline-ui-content:before{content:"Offline"}.offline-ui .offline-ui-retry:before{content:"Reconnect"}.offline-ui.offline-ui-up .offline-ui-content:before{content:"Your computer is connected to the internet."}@media (max-width:1024px){.offline-ui.offline-ui-up .offline-ui-content:before{content:"Your device is connected to the internet."}}@media (max-width:568px){.offline-ui.offline-ui-up .offline-ui-content:before{content:"Your device is connected."}}.offline-ui.offline-ui-down .offline-ui-content:before{content:"Your computer lost its internet connection."}@media (max-width:1024px){.offline-ui.offline-ui-down .offline-ui-content:before{content:"Your device lost its internet connection."}}@media (max-width:568px){.offline-ui.offline-ui-down .offline-ui-content:before{content:"Your device isn't connected."}}.offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before,.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before{content:"Attempting to reconnect..."}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " seconds..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Reconnecting in " attr(data-retry-in-value) "s..."}}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " second..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Reconnecting in " attr(data-retry-in-value) "s..."}}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " minutes..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Reconnecting in " attr(data-retry-in-value) "m..."}}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " minute..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Reconnecting in " attr(data-retry-in-value) "m..."}}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " hours..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Reconnecting in " attr(data-retry-in-value) "h..."}}.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Connection lost. Reconnecting in " attr(data-retry-in-value) " hour..."}@media (max-width:568px){.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Reconnecting in " attr(data-retry-in-value) "h..."}}.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before{content:"Connection attempt failed."}html[lang=fr] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Connecté"}html[lang=fr] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Pas connecté"}html[lang=fr] .offline-ui .offline-ui-retry:before{content:"Rebranchez"}html[lang=fr] .offline-ui.offline-ui-up .offline-ui-content:before{content:"L'ordinateur est connecté à l'Internet."}@media (max-width:1024px){html[lang=fr] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Votre appareil est connecté à l'internet."}}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Votre appareil est connecté."}}html[lang=fr] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Votre ordinateur a perdu sa connexion internet."}@media (max-width:1024px){html[lang=fr] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Votre appareil a perdu sa connexion internet."}}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Votre appareil n'est pas branché."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before,html[lang=fr] .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before{content:"Une tentative de reconnexion..."}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " secondes..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Reconnexion en " attr(data-retry-in-value) "s..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " seconde..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Reconnexion en " attr(data-retry-in-value) "s..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " minutes..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Reconnexion en " attr(data-retry-in-value) "m..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " minute..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Reconnexion en " attr(data-retry-in-value) "m..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " heures..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Reconnexion en " attr(data-retry-in-value) "h..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Connexion perdue. Reconnexion en " attr(data-retry-in-value) " heure..."}@media (max-width:568px){html[lang=fr] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Reconnexion en " attr(data-retry-in-value) "h..."}}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry{display:none}html[lang=fr] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before{content:"La tentative de connexion a échoué."}html[lang=pt] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Conectado"}html[lang=pt] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Desconectado"}html[lang=pt] .offline-ui .offline-ui-retry:before{content:"Reconectar"}html[lang=pt] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Seu computador está conectado à internet."}@media (max-width:1024px){html[lang=pt] .offline-ui.offline-ui-up .offline-ui-content:before{content:"O dispositivo está conectado à internet."}}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-up .offline-ui-content:before{content:"O dispositivo está conectado."}}html[lang=pt] .offline-ui.offline-ui-down .offline-ui-content:before{content:"O computador perdeu sua conexão com a internet."}@media (max-width:1024px){html[lang=pt] .offline-ui.offline-ui-down .offline-ui-content:before{content:"O dispositivo perdeu sua conexão com a internet."}}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Seu dispositivo não está conectado."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before,html[lang=pt] .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before{content:"Tentando reconectar..."}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " segundos..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Reconectando em " attr(data-retry-in-value) "s..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " segundo..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Reconectando em " attr(data-retry-in-value) "s..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " minutos..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Reconectando em " attr(data-retry-in-value) "m..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " minuto..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Reconectando em " attr(data-retry-in-value) "m..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " horas..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Reconectando em " attr(data-retry-in-value) "h..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Conexão perdida. reconectando em " attr(data-retry-in-value) " hora..."}@media (max-width:568px){html[lang=pt] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Reconectando em " attr(data-retry-in-value) "h..."}}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry{display:none}html[lang=pt] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before{content:"Tentativa de conexão falhou."}html[lang=es] .offline-ui.offline-ui-up .offline-ui-content:before{content:"En línea"}html[lang=es] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Fuera de línea"}html[lang=es] .offline-ui .offline-ui-retry:before{content:"Reconectar"}html[lang=es] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Tu computador está conectado a internet."}@media (max-width:1024px){html[lang=es] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Tu dispositivo está conectado a internet."}}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Tu dispositivo está conectado."}}html[lang=es] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Tu computador perdió su conexión a internet."}@media (max-width:1024px){html[lang=es] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Tu dispositivo perdió su conexión a internet."}}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Tu dispositivo no está conectado."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before,html[lang=es] .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before{content:"Intentando reconectar..."}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " segundos..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Reconectando en " attr(data-retry-in-value) "s..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " segundo..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Reconectando en " attr(data-retry-in-value) "s..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " minutos..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Reconectando en " attr(data-retry-in-value) "m..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " minuto..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Reconectando en " attr(data-retry-in-value) "m..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " horas..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Reconectando en " attr(data-retry-in-value) "h..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Conexión perdida. Reconectando en " attr(data-retry-in-value) " hora..."}@media (max-width:568px){html[lang=es] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Reconectando en " attr(data-retry-in-value) "h..."}}html[lang=es] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry{display:none}html[lang=es] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before{content:"Intento fallido."}html[lang=de] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Online"}html[lang=de] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Offline"}html[lang=de] .offline-ui .offline-ui-retry:before{content:"Verbinden"}html[lang=de] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Dein Computer ist mit dem Internet verbunden."}@media (max-width:1024px){html[lang=de] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Deing Gerät ist mit dem Internet verbunden."}}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-up .offline-ui-content:before{content:"Dein Gerät ist online."}}html[lang=de] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Dein Computer wurde vom Internet getrennt."}@media (max-width:1024px){html[lang=de] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Dein Gerät wurde vom Internet getrennt."}}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down .offline-ui-content:before{content:"Keine Internetverbindung."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-connecting-2s .offline-ui-content:before,html[lang=de] .offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:before{content:"Versuche Verbindung wiederherzustellen..."}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Sekunden..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second]:before{content:"Verbinde in " attr(data-retry-in-value) "s..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Sekunde..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=second][data-retry-in-value="1"]:before{content:"Verbinde in " attr(data-retry-in-value) "s..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Minuten..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute]:before{content:"Verbinde in " attr(data-retry-in-value) "m..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Minute..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=minute][data-retry-in-value="1"]:before{content:"Verbinde in " attr(data-retry-in-value) "m..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Stunden..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour]:before{content:"Verbinde in " attr(data-retry-in-value) "h..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Keine Verbindung. Verbinde nochmal in " attr(data-retry-in-value) " Stunde..."}@media (max-width:568px){html[lang=de] .offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content[data-retry-in-unit=hour][data-retry-in-value="1"]:before{content:"Verbinde in " attr(data-retry-in-value) "h..."}}html[lang=de] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry{display:none}html[lang=de] .offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s .offline-ui-content:before{content:"Verbindung Fehlgeschlagen."}.offline-ui,.offline-ui *,.offline-ui:after,.offline-ui :after,.offline-ui:before,.offline-ui :before{box-sizing:border-box}.offline-ui{display:none;position:fixed;background:#fff;z-index:2000;margin:auto;top:0;left:0;right:0}.offline-ui .offline-ui-content:before{display:inline}.offline-ui .offline-ui-retry{-moz-user-select:-moz-none;-ms-user-select:none;-webkit-user-select:none;user-select:none;display:none}.offline-ui .offline-ui-retry:before{display:inline}.offline-ui.offline-ui-down,.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-retry,.offline-ui.offline-ui-up.offline-ui-up-5s{display:block}.offline-ui.offline-ui-down.offline-ui-reconnect-failed-2s.offline-ui-waiting .offline-ui-retry{display:none}@-webkit-keyframes offline-dropin{0%{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);opacity:0}1%{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px);opacity:0}2%{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px);opacity:1}to{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);opacity:1}}@keyframes offline-dropin{0%{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);opacity:0}1%{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px);opacity:0}2%{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px);opacity:1}to{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);opacity:1}}@-webkit-keyframes offline-dropout{0%{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0)}to{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px)}}@keyframes offline-dropout{0%{transform:translateY(0);-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0)}to{transform:translateY(-800px);-webkit-transform:translateY(-800px);-moz-transform:translateY(-800px);-ms-transform:translateY(-800px);-o-transform:translateY(-800px)}}@-webkit-keyframes offline-rotation{0%{transform:rotate(0deg);-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg)}to{transform:rotate(359deg);-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg)}}@keyframes offline-rotation{0%{transform:rotate(0deg);-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);-o-transform:rotate(0deg)}to{transform:rotate(359deg);-webkit-transform:rotate(359deg);-moz-transform:rotate(359deg);-ms-transform:rotate(359deg);-o-transform:rotate(359deg)}}.offline-ui{border-radius:0 0 4px 4px;font-family:Helvetica Neue,sans-serif;font-weight:300;padding:1em;width:38em;max-width:100%;background:#000;color:#ccc;overflow:hidden}@media (max-width:38em){.offline-ui{border-radius:0}}.offline-ui .offline-ui-content{padding-left:2em}.offline-ui .offline-ui-content:before{line-height:1.25em}.offline-ui .offline-ui-content:after{border-radius:50%;content:" ";display:block;position:absolute;top:0;bottom:0;left:1em;margin:auto;height:1em;width:1em}.offline-ui .offline-ui-retry{position:absolute;right:3em;top:0;bottom:0;background:hsla(0,0%,100%,.2);text-decoration:none;color:inherit;line-height:3.5em;height:3.5em;margin:auto;padding:0 1em}.offline-ui.offline-ui-up{-webkit-animation:offline-dropout forwards .5s 2s;animation:offline-dropout forwards .5s 2s;-webkit-backface-visibility:hidden}.offline-ui.offline-ui-up .offline-ui-content:after{background:#80d580}.offline-ui.offline-ui-down{-webkit-animation:offline-dropin .5s;animation:offline-dropin .5s;-webkit-backface-visibility:hidden}.offline-ui.offline-ui-down .offline-ui-content:after{background:#e24949}.offline-ui.offline-ui-down.offline-ui-connecting,.offline-ui.offline-ui-down.offline-ui-waiting{padding-right:3em}.offline-ui.offline-ui-down.offline-ui-connecting .offline-ui-content:after,.offline-ui.offline-ui-down.offline-ui-waiting .offline-ui-content:after{background:#e24949}.offline-ui.offline-ui-down.offline-ui-connecting:after,.offline-ui.offline-ui-down.offline-ui-waiting:after{-webkit-animation:offline-rotation .7s linear infinite;animation:offline-rotation .7s linear infinite;-webkit-backface-visibility:hidden;border-radius:50%;content:" ";display:block;position:absolute;right:1em;top:0;bottom:0;margin:auto;height:1em;width:1em;border:2px solid transparent;border-top-color:hsla(0,0%,100%,.5);border-left-color:hsla(0,0%,100%,.5);opacity:.7}.offline-ui.offline-ui-down.offline-ui-waiting{padding-right:11em}.offline-ui.offline-ui-down.offline-ui-waiting.offline-ui-reconnect-failed-2s{padding-right:0}#MeteorCameraPreview{background:#222}#MeteorCameraCanvas{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:hidden}body.swal2-toast-shown{overflow-y:auto}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-icon{margin:0 0 15px}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-buttonswrapper{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-loading{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-input{height:32px;font-size:14px;margin:5px auto}body.swal2-toast-shown>.swal2-container{position:fixed;background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-shown{background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-top{top:0;left:50%;bottom:auto;right:auto;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-top-right{top:0;left:auto;bottom:auto;right:0}body.swal2-toast-shown>.swal2-container.swal2-top-left{top:0;left:0;bottom:auto;right:auto}body.swal2-toast-shown>.swal2-container.swal2-center-left{top:50%;left:0;bottom:auto;right:auto;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-center{top:50%;left:50%;bottom:auto;right:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-toast-shown>.swal2-container.swal2-center-right{top:50%;left:auto;bottom:auto;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-left{top:auto;left:0;bottom:0;right:auto}body.swal2-toast-shown>.swal2-container.swal2-bottom{top:auto;left:50%;bottom:0;right:auto;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-right{top:auto;left:auto;bottom:0;right:0}body.swal2-iosfix{position:fixed;left:0;right:0}body.swal2-no-backdrop>.swal2-shown{top:auto;bottom:auto;left:auto;right:auto;background-color:transparent}body.swal2-no-backdrop>.swal2-shown>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop>.swal2-shown.swal2-top{top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-top-left{top:0;left:0}body.swal2-no-backdrop>.swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop>.swal2-shown.swal2-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-center-left{top:50%;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-center-right{top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-bottom{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-bottom-left{bottom:0;left:0}body.swal2-no-backdrop>.swal2-shown.swal2-bottom-right{bottom:0;right:0}.swal2-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:fixed;padding:10px;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:1060}.swal2-container.swal2-top,.swal2-container.swal2-top-left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-top-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-top-right{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-center,.swal2-container.swal2-center-left{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-center-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-center-right{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-bottom,.swal2-container.swal2-bottom-left{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-bottom-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.swal2-container.swal2-bottom-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{-ms-flex:1;flex:1;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-pack:center}.swal2-container.swal2-grow-fullscreen>.swal2-modal,.swal2-container.swal2-grow-row>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-webkit-box-pack:center;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-ms-flex-pack:center}.swal2-container.swal2-grow-column{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-top-left{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-right{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-line-pack:center;align-content:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-left):not(.swal2-bottom-right)>.swal2-modal{margin:auto}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border-radius:5px;box-sizing:border-box;text-align:center;overflow-x:hidden;overflow-y:auto;display:none;position:relative;max-width:100%}.swal2-popup.swal2-toast{width:300px;padding:0 15px;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow-y:hidden;box-shadow:0 0 10px #d9d9d9}.swal2-popup.swal2-toast .swal2-title{max-width:300px;font-size:16px;text-align:left}.swal2-popup.swal2-toast .swal2-content{font-size:14px;text-align:left}.swal2-popup.swal2-toast .swal2-icon{width:32px;min-width:32px;height:32px;margin:0 15px 0 0}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-info,.swal2-popup.swal2-toast .swal2-icon.swal2-question,.swal2-popup.swal2-toast .swal2-icon.swal2-warning{font-size:26px;line-height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:14px;width:22px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:5px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:5px}.swal2-popup.swal2-toast .swal2-buttonswrapper{margin:0 0 0 5px}.swal2-popup.swal2-toast .swal2-styled{margin:0 0 0 5px;padding:5px 10px}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-validationerror{width:100%;margin:5px -20px}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:32px;height:64px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:64px 0 0 64px;top:-4px;left:-15px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:32px 32px;transform-origin:32px 32px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 64px 64px 0;top:-5px;left:14px;-webkit-transform-origin:0 32px;transform-origin:0 32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{width:7px;height:90px;left:28px;top:8px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:5px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{width:12px;left:3px;top:18px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{width:22px;right:3px;top:15px}.swal2-popup.swal2-toast .swal2-animate-success-line-tip{-webkit-animation:animate-toast-success-tip .75s;animation:animate-toast-success-tip .75s}.swal2-popup.swal2-toast .swal2-animate-success-line-long{-webkit-animation:animate-toast-success-long .75s;animation:animate-toast-success-long .75s}.swal2-popup:focus{outline:0}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-title{color:#595959;font-size:30px;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-popup .swal2-buttonswrapper{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:15px}.swal2-popup .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm{box-sizing:border-box;border:4px solid transparent;border-color:transparent;width:40px;height:40px;padding:0;margin:7.5px;vertical-align:top;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-popup .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm:after{display:inline-block;content:"";margin-left:5px;vertical-align:-1px;height:15px;width:15px;border:3px solid #999;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{border:0;border-radius:3px;box-shadow:none;color:#fff;cursor:pointer;font-size:17px;font-weight:500;margin:15px 5px 0;padding:10px 32px}.swal2-popup .swal2-styled:focus{outline:0;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-image{margin:20px auto;max-width:100%}.swal2-popup .swal2-close{background:0 0;border:0;margin:0;padding:0;width:38px;height:40px;font-size:36px;line-height:40px;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;transition:color .1s ease}.swal2-popup .swal2-close:hover{color:#d55}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{font-size:18px;text-align:center;font-weight:300;position:relative;float:none;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:20px auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;box-sizing:border-box;font-size:18px;border-radius:3px;border:1px solid #d9d9d9;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);transition:border-color .3s,box-shadow .3s}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{outline:0;border:1px solid #b4dbed;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file::-webkit-input-placeholder,.swal2-popup .swal2-input::-webkit-input-placeholder,.swal2-popup .swal2-textarea::-webkit-input-placeholder{color:#ccc}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-file::-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-input::-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder,.swal2-popup .swal2-textarea::-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{float:left;width:80%}.swal2-popup .swal2-range output{float:right;width:20%;font-size:20px;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:43px;line-height:43px;vertical-align:middle;margin:20px auto;padding:0}.swal2-popup .swal2-input{height:43px;padding:0 12px}.swal2-popup .swal2-input[type=number]{max-width:150px}.swal2-popup .swal2-file{font-size:20px}.swal2-popup .swal2-textarea{height:108px;padding:12px}.swal2-popup .swal2-select{color:#545454;font-size:inherit;padding:5px 10px;min-width:40%;max-width:100%}.swal2-popup .swal2-radio{border:0}.swal2-popup .swal2-radio label:not(:first-child){margin-left:20px}.swal2-popup .swal2-radio input,.swal2-popup .swal2-radio span{vertical-align:middle}.swal2-popup .swal2-radio input{margin:0 3px 0 0}.swal2-popup .swal2-checkbox{color:#545454}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-checkbox span{vertical-align:middle}.swal2-popup .swal2-validationerror{background-color:#f0f0f0;margin:0 -20px;overflow:hidden;padding:10px;color:gray;font-size:16px;font-weight:300;display:none}.swal2-popup .swal2-validationerror:before{content:"!";display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:24px;text-align:center;margin-right:10px}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#f8bb86;border-color:#facea8}.swal2-icon.swal2-info,.swal2-icon.swal2-warning{font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-info{font-family:Open Sans,sans-serif;color:#3fc3ee;border-color:#9de0f6}.swal2-icon.swal2-question{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid hsla(98,55%,69%,.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;margin:0 0 20px;padding:0}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle,.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@-webkit-keyframes showSweetToast{0%{-webkit-transform:translateY(-10px) rotate(2deg);transform:translateY(-10px) rotate(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotate(-2deg);transform:translateY(0) rotate(-2deg);opacity:.5}66%{-webkit-transform:translateY(5px) rotate(2deg);transform:translateY(5px) rotate(2deg);opacity:.7}to{-webkit-transform:translateY(0) rotate(0);transform:translateY(0) rotate(0);opacity:1}}@keyframes showSweetToast{0%{-webkit-transform:translateY(-10px) rotate(2deg);transform:translateY(-10px) rotate(2deg);opacity:0}33%{-webkit-transform:translateY(0) rotate(-2deg);transform:translateY(0) rotate(-2deg);opacity:.5}66%{-webkit-transform:translateY(5px) rotate(2deg);transform:translateY(5px) rotate(2deg);opacity:.7}to{-webkit-transform:translateY(0) rotate(0);transform:translateY(0) rotate(0);opacity:1}}@-webkit-keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}to{-webkit-transform:rotate(1deg);transform:rotate(1deg);opacity:0}}@keyframes hideSweetToast{0%{opacity:1}33%{opacity:.5}to{-webkit-transform:rotate(1deg);transform:rotate(1deg);opacity:0}}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.swal2-show.swal2-toast{-webkit-animation:showSweetToast .5s;animation:showSweetToast .5s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:hideSweetAlert .15s forwards;animation:hideSweetAlert .15s forwards}.swal2-hide.swal2-toast{-webkit-animation:hideSweetToast .2s forwards;animation:hideSweetToast .2s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}@-webkit-keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}@-webkit-keyframes animate-toast-success-tip{0%{width:0;left:1px;top:9px}54%{width:0;left:1px;top:9px}70%{width:24px;left:-4px;top:17px}84%{width:8px;left:10px;top:20px}to{width:12px;left:3px;top:18px}}@keyframes animate-toast-success-tip{0%{width:0;left:1px;top:9px}54%{width:0;left:1px;top:9px}70%{width:24px;left:-4px;top:17px}84%{width:8px;left:10px;top:20px}to{width:12px;left:3px;top:18px}}@-webkit-keyframes animate-toast-success-long{0%{width:0;right:22px;top:26px}65%{width:0;right:22px;top:26px}84%{width:26px;right:0;top:15px}to{width:22px;right:3px;top:15px}}@keyframes animate-toast-success-long{0%{width:0;right:22px;top:26px}65%{width:0;right:22px;top:26px}84%{width:26px;right:0;top:15px}to{width:22px;right:3px;top:15px}}@-webkit-keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}to{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}to{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:animate-success-tip .75s;animation:animate-success-tip .75s}.swal2-animate-success-line-long{-webkit-animation:animate-success-long .75s;animation:animate-success-long .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}to{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}to{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:animate-error-icon .5s;animation:animate-error-icon .5s}@-webkit-keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}to{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}to{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:animate-x-mark .5s;animation:animate-x-mark .5s}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:alpha(Opacity=80);filter:alpha(opacity=80)}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px;background-position:15px;background-repeat:no-repeat;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>:hover{box-shadow:0 0 12px #000;opacity:1;-ms-filter:alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=)!important}#toast-container>.toast-error{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=)!important}#toast-container>.toast-success{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==)!important}#toast-container>.toast-warning{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:alpha(Opacity=40);filter:alpha(opacity=40)}@media (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}
/* ---- animate.css ---- */
@charset "UTF-8";

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }

  25%, 75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%, 20% {
    -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
  }

  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }
}

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(.95, .95, .95);
    transform: perspective(400px) scale3d(.95, .95, .95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);
    transform: scale(.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);
    transform: scale(.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
    animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
  }
}

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}

/* ---- bootstrap.min.css ---- */
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;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}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;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 ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.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)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.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}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.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)}.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}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.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)}.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}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.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)}.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}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.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)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.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}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.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;-webkit-background-clip:padding-box;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)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.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)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.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}.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}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.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}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.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}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.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}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.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}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.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}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;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}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.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)}.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}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.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}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.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)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.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}.panel>.list-group:last-child .list-group-item:last-child,.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}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.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)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.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}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;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;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.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-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;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;background-color:#fff;-webkit-background-clip:padding-box;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);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.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}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.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}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.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)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.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)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.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:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.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}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.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)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
/* ---- ionicons.css ---- */
@charset "UTF-8";
/*!
  Ionicons, v2.0.1
  Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
  https://twitter.com/benjsperry  https://twitter.com/ionicframework
  MIT License: https://github.com/driftyco/ionicons

  Android-style icons originally built by Google’s
  Material Design Icons: https://github.com/google/material-design-icons
  used under CC BY http://creativecommons.org/licenses/by/4.0/
  Modified icons to fit ionicon’s grid from original.
*/
@font-face { font-family: "Ionicons"; src: url("../fonts/ionicons.eot?v=2.0.1"); src: url("../fonts/ionicons.eot?v=2.0.1#iefix") format("embedded-opentype"), url("../fonts/ionicons.ttf?v=2.0.1") format("truetype"), url("../fonts/ionicons.woff?v=2.0.1") format("woff"), url("../fonts/ionicons.svg?v=2.0.1#Ionicons") format("svg"); font-weight: normal; font-style: normal; }
.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before { display: inline-block; font-family: "Ionicons"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.ion-alert:before { content: "\f101"; }

.ion-alert-circled:before { content: "\f100"; }

.ion-android-add:before { content: "\f2c7"; }

.ion-android-add-circle:before { content: "\f359"; }

.ion-android-alarm-clock:before { content: "\f35a"; }

.ion-android-alert:before { content: "\f35b"; }

.ion-android-apps:before { content: "\f35c"; }

.ion-android-archive:before { content: "\f2c9"; }

.ion-android-arrow-back:before { content: "\f2ca"; }

.ion-android-arrow-down:before { content: "\f35d"; }

.ion-android-arrow-dropdown:before { content: "\f35f"; }

.ion-android-arrow-dropdown-circle:before { content: "\f35e"; }

.ion-android-arrow-dropleft:before { content: "\f361"; }

.ion-android-arrow-dropleft-circle:before { content: "\f360"; }

.ion-android-arrow-dropright:before { content: "\f363"; }

.ion-android-arrow-dropright-circle:before { content: "\f362"; }

.ion-android-arrow-dropup:before { content: "\f365"; }

.ion-android-arrow-dropup-circle:before { content: "\f364"; }

.ion-android-arrow-forward:before { content: "\f30f"; }

.ion-android-arrow-up:before { content: "\f366"; }

.ion-android-attach:before { content: "\f367"; }

.ion-android-bar:before { content: "\f368"; }

.ion-android-bicycle:before { content: "\f369"; }

.ion-android-boat:before { content: "\f36a"; }

.ion-android-bookmark:before { content: "\f36b"; }

.ion-android-bulb:before { content: "\f36c"; }

.ion-android-bus:before { content: "\f36d"; }

.ion-android-calendar:before { content: "\f2d1"; }

.ion-android-call:before { content: "\f2d2"; }

.ion-android-camera:before { content: "\f2d3"; }

.ion-android-cancel:before { content: "\f36e"; }

.ion-android-car:before { content: "\f36f"; }

.ion-android-cart:before { content: "\f370"; }

.ion-android-chat:before { content: "\f2d4"; }

.ion-android-checkbox:before { content: "\f374"; }

.ion-android-checkbox-blank:before { content: "\f371"; }

.ion-android-checkbox-outline:before { content: "\f373"; }

.ion-android-checkbox-outline-blank:before { content: "\f372"; }

.ion-android-checkmark-circle:before { content: "\f375"; }

.ion-android-clipboard:before { content: "\f376"; }

.ion-android-close:before { content: "\f2d7"; }

.ion-android-cloud:before { content: "\f37a"; }

.ion-android-cloud-circle:before { content: "\f377"; }

.ion-android-cloud-done:before { content: "\f378"; }

.ion-android-cloud-outline:before { content: "\f379"; }

.ion-android-color-palette:before { content: "\f37b"; }

.ion-android-compass:before { content: "\f37c"; }

.ion-android-contact:before { content: "\f2d8"; }

.ion-android-contacts:before { content: "\f2d9"; }

.ion-android-contract:before { content: "\f37d"; }

.ion-android-create:before { content: "\f37e"; }

.ion-android-delete:before { content: "\f37f"; }

.ion-android-desktop:before { content: "\f380"; }

.ion-android-document:before { content: "\f381"; }

.ion-android-done:before { content: "\f383"; }

.ion-android-done-all:before { content: "\f382"; }

.ion-android-download:before { content: "\f2dd"; }

.ion-android-drafts:before { content: "\f384"; }

.ion-android-exit:before { content: "\f385"; }

.ion-android-expand:before { content: "\f386"; }

.ion-android-favorite:before { content: "\f388"; }

.ion-android-favorite-outline:before { content: "\f387"; }

.ion-android-film:before { content: "\f389"; }

.ion-android-folder:before { content: "\f2e0"; }

.ion-android-folder-open:before { content: "\f38a"; }

.ion-android-funnel:before { content: "\f38b"; }

.ion-android-globe:before { content: "\f38c"; }

.ion-android-hand:before { content: "\f2e3"; }

.ion-android-hangout:before { content: "\f38d"; }

.ion-android-happy:before { content: "\f38e"; }

.ion-android-home:before { content: "\f38f"; }

.ion-android-image:before { content: "\f2e4"; }

.ion-android-laptop:before { content: "\f390"; }

.ion-android-list:before { content: "\f391"; }

.ion-android-locate:before { content: "\f2e9"; }

.ion-android-lock:before { content: "\f392"; }

.ion-android-mail:before { content: "\f2eb"; }

.ion-android-map:before { content: "\f393"; }

.ion-android-menu:before { content: "\f394"; }

.ion-android-microphone:before { content: "\f2ec"; }

.ion-android-microphone-off:before { content: "\f395"; }

.ion-android-more-horizontal:before { content: "\f396"; }

.ion-android-more-vertical:before { content: "\f397"; }

.ion-android-navigate:before { content: "\f398"; }

.ion-android-notifications:before { content: "\f39b"; }

.ion-android-notifications-none:before { content: "\f399"; }

.ion-android-notifications-off:before { content: "\f39a"; }

.ion-android-open:before { content: "\f39c"; }

.ion-android-options:before { content: "\f39d"; }

.ion-android-people:before { content: "\f39e"; }

.ion-android-person:before { content: "\f3a0"; }

.ion-android-person-add:before { content: "\f39f"; }

.ion-android-phone-landscape:before { content: "\f3a1"; }

.ion-android-phone-portrait:before { content: "\f3a2"; }

.ion-android-pin:before { content: "\f3a3"; }

.ion-android-plane:before { content: "\f3a4"; }

.ion-android-playstore:before { content: "\f2f0"; }

.ion-android-print:before { content: "\f3a5"; }

.ion-android-radio-button-off:before { content: "\f3a6"; }

.ion-android-radio-button-on:before { content: "\f3a7"; }

.ion-android-refresh:before { content: "\f3a8"; }

.ion-android-remove:before { content: "\f2f4"; }

.ion-android-remove-circle:before { content: "\f3a9"; }

.ion-android-restaurant:before { content: "\f3aa"; }

.ion-android-sad:before { content: "\f3ab"; }

.ion-android-search:before { content: "\f2f5"; }

.ion-android-send:before { content: "\f2f6"; }

.ion-android-settings:before { content: "\f2f7"; }

.ion-android-share:before { content: "\f2f8"; }

.ion-android-share-alt:before { content: "\f3ac"; }

.ion-android-star:before { content: "\f2fc"; }

.ion-android-star-half:before { content: "\f3ad"; }

.ion-android-star-outline:before { content: "\f3ae"; }

.ion-android-stopwatch:before { content: "\f2fd"; }

.ion-android-subway:before { content: "\f3af"; }

.ion-android-sunny:before { content: "\f3b0"; }

.ion-android-sync:before { content: "\f3b1"; }

.ion-android-textsms:before { content: "\f3b2"; }

.ion-android-time:before { content: "\f3b3"; }

.ion-android-train:before { content: "\f3b4"; }

.ion-android-unlock:before { content: "\f3b5"; }

.ion-android-upload:before { content: "\f3b6"; }

.ion-android-volume-down:before { content: "\f3b7"; }

.ion-android-volume-mute:before { content: "\f3b8"; }

.ion-android-volume-off:before { content: "\f3b9"; }

.ion-android-volume-up:before { content: "\f3ba"; }

.ion-android-walk:before { content: "\f3bb"; }

.ion-android-warning:before { content: "\f3bc"; }

.ion-android-watch:before { content: "\f3bd"; }

.ion-android-wifi:before { content: "\f305"; }

.ion-aperture:before { content: "\f313"; }

.ion-archive:before { content: "\f102"; }

.ion-arrow-down-a:before { content: "\f103"; }

.ion-arrow-down-b:before { content: "\f104"; }

.ion-arrow-down-c:before { content: "\f105"; }

.ion-arrow-expand:before { content: "\f25e"; }

.ion-arrow-graph-down-left:before { content: "\f25f"; }

.ion-arrow-graph-down-right:before { content: "\f260"; }

.ion-arrow-graph-up-left:before { content: "\f261"; }

.ion-arrow-graph-up-right:before { content: "\f262"; }

.ion-arrow-left-a:before { content: "\f106"; }

.ion-arrow-left-b:before { content: "\f107"; }

.ion-arrow-left-c:before { content: "\f108"; }

.ion-arrow-move:before { content: "\f263"; }

.ion-arrow-resize:before { content: "\f264"; }

.ion-arrow-return-left:before { content: "\f265"; }

.ion-arrow-return-right:before { content: "\f266"; }

.ion-arrow-right-a:before { content: "\f109"; }

.ion-arrow-right-b:before { content: "\f10a"; }

.ion-arrow-right-c:before { content: "\f10b"; }

.ion-arrow-shrink:before { content: "\f267"; }

.ion-arrow-swap:before { content: "\f268"; }

.ion-arrow-up-a:before { content: "\f10c"; }

.ion-arrow-up-b:before { content: "\f10d"; }

.ion-arrow-up-c:before { content: "\f10e"; }

.ion-asterisk:before { content: "\f314"; }

.ion-at:before { content: "\f10f"; }

.ion-backspace:before { content: "\f3bf"; }

.ion-backspace-outline:before { content: "\f3be"; }

.ion-bag:before { content: "\f110"; }

.ion-battery-charging:before { content: "\f111"; }

.ion-battery-empty:before { content: "\f112"; }

.ion-battery-full:before { content: "\f113"; }

.ion-battery-half:before { content: "\f114"; }

.ion-battery-low:before { content: "\f115"; }

.ion-beaker:before { content: "\f269"; }

.ion-beer:before { content: "\f26a"; }

.ion-bluetooth:before { content: "\f116"; }

.ion-bonfire:before { content: "\f315"; }

.ion-bookmark:before { content: "\f26b"; }

.ion-bowtie:before { content: "\f3c0"; }

.ion-briefcase:before { content: "\f26c"; }

.ion-bug:before { content: "\f2be"; }

.ion-calculator:before { content: "\f26d"; }

.ion-calendar:before { content: "\f117"; }

.ion-camera:before { content: "\f118"; }

.ion-card:before { content: "\f119"; }

.ion-cash:before { content: "\f316"; }

.ion-chatbox:before { content: "\f11b"; }

.ion-chatbox-working:before { content: "\f11a"; }

.ion-chatboxes:before { content: "\f11c"; }

.ion-chatbubble:before { content: "\f11e"; }

.ion-chatbubble-working:before { content: "\f11d"; }

.ion-chatbubbles:before { content: "\f11f"; }

.ion-checkmark:before { content: "\f122"; }

.ion-checkmark-circled:before { content: "\f120"; }

.ion-checkmark-round:before { content: "\f121"; }

.ion-chevron-down:before { content: "\f123"; }

.ion-chevron-left:before { content: "\f124"; }

.ion-chevron-right:before { content: "\f125"; }

.ion-chevron-up:before { content: "\f126"; }

.ion-clipboard:before { content: "\f127"; }

.ion-clock:before { content: "\f26e"; }

.ion-close:before { content: "\f12a"; }

.ion-close-circled:before { content: "\f128"; }

.ion-close-round:before { content: "\f129"; }

.ion-closed-captioning:before { content: "\f317"; }

.ion-cloud:before { content: "\f12b"; }

.ion-code:before { content: "\f271"; }

.ion-code-download:before { content: "\f26f"; }

.ion-code-working:before { content: "\f270"; }

.ion-coffee:before { content: "\f272"; }

.ion-compass:before { content: "\f273"; }

.ion-compose:before { content: "\f12c"; }

.ion-connection-bars:before { content: "\f274"; }

.ion-contrast:before { content: "\f275"; }

.ion-crop:before { content: "\f3c1"; }

.ion-cube:before { content: "\f318"; }

.ion-disc:before { content: "\f12d"; }

.ion-document:before { content: "\f12f"; }

.ion-document-text:before { content: "\f12e"; }

.ion-drag:before { content: "\f130"; }

.ion-earth:before { content: "\f276"; }

.ion-easel:before { content: "\f3c2"; }

.ion-edit:before { content: "\f2bf"; }

.ion-egg:before { content: "\f277"; }

.ion-eject:before { content: "\f131"; }

.ion-email:before { content: "\f132"; }

.ion-email-unread:before { content: "\f3c3"; }

.ion-erlenmeyer-flask:before { content: "\f3c5"; }

.ion-erlenmeyer-flask-bubbles:before { content: "\f3c4"; }

.ion-eye:before { content: "\f133"; }

.ion-eye-disabled:before { content: "\f306"; }

.ion-female:before { content: "\f278"; }

.ion-filing:before { content: "\f134"; }

.ion-film-marker:before { content: "\f135"; }

.ion-fireball:before { content: "\f319"; }

.ion-flag:before { content: "\f279"; }

.ion-flame:before { content: "\f31a"; }

.ion-flash:before { content: "\f137"; }

.ion-flash-off:before { content: "\f136"; }

.ion-folder:before { content: "\f139"; }

.ion-fork:before { content: "\f27a"; }

.ion-fork-repo:before { content: "\f2c0"; }

.ion-forward:before { content: "\f13a"; }

.ion-funnel:before { content: "\f31b"; }

.ion-gear-a:before { content: "\f13d"; }

.ion-gear-b:before { content: "\f13e"; }

.ion-grid:before { content: "\f13f"; }

.ion-hammer:before { content: "\f27b"; }

.ion-happy:before { content: "\f31c"; }

.ion-happy-outline:before { content: "\f3c6"; }

.ion-headphone:before { content: "\f140"; }

.ion-heart:before { content: "\f141"; }

.ion-heart-broken:before { content: "\f31d"; }

.ion-help:before { content: "\f143"; }

.ion-help-buoy:before { content: "\f27c"; }

.ion-help-circled:before { content: "\f142"; }

.ion-home:before { content: "\f144"; }

.ion-icecream:before { content: "\f27d"; }

.ion-image:before { content: "\f147"; }

.ion-images:before { content: "\f148"; }

.ion-information:before { content: "\f14a"; }

.ion-information-circled:before { content: "\f149"; }

.ion-ionic:before { content: "\f14b"; }

.ion-ios-alarm:before { content: "\f3c8"; }

.ion-ios-alarm-outline:before { content: "\f3c7"; }

.ion-ios-albums:before { content: "\f3ca"; }

.ion-ios-albums-outline:before { content: "\f3c9"; }

.ion-ios-americanfootball:before { content: "\f3cc"; }

.ion-ios-americanfootball-outline:before { content: "\f3cb"; }

.ion-ios-analytics:before { content: "\f3ce"; }

.ion-ios-analytics-outline:before { content: "\f3cd"; }

.ion-ios-arrow-back:before { content: "\f3cf"; }

.ion-ios-arrow-down:before { content: "\f3d0"; }

.ion-ios-arrow-forward:before { content: "\f3d1"; }

.ion-ios-arrow-left:before { content: "\f3d2"; }

.ion-ios-arrow-right:before { content: "\f3d3"; }

.ion-ios-arrow-thin-down:before { content: "\f3d4"; }

.ion-ios-arrow-thin-left:before { content: "\f3d5"; }

.ion-ios-arrow-thin-right:before { content: "\f3d6"; }

.ion-ios-arrow-thin-up:before { content: "\f3d7"; }

.ion-ios-arrow-up:before { content: "\f3d8"; }

.ion-ios-at:before { content: "\f3da"; }

.ion-ios-at-outline:before { content: "\f3d9"; }

.ion-ios-barcode:before { content: "\f3dc"; }

.ion-ios-barcode-outline:before { content: "\f3db"; }

.ion-ios-baseball:before { content: "\f3de"; }

.ion-ios-baseball-outline:before { content: "\f3dd"; }

.ion-ios-basketball:before { content: "\f3e0"; }

.ion-ios-basketball-outline:before { content: "\f3df"; }

.ion-ios-bell:before { content: "\f3e2"; }

.ion-ios-bell-outline:before { content: "\f3e1"; }

.ion-ios-body:before { content: "\f3e4"; }

.ion-ios-body-outline:before { content: "\f3e3"; }

.ion-ios-bolt:before { content: "\f3e6"; }

.ion-ios-bolt-outline:before { content: "\f3e5"; }

.ion-ios-book:before { content: "\f3e8"; }

.ion-ios-book-outline:before { content: "\f3e7"; }

.ion-ios-bookmarks:before { content: "\f3ea"; }

.ion-ios-bookmarks-outline:before { content: "\f3e9"; }

.ion-ios-box:before { content: "\f3ec"; }

.ion-ios-box-outline:before { content: "\f3eb"; }

.ion-ios-briefcase:before { content: "\f3ee"; }

.ion-ios-briefcase-outline:before { content: "\f3ed"; }

.ion-ios-browsers:before { content: "\f3f0"; }

.ion-ios-browsers-outline:before { content: "\f3ef"; }

.ion-ios-calculator:before { content: "\f3f2"; }

.ion-ios-calculator-outline:before { content: "\f3f1"; }

.ion-ios-calendar:before { content: "\f3f4"; }

.ion-ios-calendar-outline:before { content: "\f3f3"; }

.ion-ios-camera:before { content: "\f3f6"; }

.ion-ios-camera-outline:before { content: "\f3f5"; }

.ion-ios-cart:before { content: "\f3f8"; }

.ion-ios-cart-outline:before { content: "\f3f7"; }

.ion-ios-chatboxes:before { content: "\f3fa"; }

.ion-ios-chatboxes-outline:before { content: "\f3f9"; }

.ion-ios-chatbubble:before { content: "\f3fc"; }

.ion-ios-chatbubble-outline:before { content: "\f3fb"; }

.ion-ios-checkmark:before { content: "\f3ff"; }

.ion-ios-checkmark-empty:before { content: "\f3fd"; }

.ion-ios-checkmark-outline:before { content: "\f3fe"; }

.ion-ios-circle-filled:before { content: "\f400"; }

.ion-ios-circle-outline:before { content: "\f401"; }

.ion-ios-clock:before { content: "\f403"; }

.ion-ios-clock-outline:before { content: "\f402"; }

.ion-ios-close:before { content: "\f406"; }

.ion-ios-close-empty:before { content: "\f404"; }

.ion-ios-close-outline:before { content: "\f405"; }

.ion-ios-cloud:before { content: "\f40c"; }

.ion-ios-cloud-download:before { content: "\f408"; }

.ion-ios-cloud-download-outline:before { content: "\f407"; }

.ion-ios-cloud-outline:before { content: "\f409"; }

.ion-ios-cloud-upload:before { content: "\f40b"; }

.ion-ios-cloud-upload-outline:before { content: "\f40a"; }

.ion-ios-cloudy:before { content: "\f410"; }

.ion-ios-cloudy-night:before { content: "\f40e"; }

.ion-ios-cloudy-night-outline:before { content: "\f40d"; }

.ion-ios-cloudy-outline:before { content: "\f40f"; }

.ion-ios-cog:before { content: "\f412"; }

.ion-ios-cog-outline:before { content: "\f411"; }

.ion-ios-color-filter:before { content: "\f414"; }

.ion-ios-color-filter-outline:before { content: "\f413"; }

.ion-ios-color-wand:before { content: "\f416"; }

.ion-ios-color-wand-outline:before { content: "\f415"; }

.ion-ios-compose:before { content: "\f418"; }

.ion-ios-compose-outline:before { content: "\f417"; }

.ion-ios-contact:before { content: "\f41a"; }

.ion-ios-contact-outline:before { content: "\f419"; }

.ion-ios-copy:before { content: "\f41c"; }

.ion-ios-copy-outline:before { content: "\f41b"; }

.ion-ios-crop:before { content: "\f41e"; }

.ion-ios-crop-strong:before { content: "\f41d"; }

.ion-ios-download:before { content: "\f420"; }

.ion-ios-download-outline:before { content: "\f41f"; }

.ion-ios-drag:before { content: "\f421"; }

.ion-ios-email:before { content: "\f423"; }

.ion-ios-email-outline:before { content: "\f422"; }

.ion-ios-eye:before { content: "\f425"; }

.ion-ios-eye-outline:before { content: "\f424"; }

.ion-ios-fastforward:before { content: "\f427"; }

.ion-ios-fastforward-outline:before { content: "\f426"; }

.ion-ios-filing:before { content: "\f429"; }

.ion-ios-filing-outline:before { content: "\f428"; }

.ion-ios-film:before { content: "\f42b"; }

.ion-ios-film-outline:before { content: "\f42a"; }

.ion-ios-flag:before { content: "\f42d"; }

.ion-ios-flag-outline:before { content: "\f42c"; }

.ion-ios-flame:before { content: "\f42f"; }

.ion-ios-flame-outline:before { content: "\f42e"; }

.ion-ios-flask:before { content: "\f431"; }

.ion-ios-flask-outline:before { content: "\f430"; }

.ion-ios-flower:before { content: "\f433"; }

.ion-ios-flower-outline:before { content: "\f432"; }

.ion-ios-folder:before { content: "\f435"; }

.ion-ios-folder-outline:before { content: "\f434"; }

.ion-ios-football:before { content: "\f437"; }

.ion-ios-football-outline:before { content: "\f436"; }

.ion-ios-game-controller-a:before { content: "\f439"; }

.ion-ios-game-controller-a-outline:before { content: "\f438"; }

.ion-ios-game-controller-b:before { content: "\f43b"; }

.ion-ios-game-controller-b-outline:before { content: "\f43a"; }

.ion-ios-gear:before { content: "\f43d"; }

.ion-ios-gear-outline:before { content: "\f43c"; }

.ion-ios-glasses:before { content: "\f43f"; }

.ion-ios-glasses-outline:before { content: "\f43e"; }

.ion-ios-grid-view:before { content: "\f441"; }

.ion-ios-grid-view-outline:before { content: "\f440"; }

.ion-ios-heart:before { content: "\f443"; }

.ion-ios-heart-outline:before { content: "\f442"; }

.ion-ios-help:before { content: "\f446"; }

.ion-ios-help-empty:before { content: "\f444"; }

.ion-ios-help-outline:before { content: "\f445"; }

.ion-ios-home:before { content: "\f448"; }

.ion-ios-home-outline:before { content: "\f447"; }

.ion-ios-infinite:before { content: "\f44a"; }

.ion-ios-infinite-outline:before { content: "\f449"; }

.ion-ios-information:before { content: "\f44d"; }

.ion-ios-information-empty:before { content: "\f44b"; }

.ion-ios-information-outline:before { content: "\f44c"; }

.ion-ios-ionic-outline:before { content: "\f44e"; }

.ion-ios-keypad:before { content: "\f450"; }

.ion-ios-keypad-outline:before { content: "\f44f"; }

.ion-ios-lightbulb:before { content: "\f452"; }

.ion-ios-lightbulb-outline:before { content: "\f451"; }

.ion-ios-list:before { content: "\f454"; }

.ion-ios-list-outline:before { content: "\f453"; }

.ion-ios-location:before { content: "\f456"; }

.ion-ios-location-outline:before { content: "\f455"; }

.ion-ios-locked:before { content: "\f458"; }

.ion-ios-locked-outline:before { content: "\f457"; }

.ion-ios-loop:before { content: "\f45a"; }

.ion-ios-loop-strong:before { content: "\f459"; }

.ion-ios-medical:before { content: "\f45c"; }

.ion-ios-medical-outline:before { content: "\f45b"; }

.ion-ios-medkit:before { content: "\f45e"; }

.ion-ios-medkit-outline:before { content: "\f45d"; }

.ion-ios-mic:before { content: "\f461"; }

.ion-ios-mic-off:before { content: "\f45f"; }

.ion-ios-mic-outline:before { content: "\f460"; }

.ion-ios-minus:before { content: "\f464"; }

.ion-ios-minus-empty:before { content: "\f462"; }

.ion-ios-minus-outline:before { content: "\f463"; }

.ion-ios-monitor:before { content: "\f466"; }

.ion-ios-monitor-outline:before { content: "\f465"; }

.ion-ios-moon:before { content: "\f468"; }

.ion-ios-moon-outline:before { content: "\f467"; }

.ion-ios-more:before { content: "\f46a"; }

.ion-ios-more-outline:before { content: "\f469"; }

.ion-ios-musical-note:before { content: "\f46b"; }

.ion-ios-musical-notes:before { content: "\f46c"; }

.ion-ios-navigate:before { content: "\f46e"; }

.ion-ios-navigate-outline:before { content: "\f46d"; }

.ion-ios-nutrition:before { content: "\f470"; }

.ion-ios-nutrition-outline:before { content: "\f46f"; }

.ion-ios-paper:before { content: "\f472"; }

.ion-ios-paper-outline:before { content: "\f471"; }

.ion-ios-paperplane:before { content: "\f474"; }

.ion-ios-paperplane-outline:before { content: "\f473"; }

.ion-ios-partlysunny:before { content: "\f476"; }

.ion-ios-partlysunny-outline:before { content: "\f475"; }

.ion-ios-pause:before { content: "\f478"; }

.ion-ios-pause-outline:before { content: "\f477"; }

.ion-ios-paw:before { content: "\f47a"; }

.ion-ios-paw-outline:before { content: "\f479"; }

.ion-ios-people:before { content: "\f47c"; }

.ion-ios-people-outline:before { content: "\f47b"; }

.ion-ios-person:before { content: "\f47e"; }

.ion-ios-person-outline:before { content: "\f47d"; }

.ion-ios-personadd:before { content: "\f480"; }

.ion-ios-personadd-outline:before { content: "\f47f"; }

.ion-ios-photos:before { content: "\f482"; }

.ion-ios-photos-outline:before { content: "\f481"; }

.ion-ios-pie:before { content: "\f484"; }

.ion-ios-pie-outline:before { content: "\f483"; }

.ion-ios-pint:before { content: "\f486"; }

.ion-ios-pint-outline:before { content: "\f485"; }

.ion-ios-play:before { content: "\f488"; }

.ion-ios-play-outline:before { content: "\f487"; }

.ion-ios-plus:before { content: "\f48b"; }

.ion-ios-plus-empty:before { content: "\f489"; }

.ion-ios-plus-outline:before { content: "\f48a"; }

.ion-ios-pricetag:before { content: "\f48d"; }

.ion-ios-pricetag-outline:before { content: "\f48c"; }

.ion-ios-pricetags:before { content: "\f48f"; }

.ion-ios-pricetags-outline:before { content: "\f48e"; }

.ion-ios-printer:before { content: "\f491"; }

.ion-ios-printer-outline:before { content: "\f490"; }

.ion-ios-pulse:before { content: "\f493"; }

.ion-ios-pulse-strong:before { content: "\f492"; }

.ion-ios-rainy:before { content: "\f495"; }

.ion-ios-rainy-outline:before { content: "\f494"; }

.ion-ios-recording:before { content: "\f497"; }

.ion-ios-recording-outline:before { content: "\f496"; }

.ion-ios-redo:before { content: "\f499"; }

.ion-ios-redo-outline:before { content: "\f498"; }

.ion-ios-refresh:before { content: "\f49c"; }

.ion-ios-refresh-empty:before { content: "\f49a"; }

.ion-ios-refresh-outline:before { content: "\f49b"; }

.ion-ios-reload:before { content: "\f49d"; }

.ion-ios-reverse-camera:before { content: "\f49f"; }

.ion-ios-reverse-camera-outline:before { content: "\f49e"; }

.ion-ios-rewind:before { content: "\f4a1"; }

.ion-ios-rewind-outline:before { content: "\f4a0"; }

.ion-ios-rose:before { content: "\f4a3"; }

.ion-ios-rose-outline:before { content: "\f4a2"; }

.ion-ios-search:before { content: "\f4a5"; }

.ion-ios-search-strong:before { content: "\f4a4"; }

.ion-ios-settings:before { content: "\f4a7"; }

.ion-ios-settings-strong:before { content: "\f4a6"; }

.ion-ios-shuffle:before { content: "\f4a9"; }

.ion-ios-shuffle-strong:before { content: "\f4a8"; }

.ion-ios-skipbackward:before { content: "\f4ab"; }

.ion-ios-skipbackward-outline:before { content: "\f4aa"; }

.ion-ios-skipforward:before { content: "\f4ad"; }

.ion-ios-skipforward-outline:before { content: "\f4ac"; }

.ion-ios-snowy:before { content: "\f4ae"; }

.ion-ios-speedometer:before { content: "\f4b0"; }

.ion-ios-speedometer-outline:before { content: "\f4af"; }

.ion-ios-star:before { content: "\f4b3"; }

.ion-ios-star-half:before { content: "\f4b1"; }

.ion-ios-star-outline:before { content: "\f4b2"; }

.ion-ios-stopwatch:before { content: "\f4b5"; }

.ion-ios-stopwatch-outline:before { content: "\f4b4"; }

.ion-ios-sunny:before { content: "\f4b7"; }

.ion-ios-sunny-outline:before { content: "\f4b6"; }

.ion-ios-telephone:before { content: "\f4b9"; }

.ion-ios-telephone-outline:before { content: "\f4b8"; }

.ion-ios-tennisball:before { content: "\f4bb"; }

.ion-ios-tennisball-outline:before { content: "\f4ba"; }

.ion-ios-thunderstorm:before { content: "\f4bd"; }

.ion-ios-thunderstorm-outline:before { content: "\f4bc"; }

.ion-ios-time:before { content: "\f4bf"; }

.ion-ios-time-outline:before { content: "\f4be"; }

.ion-ios-timer:before { content: "\f4c1"; }

.ion-ios-timer-outline:before { content: "\f4c0"; }

.ion-ios-toggle:before { content: "\f4c3"; }

.ion-ios-toggle-outline:before { content: "\f4c2"; }

.ion-ios-trash:before { content: "\f4c5"; }

.ion-ios-trash-outline:before { content: "\f4c4"; }

.ion-ios-undo:before { content: "\f4c7"; }

.ion-ios-undo-outline:before { content: "\f4c6"; }

.ion-ios-unlocked:before { content: "\f4c9"; }

.ion-ios-unlocked-outline:before { content: "\f4c8"; }

.ion-ios-upload:before { content: "\f4cb"; }

.ion-ios-upload-outline:before { content: "\f4ca"; }

.ion-ios-videocam:before { content: "\f4cd"; }

.ion-ios-videocam-outline:before { content: "\f4cc"; }

.ion-ios-volume-high:before { content: "\f4ce"; }

.ion-ios-volume-low:before { content: "\f4cf"; }

.ion-ios-wineglass:before { content: "\f4d1"; }

.ion-ios-wineglass-outline:before { content: "\f4d0"; }

.ion-ios-world:before { content: "\f4d3"; }

.ion-ios-world-outline:before { content: "\f4d2"; }

.ion-ipad:before { content: "\f1f9"; }

.ion-iphone:before { content: "\f1fa"; }

.ion-ipod:before { content: "\f1fb"; }

.ion-jet:before { content: "\f295"; }

.ion-key:before { content: "\f296"; }

.ion-knife:before { content: "\f297"; }

.ion-laptop:before { content: "\f1fc"; }

.ion-leaf:before { content: "\f1fd"; }

.ion-levels:before { content: "\f298"; }

.ion-lightbulb:before { content: "\f299"; }

.ion-link:before { content: "\f1fe"; }

.ion-load-a:before { content: "\f29a"; }

.ion-load-b:before { content: "\f29b"; }

.ion-load-c:before { content: "\f29c"; }

.ion-load-d:before { content: "\f29d"; }

.ion-location:before { content: "\f1ff"; }

.ion-lock-combination:before { content: "\f4d4"; }

.ion-locked:before { content: "\f200"; }

.ion-log-in:before { content: "\f29e"; }

.ion-log-out:before { content: "\f29f"; }

.ion-loop:before { content: "\f201"; }

.ion-magnet:before { content: "\f2a0"; }

.ion-male:before { content: "\f2a1"; }

.ion-man:before { content: "\f202"; }

.ion-map:before { content: "\f203"; }

.ion-medkit:before { content: "\f2a2"; }

.ion-merge:before { content: "\f33f"; }

.ion-mic-a:before { content: "\f204"; }

.ion-mic-b:before { content: "\f205"; }

.ion-mic-c:before { content: "\f206"; }

.ion-minus:before { content: "\f209"; }

.ion-minus-circled:before { content: "\f207"; }

.ion-minus-round:before { content: "\f208"; }

.ion-model-s:before { content: "\f2c1"; }

.ion-monitor:before { content: "\f20a"; }

.ion-more:before { content: "\f20b"; }

.ion-mouse:before { content: "\f340"; }

.ion-music-note:before { content: "\f20c"; }

.ion-navicon:before { content: "\f20e"; }

.ion-navicon-round:before { content: "\f20d"; }

.ion-navigate:before { content: "\f2a3"; }

.ion-network:before { content: "\f341"; }

.ion-no-smoking:before { content: "\f2c2"; }

.ion-nuclear:before { content: "\f2a4"; }

.ion-outlet:before { content: "\f342"; }

.ion-paintbrush:before { content: "\f4d5"; }

.ion-paintbucket:before { content: "\f4d6"; }

.ion-paper-airplane:before { content: "\f2c3"; }

.ion-paperclip:before { content: "\f20f"; }

.ion-pause:before { content: "\f210"; }

.ion-person:before { content: "\f213"; }

.ion-person-add:before { content: "\f211"; }

.ion-person-stalker:before { content: "\f212"; }

.ion-pie-graph:before { content: "\f2a5"; }

.ion-pin:before { content: "\f2a6"; }

.ion-pinpoint:before { content: "\f2a7"; }

.ion-pizza:before { content: "\f2a8"; }

.ion-plane:before { content: "\f214"; }

.ion-planet:before { content: "\f343"; }

.ion-play:before { content: "\f215"; }

.ion-playstation:before { content: "\f30a"; }

.ion-plus:before { content: "\f218"; }

.ion-plus-circled:before { content: "\f216"; }

.ion-plus-round:before { content: "\f217"; }

.ion-podium:before { content: "\f344"; }

.ion-pound:before { content: "\f219"; }

.ion-power:before { content: "\f2a9"; }

.ion-pricetag:before { content: "\f2aa"; }

.ion-pricetags:before { content: "\f2ab"; }

.ion-printer:before { content: "\f21a"; }

.ion-pull-request:before { content: "\f345"; }

.ion-qr-scanner:before { content: "\f346"; }

.ion-quote:before { content: "\f347"; }

.ion-radio-waves:before { content: "\f2ac"; }

.ion-record:before { content: "\f21b"; }

.ion-refresh:before { content: "\f21c"; }

.ion-reply:before { content: "\f21e"; }

.ion-reply-all:before { content: "\f21d"; }

.ion-ribbon-a:before { content: "\f348"; }

.ion-ribbon-b:before { content: "\f349"; }

.ion-sad:before { content: "\f34a"; }

.ion-sad-outline:before { content: "\f4d7"; }

.ion-scissors:before { content: "\f34b"; }

.ion-search:before { content: "\f21f"; }

.ion-settings:before { content: "\f2ad"; }

.ion-share:before { content: "\f220"; }

.ion-shuffle:before { content: "\f221"; }

.ion-skip-backward:before { content: "\f222"; }

.ion-skip-forward:before { content: "\f223"; }

.ion-social-android:before { content: "\f225"; }

.ion-social-android-outline:before { content: "\f224"; }

.ion-social-angular:before { content: "\f4d9"; }

.ion-social-angular-outline:before { content: "\f4d8"; }

.ion-social-apple:before { content: "\f227"; }

.ion-social-apple-outline:before { content: "\f226"; }

.ion-social-bitcoin:before { content: "\f2af"; }

.ion-social-bitcoin-outline:before { content: "\f2ae"; }

.ion-social-buffer:before { content: "\f229"; }

.ion-social-buffer-outline:before { content: "\f228"; }

.ion-social-chrome:before { content: "\f4db"; }

.ion-social-chrome-outline:before { content: "\f4da"; }

.ion-social-codepen:before { content: "\f4dd"; }

.ion-social-codepen-outline:before { content: "\f4dc"; }

.ion-social-css3:before { content: "\f4df"; }

.ion-social-css3-outline:before { content: "\f4de"; }

.ion-social-designernews:before { content: "\f22b"; }

.ion-social-designernews-outline:before { content: "\f22a"; }

.ion-social-dribbble:before { content: "\f22d"; }

.ion-social-dribbble-outline:before { content: "\f22c"; }

.ion-social-dropbox:before { content: "\f22f"; }

.ion-social-dropbox-outline:before { content: "\f22e"; }

.ion-social-euro:before { content: "\f4e1"; }

.ion-social-euro-outline:before { content: "\f4e0"; }

.ion-social-facebook:before { content: "\f231"; }

.ion-social-facebook-outline:before { content: "\f230"; }

.ion-social-foursquare:before { content: "\f34d"; }

.ion-social-foursquare-outline:before { content: "\f34c"; }

.ion-social-freebsd-devil:before { content: "\f2c4"; }

.ion-social-github:before { content: "\f233"; }

.ion-social-github-outline:before { content: "\f232"; }

.ion-social-google:before { content: "\f34f"; }

.ion-social-google-outline:before { content: "\f34e"; }

.ion-social-googleplus:before { content: "\f235"; }

.ion-social-googleplus-outline:before { content: "\f234"; }

.ion-social-hackernews:before { content: "\f237"; }

.ion-social-hackernews-outline:before { content: "\f236"; }

.ion-social-html5:before { content: "\f4e3"; }

.ion-social-html5-outline:before { content: "\f4e2"; }

.ion-social-instagram:before { content: "\f351"; }

.ion-social-instagram-outline:before { content: "\f350"; }

.ion-social-javascript:before { content: "\f4e5"; }

.ion-social-javascript-outline:before { content: "\f4e4"; }

.ion-social-linkedin:before { content: "\f239"; }

.ion-social-linkedin-outline:before { content: "\f238"; }

.ion-social-markdown:before { content: "\f4e6"; }

.ion-social-nodejs:before { content: "\f4e7"; }

.ion-social-octocat:before { content: "\f4e8"; }

.ion-social-pinterest:before { content: "\f2b1"; }

.ion-social-pinterest-outline:before { content: "\f2b0"; }

.ion-social-python:before { content: "\f4e9"; }

.ion-social-reddit:before { content: "\f23b"; }

.ion-social-reddit-outline:before { content: "\f23a"; }

.ion-social-rss:before { content: "\f23d"; }

.ion-social-rss-outline:before { content: "\f23c"; }

.ion-social-sass:before { content: "\f4ea"; }

.ion-social-skype:before { content: "\f23f"; }

.ion-social-skype-outline:before { content: "\f23e"; }

.ion-social-snapchat:before { content: "\f4ec"; }

.ion-social-snapchat-outline:before { content: "\f4eb"; }

.ion-social-tumblr:before { content: "\f241"; }

.ion-social-tumblr-outline:before { content: "\f240"; }

.ion-social-tux:before { content: "\f2c5"; }

.ion-social-twitch:before { content: "\f4ee"; }

.ion-social-twitch-outline:before { content: "\f4ed"; }

.ion-social-twitter:before { content: "\f243"; }

.ion-social-twitter-outline:before { content: "\f242"; }

.ion-social-usd:before { content: "\f353"; }

.ion-social-usd-outline:before { content: "\f352"; }

.ion-social-vimeo:before { content: "\f245"; }

.ion-social-vimeo-outline:before { content: "\f244"; }

.ion-social-whatsapp:before { content: "\f4f0"; }

.ion-social-whatsapp-outline:before { content: "\f4ef"; }

.ion-social-windows:before { content: "\f247"; }

.ion-social-windows-outline:before { content: "\f246"; }

.ion-social-wordpress:before { content: "\f249"; }

.ion-social-wordpress-outline:before { content: "\f248"; }

.ion-social-yahoo:before { content: "\f24b"; }

.ion-social-yahoo-outline:before { content: "\f24a"; }

.ion-social-yen:before { content: "\f4f2"; }

.ion-social-yen-outline:before { content: "\f4f1"; }

.ion-social-youtube:before { content: "\f24d"; }

.ion-social-youtube-outline:before { content: "\f24c"; }

.ion-soup-can:before { content: "\f4f4"; }

.ion-soup-can-outline:before { content: "\f4f3"; }

.ion-speakerphone:before { content: "\f2b2"; }

.ion-speedometer:before { content: "\f2b3"; }

.ion-spoon:before { content: "\f2b4"; }

.ion-star:before { content: "\f24e"; }

.ion-stats-bars:before { content: "\f2b5"; }

.ion-steam:before { content: "\f30b"; }

.ion-stop:before { content: "\f24f"; }

.ion-thermometer:before { content: "\f2b6"; }

.ion-thumbsdown:before { content: "\f250"; }

.ion-thumbsup:before { content: "\f251"; }

.ion-toggle:before { content: "\f355"; }

.ion-toggle-filled:before { content: "\f354"; }

.ion-transgender:before { content: "\f4f5"; }

.ion-trash-a:before { content: "\f252"; }

.ion-trash-b:before { content: "\f253"; }

.ion-trophy:before { content: "\f356"; }

.ion-tshirt:before { content: "\f4f7"; }

.ion-tshirt-outline:before { content: "\f4f6"; }

.ion-umbrella:before { content: "\f2b7"; }

.ion-university:before { content: "\f357"; }

.ion-unlocked:before { content: "\f254"; }

.ion-upload:before { content: "\f255"; }

.ion-usb:before { content: "\f2b8"; }

.ion-videocamera:before { content: "\f256"; }

.ion-volume-high:before { content: "\f257"; }

.ion-volume-low:before { content: "\f258"; }

.ion-volume-medium:before { content: "\f259"; }

.ion-volume-mute:before { content: "\f25a"; }

.ion-wand:before { content: "\f358"; }

.ion-waterdrop:before { content: "\f25b"; }

.ion-wifi:before { content: "\f25c"; }

.ion-wineglass:before { content: "\f2b9"; }

.ion-woman:before { content: "\f25d"; }

.ion-wrench:before { content: "\f2ba"; }

.ion-xbox:before { content: "\f30c"; }

/* ---- blueimp-gallery.css ---- */
@charset "UTF-8";
/*
 * blueimp Gallery CSS
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * https://opensource.org/licenses/MIT
 */

.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* Prevent artifacts in Mozilla Firefox: */
  -moz-backface-visibility: hidden;
}
.blueimp-gallery > .slides > .slide > .slide-content {
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  opacity: 1;
}
.blueimp-gallery {
  position: fixed;
  z-index: 999999;
  overflow: hidden;
  background: #000;
  background: rgba(0, 0, 0, 0.9);
  opacity: 0;
  display: none;
  direction: ltr;
  -ms-touch-action: none;
  touch-action: none;
}
.blueimp-gallery-carousel {
  position: relative;
  z-index: auto;
  margin: 1em auto;
  /* Set the carousel width/height ratio to 16/9: */
  padding-bottom: 56.25%;
  box-shadow: 0 0 10px #000;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.blueimp-gallery-display {
  display: block;
  opacity: 1;
}
.blueimp-gallery > .slides {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.blueimp-gallery-carousel > .slides {
  position: absolute;
}
.blueimp-gallery > .slides > .slide {
  position: relative;
  float: left;
  height: 100%;
  text-align: center;
  -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
     -moz-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
      -ms-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
       -o-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
          transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.blueimp-gallery,
.blueimp-gallery > .slides > .slide > .slide-content {
  -webkit-transition: opacity 0.2s linear;
     -moz-transition: opacity 0.2s linear;
      -ms-transition: opacity 0.2s linear;
       -o-transition: opacity 0.2s linear;
          transition: opacity 0.2s linear;
}
.blueimp-gallery > .slides > .slide-loading {
  background: url(../img/loading.gif) center no-repeat;
  background-size: 64px 64px;
}
.blueimp-gallery > .slides > .slide-loading > .slide-content {
  opacity: 0;
}
.blueimp-gallery > .slides > .slide-error {
  background: url(../img/error.png) center no-repeat;
}
.blueimp-gallery > .slides > .slide-error > .slide-content {
  display: none;
}
.blueimp-gallery > .prev,
.blueimp-gallery > .next {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -23px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 2px #000;
  text-align: center;
  background: #222;
  background: rgba(0, 0, 0, 0.5);
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  border: 3px solid #fff;
  -webkit-border-radius: 23px;
     -moz-border-radius: 23px;
          border-radius: 23px;
  opacity: 0.5;
  cursor: pointer;
  display: none;
}
.blueimp-gallery > .next {
  left: auto;
  right: 15px;
}
.blueimp-gallery > .close,
.blueimp-gallery > .title {
  position: absolute;
  top: 15px;
  left: 15px;
  margin: 0 40px 0 0;
  font-size: 20px;
  line-height: 30px;
  color: #fff;
  text-shadow: 0 0 2px #000;
  opacity: 0.8;
  display: none;
}
.blueimp-gallery > .close {
  padding: 15px;
  right: 15px;
  left: auto;
  margin: -15px;
  font-size: 30px;
  text-decoration: none;
  cursor: pointer;
}
.blueimp-gallery > .play-pause {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 15px;
  height: 15px;
  background: url(../img/play-pause.png) 0 0 no-repeat;
  cursor: pointer;
  opacity: 0.5;
  display: none;
}
.blueimp-gallery-playing > .play-pause {
  background-position: -15px 0;
}
.blueimp-gallery > .prev:hover,
.blueimp-gallery > .next:hover,
.blueimp-gallery > .close:hover,
.blueimp-gallery > .title:hover,
.blueimp-gallery > .play-pause:hover {
  color: #fff;
  opacity: 1;
}
.blueimp-gallery-controls > .prev,
.blueimp-gallery-controls > .next,
.blueimp-gallery-controls > .close,
.blueimp-gallery-controls > .title,
.blueimp-gallery-controls > .play-pause {
  display: block;
  /* Fix z-index issues (controls behind slide element) on Android: */
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
       -o-transform: translateZ(0);
          transform: translateZ(0);
}
.blueimp-gallery-single > .prev,
.blueimp-gallery-left > .prev,
.blueimp-gallery-single > .next,
.blueimp-gallery-right > .next,
.blueimp-gallery-single > .play-pause {
  display: none;
}
.blueimp-gallery > .slides > .slide > .slide-content,
.blueimp-gallery > .prev,
.blueimp-gallery > .next,
.blueimp-gallery > .close,
.blueimp-gallery > .play-pause {
  -webkit-user-select: none;
   -khtml-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* Replace PNGs with SVGs for capable browsers (excluding IE<9) */
body:last-child .blueimp-gallery > .slides > .slide-error {
  background-image: url(../img/error.svg);
}
body:last-child .blueimp-gallery > .play-pause {
  width: 20px;
  height: 20px;
  background-size: 40px 20px;
  background-image: url(../img/play-pause.svg);
}
body:last-child .blueimp-gallery-playing > .play-pause {
  background-position: -20px 0;
}

/* IE7 fixes */
*+html .blueimp-gallery > .slides > .slide {
  min-height: 300px;
}
*+html .blueimp-gallery > .slides > .slide > .slide-content {
  position: relative;
}

/* ---- blueimp-gallery-indicator.css ---- */
@charset "UTF-8";
/*
 * blueimp Gallery Indicator CSS
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * https://opensource.org/licenses/MIT
 */

.blueimp-gallery > .indicator {
  position: absolute;
  top: auto;
  right: 15px;
  bottom: 15px;
  left: 15px;
  margin: 0 40px;
  padding: 0;
  list-style: none;
  text-align: center;
  line-height: 10px;
  display: none;
}
.blueimp-gallery > .indicator > li {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 6px 3px 0 3px;
  -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
          box-sizing: content-box;
  border: 1px solid transparent;
  background: #ccc;
  background: rgba(255, 255, 255, 0.25) center no-repeat;
  border-radius: 5px;
  box-shadow: 0 0 2px #000;
  opacity: 0.5;
  cursor: pointer;
}
.blueimp-gallery > .indicator > li:hover,
.blueimp-gallery > .indicator > .active {
  background-color: #fff;
  border-color: #fff;
  opacity: 1;
}
.blueimp-gallery-controls > .indicator {
  display: block;
  /* Fix z-index issues (controls behind slide element) on Android: */
  -webkit-transform: translateZ(0);
     -moz-transform: translateZ(0);
      -ms-transform: translateZ(0);
       -o-transform: translateZ(0);
          transform: translateZ(0);
}
.blueimp-gallery-single > .indicator {
  display: none;
}
.blueimp-gallery > .indicator {
  -webkit-user-select: none;
   -khtml-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

/* IE7 fixes */
*+html .blueimp-gallery > .indicator > li {
  display: inline;
}

/* ---- blueimp-gallery-video.css ---- */
@charset "UTF-8";
/*
 * blueimp Gallery Video Factory CSS
 * https://github.com/blueimp/Gallery
 *
 * Copyright 2013, Sebastian Tschan
 * https://blueimp.net
 *
 * Licensed under the MIT license:
 * https://opensource.org/licenses/MIT
 */

.blueimp-gallery > .slides > .slide > .video-content > img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  /* Prevent artifacts in Mozilla Firefox: */
  -moz-backface-visibility: hidden;
}
.blueimp-gallery > .slides > .slide > .video-content > video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.blueimp-gallery > .slides > .slide > .video-content > iframe {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.blueimp-gallery > .slides > .slide > .video-playing > iframe {
  top: 0;
}
.blueimp-gallery > .slides > .slide > .video-content > a {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  margin: -64px auto 0;
  width: 128px;
  height: 128px;
  background: url(../img/video-play.png) center no-repeat;
  opacity: 0.8;
  cursor: pointer;
}
.blueimp-gallery > .slides > .slide > .video-content > a:hover {
  opacity: 1;
}
.blueimp-gallery > .slides > .slide > .video-playing > a,
.blueimp-gallery > .slides > .slide > .video-playing > img {
  display: none;
}
.blueimp-gallery > .slides > .slide > .video-content > video {
  display: none;
}
.blueimp-gallery > .slides > .slide > .video-playing > video {
  display: block;
}
.blueimp-gallery > .slides > .slide > .video-loading > a {
  background: url(../img/loading.gif) center no-repeat;
  background-size: 64px 64px;
}

/* Replace PNGs with SVGs for capable browsers (excluding IE<9) */
body:last-child .blueimp-gallery > .slides > .slide > .video-content:not(.video-loading) > a {
  background-image: url(../img/video-play.svg);
}

/* IE7 fixes */
*+html .blueimp-gallery > .slides > .slide > .video-content {
  height: 100%;
}
*+html .blueimp-gallery > .slides > .slide > .video-content > a {
  left: 50%;
  margin-left: -64px;
}

/* ---- bootstrap-datepicker3.css ---- */
/*!
 * Datepicker for Bootstrap v1.7.1 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */

.datepicker {
  border-radius: 4px;
  direction: ltr;
}
.datepicker-inline {
  width: 220px;
}
.datepicker-rtl {
  direction: rtl;
}
.datepicker-rtl.dropdown-menu {
  left: auto;
}
.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
  padding: 4px;
}
.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid rgba(0, 0, 0, 0.15);
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-top: 0;
  position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid rgba(0, 0, 0, 0.15);
}
.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker table tr td,
.datepicker table tr th {
  text-align: center;
  width: 30px;
  height: 30px;
  border-radius: 4px;
  border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #777777;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.focused {
  background: #eeeeee;
  cursor: pointer;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #777777;
  cursor: default;
}
.datepicker table tr td.highlighted {
  color: #000;
  background-color: #d9edf7;
  border-color: #85c5e5;
  border-radius: 0;
}
.datepicker table tr td.highlighted:focus,
.datepicker table tr td.highlighted.focus {
  color: #000;
  background-color: #afd9ee;
  border-color: #298fc2;
}
.datepicker table tr td.highlighted:hover {
  color: #000;
  background-color: #afd9ee;
  border-color: #52addb;
}
.datepicker table tr td.highlighted:active,
.datepicker table tr td.highlighted.active {
  color: #000;
  background-color: #afd9ee;
  border-color: #52addb;
}
.datepicker table tr td.highlighted:active:hover,
.datepicker table tr td.highlighted.active:hover,
.datepicker table tr td.highlighted:active:focus,
.datepicker table tr td.highlighted.active:focus,
.datepicker table tr td.highlighted:active.focus,
.datepicker table tr td.highlighted.active.focus {
  color: #000;
  background-color: #91cbe8;
  border-color: #298fc2;
}
.datepicker table tr td.highlighted.disabled:hover,
.datepicker table tr td.highlighted[disabled]:hover,
fieldset[disabled] .datepicker table tr td.highlighted:hover,
.datepicker table tr td.highlighted.disabled:focus,
.datepicker table tr td.highlighted[disabled]:focus,
fieldset[disabled] .datepicker table tr td.highlighted:focus,
.datepicker table tr td.highlighted.disabled.focus,
.datepicker table tr td.highlighted[disabled].focus,
fieldset[disabled] .datepicker table tr td.highlighted.focus {
  background-color: #d9edf7;
  border-color: #85c5e5;
}
.datepicker table tr td.highlighted.focused {
  background: #afd9ee;
}
.datepicker table tr td.highlighted.disabled,
.datepicker table tr td.highlighted.disabled:active {
  background: #d9edf7;
  color: #777777;
}
.datepicker table tr td.today {
  color: #000;
  background-color: #ffdb99;
  border-color: #ffb733;
}
.datepicker table tr td.today:focus,
.datepicker table tr td.today.focus {
  color: #000;
  background-color: #ffc966;
  border-color: #b37400;
}
.datepicker table tr td.today:hover {
  color: #000;
  background-color: #ffc966;
  border-color: #f59e00;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today.active {
  color: #000;
  background-color: #ffc966;
  border-color: #f59e00;
}
.datepicker table tr td.today:active:hover,
.datepicker table tr td.today.active:hover,
.datepicker table tr td.today:active:focus,
.datepicker table tr td.today.active:focus,
.datepicker table tr td.today:active.focus,
.datepicker table tr td.today.active.focus {
  color: #000;
  background-color: #ffbc42;
  border-color: #b37400;
}
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today[disabled]:hover,
fieldset[disabled] .datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled:focus,
.datepicker table tr td.today[disabled]:focus,
fieldset[disabled] .datepicker table tr td.today:focus,
.datepicker table tr td.today.disabled.focus,
.datepicker table tr td.today[disabled].focus,
fieldset[disabled] .datepicker table tr td.today.focus {
  background-color: #ffdb99;
  border-color: #ffb733;
}
.datepicker table tr td.today.focused {
  background: #ffc966;
}
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:active {
  background: #ffdb99;
  color: #777777;
}
.datepicker table tr td.range {
  color: #000;
  background-color: #eeeeee;
  border-color: #bbbbbb;
  border-radius: 0;
}
.datepicker table tr td.range:focus,
.datepicker table tr td.range.focus {
  color: #000;
  background-color: #d5d5d5;
  border-color: #7c7c7c;
}
.datepicker table tr td.range:hover {
  color: #000;
  background-color: #d5d5d5;
  border-color: #9d9d9d;
}
.datepicker table tr td.range:active,
.datepicker table tr td.range.active {
  color: #000;
  background-color: #d5d5d5;
  border-color: #9d9d9d;
}
.datepicker table tr td.range:active:hover,
.datepicker table tr td.range.active:hover,
.datepicker table tr td.range:active:focus,
.datepicker table tr td.range.active:focus,
.datepicker table tr td.range:active.focus,
.datepicker table tr td.range.active.focus {
  color: #000;
  background-color: #c3c3c3;
  border-color: #7c7c7c;
}
.datepicker table tr td.range.disabled:hover,
.datepicker table tr td.range[disabled]:hover,
fieldset[disabled] .datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled:focus,
.datepicker table tr td.range[disabled]:focus,
fieldset[disabled] .datepicker table tr td.range:focus,
.datepicker table tr td.range.disabled.focus,
.datepicker table tr td.range[disabled].focus,
fieldset[disabled] .datepicker table tr td.range.focus {
  background-color: #eeeeee;
  border-color: #bbbbbb;
}
.datepicker table tr td.range.focused {
  background: #d5d5d5;
}
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:active {
  background: #eeeeee;
  color: #777777;
}
.datepicker table tr td.range.highlighted {
  color: #000;
  background-color: #e4eef3;
  border-color: #9dc1d3;
}
.datepicker table tr td.range.highlighted:focus,
.datepicker table tr td.range.highlighted.focus {
  color: #000;
  background-color: #c1d7e3;
  border-color: #4b88a6;
}
.datepicker table tr td.range.highlighted:hover {
  color: #000;
  background-color: #c1d7e3;
  border-color: #73a6c0;
}
.datepicker table tr td.range.highlighted:active,
.datepicker table tr td.range.highlighted.active {
  color: #000;
  background-color: #c1d7e3;
  border-color: #73a6c0;
}
.datepicker table tr td.range.highlighted:active:hover,
.datepicker table tr td.range.highlighted.active:hover,
.datepicker table tr td.range.highlighted:active:focus,
.datepicker table tr td.range.highlighted.active:focus,
.datepicker table tr td.range.highlighted:active.focus,
.datepicker table tr td.range.highlighted.active.focus {
  color: #000;
  background-color: #a8c8d8;
  border-color: #4b88a6;
}
.datepicker table tr td.range.highlighted.disabled:hover,
.datepicker table tr td.range.highlighted[disabled]:hover,
fieldset[disabled] .datepicker table tr td.range.highlighted:hover,
.datepicker table tr td.range.highlighted.disabled:focus,
.datepicker table tr td.range.highlighted[disabled]:focus,
fieldset[disabled] .datepicker table tr td.range.highlighted:focus,
.datepicker table tr td.range.highlighted.disabled.focus,
.datepicker table tr td.range.highlighted[disabled].focus,
fieldset[disabled] .datepicker table tr td.range.highlighted.focus {
  background-color: #e4eef3;
  border-color: #9dc1d3;
}
.datepicker table tr td.range.highlighted.focused {
  background: #c1d7e3;
}
.datepicker table tr td.range.highlighted.disabled,
.datepicker table tr td.range.highlighted.disabled:active {
  background: #e4eef3;
  color: #777777;
}
.datepicker table tr td.range.today {
  color: #000;
  background-color: #f7ca77;
  border-color: #f1a417;
}
.datepicker table tr td.range.today:focus,
.datepicker table tr td.range.today.focus {
  color: #000;
  background-color: #f4b747;
  border-color: #815608;
}
.datepicker table tr td.range.today:hover {
  color: #000;
  background-color: #f4b747;
  border-color: #bf800c;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today.active {
  color: #000;
  background-color: #f4b747;
  border-color: #bf800c;
}
.datepicker table tr td.range.today:active:hover,
.datepicker table tr td.range.today.active:hover,
.datepicker table tr td.range.today:active:focus,
.datepicker table tr td.range.today.active:focus,
.datepicker table tr td.range.today:active.focus,
.datepicker table tr td.range.today.active.focus {
  color: #000;
  background-color: #f2aa25;
  border-color: #815608;
}
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today[disabled]:hover,
fieldset[disabled] .datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled:focus,
.datepicker table tr td.range.today[disabled]:focus,
fieldset[disabled] .datepicker table tr td.range.today:focus,
.datepicker table tr td.range.today.disabled.focus,
.datepicker table tr td.range.today[disabled].focus,
fieldset[disabled] .datepicker table tr td.range.today.focus {
  background-color: #f7ca77;
  border-color: #f1a417;
}
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:active {
  background: #f7ca77;
  color: #777777;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected.highlighted {
  color: #fff;
  background-color: #777777;
  border-color: #555555;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:focus,
.datepicker table tr td.selected.highlighted:focus,
.datepicker table tr td.selected.focus,
.datepicker table tr td.selected.highlighted.focus {
  color: #fff;
  background-color: #5e5e5e;
  border-color: #161616;
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.highlighted:hover {
  color: #fff;
  background-color: #5e5e5e;
  border-color: #373737;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected.highlighted:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected.highlighted.active {
  color: #fff;
  background-color: #5e5e5e;
  border-color: #373737;
}
.datepicker table tr td.selected:active:hover,
.datepicker table tr td.selected.highlighted:active:hover,
.datepicker table tr td.selected.active:hover,
.datepicker table tr td.selected.highlighted.active:hover,
.datepicker table tr td.selected:active:focus,
.datepicker table tr td.selected.highlighted:active:focus,
.datepicker table tr td.selected.active:focus,
.datepicker table tr td.selected.highlighted.active:focus,
.datepicker table tr td.selected:active.focus,
.datepicker table tr td.selected.highlighted:active.focus,
.datepicker table tr td.selected.active.focus,
.datepicker table tr td.selected.highlighted.active.focus {
  color: #fff;
  background-color: #4c4c4c;
  border-color: #161616;
}
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.highlighted.disabled:hover,
.datepicker table tr td.selected[disabled]:hover,
.datepicker table tr td.selected.highlighted[disabled]:hover,
fieldset[disabled] .datepicker table tr td.selected:hover,
fieldset[disabled] .datepicker table tr td.selected.highlighted:hover,
.datepicker table tr td.selected.disabled:focus,
.datepicker table tr td.selected.highlighted.disabled:focus,
.datepicker table tr td.selected[disabled]:focus,
.datepicker table tr td.selected.highlighted[disabled]:focus,
fieldset[disabled] .datepicker table tr td.selected:focus,
fieldset[disabled] .datepicker table tr td.selected.highlighted:focus,
.datepicker table tr td.selected.disabled.focus,
.datepicker table tr td.selected.highlighted.disabled.focus,
.datepicker table tr td.selected[disabled].focus,
.datepicker table tr td.selected.highlighted[disabled].focus,
fieldset[disabled] .datepicker table tr td.selected.focus,
fieldset[disabled] .datepicker table tr td.selected.highlighted.focus {
  background-color: #777777;
  border-color: #555555;
}
.datepicker table tr td.active,
.datepicker table tr td.active.highlighted {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:focus,
.datepicker table tr td.active.highlighted:focus,
.datepicker table tr td.active.focus,
.datepicker table tr td.active.highlighted.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active.highlighted:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active.highlighted:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active.highlighted.active {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.datepicker table tr td.active:active:hover,
.datepicker table tr td.active.highlighted:active:hover,
.datepicker table tr td.active.active:hover,
.datepicker table tr td.active.highlighted.active:hover,
.datepicker table tr td.active:active:focus,
.datepicker table tr td.active.highlighted:active:focus,
.datepicker table tr td.active.active:focus,
.datepicker table tr td.active.highlighted.active:focus,
.datepicker table tr td.active:active.focus,
.datepicker table tr td.active.highlighted:active.focus,
.datepicker table tr td.active.active.focus,
.datepicker table tr td.active.highlighted.active.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.highlighted.disabled:hover,
.datepicker table tr td.active[disabled]:hover,
.datepicker table tr td.active.highlighted[disabled]:hover,
fieldset[disabled] .datepicker table tr td.active:hover,
fieldset[disabled] .datepicker table tr td.active.highlighted:hover,
.datepicker table tr td.active.disabled:focus,
.datepicker table tr td.active.highlighted.disabled:focus,
.datepicker table tr td.active[disabled]:focus,
.datepicker table tr td.active.highlighted[disabled]:focus,
fieldset[disabled] .datepicker table tr td.active:focus,
fieldset[disabled] .datepicker table tr td.active.highlighted:focus,
.datepicker table tr td.active.disabled.focus,
.datepicker table tr td.active.highlighted.disabled.focus,
.datepicker table tr td.active[disabled].focus,
.datepicker table tr td.active.highlighted[disabled].focus,
fieldset[disabled] .datepicker table tr td.active.focus,
fieldset[disabled] .datepicker table tr td.active.highlighted.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px;
}
.datepicker table tr td span:hover,
.datepicker table tr td span.focused {
  background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #777777;
  cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:focus,
.datepicker table tr td span.active:hover:focus,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active.disabled:hover:focus,
.datepicker table tr td span.active.focus,
.datepicker table tr td span.active:hover.focus,
.datepicker table tr td span.active.disabled.focus,
.datepicker table tr td span.active.disabled:hover.focus {
  color: #fff;
  background-color: #286090;
  border-color: #122b40;
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  color: #fff;
  background-color: #286090;
  border-color: #204d74;
}
.datepicker table tr td span.active:active:hover,
.datepicker table tr td span.active:hover:active:hover,
.datepicker table tr td span.active.disabled:active:hover,
.datepicker table tr td span.active.disabled:hover:active:hover,
.datepicker table tr td span.active.active:hover,
.datepicker table tr td span.active:hover.active:hover,
.datepicker table tr td span.active.disabled.active:hover,
.datepicker table tr td span.active.disabled:hover.active:hover,
.datepicker table tr td span.active:active:focus,
.datepicker table tr td span.active:hover:active:focus,
.datepicker table tr td span.active.disabled:active:focus,
.datepicker table tr td span.active.disabled:hover:active:focus,
.datepicker table tr td span.active.active:focus,
.datepicker table tr td span.active:hover.active:focus,
.datepicker table tr td span.active.disabled.active:focus,
.datepicker table tr td span.active.disabled:hover.active:focus,
.datepicker table tr td span.active:active.focus,
.datepicker table tr td span.active:hover:active.focus,
.datepicker table tr td span.active.disabled:active.focus,
.datepicker table tr td span.active.disabled:hover:active.focus,
.datepicker table tr td span.active.active.focus,
.datepicker table tr td span.active:hover.active.focus,
.datepicker table tr td span.active.disabled.active.focus,
.datepicker table tr td span.active.disabled:hover.active.focus {
  color: #fff;
  background-color: #204d74;
  border-color: #122b40;
}
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover.disabled:hover,
.datepicker table tr td span.active.disabled.disabled:hover,
.datepicker table tr td span.active.disabled:hover.disabled:hover,
.datepicker table tr td span.active[disabled]:hover,
.datepicker table tr td span.active:hover[disabled]:hover,
.datepicker table tr td span.active.disabled[disabled]:hover,
.datepicker table tr td span.active.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td span.active:hover,
fieldset[disabled] .datepicker table tr td span.active:hover:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active:hover.disabled:focus,
.datepicker table tr td span.active.disabled.disabled:focus,
.datepicker table tr td span.active.disabled:hover.disabled:focus,
.datepicker table tr td span.active[disabled]:focus,
.datepicker table tr td span.active:hover[disabled]:focus,
.datepicker table tr td span.active.disabled[disabled]:focus,
.datepicker table tr td span.active.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td span.active:focus,
fieldset[disabled] .datepicker table tr td span.active:hover:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,
.datepicker table tr td span.active.disabled.focus,
.datepicker table tr td span.active:hover.disabled.focus,
.datepicker table tr td span.active.disabled.disabled.focus,
.datepicker table tr td span.active.disabled:hover.disabled.focus,
.datepicker table tr td span.active[disabled].focus,
.datepicker table tr td span.active:hover[disabled].focus,
.datepicker table tr td span.active.disabled[disabled].focus,
.datepicker table tr td span.active.disabled:hover[disabled].focus,
fieldset[disabled] .datepicker table tr td span.active.focus,
fieldset[disabled] .datepicker table tr td span.active:hover.focus,
fieldset[disabled] .datepicker table tr td span.active.disabled.focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus {
  background-color: #337ab7;
  border-color: #2e6da4;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #777777;
}
.datepicker .datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
  background: #eeeeee;
}
.datepicker .prev.disabled,
.datepicker .next.disabled {
  visibility: hidden;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.input-group.date .input-group-addon {
  cursor: pointer;
}
.input-daterange {
  width: 100%;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .input-group-addon {
  width: auto;
  min-width: 16px;
  padding: 4px 5px;
  line-height: 1.42857143;
  text-shadow: 0 1px 0 #fff;
  border-width: 1px 0;
  margin-left: -5px;
  margin-right: -5px;
}
/*# sourceMappingURL=bootstrap-datepicker3.css.map */
/* ---- rickshaw.css ---- */
.rickshaw_graph .detail {
	pointer-events: none;
	position: absolute;
	top: 0;
	z-index: 2;
	background: rgba(0, 0, 0, 0.1);
	bottom: 0;
	width: 1px;
	transition: opacity 0.25s linear;
	-moz-transition: opacity 0.25s linear;
	-o-transition: opacity 0.25s linear;
	-webkit-transition: opacity 0.25s linear;
}
.rickshaw_graph .detail.inactive {
	opacity: 0;
}
.rickshaw_graph .detail .item.active {
	opacity: 1;
}
.rickshaw_graph .detail .x_label {
	font-family: Arial, sans-serif;
	border-radius: 3px;
	padding: 6px;
	opacity: 0.5;
	border: 1px solid #e0e0e0;
	font-size: 12px;
	position: absolute;
	background: white;
	white-space: nowrap;
}
.rickshaw_graph .detail .x_label.left {
	left: 0;
}
.rickshaw_graph .detail .x_label.right {
	right: 0;
}
.rickshaw_graph .detail .item {
	position: absolute;
	z-index: 2;
	border-radius: 3px;
	padding: 0.25em;
	font-size: 12px;
	font-family: Arial, sans-serif;
	opacity: 0;
	background: rgba(0, 0, 0, 0.4);
	color: white;
	border: 1px solid rgba(0, 0, 0, 0.4);
	margin-left: 1em;
	margin-right: 1em;
	margin-top: -1em;
	white-space: nowrap;
}
.rickshaw_graph .detail .item.left {
	left: 0;
}
.rickshaw_graph .detail .item.right {
	right: 0;
}
.rickshaw_graph .detail .item.active {
	opacity: 1;
	background: rgba(0, 0, 0, 0.8);
}
.rickshaw_graph .detail .item:after {
	position: absolute;
	display: block;
	width: 0;
	height: 0;

	content: "";

	border: 5px solid transparent;
}
.rickshaw_graph .detail .item.left:after {
	top: 1em;
	left: -5px;
	margin-top: -5px;
	border-right-color: rgba(0, 0, 0, 0.8);
	border-left-width: 0;
}
.rickshaw_graph .detail .item.right:after {
	top: 1em;
	right: -5px;
	margin-top: -5px;
	border-left-color: rgba(0, 0, 0, 0.8);
	border-right-width: 0;
}
.rickshaw_graph .detail .dot {
	width: 4px;
	height: 4px;
	margin-left: -3px;
	margin-top: -3.5px;
	border-radius: 5px;
	position: absolute;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	background: white;
	border-width: 2px;
	border-style: solid;
	display: none;
	background-clip: padding-box;
}
.rickshaw_graph .detail .dot.active {
	display: block;
}
/* graph */

.rickshaw_graph {
	position: relative;
}
.rickshaw_graph svg {
	display: block;	
	overflow: hidden;
}

/* ticks */

.rickshaw_graph .x_tick {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 0px;
	border-left: 1px dotted rgba(0, 0, 0, 0.2);
	pointer-events: none;
}
.rickshaw_graph .x_tick .title {
	position: absolute;
	font-size: 12px;
	font-family: Arial, sans-serif;
	opacity: 0.5;
	white-space: nowrap;
	margin-left: 3px;
	bottom: 1px;
}

/* annotations */

.rickshaw_annotation_timeline {
	height: 1px;
	border-top: 1px solid #e0e0e0;
	margin-top: 10px;
	position: relative;
}
.rickshaw_annotation_timeline .annotation {
	position: absolute;
	height: 6px;
	width: 6px;
	margin-left: -2px;
	top: -3px;
	border-radius: 5px;
	background-color: rgba(0, 0, 0, 0.25);
}
.rickshaw_graph .annotation_line {
	position: absolute;
	top: 0;
	bottom: -6px;
	width: 0px;
	border-left: 2px solid rgba(0, 0, 0, 0.3);
	display: none;
}
.rickshaw_graph .annotation_line.active {
	display: block;
}

.rickshaw_graph .annotation_range {
        background: rgba(0, 0, 0, 0.1);
        display: none;
        position: absolute;
        top: 0;
        bottom: -6px;
}
.rickshaw_graph .annotation_range.active {
        display: block;
}
.rickshaw_graph .annotation_range.active.offscreen {
        display: none;
}

.rickshaw_annotation_timeline .annotation .content {
	background: white;
	color: black;
	opacity: 0.9;
	padding: 5px 5px;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
	border-radius: 3px;
	position: relative;
	z-index: 20;
	font-size: 12px;
	padding: 6px 8px 8px;
	top: 18px;
	left: -11px;
	width: 160px;
	display: none;
	cursor: pointer;
}
.rickshaw_annotation_timeline .annotation .content:before {
	content: "\25b2";
	position: absolute;
	top: -11px;
	color: white;
	text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8);
}
.rickshaw_annotation_timeline .annotation.active,
.rickshaw_annotation_timeline .annotation:hover {
	background-color: rgba(0, 0, 0, 0.8);
	cursor: none;
}
.rickshaw_annotation_timeline .annotation .content:hover {
	z-index: 50;
}
.rickshaw_annotation_timeline .annotation.active .content {
	display: block;
}
.rickshaw_annotation_timeline .annotation:hover .content {
	display: block;
	z-index: 50;
}
.rickshaw_graph .y_axis,
.rickshaw_graph  .x_axis_d3 {
	fill: none;
}
.rickshaw_graph .y_ticks .tick line,
.rickshaw_graph .x_ticks_d3 .tick {
	stroke: rgba(0, 0, 0, 0.16);
	stroke-width: 2px;
	shape-rendering: crisp-edges;
	pointer-events: none;
}
.rickshaw_graph .y_grid .tick,
.rickshaw_graph .x_grid_d3 .tick {
	z-index: -1;
	stroke: rgba(0, 0, 0, 0.20);
	stroke-width: 1px;
	stroke-dasharray: 1 1;
}
.rickshaw_graph .y_grid .tick[data-y-value="0"] {
	stroke-dasharray: 1 0;
}
.rickshaw_graph .y_grid path,
.rickshaw_graph .x_grid_d3 path  {
	fill: none;
	stroke: none;
}
.rickshaw_graph .y_ticks path,
.rickshaw_graph .x_ticks_d3 path {
	fill: none;
	stroke: #808080;
}
.rickshaw_graph .y_ticks text,
.rickshaw_graph .x_ticks_d3 text {
	opacity: 0.5;
	font-size: 12px;
	pointer-events: none;
}
.rickshaw_graph .x_tick.glow .title,
.rickshaw_graph .y_ticks.glow text {
	fill: black;
	color: black;
	text-shadow: 
		-1px 1px 0 rgba(255, 255, 255, 0.1),
		1px -1px 0 rgba(255, 255, 255, 0.1),
		1px 1px 0 rgba(255, 255, 255, 0.1),
		0px 1px 0 rgba(255, 255, 255, 0.1),
		0px -1px 0 rgba(255, 255, 255, 0.1),
		1px 0px 0 rgba(255, 255, 255, 0.1),
		-1px 0px 0 rgba(255, 255, 255, 0.1),
		-1px -1px 0 rgba(255, 255, 255, 0.1);
}
.rickshaw_graph .x_tick.inverse .title,
.rickshaw_graph .y_ticks.inverse text {
	fill: white;
	color: white;
	text-shadow: 
		-1px 1px 0 rgba(0, 0, 0, 0.8),
		1px -1px 0 rgba(0, 0, 0, 0.8),
		1px 1px 0 rgba(0, 0, 0, 0.8),
		0px 1px 0 rgba(0, 0, 0, 0.8),
		0px -1px 0 rgba(0, 0, 0, 0.8),
		1px 0px 0 rgba(0, 0, 0, 0.8),
		-1px 0px 0 rgba(0, 0, 0, 0.8),
		-1px -1px 0 rgba(0, 0, 0, 0.8);
}
.rickshaw_legend {
	font-family: Arial;
	font-size: 12px;
	color: white;
	background: #404040;
	display: inline-block;
	padding: 12px 5px; 
	border-radius: 2px;
	position: relative;
}
.rickshaw_legend:hover {
	z-index: 10;
}
.rickshaw_legend .swatch {
	width: 10px;
	height: 10px;
	border: 1px solid rgba(0, 0, 0, 0.2);
}
.rickshaw_legend .line {
	clear: both;
	line-height: 140%;
	padding-right: 15px;
}
.rickshaw_legend .line .swatch {
	display: inline-block;
	margin-right: 3px;
	border-radius: 2px;
}
.rickshaw_legend .label {
	margin: 0;
	white-space: nowrap;
	display: inline;
	font-size: inherit;
	background-color: transparent;
	color: inherit;
	font-weight: normal;
	line-height: normal;
	padding: 0px;
	text-shadow: none;
}
.rickshaw_legend .action:hover {
	opacity: 0.6;
}
.rickshaw_legend .action {
	margin-right: 0.2em;
	font-size: 10px;
	opacity: 0.2;
	cursor: pointer;
	font-size: 14px;
}
.rickshaw_legend .line.disabled {
	opacity: 0.4;
}
.rickshaw_legend ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	margin: 2px;
	cursor: pointer;
}
.rickshaw_legend li {
	padding: 0 0 0 2px;
	min-width: 80px;
	white-space: nowrap;
}
.rickshaw_legend li:hover {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 3px;
}
.rickshaw_legend li:active {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 3px;
}

/* ---- select2.css ---- */
.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }
  .select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--single .select2-selection__rendered {
      display: block;
      padding-left: 8px;
      padding-right: 20px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
    .select2-container .select2-selection--single .select2-selection__clear {
      position: relative; }
  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px; }
  .select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    user-select: none;
    -webkit-user-select: none; }
    .select2-container .select2-selection--multiple .select2-selection__rendered {
      display: inline-block;
      overflow: hidden;
      padding-left: 8px;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .select2-container .select2-search--inline {
    float: left; }
    .select2-container .select2-search--inline .select2-search__field {
      box-sizing: border-box;
      border: none;
      font-size: 100%;
      margin-top: 5px;
      padding: 0; }
      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
        -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }
  .select2-results__option[aria-selected] {
    cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }
  .select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box; }
    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
      -webkit-appearance: none; }
  .select2-search--dropdown.select2-search--hide {
    display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold; }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px; }
    .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }
  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
    display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }
  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%; }
    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
      list-style: none; }
  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left; }
  .select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-top: 5px;
    margin-right: 10px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0; }
  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em; }
    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
      margin-left: -2em;
      padding-left: 3em; }
      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
        margin-left: -3em;
        padding-left: 4em; }
        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
          margin-left: -4em;
          padding-left: 5em; }
          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
            margin-left: -5em;
            padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
  .select2-container--classic .select2-selection--single:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px; }
  .select2-container--classic .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: bold;
    margin-right: 10px; }
  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
    color: #999; }
  .select2-container--classic .select2-selection--single .select2-selection__arrow {
    background-color: #ddd;
    border: none;
    border-left: 1px solid #aaa;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px;
    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
      border-color: #888 transparent transparent transparent;
      border-style: solid;
      border-width: 5px 4px 0 4px;
      height: 0;
      left: 50%;
      margin-left: -4px;
      margin-top: -2px;
      position: absolute;
      top: 50%;
      width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }
  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
    background: transparent;
    border: none; }
    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
      border-color: transparent transparent #888 transparent;
      border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }
  .select2-container--classic .select2-selection--multiple:focus {
    border: 1px solid #5897fb; }
  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
    list-style: none;
    margin: 0;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
    display: none; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px; }
  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
    color: #888;
    cursor: pointer;
    display: inline-block;
    font-weight: bold;
    margin-right: 2px; }
    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
      color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results > .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

/* ---- bootstrap-clockpicker.css ---- */
/*!
 * ClockPicker v0.0.7 for Bootstrap (http://weareoutman.github.io/clockpicker/)
 * Copyright 2014 Wang Shenwei.
 * Licensed under MIT (https://github.com/weareoutman/clockpicker/blob/gh-pages/LICENSE)
 */

.clockpicker .input-group-addon {
	cursor: pointer;
}
.clockpicker-moving {
	cursor: move;
}
.clockpicker-align-left.popover > .arrow {
	left: 25px;
}
.clockpicker-align-top.popover > .arrow {
	top: 17px;
}
.clockpicker-align-right.popover > .arrow {
	left: auto;
	right: 25px;
}
.clockpicker-align-bottom.popover > .arrow {
	top: auto;
	bottom: 6px;
}
.clockpicker-popover .popover-title {
	background-color: #fff;
	color: #999;
	font-size: 24px;
	font-weight: bold;
	line-height: 30px;
	text-align: center;
}
.clockpicker-popover .popover-title span {
	cursor: pointer;
}
.clockpicker-popover .popover-content {
	background-color: #f8f8f8;
	padding: 12px;
}
.popover-content:last-child {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}
.clockpicker-plate {
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	width: 200px;
	height: 200px;
	overflow: visible;
	position: relative;
	/* Disable text selection highlighting. Thanks to Hermanya */
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.clockpicker-canvas,
.clockpicker-dial {
	width: 200px;
	height: 200px;
	position: absolute;
	left: -1px;
	top: -1px;
}
.clockpicker-minutes {
	visibility: hidden;
}
.clockpicker-tick {
	border-radius: 50%;
	color: #666;
	line-height: 26px;
	text-align: center;
	width: 26px;
	height: 26px;
	position: absolute;
	cursor: pointer;
}
.clockpicker-tick.active,
.clockpicker-tick:hover {
	background-color: rgb(192, 229, 247);
	background-color: rgba(0, 149, 221, .25);
}
.clockpicker-button {
	background-image: none;
	background-color: #fff;
	border-width: 1px 0 0;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	margin: 0;
	padding: 10px 0;
}
.clockpicker-button:hover {
	background-image: none;
	background-color: #ebebeb;
}
.clockpicker-button:focus {
	outline: none!important;
}
.clockpicker-dial {
	-webkit-transition: -webkit-transform 350ms, opacity 350ms;
	-moz-transition: -moz-transform 350ms, opacity 350ms;
	-ms-transition: -ms-transform 350ms, opacity 350ms;
	-o-transition: -o-transform 350ms, opacity 350ms;
	transition: transform 350ms, opacity 350ms;
}
.clockpicker-dial-out {
	opacity: 0;
}
.clockpicker-hours.clockpicker-dial-out {
	-webkit-transform: scale(1.2, 1.2);
	-moz-transform: scale(1.2, 1.2);
	-ms-transform: scale(1.2, 1.2);
	-o-transform: scale(1.2, 1.2);
	transform: scale(1.2, 1.2);
}
.clockpicker-minutes.clockpicker-dial-out {
	-webkit-transform: scale(.8, .8);
	-moz-transform: scale(.8, .8);
	-ms-transform: scale(.8, .8);
	-o-transform: scale(.8, .8);
	transform: scale(.8, .8);
}
.clockpicker-canvas {
	-webkit-transition: opacity 175ms;
	-moz-transition: opacity 175ms;
	-ms-transition: opacity 175ms;
	-o-transition: opacity 175ms;
	transition: opacity 175ms;
}
.clockpicker-canvas-out {
	opacity: 0.25;
}
.clockpicker-canvas-bearing,
.clockpicker-canvas-fg {
	stroke: none;
	fill: rgb(0, 149, 221);
}
.clockpicker-canvas-bg {
	stroke: none;
	fill: rgb(192, 229, 247);
}
.clockpicker-canvas-bg-trans {
	fill: rgba(0, 149, 221, .25);
}
.clockpicker-canvas line {
	stroke: rgb(0, 149, 221);
	stroke-width: 1;
	stroke-linecap: round;
	/*shape-rendering: crispEdges;*/
}
.clockpicker-button.am-button {
	margin: 1px;
	padding: 5px;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 4px;
	
}
.clockpicker-button.pm-button {
	margin: 1px 1px 1px 136px;
	padding: 5px;
	border: 1px solid rgba(0, 0, 0, .2);
	border-radius: 4px;
}

/* ---- nouislider.min.css ---- */
/*! nouislider - 9.2.0 - 2017-01-11 10:35:35 */.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-large,.noUi-marker-sub{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}
/* ---- bootstrap-colorpicker.css ---- */
/*!
 * Bootstrap Colorpicker v2.5.2
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */
.colorpicker-saturation {
  width: 100px;
  height: 100px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAQAAADa613fAAAP9klEQVR4XnRWC47rNgwcKjlA0bv2VL1Qi/YELRav7203iS1ppqZoiXCAhuBHVLI74xFtG3/Hz2joIOjRGuR5eMYuRn9YA1fds859KX8ZvczLr9/pImiR3Rqky9/wlajRIdVE/1Rufeu/0No3/ASgBZAJUkwgi0iCaEatekJJoEqiTQncd67/gyOfRCZshTed0Nl8LbLj8D6qxtoq9/7kJz/aH/3Xfu8VwI5+AUH8DxE7gUyiIpZ5LwiGzUqE3CScJsCDQHAsvBnxWpkbC0QMHmBp6latWS0bnvrCN/x1+xPfce+Ij0GAyeAGGz15sOiax2UylPhKrFaMPnVWClwepKh07hdhkVDsK2uoyEIySergjdbY2VBtV8VLr8Mf9mF/4wMb7kR8FOhzFWZZe7HIZD9JRIbee28eJKBweTB6TwjYkAgWaUmtDveGw1Wx3zZ76YlPPfQd/+gTTUFkiGiJ+NQAszU1EPT/QJEgufolAMPkNU4CVOyUIBLg4xglEZHGQnTFOFV0VaulYddBhA986ge/7N/yQi/3flFgwfQq2ibLnTDBRl9TmUHyJASPV/eoN0UISIr+ICQKIFV4EpljSjV1uFVUq9hRtet5e9gXvuyHPW0zMhQxWaoBBa9Tg8vsCEhww23Smd0CKjIkmPIoxWrUBDgJqFCyESF43ctQxLUoHN7Q1KyVhqrNNm3cy2vMyQNPVKjc29Rh5SSU+giWdRJHkLnQG71FQEuNyNGBTDdBQQAKCuGiEUS/jcyGbkMPq931OIzb/dUPGuVlG7f+slqkO5NAAlzTMdcq0NkzmsEBmAQkbI+pSHbiqnuWIA6lijhvqwIxMyWxMGZiPU669XJE1tADDTs2HWpwKxuqdnTpOiOR42xlzLtm3pXGel3xd8/oTs8Xy0MV8GM1RlsC2Y3Wy3wut3M+2mEVux0Gt9fhzTWyLvGiiJYaqY5DWRFIwAiQ5r6gB9GpQihJw4I9j5Mkscj3BnzGjBhv8xna5P1Jo428o6IOPY5KFZtVOkEKqUjqQY9Gi+jrIOFwJUDzRtA9xyoIrGGmkNRmxVAnZoK+TkUIeUYni5wEzgOG5iZX5HCr2JyQNqdk++G0rgb1ochSIGutTj4P7F0PuRUAolmh5sCzAHn1BYyaADh6bgFeoBx6vst091CEvcSLWBBpqGq384jZ5llVHSwEShLx+D4d0mU3D5eEAJQ9KEhOZUYnDENV2qKgmIlQhWfdvcoXYaegPp/n1oKIOgYFqxrzQSciqNhv/5FqPpy6b0UcX2vf13DfWySRSEgkEYlEJJGQSyKJSEQSCYlEEpHexIVO3XOevffze2a+PfPv9x1rne1c3b3Mmlmz9mE++zuzngfnw/E+Dlc4LL4NwHdFy7u3KGPVmZ6/4eeMoDyre3i/KHADIHYO04w9zO0mAotuKnrc7XaPjvu66bNe5cDT7RlPepEnfS2X8dF1/utDvD+OwGDBxEgQywLCvIMYWBY+DShwAAORAdv9PswhDAqOUCi5+71AbFcDMR4xBDNfhySKXPXZ1+Vub+Q1Ltf5z7eC0AjVldHI26rIFdKIAyYBJCFVUhVDwttAnM52B3Ect1TFQXzJ0z33lOuib/QO8g+CuO0gKBRU80A8hkeJ0b1KRQWmFQVSh8mf3lpUpNaRulzN5NArrmKKGMijXgzk7w5ijdFVgT8f1IdFNjVWjDWicUYWEEMmSFDtILdzHW5XueHp7p+yuS54ep5/c5BE2Gw/gWPNYU4/PZaak2VGEsFjSbOf8irea6KQgojGCk0KxZY31tWWgzwayF8N5KYyo3VADVicWWrhwzr3ZqIOa5xW5zbqMPPMiyDURHDIHQTeWq7KFXcQPOqzPOL5Ov/iIDEDy7DHEwx0PTgjO8SS0fOEHcZNMt+XKEFMj8Q4QUSvPu6HPuvd4N9/x12RPwcIVRCAakSOUzHgsUSMFWYzDQ+PiOJqAOuYc9jh5TecnA+xHfFyOYhebeTH89P80wrCJzUjlsx7euIV0g4zQFUSiBPioIWBACFC7GgDj8P91ZSJOQmQP74MAnQo8H5RIe8kZ0kBcQCMAlEpRDiKROBxbR0ksdhWFq0gR9q9uQzkDzuIFQSPqAgRCAsCaVNF2ZAAhxvtzcqcnDk6tpXxSsayqXLIgSOb6zqeH+fvO0i9XEu5EVV+OZehRZJ6BGTeaRhCkTzVIZeAzaWGAFfErIPogQI5CuR3HQQx7DzBB16R3s7e0MBUPedjWutgG/JUTPqMeAQNEiytJRnJearWUgdwFNxN7rtBoECuj/O3BMHaTIxQ0a4GctireElTJHJvLTaalih5kvBCGMvkdESUMAdCFaI4yG8SpDfRWAptqkAJUwCG6B7lOREFSZBqKs57MEHqVJEBwHa2lp0OiKtiQ18gx9P89QrSXyc0vObBM4vPmBADqJZLAo/yzK7qPSZstCy+fDSZlhrm+Zkyjsf5q2otdC14zkLjHLf0me9wjNqQo0B1a6wBJRaIEgC2Qw9oby/cRHA+xHCQy/xlB1HVSV3Y/5yVhsc7dBi2UoIWCMcbELZWgxNCGUZ5y4ceBaLlE8dAfrEosrYT+z8ya3sxXndFBxuQivNGEHFCbLGBlBLKGYHZoeoQpcjtMn/uICPefcxecpuDOEemg9S/44cflZPIlWolyHkLrEpgbS9IQRlAgZgi0WDjsEiPh+PN/Fkogq4GdzPtarlRGW2tJwEK1RMTEvdVdmhAKHO1pdUuGQsVcX+rSfGzDbwGyE8NRPQc83HCaOkTZwPqABZBdFq8zAN1gue0FPO8wYUFBE1WkMwVzM1iQ4BItFh+H36Qy/yJg0DRQICmBl+tbKUC5cCj3yXI+SUFBS78ZAcBtHt+e9lBuiqpTNh9zTvIjzuIWxVYGQJpAZY+VWS3QKh84iSZbwuIdiDpc4KztQa/sjhMaDJEJDSZ8mZ+kCBdC0JpKVNQzZdKu+EsOeFCosrngVAkDS/uy6iGnW7UxmMpkB8FyFKo6iQW8z1HuBdMu1pdkZdB8jWTjlFtNaiJRYniIDcD+eECMqFLS9ED6DgxzCMKnRD3HYYA2uMCJUh70OK8G0EUnJV8lqe8nj84QdqLhdoJskNlEw1ivajM8LtPBhIeN99LESXI9xcQIHFQudHngZjUhXOQeGlUYmAddh5pxMhzV0M1vMAtMFIVmfp6fq+DgEWefjQVenstaqUy3bJQAiVlEihDghCDINFQg8oUhoQPkO8SBEM7SFQ72VYBwPuE7k8uYF5LNwg/TEd2zkuKjIIhTiJRlYrDfNS1QL7DYUcbcCyKJNwOwucVCVSwBBj/DwghXA2hQtACgCBBPprfXkAIFIYRXhONQARFU00Tsh6LEmmQUbkTImMi9me5qaHDIeBgHeRbdxAIqAJBCDSoCNVQglrciqX/ZCD9RRP6rgpBvhmKAFhg2ForBLXBYPtUjj7vCHPe8SXbYAY47gHB9mKeqjjIg/53fmMD0fR9Bug7SFcHI6EA1OC/E8QTL4NgBSGiCiyTChnI1zcQxmyfRZGM6w701KRybDvsIK3LWDx6mxGkcglEZQLkawnCdppZ6sgCh8trWWBUQaUWCEOlOs7HAenFE45QSu9RQQDAqchXNxDq4orQR44qRIFUQvM+mRJuB6GDEixgCbSBQGXghEEbdn1P/zO/QhAWCsWsmRhLa2VFkSZIgSVKmgEQhvk6K8YKMRZl7Dwg4amOUYvFBfLlE4RasOCB5S9PXKq0AqGDMiYIReXF0mYctITWBmqR5F38X5Y7yJfeCtKBzNbWYm5XpsMpf3dRZD3jPDesvdVCOs6KYQXIFw1E4fcE8dHWOepZBXpLJcACWUZVMRZbfvgXR4Ak8A7VVSKSVuu9p6/mFxyE7cOWavtLp952O8huK83+gmHzHaAsVXLgAvl8gPCvHzAFsM8GNXGKPH5cmN02sXTLa8QdKRXMzHv67/k5A9k1UIx36UH/VlWWtuKssNiRapB6BaLXl6MA+ayDcNS3v/sYXgCL620F1kk8QhKAEOvKu4DvajDO5zkHc4fBg76anyEIIcamBPex5EK8AoVHhMW7QAqWrYD1204CJB1hCfOAV/PTBPH0zBmJmsZZKCEaAmdqm4zMcYxYLN0JuHThIAjirAnp3px7TRgD+ZSD/K92M1CNIgbC8Ex7FkSEIlQEEUQEQQQBRBABEUQQEQTx3X0Evap9AhP39jL5OvuzAWuvbDaTTDIzX2aypUCJ0i7nAigoQAk9gUIUSxXEoCFyyVIuL9ZQcMZoArnwr4D0OLS8jGNGTgGnsZQWMYrcOARoIReAALBeWhf+RUCAIEsECFQHLkwR5zj4JW3t5WOUU5djvgQIawD53EDsctmYz8xGaZGPBUR3qNkiGwqDICUYIFpqBgRaayCfFiAWR2wWvoobmzxdF8N5kyxXmvap/sgGcLF/aoBosbG+lE395R8zCA4BqUYgOgYq+HtvBrT0LK15X8lZwx5f9klCX0rdgXzIIGbdhXMqZtHzJhuptEjmsFc4KzmN5IFPtfM7gWw2kPczSIqQSPUDYKYBMamsBCpKphW0iA5H8AbMDPJOQYjLZg1Vk4G49GlCYNYAkdOd0kwRQ8FCyAHydgLZ6Z2AqrVtjDUQ7hCEmrkEooDAsB2YnBCvkBpZ6yBvJpCd7Mn5zJ6C4QF2BUQPgHEIGUrGnHzQ8rlMekBeTyAzwDJksxwM4+w3BY02B8mIl0CmFRm+ZscxAuSnvwqQsECTIGSV6FEoJFTygVuzB5xAsKqBvAQE3+nkVoJDI1BJIaPBWik7ZSu5NIp5A3mRQaTFvLgkO9fVgEgMqqeVfb+p55tijWH+Kea71ubq4v8Sl8089sZKbKEZNq+VUfISJJF7j79WrbYgS994ZEf+nIz0pNFRWqapSmK6P45i3OQuItIiPDyg6RnxZ4D0g+CFPxAzluoRsWsaA6I6JOqVWCisDvJ0BgHTzMSRgMi0vmi8R+sR6tg/XUh7kCc7kMRqSNkTBDx0OkAUegFcMazciBXNpm798R6klXap/WZz49TQwBHqEcj4oCToUPjUuP9lfxcbyKMAwT6bTf1qqIIQDl3i5oCERNmVm0wgW4A8BGRxMX3hWh8bEV5Rvfp4DS5F3djWH2ztDNWKW7OBjgjIwsDWaKRknJjqMsh9QCa1p608lLovFkBE969DYtYelSzwSRcg535vAsFeNU9SzRCYZb4LDmxmFQKkwYGM+5y/G7b1uxMIylLdyE5yxIyYsoXWhQIpzQhYPi3JkJoKkB9+BxD0OMuyOEBe36DgyPSrxscmATldgKj8PxrkA/kA5PYMgkrocwIQ6GSRGmF0VaNqBKQZ5FYDEZSDzFTzq9mBQjAayE1A+ryDTzcQZe0Ibbxj7EwpAmTrJwEimZR9CCPtODhzxuNtY19Zd2Lf/fjCTnEiDAOg62j1utb/dv9mZ/aHCj4AyOHbsW3/As0BTzIgeJU7AAAAAElFTkSuQmCC");
  cursor: crosshair;
  float: left;
}
.colorpicker-saturation i {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #000;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 0;
  margin: -4px 0 0 -4px;
}
.colorpicker-saturation i b {
  display: block;
  height: 5px;
  width: 5px;
  border: 1px solid #fff;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.colorpicker-hue,
.colorpicker-alpha {
  width: 15px;
  height: 100px;
  float: left;
  cursor: row-resize;
  margin-left: 4px;
  margin-bottom: 4px;
}
.colorpicker-hue i,
.colorpicker-alpha i {
  display: block;
  height: 1px;
  background: #000;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -1px;
}
.colorpicker-hue {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAMAAABw8qpSAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAh0lEQVR4XgXAg3EDAAAAwI9to7Zt27a1/w49BASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTS1tHXo1KVbj159+g0YNGTYiFFjxk2YNGXajFlz5i1YtGTZilVr1m3YtGXbjl179h04dOTYiVNnzl24dOXajVt37j149OTZi1dv3n349OXbj19//wOxE1dQ8reGAAAAAElFTkSuQmCC");
}
.colorpicker-alpha {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");
  display: none;
}
.colorpicker-saturation,
.colorpicker-hue,
.colorpicker-alpha {
  background-size: contain;
}
.colorpicker {
  padding: 4px;
  min-width: 130px;
  margin-top: 1px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  z-index: 2500;
}
.colorpicker:before,
.colorpicker:after {
  display: table;
  content: "";
  line-height: 0;
}
.colorpicker:after {
  clear: both;
}
.colorpicker:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px;
}
.colorpicker:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px;
}
.colorpicker div {
  position: relative;
}
.colorpicker.colorpicker-with-alpha {
  min-width: 140px;
}
.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block;
}
.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAQAAAAVxWkcAAABr0lEQVR4Xo2VwU0DQQxF7dmRuNIFlzlSAR3QAaXQQdIBJVABFXDcOVAAd67cjJLR07dkhcSrkZKfb/t7bG88rFo3B5gZPMNycItu2xloGV7MWHzM9zuzFWCkmA0nK6AszCUJDW6+mG6R03ncw5v8EMTEvZ2O3AliYjpslblc0RF9LmZYWxURU6aKytWZYsoWCAe+xwOZp1GsEukGiIkYxcQCHck99+gRgB7JncyIB5SGEhP3Yh5P6JwX+u6AnYot104d8DJT7uH7M9JH6OZbimj0vfMVaYnJIZFJDBW9kHlerL2C6JV4mSt7uuo2N57RxnZ+usQjn0R1jwBJBrNO3evJpVYUWsJ/E3UiXRlv24/7YZ04xmEdWlzcKS+B/eapeyMvFd2k0+hRk/T0AmTW8h69s2sjYMsdPntECiILhAeIMZAeH4QvUwfn6ijC0tTV+fT9ky8jM9nK2g7Ly1VjSpKYq6IvsAm7MtNu1orEqa/K3KNvgMFdhfquPfJmp2dbh0/8Gzb6Y22ViaNr6n5410zXdngVhbu6XqdOtWOuin5hjABGp4a2uotZ71MVCfwDBt2/v37yo6AAAAAASUVORK5CYII=");
  background-position: 0 100%;
}
.colorpicker-color div {
  height: 10px;
}
.colorpicker-selectors {
  display: none;
  height: 10px;
  margin-top: 5px;
  clear: both;
}
.colorpicker-selectors i {
  cursor: pointer;
  float: left;
  height: 10px;
  width: 10px;
}
.colorpicker-selectors i + i {
  margin-left: 3px;
}
.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
  display: inline-block;
  cursor: pointer;
  height: 16px;
  vertical-align: text-top;
  width: 16px;
}
.colorpicker.colorpicker-inline {
  position: relative;
  display: inline-block;
  float: none;
  z-index: auto;
}
.colorpicker.colorpicker-horizontal {
  width: 110px;
  min-width: 110px;
  height: auto;
}
.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px;
}
.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  width: 100px;
  height: 15px;
  float: left;
  cursor: col-resize;
  margin-left: 0px;
  margin-bottom: 4px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  display: block;
  height: 15px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  border: none;
  margin-top: 0px;
}
.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAABCAMAAAAfBfuPAAABLFBMVEXqFBb/ABH/ACL/ADH/AEH/AFD/AGD/AG7/AH7/AI3/AJ3/AKz/ALz/AMr/ANv/AOr/APr2AP/mAP/XAP/HAP+4AP+oAP+aAP+JAP97AP9rAP9cAP9MAP8+AP8tAP8fAP8PAP8BAv8AEP8AH/8AL/8APv8ATv8AXP8Abf8Ae/8Ai/8Amv8Aqv8AuP8Ayf8A1/8A5/8A9/8A//gA/+kA/9kA/8oA/7oA/6wA/5sA/40A/30A/24A/14A/1AA/z8A/zEA/yEA/xEB/wMN/wAd/wAs/wA8/wBK/wBb/wBp/wB5/wCI/wCY/wCm/wC3/wDF/wDV/wDk/wD1/wD/+gD/7AD/3AD/zAD/vgD/rQD/nwD/jgD/gAD/cAD/YgD/UQD/QwD/MgD/JAD/FAD4Eg42qAedAAAAbUlEQVR4XgXAghEDsbxtlrZt27ax/w49ACAYQTGcICmaYTleECVZUTXdMC1Wm93hdLk9Xp8/EAyFI9FYPJFMpTPZXL5QLJUr1Vq90Wy1O91efzAcjSfT2XyxXK03293+cDydL9fb/fF8vT/f3x+LfRNXARMbCAAAAABJRU5ErkJggg==");
}
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAKCAQAAADoFTP1AAAB9ElEQVR4XoWTQW4VMRBEu9qWEimL7DhEMp8NF+ASnJJLcAQgE1bcgBUSkYKUuHCrZ9pjeqSU5Yn9LPu7umJQBIIv+k7vIOrtK66L4lmr3pVOrOv3otp619KZ0/KjdNI79L52Uo09FBQWrU0vfe5trezU+hLsoUKd3Repovte+0vbq/7Lj5XbaHECKasR9G4MPlbp+gzZxd6koPEJCkAYC5SjcOTAIIOK90Dja1IfIZ8Z+zAY9jm3b5Ia+MT5sFcqRJrR2AYYA8Kua5BzYRrFPNmD4PQMegGJMOffJJUsWiI3nCHZZjInNdffLWOufzbc3JaboCAVxwmnRHbhLSPwRJ4wU0BRSc6HkECYYVw95nMKgJOcylxrJttE5Ibzf9Xq9GPvP+WX3MiV/MGHfRu/SentRQrfG1GzsIrytdNXucSRKxQNIGHM9YhGFQJcdjNcBZvfJayuYe4Sia1CzwW+19mWOhe37HsxJWKwbu/jluEU15QzAQjAqCEbhMJc78GYV2E0kooHDubUImWkTOhGpgv8PoT8DJG/bzxna4BZ0eOFSOaLADGeSpFsg5AzeaDZIDQQXjZ4y/8ryfzUXBwdELRjTjCNvOeT0rNlrJz90vwy6N9pXXQEluX0inElpPWokSdiLCfiNJJjMKQ8Qsh8GEKQKMo/eiHrNbI9UksAAAAASUVORK5CYII=");
}
.colorpicker-right:before {
  left: auto;
  right: 6px;
}
.colorpicker-right:after {
  left: auto;
  right: 7px;
}
.colorpicker-no-arrow:before {
  border-right: 0;
  border-left: 0;
}
.colorpicker-no-arrow:after {
  border-right: 0;
  border-left: 0;
}
.colorpicker.colorpicker-visible,
.colorpicker-alpha.colorpicker-visible,
.colorpicker-saturation.colorpicker-visible,
.colorpicker-hue.colorpicker-visible,
.colorpicker-selectors.colorpicker-visible {
  display: block;
}
.colorpicker.colorpicker-hidden,
.colorpicker-alpha.colorpicker-hidden,
.colorpicker-saturation.colorpicker-hidden,
.colorpicker-hue.colorpicker-hidden,
.colorpicker-selectors.colorpicker-hidden {
  display: none;
}
.colorpicker-inline.colorpicker-visible {
  display: inline-block;
}
/*# sourceMappingURL=bootstrap-colorpicker.css.map */
/* ---- summernote.css ---- */
@font-face{font-family:"summernote";font-style:normal;font-weight:normal;src:url("./font/summernote.eot?0d0d5fac99cc8774d89eb08b1a8323c4");src:url("./font/summernote.eot?#iefix") format("embedded-opentype"),url("./font/summernote.woff?0d0d5fac99cc8774d89eb08b1a8323c4") format("woff"),url("./font/summernote.ttf?0d0d5fac99cc8774d89eb08b1a8323c4") format("truetype")}[class^="note-icon-"]:before,[class*=" note-icon-"]:before{display:inline-block;font:normal normal normal 14px summernote;font-size:inherit;-webkit-font-smoothing:antialiased;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;speak:none;-moz-osx-font-smoothing:grayscale}.note-icon-align-center:before,.note-icon-align-indent:before,.note-icon-align-justify:before,.note-icon-align-left:before,.note-icon-align-outdent:before,.note-icon-align-right:before,.note-icon-align:before,.note-icon-arrow-circle-down:before,.note-icon-arrow-circle-left:before,.note-icon-arrow-circle-right:before,.note-icon-arrow-circle-up:before,.note-icon-arrows-alt:before,.note-icon-arrows-h:before,.note-icon-arrows-v:before,.note-icon-bold:before,.note-icon-caret:before,.note-icon-chain-broken:before,.note-icon-circle:before,.note-icon-close:before,.note-icon-code:before,.note-icon-col-after:before,.note-icon-col-before:before,.note-icon-col-remove:before,.note-icon-eraser:before,.note-icon-font:before,.note-icon-frame:before,.note-icon-italic:before,.note-icon-link:before,.note-icon-magic:before,.note-icon-menu-check:before,.note-icon-minus:before,.note-icon-orderedlist:before,.note-icon-pencil:before,.note-icon-picture:before,.note-icon-question:before,.note-icon-redo:before,.note-icon-row-above:before,.note-icon-row-below:before,.note-icon-row-remove:before,.note-icon-special-character:before,.note-icon-square:before,.note-icon-strikethrough:before,.note-icon-subscript:before,.note-icon-summernote:before,.note-icon-superscript:before,.note-icon-table:before,.note-icon-text-height:before,.note-icon-trash:before,.note-icon-underline:before,.note-icon-undo:before,.note-icon-unorderedlist:before,.note-icon-video:before{display:inline-block;font-family:"summernote";font-style:normal;font-weight:normal;text-decoration:inherit}.note-icon-align-center:before{content:"\f101"}.note-icon-align-indent:before{content:"\f102"}.note-icon-align-justify:before{content:"\f103"}.note-icon-align-left:before{content:"\f104"}.note-icon-align-outdent:before{content:"\f105"}.note-icon-align-right:before{content:"\f106"}.note-icon-align:before{content:"\f107"}.note-icon-arrow-circle-down:before{content:"\f108"}.note-icon-arrow-circle-left:before{content:"\f109"}.note-icon-arrow-circle-right:before{content:"\f10a"}.note-icon-arrow-circle-up:before{content:"\f10b"}.note-icon-arrows-alt:before{content:"\f10c"}.note-icon-arrows-h:before{content:"\f10d"}.note-icon-arrows-v:before{content:"\f10e"}.note-icon-bold:before{content:"\f10f"}.note-icon-caret:before{content:"\f110"}.note-icon-chain-broken:before{content:"\f111"}.note-icon-circle:before{content:"\f112"}.note-icon-close:before{content:"\f113"}.note-icon-code:before{content:"\f114"}.note-icon-col-after:before{content:"\f115"}.note-icon-col-before:before{content:"\f116"}.note-icon-col-remove:before{content:"\f117"}.note-icon-eraser:before{content:"\f118"}.note-icon-font:before{content:"\f119"}.note-icon-frame:before{content:"\f11a"}.note-icon-italic:before{content:"\f11b"}.note-icon-link:before{content:"\f11c"}.note-icon-magic:before{content:"\f11d"}.note-icon-menu-check:before{content:"\f11e"}.note-icon-minus:before{content:"\f11f"}.note-icon-orderedlist:before{content:"\f120"}.note-icon-pencil:before{content:"\f121"}.note-icon-picture:before{content:"\f122"}.note-icon-question:before{content:"\f123"}.note-icon-redo:before{content:"\f124"}.note-icon-row-above:before{content:"\f125"}.note-icon-row-below:before{content:"\f126"}.note-icon-row-remove:before{content:"\f127"}.note-icon-special-character:before{content:"\f128"}.note-icon-square:before{content:"\f129"}.note-icon-strikethrough:before{content:"\f12a"}.note-icon-subscript:before{content:"\f12b"}.note-icon-summernote:before{content:"\f12c"}.note-icon-superscript:before{content:"\f12d"}.note-icon-table:before{content:"\f12e"}.note-icon-text-height:before{content:"\f12f"}.note-icon-trash:before{content:"\f130"}.note-icon-underline:before{content:"\f131"}.note-icon-undo:before{content:"\f132"}.note-icon-unorderedlist:before{content:"\f133"}.note-icon-video:before{content:"\f134"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;z-index:100;display:none;color:#87cefa;background-color:white;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;font-size:28px;font-weight:bold;text-align:center;vertical-align:middle}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area img.note-float-left{margin-right:10px}.note-editor .note-editing-area img.note-float-right{margin-left:10px}.note-editor.note-frame{border:1px solid #a9a9a9}.note-editor.note-frame.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable{padding:10px;overflow:auto;color:#000;background-color:#fff}.note-editor.note-frame .note-editing-area .note-editable[contenteditable="false"]{background-color:#e5e5e5}.note-editor.note-frame .note-editing-area .note-codable{display:none;width:100%;padding:10px;margin-bottom:0;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;resize:none}.note-editor.note-frame.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important}.note-editor.note-frame.fullscreen .note-editable{background-color:white}.note-editor.note-frame.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-statusbar{background-color:#f5f5f5;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.note-editor.note-frame .note-statusbar .note-resizebar{width:100%;height:8px;padding-top:1px;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #a9a9a9}.note-editor.note-frame .note-placeholder{padding:10px}.note-popover.popover{max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px!important}.note-popover .popover-content,.panel-heading.note-toolbar{padding:0 0 5px 5px;margin:0}.note-popover .popover-content>.btn-group,.panel-heading.note-toolbar>.btn-group{margin-top:5px;margin-right:5px;margin-left:0}.note-popover .popover-content .btn-group .note-table,.panel-heading.note-toolbar .btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute!important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative!important;z-index:1;width:5em;height:5em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.panel-heading.note-toolbar .btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute!important;z-index:2;width:1em;height:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat}.note-popover .popover-content .note-style h1,.panel-heading.note-toolbar .note-style h1,.note-popover .popover-content .note-style h2,.panel-heading.note-toolbar .note-style h2,.note-popover .popover-content .note-style h3,.panel-heading.note-toolbar .note-style h3,.note-popover .popover-content .note-style h4,.panel-heading.note-toolbar .note-style h4,.note-popover .popover-content .note-style h5,.panel-heading.note-toolbar .note-style h5,.note-popover .popover-content .note-style h6,.panel-heading.note-toolbar .note-style h6,.note-popover .popover-content .note-style blockquote,.panel-heading.note-toolbar .note-style blockquote{margin:0}.note-popover .popover-content .note-color .dropdown-toggle,.panel-heading.note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .dropdown-menu,.panel-heading.note-toolbar .note-color .dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-menu .note-palette,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette{display:inline-block;width:160px;margin:0}.note-popover .popover-content .note-color .dropdown-menu .note-palette:first-child,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-palette-title,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-palette-title{margin:2px 7px;font-size:12px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset{width:100%;padding:0 3px;margin:3px;font-size:11px;cursor:pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-row,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .dropdown-menu .note-palette .note-color-reset:hover,.panel-heading.note-toolbar .note-color .dropdown-menu .note-palette .note-color-reset:hover{background:#eee}.note-popover .popover-content .note-para .dropdown-menu,.panel-heading.note-toolbar .note-para .dropdown-menu{min-width:216px;padding:5px}.note-popover .popover-content .note-para .dropdown-menu>div:first-child,.panel-heading.note-toolbar .note-para .dropdown-menu>div:first-child{margin-right:5px}.note-popover .popover-content .dropdown-menu,.panel-heading.note-toolbar .dropdown-menu{min-width:90px}.note-popover .popover-content .dropdown-menu.right,.panel-heading.note-toolbar .dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .dropdown-menu.right::before,.panel-heading.note-toolbar .dropdown-menu.right::before{right:9px;left:auto!important}.note-popover .popover-content .dropdown-menu.right::after,.panel-heading.note-toolbar .dropdown-menu.right::after{right:10px;left:auto!important}.note-popover .popover-content .dropdown-menu.note-check li a i,.panel-heading.note-toolbar .dropdown-menu.note-check li a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .dropdown-menu.note-check li a.checked i,.panel-heading.note-toolbar .dropdown-menu.note-check li a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.panel-heading.note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.panel-heading.note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.panel-heading.note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:1px solid #fff}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.panel-heading.note-toolbar .note-color-palette div .note-color-btn:hover{border:1px solid #000}.note-dialog>div{display:none}.note-dialog .form-group{margin-right:0;margin-left:0}.note-dialog .note-modal-form{margin:0}.note-dialog .note-image-dialog .note-dropzone{min-height:100px;margin-bottom:10px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray}@-moz-document url-prefix(){.note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid black}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:black;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid black}.note-handle .note-control-selection .note-control-sizing{width:7px;height:7px;background-color:white;border:1px solid black}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:none}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:none}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;font-size:12px;color:white;background-color:black;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{max-height:150px;padding:3px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block!important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:white;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#428bca;outline:0}
/* ---- basic.css ---- */
/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  position: relative; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    width: 120px;
    margin: 0.5em; }
    .dropzone .dz-preview .dz-progress {
      display: block;
      height: 15px;
      border: 1px solid #aaa; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        display: block;
        height: 100%;
        width: 0;
        background: green; }
    .dropzone .dz-preview .dz-error-message {
      color: red;
      display: none; }
    .dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
      display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      display: block; }
    .dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
      position: absolute;
      display: none;
      left: 30px;
      top: 30px;
      width: 54px;
      height: 58px;
      left: 50%;
      margin-left: -27px; }

/* ---- dropzone.css ---- */
/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@-webkit-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@-moz-keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@keyframes passing-through {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-40px);
    -moz-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    -o-transform: translateY(-40px);
    transform: translateY(-40px); } }
@-webkit-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@-moz-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
    -moz-transform: translateY(40px);
    -ms-transform: translateY(40px);
    -o-transform: translateY(40px);
    transform: translateY(40px); }
  30% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); } }
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
@-moz-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  10% {
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1); }
  20% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }
  .dropzone.dz-clickable {
    cursor: pointer; }
    .dropzone.dz-clickable * {
      cursor: default; }
    .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
      cursor: pointer; }
  .dropzone.dz-started .dz-message {
    display: none; }
  .dropzone.dz-drag-hover {
    border-style: solid; }
    .dropzone.dz-drag-hover .dz-message {
      opacity: 0.5; }
  .dropzone .dz-message {
    text-align: center;
    margin: 2em 0; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 16px;
    min-height: 100px; }
    .dropzone .dz-preview:hover {
      z-index: 1000; }
      .dropzone .dz-preview:hover .dz-details {
        opacity: 1; }
    .dropzone .dz-preview.dz-file-preview .dz-image {
      border-radius: 20px;
      background: #999;
      background: linear-gradient(to bottom, #eee, #ddd); }
    .dropzone .dz-preview.dz-file-preview .dz-details {
      opacity: 1; }
    .dropzone .dz-preview.dz-image-preview {
      background: white; }
      .dropzone .dz-preview.dz-image-preview .dz-details {
        -webkit-transition: opacity 0.2s linear;
        -moz-transition: opacity 0.2s linear;
        -ms-transition: opacity 0.2s linear;
        -o-transition: opacity 0.2s linear;
        transition: opacity 0.2s linear; }
    .dropzone .dz-preview .dz-remove {
      font-size: 14px;
      text-align: center;
      display: block;
      cursor: pointer;
      border: none; }
      .dropzone .dz-preview .dz-remove:hover {
        text-decoration: underline; }
    .dropzone .dz-preview:hover .dz-details {
      opacity: 1; }
    .dropzone .dz-preview .dz-details {
      z-index: 20;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      font-size: 13px;
      min-width: 100%;
      max-width: 100%;
      padding: 2em 1em;
      text-align: center;
      color: rgba(0, 0, 0, 0.9);
      line-height: 150%; }
      .dropzone .dz-preview .dz-details .dz-size {
        margin-bottom: 1em;
        font-size: 16px; }
      .dropzone .dz-preview .dz-details .dz-filename {
        white-space: nowrap; }
        .dropzone .dz-preview .dz-details .dz-filename:hover span {
          border: 1px solid rgba(200, 200, 200, 0.8);
          background-color: rgba(255, 255, 255, 0.8); }
        .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
          overflow: hidden;
          text-overflow: ellipsis; }
          .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
            border: 1px solid transparent; }
      .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
        background-color: rgba(255, 255, 255, 0.4);
        padding: 0 0.4em;
        border-radius: 3px; }
    .dropzone .dz-preview:hover .dz-image img {
      -webkit-transform: scale(1.05, 1.05);
      -moz-transform: scale(1.05, 1.05);
      -ms-transform: scale(1.05, 1.05);
      -o-transform: scale(1.05, 1.05);
      transform: scale(1.05, 1.05);
      -webkit-filter: blur(8px);
      filter: blur(8px); }
    .dropzone .dz-preview .dz-image {
      border-radius: 20px;
      overflow: hidden;
      width: 120px;
      height: 120px;
      position: relative;
      display: block;
      z-index: 10; }
      .dropzone .dz-preview .dz-image img {
        display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      -webkit-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -moz-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -ms-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      -o-animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview.dz-error .dz-error-mark {
      opacity: 1;
      -webkit-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -moz-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -ms-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      -o-animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1);
      animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
      pointer-events: none;
      opacity: 0;
      z-index: 500;
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      margin-left: -27px;
      margin-top: -27px; }
      .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
        display: block;
        width: 54px;
        height: 54px; }
    .dropzone .dz-preview.dz-processing .dz-progress {
      opacity: 1;
      -webkit-transition: all 0.2s linear;
      -moz-transition: all 0.2s linear;
      -ms-transition: all 0.2s linear;
      -o-transition: all 0.2s linear;
      transition: all 0.2s linear; }
    .dropzone .dz-preview.dz-complete .dz-progress {
      opacity: 0;
      -webkit-transition: opacity 0.4s ease-in;
      -moz-transition: opacity 0.4s ease-in;
      -ms-transition: opacity 0.4s ease-in;
      -o-transition: opacity 0.4s ease-in;
      transition: opacity 0.4s ease-in; }
    .dropzone .dz-preview:not(.dz-processing) .dz-progress {
      -webkit-animation: pulse 6s ease infinite;
      -moz-animation: pulse 6s ease infinite;
      -ms-animation: pulse 6s ease infinite;
      -o-animation: pulse 6s ease infinite;
      animation: pulse 6s ease infinite; }
    .dropzone .dz-preview .dz-progress {
      opacity: 1;
      z-index: 1000;
      pointer-events: none;
      position: absolute;
      height: 16px;
      left: 50%;
      top: 50%;
      margin-top: -8px;
      width: 80px;
      margin-left: -40px;
      background: rgba(255, 255, 255, 0.9);
      -webkit-transform: scale(1);
      border-radius: 8px;
      overflow: hidden; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        background: #333;
        background: linear-gradient(to bottom, #666, #444);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        -webkit-transition: width 300ms ease-in-out;
        -moz-transition: width 300ms ease-in-out;
        -ms-transition: width 300ms ease-in-out;
        -o-transition: width 300ms ease-in-out;
        transition: width 300ms ease-in-out; }
    .dropzone .dz-preview.dz-error .dz-error-message {
      display: block; }
    .dropzone .dz-preview.dz-error:hover .dz-error-message {
      opacity: 1;
      pointer-events: auto; }
    .dropzone .dz-preview .dz-error-message {
      pointer-events: none;
      z-index: 1000;
      position: absolute;
      display: block;
      display: none;
      opacity: 0;
      -webkit-transition: opacity 0.3s ease;
      -moz-transition: opacity 0.3s ease;
      -ms-transition: opacity 0.3s ease;
      -o-transition: opacity 0.3s ease;
      transition: opacity 0.3s ease;
      border-radius: 8px;
      font-size: 13px;
      top: 130px;
      left: -10px;
      width: 140px;
      background: #be2626;
      background: linear-gradient(to bottom, #be2626, #a92222);
      padding: 0.5em 1.2em;
      color: white; }
      .dropzone .dz-preview .dz-error-message:after {
        content: '';
        position: absolute;
        top: -6px;
        left: 64px;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #be2626; }

/* ---- bootstrap-editable.css ---- */
/*! X-editable - v1.5.1 
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.editableform {
    margin-bottom: 0; /* overwrites bootstrap margin */
}

.editableform .control-group {
    margin-bottom: 0; /* overwrites bootstrap margin */
    white-space: nowrap; /* prevent wrapping buttons on new line */
    line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}

/* 
  BS3 width:1005 for inputs breaks editable form in popup 
  See: https://github.com/vitalets/x-editable/issues/393
*/
.editableform .form-control {
    width: auto;
}

.editable-buttons {
   display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
   vertical-align: top;
   margin-left: 7px;
   /* inline-block emulation for IE7*/
   zoom: 1; 
   *display: inline;
}

.editable-buttons.editable-buttons-bottom {
   display: block; 
   margin-top: 7px;
   margin-left: 0;
}

.editable-input {
    vertical-align: top; 
    display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
    width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
    white-space: normal; /* reset white-space decalred in parent*/
   /* display-inline emulation for IE7*/
   zoom: 1; 
   *display: inline;   
}

.editable-buttons .editable-cancel {
   margin-left: 7px; 
}

/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
   height: 24px; 
   width: 30px;
}

.editableform-loading {
    background: url('../img/loading.gif') center center no-repeat;  
    height: 25px;
    width: auto; 
    min-width: 25px; 
}

.editable-inline .editableform-loading {
    background-position: left 5px;      
}

 .editable-error-block {
    max-width: 300px;
    margin: 5px 0 0 0;
    width: auto;
    white-space: normal;
}

/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
    padding: 3px;  
}  

.editable-error {
   color: red;  
}

/* ---- For specific types ---- */

.editableform .editable-date {
    padding: 0; 
    margin: 0;
    float: left;
}

/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
   margin-top: 3px;
   margin-left: 1px; 
}


/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"], 
.editable-checklist label span {
    vertical-align: middle;
    margin: 0;
}

.editable-checklist label {
    white-space: nowrap; 
}

/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
    width: 566px; 
    height: 250px; 
}

/* clear button shown as link in date inputs */
.editable-clear {
   clear: both;
   font-size: 0.9em;
   text-decoration: none;
   text-align: right;
}

/* IOS-style clear button for text inputs */
.editable-clear-x {
   background: url('../img/clear.png') center center no-repeat;
   display: block;
   width: 13px;    
   height: 13px;
   position: absolute;
   opacity: 0.6;
   z-index: 100;
   
   top: 50%;
   right: 6px;
   margin-top: -6px;
   
}

.editable-clear-x:hover {
   opacity: 1;
}

.editable-pre-wrapped {
   white-space: pre-wrap;
}
.editable-container.editable-popup {
    max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
}  

.editable-container.popover {
    width: auto; /* without this rule popover does not stretch */
}

.editable-container.editable-inline {
    display: inline-block; 
    vertical-align: middle;
    width: auto;
    /* inline-block emulation for IE7*/
    zoom: 1; 
    *display: inline;    
}

.editable-container.ui-widget {
   font-size: inherit;  /* jqueryui widget font 1.1em too big, overwrite it */
   z-index: 9990; /* should be less than select2 dropdown z-index to close dropdown first when click */
}
.editable-click, 
a.editable-click, 
a.editable-click:hover {
    text-decoration: none;
    border-bottom: dashed 1px #0088cc;
}

.editable-click.editable-disabled, 
a.editable-click.editable-disabled, 
a.editable-click.editable-disabled:hover {
   color: #585858;  
   cursor: default;
   border-bottom: none;
}

.editable-empty, .editable-empty:hover, .editable-empty:focus{
  font-style: italic; 
  color: #DD1144;  
  /* border-bottom: none; */
  text-decoration: none;
}

.editable-unsaved {
  font-weight: bold; 
}

.editable-unsaved:after {
/*    content: '*'*/
}

.editable-bg-transition {
  -webkit-transition: background-color 1400ms ease-out;
  -moz-transition: background-color 1400ms ease-out;
  -o-transition: background-color 1400ms ease-out;
  -ms-transition: background-color 1400ms ease-out;
  transition: background-color 1400ms ease-out;  
}

/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable
{ 
    padding-top: 5px;
    display:inline-block;
}


/*!
 * Datepicker for Bootstrap
 *
 * Copyright 2012 Stefan Petre
 * Improvements by Andrew Rowls
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 */
.datepicker {
  padding: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  direction: ltr;
  /*.dow {
		border-top: 1px solid #ddd !important;
	}*/

}
.datepicker-inline {
  width: 220px;
}
.datepicker.datepicker-rtl {
  direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
}
.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 6px;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px;
}
.datepicker > div {
  display: none;
}
.datepicker.days div.datepicker-days {
  display: block;
}
.datepicker.months div.datepicker-months {
  display: block;
}
.datepicker.years div.datepicker-years {
  display: block;
}
.datepicker table {
  margin: 0;
}
.datepicker td,
.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover {
  background: #eeeeee;
  cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #999999;
  cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
  background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
  background-image: linear-gradient(top, #fdd49a, #fdf59a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
  border-color: #fdf59a #fdf59a #fbed50;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #eeeeee;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
  background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
  background-image: linear-gradient(top, #f3c17a, #f3e97a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
  border-color: #f3e97a #f3e97a #edde34;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
  background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
  background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
  background-image: -o-linear-gradient(top, #b3b3b3, #808080);
  background-image: linear-gradient(top, #b3b3b3, #808080);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
  border-color: #808080 #808080 #595959;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(top, #0088cc, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.datepicker table tr td span:hover {
  background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999999;
  cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #006dcc;
  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
  background-image: -o-linear-gradient(top, #0088cc, #0044cc);
  background-image: linear-gradient(top, #0088cc, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999999;
}
.datepicker th.datepicker-switch {
  width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
  background: #eeeeee;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
  cursor: default;
  background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
  display: block;
  cursor: pointer;
  width: 16px;
  height: 16px;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 18px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 18px;
  text-align: center;
  text-shadow: 0 1px 0 #ffffff;
  vertical-align: middle;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px;
}

/* ---- jquery.bootgrid.css ---- */
/*! 
 * jQuery Bootgrid v1.3.1 - 09/11/2015
 * Copyright (c) 2014-2015 Rafael Staib (http://www.jquery-bootgrid.com)
 * Licensed under MIT http://www.opensource.org/licenses/MIT
 */
.bootgrid-header,
.bootgrid-footer {
  margin: 15px 0;
}
.bootgrid-header a,
.bootgrid-footer a {
  outline: 0;
}
.bootgrid-header .search,
.bootgrid-footer .search {
  display: inline-block;
  margin: 0 20px 0 0;
  vertical-align: middle;
  width: 180px;
}
.bootgrid-header .search .glyphicon,
.bootgrid-footer .search .glyphicon {
  top: 0;
}
.bootgrid-header .search .fa,
.bootgrid-footer .search .fa {
  display: table-cell;
}
.bootgrid-header .search.search-field::-ms-clear,
.bootgrid-footer .search.search-field::-ms-clear,
.bootgrid-header .search .search-field::-ms-clear,
.bootgrid-footer .search .search-field::-ms-clear {
  display: none;
}
.bootgrid-header .pagination,
.bootgrid-footer .pagination {
  margin: 0 !important;
}
.bootgrid-header .actionBar,
.bootgrid-footer .infoBar {
  text-align: right;
}
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu {
  text-align: left;
}
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item {
  cursor: pointer;
  display: block;
  margin: 0;
  padding: 3px 20px;
  white-space: nowrap;
}
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item:hover,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item:hover,
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item:focus,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item:focus {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5;
}
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item.dropdown-item-checkbox,
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item .dropdown-item-checkbox {
  margin: 0 2px 4px 0;
  vertical-align: middle;
}
.bootgrid-header .actionBar .btn-group > .btn-group .dropdown-menu .dropdown-item.disabled,
.bootgrid-footer .infoBar .btn-group > .btn-group .dropdown-menu .dropdown-item.disabled {
  cursor: not-allowed;
}
.bootgrid-table {
  table-layout: fixed;
}
.bootgrid-table a {
  outline: 0;
}
.bootgrid-table th > .column-header-anchor {
  color: #333;
  cursor: not-allowed;
  display: block;
  position: relative;
  text-decoration: none;
}
.bootgrid-table th > .column-header-anchor.sortable {
  cursor: pointer;
}
.bootgrid-table th > .column-header-anchor > .text {
  display: block;
  margin: 0 16px 0 0;
  overflow: hidden;
  -ms-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootgrid-table th > .column-header-anchor > .icon {
  display: block;
  position: absolute;
  right: 0;
  top: 2px;
}
.bootgrid-table th:hover,
.bootgrid-table th:active {
  background: #fafafa;
}
.bootgrid-table td {
  overflow: hidden;
  -ms-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bootgrid-table td.loading,
.bootgrid-table td.no-results {
  background: #fff;
  text-align: center;
}
.bootgrid-table th.select-cell,
.bootgrid-table td.select-cell {
  text-align: center;
  width: 30px;
}
.bootgrid-table th.select-cell .select-box,
.bootgrid-table td.select-cell .select-box {
  margin: 0;
  outline: 0;
}
.table-responsive .bootgrid-table {
  table-layout: inherit !important;
}
.table-responsive .bootgrid-table th > .column-header-anchor > .text {
  overflow: inherit !important;
  -ms-text-overflow: inherit !important;
  -o-text-overflow: inherit !important;
  text-overflow: inherit !important;
  white-space: inherit !important;
}
.table-responsive .bootgrid-table td {
  overflow: inherit !important;
  -ms-text-overflow: inherit !important;
  -o-text-overflow: inherit !important;
  text-overflow: inherit !important;
  white-space: inherit !important;
}

/* ---- jquery.dataTables.css ---- */
/*
 * Table styles
 */
table.dataTable {
  width: 100%;
  margin: 0 auto;
  clear: both;
  border-collapse: separate;
  border-spacing: 0;
  /*
   * Header and footer styles
   */
  /*
   * Body styles
   */
}
table.dataTable thead th,
table.dataTable tfoot th {
  font-weight: bold;
}
table.dataTable thead th,
table.dataTable thead td {
  padding: 10px 18px;
  border-bottom: 1px solid #111;
}
table.dataTable thead th:active,
table.dataTable thead td:active {
  outline: none;
}
table.dataTable tfoot th,
table.dataTable tfoot td {
  padding: 10px 18px 6px 18px;
  border-top: 1px solid #111;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
  cursor: pointer;
  *cursor: hand;
}
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
  background-repeat: no-repeat;
  background-position: center right;
}
table.dataTable thead .sorting {
  background-image: url("../images/sort_both.png");
}
table.dataTable thead .sorting_asc {
  background-image: url("../images/sort_asc.png");
}
table.dataTable thead .sorting_desc {
  background-image: url("../images/sort_desc.png");
}
table.dataTable thead .sorting_asc_disabled {
  background-image: url("../images/sort_asc_disabled.png");
}
table.dataTable thead .sorting_desc_disabled {
  background-image: url("../images/sort_desc_disabled.png");
}
table.dataTable tbody tr {
  background-color: #ffffff;
}
table.dataTable tbody tr.selected {
  background-color: #B0BED9;
}
table.dataTable tbody th,
table.dataTable tbody td {
  padding: 8px 10px;
}
table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td {
  border-top: 1px solid #ddd;
}
table.dataTable.row-border tbody tr:first-child th,
table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th,
table.dataTable.display tbody tr:first-child td {
  border-top: none;
}
table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td {
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr th:first-child,
table.dataTable.cell-border tbody tr td:first-child {
  border-left: 1px solid #ddd;
}
table.dataTable.cell-border tbody tr:first-child th,
table.dataTable.cell-border tbody tr:first-child td {
  border-top: none;
}
table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
  background-color: #f9f9f9;
}
table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected {
  background-color: #acbad4;
}
table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
  background-color: #f6f6f6;
}
table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected {
  background-color: #aab7d1;
}
table.dataTable.order-column tbody tr > .sorting_1,
table.dataTable.order-column tbody tr > .sorting_2,
table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1,
table.dataTable.display tbody tr > .sorting_2,
table.dataTable.display tbody tr > .sorting_3 {
  background-color: #fafafa;
}
table.dataTable.order-column tbody tr.selected > .sorting_1,
table.dataTable.order-column tbody tr.selected > .sorting_2,
table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1,
table.dataTable.display tbody tr.selected > .sorting_2,
table.dataTable.display tbody tr.selected > .sorting_3 {
  background-color: #acbad5;
}
table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 {
  background-color: #f1f1f1;
}
table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 {
  background-color: #f3f3f3;
}
table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 {
  background-color: whitesmoke;
}
table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 {
  background-color: #a6b4cd;
}
table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 {
  background-color: #a8b5cf;
}
table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 {
  background-color: #a9b7d1;
}
table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 {
  background-color: #fafafa;
}
table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 {
  background-color: #fcfcfc;
}
table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 {
  background-color: #fefefe;
}
table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 {
  background-color: #acbad5;
}
table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 {
  background-color: #aebcd6;
}
table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 {
  background-color: #afbdd8;
}
table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 {
  background-color: #eaeaea;
}
table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 {
  background-color: #ececec;
}
table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 {
  background-color: #efefef;
}
table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 {
  background-color: #a2aec7;
}
table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 {
  background-color: #a3b0c9;
}
table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 {
  background-color: #a5b2cb;
}
table.dataTable.no-footer {
  border-bottom: 1px solid #111;
}
table.dataTable.nowrap th, table.dataTable.nowrap td {
  white-space: nowrap;
}
table.dataTable.compact thead th,
table.dataTable.compact thead td {
  padding: 4px 17px 4px 4px;
}
table.dataTable.compact tfoot th,
table.dataTable.compact tfoot td {
  padding: 4px;
}
table.dataTable.compact tbody th,
table.dataTable.compact tbody td {
  padding: 4px;
}
table.dataTable th.dt-left,
table.dataTable td.dt-left {
  text-align: left;
}
table.dataTable th.dt-center,
table.dataTable td.dt-center,
table.dataTable td.dataTables_empty {
  text-align: center;
}
table.dataTable th.dt-right,
table.dataTable td.dt-right {
  text-align: right;
}
table.dataTable th.dt-justify,
table.dataTable td.dt-justify {
  text-align: justify;
}
table.dataTable th.dt-nowrap,
table.dataTable td.dt-nowrap {
  white-space: nowrap;
}
table.dataTable thead th.dt-head-left,
table.dataTable thead td.dt-head-left,
table.dataTable tfoot th.dt-head-left,
table.dataTable tfoot td.dt-head-left {
  text-align: left;
}
table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center,
table.dataTable tfoot th.dt-head-center,
table.dataTable tfoot td.dt-head-center {
  text-align: center;
}
table.dataTable thead th.dt-head-right,
table.dataTable thead td.dt-head-right,
table.dataTable tfoot th.dt-head-right,
table.dataTable tfoot td.dt-head-right {
  text-align: right;
}
table.dataTable thead th.dt-head-justify,
table.dataTable thead td.dt-head-justify,
table.dataTable tfoot th.dt-head-justify,
table.dataTable tfoot td.dt-head-justify {
  text-align: justify;
}
table.dataTable thead th.dt-head-nowrap,
table.dataTable thead td.dt-head-nowrap,
table.dataTable tfoot th.dt-head-nowrap,
table.dataTable tfoot td.dt-head-nowrap {
  white-space: nowrap;
}
table.dataTable tbody th.dt-body-left,
table.dataTable tbody td.dt-body-left {
  text-align: left;
}
table.dataTable tbody th.dt-body-center,
table.dataTable tbody td.dt-body-center {
  text-align: center;
}
table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
  text-align: right;
}
table.dataTable tbody th.dt-body-justify,
table.dataTable tbody td.dt-body-justify {
  text-align: justify;
}
table.dataTable tbody th.dt-body-nowrap,
table.dataTable tbody td.dt-body-nowrap {
  white-space: nowrap;
}

table.dataTable,
table.dataTable th,
table.dataTable td {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

/*
 * Control feature layout
 */
.dataTables_wrapper {
  position: relative;
  clear: both;
  *zoom: 1;
  zoom: 1;
}
.dataTables_wrapper .dataTables_length {
  float: left;
}
.dataTables_wrapper .dataTables_filter {
  float: right;
  text-align: right;
}
.dataTables_wrapper .dataTables_filter input {
  margin-left: 0.5em;
}
.dataTables_wrapper .dataTables_info {
  clear: both;
  float: left;
  padding-top: 0.755em;
}
.dataTables_wrapper .dataTables_paginate {
  float: right;
  text-align: right;
  padding-top: 0.25em;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  box-sizing: border-box;
  display: inline-block;
  min-width: 1.5em;
  padding: 0.5em 1em;
  margin-left: 2px;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
  *cursor: hand;
  color: #333 !important;
  border: 1px solid transparent;
  border-radius: 2px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #333 !important;
  border: 1px solid #979797;
  background-color: white;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, white 0%, #dcdcdc 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, white 0%, #dcdcdc 100%);
  /* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  cursor: default;
  color: #666 !important;
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  color: white !important;
  border: 1px solid #111;
  background-color: #585858;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #585858 0%, #111 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, #585858 0%, #111 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, #585858 0%, #111 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, #585858 0%, #111 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, #585858 0%, #111 100%);
  /* W3C */
}
.dataTables_wrapper .dataTables_paginate .paginate_button:active {
  outline: none;
  background-color: #2b2b2b;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* Chrome10+,Safari5.1+ */
  background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* FF3.6+ */
  background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* IE10+ */
  background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);
  /* Opera 11.10+ */
  background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);
  /* W3C */
  box-shadow: inset 0 0 3px #111;
}
.dataTables_wrapper .dataTables_paginate .ellipsis {
  padding: 0 1em;
}
.dataTables_wrapper .dataTables_processing {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 40px;
  margin-left: -50%;
  margin-top: -25px;
  padding-top: 20px;
  text-align: center;
  font-size: 1.2em;
  background-color: white;
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%);
}
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
  color: #333;
}
.dataTables_wrapper .dataTables_scroll {
  clear: both;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody {
  *margin-top: -1px;
  -webkit-overflow-scrolling: touch;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th, .dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td {
  vertical-align: middle;
}
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing,
.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing {
  height: 0;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}
.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 1px solid #111;
}
.dataTables_wrapper.no-footer div.dataTables_scrollHead table,
.dataTables_wrapper.no-footer div.dataTables_scrollBody table {
  border-bottom: none;
}
.dataTables_wrapper:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
  height: 0;
}

@media screen and (max-width: 767px) {
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    float: none;
    text-align: center;
  }
  .dataTables_wrapper .dataTables_paginate {
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 640px) {
  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    float: none;
    text-align: center;
  }
  .dataTables_wrapper .dataTables_filter {
    margin-top: 0.5em;
  }
}

/* ---- sweetalert.css ---- */
body.stop-scrolling {
  height: 100%;
  overflow: hidden; }

.sweet-overlay {
  background-color: black;
  /* IE8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  /* IE8 */
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  z-index: 10000; }

.sweet-alert {
  background-color: white;
  font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  width: 478px;
  padding: 17px;
  border-radius: 5px;
  text-align: center;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -256px;
  margin-top: -200px;
  overflow: hidden;
  display: none;
  z-index: 99999; }
  @media all and (max-width: 540px) {
    .sweet-alert {
      width: auto;
      margin-left: 0;
      margin-right: 0;
      left: 15px;
      right: 15px; } }
  .sweet-alert h2 {
    color: #575757;
    font-size: 30px;
    text-align: center;
    font-weight: 600;
    text-transform: none;
    position: relative;
    margin: 25px 0;
    padding: 0;
    line-height: 40px;
    display: block; }
  .sweet-alert p {
    color: #797979;
    font-size: 16px;
    text-align: center;
    font-weight: 300;
    position: relative;
    text-align: inherit;
    float: none;
    margin: 0;
    padding: 0;
    line-height: normal; }
  .sweet-alert fieldset {
    border: none;
    position: relative; }
  .sweet-alert .sa-error-container {
    background-color: #f1f1f1;
    margin-left: -17px;
    margin-right: -17px;
    overflow: hidden;
    padding: 0 10px;
    max-height: 0;
    webkit-transition: padding 0.15s, max-height 0.15s;
    transition: padding 0.15s, max-height 0.15s; }
    .sweet-alert .sa-error-container.show {
      padding: 10px 0;
      max-height: 100px;
      webkit-transition: padding 0.2s, max-height 0.2s;
      transition: padding 0.25s, max-height 0.25s; }
    .sweet-alert .sa-error-container .icon {
      display: inline-block;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      background-color: #ea7d7d;
      color: white;
      line-height: 24px;
      text-align: center;
      margin-right: 3px; }
    .sweet-alert .sa-error-container p {
      display: inline-block; }
  .sweet-alert .sa-input-error {
    position: absolute;
    top: 29px;
    right: 26px;
    width: 20px;
    height: 20px;
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: all 0.1s;
    transition: all 0.1s; }
    .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after {
      content: "";
      width: 20px;
      height: 6px;
      background-color: #f06e57;
      border-radius: 3px;
      position: absolute;
      top: 50%;
      margin-top: -4px;
      left: 50%;
      margin-left: -9px; }
    .sweet-alert .sa-input-error::before {
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }
    .sweet-alert .sa-input-error::after {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .sweet-alert .sa-input-error.show {
      opacity: 1;
      -webkit-transform: scale(1);
      transform: scale(1); }
  .sweet-alert input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    border: 1px solid #d7d7d7;
    height: 43px;
    margin-top: 10px;
    margin-bottom: 17px;
    font-size: 18px;
    box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06);
    padding: 0 12px;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s; }
    .sweet-alert input:focus {
      outline: none;
      box-shadow: 0px 0px 3px #c4e6f5;
      border: 1px solid #b4dbed; }
      .sweet-alert input:focus::-moz-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus:-ms-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
      .sweet-alert input:focus::-webkit-input-placeholder {
        transition: opacity 0.3s 0.03s ease;
        opacity: 0.5; }
    .sweet-alert input::-moz-placeholder {
      color: #bdbdbd; }
    .sweet-alert input:-ms-input-placeholder {
      color: #bdbdbd; }
    .sweet-alert input::-webkit-input-placeholder {
      color: #bdbdbd; }
  .sweet-alert.show-input input {
    display: block; }
  .sweet-alert .sa-confirm-button-container {
    display: inline-block;
    position: relative; }
  .sweet-alert .la-ball-fall {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -27px;
    margin-top: 4px;
    opacity: 0;
    visibility: hidden; }
  .sweet-alert button {
    background-color: #8CD4F5;
    color: white;
    border: none;
    box-shadow: none;
    font-size: 17px;
    font-weight: 500;
    -webkit-border-radius: 4px;
    border-radius: 5px;
    padding: 10px 32px;
    margin: 26px 5px 0 5px;
    cursor: pointer; }
    .sweet-alert button:focus {
      outline: none;
      box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); }
    .sweet-alert button:hover {
      background-color: #7ecff4; }
    .sweet-alert button:active {
      background-color: #5dc2f1; }
    .sweet-alert button.cancel {
      background-color: #C1C1C1; }
      .sweet-alert button.cancel:hover {
        background-color: #b9b9b9; }
      .sweet-alert button.cancel:active {
        background-color: #a8a8a8; }
      .sweet-alert button.cancel:focus {
        box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; }
    .sweet-alert button[disabled] {
      opacity: .6;
      cursor: default; }
    .sweet-alert button.confirm[disabled] {
      color: transparent; }
      .sweet-alert button.confirm[disabled] ~ .la-ball-fall {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s; }
    .sweet-alert button::-moz-focus-inner {
      border: 0; }
  .sweet-alert[data-has-cancel-button=false] button {
    box-shadow: none !important; }
  .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] {
    padding-bottom: 40px; }
  .sweet-alert .sa-icon {
    width: 80px;
    height: 80px;
    border: 4px solid gray;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border-radius: 50%;
    margin: 20px auto;
    padding: 0;
    position: relative;
    box-sizing: content-box; }
    .sweet-alert .sa-icon.sa-error {
      border-color: #F27474; }
      .sweet-alert .sa-icon.sa-error .sa-x-mark {
        position: relative;
        display: block; }
      .sweet-alert .sa-icon.sa-error .sa-line {
        position: absolute;
        height: 5px;
        width: 47px;
        background-color: #F27474;
        display: block;
        top: 37px;
        border-radius: 2px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-left {
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          left: 17px; }
        .sweet-alert .sa-icon.sa-error .sa-line.sa-right {
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
          right: 16px; }
    .sweet-alert .sa-icon.sa-warning {
      border-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-body {
        position: absolute;
        width: 5px;
        height: 47px;
        left: 50%;
        top: 10px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #F8BB86; }
      .sweet-alert .sa-icon.sa-warning .sa-dot {
        position: absolute;
        width: 7px;
        height: 7px;
        -webkit-border-radius: 50%;
        border-radius: 50%;
        margin-left: -3px;
        left: 50%;
        bottom: 10px;
        background-color: #F8BB86; }
    .sweet-alert .sa-icon.sa-info {
      border-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::before {
        content: "";
        position: absolute;
        width: 5px;
        height: 29px;
        left: 50%;
        bottom: 17px;
        border-radius: 2px;
        margin-left: -2px;
        background-color: #C9DAE1; }
      .sweet-alert .sa-icon.sa-info::after {
        content: "";
        position: absolute;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        margin-left: -3px;
        top: 19px;
        background-color: #C9DAE1; }
    .sweet-alert .sa-icon.sa-success {
      border-color: #A5DC86; }
      .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after {
        content: '';
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        position: absolute;
        width: 60px;
        height: 120px;
        background: white;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
      .sweet-alert .sa-icon.sa-success::before {
        -webkit-border-radius: 120px 0 0 120px;
        border-radius: 120px 0 0 120px;
        top: -7px;
        left: -33px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 60px 60px;
        transform-origin: 60px 60px; }
      .sweet-alert .sa-icon.sa-success::after {
        -webkit-border-radius: 0 120px 120px 0;
        border-radius: 0 120px 120px 0;
        top: -11px;
        left: 30px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 0px 60px;
        transform-origin: 0px 60px; }
      .sweet-alert .sa-icon.sa-success .sa-placeholder {
        width: 80px;
        height: 80px;
        border: 4px solid rgba(165, 220, 134, 0.2);
        -webkit-border-radius: 40px;
        border-radius: 40px;
        border-radius: 50%;
        box-sizing: content-box;
        position: absolute;
        left: -4px;
        top: -4px;
        z-index: 2; }
      .sweet-alert .sa-icon.sa-success .sa-fix {
        width: 5px;
        height: 90px;
        background-color: white;
        position: absolute;
        left: 28px;
        top: 8px;
        z-index: 1;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
      .sweet-alert .sa-icon.sa-success .sa-line {
        height: 5px;
        background-color: #A5DC86;
        display: block;
        border-radius: 2px;
        position: absolute;
        z-index: 2; }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
          width: 25px;
          left: 14px;
          top: 46px;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
        .sweet-alert .sa-icon.sa-success .sa-line.sa-long {
          width: 47px;
          right: 8px;
          top: 38px;
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
    .sweet-alert .sa-icon.sa-custom {
      background-size: contain;
      border-radius: 0;
      border: none;
      background-position: center center;
      background-repeat: no-repeat; }

/*
 * Animations
 */
@-webkit-keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

@keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
    -webkit-transform: scale(0.7); }
  45% {
    transform: scale(1.05);
    -webkit-transform: scale(1.05); }
  80% {
    transform: scale(0.95);
    -webkit-transform: scale(0.95); }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1); } }

@-webkit-keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }

@keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1); }
  100% {
    transform: scale(0.5);
    -webkit-transform: scale(0.5); } }

@-webkit-keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }

@keyframes slideFromTop {
  0% {
    top: 0%; }
  100% {
    top: 50%; } }

@-webkit-keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }

@keyframes slideToTop {
  0% {
    top: 50%; }
  100% {
    top: 0%; } }

@-webkit-keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }

@keyframes slideFromBottom {
  0% {
    top: 70%; }
  100% {
    top: 50%; } }

@-webkit-keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }

@keyframes slideToBottom {
  0% {
    top: 50%; }
  100% {
    top: 70%; } }

.showSweetAlert[data-animation=pop] {
  -webkit-animation: showSweetAlert 0.3s;
  animation: showSweetAlert 0.3s; }

.showSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }

.showSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideFromTop 0.3s;
  animation: slideFromTop 0.3s; }

.showSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideFromBottom 0.3s;
  animation: slideFromBottom 0.3s; }

.hideSweetAlert[data-animation=pop] {
  -webkit-animation: hideSweetAlert 0.2s;
  animation: hideSweetAlert 0.2s; }

.hideSweetAlert[data-animation=none] {
  -webkit-animation: none;
  animation: none; }

.hideSweetAlert[data-animation=slide-from-top] {
  -webkit-animation: slideToTop 0.4s;
  animation: slideToTop 0.4s; }

.hideSweetAlert[data-animation=slide-from-bottom] {
  -webkit-animation: slideToBottom 0.3s;
  animation: slideToBottom 0.3s; }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg);
    -webkit-transform: rotate(-405deg); } }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
  animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
  animation: animateSuccessLong 0.75s; }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
  animation: rotatePlaceholder 4.25s ease-in; }

@-webkit-keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    transform: rotateX(100deg);
    -webkit-transform: rotateX(100deg);
    opacity: 0; }
  100% {
    transform: rotateX(0deg);
    -webkit-transform: rotateX(0deg);
    opacity: 1; } }

.animateErrorIcon {
  -webkit-animation: animateErrorIcon 0.5s;
  animation: animateErrorIcon 0.5s; }

@-webkit-keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }

@keyframes animateXMark {
  0% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  50% {
    transform: scale(0.4);
    -webkit-transform: scale(0.4);
    margin-top: 26px;
    opacity: 0; }
  80% {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    margin-top: -6px; }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    margin-top: 0;
    opacity: 1; } }

.animateXMark {
  -webkit-animation: animateXMark 0.5s;
  animation: animateXMark 0.5s; }

@-webkit-keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }

@keyframes pulseWarning {
  0% {
    border-color: #F8D486; }
  100% {
    border-color: #F8BB86; } }

.pulseWarning {
  -webkit-animation: pulseWarning 0.75s infinite alternate;
  animation: pulseWarning 0.75s infinite alternate; }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #F8D486; }
  100% {
    background-color: #F8BB86; } }

.pulseWarningIns {
  -webkit-animation: pulseWarningIns 0.75s infinite alternate;
  animation: pulseWarningIns 0.75s infinite alternate; }

@-webkit-keyframes rotate-loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes rotate-loading {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* Internet Explorer 9 has some special quirks that are fixed here */
/* The icons are not animated. */
/* This file is automatically merged into sweet-alert.min.js through Gulp */
/* Error icon */
.sweet-alert .sa-icon.sa-error .sa-line.sa-left {
  -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-error .sa-line.sa-right {
  -ms-transform: rotate(-45deg) \9; }

/* Success icon */
.sweet-alert .sa-icon.sa-success {
  border-color: transparent\9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-tip {
  -ms-transform: rotate(45deg) \9; }

.sweet-alert .sa-icon.sa-success .sa-line.sa-long {
  -ms-transform: rotate(-45deg) \9; }

/*!
 * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/)
 * Copyright 2015 Daniel Cardoso <@DanielCardoso>
 * Licensed under MIT
 */
.la-ball-fall,
.la-ball-fall > div {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.la-ball-fall {
  display: block;
  font-size: 0;
  color: #fff; }

.la-ball-fall.la-dark {
  color: #333; }

.la-ball-fall > div {
  display: inline-block;
  float: none;
  background-color: currentColor;
  border: 0 solid currentColor; }

.la-ball-fall {
  width: 54px;
  height: 18px; }

.la-ball-fall > div {
  width: 10px;
  height: 10px;
  margin: 4px;
  border-radius: 100%;
  opacity: 0;
  -webkit-animation: ball-fall 1s ease-in-out infinite;
  -moz-animation: ball-fall 1s ease-in-out infinite;
  -o-animation: ball-fall 1s ease-in-out infinite;
  animation: ball-fall 1s ease-in-out infinite; }

.la-ball-fall > div:nth-child(1) {
  -webkit-animation-delay: -200ms;
  -moz-animation-delay: -200ms;
  -o-animation-delay: -200ms;
  animation-delay: -200ms; }

.la-ball-fall > div:nth-child(2) {
  -webkit-animation-delay: -100ms;
  -moz-animation-delay: -100ms;
  -o-animation-delay: -100ms;
  animation-delay: -100ms; }

.la-ball-fall > div:nth-child(3) {
  -webkit-animation-delay: 0ms;
  -moz-animation-delay: 0ms;
  -o-animation-delay: 0ms;
  animation-delay: 0ms; }

.la-ball-fall.la-sm {
  width: 26px;
  height: 8px; }

.la-ball-fall.la-sm > div {
  width: 4px;
  height: 4px;
  margin: 2px; }

.la-ball-fall.la-2x {
  width: 108px;
  height: 36px; }

.la-ball-fall.la-2x > div {
  width: 20px;
  height: 20px;
  margin: 8px; }

.la-ball-fall.la-3x {
  width: 162px;
  height: 54px; }

.la-ball-fall.la-3x > div {
  width: 30px;
  height: 30px;
  margin: 12px; }

/*
 * Animation
 */
@-webkit-keyframes ball-fall {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(145%);
    transform: translateY(145%); } }

@-moz-keyframes ball-fall {
  0% {
    opacity: 0;
    -moz-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -moz-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -moz-transform: translateY(145%);
    transform: translateY(145%); } }

@-o-keyframes ball-fall {
  0% {
    opacity: 0;
    -o-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -o-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -o-transform: translateY(145%);
    transform: translateY(145%); } }

@keyframes ball-fall {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-145%);
    -moz-transform: translateY(-145%);
    -o-transform: translateY(-145%);
    transform: translateY(-145%); }
  10% {
    opacity: .5; }
  20% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  80% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  90% {
    opacity: .5; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(145%);
    -moz-transform: translateY(145%);
    -o-transform: translateY(145%);
    transform: translateY(145%); } }

/* ---- loaders.css ---- */
/**
 *
 * All animations must live in their own file
 * in the animations directory and be included
 * here.
 *
 */
/**
 * Styles shared by multiple animations
 */
/**
 * Dots
 */
@-webkit-keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }
@keyframes scale {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; }
  45% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0.7; }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.ball-pulse > div:nth-child(0) {
  -webkit-animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.36s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(1) {
  -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(2) {
  -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div:nth-child(3) {
  -webkit-animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.ball-pulse > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes ball-pulse-sync {
  33% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  66% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.ball-pulse-sync > div:nth-child(0) {
  -webkit-animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.21s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(1) {
  -webkit-animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.14s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(2) {
  -webkit-animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s -0.07s infinite ease-in-out; }

.ball-pulse-sync > div:nth-child(3) {
  -webkit-animation: ball-pulse-sync 0.6s 0s infinite ease-in-out;
          animation: ball-pulse-sync 0.6s 0s infinite ease-in-out; }

.ball-pulse-sync > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
          animation: ball-scale 1s 0s ease-in-out infinite; }

@keyframes ball-scale {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  height: 60px;
  width: 60px;
  -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
          animation: ball-scale 1s 0s ease-in-out infinite; }

.ball-scale-random {
  width: 37px;
  height: 40px; }
  .ball-scale-random > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    display: inline-block;
    height: 30px;
    width: 30px;
    -webkit-animation: ball-scale 1s 0s ease-in-out infinite;
            animation: ball-scale 1s 0s ease-in-out infinite; }
    .ball-scale-random > div:nth-child(1) {
      margin-left: -7px;
      -webkit-animation: ball-scale 1s 0.2s ease-in-out infinite;
              animation: ball-scale 1s 0.2s ease-in-out infinite; }
    .ball-scale-random > div:nth-child(3) {
      margin-left: -2px;
      margin-top: 9px;
      -webkit-animation: ball-scale 1s 0.5s ease-in-out infinite;
              animation: ball-scale 1s 0.5s ease-in-out infinite; }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.ball-rotate {
  position: relative; }
  .ball-rotate > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: relative; }
    .ball-rotate > div:first-child {
      -webkit-animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
              animation: rotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite; }
    .ball-rotate > div:before, .ball-rotate > div:after {
      background-color: #fff;
      width: 15px;
      height: 15px;
      border-radius: 100%;
      margin: 2px;
      content: "";
      position: absolute;
      opacity: 0.8; }
    .ball-rotate > div:before {
      top: 0px;
      left: -28px; }
    .ball-rotate > div:after {
      top: 0px;
      left: 25px; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

.ball-clip-rotate > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  border: 2px solid #fff;
  border-bottom-color: transparent;
  height: 25px;
  width: 25px;
  background: transparent !important;
  display: inline-block;
  -webkit-animation: rotate 0.75s 0s linear infinite;
          animation: rotate 0.75s 0s linear infinite; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

@keyframes scale {
  30% {
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-clip-rotate-pulse {
  position: relative;
  -webkit-transform: translateY(-15px);
      -ms-transform: translateY(-15px);
          transform: translateY(-15px); }
  .ball-clip-rotate-pulse > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    top: 0px;
    left: 0px;
    border-radius: 100%; }
    .ball-clip-rotate-pulse > div:first-child {
      background: #fff;
      height: 16px;
      width: 16px;
      top: 7px;
      left: -7px;
      -webkit-animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
              animation: scale 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }
    .ball-clip-rotate-pulse > div:last-child {
      position: absolute;
      border: 2px solid #fff;
      width: 30px;
      height: 30px;
      left: -16px;
      top: -2px;
      background: transparent;
      border: 2px solid;
      border-color: #fff transparent #fff transparent;
      -webkit-animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
              animation: rotate 1s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
      -webkit-animation-duration: 1s;
              animation-duration: 1s; }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg) scale(1);
            transform: rotate(0deg) scale(1); }
  50% {
    -webkit-transform: rotate(180deg) scale(0.6);
            transform: rotate(180deg) scale(0.6); }
  100% {
    -webkit-transform: rotate(360deg) scale(1);
            transform: rotate(360deg) scale(1); } }

.ball-clip-rotate-multiple {
  position: relative; }
  .ball-clip-rotate-multiple > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    left: -20px;
    top: -20px;
    border: 2px solid #fff;
    border-bottom-color: transparent;
    border-top-color: transparent;
    border-radius: 100%;
    height: 35px;
    width: 35px;
    -webkit-animation: rotate 1s 0s ease-in-out infinite;
            animation: rotate 1s 0s ease-in-out infinite; }
    .ball-clip-rotate-multiple > div:last-child {
      display: inline-block;
      top: -10px;
      left: -10px;
      width: 15px;
      height: 15px;
      -webkit-animation-duration: 0.5s;
              animation-duration: 0.5s;
      border-color: #fff transparent #fff transparent;
      -webkit-animation-direction: reverse;
              animation-direction: reverse; }

@-webkit-keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

@keyframes ball-scale-ripple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

.ball-scale-ripple > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  height: 50px;
  width: 50px;
  border-radius: 100%;
  border: 2px solid #fff;
  -webkit-animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
          animation: ball-scale-ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }

@-webkit-keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

@keyframes ball-scale-ripple-multiple {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 1; }
  70% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7; }
  100% {
    opacity: 0.0; } }

.ball-scale-ripple-multiple {
  position: relative;
  -webkit-transform: translateY(-25px);
      -ms-transform: translateY(-25px);
          transform: translateY(-25px); }
  .ball-scale-ripple-multiple > div:nth-child(0) {
    -webkit-animation-delay: -0.8s;
            animation-delay: -0.8s; }
  .ball-scale-ripple-multiple > div:nth-child(1) {
    -webkit-animation-delay: -0.6s;
            animation-delay: -0.6s; }
  .ball-scale-ripple-multiple > div:nth-child(2) {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ball-scale-ripple-multiple > div:nth-child(3) {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ball-scale-ripple-multiple > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    top: -2px;
    left: -26px;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    border: 2px solid #fff;
    -webkit-animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
            animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8); }

@-webkit-keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-beat {
  50% {
    opacity: 0.2;
    -webkit-transform: scale(0.75);
            transform: scale(0.75); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-beat > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: ball-beat 0.7s 0s infinite linear;
          animation: ball-beat 0.7s 0s infinite linear; }
  .ball-beat > div:nth-child(2n-1) {
    -webkit-animation-delay: -0.35s !important;
            animation-delay: -0.35s !important; }

@-webkit-keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }
  5% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

@keyframes ball-scale-multiple {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }
  5% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0; } }

.ball-scale-multiple {
  position: relative;
  -webkit-transform: translateY(-30px);
      -ms-transform: translateY(-30px);
          transform: translateY(-30px); }
  .ball-scale-multiple > div:nth-child(2) {
    -webkit-animation-delay: -0.4s;
            animation-delay: -0.4s; }
  .ball-scale-multiple > div:nth-child(3) {
    -webkit-animation-delay: -0.2s;
            animation-delay: -0.2s; }
  .ball-scale-multiple > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    left: -30px;
    top: 0px;
    opacity: 0;
    margin: 0;
    width: 60px;
    height: 60px;
    -webkit-animation: ball-scale-multiple 1s 0s linear infinite;
            animation: ball-scale-multiple 1s 0s linear infinite; }

@-webkit-keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
            transform: translate(25px, -50px); }
  66% {
    -webkit-transform: translate(50px, 0px);
            transform: translate(50px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
            transform: translate(25px, -50px); }
  66% {
    -webkit-transform: translate(50px, 0px);
            transform: translate(50px, 0px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
            transform: translate(25px, 50px); }
  66% {
    -webkit-transform: translate(-25px, 50px);
            transform: translate(-25px, 50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
            transform: translate(25px, 50px); }
  66% {
    -webkit-transform: translate(-25px, 50px);
            transform: translate(-25px, 50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@-webkit-keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
            transform: translate(-50px, 0px); }
  66% {
    -webkit-transform: translate(-25px, -50px);
            transform: translate(-25px, -50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

@keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
            transform: translate(-50px, 0px); }
  66% {
    -webkit-transform: translate(-25px, -50px);
            transform: translate(-25px, -50px); }
  100% {
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

.ball-triangle-path {
  position: relative;
  -webkit-transform: translate(-29.994px, -37.50938px);
      -ms-transform: translate(-29.994px, -37.50938px);
          transform: translate(-29.994px, -37.50938px); }
  .ball-triangle-path > div:nth-child(1) {
    -webkit-animation-name: ball-triangle-path-1;
            animation-name: ball-triangle-path-1;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div:nth-child(2) {
    -webkit-animation-name: ball-triangle-path-2;
            animation-name: ball-triangle-path-2;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div:nth-child(3) {
    -webkit-animation-name: ball-triangle-path-3;
            animation-name: ball-triangle-path-3;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
  .ball-triangle-path > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 100%;
    border: 1px solid #fff; }
    .ball-triangle-path > div:nth-of-type(1) {
      top: 50px; }
    .ball-triangle-path > div:nth-of-type(2) {
      left: 25px; }
    .ball-triangle-path > div:nth-of-type(3) {
      top: 50px;
      left: 50px; }

@-webkit-keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-pulse-rise-even {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  25% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  50% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  75% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

@keyframes ball-pulse-rise-odd {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  25% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  75% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: scale(0.75);
            transform: scale(0.75); } }

.ball-pulse-rise > div {
  background-color: #fff;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
          animation-timing-function: cubic-bezier(0.15, 0.46, 0.9, 0.6);
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
          animation-delay: 0; }
  .ball-pulse-rise > div:nth-child(2n) {
    -webkit-animation-name: ball-pulse-rise-even;
            animation-name: ball-pulse-rise-even; }
  .ball-pulse-rise > div:nth-child(2n-1) {
    -webkit-animation-name: ball-pulse-rise-odd;
            animation-name: ball-pulse-rise-odd; }

@-webkit-keyframes ball-grid-beat {
  50% {
    opacity: 0.7; }
  100% {
    opacity: 1; } }

@keyframes ball-grid-beat {
  50% {
    opacity: 0.7; }
  100% {
    opacity: 1; } }

.ball-grid-beat {
  width: 57px; }
  .ball-grid-beat > div:nth-child(1) {
    -webkit-animation-delay: 0.44s;
            animation-delay: 0.44s;
    -webkit-animation-duration: 1.27s;
            animation-duration: 1.27s; }
  .ball-grid-beat > div:nth-child(2) {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
    -webkit-animation-duration: 1.52s;
            animation-duration: 1.52s; }
  .ball-grid-beat > div:nth-child(3) {
    -webkit-animation-delay: 0.14s;
            animation-delay: 0.14s;
    -webkit-animation-duration: 0.61s;
            animation-duration: 0.61s; }
  .ball-grid-beat > div:nth-child(4) {
    -webkit-animation-delay: 0.15s;
            animation-delay: 0.15s;
    -webkit-animation-duration: 0.82s;
            animation-duration: 0.82s; }
  .ball-grid-beat > div:nth-child(5) {
    -webkit-animation-delay: -0.01s;
            animation-delay: -0.01s;
    -webkit-animation-duration: 1.24s;
            animation-duration: 1.24s; }
  .ball-grid-beat > div:nth-child(6) {
    -webkit-animation-delay: -0.07s;
            animation-delay: -0.07s;
    -webkit-animation-duration: 1.35s;
            animation-duration: 1.35s; }
  .ball-grid-beat > div:nth-child(7) {
    -webkit-animation-delay: 0.29s;
            animation-delay: 0.29s;
    -webkit-animation-duration: 1.44s;
            animation-duration: 1.44s; }
  .ball-grid-beat > div:nth-child(8) {
    -webkit-animation-delay: 0.63s;
            animation-delay: 0.63s;
    -webkit-animation-duration: 1.19s;
            animation-duration: 1.19s; }
  .ball-grid-beat > div:nth-child(9) {
    -webkit-animation-delay: -0.18s;
            animation-delay: -0.18s;
    -webkit-animation-duration: 1.48s;
            animation-duration: 1.48s; }
  .ball-grid-beat > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    display: inline-block;
    float: left;
    -webkit-animation-name: ball-grid-beat;
            animation-name: ball-grid-beat;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-delay: 0;
            animation-delay: 0; }

@-webkit-keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes ball-grid-pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.ball-grid-pulse {
  width: 57px; }
  .ball-grid-pulse > div:nth-child(1) {
    -webkit-animation-delay: 0.58s;
            animation-delay: 0.58s;
    -webkit-animation-duration: 0.9s;
            animation-duration: 0.9s; }
  .ball-grid-pulse > div:nth-child(2) {
    -webkit-animation-delay: 0.01s;
            animation-delay: 0.01s;
    -webkit-animation-duration: 0.94s;
            animation-duration: 0.94s; }
  .ball-grid-pulse > div:nth-child(3) {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
    -webkit-animation-duration: 1.43s;
            animation-duration: 1.43s; }
  .ball-grid-pulse > div:nth-child(4) {
    -webkit-animation-delay: -0.03s;
            animation-delay: -0.03s;
    -webkit-animation-duration: 0.74s;
            animation-duration: 0.74s; }
  .ball-grid-pulse > div:nth-child(5) {
    -webkit-animation-delay: 0.21s;
            animation-delay: 0.21s;
    -webkit-animation-duration: 0.68s;
            animation-duration: 0.68s; }
  .ball-grid-pulse > div:nth-child(6) {
    -webkit-animation-delay: 0.25s;
            animation-delay: 0.25s;
    -webkit-animation-duration: 1.17s;
            animation-duration: 1.17s; }
  .ball-grid-pulse > div:nth-child(7) {
    -webkit-animation-delay: 0.46s;
            animation-delay: 0.46s;
    -webkit-animation-duration: 1.41s;
            animation-duration: 1.41s; }
  .ball-grid-pulse > div:nth-child(8) {
    -webkit-animation-delay: 0.02s;
            animation-delay: 0.02s;
    -webkit-animation-duration: 1.56s;
            animation-duration: 1.56s; }
  .ball-grid-pulse > div:nth-child(9) {
    -webkit-animation-delay: 0.13s;
            animation-delay: 0.13s;
    -webkit-animation-duration: 0.78s;
            animation-duration: 0.78s; }
  .ball-grid-pulse > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    display: inline-block;
    float: left;
    -webkit-animation-name: ball-grid-pulse;
            animation-name: ball-grid-pulse;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-delay: 0;
            animation-delay: 0; }

@-webkit-keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes ball-spin-fade-loader {
  50% {
    opacity: 0.3;
    -webkit-transform: scale(0.4);
            transform: scale(0.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }

.ball-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -10px; }
  .ball-spin-fade-loader > div:nth-child(1) {
    top: 25px;
    left: 0;
    -webkit-animation: ball-spin-fade-loader 1s -0.96s infinite linear;
            animation: ball-spin-fade-loader 1s -0.96s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(2) {
    top: 17.04545px;
    left: 17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.84s infinite linear;
            animation: ball-spin-fade-loader 1s -0.84s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(3) {
    top: 0;
    left: 25px;
    -webkit-animation: ball-spin-fade-loader 1s -0.72s infinite linear;
            animation: ball-spin-fade-loader 1s -0.72s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(4) {
    top: -17.04545px;
    left: 17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.6s infinite linear;
            animation: ball-spin-fade-loader 1s -0.6s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(5) {
    top: -25px;
    left: 0;
    -webkit-animation: ball-spin-fade-loader 1s -0.48s infinite linear;
            animation: ball-spin-fade-loader 1s -0.48s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(6) {
    top: -17.04545px;
    left: -17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.36s infinite linear;
            animation: ball-spin-fade-loader 1s -0.36s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(7) {
    top: 0;
    left: -25px;
    -webkit-animation: ball-spin-fade-loader 1s -0.24s infinite linear;
            animation: ball-spin-fade-loader 1s -0.24s infinite linear; }
  .ball-spin-fade-loader > div:nth-child(8) {
    top: 17.04545px;
    left: -17.04545px;
    -webkit-animation: ball-spin-fade-loader 1s -0.12s infinite linear;
            animation: ball-spin-fade-loader 1s -0.12s infinite linear; }
  .ball-spin-fade-loader > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute; }

@-webkit-keyframes ball-spin-loader {
  75% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

@keyframes ball-spin-loader {
  75% {
    opacity: 0.2; }
  100% {
    opacity: 1; } }

.ball-spin-loader {
  position: relative; }
  .ball-spin-loader > span:nth-child(1) {
    top: 45px;
    left: 0;
    -webkit-animation: ball-spin-loader 2s 0.9s infinite linear;
            animation: ball-spin-loader 2s 0.9s infinite linear; }
  .ball-spin-loader > span:nth-child(2) {
    top: 30.68182px;
    left: 30.68182px;
    -webkit-animation: ball-spin-loader 2s 1.8s infinite linear;
            animation: ball-spin-loader 2s 1.8s infinite linear; }
  .ball-spin-loader > span:nth-child(3) {
    top: 0;
    left: 45px;
    -webkit-animation: ball-spin-loader 2s 2.7s infinite linear;
            animation: ball-spin-loader 2s 2.7s infinite linear; }
  .ball-spin-loader > span:nth-child(4) {
    top: -30.68182px;
    left: 30.68182px;
    -webkit-animation: ball-spin-loader 2s 3.6s infinite linear;
            animation: ball-spin-loader 2s 3.6s infinite linear; }
  .ball-spin-loader > span:nth-child(5) {
    top: -45px;
    left: 0;
    -webkit-animation: ball-spin-loader 2s 4.5s infinite linear;
            animation: ball-spin-loader 2s 4.5s infinite linear; }
  .ball-spin-loader > span:nth-child(6) {
    top: -30.68182px;
    left: -30.68182px;
    -webkit-animation: ball-spin-loader 2s 5.4s infinite linear;
            animation: ball-spin-loader 2s 5.4s infinite linear; }
  .ball-spin-loader > span:nth-child(7) {
    top: 0;
    left: -45px;
    -webkit-animation: ball-spin-loader 2s 6.3s infinite linear;
            animation: ball-spin-loader 2s 6.3s infinite linear; }
  .ball-spin-loader > span:nth-child(8) {
    top: 30.68182px;
    left: -30.68182px;
    -webkit-animation: ball-spin-loader 2s 7.2s infinite linear;
            animation: ball-spin-loader 2s 7.2s infinite linear; }
  .ball-spin-loader > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    background: green; }

@-webkit-keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  66% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zig {
  33% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  66% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  66% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zag {
  33% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  66% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

.ball-zig-zag {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
      -ms-transform: translate(-15px, -15px);
          transform: translate(-15px, -15px); }
  .ball-zig-zag > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    margin-left: 15px;
    top: 4px;
    left: -7px; }
    .ball-zig-zag > div:first-child {
      -webkit-animation: ball-zig 0.7s 0s infinite linear;
              animation: ball-zig 0.7s 0s infinite linear; }
    .ball-zig-zag > div:last-child {
      -webkit-animation: ball-zag 0.7s 0s infinite linear;
              animation: ball-zag 0.7s 0s infinite linear; }

@-webkit-keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  34% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  84% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zig-deflect {
  17% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  34% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(15px, -30px);
            transform: translate(15px, -30px); }
  84% {
    -webkit-transform: translate(-15px, -30px);
            transform: translate(-15px, -30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@-webkit-keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  34% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  84% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

@keyframes ball-zag-deflect {
  17% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  34% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  50% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  67% {
    -webkit-transform: translate(-15px, 30px);
            transform: translate(-15px, 30px); }
  84% {
    -webkit-transform: translate(15px, 30px);
            transform: translate(15px, 30px); }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); } }

.ball-zig-zag-deflect {
  position: relative;
  -webkit-transform: translate(-15px, -15px);
      -ms-transform: translate(-15px, -15px);
          transform: translate(-15px, -15px); }
  .ball-zig-zag-deflect > div {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    margin-left: 15px;
    top: 4px;
    left: -7px; }
    .ball-zig-zag-deflect > div:first-child {
      -webkit-animation: ball-zig-deflect 1.5s 0s infinite linear;
              animation: ball-zig-deflect 1.5s 0s infinite linear; }
    .ball-zig-zag-deflect > div:last-child {
      -webkit-animation: ball-zag-deflect 1.5s 0s infinite linear;
              animation: ball-zag-deflect 1.5s 0s infinite linear; }

/**
 * Lines
 */
@-webkit-keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }
@keyframes line-scale {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale > div:nth-child(1) {
  -webkit-animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.4s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(2) {
  -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.3s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(3) {
  -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.2s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(4) {
  -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s -0.1s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div:nth-child(5) {
  -webkit-animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
          animation: line-scale 1s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08); }

.line-scale > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block; }

@-webkit-keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes line-scale-party {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.line-scale-party > div:nth-child(1) {
  -webkit-animation-delay: -0.09s;
          animation-delay: -0.09s;
  -webkit-animation-duration: 0.83s;
          animation-duration: 0.83s; }

.line-scale-party > div:nth-child(2) {
  -webkit-animation-delay: 0.33s;
          animation-delay: 0.33s;
  -webkit-animation-duration: 0.64s;
          animation-duration: 0.64s; }

.line-scale-party > div:nth-child(3) {
  -webkit-animation-delay: 0.32s;
          animation-delay: 0.32s;
  -webkit-animation-duration: 0.39s;
          animation-duration: 0.39s; }

.line-scale-party > div:nth-child(4) {
  -webkit-animation-delay: 0.47s;
          animation-delay: 0.47s;
  -webkit-animation-duration: 0.52s;
          animation-duration: 0.52s; }

.line-scale-party > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation-name: line-scale-party;
          animation-name: line-scale-party;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-delay: 0;
          animation-delay: 0; }

@-webkit-keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

@keyframes line-scale-pulse-out {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  50% {
    -webkit-transform: scaley(0.4);
            transform: scaley(0.4); }
  100% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale-pulse-out > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85);
          animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(0.85, 0.25, 0.37, 0.85); }
  .line-scale-pulse-out > div:nth-child(2), .line-scale-pulse-out > div:nth-child(4) {
    -webkit-animation-delay: -0.4s !important;
            animation-delay: -0.4s !important; }
  .line-scale-pulse-out > div:nth-child(1), .line-scale-pulse-out > div:nth-child(5) {
    -webkit-animation-delay: -0.2s !important;
            animation-delay: -0.2s !important; }

@-webkit-keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  80% {
    -webkit-transform: scaley(0.3);
            transform: scaley(0.3); }
  90% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

@keyframes line-scale-pulse-out-rapid {
  0% {
    -webkit-transform: scaley(1);
            transform: scaley(1); }
  80% {
    -webkit-transform: scaley(0.3);
            transform: scaley(0.3); }
  90% {
    -webkit-transform: scaley(1);
            transform: scaley(1); } }

.line-scale-pulse-out-rapid > div {
  background-color: #fff;
  width: 4px;
  height: 35px;
  border-radius: 2px;
  margin: 2px;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  display: inline-block;
  -webkit-animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78);
          animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(0.11, 0.49, 0.38, 0.78); }
  .line-scale-pulse-out-rapid > div:nth-child(2), .line-scale-pulse-out-rapid > div:nth-child(4) {
    -webkit-animation-delay: -0.25s !important;
            animation-delay: -0.25s !important; }
  .line-scale-pulse-out-rapid > div:nth-child(1), .line-scale-pulse-out-rapid > div:nth-child(5) {
    -webkit-animation-delay: 0s !important;
            animation-delay: 0s !important; }

@-webkit-keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@keyframes line-spin-fade-loader {
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

.line-spin-fade-loader {
  position: relative;
  top: -10px;
  left: -4px; }
  .line-spin-fade-loader > div:nth-child(1) {
    top: 20px;
    left: 0;
    -webkit-animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.84s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(2) {
    top: 13.63636px;
    left: 13.63636px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.72s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(3) {
    top: 0;
    left: 20px;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.6s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(4) {
    top: -13.63636px;
    left: 13.63636px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.48s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(5) {
    top: -20px;
    left: 0;
    -webkit-animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.36s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(6) {
    top: -13.63636px;
    left: -13.63636px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.24s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(7) {
    top: 0;
    left: -20px;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s -0.12s infinite ease-in-out; }
  .line-spin-fade-loader > div:nth-child(8) {
    top: 13.63636px;
    left: -13.63636px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out;
            animation: line-spin-fade-loader 1.2s 0s infinite ease-in-out; }
  .line-spin-fade-loader > div {
    background-color: #fff;
    width: 4px;
    height: 35px;
    border-radius: 2px;
    margin: 2px;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    position: absolute;
    width: 5px;
    height: 15px; }

/**
 * Misc
 */
@-webkit-keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }
@keyframes triangle-skew-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

.triangle-skew-spin > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid #fff;
  -webkit-animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
          animation: triangle-skew-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }

@-webkit-keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

@keyframes square-spin {
  25% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(0);
            transform: perspective(100px) rotateX(180deg) rotateY(0); }
  50% {
    -webkit-transform: perspective(100px) rotateX(180deg) rotateY(180deg);
            transform: perspective(100px) rotateX(180deg) rotateY(180deg); }
  75% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(180deg);
            transform: perspective(100px) rotateX(0) rotateY(180deg); }
  100% {
    -webkit-transform: perspective(100px) rotateX(0) rotateY(0);
            transform: perspective(100px) rotateX(0) rotateY(0); } }

.square-spin > div {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  width: 50px;
  height: 50px;
  background: #fff;
  border: 1px solid red;
  -webkit-animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite;
          animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; }

@-webkit-keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

@keyframes rotate_pacman_half_up {
  0% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); }
  50% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }

@-webkit-keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); } }

@keyframes rotate_pacman_half_down {
  0% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }
  50% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg); } }

@-webkit-keyframes pacman-balls {
  75% {
    opacity: 0.7; }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
            transform: translate(-100px, -6.25px); } }

@keyframes pacman-balls {
  75% {
    opacity: 0.7; }
  100% {
    -webkit-transform: translate(-100px, -6.25px);
            transform: translate(-100px, -6.25px); } }

.pacman {
  position: relative; }
  .pacman > div:nth-child(2) {
    -webkit-animation: pacman-balls 1s -0.99s infinite linear;
            animation: pacman-balls 1s -0.99s infinite linear; }
  .pacman > div:nth-child(3) {
    -webkit-animation: pacman-balls 1s -0.66s infinite linear;
            animation: pacman-balls 1s -0.66s infinite linear; }
  .pacman > div:nth-child(4) {
    -webkit-animation: pacman-balls 1s -0.33s infinite linear;
            animation: pacman-balls 1s -0.33s infinite linear; }
  .pacman > div:nth-child(5) {
    -webkit-animation: pacman-balls 1s 0s infinite linear;
            animation: pacman-balls 1s 0s infinite linear; }
  .pacman > div:first-of-type {
    width: 0px;
    height: 0px;
    border-right: 25px solid transparent;
    border-top: 25px solid #fff;
    border-left: 25px solid #fff;
    border-bottom: 25px solid #fff;
    border-radius: 25px;
    -webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;
            animation: rotate_pacman_half_up 0.5s 0s infinite;
    position: relative;
    left: -30px; }
  .pacman > div:nth-child(2) {
    width: 0px;
    height: 0px;
    border-right: 25px solid transparent;
    border-top: 25px solid #fff;
    border-left: 25px solid #fff;
    border-bottom: 25px solid #fff;
    border-radius: 25px;
    -webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;
            animation: rotate_pacman_half_down 0.5s 0s infinite;
    margin-top: -50px;
    position: relative;
    left: -30px; }
  .pacman > div:nth-child(3),
  .pacman > div:nth-child(4),
  .pacman > div:nth-child(5),
  .pacman > div:nth-child(6) {
    background-color: #fff;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    margin: 2px;
    width: 10px;
    height: 10px;
    position: absolute;
    -webkit-transform: translate(0, -6.25px);
        -ms-transform: translate(0, -6.25px);
            transform: translate(0, -6.25px);
    top: 25px;
    left: 70px; }

@-webkit-keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
            transform: translateX(50px) scale(0.5) rotate(-90deg); }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
            transform: translate(50px, 50px) rotate(-180deg); }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
            transform: translateY(50px) scale(0.5) rotate(-270deg); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

@keyframes cube-transition {
  25% {
    -webkit-transform: translateX(50px) scale(0.5) rotate(-90deg);
            transform: translateX(50px) scale(0.5) rotate(-90deg); }
  50% {
    -webkit-transform: translate(50px, 50px) rotate(-180deg);
            transform: translate(50px, 50px) rotate(-180deg); }
  75% {
    -webkit-transform: translateY(50px) scale(0.5) rotate(-270deg);
            transform: translateY(50px) scale(0.5) rotate(-270deg); }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg); } }

.cube-transition {
  position: relative;
  -webkit-transform: translate(-25px, -25px);
      -ms-transform: translate(-25px, -25px);
          transform: translate(-25px, -25px); }
  .cube-transition > div {
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    width: 10px;
    height: 10px;
    position: absolute;
    top: -5px;
    left: -5px;
    background-color: #fff;
    -webkit-animation: cube-transition 1.6s 0s infinite ease-in-out;
            animation: cube-transition 1.6s 0s infinite ease-in-out; }
    .cube-transition > div:last-child {
      -webkit-animation-delay: -0.8s;
              animation-delay: -0.8s; }

@-webkit-keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.semi-circle-spin {
  position: relative;
  width: 35px;
  height: 35px;
  overflow: hidden; }
  .semi-circle-spin > div {
    position: absolute;
    border-width: 0px;
    border-radius: 100%;
    -webkit-animation: spin-rotate 0.6s 0s infinite linear;
            animation: spin-rotate 0.6s 0s infinite linear;
    background-image: -webkit-linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
    background-image: linear-gradient(transparent 0%, transparent 70%, #fff 30%, #fff 100%);
    width: 100%;
    height: 100%; }

@-webkit-keyframes bar-progress {
  0% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; }
  25% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  50% {
    -webkit-transform: translateX(20%) scaleY(20%);
            transform: translateX(20%) scaleY(20%);
    opacity: 1; }
  75% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  100% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; } }

@keyframes bar-progress {
  0% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; }
  25% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  50% {
    -webkit-transform: translateX(20%) scaleY(20%);
            transform: translateX(20%) scaleY(20%);
    opacity: 1; }
  75% {
    -webkit-transform: translateX(6%) scaleY(10%);
            transform: translateX(6%) scaleY(10%);
    opacity: 0.7; }
  100% {
    -webkit-transform: scaleY(20%);
            transform: scaleY(20%);
    opacity: 1; } }

.bar-progress {
  width: 30%;
  height: 12px; }
  .bar-progress > div {
    position: relative;
    width: 20%;
    height: 12px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
            animation: bar-progress 3s cubic-bezier(0.57, 0.1, 0.44, 0.93) infinite;
    opacity: 1; }

@-webkit-keyframes bar-swing {
  0% {
    left: 0; }
  50% {
    left: 70%; }
  100% {
    left: 0; } }

@keyframes bar-swing {
  0% {
    left: 0; }
  50% {
    left: 70%; }
  100% {
    left: 0; } }

.bar-swing {
  width: 30%;
  height: 8px; }
  .bar-swing > div {
    position: relative;
    width: 30%;
    height: 8px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-swing 1.5s infinite;
            animation: bar-swing 1.5s infinite; }

@-webkit-keyframes bar-swing-container {
  0% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    left: 70%;
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  100% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes bar-swing-container {
  0% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    left: 70%;
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  100% {
    left: 0;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.bar-swing-container {
  width: 20%;
  height: 8px;
  position: relative; }
  .bar-swing-container div:nth-child(1) {
    position: absolute;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.2);
    height: 12px;
    border-radius: 10px; }
  .bar-swing-container div:nth-child(2) {
    position: absolute;
    width: 30%;
    height: 8px;
    border-radius: 10px;
    background-color: #fff;
    -webkit-animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
            animation: bar-swing-container 2s cubic-bezier(0.91, 0.35, 0.12, 0.6) infinite;
    margin: 2px 2px 0; }

/* ---- mfb.css ---- */
/**
 * CONTENTS
 *
 * #Introduction........Naming conventions used throughout the code.
 *
 * #SETTINGS
 * Variables............Globally-available variables and config.
 *
 * #TOOLS
 * Mixins...............Useful mixins.
 *
 * #GENERIC
 * Demo styles..........Styles for demo only (consider removing these).
 *
 * #BASE
 * Raw styles...........The very basic component wrapper.
 * Modifiers............The basic styles dependant on component placement.
 * Debuggers............The basic styles dependant on component placement.
 *
 * #BUTTONS
 * Base..................Wrapping and constraining every button.
 * Modifiers.............Styles that depends on state and settings.
 * Animations............Main animations of the component.
 * Debuggers.............Styles for development.
 *
 * #LABELS
 * Base..................Wrapping and constraining every label.
 * Modifiers.............Styles that depends on state and settings.
 * Debuggers.............Styles for development.
 *
 * #DEVELOPMENT
 * In development........These styles are in development and not yet finalised
 * Debuggers.............Helper styles and flags for development.
 */
/*------------------------------------*\
    #Introduction
\*------------------------------------*/
/**
 * The code AND the comments use naming conventions to refer to each part of
 * the UI put in place by this component. If you see that somewhere they are
 * not followed please consider a Pull Request. The naming conventions are:
 *
 * "Component" : the widget itself as a whole. This is the last time it will be
 *               called anything different than "component". So, stay away from
 *               "widget", "button" or anything else when referring to the
 *               Component in general.
 *
 * "Main Button" : the button that is always in view. Hovering or clicking on it
 *                 will reveal the child buttons.
 *
 * "Child buttons" : if you've read the previous point you know what they are.
 *                   Did you read the previous point? :)
 *
 * "Label(s)" : the tooltip that fades in when hovering over a button.

/*------------------------------------*\
    #SETTINGS | Variables
\*------------------------------------*/
/**
 * These variables are the default styles that serve as fallback and can be
 * easily customised at compile time.
 * Consider overriding them in your own style sheets rather than editing them
 * here. Refer to the docs for more info.
 */
/* COLORS ----------------------------*/
/* EFFECTS ---------------------------*/
/* SPEEDS ----------------------------*/
/* SIZES -----------------------------*/
/* SPACING ---------------------------*/
/* OTHER VARIABLES -------------------*/
/*------------------------------------*\
    #BASE | Raw styles
\*------------------------------------*/
/**
 * The very core styling of the button.
 * These styles are shared by every instance of the button.
 * Styles placed here should NOT care about placement in the screen,
 * options chosen by the user or state of the button.
 */
.mfb-component--tl, .mfb-component--tr, .mfb-component--bl, .mfb-component--br {
  box-sizing: border-box;
  margin: 25px;
  position: fixed;
  white-space: nowrap;
  z-index: 30;
  padding-left: 0;
  list-style: none; }
  .mfb-component--tl *, .mfb-component--tr *, .mfb-component--bl *, .mfb-component--br *, .mfb-component--tl *:before, .mfb-component--tr *:before, .mfb-component--bl *:before, .mfb-component--br *:before, .mfb-component--tl *:after, .mfb-component--tr *:after, .mfb-component--bl *:after, .mfb-component--br *:after {
    box-sizing: inherit; }

/*------------------------------------*\
    #BASE | Modifiers
\*------------------------------------*/
/**
 * These styles depends on the placement of the button.
 * Styles can be:
 * 1. Top-left:  modified by the " --tl " suffix.
 * 2. Top-right: modified by the " --tr " suffix.
 * 3. Bottom-left:  modified by the " --bl " suffix.
 * 4. Bottom-right: modified by the " --br " suffix.
 */
.mfb-component--tl {
  left: 0;
  top: 0; }

.mfb-component--tr {
  right: 0;
  top: 0; }

.mfb-component--bl {
  left: 0;
  bottom: 0; }

.mfb-component--br {
  right: 0;
  bottom: 0; }

/*------------------------------------*\
    #BUTTONS | Base
\*------------------------------------*/
.mfb-component__button--main, .mfb-component__button--child {
  background-color: #E40A5D;
  display: inline-block;
  position: relative;
  border: none;
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.14), 0 4px 8px rgba(0, 0, 0, 0.28);
  cursor: pointer;
  outline: none;
  padding: 0;
  position: relative;
  -webkit-user-drag: none;
  color: #f1f1f1; }

/**
 * This is the unordered list for the list items that contain
 * the child buttons.
 *
 */
.mfb-component__list {
  list-style: none;
  margin: 0;
  padding: 0; }
  .mfb-component__list > li {
    display: block;
    position: absolute;
    top: 0;
    right: 1px;
    padding: 10px 0;
    margin: -10px 0; }

/**
 * These are the basic styles for all the icons inside the main button
 */
.mfb-component__icon, .mfb-component__main-icon--active,
.mfb-component__main-icon--resting, .mfb-component__child-icon {
  position: absolute;
  font-size: 18px;
  text-align: center;
  line-height: 56px;
  width: 100%; }

.mfb-component__wrap {
  padding: 25px;
  margin: -25px; }

[data-mfb-toggle="hover"]:hover .mfb-component__icon, [data-mfb-toggle="hover"]:hover .mfb-component__main-icon--active,
[data-mfb-toggle="hover"]:hover .mfb-component__main-icon--resting, [data-mfb-toggle="hover"]:hover .mfb-component__child-icon,
[data-mfb-state="open"] .mfb-component__icon,
[data-mfb-state="open"] .mfb-component__main-icon--active,
[data-mfb-state="open"] .mfb-component__main-icon--resting,
[data-mfb-state="open"] .mfb-component__child-icon {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg); }

/*------------------------------------*\
    #BUTTONS | Modifiers
\*------------------------------------*/
.mfb-component__button--main {
  height: 56px;
  width: 56px;
  z-index: 20; }

.mfb-component__button--child {
  height: 56px;
  width: 56px; }

.mfb-component__main-icon--active,
.mfb-component__main-icon--resting {
  -webkit-transform: scale(1) rotate(360deg);
  transform: scale(1) rotate(360deg);
  -webkit-transition: -webkit-transform 150ms cubic-bezier(0.4, 0, 1, 1);
  transition: transform 150ms cubic-bezier(0.4, 0, 1, 1); }

.mfb-component__child-icon,
.mfb-component__child-icon {
  line-height: 56px;
  font-size: 18px; }

.mfb-component__main-icon--active {
  opacity: 0; }

[data-mfb-toggle="hover"]:hover .mfb-component__main-icon,
[data-mfb-state="open"] .mfb-component__main-icon {
  -webkit-transform: scale(1) rotate(0deg);
  transform: scale(1) rotate(0deg); }
[data-mfb-toggle="hover"]:hover .mfb-component__main-icon--resting,
[data-mfb-state="open"] .mfb-component__main-icon--resting {
  opacity: 0;
  position: absolute !important; }
[data-mfb-toggle="hover"]:hover .mfb-component__main-icon--active,
[data-mfb-state="open"] .mfb-component__main-icon--active {
  opacity: 1; }

/*------------------------------------*\
    #BUTTONS | Animations
\*------------------------------------*/
/**
 * SLIDE IN + FADE
 * When hovering the main button, the child buttons slide out from beneath
 * the main button while transitioning from transparent to opaque.
 *
 */
.mfb-component--tl.mfb-slidein .mfb-component__list li,
.mfb-component--tr.mfb-slidein .mfb-component__list li {
  opacity: 0;
  transition: all 0.5s; }
.mfb-component--tl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li, .mfb-component--tl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li,
.mfb-component--tr.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li,
.mfb-component--tr.mfb-slidein[data-mfb-state="open"] .mfb-component__list li {
  opacity: 1; }
.mfb-component--tl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--tl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(70px);
  transform: translateY(70px); }
.mfb-component--tl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--tl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(140px);
  transform: translateY(140px); }
.mfb-component--tl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--tl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(210px);
  transform: translateY(210px); }
.mfb-component--tl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--tl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(280px);
  transform: translateY(280px); }

.mfb-component--bl.mfb-slidein .mfb-component__list li,
.mfb-component--br.mfb-slidein .mfb-component__list li {
  opacity: 0;
  transition: all 0.5s; }
.mfb-component--bl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li, .mfb-component--bl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li,
.mfb-component--br.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li,
.mfb-component--br.mfb-slidein[data-mfb-state="open"] .mfb-component__list li {
  opacity: 1; }
.mfb-component--bl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--bl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(-70px);
  transform: translateY(-70px); }
.mfb-component--bl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--bl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(-140px);
  transform: translateY(-140px); }
.mfb-component--bl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--bl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(-210px);
  transform: translateY(-210px); }
.mfb-component--bl.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--bl.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-slidein[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-slidein[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(-280px);
  transform: translateY(-280px); }

/**
 * SLIDE IN SPRING
 * Same as slide-in but with a springy animation.
 *
 */
.mfb-component--tl.mfb-slidein-spring .mfb-component__list li,
.mfb-component--tr.mfb-slidein-spring .mfb-component__list li {
  opacity: 0;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(1) {
  transition-delay: 0.05s; }
.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(2) {
  transition-delay: 0.1s; }
.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(3) {
  transition-delay: 0.15s; }
.mfb-component--tl.mfb-slidein-spring .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-slidein-spring .mfb-component__list li:nth-child(4) {
  transition-delay: 0.2s; }
.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li, .mfb-component--tl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li,
.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li,
.mfb-component--tr.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li {
  opacity: 1; }
.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--tl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  transition-delay: 0.05s;
  -webkit-transform: translateY(70px);
  transform: translateY(70px); }
.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--tl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  transition-delay: 0.1s;
  -webkit-transform: translateY(140px);
  transform: translateY(140px); }
.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--tl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  transition-delay: 0.15s;
  -webkit-transform: translateY(210px);
  transform: translateY(210px); }
.mfb-component--tl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--tl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  transition-delay: 0.2s;
  -webkit-transform: translateY(280px);
  transform: translateY(280px); }

.mfb-component--bl.mfb-slidein-spring .mfb-component__list li,
.mfb-component--br.mfb-slidein-spring .mfb-component__list li {
  opacity: 0;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(1) {
  transition-delay: 0.05s; }
.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(2) {
  transition-delay: 0.1s; }
.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(3) {
  transition-delay: 0.15s; }
.mfb-component--bl.mfb-slidein-spring .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-slidein-spring .mfb-component__list li:nth-child(4) {
  transition-delay: 0.2s; }
.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li, .mfb-component--bl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li,
.mfb-component--br.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li,
.mfb-component--br.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li {
  opacity: 1; }
.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--bl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  transition-delay: 0.05s;
  -webkit-transform: translateY(-70px);
  transform: translateY(-70px); }
.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--bl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  transition-delay: 0.1s;
  -webkit-transform: translateY(-140px);
  transform: translateY(-140px); }
.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--bl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  transition-delay: 0.15s;
  -webkit-transform: translateY(-210px);
  transform: translateY(-210px); }
.mfb-component--bl.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--bl.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-slidein-spring[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-slidein-spring[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  transition-delay: 0.2s;
  -webkit-transform: translateY(-280px);
  transform: translateY(-280px); }

/**
 * ZOOM-IN
 * When hovering the main button, the child buttons grow
 * from zero to normal size.
 *
 */
.mfb-component--tl.mfb-zoomin .mfb-component__list li,
.mfb-component--tr.mfb-zoomin .mfb-component__list li {
  -webkit-transform: scale(0);
  transform: scale(0); }
.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(70px) scale(0);
  transform: translateY(70px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.15s; }
.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(140px) scale(0);
  transform: translateY(140px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.1s; }
.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(210px) scale(0);
  transform: translateY(210px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.05s; }
.mfb-component--tl.mfb-zoomin .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-zoomin .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(280px) scale(0);
  transform: translateY(280px) scale(0);
  transition: all 0.5s;
  transition-delay: 0s; }
.mfb-component--tl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--tl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(70px) scale(1);
  transform: translateY(70px) scale(1);
  transition-delay: 0.05s; }
.mfb-component--tl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--tl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(140px) scale(1);
  transform: translateY(140px) scale(1);
  transition-delay: 0.1s; }
.mfb-component--tl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--tl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(210px) scale(1);
  transform: translateY(210px) scale(1);
  transition-delay: 0.15s; }
.mfb-component--tl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--tl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(280px) scale(1);
  transform: translateY(280px) scale(1);
  transition-delay: 0.2s; }

.mfb-component--bl.mfb-zoomin .mfb-component__list li,
.mfb-component--br.mfb-zoomin .mfb-component__list li {
  -webkit-transform: scale(0);
  transform: scale(0); }
.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(-70px) scale(0);
  transform: translateY(-70px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.15s; }
.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(-140px) scale(0);
  transform: translateY(-140px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.1s; }
.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(-210px) scale(0);
  transform: translateY(-210px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.05s; }
.mfb-component--bl.mfb-zoomin .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-zoomin .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(-280px) scale(0);
  transform: translateY(-280px) scale(0);
  transition: all 0.5s;
  transition-delay: 0s; }
.mfb-component--bl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--bl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(-70px) scale(1);
  transform: translateY(-70px) scale(1);
  transition-delay: 0.05s; }
.mfb-component--bl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--bl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(-140px) scale(1);
  transform: translateY(-140px) scale(1);
  transition-delay: 0.1s; }
.mfb-component--bl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--bl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(-210px) scale(1);
  transform: translateY(-210px) scale(1);
  transition-delay: 0.15s; }
.mfb-component--bl.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--bl.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-zoomin[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-zoomin[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(-280px) scale(1);
  transform: translateY(-280px) scale(1);
  transition-delay: 0.2s; }

/**
 * FOUNTAIN
 * When hovering the main button the child buttons
 * jump into view from outside the viewport
 */
.mfb-component--tl.mfb-fountain .mfb-component__list li,
.mfb-component--tr.mfb-fountain .mfb-component__list li {
  -webkit-transform: scale(0);
  transform: scale(0); }
.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(-70px) scale(0);
  transform: translateY(-70px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.15s; }
.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(-140px) scale(0);
  transform: translateY(-140px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.1s; }
.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(-210px) scale(0);
  transform: translateY(-210px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.05s; }
.mfb-component--tl.mfb-fountain .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-fountain .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(-280px) scale(0);
  transform: translateY(-280px) scale(0);
  transition: all 0.5s;
  transition-delay: 0s; }
.mfb-component--tl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--tl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--tr.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(70px) scale(1);
  transform: translateY(70px) scale(1);
  transition-delay: 0.05s; }
.mfb-component--tl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--tl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--tr.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(140px) scale(1);
  transform: translateY(140px) scale(1);
  transition-delay: 0.1s; }
.mfb-component--tl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--tl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--tr.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(210px) scale(1);
  transform: translateY(210px) scale(1);
  transition-delay: 0.15s; }
.mfb-component--tl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--tl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--tr.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(280px) scale(1);
  transform: translateY(280px) scale(1);
  transition-delay: 0.2s; }

.mfb-component--bl.mfb-fountain .mfb-component__list li,
.mfb-component--br.mfb-fountain .mfb-component__list li {
  -webkit-transform: scale(0);
  transform: scale(0); }
.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(70px) scale(0);
  transform: translateY(70px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.15s; }
.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(140px) scale(0);
  transform: translateY(140px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.1s; }
.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(210px) scale(0);
  transform: translateY(210px) scale(0);
  transition: all 0.5s;
  transition-delay: 0.05s; }
.mfb-component--bl.mfb-fountain .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-fountain .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(280px) scale(0);
  transform: translateY(280px) scale(0);
  transition: all 0.5s;
  transition-delay: 0s; }
.mfb-component--bl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1), .mfb-component--bl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(1),
.mfb-component--br.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(1) {
  -webkit-transform: translateY(-70px) scale(1);
  transform: translateY(-70px) scale(1);
  transition-delay: 0.05s; }
.mfb-component--bl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2), .mfb-component--bl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(2),
.mfb-component--br.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(2) {
  -webkit-transform: translateY(-140px) scale(1);
  transform: translateY(-140px) scale(1);
  transition-delay: 0.1s; }
.mfb-component--bl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3), .mfb-component--bl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(3),
.mfb-component--br.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(3) {
  -webkit-transform: translateY(-210px) scale(1);
  transform: translateY(-210px) scale(1);
  transition-delay: 0.15s; }
.mfb-component--bl.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4), .mfb-component--bl.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-fountain[data-mfb-toggle="hover"]:hover .mfb-component__list li:nth-child(4),
.mfb-component--br.mfb-fountain[data-mfb-state="open"] .mfb-component__list li:nth-child(4) {
  -webkit-transform: translateY(-280px) scale(1);
  transform: translateY(-280px) scale(1);
  transition-delay: 0.2s; }

/*------------------------------------*\
    #LABELS | base
\*------------------------------------*/
/**
 * These are the labels associated to each button,
 * exposed only when hovering the related button.
 * They are called labels but are in fact data-attributes of
 * each button (an anchor tag).
 */
[data-mfb-label]:after {
  content: attr(data-mfb-label);
  opacity: 0;
  transition: all 0.5s;
  background: rgba(0, 0, 0, 0.4);
  padding: 4px 10px;
  border-radius: 3px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  font-weight: normal;
  pointer-events: none;
  line-height: normal;
  position: absolute;
  top: 50%;
  margin-top: -11px;
  transition: all 0.5s; }

[data-mfb-toggle="hover"] [data-mfb-label]:hover:after,
[data-mfb-state="open"] [data-mfb-label]:after {
  content: attr(data-mfb-label);
  opacity: 1;
  transition: all 0.3s; }

/*------------------------------------*\
    #LABELS | Modifiers
\*------------------------------------*/
.mfb-component--br [data-mfb-label]:after, .mfb-component--tr [data-mfb-label]:after {
  content: attr(data-mfb-label);
  right: 70px; }

.mfb-component--br .mfb-component__list [data-mfb-label]:after, .mfb-component--tr .mfb-component__list [data-mfb-label]:after {
  content: attr(data-mfb-label);
  right: 70px; }

.mfb-component--tl [data-mfb-label]:after, .mfb-component--bl [data-mfb-label]:after {
  content: attr(data-mfb-label);
  left: 70px; }

.mfb-component--tl .mfb-component__list [data-mfb-label]:after, .mfb-component--bl .mfb-component__list [data-mfb-label]:after {
  content: attr(data-mfb-label);
  left: 70px; }

/*------------------------------------*\
    #DEVELOPMENT | In development
\*------------------------------------*/
/**
 * This part is where unfinished code should stay.
 * When a feature is ready(sh) move these styles to their proper place.
 */
/*------------------------------------*\
    #DEVELOPMENT | Debuggers
\*------------------------------------*/
/**
 * These are mainly helpers for development. They do not have to end up
 * in production but it's handy to keep them when developing.
 */
/**
 * Apply this class to the html tag when developing the slide-in button
 */

/*# sourceMappingURL=mfb.css.map */

/* ---- colors.css ---- */
.color-red-50 { color: #ffebee; }
.bg-red-50 { background-color: #ffebee; }
.border-red-50 { border-color: #ffebee; }
.fill-red-50 { fill: #ffebee; }
.stroke-red-50 { stroke: #ffebee; }
.color-red-100 { color: #ffcdd2; }
.bg-red-100 { background-color: #ffcdd2; }
.border-red-100 { border-color: #ffcdd2; }
.fill-red-100 { fill: #ffcdd2; }
.stroke-red-100 { stroke: #ffcdd2; }
.color-red-200 { color: #ef9a9a; }
.bg-red-200 { background-color: #ef9a9a; }
.border-red-200 { border-color: #ef9a9a; }
.fill-red-200 { fill: #ef9a9a; }
.stroke-red-200 { stroke: #ef9a9a; }
.color-red-300 { color: #e57373; }
.bg-red-300 { background-color: #e57373; }
.border-red-300 { border-color: #e57373; }
.fill-red-300 { fill: #e57373; }
.stroke-red-300 { stroke: #e57373; }
.color-red-400 { color: #ef5350; }
.bg-red-400 { background-color: #ef5350; }
.border-red-400 { border-color: #ef5350; }
.fill-red-400 { fill: #ef5350; }
.stroke-red-400 { stroke: #ef5350; }
.color-red-500 { color: #f44336; }
.bg-red-500 { background-color: #f44336; }
.border-red-500 { border-color: #f44336; }
.fill-red-500 { fill: #f44336; }
.stroke-red-500 { stroke: #f44336; }
.color-red-600 { color: #e53935; }
.bg-red-600 { background-color: #e53935; }
.border-red-600 { border-color: #e53935; }
.fill-red-600 { fill: #e53935; }
.stroke-red-600 { stroke: #e53935; }
.color-red-700 { color: #d32f2f; }
.bg-red-700 { background-color: #d32f2f; }
.border-red-700 { border-color: #d32f2f; }
.fill-red-700 { fill: #d32f2f; }
.stroke-red-700 { stroke: #d32f2f; }
.color-red-800 { color: #c62828; }
.bg-red-800 { background-color: #c62828; }
.border-red-800 { border-color: #c62828; }
.fill-red-800 { fill: #c62828; }
.stroke-red-800 { stroke: #c62828; }
.color-red-900 { color: #b71c1c; }
.bg-red-900 { background-color: #b71c1c; }
.border-red-900 { border-color: #b71c1c; }
.fill-red-900 { fill: #b71c1c; }
.stroke-red-900 { stroke: #b71c1c; }
.color-red-a100 { color: #ff8a80; }
.bg-red-a100 { background-color: #ff8a80; }
.border-red-a100 { border-color: #ff8a80; }
.fill-red-a100 { fill: #ff8a80; }
.stroke-red-a100 { stroke: #ff8a80; }
.color-red-a200 { color: #ff5252; }
.bg-red-a200 { background-color: #ff5252; }
.border-red-a200 { border-color: #ff5252; }
.fill-red-a200 { fill: #ff5252; }
.stroke-red-a200 { stroke: #ff5252; }
.color-red-a400 { color: #ff1744; }
.bg-red-a400 { background-color: #ff1744; }
.border-red-a400 { border-color: #ff1744; }
.fill-red-a400 { fill: #ff1744; }
.stroke-red-a400 { stroke: #ff1744; }
.color-red-a700 { color: #d50000; }
.bg-red-a700 { background-color: #d50000; }
.border-red-a700 { border-color: #d50000; }
.fill-red-a700 { fill: #d50000; }
.stroke-red-a700 { stroke: #d50000; }


.color-pink-50 { color: #fce4ec; }
.bg-pink-50 { background-color: #fce4ec; }
.border-pink-50 { border-color: #fce4ec; }
.fill-pink-50 { fill: #fce4ec; }
.stroke-pink-50 { stroke: #fce4ec; }
.color-pink-100 { color: #f8bbd0; }
.bg-pink-100 { background-color: #f8bbd0; }
.border-pink-100 { border-color: #f8bbd0; }
.fill-pink-100 { fill: #f8bbd0; }
.stroke-pink-100 { stroke: #f8bbd0; }
.color-pink-200 { color: #f48fb1; }
.bg-pink-200 { background-color: #f48fb1; }
.border-pink-200 { border-color: #f48fb1; }
.fill-pink-200 { fill: #f48fb1; }
.stroke-pink-200 { stroke: #f48fb1; }
.color-pink-300 { color: #f06292; }
.bg-pink-300 { background-color: #f06292; }
.border-pink-300 { border-color: #f06292; }
.fill-pink-300 { fill: #f06292; }
.stroke-pink-300 { stroke: #f06292; }
.color-pink-400 { color: #ec407a; }
.bg-pink-400 { background-color: #ec407a; }
.border-pink-400 { border-color: #ec407a; }
.fill-pink-400 { fill: #ec407a; }
.stroke-pink-400 { stroke: #ec407a; }
.color-pink-500 { color: #e91e63; }
.bg-pink-500 { background-color: #e91e63; }
.border-pink-500 { border-color: #e91e63; }
.fill-pink-500 { fill: #e91e63; }
.stroke-pink-500 { stroke: #e91e63; }
.color-pink-600 { color: #d81b60; }
.bg-pink-600 { background-color: #d81b60; }
.border-pink-600 { border-color: #d81b60; }
.fill-pink-600 { fill: #d81b60; }
.stroke-pink-600 { stroke: #d81b60; }
.color-pink-700 { color: #c2185b; }
.bg-pink-700 { background-color: #c2185b; }
.border-pink-700 { border-color: #c2185b; }
.fill-pink-700 { fill: #c2185b; }
.stroke-pink-700 { stroke: #c2185b; }
.color-pink-800 { color: #ad1457; }
.bg-pink-800 { background-color: #ad1457; }
.border-pink-800 { border-color: #ad1457; }
.fill-pink-800 { fill: #ad1457; }
.stroke-pink-800 { stroke: #ad1457; }
.color-pink-900 { color: #880e4f; }
.bg-pink-900 { background-color: #880e4f; }
.border-pink-900 { border-color: #880e4f; }
.fill-pink-900 { fill: #880e4f; }
.stroke-pink-900 { stroke: #880e4f; }
.color-pink-a100 { color: #ff80ab; }
.bg-pink-a100 { background-color: #ff80ab; }
.border-pink-a100 { border-color: #ff80ab; }
.fill-pink-a100 { fill: #ff80ab; }
.stroke-pink-a100 { stroke: #ff80ab; }
.color-pink-a200 { color: #ff4081; }
.bg-pink-a200 { background-color: #ff4081; }
.border-pink-a200 { border-color: #ff4081; }
.fill-pink-a200 { fill: #ff4081; }
.stroke-pink-a200 { stroke: #ff4081; }
.color-pink-a400 { color: #f50057; }
.bg-pink-a400 { background-color: #f50057; }
.border-pink-a400 { border-color: #f50057; }
.fill-pink-a400 { fill: #f50057; }
.stroke-pink-a400 { stroke: #f50057; }
.color-pink-a700 { color: #c51162; }
.bg-pink-a700 { background-color: #c51162; }
.border-pink-a700 { border-color: #c51162; }
.fill-pink-a700 { fill: #c51162; }
.stroke-pink-a700 { stroke: #c51162; }


.color-purple-50 { color: #f3e5f5; }
.bg-purple-50 { background-color: #f3e5f5; }
.border-purple-50 { border-color: #f3e5f5; }
.fill-purple-50 { fill: #f3e5f5; }
.stroke-purple-50 { stroke: #f3e5f5; }
.color-purple-100 { color: #e1bee7; }
.bg-purple-100 { background-color: #e1bee7; }
.border-purple-100 { border-color: #e1bee7; }
.fill-purple-100 { fill: #e1bee7; }
.stroke-purple-100 { stroke: #e1bee7; }
.color-purple-200 { color: #ce93d8; }
.bg-purple-200 { background-color: #ce93d8; }
.border-purple-200 { border-color: #ce93d8; }
.fill-purple-200 { fill: #ce93d8; }
.stroke-purple-200 { stroke: #ce93d8; }
.color-purple-300 { color: #ba68c8; }
.bg-purple-300 { background-color: #ba68c8; }
.border-purple-300 { border-color: #ba68c8; }
.fill-purple-300 { fill: #ba68c8; }
.stroke-purple-300 { stroke: #ba68c8; }
.color-purple-400 { color: #ab47bc; }
.bg-purple-400 { background-color: #ab47bc; }
.border-purple-400 { border-color: #ab47bc; }
.fill-purple-400 { fill: #ab47bc; }
.stroke-purple-400 { stroke: #ab47bc; }
.color-purple-500 { color: #9c27b0; }
.bg-purple-500 { background-color: #9c27b0; }
.border-purple-500 { border-color: #9c27b0; }
.fill-purple-500 { fill: #9c27b0; }
.stroke-purple-500 { stroke: #9c27b0; }
.color-purple-600 { color: #8e24aa; }
.bg-purple-600 { background-color: #8e24aa; }
.border-purple-600 { border-color: #8e24aa; }
.fill-purple-600 { fill: #8e24aa; }
.stroke-purple-600 { stroke: #8e24aa; }
.color-purple-700 { color: #7b1fa2; }
.bg-purple-700 { background-color: #7b1fa2; }
.border-purple-700 { border-color: #7b1fa2; }
.fill-purple-700 { fill: #7b1fa2; }
.stroke-purple-700 { stroke: #7b1fa2; }
.color-purple-800 { color: #6a1b9a; }
.bg-purple-800 { background-color: #6a1b9a; }
.border-purple-800 { border-color: #6a1b9a; }
.fill-purple-800 { fill: #6a1b9a; }
.stroke-purple-800 { stroke: #6a1b9a; }
.color-purple-900 { color: #4a148c; }
.bg-purple-900 { background-color: #4a148c; }
.border-purple-900 { border-color: #4a148c; }
.fill-purple-900 { fill: #4a148c; }
.stroke-purple-900 { stroke: #4a148c; }
.color-purple-a100 { color: #ea80fc; }
.bg-purple-a100 { background-color: #ea80fc; }
.border-purple-a100 { border-color: #ea80fc; }
.fill-purple-a100 { fill: #ea80fc; }
.stroke-purple-a100 { stroke: #ea80fc; }
.color-purple-a200 { color: #e040fb; }
.bg-purple-a200 { background-color: #e040fb; }
.border-purple-a200 { border-color: #e040fb; }
.fill-purple-a200 { fill: #e040fb; }
.stroke-purple-a200 { stroke: #e040fb; }
.color-purple-a400 { color: #d500f9; }
.bg-purple-a400 { background-color: #d500f9; }
.border-purple-a400 { border-color: #d500f9; }
.fill-purple-a400 { fill: #d500f9; }
.stroke-purple-a400 { stroke: #d500f9; }
.color-purple-a700 { color: #aa00ff; }
.bg-purple-a700 { background-color: #aa00ff; }
.border-purple-a700 { border-color: #aa00ff; }
.fill-purple-a700 { fill: #aa00ff; }
.stroke-purple-a700 { stroke: #aa00ff; }


.color-deep-purple-50 { color: #ede7f6; }
.bg-deep-purple-50 { background-color: #ede7f6; }
.border-deep-purple-50 { border-color: #ede7f6; }
.fill-deep-purple-50 { fill: #ede7f6; }
.stroke-deep-purple-50 { stroke: #ede7f6; }
.color-deep-purple-100 { color: #d1c4e9; }
.bg-deep-purple-100 { background-color: #d1c4e9; }
.border-deep-purple-100 { border-color: #d1c4e9; }
.fill-deep-purple-100 { fill: #d1c4e9; }
.stroke-deep-purple-100 { stroke: #d1c4e9; }
.color-deep-purple-200 { color: #b39ddb; }
.bg-deep-purple-200 { background-color: #b39ddb; }
.border-deep-purple-200 { border-color: #b39ddb; }
.fill-deep-purple-200 { fill: #b39ddb; }
.stroke-deep-purple-200 { stroke: #b39ddb; }
.color-deep-purple-300 { color: #9575cd; }
.bg-deep-purple-300 { background-color: #9575cd; }
.border-deep-purple-300 { border-color: #9575cd; }
.fill-deep-purple-300 { fill: #9575cd; }
.stroke-deep-purple-300 { stroke: #9575cd; }
.color-deep-purple-400 { color: #7e57c2; }
.bg-deep-purple-400 { background-color: #7e57c2; }
.border-deep-purple-400 { border-color: #7e57c2; }
.fill-deep-purple-400 { fill: #7e57c2; }
.stroke-deep-purple-400 { stroke: #7e57c2; }
.color-deep-purple-500 { color: #673ab7; }
.bg-deep-purple-500 { background-color: #673ab7; }
.border-deep-purple-500 { border-color: #673ab7; }
.fill-deep-purple-500 { fill: #673ab7; }
.stroke-deep-purple-500 { stroke: #673ab7; }
.color-deep-purple-600 { color: #5e35b1; }
.bg-deep-purple-600 { background-color: #5e35b1; }
.border-deep-purple-600 { border-color: #5e35b1; }
.fill-deep-purple-600 { fill: #5e35b1; }
.stroke-deep-purple-600 { stroke: #5e35b1; }
.color-deep-purple-700 { color: #512da8; }
.bg-deep-purple-700 { background-color: #512da8; }
.border-deep-purple-700 { border-color: #512da8; }
.fill-deep-purple-700 { fill: #512da8; }
.stroke-deep-purple-700 { stroke: #512da8; }
.color-deep-purple-800 { color: #4527a0; }
.bg-deep-purple-800 { background-color: #4527a0; }
.border-deep-purple-800 { border-color: #4527a0; }
.fill-deep-purple-800 { fill: #4527a0; }
.stroke-deep-purple-800 { stroke: #4527a0; }
.color-deep-purple-900 { color: #311b92; }
.bg-deep-purple-900 { background-color: #311b92; }
.border-deep-purple-900 { border-color: #311b92; }
.fill-deep-purple-900 { fill: #311b92; }
.stroke-deep-purple-900 { stroke: #311b92; }
.color-deep-purple-a100 { color: #b388ff; }
.bg-deep-purple-a100 { background-color: #b388ff; }
.border-deep-purple-a100 { border-color: #b388ff; }
.fill-deep-purple-a100 { fill: #b388ff; }
.stroke-deep-purple-a100 { stroke: #b388ff; }
.color-deep-purple-a200 { color: #7c4dff; }
.bg-deep-purple-a200 { background-color: #7c4dff; }
.border-deep-purple-a200 { border-color: #7c4dff; }
.fill-deep-purple-a200 { fill: #7c4dff; }
.stroke-deep-purple-a200 { stroke: #7c4dff; }
.color-deep-purple-a400 { color: #651fff; }
.bg-deep-purple-a400 { background-color: #651fff; }
.border-deep-purple-a400 { border-color: #651fff; }
.fill-deep-purple-a400 { fill: #651fff; }
.stroke-deep-purple-a400 { stroke: #651fff; }
.color-deep-purple-a700 { color: #6200ea; }
.bg-deep-purple-a700 { background-color: #6200ea; }
.border-deep-purple-a700 { border-color: #6200ea; }
.fill-deep-purple-a700 { fill: #6200ea; }
.stroke-deep-purple-a700 { stroke: #6200ea; }


.color-indigo-50 { color: #e8eaf6; }
.bg-indigo-50 { background-color: #e8eaf6; }
.border-indigo-50 { border-color: #e8eaf6; }
.fill-indigo-50 { fill: #e8eaf6; }
.stroke-indigo-50 { stroke: #e8eaf6; }
.color-indigo-100 { color: #c5cae9; }
.bg-indigo-100 { background-color: #c5cae9; }
.border-indigo-100 { border-color: #c5cae9; }
.fill-indigo-100 { fill: #c5cae9; }
.stroke-indigo-100 { stroke: #c5cae9; }
.color-indigo-200 { color: #9fa8da; }
.bg-indigo-200 { background-color: #9fa8da; }
.border-indigo-200 { border-color: #9fa8da; }
.fill-indigo-200 { fill: #9fa8da; }
.stroke-indigo-200 { stroke: #9fa8da; }
.color-indigo-300 { color: #7986cb; }
.bg-indigo-300 { background-color: #7986cb; }
.border-indigo-300 { border-color: #7986cb; }
.fill-indigo-300 { fill: #7986cb; }
.stroke-indigo-300 { stroke: #7986cb; }
.color-indigo-400 { color: #5c6bc0; }
.bg-indigo-400 { background-color: #5c6bc0; }
.border-indigo-400 { border-color: #5c6bc0; }
.fill-indigo-400 { fill: #5c6bc0; }
.stroke-indigo-400 { stroke: #5c6bc0; }
.color-indigo-500 { color: #3f51b5; }
.bg-indigo-500 { background-color: #3f51b5; }
.border-indigo-500 { border-color: #3f51b5; }
.fill-indigo-500 { fill: #3f51b5; }
.stroke-indigo-500 { stroke: #3f51b5; }
.color-indigo-600 { color: #3949ab; }
.bg-indigo-600 { background-color: #3949ab; }
.border-indigo-600 { border-color: #3949ab; }
.fill-indigo-600 { fill: #3949ab; }
.stroke-indigo-600 { stroke: #3949ab; }
.color-indigo-700 { color: #303f9f; }
.bg-indigo-700 { background-color: #303f9f; }
.border-indigo-700 { border-color: #303f9f; }
.fill-indigo-700 { fill: #303f9f; }
.stroke-indigo-700 { stroke: #303f9f; }
.color-indigo-800 { color: #283593; }
.bg-indigo-800 { background-color: #283593; }
.border-indigo-800 { border-color: #283593; }
.fill-indigo-800 { fill: #283593; }
.stroke-indigo-800 { stroke: #283593; }
.color-indigo-900 { color: #1a237e; }
.bg-indigo-900 { background-color: #1a237e; }
.border-indigo-900 { border-color: #1a237e; }
.fill-indigo-900 { fill: #1a237e; }
.stroke-indigo-900 { stroke: #1a237e; }
.color-indigo-a100 { color: #8c9eff; }
.bg-indigo-a100 { background-color: #8c9eff; }
.border-indigo-a100 { border-color: #8c9eff; }
.fill-indigo-a100 { fill: #8c9eff; }
.stroke-indigo-a100 { stroke: #8c9eff; }
.color-indigo-a200 { color: #536dfe; }
.bg-indigo-a200 { background-color: #536dfe; }
.border-indigo-a200 { border-color: #536dfe; }
.fill-indigo-a200 { fill: #536dfe; }
.stroke-indigo-a200 { stroke: #536dfe; }
.color-indigo-a400 { color: #3d5afe; }
.bg-indigo-a400 { background-color: #3d5afe; }
.border-indigo-a400 { border-color: #3d5afe; }
.fill-indigo-a400 { fill: #3d5afe; }
.stroke-indigo-a400 { stroke: #3d5afe; }
.color-indigo-a700 { color: #304ffe; }
.bg-indigo-a700 { background-color: #304ffe; }
.border-indigo-a700 { border-color: #304ffe; }
.fill-indigo-a700 { fill: #304ffe; }
.stroke-indigo-a700 { stroke: #304ffe; }


.color-blue-50 { color: #e3f2fd; }
.bg-blue-50 { background-color: #e3f2fd; }
.border-blue-50 { border-color: #e3f2fd; }
.fill-blue-50 { fill: #e3f2fd; }
.stroke-blue-50 { stroke: #e3f2fd; }
.color-blue-100 { color: #bbdefb; }
.bg-blue-100 { background-color: #bbdefb; }
.border-blue-100 { border-color: #bbdefb; }
.fill-blue-100 { fill: #bbdefb; }
.stroke-blue-100 { stroke: #bbdefb; }
.color-blue-200 { color: #90caf9; }
.bg-blue-200 { background-color: #90caf9; }
.border-blue-200 { border-color: #90caf9; }
.fill-blue-200 { fill: #90caf9; }
.stroke-blue-200 { stroke: #90caf9; }
.color-blue-300 { color: #64b5f6; }
.bg-blue-300 { background-color: #64b5f6; }
.border-blue-300 { border-color: #64b5f6; }
.fill-blue-300 { fill: #64b5f6; }
.stroke-blue-300 { stroke: #64b5f6; }
.color-blue-400 { color: #42a5f5; }
.bg-blue-400 { background-color: #42a5f5; }
.border-blue-400 { border-color: #42a5f5; }
.fill-blue-400 { fill: #42a5f5; }
.stroke-blue-400 { stroke: #42a5f5; }
.color-blue-500 { color: #2196f3; }
.bg-blue-500 { background-color: #2196f3; }
.border-blue-500 { border-color: #2196f3; }
.fill-blue-500 { fill: #2196f3; }
.stroke-blue-500 { stroke: #2196f3; }
.color-blue-600 { color: #1e88e5; }
.bg-blue-600 { background-color: #1e88e5; }
.border-blue-600 { border-color: #1e88e5; }
.fill-blue-600 { fill: #1e88e5; }
.stroke-blue-600 { stroke: #1e88e5; }
.color-blue-700 { color: #1976d2; }
.bg-blue-700 { background-color: #1976d2; }
.border-blue-700 { border-color: #1976d2; }
.fill-blue-700 { fill: #1976d2; }
.stroke-blue-700 { stroke: #1976d2; }
.color-blue-800 { color: #1565c0; }
.bg-blue-800 { background-color: #1565c0; }
.border-blue-800 { border-color: #1565c0; }
.fill-blue-800 { fill: #1565c0; }
.stroke-blue-800 { stroke: #1565c0; }
.color-blue-900 { color: #0d47a1; }
.bg-blue-900 { background-color: #0d47a1; }
.border-blue-900 { border-color: #0d47a1; }
.fill-blue-900 { fill: #0d47a1; }
.stroke-blue-900 { stroke: #0d47a1; }
.color-blue-a100 { color: #82b1ff; }
.bg-blue-a100 { background-color: #82b1ff; }
.border-blue-a100 { border-color: #82b1ff; }
.fill-blue-a100 { fill: #82b1ff; }
.stroke-blue-a100 { stroke: #82b1ff; }
.color-blue-a200 { color: #448aff; }
.bg-blue-a200 { background-color: #448aff; }
.border-blue-a200 { border-color: #448aff; }
.fill-blue-a200 { fill: #448aff; }
.stroke-blue-a200 { stroke: #448aff; }
.color-blue-a400 { color: #2979ff; }
.bg-blue-a400 { background-color: #2979ff; }
.border-blue-a400 { border-color: #2979ff; }
.fill-blue-a400 { fill: #2979ff; }
.stroke-blue-a400 { stroke: #2979ff; }
.color-blue-a700 { color: #2962ff; }
.bg-blue-a700 { background-color: #2962ff; }
.border-blue-a700 { border-color: #2962ff; }
.fill-blue-a700 { fill: #2962ff; }
.stroke-blue-a700 { stroke: #2962ff; }


.color-light-blue-50 { color: #e1f5fe; }
.bg-light-blue-50 { background-color: #e1f5fe; }
.border-light-blue-50 { border-color: #e1f5fe; }
.fill-light-blue-50 { fill: #e1f5fe; }
.stroke-light-blue-50 { stroke: #e1f5fe; }
.color-light-blue-100 { color: #b3e5fc; }
.bg-light-blue-100 { background-color: #b3e5fc; }
.border-light-blue-100 { border-color: #b3e5fc; }
.fill-light-blue-100 { fill: #b3e5fc; }
.stroke-light-blue-100 { stroke: #b3e5fc; }
.color-light-blue-200 { color: #81d4fa; }
.bg-light-blue-200 { background-color: #81d4fa; }
.border-light-blue-200 { border-color: #81d4fa; }
.fill-light-blue-200 { fill: #81d4fa; }
.stroke-light-blue-200 { stroke: #81d4fa; }
.color-light-blue-300 { color: #4fc3f7; }
.bg-light-blue-300 { background-color: #4fc3f7; }
.border-light-blue-300 { border-color: #4fc3f7; }
.fill-light-blue-300 { fill: #4fc3f7; }
.stroke-light-blue-300 { stroke: #4fc3f7; }
.color-light-blue-400 { color: #29b6f6; }
.bg-light-blue-400 { background-color: #29b6f6; }
.border-light-blue-400 { border-color: #29b6f6; }
.fill-light-blue-400 { fill: #29b6f6; }
.stroke-light-blue-400 { stroke: #29b6f6; }
.color-light-blue-500 { color: #03a9f4; }
.bg-light-blue-500 { background-color: #03a9f4; }
.border-light-blue-500 { border-color: #03a9f4; }
.fill-light-blue-500 { fill: #03a9f4; }
.stroke-light-blue-500 { stroke: #03a9f4; }
.color-light-blue-600 { color: #039be5; }
.bg-light-blue-600 { background-color: #039be5; }
.border-light-blue-600 { border-color: #039be5; }
.fill-light-blue-600 { fill: #039be5; }
.stroke-light-blue-600 { stroke: #039be5; }
.color-light-blue-700 { color: #0288d1; }
.bg-light-blue-700 { background-color: #0288d1; }
.border-light-blue-700 { border-color: #0288d1; }
.fill-light-blue-700 { fill: #0288d1; }
.stroke-light-blue-700 { stroke: #0288d1; }
.color-light-blue-800 { color: #0277bd; }
.bg-light-blue-800 { background-color: #0277bd; }
.border-light-blue-800 { border-color: #0277bd; }
.fill-light-blue-800 { fill: #0277bd; }
.stroke-light-blue-800 { stroke: #0277bd; }
.color-light-blue-900 { color: #01579b; }
.bg-light-blue-900 { background-color: #01579b; }
.border-light-blue-900 { border-color: #01579b; }
.fill-light-blue-900 { fill: #01579b; }
.stroke-light-blue-900 { stroke: #01579b; }
.color-light-blue-a100 { color: #80d8ff; }
.bg-light-blue-a100 { background-color: #80d8ff; }
.border-light-blue-a100 { border-color: #80d8ff; }
.fill-light-blue-a100 { fill: #80d8ff; }
.stroke-light-blue-a100 { stroke: #80d8ff; }
.color-light-blue-a200 { color: #40c4ff; }
.bg-light-blue-a200 { background-color: #40c4ff; }
.border-light-blue-a200 { border-color: #40c4ff; }
.fill-light-blue-a200 { fill: #40c4ff; }
.stroke-light-blue-a200 { stroke: #40c4ff; }
.color-light-blue-a400 { color: #00b0ff; }
.bg-light-blue-a400 { background-color: #00b0ff; }
.border-light-blue-a400 { border-color: #00b0ff; }
.fill-light-blue-a400 { fill: #00b0ff; }
.stroke-light-blue-a400 { stroke: #00b0ff; }
.color-light-blue-a700 { color: #0091ea; }
.bg-light-blue-a700 { background-color: #0091ea; }
.border-light-blue-a700 { border-color: #0091ea; }
.fill-light-blue-a700 { fill: #0091ea; }
.stroke-light-blue-a700 { stroke: #0091ea; }


.color-cyan-50 { color: #e0f7fa; }
.bg-cyan-50 { background-color: #e0f7fa; }
.border-cyan-50 { border-color: #e0f7fa; }
.fill-cyan-50 { fill: #e0f7fa; }
.stroke-cyan-50 { stroke: #e0f7fa; }
.color-cyan-100 { color: #b2ebf2; }
.bg-cyan-100 { background-color: #b2ebf2; }
.border-cyan-100 { border-color: #b2ebf2; }
.fill-cyan-100 { fill: #b2ebf2; }
.stroke-cyan-100 { stroke: #b2ebf2; }
.color-cyan-200 { color: #80deea; }
.bg-cyan-200 { background-color: #80deea; }
.border-cyan-200 { border-color: #80deea; }
.fill-cyan-200 { fill: #80deea; }
.stroke-cyan-200 { stroke: #80deea; }
.color-cyan-300 { color: #4dd0e1; }
.bg-cyan-300 { background-color: #4dd0e1; }
.border-cyan-300 { border-color: #4dd0e1; }
.fill-cyan-300 { fill: #4dd0e1; }
.stroke-cyan-300 { stroke: #4dd0e1; }
.color-cyan-400 { color: #26c6da; }
.bg-cyan-400 { background-color: #26c6da; }
.border-cyan-400 { border-color: #26c6da; }
.fill-cyan-400 { fill: #26c6da; }
.stroke-cyan-400 { stroke: #26c6da; }
.color-cyan-500 { color: #00bcd4; }
.bg-cyan-500 { background-color: #00bcd4; }
.border-cyan-500 { border-color: #00bcd4; }
.fill-cyan-500 { fill: #00bcd4; }
.stroke-cyan-500 { stroke: #00bcd4; }
.color-cyan-600 { color: #00acc1; }
.bg-cyan-600 { background-color: #00acc1; }
.border-cyan-600 { border-color: #00acc1; }
.fill-cyan-600 { fill: #00acc1; }
.stroke-cyan-600 { stroke: #00acc1; }
.color-cyan-700 { color: #0097a7; }
.bg-cyan-700 { background-color: #0097a7; }
.border-cyan-700 { border-color: #0097a7; }
.fill-cyan-700 { fill: #0097a7; }
.stroke-cyan-700 { stroke: #0097a7; }
.color-cyan-800 { color: #00838f; }
.bg-cyan-800 { background-color: #00838f; }
.border-cyan-800 { border-color: #00838f; }
.fill-cyan-800 { fill: #00838f; }
.stroke-cyan-800 { stroke: #00838f; }
.color-cyan-900 { color: #006064; }
.bg-cyan-900 { background-color: #006064; }
.border-cyan-900 { border-color: #006064; }
.fill-cyan-900 { fill: #006064; }
.stroke-cyan-900 { stroke: #006064; }
.color-cyan-a100 { color: #84ffff; }
.bg-cyan-a100 { background-color: #84ffff; }
.border-cyan-a100 { border-color: #84ffff; }
.fill-cyan-a100 { fill: #84ffff; }
.stroke-cyan-a100 { stroke: #84ffff; }
.color-cyan-a200 { color: #18ffff; }
.bg-cyan-a200 { background-color: #18ffff; }
.border-cyan-a200 { border-color: #18ffff; }
.fill-cyan-a200 { fill: #18ffff; }
.stroke-cyan-a200 { stroke: #18ffff; }
.color-cyan-a400 { color: #00e5ff; }
.bg-cyan-a400 { background-color: #00e5ff; }
.border-cyan-a400 { border-color: #00e5ff; }
.fill-cyan-a400 { fill: #00e5ff; }
.stroke-cyan-a400 { stroke: #00e5ff; }
.color-cyan-a700 { color: #00b8d4; }
.bg-cyan-a700 { background-color: #00b8d4; }
.border-cyan-a700 { border-color: #00b8d4; }
.fill-cyan-a700 { fill: #00b8d4; }
.stroke-cyan-a700 { stroke: #00b8d4; }


.color-teal-50 { color: #e0f2f1; }
.bg-teal-50 { background-color: #e0f2f1; }
.border-teal-50 { border-color: #e0f2f1; }
.fill-teal-50 { fill: #e0f2f1; }
.stroke-teal-50 { stroke: #e0f2f1; }
.color-teal-100 { color: #b2dfdb; }
.bg-teal-100 { background-color: #b2dfdb; }
.border-teal-100 { border-color: #b2dfdb; }
.fill-teal-100 { fill: #b2dfdb; }
.stroke-teal-100 { stroke: #b2dfdb; }
.color-teal-200 { color: #80cbc4; }
.bg-teal-200 { background-color: #80cbc4; }
.border-teal-200 { border-color: #80cbc4; }
.fill-teal-200 { fill: #80cbc4; }
.stroke-teal-200 { stroke: #80cbc4; }
.color-teal-300 { color: #4db6ac; }
.bg-teal-300 { background-color: #4db6ac; }
.border-teal-300 { border-color: #4db6ac; }
.fill-teal-300 { fill: #4db6ac; }
.stroke-teal-300 { stroke: #4db6ac; }
.color-teal-400 { color: #26a69a; }
.bg-teal-400 { background-color: #26a69a; }
.border-teal-400 { border-color: #26a69a; }
.fill-teal-400 { fill: #26a69a; }
.stroke-teal-400 { stroke: #26a69a; }
.color-teal-500 { color: #009688; }
.bg-teal-500 { background-color: #009688; }
.border-teal-500 { border-color: #009688; }
.fill-teal-500 { fill: #009688; }
.stroke-teal-500 { stroke: #009688; }
.color-teal-600 { color: #00897b; }
.bg-teal-600 { background-color: #00897b; }
.border-teal-600 { border-color: #00897b; }
.fill-teal-600 { fill: #00897b; }
.stroke-teal-600 { stroke: #00897b; }
.color-teal-700 { color: #00796b; }
.bg-teal-700 { background-color: #00796b; }
.border-teal-700 { border-color: #00796b; }
.fill-teal-700 { fill: #00796b; }
.stroke-teal-700 { stroke: #00796b; }
.color-teal-800 { color: #00695c; }
.bg-teal-800 { background-color: #00695c; }
.border-teal-800 { border-color: #00695c; }
.fill-teal-800 { fill: #00695c; }
.stroke-teal-800 { stroke: #00695c; }
.color-teal-900 { color: #004d40; }
.bg-teal-900 { background-color: #004d40; }
.border-teal-900 { border-color: #004d40; }
.fill-teal-900 { fill: #004d40; }
.stroke-teal-900 { stroke: #004d40; }
.color-teal-a100 { color: #a7ffeb; }
.bg-teal-a100 { background-color: #a7ffeb; }
.border-teal-a100 { border-color: #a7ffeb; }
.fill-teal-a100 { fill: #a7ffeb; }
.stroke-teal-a100 { stroke: #a7ffeb; }
.color-teal-a200 { color: #64ffda; }
.bg-teal-a200 { background-color: #64ffda; }
.border-teal-a200 { border-color: #64ffda; }
.fill-teal-a200 { fill: #64ffda; }
.stroke-teal-a200 { stroke: #64ffda; }
.color-teal-a400 { color: #1de9b6; }
.bg-teal-a400 { background-color: #1de9b6; }
.border-teal-a400 { border-color: #1de9b6; }
.fill-teal-a400 { fill: #1de9b6; }
.stroke-teal-a400 { stroke: #1de9b6; }
.color-teal-a700 { color: #00bfa5; }
.bg-teal-a700 { background-color: #00bfa5; }
.border-teal-a700 { border-color: #00bfa5; }
.fill-teal-a700 { fill: #00bfa5; }
.stroke-teal-a700 { stroke: #00bfa5; }


.color-green-50 { color: #e8f5e9; }
.bg-green-50 { background-color: #e8f5e9; }
.border-green-50 { border-color: #e8f5e9; }
.fill-green-50 { fill: #e8f5e9; }
.stroke-green-50 { stroke: #e8f5e9; }
.color-green-100 { color: #c8e6c9; }
.bg-green-100 { background-color: #c8e6c9; }
.border-green-100 { border-color: #c8e6c9; }
.fill-green-100 { fill: #c8e6c9; }
.stroke-green-100 { stroke: #c8e6c9; }
.color-green-200 { color: #a5d6a7; }
.bg-green-200 { background-color: #a5d6a7; }
.border-green-200 { border-color: #a5d6a7; }
.fill-green-200 { fill: #a5d6a7; }
.stroke-green-200 { stroke: #a5d6a7; }
.color-green-300 { color: #81c784; }
.bg-green-300 { background-color: #81c784; }
.border-green-300 { border-color: #81c784; }
.fill-green-300 { fill: #81c784; }
.stroke-green-300 { stroke: #81c784; }
.color-green-400 { color: #66bb6a; }
.bg-green-400 { background-color: #66bb6a; }
.border-green-400 { border-color: #66bb6a; }
.fill-green-400 { fill: #66bb6a; }
.stroke-green-400 { stroke: #66bb6a; }
.color-green-500 { color: #4caf50; }
.bg-green-500 { background-color: #4caf50; }
.border-green-500 { border-color: #4caf50; }
.fill-green-500 { fill: #4caf50; }
.stroke-green-500 { stroke: #4caf50; }
.color-green-600 { color: #43a047; }
.bg-green-600 { background-color: #43a047; }
.border-green-600 { border-color: #43a047; }
.fill-green-600 { fill: #43a047; }
.stroke-green-600 { stroke: #43a047; }
.color-green-700 { color: #388e3c; }
.bg-green-700 { background-color: #388e3c; }
.border-green-700 { border-color: #388e3c; }
.fill-green-700 { fill: #388e3c; }
.stroke-green-700 { stroke: #388e3c; }
.color-green-800 { color: #2e7d32; }
.bg-green-800 { background-color: #2e7d32; }
.border-green-800 { border-color: #2e7d32; }
.fill-green-800 { fill: #2e7d32; }
.stroke-green-800 { stroke: #2e7d32; }
.color-green-900 { color: #1b5e20; }
.bg-green-900 { background-color: #1b5e20; }
.border-green-900 { border-color: #1b5e20; }
.fill-green-900 { fill: #1b5e20; }
.stroke-green-900 { stroke: #1b5e20; }
.color-green-a100 { color: #b9f6ca; }
.bg-green-a100 { background-color: #b9f6ca; }
.border-green-a100 { border-color: #b9f6ca; }
.fill-green-a100 { fill: #b9f6ca; }
.stroke-green-a100 { stroke: #b9f6ca; }
.color-green-a200 { color: #69f0ae; }
.bg-green-a200 { background-color: #69f0ae; }
.border-green-a200 { border-color: #69f0ae; }
.fill-green-a200 { fill: #69f0ae; }
.stroke-green-a200 { stroke: #69f0ae; }
.color-green-a400 { color: #00e676; }
.bg-green-a400 { background-color: #00e676; }
.border-green-a400 { border-color: #00e676; }
.fill-green-a400 { fill: #00e676; }
.stroke-green-a400 { stroke: #00e676; }
.color-green-a700 { color: #00c853; }
.bg-green-a700 { background-color: #00c853; }
.border-green-a700 { border-color: #00c853; }
.fill-green-a700 { fill: #00c853; }
.stroke-green-a700 { stroke: #00c853; }


.color-light-green-50 { color: #f1f8e9; }
.bg-light-green-50 { background-color: #f1f8e9; }
.border-light-green-50 { border-color: #f1f8e9; }
.fill-light-green-50 { fill: #f1f8e9; }
.stroke-light-green-50 { stroke: #f1f8e9; }
.color-light-green-100 { color: #dcedc8; }
.bg-light-green-100 { background-color: #dcedc8; }
.border-light-green-100 { border-color: #dcedc8; }
.fill-light-green-100 { fill: #dcedc8; }
.stroke-light-green-100 { stroke: #dcedc8; }
.color-light-green-200 { color: #c5e1a5; }
.bg-light-green-200 { background-color: #c5e1a5; }
.border-light-green-200 { border-color: #c5e1a5; }
.fill-light-green-200 { fill: #c5e1a5; }
.stroke-light-green-200 { stroke: #c5e1a5; }
.color-light-green-300 { color: #aed581; }
.bg-light-green-300 { background-color: #aed581; }
.border-light-green-300 { border-color: #aed581; }
.fill-light-green-300 { fill: #aed581; }
.stroke-light-green-300 { stroke: #aed581; }
.color-light-green-400 { color: #9ccc65; }
.bg-light-green-400 { background-color: #9ccc65; }
.border-light-green-400 { border-color: #9ccc65; }
.fill-light-green-400 { fill: #9ccc65; }
.stroke-light-green-400 { stroke: #9ccc65; }
.color-light-green-500 { color: #8bc34a; }
.bg-light-green-500 { background-color: #8bc34a; }
.border-light-green-500 { border-color: #8bc34a; }
.fill-light-green-500 { fill: #8bc34a; }
.stroke-light-green-500 { stroke: #8bc34a; }
.color-light-green-600 { color: #7cb342; }
.bg-light-green-600 { background-color: #7cb342; }
.border-light-green-600 { border-color: #7cb342; }
.fill-light-green-600 { fill: #7cb342; }
.stroke-light-green-600 { stroke: #7cb342; }
.color-light-green-700 { color: #689f38; }
.bg-light-green-700 { background-color: #689f38; }
.border-light-green-700 { border-color: #689f38; }
.fill-light-green-700 { fill: #689f38; }
.stroke-light-green-700 { stroke: #689f38; }
.color-light-green-800 { color: #558b2f; }
.bg-light-green-800 { background-color: #558b2f; }
.border-light-green-800 { border-color: #558b2f; }
.fill-light-green-800 { fill: #558b2f; }
.stroke-light-green-800 { stroke: #558b2f; }
.color-light-green-900 { color: #33691e; }
.bg-light-green-900 { background-color: #33691e; }
.border-light-green-900 { border-color: #33691e; }
.fill-light-green-900 { fill: #33691e; }
.stroke-light-green-900 { stroke: #33691e; }
.color-light-green-a100 { color: #ccff90; }
.bg-light-green-a100 { background-color: #ccff90; }
.border-light-green-a100 { border-color: #ccff90; }
.fill-light-green-a100 { fill: #ccff90; }
.stroke-light-green-a100 { stroke: #ccff90; }
.color-light-green-a200 { color: #b2ff59; }
.bg-light-green-a200 { background-color: #b2ff59; }
.border-light-green-a200 { border-color: #b2ff59; }
.fill-light-green-a200 { fill: #b2ff59; }
.stroke-light-green-a200 { stroke: #b2ff59; }
.color-light-green-a400 { color: #76ff03; }
.bg-light-green-a400 { background-color: #76ff03; }
.border-light-green-a400 { border-color: #76ff03; }
.fill-light-green-a400 { fill: #76ff03; }
.stroke-light-green-a400 { stroke: #76ff03; }
.color-light-green-a700 { color: #64dd17; }
.bg-light-green-a700 { background-color: #64dd17; }
.border-light-green-a700 { border-color: #64dd17; }
.fill-light-green-a700 { fill: #64dd17; }
.stroke-light-green-a700 { stroke: #64dd17; }


.color-lime-50 { color: #f9fbe7; }
.bg-lime-50 { background-color: #f9fbe7; }
.border-lime-50 { border-color: #f9fbe7; }
.fill-lime-50 { fill: #f9fbe7; }
.stroke-lime-50 { stroke: #f9fbe7; }
.color-lime-100 { color: #f0f4c3; }
.bg-lime-100 { background-color: #f0f4c3; }
.border-lime-100 { border-color: #f0f4c3; }
.fill-lime-100 { fill: #f0f4c3; }
.stroke-lime-100 { stroke: #f0f4c3; }
.color-lime-200 { color: #e6ee9c; }
.bg-lime-200 { background-color: #e6ee9c; }
.border-lime-200 { border-color: #e6ee9c; }
.fill-lime-200 { fill: #e6ee9c; }
.stroke-lime-200 { stroke: #e6ee9c; }
.color-lime-300 { color: #dce775; }
.bg-lime-300 { background-color: #dce775; }
.border-lime-300 { border-color: #dce775; }
.fill-lime-300 { fill: #dce775; }
.stroke-lime-300 { stroke: #dce775; }
.color-lime-400 { color: #d4e157; }
.bg-lime-400 { background-color: #d4e157; }
.border-lime-400 { border-color: #d4e157; }
.fill-lime-400 { fill: #d4e157; }
.stroke-lime-400 { stroke: #d4e157; }
.color-lime-500 { color: #cddc39; }
.bg-lime-500 { background-color: #cddc39; }
.border-lime-500 { border-color: #cddc39; }
.fill-lime-500 { fill: #cddc39; }
.stroke-lime-500 { stroke: #cddc39; }
.color-lime-600 { color: #c0ca33; }
.bg-lime-600 { background-color: #c0ca33; }
.border-lime-600 { border-color: #c0ca33; }
.fill-lime-600 { fill: #c0ca33; }
.stroke-lime-600 { stroke: #c0ca33; }
.color-lime-700 { color: #afb42b; }
.bg-lime-700 { background-color: #afb42b; }
.border-lime-700 { border-color: #afb42b; }
.fill-lime-700 { fill: #afb42b; }
.stroke-lime-700 { stroke: #afb42b; }
.color-lime-800 { color: #9e9d24; }
.bg-lime-800 { background-color: #9e9d24; }
.border-lime-800 { border-color: #9e9d24; }
.fill-lime-800 { fill: #9e9d24; }
.stroke-lime-800 { stroke: #9e9d24; }
.color-lime-900 { color: #827717; }
.bg-lime-900 { background-color: #827717; }
.border-lime-900 { border-color: #827717; }
.fill-lime-900 { fill: #827717; }
.stroke-lime-900 { stroke: #827717; }
.color-lime-a100 { color: #f4ff81; }
.bg-lime-a100 { background-color: #f4ff81; }
.border-lime-a100 { border-color: #f4ff81; }
.fill-lime-a100 { fill: #f4ff81; }
.stroke-lime-a100 { stroke: #f4ff81; }
.color-lime-a200 { color: #eeff41; }
.bg-lime-a200 { background-color: #eeff41; }
.border-lime-a200 { border-color: #eeff41; }
.fill-lime-a200 { fill: #eeff41; }
.stroke-lime-a200 { stroke: #eeff41; }
.color-lime-a400 { color: #c6ff00; }
.bg-lime-a400 { background-color: #c6ff00; }
.border-lime-a400 { border-color: #c6ff00; }
.fill-lime-a400 { fill: #c6ff00; }
.stroke-lime-a400 { stroke: #c6ff00; }
.color-lime-a700 { color: #aeea00; }
.bg-lime-a700 { background-color: #aeea00; }
.border-lime-a700 { border-color: #aeea00; }
.fill-lime-a700 { fill: #aeea00; }
.stroke-lime-a700 { stroke: #aeea00; }


.color-yellow-50 { color: #fffde7; }
.bg-yellow-50 { background-color: #fffde7; }
.border-yellow-50 { border-color: #fffde7; }
.fill-yellow-50 { fill: #fffde7; }
.stroke-yellow-50 { stroke: #fffde7; }
.color-yellow-100 { color: #fff9c4; }
.bg-yellow-100 { background-color: #fff9c4; }
.border-yellow-100 { border-color: #fff9c4; }
.fill-yellow-100 { fill: #fff9c4; }
.stroke-yellow-100 { stroke: #fff9c4; }
.color-yellow-200 { color: #fff59d; }
.bg-yellow-200 { background-color: #fff59d; }
.border-yellow-200 { border-color: #fff59d; }
.fill-yellow-200 { fill: #fff59d; }
.stroke-yellow-200 { stroke: #fff59d; }
.color-yellow-300 { color: #fff176; }
.bg-yellow-300 { background-color: #fff176; }
.border-yellow-300 { border-color: #fff176; }
.fill-yellow-300 { fill: #fff176; }
.stroke-yellow-300 { stroke: #fff176; }
.color-yellow-400 { color: #ffee58; }
.bg-yellow-400 { background-color: #ffee58; }
.border-yellow-400 { border-color: #ffee58; }
.fill-yellow-400 { fill: #ffee58; }
.stroke-yellow-400 { stroke: #ffee58; }
.color-yellow-500 { color: #ffeb3b; }
.bg-yellow-500 { background-color: #ffeb3b; }
.border-yellow-500 { border-color: #ffeb3b; }
.fill-yellow-500 { fill: #ffeb3b; }
.stroke-yellow-500 { stroke: #ffeb3b; }
.color-yellow-600 { color: #fdd835; }
.bg-yellow-600 { background-color: #fdd835; }
.border-yellow-600 { border-color: #fdd835; }
.fill-yellow-600 { fill: #fdd835; }
.stroke-yellow-600 { stroke: #fdd835; }
.color-yellow-700 { color: #fbc02d; }
.bg-yellow-700 { background-color: #fbc02d; }
.border-yellow-700 { border-color: #fbc02d; }
.fill-yellow-700 { fill: #fbc02d; }
.stroke-yellow-700 { stroke: #fbc02d; }
.color-yellow-800 { color: #f9a825; }
.bg-yellow-800 { background-color: #f9a825; }
.border-yellow-800 { border-color: #f9a825; }
.fill-yellow-800 { fill: #f9a825; }
.stroke-yellow-800 { stroke: #f9a825; }
.color-yellow-900 { color: #f57f17; }
.bg-yellow-900 { background-color: #f57f17; }
.border-yellow-900 { border-color: #f57f17; }
.fill-yellow-900 { fill: #f57f17; }
.stroke-yellow-900 { stroke: #f57f17; }
.color-yellow-a100 { color: #ffff8d; }
.bg-yellow-a100 { background-color: #ffff8d; }
.border-yellow-a100 { border-color: #ffff8d; }
.fill-yellow-a100 { fill: #ffff8d; }
.stroke-yellow-a100 { stroke: #ffff8d; }
.color-yellow-a200 { color: #ffff00; }
.bg-yellow-a200 { background-color: #ffff00; }
.border-yellow-a200 { border-color: #ffff00; }
.fill-yellow-a200 { fill: #ffff00; }
.stroke-yellow-a200 { stroke: #ffff00; }
.color-yellow-a400 { color: #ffea00; }
.bg-yellow-a400 { background-color: #ffea00; }
.border-yellow-a400 { border-color: #ffea00; }
.fill-yellow-a400 { fill: #ffea00; }
.stroke-yellow-a400 { stroke: #ffea00; }
.color-yellow-a700 { color: #ffd600; }
.bg-yellow-a700 { background-color: #ffd600; }
.border-yellow-a700 { border-color: #ffd600; }
.fill-yellow-a700 { fill: #ffd600; }
.stroke-yellow-a700 { stroke: #ffd600; }


.color-amber-50 { color: #fff8e1; }
.bg-amber-50 { background-color: #fff8e1; }
.border-amber-50 { border-color: #fff8e1; }
.fill-amber-50 { fill: #fff8e1; }
.stroke-amber-50 { stroke: #fff8e1; }
.color-amber-100 { color: #ffecb3; }
.bg-amber-100 { background-color: #ffecb3; }
.border-amber-100 { border-color: #ffecb3; }
.fill-amber-100 { fill: #ffecb3; }
.stroke-amber-100 { stroke: #ffecb3; }
.color-amber-200 { color: #ffe082; }
.bg-amber-200 { background-color: #ffe082; }
.border-amber-200 { border-color: #ffe082; }
.fill-amber-200 { fill: #ffe082; }
.stroke-amber-200 { stroke: #ffe082; }
.color-amber-300 { color: #ffd54f; }
.bg-amber-300 { background-color: #ffd54f; }
.border-amber-300 { border-color: #ffd54f; }
.fill-amber-300 { fill: #ffd54f; }
.stroke-amber-300 { stroke: #ffd54f; }
.color-amber-400 { color: #ffca28; }
.bg-amber-400 { background-color: #ffca28; }
.border-amber-400 { border-color: #ffca28; }
.fill-amber-400 { fill: #ffca28; }
.stroke-amber-400 { stroke: #ffca28; }
.color-amber-500 { color: #ffc107; }
.bg-amber-500 { background-color: #ffc107; }
.border-amber-500 { border-color: #ffc107; }
.fill-amber-500 { fill: #ffc107; }
.stroke-amber-500 { stroke: #ffc107; }
.color-amber-600 { color: #ffb300; }
.bg-amber-600 { background-color: #ffb300; }
.border-amber-600 { border-color: #ffb300; }
.fill-amber-600 { fill: #ffb300; }
.stroke-amber-600 { stroke: #ffb300; }
.color-amber-700 { color: #ffa000; }
.bg-amber-700 { background-color: #ffa000; }
.border-amber-700 { border-color: #ffa000; }
.fill-amber-700 { fill: #ffa000; }
.stroke-amber-700 { stroke: #ffa000; }
.color-amber-800 { color: #ff8f00; }
.bg-amber-800 { background-color: #ff8f00; }
.border-amber-800 { border-color: #ff8f00; }
.fill-amber-800 { fill: #ff8f00; }
.stroke-amber-800 { stroke: #ff8f00; }
.color-amber-900 { color: #ff6f00; }
.bg-amber-900 { background-color: #ff6f00; }
.border-amber-900 { border-color: #ff6f00; }
.fill-amber-900 { fill: #ff6f00; }
.stroke-amber-900 { stroke: #ff6f00; }
.color-amber-a100 { color: #ffe57f; }
.bg-amber-a100 { background-color: #ffe57f; }
.border-amber-a100 { border-color: #ffe57f; }
.fill-amber-a100 { fill: #ffe57f; }
.stroke-amber-a100 { stroke: #ffe57f; }
.color-amber-a200 { color: #ffd740; }
.bg-amber-a200 { background-color: #ffd740; }
.border-amber-a200 { border-color: #ffd740; }
.fill-amber-a200 { fill: #ffd740; }
.stroke-amber-a200 { stroke: #ffd740; }
.color-amber-a400 { color: #ffc400; }
.bg-amber-a400 { background-color: #ffc400; }
.border-amber-a400 { border-color: #ffc400; }
.fill-amber-a400 { fill: #ffc400; }
.stroke-amber-a400 { stroke: #ffc400; }
.color-amber-a700 { color: #ffab00; }
.bg-amber-a700 { background-color: #ffab00; }
.border-amber-a700 { border-color: #ffab00; }
.fill-amber-a700 { fill: #ffab00; }
.stroke-amber-a700 { stroke: #ffab00; }


.color-orange-50 { color: #fff3e0; }
.bg-orange-50 { background-color: #fff3e0; }
.border-orange-50 { border-color: #fff3e0; }
.fill-orange-50 { fill: #fff3e0; }
.stroke-orange-50 { stroke: #fff3e0; }
.color-orange-100 { color: #ffe0b2; }
.bg-orange-100 { background-color: #ffe0b2; }
.border-orange-100 { border-color: #ffe0b2; }
.fill-orange-100 { fill: #ffe0b2; }
.stroke-orange-100 { stroke: #ffe0b2; }
.color-orange-200 { color: #ffcc80; }
.bg-orange-200 { background-color: #ffcc80; }
.border-orange-200 { border-color: #ffcc80; }
.fill-orange-200 { fill: #ffcc80; }
.stroke-orange-200 { stroke: #ffcc80; }
.color-orange-300 { color: #ffb74d; }
.bg-orange-300 { background-color: #ffb74d; }
.border-orange-300 { border-color: #ffb74d; }
.fill-orange-300 { fill: #ffb74d; }
.stroke-orange-300 { stroke: #ffb74d; }
.color-orange-400 { color: #ffa726; }
.bg-orange-400 { background-color: #ffa726; }
.border-orange-400 { border-color: #ffa726; }
.fill-orange-400 { fill: #ffa726; }
.stroke-orange-400 { stroke: #ffa726; }
.color-orange-500 { color: #ff9800; }
.bg-orange-500 { background-color: #ff9800; }
.border-orange-500 { border-color: #ff9800; }
.fill-orange-500 { fill: #ff9800; }
.stroke-orange-500 { stroke: #ff9800; }
.color-orange-600 { color: #fb8c00; }
.bg-orange-600 { background-color: #fb8c00; }
.border-orange-600 { border-color: #fb8c00; }
.fill-orange-600 { fill: #fb8c00; }
.stroke-orange-600 { stroke: #fb8c00; }
.color-orange-700 { color: #f57c00; }
.bg-orange-700 { background-color: #f57c00; }
.border-orange-700 { border-color: #f57c00; }
.fill-orange-700 { fill: #f57c00; }
.stroke-orange-700 { stroke: #f57c00; }
.color-orange-800 { color: #ef6c00; }
.bg-orange-800 { background-color: #ef6c00; }
.border-orange-800 { border-color: #ef6c00; }
.fill-orange-800 { fill: #ef6c00; }
.stroke-orange-800 { stroke: #ef6c00; }
.color-orange-900 { color: #e65100; }
.bg-orange-900 { background-color: #e65100; }
.border-orange-900 { border-color: #e65100; }
.fill-orange-900 { fill: #e65100; }
.stroke-orange-900 { stroke: #e65100; }
.color-orange-a100 { color: #ffd180; }
.bg-orange-a100 { background-color: #ffd180; }
.border-orange-a100 { border-color: #ffd180; }
.fill-orange-a100 { fill: #ffd180; }
.stroke-orange-a100 { stroke: #ffd180; }
.color-orange-a200 { color: #ffab40; }
.bg-orange-a200 { background-color: #ffab40; }
.border-orange-a200 { border-color: #ffab40; }
.fill-orange-a200 { fill: #ffab40; }
.stroke-orange-a200 { stroke: #ffab40; }
.color-orange-a400 { color: #ff9100; }
.bg-orange-a400 { background-color: #ff9100; }
.border-orange-a400 { border-color: #ff9100; }
.fill-orange-a400 { fill: #ff9100; }
.stroke-orange-a400 { stroke: #ff9100; }
.color-orange-a700 { color: #ff6d00; }
.bg-orange-a700 { background-color: #ff6d00; }
.border-orange-a700 { border-color: #ff6d00; }
.fill-orange-a700 { fill: #ff6d00; }
.stroke-orange-a700 { stroke: #ff6d00; }


.color-deep-orange-50 { color: #fbe9e7; }
.bg-deep-orange-50 { background-color: #fbe9e7; }
.border-deep-orange-50 { border-color: #fbe9e7; }
.fill-deep-orange-50 { fill: #fbe9e7; }
.stroke-deep-orange-50 { stroke: #fbe9e7; }
.color-deep-orange-100 { color: #ffccbc; }
.bg-deep-orange-100 { background-color: #ffccbc; }
.border-deep-orange-100 { border-color: #ffccbc; }
.fill-deep-orange-100 { fill: #ffccbc; }
.stroke-deep-orange-100 { stroke: #ffccbc; }
.color-deep-orange-200 { color: #ffab91; }
.bg-deep-orange-200 { background-color: #ffab91; }
.border-deep-orange-200 { border-color: #ffab91; }
.fill-deep-orange-200 { fill: #ffab91; }
.stroke-deep-orange-200 { stroke: #ffab91; }
.color-deep-orange-300 { color: #ff8a65; }
.bg-deep-orange-300 { background-color: #ff8a65; }
.border-deep-orange-300 { border-color: #ff8a65; }
.fill-deep-orange-300 { fill: #ff8a65; }
.stroke-deep-orange-300 { stroke: #ff8a65; }
.color-deep-orange-400 { color: #ff7043; }
.bg-deep-orange-400 { background-color: #ff7043; }
.border-deep-orange-400 { border-color: #ff7043; }
.fill-deep-orange-400 { fill: #ff7043; }
.stroke-deep-orange-400 { stroke: #ff7043; }
.color-deep-orange-500 { color: #ff5722; }
.bg-deep-orange-500 { background-color: #ff5722; }
.border-deep-orange-500 { border-color: #ff5722; }
.fill-deep-orange-500 { fill: #ff5722; }
.stroke-deep-orange-500 { stroke: #ff5722; }
.color-deep-orange-600 { color: #f4511e; }
.bg-deep-orange-600 { background-color: #f4511e; }
.border-deep-orange-600 { border-color: #f4511e; }
.fill-deep-orange-600 { fill: #f4511e; }
.stroke-deep-orange-600 { stroke: #f4511e; }
.color-deep-orange-700 { color: #e64a19; }
.bg-deep-orange-700 { background-color: #e64a19; }
.border-deep-orange-700 { border-color: #e64a19; }
.fill-deep-orange-700 { fill: #e64a19; }
.stroke-deep-orange-700 { stroke: #e64a19; }
.color-deep-orange-800 { color: #d84315; }
.bg-deep-orange-800 { background-color: #d84315; }
.border-deep-orange-800 { border-color: #d84315; }
.fill-deep-orange-800 { fill: #d84315; }
.stroke-deep-orange-800 { stroke: #d84315; }
.color-deep-orange-900 { color: #bf360c; }
.bg-deep-orange-900 { background-color: #bf360c; }
.border-deep-orange-900 { border-color: #bf360c; }
.fill-deep-orange-900 { fill: #bf360c; }
.stroke-deep-orange-900 { stroke: #bf360c; }
.color-deep-orange-a100 { color: #ff9e80; }
.bg-deep-orange-a100 { background-color: #ff9e80; }
.border-deep-orange-a100 { border-color: #ff9e80; }
.fill-deep-orange-a100 { fill: #ff9e80; }
.stroke-deep-orange-a100 { stroke: #ff9e80; }
.color-deep-orange-a200 { color: #ff6e40; }
.bg-deep-orange-a200 { background-color: #ff6e40; }
.border-deep-orange-a200 { border-color: #ff6e40; }
.fill-deep-orange-a200 { fill: #ff6e40; }
.stroke-deep-orange-a200 { stroke: #ff6e40; }
.color-deep-orange-a400 { color: #ff3d00; }
.bg-deep-orange-a400 { background-color: #ff3d00; }
.border-deep-orange-a400 { border-color: #ff3d00; }
.fill-deep-orange-a400 { fill: #ff3d00; }
.stroke-deep-orange-a400 { stroke: #ff3d00; }
.color-deep-orange-a700 { color: #dd2c00; }
.bg-deep-orange-a700 { background-color: #dd2c00; }
.border-deep-orange-a700 { border-color: #dd2c00; }
.fill-deep-orange-a700 { fill: #dd2c00; }
.stroke-deep-orange-a700 { stroke: #dd2c00; }


.color-brown-50 { color: #efebe9; }
.bg-brown-50 { background-color: #efebe9; }
.border-brown-50 { border-color: #efebe9; }
.fill-brown-50 { fill: #efebe9; }
.stroke-brown-50 { stroke: #efebe9; }
.color-brown-100 { color: #d7ccc8; }
.bg-brown-100 { background-color: #d7ccc8; }
.border-brown-100 { border-color: #d7ccc8; }
.fill-brown-100 { fill: #d7ccc8; }
.stroke-brown-100 { stroke: #d7ccc8; }
.color-brown-200 { color: #bcaaa4; }
.bg-brown-200 { background-color: #bcaaa4; }
.border-brown-200 { border-color: #bcaaa4; }
.fill-brown-200 { fill: #bcaaa4; }
.stroke-brown-200 { stroke: #bcaaa4; }
.color-brown-300 { color: #a1887f; }
.bg-brown-300 { background-color: #a1887f; }
.border-brown-300 { border-color: #a1887f; }
.fill-brown-300 { fill: #a1887f; }
.stroke-brown-300 { stroke: #a1887f; }
.color-brown-400 { color: #8d6e63; }
.bg-brown-400 { background-color: #8d6e63; }
.border-brown-400 { border-color: #8d6e63; }
.fill-brown-400 { fill: #8d6e63; }
.stroke-brown-400 { stroke: #8d6e63; }
.color-brown-500 { color: #795548; }
.bg-brown-500 { background-color: #795548; }
.border-brown-500 { border-color: #795548; }
.fill-brown-500 { fill: #795548; }
.stroke-brown-500 { stroke: #795548; }
.color-brown-600 { color: #6d4c41; }
.bg-brown-600 { background-color: #6d4c41; }
.border-brown-600 { border-color: #6d4c41; }
.fill-brown-600 { fill: #6d4c41; }
.stroke-brown-600 { stroke: #6d4c41; }
.color-brown-700 { color: #5d4037; }
.bg-brown-700 { background-color: #5d4037; }
.border-brown-700 { border-color: #5d4037; }
.fill-brown-700 { fill: #5d4037; }
.stroke-brown-700 { stroke: #5d4037; }
.color-brown-800 { color: #4e342e; }
.bg-brown-800 { background-color: #4e342e; }
.border-brown-800 { border-color: #4e342e; }
.fill-brown-800 { fill: #4e342e; }
.stroke-brown-800 { stroke: #4e342e; }
.color-brown-900 { color: #3e2723; }
.bg-brown-900 { background-color: #3e2723; }
.border-brown-900 { border-color: #3e2723; }
.fill-brown-900 { fill: #3e2723; }
.stroke-brown-900 { stroke: #3e2723; }


.color-grey-50 { color: #fafafa; }
.bg-grey-50 { background-color: #fafafa; }
.border-grey-50 { border-color: #fafafa; }
.fill-grey-50 { fill: #fafafa; }
.stroke-grey-50 { stroke: #fafafa; }
.color-grey-100 { color: #f5f5f5; }
.bg-grey-100 { background-color: #f5f5f5; }
.border-grey-100 { border-color: #f5f5f5; }
.fill-grey-100 { fill: #f5f5f5; }
.stroke-grey-100 { stroke: #f5f5f5; }
.color-grey-200 { color: #eeeeee; }
.bg-grey-200 { background-color: #eeeeee; }
.border-grey-200 { border-color: #eeeeee; }
.fill-grey-200 { fill: #eeeeee; }
.stroke-grey-200 { stroke: #eeeeee; }
.color-grey-300 { color: #e0e0e0; }
.bg-grey-300 { background-color: #e0e0e0; }
.border-grey-300 { border-color: #e0e0e0; }
.fill-grey-300 { fill: #e0e0e0; }
.stroke-grey-300 { stroke: #e0e0e0; }
.color-grey-400 { color: #bdbdbd; }
.bg-grey-400 { background-color: #bdbdbd; }
.border-grey-400 { border-color: #bdbdbd; }
.fill-grey-400 { fill: #bdbdbd; }
.stroke-grey-400 { stroke: #bdbdbd; }
.color-grey-500 { color: #9e9e9e; }
.bg-grey-500 { background-color: #9e9e9e; }
.border-grey-500 { border-color: #9e9e9e; }
.fill-grey-500 { fill: #9e9e9e; }
.stroke-grey-500 { stroke: #9e9e9e; }
.color-grey-600 { color: #757575; }
.bg-grey-600 { background-color: #757575; }
.border-grey-600 { border-color: #757575; }
.fill-grey-600 { fill: #757575; }
.stroke-grey-600 { stroke: #757575; }
.color-grey-700 { color: #616161; }
.bg-grey-700 { background-color: #616161; }
.border-grey-700 { border-color: #616161; }
.fill-grey-700 { fill: #616161; }
.stroke-grey-700 { stroke: #616161; }
.color-grey-800 { color: #424242; }
.bg-grey-800 { background-color: #424242; }
.border-grey-800 { border-color: #424242; }
.fill-grey-800 { fill: #424242; }
.stroke-grey-800 { stroke: #424242; }
.color-grey-900 { color: #212121; }
.bg-grey-900 { background-color: #212121; }
.border-grey-900 { border-color: #212121; }
.fill-grey-900 { fill: #212121; }
.stroke-grey-900 { stroke: #212121; }


.color-blue-grey-50 { color: #eceff1; }
.bg-blue-grey-50 { background-color: #eceff1; }
.border-blue-grey-50 { border-color: #eceff1; }
.fill-blue-grey-50 { fill: #eceff1; }
.stroke-blue-grey-50 { stroke: #eceff1; }
.color-blue-grey-100 { color: #cfd8dc; }
.bg-blue-grey-100 { background-color: #cfd8dc; }
.border-blue-grey-100 { border-color: #cfd8dc; }
.fill-blue-grey-100 { fill: #cfd8dc; }
.stroke-blue-grey-100 { stroke: #cfd8dc; }
.color-blue-grey-200 { color: #b0bec5; }
.bg-blue-grey-200 { background-color: #b0bec5; }
.border-blue-grey-200 { border-color: #b0bec5; }
.fill-blue-grey-200 { fill: #b0bec5; }
.stroke-blue-grey-200 { stroke: #b0bec5; }
.color-blue-grey-300 { color: #90a4ae; }
.bg-blue-grey-300 { background-color: #90a4ae; }
.border-blue-grey-300 { border-color: #90a4ae; }
.fill-blue-grey-300 { fill: #90a4ae; }
.stroke-blue-grey-300 { stroke: #90a4ae; }
.color-blue-grey-400 { color: #78909c; }
.bg-blue-grey-400 { background-color: #78909c; }
.border-blue-grey-400 { border-color: #78909c; }
.fill-blue-grey-400 { fill: #78909c; }
.stroke-blue-grey-400 { stroke: #78909c; }
.color-blue-grey-500 { color: #607d8b; }
.bg-blue-grey-500 { background-color: #607d8b; }
.border-blue-grey-500 { border-color: #607d8b; }
.fill-blue-grey-500 { fill: #607d8b; }
.stroke-blue-grey-500 { stroke: #607d8b; }
.color-blue-grey-600 { color: #546e7a; }
.bg-blue-grey-600 { background-color: #546e7a; }
.border-blue-grey-600 { border-color: #546e7a; }
.fill-blue-grey-600 { fill: #546e7a; }
.stroke-blue-grey-600 { stroke: #546e7a; }
.color-blue-grey-700 { color: #455a64; }
.bg-blue-grey-700 { background-color: #455a64; }
.border-blue-grey-700 { border-color: #455a64; }
.fill-blue-grey-700 { fill: #455a64; }
.stroke-blue-grey-700 { stroke: #455a64; }
.color-blue-grey-800 { color: #37474f; }
.bg-blue-grey-800 { background-color: #37474f; }
.border-blue-grey-800 { border-color: #37474f; }
.fill-blue-grey-800 { fill: #37474f; }
.stroke-blue-grey-800 { stroke: #37474f; }
.color-blue-grey-900 { color: #263238; }
.bg-blue-grey-900 { background-color: #263238; }
.border-blue-grey-900 { border-color: #263238; }
.fill-blue-grey-900 { fill: #263238; }
.stroke-blue-grey-900 { stroke: #263238; }


.color-dark-text-primary { color: rgba(0, 0, 0, 0.87); }
.bg-dark-text-primary { background-color: rgba(0, 0, 0, 0.87); }
.border-dark-text-primary { border-color: rgba(0, 0, 0, 0.87); }
.fill-dark-text-primary { fill: rgba(0, 0, 0, 0.87); }
.stroke-dark-text-primary { stroke: rgba(0, 0, 0, 0.87); }
.color-dark-text-secondary { color: rgba(0, 0, 0, 0.54); }
.bg-dark-text-secondary { background-color: rgba(0, 0, 0, 0.54); }
.border-dark-text-secondary { border-color: rgba(0, 0, 0, 0.54); }
.fill-dark-text-secondary { fill: rgba(0, 0, 0, 0.54); }
.stroke-dark-text-secondary { stroke: rgba(0, 0, 0, 0.54); }
.color-dark-text-disabled { color: rgba(0, 0, 0, 0.38); }
.bg-dark-text-disabled { background-color: rgba(0, 0, 0, 0.38); }
.border-dark-text-disabled { border-color: rgba(0, 0, 0, 0.38); }
.fill-dark-text-disabled { fill: rgba(0, 0, 0, 0.38); }
.stroke-dark-text-disabled { stroke: rgba(0, 0, 0, 0.38); }
.color-dark-text-dividers { color: rgba(0, 0, 0, 0.12); }
.bg-dark-text-dividers { background-color: rgba(0, 0, 0, 0.12); }
.border-dark-text-dividers { border-color: rgba(0, 0, 0, 0.12); }
.fill-dark-text-dividers { fill: rgba(0, 0, 0, 0.12); }
.stroke-dark-text-dividers { stroke: rgba(0, 0, 0, 0.12); }


.color-light-text-primary { color: rgba(255, 255, 255, 1); }
.bg-light-text-primary { background-color: rgba(255, 255, 255, 1); }
.border-light-text-primary { border-color: rgba(255, 255, 255, 1); }
.fill-light-text-primary { fill: rgba(255, 255, 255, 1); }
.stroke-light-text-primary { stroke: rgba(255, 255, 255, 1); }
.color-light-text-secondary { color: rgba(255, 255, 255, 0.7); }
.bg-light-text-secondary { background-color: rgba(255, 255, 255, 0.7); }
.border-light-text-secondary { border-color: rgba(255, 255, 255, 0.7); }
.fill-light-text-secondary { fill: rgba(255, 255, 255, 0.7); }
.stroke-light-text-secondary { stroke: rgba(255, 255, 255, 0.7); }
.color-light-text-disabled { color: rgba(255, 255, 255, 0.5); }
.bg-light-text-disabled { background-color: rgba(255, 255, 255, 0.5); }
.border-light-text-disabled { border-color: rgba(255, 255, 255, 0.5); }
.fill-light-text-disabled { fill: rgba(255, 255, 255, 0.5); }
.stroke-light-text-disabled { stroke: rgba(255, 255, 255, 0.5); }
.color-light-text-dividers { color: rgba(255, 255, 255, 0.12); }
.bg-light-text-dividers { background-color: rgba(255, 255, 255, 0.12); }
.border-light-text-dividers { border-color: rgba(255, 255, 255, 0.12); }
.fill-light-text-dividers { fill: rgba(255, 255, 255, 0.12); }
.stroke-light-text-dividers { stroke: rgba(255, 255, 255, 0.12); }


.color-dark-icons-active { color: rgba(0, 0, 0, 0.54); }
.bg-dark-icons-active { background-color: rgba(0, 0, 0, 0.54); }
.border-dark-icons-active { border-color: rgba(0, 0, 0, 0.54); }
.fill-dark-icons-active { fill: rgba(0, 0, 0, 0.54); }
.stroke-dark-icons-active { stroke: rgba(0, 0, 0, 0.54); }
.color-dark-icons-inactive { color: rgba(0, 0, 0, 0.38); }
.bg-dark-icons-inactive { background-color: rgba(0, 0, 0, 0.38); }
.border-dark-icons-inactive { border-color: rgba(0, 0, 0, 0.38); }
.fill-dark-icons-inactive { fill: rgba(0, 0, 0, 0.38); }
.stroke-dark-icons-inactive { stroke: rgba(0, 0, 0, 0.38); }


.color-light-icons-active { color: rgba(255, 255, 255, 1); }
.bg-light-icons-active { background-color: rgba(255, 255, 255, 1); }
.border-light-icons-active { border-color: rgba(255, 255, 255, 1); }
.fill-light-icons-active { fill: rgba(255, 255, 255, 1); }
.stroke-light-icons-active { stroke: rgba(255, 255, 255, 1); }
.color-light-icons-inactive { color: rgba(255, 255, 255, 0.5); }
.bg-light-icons-inactive { background-color: rgba(255, 255, 255, 0.5); }
.border-light-icons-inactive { border-color: rgba(255, 255, 255, 0.5); }
.fill-light-icons-inactive { fill: rgba(255, 255, 255, 0.5); }
.stroke-light-icons-inactive { stroke: rgba(255, 255, 255, 0.5); }


.color-white { color: #ffffff; }
.bg-white { background-color: #ffffff; }
.border-white { border-color: #ffffff; }
.fill-white { fill: #ffffff; }
.stroke-white { stroke: #ffffff; }


.color-black { color: #000000; }
.bg-black { background-color: #000000; }
.border-black { border-color: #000000; }
.fill-black { fill: #000000; }
.stroke-black { stroke: #000000; }




/* ---- app.scss.css ---- */
@charset "UTF-8";
@import url("//fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,700");
/**
 * Bootstrap Reset
 */
*:focus {
  outline: 0 !important; }

a, .btn-link {
  outline: none !important;
  color: #2E5ABD;
  -webkit-transition: color 0.2s ease;
  -o-transition: color 0.2s ease;
  transition: color 0.2s ease; }
  a:focus, a:hover, .btn-link:focus, .btn-link:hover {
    color: #284ea4;
    cursor: pointer; }
  a.text-muted:hover, a.text-muted:focus, .btn-link.text-muted:hover, .btn-link.text-muted:focus {
    color: #898888; }

.text-muted {
  color: #a2a2a2; }

hr {
  border-top: 1px solid rgba(162, 162, 162, 0.36); }

code {
  margin-left: 1px;
  margin-right: 1px;
  -webkit-font-smoothing: auto;
  padding: 0.125em 0.35em;
  border-radius: 2px;
  font-size: 1.4rem;
  background: rgba(0, 0, 0, 0.045);
  color: #106CC8; }

pre {
  background-color: rgba(162, 162, 162, 0.12);
  border-color: rgba(162, 162, 162, 0.26);
  color: inherit; }

.img-thumbnail {
  border-radius: 1px;
  border: 0;
  -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014); }

.page-header {
  border-bottom-color: rgba(162, 162, 162, 0.6); }

.breadcrumb {
  font-weight: normal;
  border-radius: 0;
  color: #a2a2a2;
  padding: 20px 20px;
  background-color: #fff;
  border-bottom: 1px solid rgba(162, 162, 162, 0.16); }

.btn {
  outline: none !important;
  border-radius: 2px;
  -webkit-transition-property: "background-color, color, box-shadow";
  transition-property: "background-color, color, box-shadow";
  -webkit-transition-duration: ".1s, .2s, .2s";
  transition-duration: ".1s, .2s, .2s";
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out; }
  .btn:active, .btn.active {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }

.btn-default {
  color: #6C7177;
  background-color: #fff;
  border-color: #ECEFF1; }
  .btn-default:focus, .btn-default.focus {
    color: #6C7177;
    background-color: whitesmoke;
    border-color: #e0e5e8; }
  .btn-default:hover {
    color: #6C7177;
    background-color: whitesmoke;
    border-color: #e0e5e8; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    color: #6C7177;
    background-color: #ebebeb;
    border-color: #e9edef; }
    .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,
    .open > .btn-default.dropdown-toggle:hover,
    .open > .btn-default.dropdown-toggle:focus,
    .open > .btn-default.dropdown-toggle.focus {
      color: #6C7177;
      background-color: #ebebeb;
      border-color: #e9edef; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,
  fieldset[disabled] .btn-default:hover,
  fieldset[disabled] .btn-default:focus,
  fieldset[disabled] .btn-default.focus {
    background-color: #fff;
    border-color: #ECEFF1; }
  .btn-default .badge {
    color: #fff;
    background-color: #6C7177; }

.btn-primary {
  color: #fff;
  background-color: #2E5ABD;
  border-color: #2E5ABD; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #2a52ad;
    border-color: #2a52ad; }
  .btn-primary:hover {
    color: #fff;
    background-color: #2a52ad;
    border-color: #2a52ad; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #264a9c;
    border-color: #2d58b9; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #264a9c;
      border-color: #2d58b9; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    background-image: none; }
  .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
  fieldset[disabled] .btn-primary:hover,
  fieldset[disabled] .btn-primary:focus,
  fieldset[disabled] .btn-primary.focus {
    background-color: #2E5ABD;
    border-color: #2E5ABD; }
  .btn-primary .badge {
    color: #2E5ABD;
    background-color: #fff; }

.btn-success {
  color: #fff;
  background-color: #BDD52E;
  border-color: #BDD52E; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #b0c728;
    border-color: #b0c728; }
  .btn-success:hover {
    color: #fff;
    background-color: #b0c728;
    border-color: #b0c728; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #a1b625;
    border-color: #bbd32a; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #a1b625;
      border-color: #bbd32a; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,
  fieldset[disabled] .btn-success:hover,
  fieldset[disabled] .btn-success:focus,
  fieldset[disabled] .btn-success.focus {
    background-color: #BDD52E;
    border-color: #BDD52E; }
  .btn-success .badge {
    color: #BDD52E;
    background-color: #fff; }

.btn-info {
  color: #fff;
  background-color: #2E9AB2;
  border-color: #2E9AB2; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #2a8ca2;
    border-color: #2a8ca2; }
  .btn-info:hover {
    color: #fff;
    background-color: #2a8ca2;
    border-color: #2a8ca2; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #267e92;
    border-color: #2d96ae; }
    .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
    .open > .btn-info.dropdown-toggle:hover,
    .open > .btn-info.dropdown-toggle:focus,
    .open > .btn-info.dropdown-toggle.focus {
      color: #fff;
      background-color: #267e92;
      border-color: #2d96ae; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,
  fieldset[disabled] .btn-info:hover,
  fieldset[disabled] .btn-info:focus,
  fieldset[disabled] .btn-info.focus {
    background-color: #2E9AB2;
    border-color: #2E9AB2; }
  .btn-info .badge {
    color: #2E9AB2;
    background-color: #fff; }

.btn-warning {
  color: #fff;
  background-color: #f59504;
  border-color: #f59504; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #e18904;
    border-color: #e18904; }
  .btn-warning:hover {
    color: #fff;
    background-color: #e18904;
    border-color: #e18904; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #cd7d03;
    border-color: #f09204; }
    .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
    .open > .btn-warning.dropdown-toggle:hover,
    .open > .btn-warning.dropdown-toggle:focus,
    .open > .btn-warning.dropdown-toggle.focus {
      color: #fff;
      background-color: #cd7d03;
      border-color: #f09204; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,
  fieldset[disabled] .btn-warning:hover,
  fieldset[disabled] .btn-warning:focus,
  fieldset[disabled] .btn-warning.focus {
    background-color: #f59504;
    border-color: #f59504; }
  .btn-warning .badge {
    color: #f59504;
    background-color: #fff; }

.btn-danger {
  color: #fff;
  background-color: #f04e44;
  border-color: #f04e44; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #ee3c31;
    border-color: #ee3c31; }
  .btn-danger:hover {
    color: #fff;
    background-color: #ee3c31;
    border-color: #ee3c31; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #ed2a1e;
    border-color: #f04a3f; }
    .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
    .open > .btn-danger.dropdown-toggle:hover,
    .open > .btn-danger.dropdown-toggle:focus,
    .open > .btn-danger.dropdown-toggle.focus {
      color: #fff;
      background-color: #ed2a1e;
      border-color: #f04a3f; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,
  fieldset[disabled] .btn-danger:hover,
  fieldset[disabled] .btn-danger:focus,
  fieldset[disabled] .btn-danger.focus {
    background-color: #f04e44;
    border-color: #f04e44; }
  .btn-danger .badge {
    color: #f04e44;
    background-color: #fff; }

.text-primary {
  color: #2E5ABD; }

.text-success {
  color: #BDD52E; }

.text-info {
  color: #2E9AB2; }

.text-warning {
  color: #f59504; }

.text-danger {
  color: #f04e44; }

.text-moreDanger {
  color: #795548; }

.pagination > li > a,
.pagination > li > span {
  color: inherit;
  background-color: rgba(240, 240, 240, 0.06);
  border-color: rgba(162, 162, 162, 0.16); }

.pagination > li > span {
  cursor: default; }
  .pagination > li > span:hover, .pagination > li > span:focus {
    background-color: transparent !important; }

.pagination > li > a:focus,
.pagination > li > a:hover {
  background-color: #2E5ABD;
  border-color: #2E5ABD;
  color: #fff; }

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover {
  background-color: #2E5ABD;
  border-color: #2E5ABD;
  color: #fff; }

.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  background-color: rgba(240, 240, 240, 0.06);
  border-color: rgba(162, 162, 162, 0.16); }

.pager > li > a,
.pager > li > span {
  color: inherit;
  background-color: rgba(240, 240, 240, 0.06);
  border-color: rgba(162, 162, 162, 0.36); }
  .pager > li > a:hover, .pager > li > a:focus,
  .pager > li > span:hover,
  .pager > li > span:focus {
    background-color: rgba(162, 162, 162, 0.16); }

.pager .disabled > a,
.pager .disabled > a:focus,
.pager .disabled > a:hover,
.pager .disabled > span {
  background-color: rgba(162, 162, 162, 0.16); }

.label-default {
  background-color: #2c2d36; }

.label-primary {
  background-color: #2E5ABD; }

.label-info {
  background-color: #2E9AB2; }

.label-success {
  background-color: #BDD52E; }

.label-warning {
  background-color: #f59504; }

.label-danger {
  background-color: #f04e44; }

.label-moreDanger {
  background-color: #795548; }

.label-inverse {
  background-color: #2c2d36; }

.label-brown-600 {
  background-color: #6D4C41; }

.label-lime-800 {
  background-color: #9E9D24; }

.label-blue-gray {
  background-color: #90A4AE; }

.alert-primary {
  background-color: #2E5ABD;
  border-color: #2E5ABD;
  color: #fff; }
  .alert-primary hr {
    border-top-color: #2950a8; }
  .alert-primary .alert-link {
    color: #e6e5e5; }
  .alert-primary a, .alert-primary .alert-link {
    color: rgba(255, 255, 255, 0.58); }

.alert-success {
  background-color: #BDD52E;
  border-color: #BDD52E;
  color: #fff; }
  .alert-success hr {
    border-top-color: #acc227; }
  .alert-success .alert-link {
    color: #e6e5e5; }
  .alert-success a, .alert-success .alert-link {
    color: rgba(255, 255, 255, 0.58); }

.alert-info {
  background-color: #2E9AB2;
  border-color: #2E9AB2;
  color: #fff; }
  .alert-info hr {
    border-top-color: #29889e; }
  .alert-info .alert-link {
    color: #e6e5e5; }
  .alert-info a, .alert-info .alert-link {
    color: rgba(255, 255, 255, 0.58); }

.alert-warning {
  background-color: #f59504;
  border-color: #f59504;
  color: #fff; }
  .alert-warning hr {
    border-top-color: #dc8604; }
  .alert-warning .alert-link {
    color: #e6e5e5; }
  .alert-warning a, .alert-warning .alert-link {
    color: rgba(255, 255, 255, 0.58); }

.alert-danger {
  background-color: #f04e44;
  border-color: #f04e44;
  color: #fff; }
  .alert-danger hr {
    border-top-color: #ee382c; }
  .alert-danger .alert-link {
    color: #e6e5e5; }
  .alert-danger a, .alert-danger .alert-link {
    color: rgba(255, 255, 255, 0.58); }

.alert-dismissable .close, .alert-dismissible .close {
  color: rgba(0, 0, 0, 0.75); }

.list-group .list-group-item {
  color: inherit;
  background-color: transparent;
  border-color: rgba(162, 162, 162, 0.12); }
  .list-group .list-group-item.active {
    color: #fff; }
  .list-group .list-group-item.disabled, .list-group .list-group-item.disabled:focus, .list-group .list-group-item.disabled:hover {
    background-color: rgba(162, 162, 162, 0.12);
    color: inherit; }
  .panel > .list-group .list-group-item {
    border-top: 0; }

a.list-group-item:focus,
a.list-group-item:hover,
button.list-group-item:focus,
button.list-group-item:hover {
  background-color: transparent;
  color: #2E5ABD; }

.list-group-item.active,
.list-group-item.active:focus,
.list-group-item.active:hover {
  background-color: #2E9AB2;
  border-color: #2E9AB2; }

.panel {
  border-radius: 3px;
  border: 1px solid rgba(162, 162, 162, 0.16); }
  .panel .panel-heading {
    font-weight: 500;
    padding: 16px 24px;
    border-bottom: 1px solid rgba(162, 162, 162, 0.16); }
  .panel .panel-footer {
    background-color: rgba(162, 162, 162, 0.1);
    border-color: rgba(162, 162, 162, 0.1); }

.panel-group .panel .panel-heading {
  padding: 12px 24px; }

.panel-group .panel .panel-title a {
  text-decoration: none; }

.panel-default {
  border-color: rgba(162, 162, 162, 0.26); }
  .panel-default > .panel-heading {
    color: #333;
    background-color: rgba(162, 162, 162, 0.075);
    border-color: rgba(162, 162, 162, 0.26); }
    .panel-default > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(162, 162, 162, 0.26); }
    .panel-default > .panel-heading .badge {
      color: rgba(162, 162, 162, 0.075);
      background-color: #333; }
  .panel-default > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(162, 162, 162, 0.26); }

.panel-primary {
  border-color: rgba(46, 90, 189, 0.15); }
  .panel-primary > .panel-heading {
    color: #fff;
    background-color: #2E5ABD;
    border-color: #2E5ABD; }
    .panel-primary > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(46, 90, 189, 0.15); }
    .panel-primary > .panel-heading .badge {
      color: #2E5ABD;
      background-color: #fff; }
  .panel-primary > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(46, 90, 189, 0.15); }

.panel-success {
  border-color: rgba(189, 213, 46, 0.15); }
  .panel-success > .panel-heading {
    color: #fff;
    background-color: #BDD52E;
    border-color: #BDD52E; }
    .panel-success > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(189, 213, 46, 0.15); }
    .panel-success > .panel-heading .badge {
      color: #BDD52E;
      background-color: #fff; }
  .panel-success > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(189, 213, 46, 0.15); }

.panel-info {
  border-color: rgba(46, 154, 178, 0.1); }
  .panel-info > .panel-heading {
    color: #fff;
    background-color: #2E9AB2;
    border-color: #2E9AB2; }
    .panel-info > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(46, 154, 178, 0.1); }
    .panel-info > .panel-heading .badge {
      color: #2E9AB2;
      background-color: #fff; }
  .panel-info > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(46, 154, 178, 0.1); }

.panel-warning {
  border-color: rgba(245, 149, 4, 0.1); }
  .panel-warning > .panel-heading {
    color: #fff;
    background-color: #f59504;
    border-color: #f59504; }
    .panel-warning > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(245, 149, 4, 0.1); }
    .panel-warning > .panel-heading .badge {
      color: #f59504;
      background-color: #fff; }
  .panel-warning > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(245, 149, 4, 0.1); }

.panel-danger {
  border-color: rgba(240, 78, 68, 0.1); }
  .panel-danger > .panel-heading {
    color: #fff;
    background-color: #f04e44;
    border-color: #f04e44; }
    .panel-danger > .panel-heading + .panel-collapse > .panel-body {
      border-top-color: rgba(240, 78, 68, 0.1); }
    .panel-danger > .panel-heading .badge {
      color: #f04e44;
      background-color: #fff; }
  .panel-danger > .panel-footer + .panel-collapse > .panel-body {
    border-bottom-color: rgba(240, 78, 68, 0.1); }

.well {
  border: 1px solid rgba(162, 162, 162, 0.16);
  background-color: #fff; }

.jumbotron {
  border: 1px solid rgba(162, 162, 162, 0.12);
  background-color: #fff; }
  .jumbotron p {
    font-weight: 300; }
  @media only screen and (min-width: 768px) {
    .jumbotron {
      padding: 30px 15px; } }

.nav-tabs {
  padding-bottom: 1px; }

.nav-tabs > li > a,
.nav-tabs.nav-justified > li > a {
  padding: 16px 24px;
  background-color: transparent;
  border-radius: 0;
  border: 0;
  color: inherit; }
  .nav-tabs > li > a:hover, .nav-tabs > li > a:focus,
  .nav-tabs.nav-justified > li > a:hover,
  .nav-tabs.nav-justified > li > a:focus {
    border-bottom-color: rgba(162, 162, 162, 0.36);
    background-color: transparent;
    color: inherit; }

.nav-tabs.nav-justified > li > a {
  margin-bottom: 2px;
  border-bottom-color: rgba(162, 162, 162, 0.16); }

.nav-tabs > li.active {
  color: #2E5ABD; }

.nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover,
.nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus {
  border: 0;
  border-bottom: 2px solid;
  color: inherit;
  background-color: transparent; }

.tab-content {
  padding: 10px 20px; }

.nav-pills > li.active > a, .nav-pills > li.active > a:focus, .nav-pills > li.active > a:hover {
  background-color: #2E5ABD; }

.nav-pills > li + li {
  margin-left: 5px; }

.nav > li > a:focus, .nav > li > a:hover {
  background-color: rgba(162, 162, 162, 0.12); }

.form-control {
  -webkit-box-shadow: 0 0 0 #000 !important;
  box-shadow: 0 0 0 #000 !important; }
  .form-control:focus {
    border-color: #aaa; }

@media only screen and (max-width: 1199px) {
  input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
    -webkit-appearance: none; } }

.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #BDD52E; }

.has-success .form-control {
  border-color: #BDD52E;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-success .form-control:focus {
    border-color: #99ad23;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d8e683;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d8e683; }

.has-success .input-group-addon {
  color: #BDD52E;
  border-color: #BDD52E;
  background-color: #BDD52E; }

.has-success .form-control-feedback {
  color: #BDD52E; }

.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #f59504; }

.has-warning .form-control {
  border-color: #f59504;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-warning .form-control:focus {
    border-color: #c37603;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fcbf63;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fcbf63; }

.has-warning .input-group-addon {
  color: #f59504;
  border-color: #f59504;
  background-color: #f59504; }

.has-warning .form-control-feedback {
  color: #f59504; }

.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #f04e44; }

.has-error .form-control {
  border-color: #f04e44;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .has-error .form-control:focus {
    border-color: #ec2115;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8a7a2;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f8a7a2; }

.has-error .input-group-addon {
  color: #f04e44;
  border-color: #f04e44;
  background-color: #f04e44; }

.has-error .form-control-feedback {
  color: #f04e44; }

.input-sm,
select.input-sm {
  height: 31px; }

legend {
  border-color: rgba(162, 162, 162, 0.25);
  color: inherit; }

fieldset {
  padding-bottom: 20px;
  border-bottom: 1px dashed rgba(162, 162, 162, 0.25);
  margin-bottom: 20px; }
  fieldset.last-child, fieldset:last-child {
    border-bottom: 0; }
  fieldset .form-group {
    margin-bottom: 0; }

@media only screen and (max-width: 991px) {
  input[type="text"], input[type="email"], input[type="search"], input[type="password"] {
    -webkit-appearance: none; } }

.table {
  font-weight: 400; }
  .table > thead > tr > th {
    border-bottom-width: 1px;
    border-color: rgba(162, 162, 162, 0.16);
    position: relative;
    vertical-align: bottom;
    text-overflow: ellipsis;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0;
    height: 48px;
    font-size: 12px;
    padding: 0 18px 0 18px !important;
    padding-bottom: 8px !important; }
  .table > tbody > tr > td {
    position: relative;
    vertical-align: middle;
    height: 48px !important;
    padding: 14px 18px;
    border-top: 1px solid rgba(0, 0, 0, 0.045); }
  .table > tbody + tbody {
    border-bottom-width: 1px; }

.table-hover > tbody > tr:hover {
  background-color: rgba(162, 162, 162, 0.06); }

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: rgba(162, 162, 162, 0.06); }

.table-bordered {
  border-color: rgba(162, 162, 162, 0.26); }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td {
    border-bottom-width: 1px; }
  .table-bordered > tbody > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tfoot > tr > td,
  .table-bordered > tfoot > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > thead > tr > th {
    border-color: rgba(162, 162, 162, 0.26); }

.table > thead > tr > td.active,
.table > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.table > tfoot > tr.active > th {
  background-color: #CFD8DC; }

.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #c0ccd1; }

.table > thead > tr > td.success,
.table > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.table > tfoot > tr.success > th {
  background-color: #BDD52E; }

.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #acc227; }

.table > thead > tr > td.info,
.table > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.table > tfoot > tr.info > th {
  background-color: #2E9AB2; }

.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #29889e; }

.table > thead > tr > td.warning,
.table > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.table > tfoot > tr.warning > th {
  background-color: #f59504; }

.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #dc8604; }

.table > thead > tr > td.danger,
.table > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f04e44; }

.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ee382c; }

tr.active, tr.success, tr.info, tr.warning, tr.danger {
  color: rgba(0, 0, 0, 0.67); }
  tr.active > td, tr.success > td, tr.info > td, tr.warning > td, tr.danger > td {
    border-top: 0 !important; }

.progress {
  -webkit-box-shadow: 0 0 0 #000;
  box-shadow: 0 0 0 #000;
  border-radius: 3px;
  border: 1px solid rgba(240, 240, 240, 0.1);
  background-color: rgba(162, 162, 162, 0.26); }
  .progress .progress-bar {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }
  .progress.progress-sm {
    height: 16px; }
  .progress.progress-xs {
    height: 8px;
    border-radius: 0;
    border: 0; }

.progress-bar {
  background-color: #2E5ABD; }

.progress-bar-info {
  background-color: #2E9AB2; }

.progress-bar-success {
  background-color: #BDD52E; }

.progress-bar-warning {
  background-color: #f59504; }

.progress-bar-danger {
  background-color: #f04e44; }

.popover {
  -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
  border-color: #ECEFF1;
  border-radius: 3px;
  color: #6C7177; }
  .popover .popover-title {
    line-height: 1; }

.carousel .carousel-indicators {
  bottom: 0; }

.carousel .carousel-control.left, .carousel .carousel-control.right {
  background-image: none; }

.carousel .carousel-control em {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px; }

.dropdown-menu {
  top: 80%;
  border: 1px solid #ECEFF1;
  border-radius: 1px;
  -webkit-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)";
  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)"; }
  .dropdown-menu > li > a {
    display: block;
    color: #263238; }
    .dropdown-menu > li > a:hover {
      background: #ECEFF1; }
  .dropdown-menu > li > a > em {
    margin-right: 10px; }

.dropdown-header {
  color: #a1a2a3; }

.navbar-default .navbar-nav .open .dropdown-menu > li > a {
  color: #666; }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #222; }

.navbar,
.navbar .dropdown-menu {
  filter: none !important; }

.badge {
  width: 20px;
  height: 20px;
  padding: 0;
  line-height: 20px;
  font-size: 12px;
  border-radius: 50%;
  color: #fff; }

.has-badge {
  position: relative; }
  .has-badge .badge {
    position: absolute;
    top: 18%;
    right: 4px; }

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot");
  src: url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.woff") format("woff"), url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../../../../node_modules/bootstrap/dist/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); }

/**
 * Layout Variants
 */
.sidebar-offcanvas .sidebar-container {
  top: 65px;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0); }
  .sidebar-offcanvas .sidebar-container .sidebar-header {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }

.sidebar-offcanvas .header-container {
  z-index: 30; }

.sidebar-offcanvas .main-container,
.sidebar-offcanvas .header-container {
  margin-left: 0; }

.sidebar-offcanvas.offcanvas-visible .sidebar-container {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.no-csstransforms3d .sidebar-offcanvas .sidebar-offcanvas .sidebar-container {
  margin-left: -280px; }

.no-csstransforms3d .sidebar-offcanvas .sidebar-offcanvas.offcanvas-visible .sidebar-container {
  margin-left: 0; }

.svg-background {
  background-image: url("img/animacaoSVG.svg");
  background-size: cover;
  height: 100%; }

/**
 * Main Layout
 */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important; }

[ng-click], [data-ng-click], .nav, .pagination, .carousel, .panel-title a {
  cursor: pointer; }

html, body {
  width: 100%;
  height: 100%;
  background-color: #f1f2f3;
  min-width: 320px;
  direction: ltr; }

body {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #6C7177; }

.layout-container {
  position: relative;
  width: 100%;
  height: 100%; }

.page-container, .page-container > div {
  width: 100%;
  height: 100%; }

.main-container {
  position: relative;
  height: calc(100% - 65px);
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
  @media only screen and (min-width: 992px) {
    .main-container {
      margin-left: 280px; } }
  .main-container > section {
    min-height: calc(100% - 60px); }

.content-heading {
  padding: 16px;
  box-shadow: 0 1px 0 rgba(20, 20, 20, 0.075);
  background: #ffffff; }

footer {
  left: 0;
  right: 0;
  bottom: 0;
  height: 60px;
  border-top: 1px solid rgba(160, 160, 160, 0.12);
  padding: 20px;
  z-index: 109; }

.container-full {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }
  .container-full > .row {
    margin: 0; }
    .container-full > .row > [class*="col-"]:first-child {
      padding-left: 0; }
    .container-full > .row > [class*="col-"]:last-child {
      padding-right: 0; }

.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xs {
  padding: 8px;
  width: auto; }
  @media only screen and (min-width: 480px) {
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xs {
      padding: 16px; } }
  @media only screen and (min-width: 992px) {
    .container-fluid,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xs {
      padding: 24px; } }

.container-lg {
  max-width: 1200px; }

.container-md {
  max-width: 992px; }

.container-sm {
  max-width: 768px; }

.container-xs {
  max-width: 480px; }

@media only screen and (max-width: 1199px) {
  .container-unwrap {
    padding: 0; }
    .container-unwrap > .row {
      margin: 0; }
      .container-unwrap > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0; }
    .container-unwrap .card {
      margin-bottom: 0; } }

.container-overlap {
  position: relative;
  padding: 32px 16px 64px 16px; }
  .container-overlap + .container-fluid,
  .container-overlap + .container-lg,
  .container-overlap + .container-md,
  .container-overlap + .container-sm,
  .container-overlap + .container-xs {
    padding-top: 0;
    margin-top: -32px; }
    .container-overlap + .container-fluid .push-down,
    .container-overlap + .container-lg .push-down,
    .container-overlap + .container-md .push-down,
    .container-overlap + .container-sm .push-down,
    .container-overlap + .container-xs .push-down {
      display: block;
      height: 48px; }
  .container-overlap:before {
    background-color: inherit;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1; }

.loading-message {
  color: #fff;
  font-size: 25px;
  font-weight: 300;
  font-family: sans-serif; }

.sk-spinner-rotating-plane.sk-spinner {
  background-color: #ffffff; }

.yourDiv {
  position: absolute;
  z-index: 999;
  opacity: 1;
  background-color: #141616;
  width: 100%;
  height: 100%; }

/* O TERCEIRO ecra de carregamento da aplicacao, a seguir ao splash de
     arranque (client/yb-splash.js) e ao loader de rota (loading.html).

     Era branco a 90% com uma animacao ambar (#ffb300) de 200px. Isso dava
     um salto de escuro para branco a meio do arranque -- o mesmo defeito
     que o loading.html ja' tinha corrigido -- e a cor nao e' da marca,
     como as cinco barras amarelas que o splash ja' substituiu.

     Agora e' o mesmo tom, o mesmo anel e a mesma tipografia dos outros
     dois. Le-se como o mesmo ecra a continuar, que e' o que de facto e'. */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1e2933;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; }

.overlay .loading-message {
  display: flex;
  flex-direction: column;
  align-items: center; }

.overlay .yb-ring {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.16);
  border-top-color: #bed62f;
  animation: ybspin .7s linear infinite; }

.overlay .yb-load-txt {
  margin-top: 16px;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  color: #7d8b99; }

@keyframes ybspin {
  to {
    transform: rotate(360deg); } }

.loading-message {
  padding: 20px; }

/**
 * Header
 */
.header-container {
  position: relative;
  background-color: #fff;
  z-index: 1; }
  @media only screen and (min-width: 992px) {
    .header-container {
      margin-left: 280px; } }
  .header-container > nav {
    min-height: 65px;
    line-height: 60px;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.14); }
    .header-container > nav:before, .header-container > nav:after {
      content: " ";
      display: table; }
    .header-container > nav:after {
      clear: both; }
    .header-container > nav > .header-title {
      display: none;
      position: relative;
      float: left;
      margin: 0;
      padding: 0 16px;
      font-size: 20px;
      line-height: inherit;
      letter-spacing: .02em;
      font-weight: 400; }
      @media (min-width: 340px) {
        .header-container > nav > .header-title {
          display: block; } }
      @media (max-width: 420px) {
        .header-container > nav > .header-title {
          max-width: 140px;
          white-space: nowrap;
          text-overflow: ellipsis;
          overflow: hidden; } }
    .header-container > nav > ul {
      float: left;
      list-style-type: none;
      margin: 0;
      padding: 0; }
      .header-container > nav > ul:before, .header-container > nav > ul:after {
        content: " ";
        display: table; }
      .header-container > nav > ul:after {
        clear: both; }
      .header-container > nav > ul > li {
        float: left; }
        .header-container > nav > ul > li > a {
          display: block;
          padding: 0 5px;
          text-decoration: none;
          color: inherit; }
          .header-container > nav > ul > li > a > em {
            font-size: 24px;
            vertical-align: -24%;
            line-height: 1; }
      .header-container > nav > ul > li > a:hover {
        background-color: rgba(0, 0, 0, 0.025); }

#offcanvas-toggler {
  display: none; }

.sidebar-offcanvas #offcanvas-toggler {
  display: block; }

.header-form-search {
  position: relative;
  margin: 0;
  overflow: hidden;
  -webkit-transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -o-transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition: width 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
  .header-form-search .btn,
  .header-form-search .form-control {
    margin: 0;
    border: 0;
    background-color: transparent;
    box-shadow: 0 0 0 #000; }
  .header-form-search .btn {
    padding-top: 0;
    padding-bottom: 0; }
  .header-form-search .form-control:focus + .focus-bottom-line {
    left: 40px;
    right: 40px;
    visibility: visible; }
  .header-form-search .focus-bottom-line {
    content: '';
    position: absolute;
    bottom: 0;
    left: 45%;
    right: 45%;
    height: 2px;
    visibility: hidden;
    background-color: rgba(120, 120, 120, 0.15);
    -webkit-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    -o-transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1); }

.bigFont {
  font-size: 25px; }

.availabilityColor {
  color: #3949AB; }

.clockClass {
  font-size: 16px; }

/* ---- Indicadores de estado da barra de topo -------------------------------
   O <ul> dos indicadores era `float: left` com `float: left` nos <li>. Com
   float não há forma de os obrigar a ficar numa linha: quando não cabem, caem
   para a linha seguinte e a barra cresce em altura — precisamente o que não
   pode acontecer no telemóvel. Flex com nowrap resolve, e o `min-width: 0`
   deixa o grupo encolher em vez de empurrar. */
.header-container > nav > ul.ds-hdrstat {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-width: 0; }
  .header-container > nav > ul.ds-hdrstat > li {
    float: none;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding: 0 6px; }

/* Os dois grupos — indicadores à esquerda, botões à direita — ocupam a altura
   inteira da barra e centram o conteúdo lá dentro. É o que os põe à mesma
   altura seja qual for o tamanho do ecrã.
   Sem isto, cada <ul> tinha a altura do que tinha dentro (21px os indicadores,
   36 os botões) e, sendo blocos flutuantes, encostavam ao TOPO da linha: em
   ecrã pequeno os indicadores ficavam colados à borda de cima e desalinhados
   dos botões. Uma folga fixa em cima resolvia num tamanho e falhava noutro;
   isto não depende do tamanho. */
.header-container > nav > ul.ds-hdrstat,
.header-container > nav > ul.ds-hdracts {
  min-height: 65px;
  align-items: center; }

/* Uma escala só. Havia três ao mesmo tempo: .bigFont a 25px, os <em> dos links
   a 24px e o relógio a 16px. */
.ds-hdrico {
  font-size: 21px;
  line-height: 1; }

/* O relógio deixou de ser uma etiqueta de fundo cheio. */
.header-container > nav > ul.ds-hdrstat > li.ds-hdrclock {
  padding-left: 10px; }
  .header-container > nav > ul.ds-hdrstat > li.ds-hdrclock .clockClass {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    opacity: .75;
    background: none;
    padding: 0;
    font-variant-numeric: tabular-nums; }

/* Contador de simulações novas: é o único que pisca, e por isso é o único que
   chama a atenção. Continua etiqueta, mas do tamanho dos vizinhos. */
.ds-hdrcount {
  /* inline-flex com line-height proprio, e nao inline-block: o <nav> tem
       line-height de 60px e um inline-block herda-o, ficando com a altura da
       LINHA do cabecalho em vez da do conteudo. Era isso que fazia a pastilha
       amarela esticar-se de cima a baixo da barra. */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 7px;
  font-size: 11.5px;
  font-weight: 700;
  background: #f0ad4e;
  color: #3a2a00; }

/* Em ecrã pequeno o relógio sai: o sistema já mostra as horas, e o espaço
   horizontal é o que decide se tudo cabe numa linha. Os restantes apertam. */
@media (max-width: 560px) {
  .header-container > nav > ul.ds-hdrstat > li.ds-hdrclock {
    display: none; }
  .header-container > nav > ul.ds-hdrstat > li {
    padding: 0 4px; }
  .ds-hdrico {
    font-size: 19px; } }

/* ---- Botões da barra de topo ---------------------------------------------
   As mensagens e a conta SÃO botões — abrem uma página e um menu. Os da
   esquerda são indicadores, que não se clicam. Tinham exactamente o mesmo
   aspecto: um símbolo solto sobre o fundo. Estes ganham caixa, contorno e
   reacção ao rato.

   As cores são cinzentos translúcidos e não brancos: o fundo do cabeçalho muda
   com o tema — azul, ardósia, verde, roxo, e branco nos temas 6 e 7 (ver
   theme-header em themes.scss). Um rgba(255,255,255,…) desapareceria nos temas
   claros, que é o defeito que já apanhámos noutros sítios. Um cinzento a baixa
   opacidade lê-se sobre os dois. */
.header-container > nav > ul.ds-hdracts {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  /* Folga em cima: o <nav> tem 65px de altura mínima e os botões 36 — sem
       isto ficavam encostados ao topo, porque o alinhamento do grupo é feito
       item a item e não contra a altura da barra. */
  padding: 12px 10px 0 0;
  /* display: flex nos <li> além do float: none. Sem isto o <li> continua a
       ser um bloco cuja altura vem do line-height de 60px do <nav>, e cada
       botão assenta na linha de base do seu <li> — o das mensagens e o da
       conta têm alturas diferentes (36 contra 40, por causa do anel de 2px do
       avatar) e por isso ficavam desencontrados na vertical. */ }
  .header-container > nav > ul.ds-hdracts > li {
    float: none;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    line-height: 1; }

.header-container > nav > ul > li > a.ds-hdrbtn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 10px;
  background: rgba(128, 128, 128, 0.16);
  border: 1px solid rgba(128, 128, 128, 0.3);
  transition: background .15s ease, border-color .15s ease; }
  .header-container > nav > ul > li > a.ds-hdrbtn > em {
    font-size: 19px;
    line-height: 1;
    vertical-align: 0;
    /* o -24% do tema desalinhava dentro da caixa */ }
  .header-container > nav > ul > li > a.ds-hdrbtn:hover, .header-container > nav > ul > li > a.ds-hdrbtn:focus {
    background: rgba(128, 128, 128, 0.3);
    border-color: rgba(128, 128, 128, 0.55); }
  .header-container > nav > ul > li > a.ds-hdrbtn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px; }

/* O menu aberto fica marcado, como qualquer botão de estado ligado. */
.header-container > nav > ul > li.dropdown.open > a.ds-hdrbtn {
  background: rgba(128, 128, 128, 0.34);
  border-color: rgba(128, 128, 128, 0.6); }

/* O contador de mensagens era um <sup> a empurrar a linha; passa a marca no
   canto da caixa, que é onde se espera. */
.header-container > nav > ul > li > a.ds-hdrbtn > .badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  padding: 2px 5px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.25; }

@media (max-width: 560px) {
  /* Um pouco mais pequenos, mas continuam caixas: é o que os distingue dos
       indicadores. Nunca mudam de linha — o <ul> é nowrap. */
  .header-container > nav > ul.ds-hdracts {
    gap: 6px;
    padding: 0 6px 0 0; }
  .header-container > nav > ul > li > a.ds-hdrbtn {
    width: 32px;
    height: 32px; }
  .header-container > nav > ul > li > a.ds-hdrbtn > em {
    font-size: 17px; } }

/* ---- Botão da conta com fotografia ---------------------------------------
   A fotografia estava no topo do menu lateral, 64px em todas as páginas, a
   dizer a quem olhava quem ele próprio é. Aqui faz dois trabalhos: identifica
   quem está autenticado — útil em máquina partilhada — e diz que aquele botão
   é "eu". */
.header-container > nav > ul > li > a.ds-hdrbtn--me {
  padding: 0;
  overflow: visible;
  /* O anel leva a cor do estado do servidor, que vem da classe .text-success
       / .text-warning / .text-danger posta pelo helper statusColor. Essa cor
       estava no ícone ion-person, que deixou de existir; sem o anel, o
       indicador de ligação perdia-se. currentColor é o que a liga. */
  border-color: currentColor;
  border-width: 2px;
  background: rgba(128, 128, 128, 0.16); }

.ds-hdrface {
  width: 100%;
  height: 100%;
  border-radius: 9px;
  object-fit: cover;
  display: block; }

/* Cabeçalho do menu da conta: nome, papel e empresa, vindos do menu lateral.
   Texto e não tooltip — seleccionável e copiável. */
.ds-hdrme {
  padding: 10px 16px 8px;
  line-height: 1.35;
  cursor: default; }

.ds-hdrme-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #6C7177;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.ds-hdrme-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
  font-size: 11.5px;
  color: #bbbec1; }
  .ds-hdrme-meta > strong {
    font-weight: 700; }
  .ds-hdrme-meta > span {
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(128, 128, 128, 0.18);
    font-weight: 600; }

/**
 * Header menu links (animated hamburguer toggles)
 */
.header-container > nav > ul > li > .menu-link {
  height: 65px;
  padding-top: 25px; }

.menu-link-close {
  display: block;
  position: relative; }
  .menu-link-close span {
    position: relative;
    display: block; }
  .menu-link-close span,
  .menu-link-close span:before,
  .menu-link-close span:after {
    width: 18px;
    height: 0;
    border-bottom: 2px solid;
    will-change: transform;
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    -o-transition: -o-transform 0.4s;
    transition: transform 0.4s; }
  .menu-link-close span {
    -webkit-transition: border-color 0.4s;
    -o-transition: border-color 0.4s;
    transition: border-color 0.4s; }
  .menu-link-close span:before,
  .menu-link-close span:after {
    content: " ";
    position: absolute; }
  .menu-link-close span:before {
    top: 6px; }
  .menu-link-close span:after {
    top: 12px; }

.active .menu-link-close span {
  border-color: transparent; }

.active .menu-link-close span:before {
  -webkit-transform: rotate(45deg) translate(1px, 0px);
  -moz-transform: rotate(45deg) translate(1px, 0px);
  -ms-transform: rotate(45deg) translate(1px, 0px);
  -o-transform: rotate(45deg) translate(1px, 0px);
  transform: rotate(45deg) translate(1px, 0px); }

.active .menu-link-close span:after {
  -webkit-transform: rotate(-45deg) translate(4px, -3px);
  -moz-transform: rotate(-45deg) translate(4px, -3px);
  -ms-transform: rotate(-45deg) translate(4px, -3px);
  -o-transform: rotate(-45deg) translate(4px, -3px);
  transform: rotate(-45deg) translate(4px, -3px); }

.menu-link-slide {
  display: block;
  position: relative; }
  .menu-link-slide span {
    position: relative;
    display: block; }
  .menu-link-slide span,
  .menu-link-slide span:before,
  .menu-link-slide span:after {
    width: 18px;
    height: 0;
    border-bottom: 2px solid;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s; }
  .menu-link-slide span:before,
  .menu-link-slide span:after {
    content: " ";
    position: absolute; }
  .menu-link-slide span:before {
    top: 7px;
    left: 0;
    width: 60%;
    will-change: left; }
  .menu-link-slide span:after {
    top: 14px; }
  .menu-link-slide em {
    position: absolute;
    top: 4px;
    right: 0;
    width: 0;
    height: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid;
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    will-change: right, transform; }

.active .menu-link-slide span:before {
  left: 40%; }

.active .menu-link-slide span em {
  right: 80%;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.menu-link-arrow {
  display: block;
  position: relative; }
  .menu-link-arrow span {
    position: relative;
    display: block;
    will-change: transform;
    height: 14px;
    width: 18px;
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    -o-transition: -o-transform 0.4s;
    transition: transform 0.4s; }
  .menu-link-arrow em,
  .menu-link-arrow em:before,
  .menu-link-arrow em:after {
    content: " ";
    position: absolute;
    display: block;
    width: 18px;
    height: 0;
    border-bottom: 2px solid;
    will-change: transform;
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    -o-transition: -o-transform 0.4s;
    transition: transform 0.4s; }
  .menu-link-arrow em {
    -webkit-transition: border-color 0.4s;
    -o-transition: border-color 0.4s;
    transition: border-color 0.4s; }
  .menu-link-arrow em:before {
    top: -6px; }
  .menu-link-arrow em {
    top: 6px; }
  .menu-link-arrow em:after {
    top: 6px; }

.active .menu-link-arrow span {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }
  .active .menu-link-arrow span em:before {
    width: 12px;
    transform: translateX(6px) translateY(1px) rotate(45deg);
    -webkit-transform: translateX(6px) translateY(1px) rotate(45deg); }
  .active .menu-link-arrow span em:after {
    width: 12px;
    transform: translateX(6px) translateY(-1px) rotate(-45deg);
    -webkit-transform: translateX(6px) translateY(-1px) rotate(-45deg); }

/**
 * Sidebar
 */
.sidebar-container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 280px;
  overflow-y: auto;
  overflow-x: visible;
  -webkit-overflow-scrolling: touch;
  background-color: #263238;
  color: rgba(255, 255, 255, 0.75);
  z-index: 20; }
  .sidebar-container a.sb-link {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none; }

.sidebar-header {
  height: 65px;
  padding: 4px 16px;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.14); }
  .sidebar-header > .sidebar-header-logo {
    display: inline-block;
    height: 100%;
    line-height: 65px;
    text-decoration: none;
    color: inherit;
    font-size: 22px;
    letter-spacing: .023em; }
    .sidebar-header > .sidebar-header-logo > img,
    .sidebar-header > .sidebar-header-logo > svg {
      display: inline-block;
      width: 24px;
      height: 24px;
      vertical-align: -5%; }
      .sidebar-header > .sidebar-header-logo > img + .sidebar-header-logo-text,
      .sidebar-header > .sidebar-header-logo > svg + .sidebar-header-logo-text {
        margin-left: 16px; }
    .sidebar-header > .sidebar-header-logo > svg {
      fill: #fff; }
  .sidebar-header > .sidebar-header-logo-text {
    font-weight: 500;
    font-size: 20px;
    vertical-align: middle; }

.sidebar-header + .sidebar-content {
  height: calc(100% - 65px);
  overflow: auto; }

.sidebar-content {
  border-right: 1px solid rgba(0, 0, 0, 0.11); }

.sidebar-toolbar {
  position: relative;
  z-index: -1;
  background-color: inherit;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100%;
  padding: 60px 20px; }
  .sidebar-toolbar + .sidebar-nav {
    padding-top: 0; }

.sidebar-container {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  -webkit-transition: -webkit-transform 0.28s ease-in-out;
  -moz-transition: -moz-transform 0.28s ease-in-out;
  -o-transition: -o-transform 0.28s ease-in-out;
  transition: transform 0.28s ease-in-out;
  will-change: transform; }
  @media only screen and (min-width: 992px) {
    .sidebar-container {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); } }

.sidebar-layout-obfuscator {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
  visibility: hidden;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.3);
  will-change: opacity;
  -webkit-transition: "opacity .28s ease-in-out, visibility .28s ease-in-out";
  -o-transition: "opacity .28s ease-in-out, visibility .28s ease-in-out";
  transition: "opacity .28s ease-in-out, visibility .28s ease-in-out"; }
  @media only screen and (min-width: 992px) {
    .sidebar-layout-obfuscator {
      display: none; } }

@media only screen and (max-width: 991px) {
  .sidebar-visible {
    overflow: hidden; }
    .sidebar-visible .sidebar-container {
      box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.15);
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0); }
    .sidebar-visible .sidebar-layout-obfuscator {
      opacity: 1;
      visibility: visible; } }

.no-csstransforms3d .sidebar-container {
  margin-left: -280px; }
  @media only screen and (min-width: 992px) {
    .no-csstransforms3d .sidebar-container {
      margin-left: 0; } }

@media only screen and (max-width: 1199px) {
  .no-csstransforms3d .sidebar-visible .sidebar-container {
    margin-left: 0; } }

.sidebar-nav {
  padding-top: 16px;
  font-weight: 500;
  background-color: inherit;
  font-family: 'Segoe UI', Roboto, Arial, sans-serif; }
  .sidebar-nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
    .sidebar-nav ul > li > a {
      display: block;
      padding: 0 16px;
      height: 44px;
      line-height: 44px;
      text-decoration: none;
      font-size: 13.5px;
      font-weight: 500;
      letter-spacing: 0;
      color: inherit;
      overflow: hidden; }
      .sidebar-nav ul > li > a > .nav-icon {
        position: relative;
        display: inline-block;
        width: 1.15em;
        height: 1em;
        margin-right: 14px;
        text-align: center;
        font-size: 19px;
        vertical-align: middle; }
        .sidebar-nav ul > li > a > .nav-icon > em,
        .sidebar-nav ul > li > a > .nav-icon > img,
        .sidebar-nav ul > li > a > .nav-icon > svg {
          position: absolute;
          display: inline-block;
          color: inherit;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          line-height: 1;
          color: #2E5ABD;
          fill: #64B5F6; }
      .sidebar-nav ul > li > a > .nav-label,
      .sidebar-nav ul > li > a > .nav-caret {
        line-height: inherit; }
      .sidebar-nav ul > li > a > .nav-label {
        margin-right: 16px;
        margin-top: -2px; }
      .sidebar-nav ul > li > a > .nav-caret {
        margin-left: 11px; }
        .sidebar-nav ul > li > a > .nav-caret + .nav-label {
          margin-right: 0; }
    .sidebar-nav ul > li > a:hover,
    .sidebar-nav ul > li > a:focus {
      background-color: rgba(162, 162, 162, 0.09); }
      .sidebar-nav ul > li > a:hover > .nav-icon em,
      .sidebar-nav ul > li > a:focus > .nav-icon em {
        color: #2E5ABD; }
    .sidebar-nav ul > li.active {
      background-color: rgba(162, 162, 162, 0.026); }
      .sidebar-nav ul > li.active > a {
        font-weight: 700; }
      .sidebar-nav ul > li.active > a > .nav-icon em {
        color: #2E5ABD; }
      .sidebar-nav ul > li.active > ul li.active a {
        background-color: rgba(162, 162, 162, 0.026); }
    .sidebar-nav ul > li ul > li > a {
      padding-left: 49px; }
    .sidebar-nav ul > li ul > li ul > li > a {
      padding-left: 66px; }
    .sidebar-nav ul > li ul > li > a {
      height: 40px;
      line-height: 40px;
      font-size: 13px;
      font-weight: 500; }
    .sidebar-nav ul > li > ul {
      height: 0;
      overflow: hidden;
      -webkit-transition: height 0.55s cubic-bezier(0.35, 0, 0.25, 1);
      -o-transition: height 0.55s cubic-bezier(0.35, 0, 0.25, 1);
      transition: height 0.55s cubic-bezier(0.35, 0, 0.25, 1); }
      .sidebar-nav ul > li > ul > li > a {
        margin-left: -20px;
        opacity: 0;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
        -webkit-transition-property: "opacity, margin-left";
        transition-property: "opacity, margin-left"; }
    .sidebar-nav ul > li > a > .nav-caret {
      -webkit-transition: -webkit-transform 0.2s ease;
      -moz-transition: -moz-transform 0.2s ease;
      -o-transition: -o-transform 0.2s ease;
      transition: transform 0.2s ease; }
    .sidebar-nav ul > li.active > ul {
      height: auto; }
      .sidebar-nav ul > li.active > ul > li > a {
        opacity: 1;
        margin-left: 0; }
    .sidebar-nav ul > li.active > a > .nav-caret {
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      -o-transform: rotate(90deg);
      transform: rotate(90deg); }

.label.label-secondary {
  background-color: #d3d8df;
  color: #FFF; }

.label.label-outlined {
  border-width: 1px;
  border-style: solid;
  background-color: transparent; }

.label.label-outlined.label-secondary {
  border-color: #d3d8df;
  color: #8c8c8c; }

.blinkMe {
  animation: blinker 0.2s linear infinite;
  color: #78909c;
  text-shadow: 0 0 0.4em #fff, 0 0 0.4em #fff; }

@keyframes blinker {
  50% {
    opacity: 0.2; } }

@-webkit-keyframes ring {
  0% {
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg); }
  2% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  4% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg); }
  6% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg); }
  8% {
    -webkit-transform: rotate(-22deg);
    transform: rotate(-22deg); }
  10% {
    -webkit-transform: rotate(22deg);
    transform: rotate(22deg); }
  12% {
    -webkit-transform: rotate(-18deg);
    transform: rotate(-18deg); }
  14% {
    -webkit-transform: rotate(18deg);
    transform: rotate(18deg); }
  16% {
    -webkit-transform: rotate(-12deg);
    transform: rotate(-12deg); }
  18% {
    -webkit-transform: rotate(12deg);
    transform: rotate(12deg); }
  20% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

@keyframes ring {
  0% {
    -webkit-transform: rotate(-15deg);
    -ms-transform: rotate(-15deg);
    transform: rotate(-15deg); }
  2% {
    -webkit-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
    transform: rotate(15deg); }
  4% {
    -webkit-transform: rotate(-18deg);
    -ms-transform: rotate(-18deg);
    transform: rotate(-18deg); }
  6% {
    -webkit-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    transform: rotate(18deg); }
  8% {
    -webkit-transform: rotate(-22deg);
    -ms-transform: rotate(-22deg);
    transform: rotate(-22deg); }
  10% {
    -webkit-transform: rotate(22deg);
    -ms-transform: rotate(22deg);
    transform: rotate(22deg); }
  12% {
    -webkit-transform: rotate(-18deg);
    -ms-transform: rotate(-18deg);
    transform: rotate(-18deg); }
  14% {
    -webkit-transform: rotate(18deg);
    -ms-transform: rotate(18deg);
    transform: rotate(18deg); }
  16% {
    -webkit-transform: rotate(-12deg);
    -ms-transform: rotate(-12deg);
    transform: rotate(-12deg); }
  18% {
    -webkit-transform: rotate(12deg);
    -ms-transform: rotate(12deg);
    transform: rotate(12deg); }
  20% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); } }

.faa-ring.animated,
.faa-ring.animated-hover:hover,
.faa-parent.animated-hover:hover > .faa-ring {
  -webkit-animation: ring 2s  infinite;
  animation: ring 2s  infinite;
  transform-origin-x: 50%;
  transform-origin-y: 0px;
  transform-origin-z: initial; }

.img-responsive {
  max-width: 80%; }

.text-webyBrown500 {
  color: #795548; }

.text-teal-900 {
  color: #004D40; }

.text-pink-300 {
  color: #f06292; }

.text-blue-grey-300 {
  color: #90A4AE; }

.ball-pulse > div {
  background-color: #f59504; }

.ball-beat > div {
  background-color: #BDD52E; }

.hide {
  display: none; }

.webyLogo {
  content: url("img/logos/yourboxLogoHeader-VPMargemSup-240X56.png"); }

.webyLogo-BR {
  content: url("img/logos/yourboxLogoHeader-VBMargemSup-240X56.png"); }

.line-scale-pulse-out > div {
  background-color: #2c2d36; }

.changeToDanger > div {
  background-color: #f04e44; }

/* ---- Menu lateral: contagens ---------------------------------------------
   Eram 25 numeros sem rotulo, em duas filas soltas por baixo do link, cujo
   significado so existia num tooltip. Agora o item do menu fica com uma linha
   so, e o detalhe — com o nome de cada numero — abre quando se passa o rato
   ou quando se esta nessa pagina. Continuam a ser botoes: cada um navega ou
   filtra, e por isso o cursor e a reaccao ao rato tem de o dizer. */
/* O bloco vive DENTRO do <li> do link: assim o rato sobre os numeros mantem o
   item em hover. Com um <li> irmao colapsado isso era impossivel — assim que
   o rato saisse do link, o bloco fechava-se por baixo do cursor. */
/* Sempre a vista. Chegaram a abrir so ao passar o rato, mas estes numeros sao
   o pulso da operacao: quem trabalha aqui olha para eles de relance, sem ter
   de os ir procurar. A margem de cima separa-os do link a que pertencem. */
/* TRES por linha, sempre. Em fila livre os seis numeros dos servicos activos
   partiam 5+1 — a largura e que decidia, e o ultimo ficava orfao. Com tres
   colunas declaradas os seis ficam 3+3 e os blocos de tres numa linha so, e
   as caixas alinham uma por baixo da outra entre itens do menu. */
.sidebar-nav > ul > li > .ds-navcounts,
.sidebar-nav ul li > .ds-navcounts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  /* 49px: alinhado com o texto do link (16 de margem + 19 de icone + 14). */
  padding: 0 16px 11px 49px;
  /* Era margem NEGATIVA de -8px, que puxava as caixas para cima e as fazia
     entrar na area do link — por cima do realce e da sombra dele. Agora
     descem 4px e ficam fora, com folga entre o nome do item e os numeros. */
  margin-top: 4px; }

/* So o numero. O nome vem no title nativo do browser ao passar o rato — a
   palavra fixa debaixo de cada numero enchia o menu de texto para dizer o que
   um segundo de rato ja diz. */
.ds-navchip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 3px 8px;
  /* Tokens, nao branco translucido: o rgba(255,255,255,...) so se ve sobre
     fundo escuro — no tema claro a caixa desaparecia e ficavam numeros a
     flutuar. Os tokens invertem-se com o tema, no .theme-3. */
  border: 1px solid var(--ds-line);
  border-radius: 7px;
  background: var(--ds-grey);
  color: inherit;
  cursor: pointer;
  line-height: 1.4; }

.ds-navchip:hover {
  border-color: var(--ds-muted); }

.ds-navchip b {
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums; }

/* Cor por significado, e o mesmo significado em todo o menu: verde e o que
   esta a correr bem, ambar e o que espera accao, vermelho e o que esta por
   resolver, cinzento e neutro. Antes o laranja queria dizer "publicados" nos
   servicos e "inactivos" nos motoristas. */
/* Duas paletas: as claras foram escolhidas para papel branco, as do .theme-3
   para ardosia. O verde-lima do tema escuro sobre branco quase nao se le. */
.ds-navchip--ok b {
  color: #6f8f00; }

.ds-navchip--warn b {
  color: #b3690a; }

.ds-navchip--alert b {
  color: #c0392b; }

.ds-navchip--info b {
  color: #2f6bd6; }

.ds-navchip--muted b {
  opacity: .7; }

.theme-3 .ds-navchip--ok b {
  color: #bed62f; }

.theme-3 .ds-navchip--warn b {
  color: #f0ad4e; }

.theme-3 .ds-navchip--alert b {
  color: #e8776f; }

.theme-3 .ds-navchip--info b {
  color: #6fb8e8; }

/* Total ao lado do nome: so existe onde ha mesmo um total (todos os
   motoristas, clientes, operadores). Nos servicos os baldes sobrepoem-se e
   somar daria um numero falso — por isso ali nao ha numero fechado. */
/* Fora do <a>, nao dentro: um <button> dentro de uma ligacao e HTML invalido
   e o clique disparava tambem a navegacao do link. Como irmao, posiciona-se
   por cima da linha do item. */
.sidebar-nav li {
  position: relative; }

.ds-navtotal {
  position: absolute;
  top: 0;
  right: 16px;
  /* 12px centra a pastilha na linha de 44px (era 15 para linhas de 50). */
  margin: 12px 0 0 8px;
  padding: 1px 8px;
  border: 0;
  border-radius: 999px;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  color: inherit;
  font-size: 11px;
  font-weight: 700;
  line-height: 16px;
  font-variant-numeric: tabular-nums;
  cursor: pointer; }

.ds-navtotal:hover {
  border-color: var(--ds-muted); }

/* ---- Menu lateral: bloco do utilizador ----------------------------------
   O avatar de 64px com o nome, o papel, a empresa e dois botoes, tudo
   centrado, empurrava o primeiro link para baixo da linha de agua. Agora e
   uma linha: retrato pequeno a esquerda, identificacao a direita. */
.sidebar-toolbar.text-center {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  padding: 14px 16px; }

.sidebar-toolbar.text-center > a {
  flex: 0 0 auto;
  line-height: 0; }

.sidebar-toolbar.text-center .thumb64 {
  width: 44px;
  height: 44px; }

/* As regras .ds-navuser* viviam aqui: bloco de perfil no topo do menu
   (fotografia, nome, papel, empresa). A fotografia passou para o botao da
   conta e o resto para o menu que esse botao abre — ver .ds-hdrme no
   header.scss. Ficavam a ocupar a folha de estilos sem nada que as usasse. */
/* ---- Totais no topo do menu ---- (classe .ds-navsum, NAO .ds-navtotal:
   essa ja existia acima e e a pastilha ABSOLUTA que fica ao lado do nome
   de um item do menu. Reaproveitar o nome punha estes dois botoes
   sobrepostos no canto superior direito, por cima do primeiro link.)
   ---- Totais no topo do menu ----------------------------------------------
   O que sobrou do bloco de perfil depois de a fotografia ir para o botão da
   conta e o nome/papel/empresa irem para o menu que esse botão abre: os dois
   números, que são a única coisa ali que muda. Ganharam o nome por baixo — são
   só dois, ao contrário dos vinte e cinco das secções do menu, onde a palavra
   fixa debaixo de cada número era mesmo poluição. */
.sidebar-toolbar.text-center {
  padding: 12px 16px; }

.ds-navsums {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%; }

.ds-navsum {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  padding: 8px 6px;
  border: 1px solid var(--ds-line);
  border-radius: 10px;
  background: var(--ds-grey);
  color: inherit;
  cursor: pointer; }
  .ds-navsum:hover {
    border-color: var(--ds-muted); }
  .ds-navsum > b {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.1;
    font-variant-numeric: tabular-nums; }
  .ds-navsum > span {
    font-size: 9.5px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 700;
    color: var(--ds-muted); }

/* ─────────────────────────────────────────────────────────────────────────
   LOGOTIPO YOURBOX ANIMADO (2026-10-01) — canto superior esquerdo da app.
   Ligado em app.scss. Template em ybLogo.html, estado em ybLogo.js.

   Substitui os PNG .webyLogo / .webyLogo-BR (um por tema): um SVG so', em que
   o "Box" muda de cor com o tema — escuro no claro (theme-9), branco no escuro
   (theme-3).

   Animacoes, aprovadas no prototipo:
     .entrar      uma vez por sessao, ao abrir a app (~1,2 s)
     .a-carregar  as linhas correm em onda enquanto um calculo espera o servidor
     .offline     sem ligacao: linhas e seta param e ficam cinzentas
     .recuperada  ligacao voltou: passagem rapida das linhas e a seta avanca
     .pulso       chegou um popup novo: um pulso da seta
     :hover       a seta avanca, as linhas esticam
   Nada em ciclo permanente fora do .a-carregar. Com "reduzir movimento" no
   sistema, tudo fica estatico.
   ───────────────────────────────────────────────────────────────────────── */
.sidebar-header .yb-logo {
  display: block;
  width: 220px;
  max-width: 100%;
  height: 100%; }

.yb-logo {
  --yb-lima: #BFD730;
  --yb-box: #3A3A3C;
  --yb-parado: #9a9a9c;
  overflow: visible; }
  .yb-logo path {
    transform-box: fill-box;
    transform-origin: center; }
  .yb-logo .yb-spd, .yb-logo .yb-ltr, .yb-logo .yb-chev {
    fill: var(--yb-lima); }
  .yb-logo .yb-box, .yb-logo .yb-xg, .yb-logo .yb-reg {
    fill: var(--yb-box);
    transition: fill .3s; }
  .yb-logo .yb-spd {
    transform-origin: right center; }
  .yb-logo .yb-spd, .yb-logo .yb-chev {
    transition: transform .25s ease-out, fill .4s, opacity .4s; }
  .yb-logo:hover .yb-chev {
    transform: translateX(16px); }
  .yb-logo:hover .yb-spd {
    transform: scaleX(1.12); }

.theme-3 .yb-logo {
  --yb-box: #ffffff; }

/* Entrada. fill-mode "backwards": segura o estado inicial so' ANTES de comecar;
   no fim devolve o controlo ao CSS normal (senao anulava o efeito do rato). */
.yb-logo.entrar .yb-spd {
  animation: ybSpdIn 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
  animation-delay: calc(var(--i) * 45ms); }

.yb-logo.entrar .yb-ltr {
  animation: ybLtrIn 0.6s cubic-bezier(0.2, 0.9, 0.3, 1) backwards;
  animation-delay: calc(150ms + var(--i) * 60ms); }

.yb-logo.entrar .yb-box {
  animation: ybBoxIn .45s ease-out backwards;
  animation-delay: calc(450ms + var(--i) * 80ms); }

.yb-logo.entrar .yb-xg {
  animation: ybFade .35s ease-out backwards;
  animation-delay: 700ms; }

.yb-logo.entrar .yb-chev {
  animation: ybChevSnap .5s ease-out backwards;
  animation-delay: 820ms; }

.yb-logo.entrar .yb-reg {
  animation: ybFade .4s ease-out backwards;
  animation-delay: 1100ms; }

/* A carregar: as linhas correm em onda, a seta empurra */
.yb-logo.a-carregar .yb-spd {
  animation: ybFluxo 1.1s ease-in-out infinite;
  animation-delay: calc(var(--i) * 90ms); }

.yb-logo.a-carregar .yb-chev {
  animation: ybEmpurra 1.1s ease-in-out infinite; }

/* Sem ligacao: o movimento para e fica cinzento */
.yb-logo.offline .yb-spd, .yb-logo.offline .yb-chev {
  fill: var(--yb-parado);
  animation: none; }

.yb-logo.offline .yb-spd {
  opacity: .55; }

/* Ligacao recuperada */
.yb-logo.recuperada .yb-spd {
  animation: ybPassagem 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
  animation-delay: calc(var(--i) * 35ms); }

.yb-logo.recuperada .yb-chev {
  animation: ybChevSnap .5s ease-out backwards;
  animation-delay: 250ms; }

/* Novidade */
.yb-logo.pulso .yb-chev {
  animation: ybPulso .45s ease-out; }

@keyframes ybSpdIn {
  from {
    transform: translateX(-700px);
    opacity: 0; }
  50% {
    opacity: 1; }
  to {
    transform: none;
    opacity: 1; } }

@keyframes ybLtrIn {
  0% {
    transform: translateX(-260px);
    opacity: 0; }
  70% {
    transform: translateX(18px);
    opacity: 1; }
  100% {
    transform: none; } }

@keyframes ybBoxIn {
  from {
    transform: translateY(40px);
    opacity: 0; }
  to {
    transform: none;
    opacity: 1; } }

@keyframes ybFade {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes ybChevSnap {
  0% {
    transform: translateX(-160px);
    opacity: 0; }
  55% {
    transform: translateX(22px);
    opacity: 1; }
  78% {
    transform: translateX(-6px); }
  100% {
    transform: none; } }

@keyframes ybFluxo {
  0%, 100% {
    transform: none;
    opacity: 1; }
  50% {
    transform: translateX(-90px);
    opacity: .25; } }

@keyframes ybEmpurra {
  0%, 100% {
    transform: none; }
  50% {
    transform: translateX(14px); } }

@keyframes ybPassagem {
  from {
    transform: translateX(-300px);
    opacity: 0; }
  to {
    transform: none;
    opacity: 1; } }

@keyframes ybPulso {
  0%, 100% {
    transform: none; }
  45% {
    transform: scale(1.18); } }

@media (prefers-reduced-motion: reduce) {
  .yb-logo, .yb-logo * {
    animation: none !important;
    transition: none !important; } }

/**
 * Cards
 */
.card {
  position: relative;
  border-radius: 3px;
  background-color: #fff;
  color: #4F5256;
  border: 1px solid rgba(0, 0, 0, 0.12);
  margin-bottom: 8px; }
  @media only screen and (min-width: 480px) {
    .card {
      margin-bottom: 16px; } }
  @media only screen and (min-width: 992px) {
    .card {
      margin-bottom: 24px; } }
  .card .card-heading {
    padding: 16px;
    margin: 0; }
    .card .card-heading > .card-title {
      margin: 0;
      font-size: 18px; }
    .card .card-heading > .card-icon {
      float: right;
      color: rgba(255, 255, 255, 0.87);
      font-size: 20px; }
    .card .card-heading > small {
      color: rgba(162, 162, 162, 0.92);
      letter-spacing: .01em; }
  .card .card-body {
    position: relative;
    padding: 16px; }
  .card .card-footer {
    padding: 16px;
    border-top: 1px solid rgba(162, 162, 162, 0.12); }
  .card .card-item {
    position: relative;
    display: block;
    min-height: 120px; }
    .card .card-item > .card-item-text {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: rgba(0, 0, 0, 0.35);
      margin: 0;
      color: #fff;
      padding: 8px; }
      .card .card-item > .card-item-text a {
        color: inherit; }
    .card .card-item > .card-item-image {
      display: block;
      width: 100%;
      height: 190px;
      background-repeat: no-repeat;
      background-position: center center;
      background-size: cover; }
    .card .card-item.card-media {
      min-height: 280px;
      background-repeat: repeat;
      background-position: 50% 50%;
      background-size: cover;
      background-attachment: scroll;
      background-origin: padding-box; }
      .card .card-item.card-media .card-media-quote {
        padding: 16px;
        font-size: 35px; }
        @media only screen and (min-width: 768px) {
          .card .card-item.card-media .card-media-quote {
            font-size: 45px; } }
        .card .card-item.card-media .card-media-quote > a {
          color: inherit;
          text-decoration: none; }
        .card .card-item.card-media .card-media-quote:before {
          content: '“';
          display: block;
          font-size: 2em;
          line-height: 1;
          margin-top: 0.25em; }
  .card.card-transparent {
    background-color: transparent;
    border: 0;
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }
  .card .card-offset {
    position: relative;
    padding-bottom: 36px;
    z-index: 10; }
    .card .card-offset > .card-offset-item {
      position: absolute;
      top: -24px;
      left: 15px;
      right: 15px; }
  .card .card-toolbar {
    position: relative;
    width: 100%;
    min-height: 64px;
    font-size: 18px;
    line-height: 64px;
    padding-left: 22px;
    z-index: 2; }
  .card .card-subheader {
    padding: 16px 0 16px 16px;
    line-height: .75em;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .01em;
    color: rgba(0, 0, 0, 0.54); }
    .card .card-subheader + .mda-list > .mda-list-item:first-child > .mda-list-item-text {
      padding-top: 16px; }
    .card .card-subheader + .mda-list > .mda-list-item:first-child > .mda-list-item-img,
    .card .card-subheader + .mda-list > .mda-list-item:first-child > .mda-list-item-icon,
    .card .card-subheader + .mda-list > .mda-list-item:first-child > .mda-list-item-initial {
      margin-top: 10px; }
  .card .card-divider {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
    border: 1px solid rgba(0, 0, 0, 0.12); }
    .card .card-divider + .card-offset {
      margin-top: -10px; }
  .card > .ui-datepicker,
  .card > .ui-datepicker-responsive > .ui-datepicker {
    width: 100%;
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000;
    margin: 0; }
    .card > .ui-datepicker > table,
    .card > .ui-datepicker-responsive > .ui-datepicker > table {
      width: 100%; }
  .card .editable-wrap {
    width: 100%; }
  .card > .list-group > .list-group-item {
    border-left: 0;
    border-right: 0; }
    .card > .list-group > .list-group-item:first-child {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
    .card > .list-group > .list-group-item:last-child {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
      border-bottom: 0; }
  .card > .table-responsive > .table,
  .card > .table {
    margin-bottom: 0; }
  .card > .table-responsive {
    border: 0; }
  .card > .btn {
    border-radius: 0;
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    text-align: center; }
    .card > .btn:last-child {
      border-bottom-right-radius: 2px;
      border-bottom-left-radius: 2px; }
  .card.card-map {
    min-height: 280px; }
    .card.card-map .card-footer {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      border: 0;
      background-color: transparent; }

/**
 * Easy Pie Chart
 */
.easypie-chart {
  display: inline-block;
  position: relative;
  padding: 0 6px; }
  .easypie-chart span,
  .easypie-chart .percentage {
    display: block;
    position: absolute;
    left: 5%;
    top: 5%;
    width: 5%;
    margin-left: -5%;
    height: 5px;
    line-height: 10px;
    text-align: center; }
  .easypie-chart span {
    font-size: 10px; }
  .easypie-chart canvas {
    max-width: 30%; }

/**
 * Flot Chart
 */
.flot-chart {
  display: block;
  width: 100%;
  font-size: 12px; }
  @media only screen and (min-width: 768px) {
    .flot-chart {
      font-size: 14px; } }
  .flot-chart .legend > div,
  .flot-chart .legend > table {
    top: 0 !important;
    background-color: transparent !important;
    color: inherit !important; }
  .flot-chart .legend > table tr td {
    padding: 3px; }
  .flot-chart .legend > table tr td:first-child {
    padding-left: 3px; }
  .flot-chart .legend > table tr td:last-child {
    padding-right: 3px; }
  .flot-chart .legend > table tr + tr td {
    padding-top: 0; }
  .flot-chart .legend > div:first-child {
    border-color: rgba(0, 0, 0, 0.1) !important; }
  .flot-chart .legend .legendColorBox > div,
  .flot-chart .legend .legendColorBox > div > div {
    border-radius: 400px; }
  .flot-chart .legend .legendColorBox > div {
    border-color: rgba(162, 162, 162, 0.46) !important; }
  .flot-chart.flot-legend-left .legend > div,
  .flot-chart.flot-legend-left .legend > table {
    left: 0 !important; }
  .flot-chart:not([height]) {
    height: 120px; }
  .flot-chart.flot-chart-lg {
    height: 275px; }
  .flot-chart.flot-chart-md {
    height: 190px; }
  .flot-chart.flot-chart-sm {
    height: 80px; }
  .flot-chart.flot-chart-xs {
    height: 60px; }

.flot-chart-content {
  width: 100%;
  height: 100%; }

.flot-pie-label {
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  color: #fff; }

#flotTip,
.flotTip {
  position: relative;
  padding: 8px 16px;
  font-size: 13px !important;
  font-weight: 600;
  border-radius: 2px !important;
  border-color: transparent !important;
  background-color: #455A64 !important;
  color: #fff;
  z-index: 5; }

/**
 * Sparklines
 */
sparkline {
  display: block; }

.jqstooltip {
  width: auto !important;
  height: auto !important; }

/**
 * Animations
 */
[ui-view].ng-leave {
  display: none !important; }
  [ui-view].ng-leave.ng-fluid {
    display: block !important; }

.ng-fluid.ng-animate {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.ng-fadeIn.ng-enter {
  -webkit-animation: fadeIn 0.5s;
  -o-animation: fadeIn 0.5s;
  animation: fadeIn 0.5s; }

.ng-fadeIn.ng-leave {
  -webkit-animation: fadeOut 0.5s;
  -o-animation: fadeOut 0.5s;
  animation: fadeOut 0.5s; }

.ng-fadeInUpShort.ng-enter {
  -webkit-animation: fadeInUpShort 0.5s;
  -o-animation: fadeInUpShort 0.5s;
  animation: fadeInUpShort 0.5s; }

.ng-fadeInUpShort.ng-leave {
  -webkit-animation: fadeOutDownShort 0.5s;
  -o-animation: fadeOutDownShort 0.5s;
  animation: fadeOutDownShort 0.5s; }

.ng-fadeInDownShort.ng-enter {
  -webkit-animation: fadeInDownShort 0.5s;
  -o-animation: fadeInDownShort 0.5s;
  animation: fadeInDownShort 0.5s; }

.ng-fadeInDownShort.ng-leave {
  -webkit-animation: fadeOutUpShort 0.5s;
  -o-animation: fadeOutUpShort 0.5s;
  animation: fadeOutUpShort 0.5s; }

.ng-fadeInRightShort.ng-enter {
  -webkit-animation: fadeInRightShort 0.5s;
  -o-animation: fadeInRightShort 0.5s;
  animation: fadeInRightShort 0.5s; }

.ng-fadeInRightShort.ng-leave {
  -webkit-animation: fadeOutLeftShort 0.5s;
  -o-animation: fadeOutLeftShort 0.5s;
  animation: fadeOutLeftShort 0.5s; }

.ng-fadeInLeftShort.ng-enter {
  -webkit-animation: fadeInLeftShort 0.5s;
  -o-animation: fadeInLeftShort 0.5s;
  animation: fadeInLeftShort 0.5s; }

.ng-fadeInLeftShort.ng-leave {
  -webkit-animation: fadeOutRightShort 0.5s;
  -o-animation: fadeOutRightShort 0.5s;
  animation: fadeOutRightShort 0.5s; }

@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    -ms-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; } }

.fadeInRightShort {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

@-webkit-keyframes fadeOutRightShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0); } }

@keyframes fadeOutRightShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(18px, 0, 0);
    transform: translate3d(18px, 0, 0); } }

.fadeOutRightShort {
  -webkit-animation-name: fadeOutRightShort;
  animation-name: fadeOutRightShort; }

@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    -ms-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; } }

.fadeInLeftShort {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

@-webkit-keyframes fadeOutLeftShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0); } }

@keyframes fadeOutLeftShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0); } }

.fadeOutLeftShort {
  -webkit-animation-name: fadeOutLeftShort;
  animation-name: fadeOutLeftShort; }

@-webkit-keyframes fadeOutUpShort {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

@keyframes fadeOutUpShort {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    -ms-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); } }

.fadeOutUpShort {
  -webkit-animation-name: fadeOutUpShort;
  animation-name: fadeOutUpShort; }

@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    -ms-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; } }

.fadeInUpShort {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

@-webkit-keyframes fadeInDownShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownShort {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownShort {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

@-webkit-keyframes fadeOutDownShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); } }

@keyframes fadeOutDownShort {
  from {
    opacity: 1; }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); } }

.fadeOutDownShort {
  -webkit-animation-name: fadeOutDownShort;
  animation-name: fadeOutDownShort; }

@-webkit-keyframes zoomInShort {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.95, 0.95, 0.95);
    transform: scale3d(0.95, 0.95, 0.95); }
  50% {
    opacity: 1; } }

@keyframes zoomInShort {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.95, 0.95, 0.95);
    -ms-transform: scale3d(0.95, 0.95, 0.95);
    transform: scale3d(0.95, 0.95, 0.95); }
  50% {
    opacity: 1; } }

.zoomInShort {
  -webkit-animation-name: zoomInShort;
  animation-name: zoomInShort; }

@-webkit-keyframes zoomBack {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5); }
  100% {
    opacity: 0; } }

@keyframes zoomBack {
  0% {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 0.5);
    -ms-transform: scale3d(0.5, 0.5, 0.5);
    transform: scale3d(0.5, 0.5, 0.5); }
  100% {
    opacity: 0; } }

.zoomBack {
  -webkit-animation-name: zoomBack;
  animation-name: zoomBack; }

/**
 * Buttons Extras
 */
.input-group-btn > .btn {
  border-color: rgba(0, 0, 0, 0.26); }

.btn-inverse {
  color: #fff;
  background-color: #2c2d36;
  border-color: #2c2d36; }
  .btn-inverse:focus, .btn-inverse.focus {
    color: #fff;
    background-color: #23242b;
    border-color: #23242b; }
  .btn-inverse:hover {
    color: #fff;
    background-color: #23242b;
    border-color: #23242b; }
  .btn-inverse:active, .btn-inverse.active,
  .open > .btn-inverse.dropdown-toggle {
    color: #fff;
    background-color: #1a1a20;
    border-color: #2a2b33; }
    .btn-inverse:active:hover, .btn-inverse:active:focus, .btn-inverse:active.focus, .btn-inverse.active:hover, .btn-inverse.active:focus, .btn-inverse.active.focus,
    .open > .btn-inverse.dropdown-toggle:hover,
    .open > .btn-inverse.dropdown-toggle:focus,
    .open > .btn-inverse.dropdown-toggle.focus {
      color: #fff;
      background-color: #1a1a20;
      border-color: #2a2b33; }
  .btn-inverse:active, .btn-inverse.active,
  .open > .btn-inverse.dropdown-toggle {
    background-image: none; }
  .btn-inverse.disabled:hover, .btn-inverse.disabled:focus, .btn-inverse.disabled.focus, .btn-inverse[disabled]:hover, .btn-inverse[disabled]:focus, .btn-inverse[disabled].focus,
  fieldset[disabled] .btn-inverse:hover,
  fieldset[disabled] .btn-inverse:focus,
  fieldset[disabled] .btn-inverse.focus {
    background-color: #2c2d36;
    border-color: #2c2d36; }
  .btn-inverse .badge {
    color: #2c2d36;
    background-color: #fff; }

.btn-flat {
  border-color: transparent !important;
  border-radius: 2px;
  background-color: transparent;
  text-transform: uppercase; }
  .btn-flat:active, .btn-flat.active {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }
  .btn-flat.btn-primary {
    color: #2E5ABD; }
    .btn-flat.btn-primary:hover, .btn-flat.btn-primary:focus {
      color: #fff; }
    .btn-flat.btn-primary[disabled], .btn-flat.btn-primary.disabled {
      color: rgba(46, 90, 189, 0.75) !important; }
  .btn-flat.btn-success {
    color: #BDD52E; }
    .btn-flat.btn-success:hover, .btn-flat.btn-success:focus {
      color: #fff; }
    .btn-flat.btn-success[disabled], .btn-flat.btn-success.disabled {
      color: rgba(189, 213, 46, 0.75) !important; }
  .btn-flat.btn-danger {
    color: #f04e44; }
    .btn-flat.btn-danger:hover, .btn-flat.btn-danger:focus {
      color: #fff; }
    .btn-flat.btn-danger[disabled], .btn-flat.btn-danger.disabled {
      color: rgba(240, 78, 68, 0.75) !important; }
  .btn-flat.btn-warning {
    color: #f59504; }
    .btn-flat.btn-warning:hover, .btn-flat.btn-warning:focus {
      color: #fff; }
    .btn-flat.btn-warning[disabled], .btn-flat.btn-warning.disabled {
      color: rgba(245, 149, 4, 0.75) !important; }
  .btn-flat.btn-info {
    color: #2E9AB2; }
    .btn-flat.btn-info:hover, .btn-flat.btn-info:focus {
      color: #fff; }
    .btn-flat.btn-info[disabled], .btn-flat.btn-info.disabled {
      color: rgba(46, 154, 178, 0.75) !important; }
  .btn-flat.btn-inverse {
    color: #2c2d36; }
    .btn-flat.btn-inverse:hover, .btn-flat.btn-inverse:focus {
      color: #fff; }
    .btn-flat.btn-inverse[disabled], .btn-flat.btn-inverse.disabled {
      color: rgba(44, 45, 54, 0.75) !important; }
  .btn-flat.text-white {
    color: #fff !important; }
  .btn-flat[disabled], .btn-flat.disabled {
    background-color: transparent !important; }
  .btn-flat.btn-flat-icon {
    border-radius: 50%;
    font-size: 24px;
    height: 32px;
    width: 32px;
    padding: 0;
    overflow: hidden;
    color: inherit !important; }
    .btn-flat.btn-flat-icon > em {
      line-height: 32px; }
    .btn-flat.btn-flat-icon:hover, .btn-flat.btn-flat-icon:focus, .btn-flat.btn-flat-icon:active {
      background-color: rgba(158, 158, 158, 0.2) !important; }

.btn-raised {
  border: 0;
  -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }
  .btn-raised:hover, .btn-raised:active, .btn-raised.active {
    -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4) !important;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4) !important; }

.pull-right > .btn-flat-icon {
  margin-top: -4px; }

.btn-circle {
  width: 46px;
  height: 46px;
  overflow: hidden;
  border-radius: 50% !important;
  line-height: 46px;
  padding: 0;
  text-align: center; }

.btn-outline {
  background-color: transparent;
  border-color: #fff; }
  .btn-outline:hover, .btn-outline:focus {
    background-color: #fff;
    color: #2E5ABD; }

.btn-xl {
  padding: 20px 16px;
  font-size: 18px; }

.btn-square {
  border-radius: 0; }

.btn-pill-left, .btn-oval {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  padding-left: 18px; }

.btn-pill-right, .btn-oval {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  padding-right: 18px; }

.btn-labeled {
  padding-top: 0;
  padding-bottom: 0; }

.btn-label {
  position: relative;
  background: transparent;
  display: inline-block;
  padding: 6px 16px;
  left: -16px;
  border-radius: 3px 0 0 3px; }
  .btn-label.btn-label-right {
    left: auto;
    right: -16px;
    border-radius: 0 3px 3px 0; }
  .btn-label:after {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 5px;
    right: 0;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.1); }
  .btn-label.btn-label-right {
    text-indent: -2px; }
    .btn-label.btn-label-right:after {
      left: 0;
      right: auto; }

.btn-lg .btn-label {
  padding: 10px 20px;
  left: -20px;
  border-radius: 5px 0 0 5px; }
  .btn-lg .btn-label.btn-label-right {
    left: auto;
    right: -20px;
    border-radius: 0 5px 5px 0; }

.btn-sm .btn-label {
  padding: 5px 10px;
  left: -10px;
  border-radius: 2px 0 0 2px; }
  .btn-sm .btn-label.btn-label-right {
    left: auto;
    right: -10px;
    border-radius: 0 2px 2px 0; }

.btn-xs .btn-label {
  padding: 1px 5px;
  left: -5px;
  border-radius: 2px 0 0 2px; }
  .btn-xs .btn-label.btn-label-right {
    left: auto;
    right: -5px;
    border-radius: 0 2px 2px 0; }

.btn-fw {
  min-width: 80px; }
  .btn-fw.btn-sm {
    min-width: 40px; }
  .btn-fw.btn-md {
    min-width: 60px; }
  .btn-fw.btn-lg {
    min-width: 140px; }

.pagination-rounded li > a,
.pagination-rounded li > span {
  border-radius: 50% !important;
  margin-right: 4px;
  margin-left: 4px;
  width: 35px;
  height: 35px;
  line-height: 35px;
  padding: 0;
  text-align: center; }
  .pagination-rounded li > a > span,
  .pagination-rounded li > span > span {
    position: relative;
    top: -1px; }

.pagination-rounded.pagination-lg li > a,
.pagination-rounded.pagination-lg li > span {
  width: 44px;
  height: 44px;
  line-height: 44px; }

.pull-left.btn-group,
.pull-right.btn-group {
  position: relative;
  z-index: 1; }

/**
 * Dropdowns Extras
 */
.dropdown-lg > .dropdown-menu {
  min-width: 200px; }

.dropdown-list > .dropdown-menu {
  padding: 0;
  min-width: 220px; }

.dropdown-list .list-group {
  margin: 0; }

.dropdown-list .list-group-item {
  border-radius: 0;
  border-left: 0;
  border-right: 0; }
  .dropdown-list .list-group-item:first-child {
    border-top: 0; }
  .dropdown-list .list-group-item:last-child {
    border-bottom: 0; }

.dropdown > a {
  position: relative; }
  .dropdown > a > .label {
    position: absolute;
    top: 0;
    right: 0;
    padding: 2px 5px; }
    @media only screen and (min-width: 768px) {
      .dropdown > a > .label {
        top: 10px; } }

.dropdown-menu-header {
  padding: 10px 15px;
  background-color: #fafafa;
  border-bottom: 1px solid #ddd; }

.md-dropdown-menu {
  display: block;
  opacity: 0;
  padding: 0;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left; }
  .md-dropdown-menu.pull-right, .md-dropdown-menu.dropdown-menu-right {
    -webkit-transform-origin: top right;
    -moz-transform-origin: top right;
    -ms-transform-origin: top right;
    transform-origin: top right; }
  .md-dropdown-menu > li {
    height: 48px; }
    .md-dropdown-menu > li > a {
      padding: 0 14px;
      line-height: 48px; }

.open > .md-dropdown-menu {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1); }

.dropup .md-dropdown-menu {
  -webkit-transform-origin: bottom left;
  -moz-transform-origin: bottom left;
  -ms-transform-origin: bottom left;
  transform-origin: bottom left; }
  .dropup .md-dropdown-menu.pull-right, .dropup .md-dropdown-menu.dropdown-menu-right {
    -webkit-transform-origin: bottom right;
    -moz-transform-origin: bottom right;
    -ms-transform-origin: bottom right;
    transform-origin: bottom right; }

/**
 * Rows - Extras
 */
.row {
  margin-right: -4px;
  margin-left: -4px; }
  .row .col-lg-1, .row .col-lg-10, .row .col-lg-11, .row .col-lg-12, .row .col-lg-2, .row .col-lg-3, .row .col-lg-4, .row .col-lg-5, .row .col-lg-6, .row .col-lg-7, .row .col-lg-8, .row .col-lg-9, .row .col-md-1, .row .col-md-10, .row .col-md-11, .row .col-md-12, .row .col-md-2, .row .col-md-3, .row .col-md-4, .row .col-md-5, .row .col-md-6, .row .col-md-7, .row .col-md-8, .row .col-md-9, .row .col-sm-1, .row .col-sm-10, .row .col-sm-11, .row .col-sm-12, .row .col-sm-2, .row .col-sm-3, .row .col-sm-4, .row .col-sm-5, .row .col-sm-6, .row .col-sm-7, .row .col-sm-8, .row .col-sm-9, .row .col-xs-1, .row .col-xs-10, .row .col-xs-11, .row .col-xs-12, .row .col-xs-2, .row .col-xs-3, .row .col-xs-4, .row .col-xs-5, .row .col-xs-6, .row .col-xs-7, .row .col-xs-8, .row .col-xs-9 {
    padding-right: 4px;
    padding-left: 4px; }
  @media only screen and (min-width: 480px) {
    .row {
      margin-right: -8px;
      margin-left: -8px; }
      .row .col-lg-1, .row .col-lg-10, .row .col-lg-11, .row .col-lg-12, .row .col-lg-2, .row .col-lg-3, .row .col-lg-4, .row .col-lg-5, .row .col-lg-6, .row .col-lg-7, .row .col-lg-8, .row .col-lg-9, .row .col-md-1, .row .col-md-10, .row .col-md-11, .row .col-md-12, .row .col-md-2, .row .col-md-3, .row .col-md-4, .row .col-md-5, .row .col-md-6, .row .col-md-7, .row .col-md-8, .row .col-md-9, .row .col-sm-1, .row .col-sm-10, .row .col-sm-11, .row .col-sm-12, .row .col-sm-2, .row .col-sm-3, .row .col-sm-4, .row .col-sm-5, .row .col-sm-6, .row .col-sm-7, .row .col-sm-8, .row .col-sm-9, .row .col-xs-1, .row .col-xs-10, .row .col-xs-11, .row .col-xs-12, .row .col-xs-2, .row .col-xs-3, .row .col-xs-4, .row .col-xs-5, .row .col-xs-6, .row .col-xs-7, .row .col-xs-8, .row .col-xs-9 {
        padding-right: 8px;
        padding-left: 8px; } }
  @media only screen and (min-width: 992px) {
    .row {
      margin-right: -12px;
      margin-left: -12px; }
      .row .col-lg-1, .row .col-lg-10, .row .col-lg-11, .row .col-lg-12, .row .col-lg-2, .row .col-lg-3, .row .col-lg-4, .row .col-lg-5, .row .col-lg-6, .row .col-lg-7, .row .col-lg-8, .row .col-lg-9, .row .col-md-1, .row .col-md-10, .row .col-md-11, .row .col-md-12, .row .col-md-2, .row .col-md-3, .row .col-md-4, .row .col-md-5, .row .col-md-6, .row .col-md-7, .row .col-md-8, .row .col-md-9, .row .col-sm-1, .row .col-sm-10, .row .col-sm-11, .row .col-sm-12, .row .col-sm-2, .row .col-sm-3, .row .col-sm-4, .row .col-sm-5, .row .col-sm-6, .row .col-sm-7, .row .col-sm-8, .row .col-sm-9, .row .col-xs-1, .row .col-xs-10, .row .col-xs-11, .row .col-xs-12, .row .col-xs-2, .row .col-xs-3, .row .col-xs-4, .row .col-xs-5, .row .col-xs-6, .row .col-xs-7, .row .col-xs-8, .row .col-xs-9 {
        padding-right: 12px;
        padding-left: 12px; } }

.row-table {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
  margin: 0; }
  .row-table > [class*="col-"] {
    display: table-cell;
    float: none;
    table-layout: fixed;
    vertical-align: middle; }

.row-flush > [class*="col-"] {
  padding-left: 0;
  padding-right: 0; }

.t-grid .t-row {
  width: 100%;
  display: table;
  table-layout: fixed; }

.t-grid .t-col, .t-grid .t-cell {
  display: table-cell; }

/**
 * Modals
 */
.modal-header,
.modal-footer {
  border-color: rgba(162, 162, 162, 0.12); }

.modal.modal-right .modal-dialog,
.modal.modal-left .modal-dialog,
.modal.modal-bottom .modal-dialog,
.modal.modal-top .modal-dialog {
  position: absolute;
  margin: 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  -moz-transition: -moz-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  -o-transition: -o-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); }
  .modal.modal-right .modal-dialog > .modal-content,
  .modal.modal-left .modal-dialog > .modal-content,
  .modal.modal-bottom .modal-dialog > .modal-content,
  .modal.modal-top .modal-dialog > .modal-content {
    border-radius: 0;
    border: 0; }

.modal.modal-right.fade.in .modal-dialog,
.modal.modal-left.fade.in .modal-dialog,
.modal.modal-bottom.fade.in .modal-dialog,
.modal.modal-top.fade.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0); }

.modal.fade.modal-right .modal-dialog,
.modal.fade.modal-left .modal-dialog,
.modal.fade.modal-bottom .modal-dialog,
.modal.fade.modal-top .modal-dialog {
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  -moz-transition: -moz-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  -o-transition: -o-transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); }

.modal.modal-right .modal-dialog {
  right: 0;
  bottom: 0;
  top: 0;
  width: 240px; }
  .modal.modal-right .modal-dialog > .modal-content {
    min-height: 100%; }

.modal.modal-right .modal-dialog350 {
  width: 350px; }

.modal.modal-right .modal-dialog450 {
  width: 450px;
  opacity: 1; }

.modal.modal-right.modal-auto-size .modal-dialog {
  width: 80%; }
  @media only screen and (min-width: 768px) {
    .modal.modal-right.modal-auto-size .modal-dialog {
      width: 50%; } }

.modal.modal-right.fade .modal-dialog {
  -webkit-transform: translate(100%, 0);
  -ms-transform: translate(100%, 0);
  -o-transform: translate(100%, 0);
  transform: translate(100%, 0); }

.modal.modal-left .modal-dialog {
  left: 0;
  bottom: 0;
  top: 0;
  width: 240px; }
  .modal.modal-left .modal-dialog > .modal-content {
    min-height: 100%; }

.modal.modal-left.modal-auto-size .modal-dialog {
  width: 80%; }
  @media only screen and (min-width: 768px) {
    .modal.modal-left.modal-auto-size .modal-dialog {
      width: 50%; } }

.modal.modal-left.fade .modal-dialog {
  -webkit-transform: translate(-100%, 0);
  -ms-transform: translate(-100%, 0);
  -o-transform: translate(-100%, 0);
  transform: translate(-100%, 0); }

.modal.modal-top .modal-dialog {
  right: 0;
  left: 0;
  top: 0;
  width: 100%; }
  .modal.modal-top .modal-dialog > .modal-content {
    width: 100%; }

.modal.modal-top.fade .modal-dialog {
  -webkit-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  transform: translate(0, -100%); }

.modal.modal-bottom .modal-dialog {
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%; }
  .modal.modal-bottom .modal-dialog > .modal-content {
    width: 100%; }

.modal.modal-bottom.fade .modal-dialog {
  -webkit-transform: translate(0, 100%);
  -ms-transform: translate(0, 100%);
  -o-transform: translate(0, 100%);
  transform: translate(0, 100%); }

.modal-content {
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.14), 0 0 2px 2px rgba(0, 0, 0, 0.098), 0 0 5px 1px rgba(0, 0, 0, 0.084); }

.modal-backdrop {
  opacity: 0;
  will-change: opacity; }
  .modal-backdrop.in {
    -webkit-transition: opacity 0.28s ease-in-out;
    -o-transition: opacity 0.28s ease-in-out;
    transition: opacity 0.28s ease-in-out; }

.modal-backdrop-light .modal-backdrop {
  background-color: #fff; }
  .modal-backdrop-light .modal-backdrop.in {
    opacity: 0.9;
    filter: alpha(opacity=90); }

.modal-backdrop-soft .modal-backdrop.in {
  opacity: 0.3;
  filter: alpha(opacity=30); }

.modal-backdrop {
  position: fixed;
  bottom: 0; }

/**
 * Themes
 */
.theme-1 .layout-container > aside {
  background-color: #fff;
  color: #6C7177; }
  .theme-1 .layout-container > aside > .sidebar-header {
    background-color: #1976D2;
    color: #fff; }

.theme-1 .layout-container > header {
  background-color: #1976D2;
  color: #fff; }

.theme-2 .layout-container > aside {
  background-color: #263238;
  color: #fff; }
  .theme-2 .layout-container > aside > .sidebar-header {
    background-color: #263238;
    color: #fff; }

.theme-2 .layout-container > header {
  background-color: #1976D2;
  color: #fff; }

.theme-2 .layout-container > main {
  background-color: #ECEFF1; }

.theme-3 {
  background-color: #2f3c43; }
  .theme-3 .layout-container > aside {
    background-color: #263238;
    color: #fff; }
    .theme-3 .layout-container > aside > .sidebar-header {
      background-color: #263238;
      color: #fff; }
  .theme-3 .layout-container > header {
    background-color: #37474F;
    color: #fff; }
  .theme-3 .layout-container > main {
    background-color: #2f3c43;
    color: #f1f1f1; }
    .theme-3 .layout-container > main .bg-white:not([class*='bg-']),
    .theme-3 .layout-container > main .panel:not([class*='bg-']),
    .theme-3 .layout-container > main .card:not([class*='bg-']),
    .theme-3 .layout-container > main .panel-default > .panel-heading:not([class*='bg-']) {
      background-color: #35444c;
      color: inherit; }
    .theme-3 .layout-container > main .bg-white {
      background-color: #35444c;
      color: inherit; }
    .theme-3 .layout-container > main .well, .theme-3 .layout-container > main .jumbotron, .theme-3 .layout-container > main .breadcrumb, .theme-3 .layout-container > main .modal-content {
      background-color: #35444c;
      color: inherit; }
    .theme-3 .layout-container > main .btn-default {
      color: #fff;
      background-color: #37474F;
      border-color: #2d3940; }
      .theme-3 .layout-container > main .btn-default:focus, .theme-3 .layout-container > main .btn-default.focus {
        color: #fff;
        background-color: #2f3c43;
        border-color: #242f34; }
      .theme-3 .layout-container > main .btn-default:hover {
        color: #fff;
        background-color: #2f3c43;
        border-color: #242f34; }
      .theme-3 .layout-container > main .btn-default:active, .theme-3 .layout-container > main .btn-default.active,
      .open > .theme-3 .layout-container > main .btn-default.dropdown-toggle {
        color: #fff;
        background-color: #263137;
        border-color: #2a373d; }
        .theme-3 .layout-container > main .btn-default:active:hover, .theme-3 .layout-container > main .btn-default:active:focus, .theme-3 .layout-container > main .btn-default:active.focus, .theme-3 .layout-container > main .btn-default.active:hover, .theme-3 .layout-container > main .btn-default.active:focus, .theme-3 .layout-container > main .btn-default.active.focus,
        .open > .theme-3 .layout-container > main .btn-default.dropdown-toggle:hover,
        .open > .theme-3 .layout-container > main .btn-default.dropdown-toggle:focus,
        .open > .theme-3 .layout-container > main .btn-default.dropdown-toggle.focus {
          color: #fff;
          background-color: #263137;
          border-color: #2a373d; }
      .theme-3 .layout-container > main .btn-default:active, .theme-3 .layout-container > main .btn-default.active,
      .open > .theme-3 .layout-container > main .btn-default.dropdown-toggle {
        background-image: none; }
      .theme-3 .layout-container > main .btn-default.disabled:hover, .theme-3 .layout-container > main .btn-default.disabled:focus, .theme-3 .layout-container > main .btn-default.disabled.focus, .theme-3 .layout-container > main .btn-default[disabled]:hover, .theme-3 .layout-container > main .btn-default[disabled]:focus, .theme-3 .layout-container > main .btn-default[disabled].focus,
      fieldset[disabled] .theme-3 .layout-container > main .btn-default:hover,
      fieldset[disabled] .theme-3 .layout-container > main .btn-default:focus,
      fieldset[disabled] .theme-3 .layout-container > main .btn-default.focus {
        background-color: #37474F;
        border-color: #2d3940; }
      .theme-3 .layout-container > main .btn-default .badge {
        color: #37474F;
        background-color: #fff; }
    .theme-3 .layout-container > main .open > .dropdown-toggle.btn-default, .theme-3 .layout-container > main .open > .dropdown-toggle.btn-default:hover, .theme-3 .layout-container > main .open > .dropdown-toggle.btn-default:active, .theme-3 .layout-container > main .open > .dropdown-toggle.btn-default.active, .theme-3 .layout-container > main .open > .dropdown-toggle.btn-default:focus {
      color: #fff;
      background-color: #37474F;
      border-color: #2d3940; }
    .theme-3 .layout-container > main .form-control {
      color: inherit;
      background-color: rgba(240, 240, 240, 0.1);
      border-color: rgba(240, 240, 240, 0.12); }
      .theme-3 .layout-container > main .form-control:focus {
        border-color: rgba(240, 240, 240, 0.36); }
    .theme-3 .layout-container > main .form-control[disabled],
    .theme-3 .layout-container > main .form-control[readonly],
    .theme-3 .layout-container > main fieldset[disabled] .form-control {
      background-color: rgba(240, 240, 240, 0.1); }
    .theme-3 .layout-container > main select:not([multiple]) option {
      color: #6C7177; }
    .theme-3 .layout-container > main .input-group-addon,
    .theme-3 .layout-container > main .input-group-button {
      background-color: transparent;
      border: 1px solid rgba(162, 162, 162, 0.26);
      color: inherit; }
    .theme-3 .layout-container > main .nav-tabs > li.active {
      color: #fff; }
    .theme-3 .layout-container > main .note-editor .note-editing-area .note-editable {
      background-color: rgba(240, 240, 240, 0.1); }
    .theme-3 .layout-container > main .photo {
      background-color: #37474F; }
    .theme-3 .layout-container > main table.dataTable tbody tr {
      background-color: transparent; }
    .theme-3 .layout-container > main .table > tbody > tr > td,
    .theme-3 .layout-container > main .table > tbody > tr > th,
    .theme-3 .layout-container > main .table > tfoot > tr > td,
    .theme-3 .layout-container > main table.dataTable tbody th,
    .theme-3 .layout-container > main table.dataTable tbody td {
      border-top-color: rgba(255, 255, 255, 0.06); }
    .theme-3 .layout-container > main thead,
    .theme-3 .layout-container > main .table > thead,
    .theme-3 .layout-container > main .table > thead > tr,
    .theme-3 .layout-container > main .table > thead > tr > th,
    .theme-3 .layout-container > main table.dataTable thead,
    .theme-3 .layout-container > main table.dataTable thead tr,
    .theme-3 .layout-container > main table.dataTable thead th,
    .theme-3 .layout-container > main table.dataTable thead td,
    .theme-3 .layout-container > main .dataTables_scrollHead,
    .theme-3 .layout-container > main .dataTables_scrollHeadInner {
      background-color: transparent !important;
      color: inherit; }
    .theme-3 .layout-container > main .table > thead > tr > th,
    .theme-3 .layout-container > main table.dataTable thead th,
    .theme-3 .layout-container > main table.dataTable thead td {
      border-bottom-color: rgba(255, 255, 255, 0.12); }
    .theme-3 .layout-container > main .table-bordered,
    .theme-3 .layout-container > main .table-bordered > tbody > tr > td,
    .theme-3 .layout-container > main .table-bordered > tbody > tr > th,
    .theme-3 .layout-container > main .table-bordered > thead > tr > td,
    .theme-3 .layout-container > main .table-bordered > thead > tr > th {
      border-color: rgba(255, 255, 255, 0.06); }
    .theme-3 .layout-container > main .table-striped > tbody > tr:nth-of-type(odd),
    .theme-3 .layout-container > main table.dataTable.stripe tbody tr.odd,
    .theme-3 .layout-container > main table.dataTable.display tbody tr.odd {
      background-color: rgba(255, 255, 255, 0.025); }
    .theme-3 .layout-container > main .table-hover > tbody > tr:hover,
    .theme-3 .layout-container > main table.dataTable.hover tbody tr:hover,
    .theme-3 .layout-container > main table.dataTable.display tbody tr:hover {
      background-color: rgba(255, 255, 255, 0.05); }
    .theme-3 .layout-container > main table.dataTable tbody tr > .sorting_1,
    .theme-3 .layout-container > main table.dataTable tbody tr > .sorting_2,
    .theme-3 .layout-container > main table.dataTable tbody tr > .sorting_3,
    .theme-3 .layout-container > main .table > tbody > tr.active > td,
    .theme-3 .layout-container > main .table > tbody > tr.active > th,
    .theme-3 .layout-container > main .table > tbody > tr > td.active,
    .theme-3 .layout-container > main .table > tbody > tr > th.active {
      background-color: transparent; }
    .theme-3 .layout-container > main table.dataTable tbody tr:hover > .sorting_1,
    .theme-3 .layout-container > main table.dataTable tbody tr:hover > .sorting_2,
    .theme-3 .layout-container > main table.dataTable tbody tr:hover > .sorting_3,
    .theme-3 .layout-container > main .table-hover > tbody > tr.active:hover > td,
    .theme-3 .layout-container > main .table-hover > tbody > tr:hover > td.active {
      background-color: rgba(255, 255, 255, 0.05); }
    .theme-3 .layout-container > main table.dataTable tbody tr.selected,
    .theme-3 .layout-container > main table.dataTable tbody tr.selected > .sorting_1,
    .theme-3 .layout-container > main table.dataTable tbody tr.selected > .sorting_2,
    .theme-3 .layout-container > main table.dataTable tbody tr.selected > .sorting_3 {
      background-color: rgba(255, 255, 255, 0.09); }
  .theme-3 .sidebar-header-logo > svg, .theme-3 .sidebar-header-logo > em,
  .theme-3 .nav-icon > svg,
  .theme-3 .nav-icon > em {
    color: #BDD52E !important;
    fill: #BDD52E !important; }

.theme-4 .layout-container > aside {
  background-color: #263238;
  color: #fff; }
  .theme-4 .layout-container > aside > .sidebar-header {
    background-color: #263238;
    color: #fff; }

.theme-4 .layout-container > header {
  background-color: #BDD52E;
  color: #fff; }

.theme-4 .layout-container > main {
  background-color: #ECEFF1; }

.theme-4 .sidebar-header-logo > svg, .theme-4 .sidebar-header-logo > em,
.theme-4 .nav-icon > svg,
.theme-4 .nav-icon > em {
  color: #BDD52E !important;
  fill: #dfea98 !important; }

.theme-5 .layout-container > aside {
  background-color: #263238;
  color: #fff; }
  .theme-5 .layout-container > aside > .sidebar-header {
    background-color: #263238;
    color: #fff; }

.theme-5 .layout-container > header {
  background-color: #2E9AB2;
  color: #fff; }

.theme-5 .layout-container > main {
  background-color: #ECEFF1; }

.theme-5 .sidebar-header-logo > svg, .theme-5 .sidebar-header-logo > em,
.theme-5 .nav-icon > svg,
.theme-5 .nav-icon > em {
  color: #2E9AB2 !important;
  fill: #81cdde !important; }

.theme-6 .layout-container > aside {
  background-color: #263238;
  color: #fff; }
  .theme-6 .layout-container > aside > .sidebar-header {
    background-color: #263238;
    color: #fff; }

.theme-6 .layout-container > header {
  background-color: #9575CD;
  color: #fff; }

.theme-6 .layout-container > main {
  background-color: #ECEFF1; }

.theme-6 .sidebar-header-logo > svg, .theme-6 .sidebar-header-logo > em,
.theme-6 .nav-icon > svg,
.theme-6 .nav-icon > em {
  color: #9575CD !important;
  fill: #ddd3ef !important; }

.theme-7 .layout-container > aside {
  background-color: #fff;
  color: #6C7177; }
  .theme-7 .layout-container > aside > .sidebar-header {
    background-color: #455A64;
    color: #fff; }

.theme-7 .layout-container > header {
  background-color: #455A64;
  color: #fff; }

.theme-7 .layout-container > main {
  background-color: #ECEFF1; }

.theme-8 .layout-container > aside {
  background-color: #263238;
  color: #fff; }
  .theme-8 .layout-container > aside > .sidebar-header {
    background-color: #263238;
    color: #fff; }

.theme-8 .layout-container > header {
  background-color: #fff;
  color: #6C7177; }

.theme-8 .layout-container > main {
  background-color: #ECEFF1; }

.theme-8 .sidebar-header-logo > svg, .theme-8 .sidebar-header-logo > em,
.theme-8 .nav-icon > svg,
.theme-8 .nav-icon > em {
  color: #2E5ABD !important;
  fill: #f1f1f1 !important; }

.theme-9 .layout-container > aside {
  background-color: #fff;
  color: #6C7177; }
  .theme-9 .layout-container > aside > .sidebar-header {
    background-color: #fff;
    color: #6C7177; }

.theme-9 .layout-container > header {
  background-color: #fff;
  color: #6C7177; }

.theme-9 .layout-container > main {
  background-color: #ECEFF1; }

.theme-9 .sidebar-header-logo > svg, .theme-9 .sidebar-header-logo > em,
.theme-9 .nav-icon > svg,
.theme-9 .nav-icon > em {
  color: #738c98 !important;
  fill: #90A4AE !important; }

.preview-theme-1 .preview-header {
  background-color: #1976D2; }

.preview-theme-1 .preview-sidebar {
  background-color: #fff; }

.preview-theme-1 .preview-content {
  background-color: #f1f2f3; }

.preview-theme-2 .preview-header {
  background-color: #1976D2; }

.preview-theme-2 .preview-sidebar {
  background-color: #263238; }

.preview-theme-2 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-3 .preview-header {
  background-color: #37474F; }

.preview-theme-3 .preview-sidebar {
  background-color: #263238; }

.preview-theme-3 .preview-content {
  background-color: #37474F; }

.preview-theme-4 .preview-header {
  background-color: #BDD52E; }

.preview-theme-4 .preview-sidebar {
  background-color: #fff; }

.preview-theme-4 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-5 .preview-header {
  background-color: #2E9AB2; }

.preview-theme-5 .preview-sidebar {
  background-color: #fff; }

.preview-theme-5 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-6 .preview-header {
  background-color: #9575CD; }

.preview-theme-6 .preview-sidebar {
  background-color: #fff; }

.preview-theme-6 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-7 .preview-header {
  background-color: #455A64; }

.preview-theme-7 .preview-sidebar {
  background-color: #fff; }

.preview-theme-7 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-8 .preview-header {
  background-color: #fff; }

.preview-theme-8 .preview-sidebar {
  background-color: #263238; }

.preview-theme-8 .preview-content {
  background-color: #ECEFF1; }

.preview-theme-9 .preview-header {
  background-color: #fff; }

.preview-theme-9 .preview-sidebar {
  background-color: #fff; }

.preview-theme-9 .preview-content {
  background-color: #ECEFF1; }

/**
 * Typography
 */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
  opacity: 0.54;
  font-size: 0.6em;
  color: inherit; }

h1 > small, h2 > small, h3 > small, h4 > small, h5 > small, h6 > small {
  margin-left: 5px; }

small {
  color: inherit; }

h1 {
  font-size: 56px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.02em;
  margin-top: 24px;
  margin-bottom: 24px; }

h2 {
  font-size: 45px;
  font-weight: 400;
  line-height: 48px;
  margin-top: 24px;
  margin-bottom: 24px; }

h3 {
  font-size: 34px;
  font-weight: 400;
  line-height: 40px;
  margin-top: 24px;
  margin-bottom: 24px; }

h4 {
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  -moz-osx-font-smoothing: grayscale;
  margin-top: 24px;
  margin-bottom: 16px; }

h5 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: 24px;
  margin-bottom: 16px; }

h6 {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0.04em;
  margin-top: 24px;
  margin-bottom: 16px; }

/**
 * Custom form elements
 *    - Checkbox
 *    - Radios
 */
.c-checkbox,
.c-radio {
  margin-right: 4px; }
  .c-checkbox input,
  .c-radio input {
    opacity: 0;
    position: absolute;
    margin-left: 0 !important; }
  .c-checkbox span,
  .c-radio span {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-left: -20px;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    border: 1px solid rgba(162, 162, 162, 0.36);
    margin-right: 5px;
    text-align: center; }
    .c-checkbox span:before,
    .c-radio span:before {
      margin-left: 0; }
  .c-checkbox:hover span,
  .c-radio:hover span {
    border-color: #2E5ABD; }

.c-radio span,
.c-checkbox-rounded span {
  border-radius: 500px; }

.c-checkbox span:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  text-align: center !important;
  font-size: 12px;
  line-height: 18px;
  vertical-align: middle; }

.c-checkbox input[type=checkbox]:checked + span:before {
  color: #fff;
  opacity: 1;
  transition: color .3s ease-out; }

.c-checkbox input[type=checkbox]:checked + span {
  border-color: #2E5ABD;
  background-color: #2E5ABD; }

.c-checkbox input[type=checkbox]:disabled + span {
  border-color: rgba(162, 162, 162, 0.12) !important;
  background-color: rgba(162, 162, 162, 0.12) !important;
  cursor: not-allowed; }

.c-radio span:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 50%;
  left: 50%;
  margin-top: -5px;
  margin-left: -5px;
  border-radius: 500px;
  opacity: 0; }

.c-radio input[type=radio]:checked + span:before {
  color: #fff;
  opacity: 1;
  transition: color .3s ease-out; }

.c-radio input[type=radio]:checked + span {
  border-color: #2E5ABD;
  background-color: rgba(162, 162, 162, 0.12); }
  .c-radio input[type=radio]:checked + span:before {
    background-color: #2E5ABD; }

.c-radio input[type=radio]:disabled + span {
  border-color: rgba(162, 162, 162, 0.12) !important;
  cursor: not-allowed; }
  .c-radio input[type=radio]:disabled + span:before {
    background-color: rgba(162, 162, 162, 0.12); }

/**
 * Forms - Note Editor
 */
.note-area > textarea {
  background-image: -webkit-linear-gradient(rgba(162, 162, 162, 0.26) 0.1em, transparent 0.1em);
  background-image: linear-gradient(rgba(162, 162, 162, 0.26) 0.1em, transparent 0.1em);
  background-size: 100% 20px;
  background-color: transparent !important;
  line-height: 20px;
  margin-top: 5px;
  padding: 0;
  padding-bottom: 1px;
  border: none !important; }

.note-area.note-area-margin {
  position: relative; }
  .note-area.note-area-margin > textarea {
    padding-left: 55px; }
  .note-area.note-area-margin:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 45px;
    width: 5px;
    background-color: rgba(245, 149, 4, 0.5); }

/**
 * Forms - Switch
 */
.switch .form-control {
  padding-top: 7px;
  margin-bottom: 0; }

.switch * {
  cursor: pointer; }

.switch input {
  opacity: 0;
  position: absolute;
  z-index: -1; }

.switch {
  margin-right: 8px; }
  .switch span {
    position: relative;
    display: inline-block;
    width: 35px;
    height: 15px;
    background-color: #9e9e9e;
    border: 0;
    border-radius: 8px;
    vertical-align: middle;
    -webkit-transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1) 0.1s;
    -o-transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1) 0.1s;
    transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1) 0.1s; }
  .switch span:after {
    content: "";
    position: absolute;
    background-color: #fff;
    top: -2px;
    left: 0;
    height: 20px;
    width: 20px;
    border: 0;
    border-radius: 400px;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.084);
    -webkit-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    -o-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1); }
  .switch.switch-primary input:checked + span {
    background-color: #2E5ABD; }
    .switch.switch-primary input:checked + span:after {
      background-color: #2E5ABD; }
  .switch.switch-primary.switch-warn input:checked + span {
    background-color: rgba(46, 90, 189, 0.5); }
  .switch.switch-info input:checked + span {
    background-color: #2E9AB2; }
    .switch.switch-info input:checked + span:after {
      background-color: #2E9AB2; }
  .switch.switch-info.switch-warn input:checked + span {
    background-color: rgba(46, 154, 178, 0.5); }
  .switch.switch-danger input:checked + span {
    background-color: #f04e44; }
    .switch.switch-danger input:checked + span:after {
      background-color: #f04e44; }
  .switch.switch-danger.switch-warn input:checked + span {
    background-color: rgba(240, 78, 68, 0.5); }
  .switch.switch-warning input:checked + span {
    background-color: #f59504; }
    .switch.switch-warning input:checked + span:after {
      background-color: #f59504; }
  .switch.switch-warning.switch-warn input:checked + span {
    background-color: rgba(245, 149, 4, 0.5); }
  .switch.switch-success input:checked + span {
    background-color: #BDD52E; }
    .switch.switch-success input:checked + span:after {
      background-color: #BDD52E; }
  .switch.switch-success.switch-warn input:checked + span {
    background-color: rgba(189, 213, 46, 0.5); }
  .switch.switch-purple input:checked + span {
    background-color: #7E57C2; }
    .switch.switch-purple input:checked + span:after {
      background-color: #7E57C2; }
  .switch.switch-purple.switch-warn input:checked + span {
    background-color: rgba(126, 87, 194, 0.5); }

.switch input:checked + span {
  background-color: #EC407A; }
  .switch input:checked + span:after {
    background-color: #EC407A; }

.switch.switch-warn input:checked + span {
  background-color: rgba(236, 64, 122, 0.5); }

.switch input:checked + span:after {
  left: 50%; }

.switch input:disabled + span {
  background-color: rgba(158, 158, 158, 0.5) !important; }
  .switch input:disabled + span:after {
    background-color: #fff !important; }

/**
 * Material Lists
 */
.mda-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  .mda-list > .mda-list-item {
    padding: 0 22px; }
    .mda-list > .mda-list-item:before, .mda-list > .mda-list-item:after {
      content: " ";
      display: table; }
    .mda-list > .mda-list-item:after {
      clear: both; }
    .mda-list > .mda-list-item > .mda-list-item-img,
    .mda-list > .mda-list-item > .mda-list-item-icon,
    .mda-list > .mda-list-item > .mda-list-item-initial {
      float: left;
      width: 48px;
      height: 48px;
      margin-top: 20px;
      margin-bottom: 8px;
      margin-right: 20px;
      border-radius: 50%; }
    .mda-list > .mda-list-item > .mda-list-item-icon {
      line-height: 42px;
      text-align: center; }
      .mda-list > .mda-list-item > .mda-list-item-icon > em, .mda-list > .mda-list-item > .mda-list-item-icon > i {
        line-height: inherit; }
    .mda-list > .mda-list-item > .mda-list-item-initial {
      line-height: 50px;
      text-align: center;
      font-size: 22px;
      font-weight: 300; }
    .mda-list > .mda-list-item > .mda-list-item-text {
      float: left;
      padding: 20px 0; }
      .mda-list > .mda-list-item > .mda-list-item-text.mda-2-line {
        padding-top: 26px; }
      .mda-list > .mda-list-item > .mda-list-item-text h3 {
        font-size: 16px;
        font-weight: 400;
        letter-spacing: .01em;
        margin: 0 0 6px;
        line-height: .75em; }
      .mda-list > .mda-list-item > .mda-list-item-text h4 {
        font-size: 14px;
        letter-spacing: .01em;
        font-weight: 400;
        margin: 10px 0 5px;
        line-height: .75em; }
      .mda-list > .mda-list-item > .mda-list-item-text p {
        font-size: 14px;
        font-weight: 500;
        margin: 0;
        line-height: 1.6em; }
    .mda-list > .mda-list-item > .mda-list-item-img + .mda-list-item-text,
    .mda-list > .mda-list-item > .mda-list-item-initial + .mda-list-item-text {
      width: calc(100% - 68px); }
  .mda-list.mda-list-bordered > .mda-list-item {
    border-bottom: 1px solid rgba(162, 162, 162, 0.16); }

.card > .mda-list-bordered > .mda-list-item:last-child {
  border-bottom: 0; }

/**
 * Nestable
 */
.dd {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  max-width: 600px;
  list-style: none;
  font-size: 13px;
  line-height: 20px; }

.dd-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none; }

.dd-list .dd-list {
  padding-left: 30px; }

.dd-collapsed .dd-list {
  display: none; }

.dd-item,
.dd-empty,
.dd-placeholder {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 20px;
  font-size: 13px;
  line-height: 20px; }

.dd-handle {
  display: block;
  margin: 5px 0;
  padding: 5px 0;
  text-decoration: none;
  color: inherit;
  -webkit-border-radius: 3px;
  border-radius: 3px; }

.dd-item > button {
  display: block;
  position: relative;
  cursor: pointer;
  float: left;
  width: 25px;
  height: 30px;
  margin: 5px 0;
  padding: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  font-weight: bold; }

.dd-item > button:before {
  content: '+';
  display: block;
  position: absolute;
  width: 100%;
  text-align: center;
  text-indent: 0; }

.dd-item > button[data-action="collapse"]:before {
  content: '-'; }

.dd-placeholder,
.dd-empty {
  margin: 5px 0;
  padding: 0;
  min-height: 30px;
  border: 1px dashed #b6bcbf;
  box-sizing: border-box;
  -moz-box-sizing: border-box; }

.dd-empty {
  border: 1px dashed #bbb;
  min-height: 100px;
  background-color: #e5e5e5;
  background-size: 60px 60px;
  background-position: 0 0, 30px 30px; }

.dd-dragel {
  position: absolute;
  pointer-events: none;
  z-index: 9999; }

.dd-dragel > .dd-item .dd-handle {
  margin-top: 0; }

/**
  * Nestable Extras
  */
.nestable-lists {
  display: block;
  clear: both;
  padding: 30px 0;
  width: 100%;
  border: 0;
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd; }

@media only screen and (min-width: 700px) {
  .dd + .dd {
    margin-left: 2%; } }

.dd-hover > .dd-handle {
  background: #2ea8e5 !important; }

/**
  * Nestable Draggable Handles
  */
.dd3-content {
  display: block;
  margin: 5px 0;
  padding: 10px 10px 10px 50px;
  text-decoration: none;
  border: 1px solid #ebebeb;
  background: #fff;
  -webkit-border-radius: 3px;
  border-radius: 3px; }

.dd-dragel > .dd3-item > .dd3-content {
  margin: 0; }

.dd3-item > button {
  margin-left: 40px; }

.dd3-handle {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  cursor: pointer;
  width: 40px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border: 1px solid #ebebeb;
  background: #fff;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.dd3-handle:before {
  content: '≡';
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  text-align: center;
  text-indent: 0;
  color: #ccc;
  font-size: 20px;
  font-weight: normal; }

.dd3-handle:hover {
  background: #f7f7f7; }

/**
 * Forms - Advanced plugins
 */
.noUi-handle {
  border-radius: 50%;
  border: 0;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  background-color: #2E5ABD; }

.noUi-horizontal .noUi-handle {
  width: 24px;
  height: 24px;
  top: -10px; }
  .noUi-horizontal .noUi-handle:before, .noUi-horizontal .noUi-handle:after {
    display: none; }

.noUi-connect {
  background-color: #2E5ABD; }

.noUi-horizontal {
  height: 4px;
  border: 0;
  background-color: #ECEFF1; }

.noUi-target.noUi-connect {
  background-color: #2E5ABD;
  -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0); }

.ui-slider-success .noUi-handle {
  background-color: #BDD52E; }

.ui-slider-success .noUi-connect {
  background-color: #BDD52E; }

.ui-slider-success.noUi-target.noUi-connect {
  background-color: #BDD52E; }

.ui-slider-info .noUi-handle {
  background-color: #2E9AB2; }

.ui-slider-info .noUi-connect {
  background-color: #2E9AB2; }

.ui-slider-info.noUi-target.noUi-connect {
  background-color: #2E9AB2; }

.ui-slider-warning .noUi-handle {
  background-color: #f59504; }

.ui-slider-warning .noUi-connect {
  background-color: #f59504; }

.ui-slider-warning.noUi-target.noUi-connect {
  background-color: #f59504; }

.ui-slider-danger .noUi-handle {
  background-color: #f04e44; }

.ui-slider-danger .noUi-connect {
  background-color: #f04e44; }

.ui-slider-danger.noUi-target.noUi-connect {
  background-color: #f04e44; }

.ui-slider-inverse .noUi-handle {
  background-color: #2c2d36; }

.ui-slider-inverse .noUi-connect {
  background-color: #2c2d36; }

.ui-slider-inverse.noUi-target.noUi-connect {
  background-color: #2c2d36; }

/* Select2
    ----------------------------------- */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  position: relative;
  background-color: transparent;
  color: inherit;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  min-height: 32px; }
  .select2-container--default .select2-selection--single:after,
  .select2-container--default .select2-selection--multiple:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 50%;
    right: 50%;
    height: 2px;
    -webkit-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: inherit; }

.select2-container--open.select2-container--default .select2-selection--single,
.select2-container--open.select2-container--default .select2-selection--multiple,
.select2-container--focus.select2-container--default .select2-selection--single,
.select2-container--focus.select2-container--default .select2-selection--multiple {
  border: 0; }
  .select2-container--open.select2-container--default .select2-selection--single:after,
  .select2-container--open.select2-container--default .select2-selection--multiple:after,
  .select2-container--focus.select2-container--default .select2-selection--single:after,
  .select2-container--focus.select2-container--default .select2-selection--multiple:after {
    background-color: #2E5ABD;
    left: 0;
    right: 0; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  border-radius: 20px;
  border: 0;
  background-color: rgba(162, 162, 162, 0.12);
  padding: 4px 12px;
  margin: 0 8px 4px 0 !important; }

.select2-container--default .select2-selection--multiple .select2-selection__choice,
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: inherit; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 0;
  border-bottom: 1px solid #aaa; }

.select2-dropdown {
  top: 1px;
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-animation: zoomIn 0.2s ease;
  -o-animation: zoomIn 0.2s ease;
  animation: zoomIn 0.2s ease; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #E0E0E0; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #E0E0E0;
  color: #263238; }

/* Clockpicker
    ----------------------------------- */
.clockpicker-popover {
  -webkit-transform-origin: top left;
  -moz-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-animation: zoomIn 0.2s ease;
  -o-animation: zoomIn 0.2s ease;
  animation: zoomIn 0.2s ease; }
  .clockpicker-popover .arrow {
    display: none; }
  .clockpicker-popover.popover.bottom {
    margin-top: 1px; }

/* Colorpicker
    -----------------------------------*/
.colorpicker {
  -webkit-transform-origin: top right;
  -moz-transform-origin: top right;
  -ms-transform-origin: top right;
  transform-origin: top right;
  -webkit-animation: zoomIn 0.2s ease;
  -o-animation: zoomIn 0.2s ease;
  animation: zoomIn 0.2s ease; }
  .colorpicker:before, .colorpicker:after {
    display: none; }

.colorpicker-2x .colorpicker-saturation {
  width: 200px;
  height: 200px; }

.colorpicker-2x .colorpicker-hue,
.colorpicker-2x .colorpicker-alpha {
  width: 30px;
  height: 200px; }

.colorpicker-2x .colorpicker-color,
.colorpicker-2x .colorpicker-color div {
  height: 30px; }

/* Datepicker
    -----------------------------------*/
.ui-datepicker-responsive {
  max-width: 100%;
  overflow: auto; }

.ui-datepicker {
  background-color: transparent;
  -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }
  .ui-datepicker.ui-datepicker-popup {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }
  .ui-datepicker .datepicker-inline {
    display: inline-block;
    padding: 0;
    width: 100%; }
  .ui-datepicker .datepicker table {
    width: 100%; }
  .ui-datepicker .datepicker table tr td,
  .ui-datepicker .datepicker table tr th {
    border-radius: 0;
    padding: 16px 12px;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    font-size: 12px; }
  .ui-datepicker .datepicker tbody tr td {
    padding: 12px 12px; }
  .ui-datepicker .datepicker table tr td.day:hover {
    background: rgba(162, 162, 162, 0.12); }
  .ui-datepicker .datepicker table thead tr:last-child th {
    padding: 0;
    line-height: 36px;
    font-size: 85%; }
  .ui-datepicker .datepicker thead tr:first-child th:hover, .ui-datepicker .datepicker tfoot tr th:hover {
    background-image: none;
    background-color: #E91E63;
    color: #fff; }
  .ui-datepicker .datepicker table tr td.active:hover, .ui-datepicker .datepicker table tr td.active:hover:hover, .ui-datepicker .datepicker table tr td.active.disabled:hover, .ui-datepicker .datepicker table tr td.active.disabled:hover:hover, .ui-datepicker .datepicker table tr td.active:focus, .ui-datepicker .datepicker table tr td.active:hover:focus, .ui-datepicker .datepicker table tr td.active.disabled:focus, .ui-datepicker .datepicker table tr td.active.disabled:hover:focus, .ui-datepicker .datepicker table tr td.active:active, .ui-datepicker .datepicker table tr td.active:hover:active, .ui-datepicker .datepicker table tr td.active.disabled:active, .ui-datepicker .datepicker table tr td.active.disabled:hover:active, .ui-datepicker .datepicker table tr td.active.active, .ui-datepicker .datepicker table tr td.active:hover.active, .ui-datepicker .datepicker table tr td.active.disabled.active, .ui-datepicker .datepicker table tr td.active.disabled:hover.active, .ui-datepicker .open .dropdown-toggle.datepicker table tr td.active, .ui-datepicker .open .dropdown-toggle.datepicker table tr td.active:hover, .ui-datepicker .open .dropdown-toggle.datepicker table tr td.active.disabled, .ui-datepicker .open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
    background-image: none;
    background-color: #E91E63;
    color: #fff; }
  .ui-datepicker .datepicker table tr td span.active:hover, .ui-datepicker .datepicker table tr td span.active:hover:hover, .ui-datepicker .datepicker table tr td span.active.disabled:hover, .ui-datepicker .datepicker table tr td span.active.disabled:hover:hover, .ui-datepicker .datepicker table tr td span.active:focus, .ui-datepicker .datepicker table tr td span.active:hover:focus, .ui-datepicker .datepicker table tr td span.active.disabled:focus, .ui-datepicker .datepicker table tr td span.active.disabled:hover:focus, .ui-datepicker .datepicker table tr td span.active:active, .ui-datepicker .datepicker table tr td span.active:hover:active, .ui-datepicker .datepicker table tr td span.active.disabled:active, .ui-datepicker .datepicker table tr td span.active.disabled:hover:active, .ui-datepicker .datepicker table tr td span.active.active, .ui-datepicker .datepicker table tr td span.active:hover.active, .ui-datepicker .datepicker table tr td span.active.disabled.active, .ui-datepicker .datepicker table tr td span.active.disabled:hover.active, .ui-datepicker .open .dropdown-toggle.datepicker table tr td span.active, .ui-datepicker .open .dropdown-toggle.datepicker table tr td span.active:hover, .ui-datepicker .open .dropdown-toggle.datepicker table tr td span.active.disabled, .ui-datepicker .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover,
  .ui-datepicker .datepicker .datepicker-switch:hover, .ui-datepicker .datepicker .prev:hover, .ui-datepicker .datepicker .next:hover, .ui-datepicker .datepicker tfoot tr th:hover {
    background-image: none;
    background-color: #E91E63;
    color: #fff; }
  .ui-datepicker.mda-form-control, .ui-datepicker.mda-input-group {
    -webkit-box-shadow: 0 0 0 #000;
    box-shadow: 0 0 0 #000; }
  .ui-datepicker .input-daterange .input-group-addon {
    background: transparent;
    border: 0 !important;
    vertical-align: baseline; }

.datepicker.dropdown-menu {
  margin: 0;
  padding: 0 0 5px 0;
  border: 0;
  -webkit-animation: zoomIn 0.2s ease;
  -o-animation: zoomIn 0.2s ease;
  animation: zoomIn 0.2s ease; }
  .datepicker.dropdown-menu.datepicker-orient-top {
    -webkit-transform-origin: top left;
    -moz-transform-origin: top left;
    -ms-transform-origin: top left;
    transform-origin: top left; }
  .datepicker.dropdown-menu.datepicker-orient-bottom {
    -webkit-transform-origin: bottom left;
    -moz-transform-origin: bottom left;
    -ms-transform-origin: bottom left;
    transform-origin: bottom left; }
  .datepicker.dropdown-menu table tr td, .datepicker.dropdown-menu table tr th {
    border-radius: 0; }
  .datepicker.dropdown-menu:after, .datepicker.dropdown-menu:before {
    display: none; }

.dp-theme-primary .datepicker table thead tr:first-child th {
  background-color: #2E5ABD;
  color: #fff; }

.dp-theme-primary .datepicker table thead tr:last-child th {
  background-color: #2950a8;
  color: #fff; }

.dp-theme-primary .datepicker thead tr:first-child th:hover, .dp-theme-primary .datepicker tfoot tr th:hover {
  background-color: #2E5ABD;
  color: #fff; }

.dp-theme-primary .datepicker table tr td.active:hover, .dp-theme-primary .datepicker table tr td.active:hover:hover, .dp-theme-primary .datepicker table tr td.active.disabled:hover, .dp-theme-primary .datepicker table tr td.active.disabled:hover:hover, .dp-theme-primary .datepicker table tr td.active:focus, .dp-theme-primary .datepicker table tr td.active:hover:focus, .dp-theme-primary .datepicker table tr td.active.disabled:focus, .dp-theme-primary .datepicker table tr td.active.disabled:hover:focus, .dp-theme-primary .datepicker table tr td.active:active, .dp-theme-primary .datepicker table tr td.active:hover:active, .dp-theme-primary .datepicker table tr td.active.disabled:active, .dp-theme-primary .datepicker table tr td.active.disabled:hover:active, .dp-theme-primary .datepicker table tr td.active.active, .dp-theme-primary .datepicker table tr td.active:hover.active, .dp-theme-primary .datepicker table tr td.active.disabled.active, .dp-theme-primary .datepicker table tr td.active.disabled:hover.active, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-primary .datepicker .datepicker-switch:hover, .dp-theme-primary .datepicker .prev:hover, .dp-theme-primary .datepicker .next:hover, .dp-theme-primary .datepicker tfoot tr th:hover {
  background-color: #2E5ABD;
  color: #fff; }

.dp-theme-primary.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-primary.datepicker-standalone .datepicker .prev, .dp-theme-primary.datepicker-standalone .datepicker .next, .dp-theme-primary.datepicker-standalone .datepicker tfoot tr th {
  background-color: #2E5ABD;
  color: #fff; }

.dp-theme-primary .datepicker table tr td span.active:hover, .dp-theme-primary .datepicker table tr td span.active:hover:hover, .dp-theme-primary .datepicker table tr td span.active.disabled:hover, .dp-theme-primary .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-primary .datepicker table tr td span.active:focus, .dp-theme-primary .datepicker table tr td span.active:hover:focus, .dp-theme-primary .datepicker table tr td span.active.disabled:focus, .dp-theme-primary .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-primary .datepicker table tr td span.active:active, .dp-theme-primary .datepicker table tr td span.active:hover:active, .dp-theme-primary .datepicker table tr td span.active.disabled:active, .dp-theme-primary .datepicker table tr td span.active.disabled:hover:active, .dp-theme-primary .datepicker table tr td span.active.active, .dp-theme-primary .datepicker table tr td span.active:hover.active, .dp-theme-primary .datepicker table tr td span.active.disabled.active, .dp-theme-primary .datepicker table tr td span.active.disabled:hover.active, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-primary .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #2E5ABD;
  color: #fff; }

.dp-theme-success .datepicker table thead tr:first-child th {
  background-color: #BDD52E;
  color: #fff; }

.dp-theme-success .datepicker table thead tr:last-child th {
  background-color: #acc227;
  color: #fff; }

.dp-theme-success .datepicker thead tr:first-child th:hover, .dp-theme-success .datepicker tfoot tr th:hover {
  background-color: #BDD52E;
  color: #fff; }

.dp-theme-success .datepicker table tr td.active:hover, .dp-theme-success .datepicker table tr td.active:hover:hover, .dp-theme-success .datepicker table tr td.active.disabled:hover, .dp-theme-success .datepicker table tr td.active.disabled:hover:hover, .dp-theme-success .datepicker table tr td.active:focus, .dp-theme-success .datepicker table tr td.active:hover:focus, .dp-theme-success .datepicker table tr td.active.disabled:focus, .dp-theme-success .datepicker table tr td.active.disabled:hover:focus, .dp-theme-success .datepicker table tr td.active:active, .dp-theme-success .datepicker table tr td.active:hover:active, .dp-theme-success .datepicker table tr td.active.disabled:active, .dp-theme-success .datepicker table tr td.active.disabled:hover:active, .dp-theme-success .datepicker table tr td.active.active, .dp-theme-success .datepicker table tr td.active:hover.active, .dp-theme-success .datepicker table tr td.active.disabled.active, .dp-theme-success .datepicker table tr td.active.disabled:hover.active, .dp-theme-success .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-success .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-success .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-success .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-success .datepicker .datepicker-switch:hover, .dp-theme-success .datepicker .prev:hover, .dp-theme-success .datepicker .next:hover, .dp-theme-success .datepicker tfoot tr th:hover {
  background-color: #BDD52E;
  color: #fff; }

.dp-theme-success.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-success.datepicker-standalone .datepicker .prev, .dp-theme-success.datepicker-standalone .datepicker .next, .dp-theme-success.datepicker-standalone .datepicker tfoot tr th {
  background-color: #BDD52E;
  color: #fff; }

.dp-theme-success .datepicker table tr td span.active:hover, .dp-theme-success .datepicker table tr td span.active:hover:hover, .dp-theme-success .datepicker table tr td span.active.disabled:hover, .dp-theme-success .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-success .datepicker table tr td span.active:focus, .dp-theme-success .datepicker table tr td span.active:hover:focus, .dp-theme-success .datepicker table tr td span.active.disabled:focus, .dp-theme-success .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-success .datepicker table tr td span.active:active, .dp-theme-success .datepicker table tr td span.active:hover:active, .dp-theme-success .datepicker table tr td span.active.disabled:active, .dp-theme-success .datepicker table tr td span.active.disabled:hover:active, .dp-theme-success .datepicker table tr td span.active.active, .dp-theme-success .datepicker table tr td span.active:hover.active, .dp-theme-success .datepicker table tr td span.active.disabled.active, .dp-theme-success .datepicker table tr td span.active.disabled:hover.active, .dp-theme-success .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-success .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-success .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-success .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #BDD52E;
  color: #fff; }

.dp-theme-warning .datepicker table thead tr:first-child th {
  background-color: #f59504;
  color: #fff; }

.dp-theme-warning .datepicker table thead tr:last-child th {
  background-color: #dc8604;
  color: #fff; }

.dp-theme-warning .datepicker thead tr:first-child th:hover, .dp-theme-warning .datepicker tfoot tr th:hover {
  background-color: #f59504;
  color: #fff; }

.dp-theme-warning .datepicker table tr td.active:hover, .dp-theme-warning .datepicker table tr td.active:hover:hover, .dp-theme-warning .datepicker table tr td.active.disabled:hover, .dp-theme-warning .datepicker table tr td.active.disabled:hover:hover, .dp-theme-warning .datepicker table tr td.active:focus, .dp-theme-warning .datepicker table tr td.active:hover:focus, .dp-theme-warning .datepicker table tr td.active.disabled:focus, .dp-theme-warning .datepicker table tr td.active.disabled:hover:focus, .dp-theme-warning .datepicker table tr td.active:active, .dp-theme-warning .datepicker table tr td.active:hover:active, .dp-theme-warning .datepicker table tr td.active.disabled:active, .dp-theme-warning .datepicker table tr td.active.disabled:hover:active, .dp-theme-warning .datepicker table tr td.active.active, .dp-theme-warning .datepicker table tr td.active:hover.active, .dp-theme-warning .datepicker table tr td.active.disabled.active, .dp-theme-warning .datepicker table tr td.active.disabled:hover.active, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-warning .datepicker .datepicker-switch:hover, .dp-theme-warning .datepicker .prev:hover, .dp-theme-warning .datepicker .next:hover, .dp-theme-warning .datepicker tfoot tr th:hover {
  background-color: #f59504;
  color: #fff; }

.dp-theme-warning.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-warning.datepicker-standalone .datepicker .prev, .dp-theme-warning.datepicker-standalone .datepicker .next, .dp-theme-warning.datepicker-standalone .datepicker tfoot tr th {
  background-color: #f59504;
  color: #fff; }

.dp-theme-warning .datepicker table tr td span.active:hover, .dp-theme-warning .datepicker table tr td span.active:hover:hover, .dp-theme-warning .datepicker table tr td span.active.disabled:hover, .dp-theme-warning .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-warning .datepicker table tr td span.active:focus, .dp-theme-warning .datepicker table tr td span.active:hover:focus, .dp-theme-warning .datepicker table tr td span.active.disabled:focus, .dp-theme-warning .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-warning .datepicker table tr td span.active:active, .dp-theme-warning .datepicker table tr td span.active:hover:active, .dp-theme-warning .datepicker table tr td span.active.disabled:active, .dp-theme-warning .datepicker table tr td span.active.disabled:hover:active, .dp-theme-warning .datepicker table tr td span.active.active, .dp-theme-warning .datepicker table tr td span.active:hover.active, .dp-theme-warning .datepicker table tr td span.active.disabled.active, .dp-theme-warning .datepicker table tr td span.active.disabled:hover.active, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-warning .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #f59504;
  color: #fff; }

.dp-theme-info .datepicker table thead tr:first-child th {
  background-color: #2E9AB2;
  color: #fff; }

.dp-theme-info .datepicker table thead tr:last-child th {
  background-color: #29889e;
  color: #fff; }

.dp-theme-info .datepicker thead tr:first-child th:hover, .dp-theme-info .datepicker tfoot tr th:hover {
  background-color: #2E9AB2;
  color: #fff; }

.dp-theme-info .datepicker table tr td.active:hover, .dp-theme-info .datepicker table tr td.active:hover:hover, .dp-theme-info .datepicker table tr td.active.disabled:hover, .dp-theme-info .datepicker table tr td.active.disabled:hover:hover, .dp-theme-info .datepicker table tr td.active:focus, .dp-theme-info .datepicker table tr td.active:hover:focus, .dp-theme-info .datepicker table tr td.active.disabled:focus, .dp-theme-info .datepicker table tr td.active.disabled:hover:focus, .dp-theme-info .datepicker table tr td.active:active, .dp-theme-info .datepicker table tr td.active:hover:active, .dp-theme-info .datepicker table tr td.active.disabled:active, .dp-theme-info .datepicker table tr td.active.disabled:hover:active, .dp-theme-info .datepicker table tr td.active.active, .dp-theme-info .datepicker table tr td.active:hover.active, .dp-theme-info .datepicker table tr td.active.disabled.active, .dp-theme-info .datepicker table tr td.active.disabled:hover.active, .dp-theme-info .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-info .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-info .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-info .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-info .datepicker .datepicker-switch:hover, .dp-theme-info .datepicker .prev:hover, .dp-theme-info .datepicker .next:hover, .dp-theme-info .datepicker tfoot tr th:hover {
  background-color: #2E9AB2;
  color: #fff; }

.dp-theme-info.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-info.datepicker-standalone .datepicker .prev, .dp-theme-info.datepicker-standalone .datepicker .next, .dp-theme-info.datepicker-standalone .datepicker tfoot tr th {
  background-color: #2E9AB2;
  color: #fff; }

.dp-theme-info .datepicker table tr td span.active:hover, .dp-theme-info .datepicker table tr td span.active:hover:hover, .dp-theme-info .datepicker table tr td span.active.disabled:hover, .dp-theme-info .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-info .datepicker table tr td span.active:focus, .dp-theme-info .datepicker table tr td span.active:hover:focus, .dp-theme-info .datepicker table tr td span.active.disabled:focus, .dp-theme-info .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-info .datepicker table tr td span.active:active, .dp-theme-info .datepicker table tr td span.active:hover:active, .dp-theme-info .datepicker table tr td span.active.disabled:active, .dp-theme-info .datepicker table tr td span.active.disabled:hover:active, .dp-theme-info .datepicker table tr td span.active.active, .dp-theme-info .datepicker table tr td span.active:hover.active, .dp-theme-info .datepicker table tr td span.active.disabled.active, .dp-theme-info .datepicker table tr td span.active.disabled:hover.active, .dp-theme-info .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-info .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-info .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-info .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #2E9AB2;
  color: #fff; }

.dp-theme-danger .datepicker table thead tr:first-child th {
  background-color: #f04e44;
  color: #fff; }

.dp-theme-danger .datepicker table thead tr:last-child th {
  background-color: #ee382c;
  color: #fff; }

.dp-theme-danger .datepicker thead tr:first-child th:hover, .dp-theme-danger .datepicker tfoot tr th:hover {
  background-color: #f04e44;
  color: #fff; }

.dp-theme-danger .datepicker table tr td.active:hover, .dp-theme-danger .datepicker table tr td.active:hover:hover, .dp-theme-danger .datepicker table tr td.active.disabled:hover, .dp-theme-danger .datepicker table tr td.active.disabled:hover:hover, .dp-theme-danger .datepicker table tr td.active:focus, .dp-theme-danger .datepicker table tr td.active:hover:focus, .dp-theme-danger .datepicker table tr td.active.disabled:focus, .dp-theme-danger .datepicker table tr td.active.disabled:hover:focus, .dp-theme-danger .datepicker table tr td.active:active, .dp-theme-danger .datepicker table tr td.active:hover:active, .dp-theme-danger .datepicker table tr td.active.disabled:active, .dp-theme-danger .datepicker table tr td.active.disabled:hover:active, .dp-theme-danger .datepicker table tr td.active.active, .dp-theme-danger .datepicker table tr td.active:hover.active, .dp-theme-danger .datepicker table tr td.active.disabled.active, .dp-theme-danger .datepicker table tr td.active.disabled:hover.active, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-danger .datepicker .datepicker-switch:hover, .dp-theme-danger .datepicker .prev:hover, .dp-theme-danger .datepicker .next:hover, .dp-theme-danger .datepicker tfoot tr th:hover {
  background-color: #f04e44;
  color: #fff; }

.dp-theme-danger.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-danger.datepicker-standalone .datepicker .prev, .dp-theme-danger.datepicker-standalone .datepicker .next, .dp-theme-danger.datepicker-standalone .datepicker tfoot tr th {
  background-color: #f04e44;
  color: #fff; }

.dp-theme-danger .datepicker table tr td span.active:hover, .dp-theme-danger .datepicker table tr td span.active:hover:hover, .dp-theme-danger .datepicker table tr td span.active.disabled:hover, .dp-theme-danger .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-danger .datepicker table tr td span.active:focus, .dp-theme-danger .datepicker table tr td span.active:hover:focus, .dp-theme-danger .datepicker table tr td span.active.disabled:focus, .dp-theme-danger .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-danger .datepicker table tr td span.active:active, .dp-theme-danger .datepicker table tr td span.active:hover:active, .dp-theme-danger .datepicker table tr td span.active.disabled:active, .dp-theme-danger .datepicker table tr td span.active.disabled:hover:active, .dp-theme-danger .datepicker table tr td span.active.active, .dp-theme-danger .datepicker table tr td span.active:hover.active, .dp-theme-danger .datepicker table tr td span.active.disabled.active, .dp-theme-danger .datepicker table tr td span.active.disabled:hover.active, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-danger .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #f04e44;
  color: #fff; }

.dp-theme-pink .datepicker table thead tr:first-child th {
  background-color: #E91E63;
  color: #fff; }

.dp-theme-pink .datepicker table thead tr:last-child th {
  background-color: #d81558;
  color: #fff; }

.dp-theme-pink .datepicker thead tr:first-child th:hover, .dp-theme-pink .datepicker tfoot tr th:hover {
  background-color: #E91E63;
  color: #fff; }

.dp-theme-pink .datepicker table tr td.active:hover, .dp-theme-pink .datepicker table tr td.active:hover:hover, .dp-theme-pink .datepicker table tr td.active.disabled:hover, .dp-theme-pink .datepicker table tr td.active.disabled:hover:hover, .dp-theme-pink .datepicker table tr td.active:focus, .dp-theme-pink .datepicker table tr td.active:hover:focus, .dp-theme-pink .datepicker table tr td.active.disabled:focus, .dp-theme-pink .datepicker table tr td.active.disabled:hover:focus, .dp-theme-pink .datepicker table tr td.active:active, .dp-theme-pink .datepicker table tr td.active:hover:active, .dp-theme-pink .datepicker table tr td.active.disabled:active, .dp-theme-pink .datepicker table tr td.active.disabled:hover:active, .dp-theme-pink .datepicker table tr td.active.active, .dp-theme-pink .datepicker table tr td.active:hover.active, .dp-theme-pink .datepicker table tr td.active.disabled.active, .dp-theme-pink .datepicker table tr td.active.disabled:hover.active, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-pink .datepicker .datepicker-switch:hover, .dp-theme-pink .datepicker .prev:hover, .dp-theme-pink .datepicker .next:hover, .dp-theme-pink .datepicker tfoot tr th:hover {
  background-color: #E91E63;
  color: #fff; }

.dp-theme-pink.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-pink.datepicker-standalone .datepicker .prev, .dp-theme-pink.datepicker-standalone .datepicker .next, .dp-theme-pink.datepicker-standalone .datepicker tfoot tr th {
  background-color: #E91E63;
  color: #fff; }

.dp-theme-pink .datepicker table tr td span.active:hover, .dp-theme-pink .datepicker table tr td span.active:hover:hover, .dp-theme-pink .datepicker table tr td span.active.disabled:hover, .dp-theme-pink .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-pink .datepicker table tr td span.active:focus, .dp-theme-pink .datepicker table tr td span.active:hover:focus, .dp-theme-pink .datepicker table tr td span.active.disabled:focus, .dp-theme-pink .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-pink .datepicker table tr td span.active:active, .dp-theme-pink .datepicker table tr td span.active:hover:active, .dp-theme-pink .datepicker table tr td span.active.disabled:active, .dp-theme-pink .datepicker table tr td span.active.disabled:hover:active, .dp-theme-pink .datepicker table tr td span.active.active, .dp-theme-pink .datepicker table tr td span.active:hover.active, .dp-theme-pink .datepicker table tr td span.active.disabled.active, .dp-theme-pink .datepicker table tr td span.active.disabled:hover.active, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-pink .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #E91E63;
  color: #fff; }

.dp-theme-purple .datepicker table thead tr:first-child th {
  background-color: #7E57C2;
  color: #fff; }

.dp-theme-purple .datepicker table thead tr:last-child th {
  background-color: #7044bb;
  color: #fff; }

.dp-theme-purple .datepicker thead tr:first-child th:hover, .dp-theme-purple .datepicker tfoot tr th:hover {
  background-color: #7E57C2;
  color: #fff; }

.dp-theme-purple .datepicker table tr td.active:hover, .dp-theme-purple .datepicker table tr td.active:hover:hover, .dp-theme-purple .datepicker table tr td.active.disabled:hover, .dp-theme-purple .datepicker table tr td.active.disabled:hover:hover, .dp-theme-purple .datepicker table tr td.active:focus, .dp-theme-purple .datepicker table tr td.active:hover:focus, .dp-theme-purple .datepicker table tr td.active.disabled:focus, .dp-theme-purple .datepicker table tr td.active.disabled:hover:focus, .dp-theme-purple .datepicker table tr td.active:active, .dp-theme-purple .datepicker table tr td.active:hover:active, .dp-theme-purple .datepicker table tr td.active.disabled:active, .dp-theme-purple .datepicker table tr td.active.disabled:hover:active, .dp-theme-purple .datepicker table tr td.active.active, .dp-theme-purple .datepicker table tr td.active:hover.active, .dp-theme-purple .datepicker table tr td.active.disabled.active, .dp-theme-purple .datepicker table tr td.active.disabled:hover.active, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td.active, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td.active:hover, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td.active.disabled, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td.active.disabled:hover,
.dp-theme-purple .datepicker .datepicker-switch:hover, .dp-theme-purple .datepicker .prev:hover, .dp-theme-purple .datepicker .next:hover, .dp-theme-purple .datepicker tfoot tr th:hover {
  background-color: #7E57C2;
  color: #fff; }

.dp-theme-purple.datepicker-standalone .datepicker .datepicker-switch, .dp-theme-purple.datepicker-standalone .datepicker .prev, .dp-theme-purple.datepicker-standalone .datepicker .next, .dp-theme-purple.datepicker-standalone .datepicker tfoot tr th {
  background-color: #7E57C2;
  color: #fff; }

.dp-theme-purple .datepicker table tr td span.active:hover, .dp-theme-purple .datepicker table tr td span.active:hover:hover, .dp-theme-purple .datepicker table tr td span.active.disabled:hover, .dp-theme-purple .datepicker table tr td span.active.disabled:hover:hover, .dp-theme-purple .datepicker table tr td span.active:focus, .dp-theme-purple .datepicker table tr td span.active:hover:focus, .dp-theme-purple .datepicker table tr td span.active.disabled:focus, .dp-theme-purple .datepicker table tr td span.active.disabled:hover:focus, .dp-theme-purple .datepicker table tr td span.active:active, .dp-theme-purple .datepicker table tr td span.active:hover:active, .dp-theme-purple .datepicker table tr td span.active.disabled:active, .dp-theme-purple .datepicker table tr td span.active.disabled:hover:active, .dp-theme-purple .datepicker table tr td span.active.active, .dp-theme-purple .datepicker table tr td span.active:hover.active, .dp-theme-purple .datepicker table tr td span.active.disabled.active, .dp-theme-purple .datepicker table tr td span.active.disabled:hover.active, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td span.active, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td span.active:hover, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td span.active.disabled, .dp-theme-purple .open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
  background-color: #7E57C2;
  color: #fff; }

/**
 * Material Forms
 */
.mda-form-group {
  position: relative;
  padding: 0 0 24px 0; }

.mda-form-control {
  position: relative;
  padding-top: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14); }

.mda-form-control > input, .mda-form-control > textarea, .mda-form-control > select {
  padding: 2px;
  height: 34px;
  background-color: transparent !important;
  border: 0;
  border-radius: 0;
  box-shadow: none; }
  .mda-form-control > input:focus ~ label, .mda-form-control > input.focus ~ label, .mda-form-control > textarea:focus ~ label, .mda-form-control > textarea.focus ~ label, .mda-form-control > select:focus ~ label, .mda-form-control > select.focus ~ label {
    top: 0 !important;
    font-size: 0.85em !important;
    color: #2E5ABD;
    opacity: 1; }
  .mda-form-control > input ~ label, .mda-form-control > textarea ~ label, .mda-form-control > select ~ label {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: inline-block;
    font-size: .85em;
    opacity: .5;
    font-weight: 500;
    -webkit-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  .mda-form-control > input.disabled, .mda-form-control > input[disabled], .mda-form-control > textarea.disabled, .mda-form-control > textarea[disabled], .mda-form-control > select.disabled, .mda-form-control > select[disabled] {
    background-color: transparent;
    opacity: .5;
    cursor: not-allowed; }

.mda-form-control.mda-form-control-dark {
  border-bottom-color: rgba(255, 255, 255, 0.26); }
  .mda-form-control.mda-form-control-dark > input, .mda-form-control.mda-form-control-dark > textarea, .mda-form-control.mda-form-control-dark > select {
    color: #fff; }
    .mda-form-control.mda-form-control-dark > input::-moz-placeholder, .mda-form-control.mda-form-control-dark > textarea::-moz-placeholder, .mda-form-control.mda-form-control-dark > select::-moz-placeholder {
      color: rgba(255, 255, 255, 0.5);
      opacity: 1; }
    .mda-form-control.mda-form-control-dark > input:-ms-input-placeholder, .mda-form-control.mda-form-control-dark > textarea:-ms-input-placeholder, .mda-form-control.mda-form-control-dark > select:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.5); }
    .mda-form-control.mda-form-control-dark > input::-webkit-input-placeholder, .mda-form-control.mda-form-control-dark > textarea::-webkit-input-placeholder, .mda-form-control.mda-form-control-dark > select::-webkit-input-placeholder {
      color: rgba(255, 255, 255, 0.5); }
    .mda-form-control.mda-form-control-dark > input:focus ~ label,
    .mda-form-control.mda-form-control-dark > input.focus ~ label, .mda-form-control.mda-form-control-dark > textarea:focus ~ label,
    .mda-form-control.mda-form-control-dark > textarea.focus ~ label, .mda-form-control.mda-form-control-dark > select:focus ~ label,
    .mda-form-control.mda-form-control-dark > select.focus ~ label {
      color: #fff !important; }

.mda-form-group-lg .mda-form-control > input {
  height: 48px; }

.mda-form-group-lg.float-label .mda-form-control > input ~ label {
  top: 28px;
  font-size: 1.5em; }

.mda-form-control > textarea {
  height: auto; }

.mda-form-control-line {
  position: absolute;
  bottom: -1px;
  left: 50%;
  right: 50%;
  height: 2px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }

.mda-form-control > input:focus ~ .mda-form-control-line, .mda-form-control > textarea:focus ~ .mda-form-control-line, .mda-form-control > select:focus ~ .mda-form-control-line {
  background-color: #2E5ABD;
  left: 0;
  right: 0; }

.mda-form-control.mda-form-control-dark > input:focus ~ .mda-form-control-line, .mda-form-control.mda-form-control-dark > textarea:focus ~ .mda-form-control-line, .mda-form-control.mda-form-control-dark > select:focus ~ .mda-form-control-line {
  background-color: #fff; }

.mda-form-msg {
  position: absolute;
  bottom: 0;
  font-size: .85em;
  line-height: 24px;
  font-weight: 300;
  color: #90A4AE; }
  .mda-form-msg.right {
    right: 0; }

.form-validate .mda-form-control .form-control.error ~ .mda-form-control-line {
  background-color: #f04e44; }

.form-validate .mda-form-control .form-control.error:focus ~ label,
.form-validate .mda-form-control .form-control.error.focus ~ label,
.form-validate .mda-form-control .form-control.error ~ .mda-form-msg {
  color: #f04e44; }

.form-validate .mda-form-control .form-control.valid ~ .mda-form-control-line,
.form-validate .mda-form-control .form-control.valid:focus ~ .mda-form-control-line {
  background-color: #BDD52E; }

.form-validate .mda-form-control .form-control.valid:focus ~ label,
.form-validate .mda-form-control .form-control.valid.focus ~ label,
.form-validate .mda-form-control .form-control.valid:focus:focus ~ label,
.form-validate .mda-form-control .form-control.valid:focus.focus ~ label {
  color: #BDD52E; }

.form-validate label.error {
  color: #f04e44; }

.form-validate label.valid {
  color: #BDD52E; }

.float-label .mda-form-control > input ~ label,
.float-label .mda-form-control > textarea ~ label {
  top: 25px;
  margin-bottom: 0;
  font-size: 1em;
  pointer-events: none; }

.float-label .mda-form-control > input.valid ~ label,
.float-label .mda-form-control > input.error ~ label,
.float-label .mda-form-control > input.has-value ~ label,
.float-label .mda-form-control > textarea.valid ~ label,
.float-label .mda-form-control > textarea.error ~ label,
.float-label .mda-form-control > textarea.has-value ~ label {
  top: 0;
  font-size: .85em; }

.mda-input-group {
  position: relative; }
  .mda-input-group .mda-form-control > input {
    padding-left: 36px; }
  .mda-input-group .mda-form-control > label {
    margin-left: 36px; }
  .mda-input-group .form-control {
    float: none; }
  .mda-input-group > .mda-input-group-addon {
    position: absolute;
    top: 25px;
    left: 2px; }
  .mda-input-group .mda-form-group + .input-group-btn,
  .mda-input-group .input-group-btn + .mda-form-group {
    padding-left: 16px; }

.mda-checkbox,
.mda-radio {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin: 0;
  cursor: pointer; }
  .mda-checkbox input,
  .mda-radio input {
    position: absolute;
    z-index: 1;
    width: 20px;
    height: 20px;
    margin-left: -20px;
    cursor: pointer;
    opacity: 0; }
    .mda-checkbox input:checked + em:before,
    .mda-radio input:checked + em:before {
      background-color: inherit;
      border-width: 0; }
    .mda-checkbox input:checked + span .active,
    .mda-radio input:checked + span .active {
      display: inherit; }
  .mda-checkbox input[type="checkbox"]:checked + em:after,
  .mda-radio input[type="checkbox"]:checked + em:after {
    position: absolute;
    top: 2px;
    left: 6px;
    display: table;
    width: 6px;
    height: 12px;
    border: 2px solid;
    border-top: 0;
    border-left: 0;
    content: ' ';
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg); }
  .mda-checkbox input[type="radio"]:checked + em:after,
  .mda-radio input[type="radio"]:checked + em:after {
    content: ' ';
    position: absolute;
    top: 3px;
    left: 3px;
    display: table;
    width: 12px;
    height: 12px;
    background: inherit;
    border-radius: 50%;
    border: 2px solid #fff; }
  .mda-checkbox input[type="radio"] + em,
  .mda-checkbox input[type="radio"] + em:before,
  .mda-radio input[type="radio"] + em,
  .mda-radio input[type="radio"] + em:before {
    border-radius: 50%; }

.mda-checkbox input[disabled] + em:before,
fieldset[disabled] .mda-checkbox input + em:before,
.mda-radio input[disabled] + em:before,
fieldset[disabled] .mda-radio input + em:before {
  border-color: rgba(0, 0, 0, 0.26); }

.mda-checkbox input[disabled]:checked + em,
.mda-radio input[disabled]:checked + em {
  background-color: rgba(0, 0, 0, 0.26); }

.mda-radio input[disabled]:checked + em:after {
  background-color: transparent; }

.mda-checkbox input[disabled]:checked + em:before {
  background-color: rgba(0, 0, 0, 0.26); }

.mda-checkbox > em,
.mda-radio > em {
  position: relative;
  display: inline-block;
  width: 0;
  height: 18px;
  margin-top: -2px;
  margin-right: 28px;
  margin-left: -20px;
  line-height: 1;
  vertical-align: middle; }
  .mda-checkbox > em:before,
  .mda-radio > em:before {
    content: "";
    position: absolute;
    width: 18px;
    height: 100%;
    border: 2px solid rgba(162, 162, 162, 0.56);
    border-radius: 2px;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
  .mda-checkbox > em.empty:after,
  .mda-radio > em.empty:after {
    display: none !important; }

/**
 * Tables - Bootgrid
 */
.bootgrid .table > thead > tr > td.active, .bootgrid .table > tbody > tr > td.active, .bootgrid .table > tfoot > tr > td.active, .bootgrid .table > thead > tr > th.active, .bootgrid .table > tbody > tr > th.active, .bootgrid .table > tfoot > tr > th.active, .bootgrid .table > thead > tr.active > td, .bootgrid .table > tbody > tr.active > td, .bootgrid .table > tfoot > tr.active > td, .bootgrid .table > thead > tr.active > th, .bootgrid .table > tbody > tr.active > th, .bootgrid .table > tfoot > tr.active > th {
  background-color: #ECEFF1; }

.bootgrid-header .search .form-control {
  border: 0 !important;
  border-bottom: 1px solid rgba(162, 162, 162, 0.12) !important;
  border-radius: 0;
  background-color: transparent !important; }
  .bootgrid-header .search .form-control:focus {
    border-bottom-color: #2E5ABD !important; }

.bootgrid-header .search .input-group-addon {
  border: 0 !important;
  background-color: transparent; }

.bootgrid-header .search.form-group {
  float: left; }

.bootgrid-header .dropdown > .btn {
  border: 0; }
  .bootgrid-header .dropdown > .btn:hover, .bootgrid-header .dropdown > .btn:focus {
    -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }

.bootgrid-header .dropdown .dropdown-item {
  color: #555; }

.bootgrid-header .dropdown .active > .dropdown-item {
  color: #fff; }

.bootgrid-table th > .column-header-anchor {
  color: inherit; }

.bootgrid-table th:hover, .bootgrid-table th:active {
  background-color: rgba(162, 162, 162, 0.12); }

.bootgrid .table > thead > tr > td.active, .bootgrid .table > tbody > tr > td.active, .bootgrid .table > tfoot > tr > td.active, .bootgrid .table > thead > tr > th.active, .bootgrid .table > tbody > tr > th.active, .bootgrid .table > tfoot > tr > th.active, .bootgrid .table > thead > tr.active > td, .bootgrid .table > tbody > tr.active > td, .bootgrid .table > tfoot > tr.active > td, .bootgrid .table > thead > tr.active > th, .bootgrid .table > tbody > tr.active > th, .bootgrid .table > tfoot > tr.active > th {
  background-color: rgba(162, 162, 162, 0.12); }

/**
 * Tables - Datatables
 */
table.dataTable {
  border-bottom: 0; }
  table.dataTable,
  table.dataTable th,
  table.dataTable td {
    -webkit-box-sizing: border-box !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important; }
  table.dataTable tbody tr {
    background-color: transparent !important; }
    table.dataTable tbody tr:nth-of-type(odd) {
      background-color: rgba(162, 162, 162, 0.06) !important; }
  table.dataTable thead th,
  table.dataTable thead td {
    border-bottom: 0 !important; }

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper select,
.dataTables_wrapper .form-control {
  box-shadow: none;
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  background-color: transparent !important;
  background-image: none;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid rgba(162, 162, 162, 0.16); }
  .dataTables_wrapper .dataTables_filter input:focus,
  .dataTables_wrapper select:focus,
  .dataTables_wrapper .form-control:focus {
    border-bottom-color: #2E9AB2 !important; }

.dataTables_wrapper > .dataTables_paginate .paginate_button {
  background-image: none !important;
  background-color: rgba(162, 162, 162, 0.26) !important;
  border: 0 !important;
  border-radius: 50%;
  -webkit-transition: none;
  -o-transition: none;
  transition: none; }
  .dataTables_wrapper > .dataTables_paginate .paginate_button:hover {
    background-color: #2E9AB2 !important;
    color: #fff !important; }

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: inherit !important; }

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background-color: #2E9AB2 !important;
  color: #fff !important; }

.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #fff !important; }

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  background-color: rgba(162, 162, 162, 0.26) !important;
  color: inherit !important; }

table.dataTable.no-footer {
  border-bottom: 0; }

table.dataTable tfoot th, table.dataTable tfoot td {
  border-top: 0; }

.card .dataTable {
  width: 100% !important; }

.card .dataTables_wrapper > .row,
.panel .dataTables_wrapper > .row {
  margin: 0; }

/* Fix datatables image paths for distribution */
table.dataTable thead .sorting {
  background-image: url("../img/sort_both.png"); }

table.dataTable thead .sorting_asc {
  background-image: url("../img/sort_asc.png"); }

table.dataTable thead .sorting_desc {
  background-image: url("../img/sort_desc.png"); }

table.dataTable thead .sorting_asc_disabled {
  background-image: url("../img/sort_asc_disabled.png"); }

table.dataTable thead .sorting_desc_disabled {
  background-image: url("../img/sort_desc_disabled.png"); }

.xsmall {
  font-size: 8px; }

.big {
  font-size: 20px; }

.bigMin {
  font-size: 16px; }

td.bid {
  width: 150px; }

td.medIcon {
  font-size: 14px; }

td.bigIcon {
  font-size: 30px; }

.bigIcon {
  font-size: 30px; }

td.bigIconMin {
  font-size: 25px; }

.sameWidth {
  width: 150px; }

.sameWidth-200 {
  width: 160px; }

.sameWidth25Perc {
  width: 80px; }

.responsive-width {
  font-size: 3vw; }

.label.label-secondary {
  background-color: #d3d8df;
  color: #FFF; }

.label.label-secondary2 {
  background-color: #fff; }

.label.label-outlined {
  border-width: 1px;
  border-style: solid;
  background-color: transparent; }

.label.label-outlined2 {
  border-width: 1px;
  border-style: solid; }

.label.label-outlined.label-secondary {
  border-color: #d3d8df;
  color: #8c8c8c; }

.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 60px;
  height: 60px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite; }

.miniLoader {
  border: 4px solid #FFB300;
  border-radius: 50%;
  border-top: 4px solid #3498db;
  width: 30px;
  height: 30px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite; }

.miniLoader2 {
  border: 4px solid #F44336;
  border-radius: 50%;
  border-top: 4px solid #080808;
  width: 30px;
  height: 30px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite; }

/* Safari */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.sigPad {
  width: 100%;
  height: 200px; }

.panel {
  margin-bottom: 0px;
  background-color: transparent; }

hr {
  border-color: #aaa;
  box-sizing: border-box;
  width: 100%; }

.loaderM {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #0080ff;
  background: -moz-linear-gradient(left, #0080ff 10%, rgba(0, 128, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #0080ff 10%, rgba(0, 128, 255, 0) 42%);
  background: -o-linear-gradient(left, #0080ff 10%, rgba(0, 128, 255, 0) 42%);
  background: -ms-linear-gradient(left, #0080ff 10%, rgba(0, 128, 255, 0) 42%);
  background: linear-gradient(to right, #0080ff 10%, rgba(0, 128, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0); }

.loaderM:before {
  width: 50%;
  height: 50%;
  background: #0080ff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: ''; }

.loaderM:after {
  background: #0080ff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.collectionColorBG {
  --pt-cor: #0277bd;
  --pt-fundo: rgba(2, 119, 189, .08); }

.deliveryColorBG {
  --pt-cor: #2e7d32;
  --pt-fundo: rgba(46, 125, 50, .08); }

canvas.drawing, canvas.drawingBuffer {
  position: absolute;
  left: 0;
  top: 0; }

.containerPhoto {
  position: relative;
  width: 100%;
  max-width: 100%; }

.containerPhoto img {
  width: 100%;
  height: auto; }

.containerPhoto .btn {
  position: absolute;
  top: 93%;
  left: 85%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background-color: #555;
  color: white;
  font-size: 16px;
  padding: 12px 24px;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  text-align: center;
  opacity: 0.5; }

.containerPhoto .btn:hover {
  background-color: black; }

.photoGuide {
  width: 100%;
  height: auto; }

.miniPhotoGuide {
  width: 80px;
  height: auto; }

.bgStore {
  background-image: url("/img/cortadoComFlipdish.png");
  background-position: right;
  background-repeat: no-repeat;
  background-size: 1067px 200px; }

@-webkit-keyframes rotating /* Safari and Chrome */ {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

.rotating {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite; }

.alignRight {
  float: right; }

.typeService {
  width: 100%;
  height: auto; }

.typeService2 {
  width: 50%;
  height: auto; }

.typeService3 {
  width: 30%;
  height: auto; }

/* ---- Regresso do detalhe: "onde e' que eu ia?" -----------------------------
   Quem fecha um servico volta a uma tabela com dezenas de linhas iguais e tem de
   reencontrar aquela em que estava. E' para isso que serve este realce.

   O que ca' estava pintava a linha inteira de azul OPACO (#66b6de) a meio da
   animacao. Em tema claro passava; em tema escuro era um clarao branco-azulado
   que tapava o texto da linha justamente durante os tres segundos em que se
   estava a olhar para ela — o contrario do que o realce existe para fazer.

   O realce e' uma SOMBRA INTERIOR e nao um fundo, e a razao e' de peso: nas
   tabelas largas a primeira coluna e as tres da direita ficam fixas com fundo
   OPACO, porque e' por baixo delas que o resto da linha passa a rolar
   (ds.scss: .ds-wide-wrap.is-x / .is-pin). Animar `background-color` tomava
   conta dessa propriedade durante os tres segundos e deixava as celulas fixas
   translucidas — via-se o meio da linha a passar por debaixo dos botoes. Uma
   sombra interior pinta POR CIMA do fundo da celula e por BAIXO do texto: as
   celulas fixas continuam opacas, o realce ve-se em todas, e nada se sobrepoe.

   Entra depressa (12%) e sai devagar: o olho apanha a chegada, e a saida lenta
   nao rouba a atencao a quem ja' comecou a ler. */
@keyframes returnHighlightCell {
  0% {
    box-shadow: inset 0 0 0 9999px rgba(102, 182, 222, 0); }
  12% {
    box-shadow: inset 0 0 0 9999px rgba(102, 182, 222, 0.3); }
  55% {
    box-shadow: inset 0 0 0 9999px rgba(102, 182, 222, 0.16); }
  100% {
    box-shadow: inset 0 0 0 9999px rgba(102, 182, 222, 0); } }

/* A primeira celula leva a mesma tinta MAIS a barra da esquerda, que e' o que se
   le' de relance. A barra vem primeiro na lista para ficar por cima da tinta. */
@keyframes returnHighlightEdge {
  0% {
    box-shadow: inset 4px 0 0 0 rgba(102, 182, 222, 0), inset 0 0 0 9999px rgba(102, 182, 222, 0); }
  12% {
    box-shadow: inset 4px 0 0 0 #66b6de, inset 0 0 0 9999px rgba(102, 182, 222, 0.3); }
  55% {
    box-shadow: inset 4px 0 0 0 rgba(102, 182, 222, 0.85), inset 0 0 0 9999px rgba(102, 182, 222, 0.16); }
  100% {
    box-shadow: inset 4px 0 0 0 rgba(102, 182, 222, 0), inset 0 0 0 9999px rgba(102, 182, 222, 0); } }

.returnHighlight > td {
  animation: returnHighlightCell 3s ease-out 1; }

.returnHighlight > td:first-child {
  animation: returnHighlightEdge 3s ease-out 1; }

/* Sem animacao, o realce continua a existir: a classe fica na linha durante tres
   segundos (e' o JS que a poe e tira), por isso basta pintar o estado de repouso.
   Um realce que so' existe em movimento nao existe para quem desligou o movimento. */
@media (prefers-reduced-motion: reduce) {
  .returnHighlight > td {
    animation: none;
    box-shadow: inset 0 0 0 9999px rgba(102, 182, 222, 0.18); }
  .returnHighlight > td:first-child {
    animation: none;
    box-shadow: inset 4px 0 0 0 rgba(102, 182, 222, 0.9), inset 0 0 0 9999px rgba(102, 182, 222, 0.18); } }

/* Estilos para a combobox de incidências categorizada */
select#incidence {
  width: 100%;
  padding: 10px;
  border-radius: 4px;
  border: 1px solid #ddd;
  background-color: #fff;
  font-size: 14px; }

select#incidence:focus {
  outline: none;
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

select#incidence optgroup {
  font-weight: bold;
  color: #333;
  background-color: #f8f9fa; }

select#incidence option {
  padding: 8px;
  background-color: #fff; }

/* Para browsers modernos que suportam estilização de select */
@supports (-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none) {
  select#incidence {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px;
    padding-right: 30px; } }

/* Estilo para grupos de opções */
select#incidence optgroup {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid #eee; }

select#incidence optgroup:first-of-type {
  border-top: none; }

/* Adicionar um pouco de espaço entre os grupos */
select#incidence optgroup + optgroup {
  margin-top: 8px; }

/* Estilos específicos para certos tipos de incidências */
select#incidence option[value="Ok"] {
  color: #28a745;
  font-weight: bold; }

select#incidence option[value="Outros"] {
  font-style: italic;
  color: #6c757d; }

select#incidence option {
  padding: 12px 8px;
  /* Aumenta o padding vertical */
  line-height: 1.5;
  /* Aumenta o espaçamento entre linhas */
  min-height: 30px;
  /* Define uma altura mínima */ }

/* Ajustes para os grupos de opções */
select#incidence optgroup {
  padding-top: 10px;
  padding-bottom: 10px; }

/* Para alguns navegadores que suportam estas propriedades */
select#incidence option,
select#incidence optgroup {
  height: auto; }

/* Para melhorar a visualização no dropdown aberto */
select#incidence {
  height: auto;
  font-size: 15px;
  /* Aumenta ligeiramente o tamanho da fonte */ }

/* Layout do cabeçalho de serviço */
.service-header-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px; }

/* Contêiner para o número do serviço */
.service-number-wrapper {
  flex: 1;
  min-width: 150px;
  margin-right: 10px;
  margin-bottom: 5px; }

/* Contêiner para o ícone de chat */
.chat-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto; }

/* Garante que o ícone e o número não se sobreponham */
.service-number-wrapper h4 {
  margin-top: 0;
  margin-bottom: 5px;
  word-break: break-word; }

/* Informação de distância abaixo do cabeçalho */
.distance-info {
  clear: both;
  margin-bottom: 10px; }

/* Ajustes para telas muito pequenas */
@media (max-width: 380px) {
  .service-header-container {
    flex-direction: column; }
  .service-number-wrapper,
  .chat-icon-wrapper {
    width: 100%;
    text-align: left;
    margin-bottom: 10px; }
  .chat-icon-wrapper {
    justify-content: flex-start; } }

/* =============================================================================
   CRM de Leads — estilos da página
   =============================================================================

   ATENÇÃO ao alterar este ficheiro: o `app.js` importa o `leadsBoard.js` sem
   condição nenhuma, e este importa o SCSS. Ou seja, o que aqui estiver entra no
   ficheiro de estilos global e vale em TODAS as páginas, mesmo que ninguém abra
   o CRM.

   A versão anterior redefinia à cabeça `.btn-primary`, `.btn-success`,
   `.btn-warning`, `.card`, `.card-header`, `.card-body`, `.alert`, `.btn-sm`,
   `.nav-tabs > li > a` e as scrollbars de `.table-responsive`. Como é carregado
   depois do app.scss, ganhava: os botões primários da aplicação inteira eram
   #3498db em vez do #2E5ABD do tema, e os de sucesso #27ae60 em vez de #BDD52E.
   O fade de todos os cards da aplicação também vinha daqui (`.card{animation}`).

   Por isso agora TUDO vive dentro de `.leads-scope`, que só existe nesta
   página e no seu modal. Nada aqui pode escapar para fora.
   -------------------------------------------------------------------------- */
:root {
  --variante-a-color: #2E9AB2;
  --variante-b-color: #9b59b6;
  --variante-c-color: #F04e44;
  --variante-d-color: #f39c12;
  --status-novo: #2E5ABD;
  --status-contactado: #f39c12;
  --status-fechado: #7ea300;
  --status-perdido: #95a5a6; }

/* Estas quatro cores foram escolhidas para texto sobre papel branco. No tema
   escuro o fundo do distintivo passa a ser translúcido sobre ardósia e o azul
   e o verde deixam de se ler — levantam-se aqui, num sítio só. O mesmo vale
   para as cores das variantes, que servem de fundo aos gráficos. */
.theme-3 {
  --status-novo: #7ea8ff;
  --status-contactado: #ffb547;
  --status-fechado: #b9d94a;
  --status-perdido: #aab6c0;
  --variante-a-color: #4cc0da;
  --variante-b-color: #bf82d8;
  --variante-c-color: #ff7a72;
  --variante-d-color: #ffb547; }

.leads-scope {
  /* ---- Grelhas ------------------------------------------------------- */
  /* ---- Cartões de variante ------------------------------------------- */
  /* O .ds-kpicard-var traz white-space:nowrap, pensado para "vs mês
       anterior". Aqui a linha é "N simulações · N leads" e tem de poder
       quebrar em ecrã estreito. */
  /* ---- Mini-gráfico ---------------------------------------------------
       As alturas das barras são postas pelo JS (onRendered → .mini-chart →
       [data-value]). Não mexer nos nomes destas quatro classes. */
  /* ---- Distintivos de variante e de estado ---------------------------- */
  /* ---- Tabelas --------------------------------------------------------
       O grosso vem do .ds-salestable. Aqui só o que é próprio das leads. */
  /* Destaque temporário da lead que acabou de chegar. A classe é posta e
       tirada pelo JS (Tracker.afterFlush → addClass/removeClass). */
  /* ---- Simulações sem conversão --------------------------------------- */
  /* ---- Modal de detalhe ----------------------------------------------- */
  /* O .ds-shstate do sistema é uma linha; aqui os estados vazios e de espera
       têm ícone, título e explicação empilhados. */ }
  .leads-scope .leads-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 14px; }
  .leads-scope .leads-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leads-scope .leads-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .leads-scope .leads-panel {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr); }
  .leads-scope .leads-panel--split {
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr); }
  @media (max-width: 991px) {
    .leads-scope .leads-grid--2,
    .leads-scope .leads-grid--3,
    .leads-scope .leads-panel--split {
      grid-template-columns: minmax(0, 1fr); } }
  .leads-scope .leads-vcard {
    position: relative;
    overflow: hidden;
    border-left: 3px solid var(--ds-line); }
  .leads-scope .leads-vcard--a {
    border-left-color: var(--variante-a-color); }
  .leads-scope .leads-vcard--b {
    border-left-color: var(--variante-b-color); }
  .leads-scope .leads-vcard--c {
    border-left-color: var(--variante-c-color); }
  .leads-scope .leads-vcard--d {
    border-left-color: var(--variante-d-color); }
  .leads-scope .ds-kpicard-var {
    white-space: normal;
    color: var(--ds-muted);
    font-weight: 600; }
  .leads-scope .leads-vcard-foot {
    margin-top: 2px;
    padding-top: 8px;
    border-top: 1px solid var(--ds-line);
    color: var(--ds-muted); }
    .leads-scope .leads-vcard-foot em {
      margin-right: 4px; }
  .leads-scope .leads-skeleton {
    align-items: center;
    justify-content: center;
    min-height: 150px;
    color: var(--ds-muted); }
    .leads-scope .leads-skeleton em {
      font-size: 28px;
      animation: ds-leads-spin 1.1s linear infinite; }
  .leads-scope .mini-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2px;
    height: 42px;
    margin: 10px 0 4px; }
  .leads-scope .chart-bar {
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1px;
    height: 100%;
    cursor: default; }
    .leads-scope .chart-bar:hover {
      opacity: .75; }
  .leads-scope .bar-sim,
  .leads-scope .bar-lead {
    flex: 1;
    min-height: 2px;
    border-radius: 2px 2px 0 0;
    transition: height .3s ease; }
  .leads-scope .bar-sim {
    background: var(--ds-line); }
  .leads-scope .bar-lead {
    background: var(--ds-green); }
  .leads-scope .leads-vcard--a .bar-lead {
    background: var(--variante-a-color); }
  .leads-scope .leads-vcard--b .bar-lead {
    background: var(--variante-b-color); }
  .leads-scope .leads-vcard--c .bar-lead {
    background: var(--variante-c-color); }
  .leads-scope .leads-vcard--d .bar-lead {
    background: var(--variante-d-color); }
  .leads-scope .badge-variante {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    color: #fff;
    background: var(--ds-muted); }
  .leads-scope .badge-variante-A {
    background: var(--variante-a-color); }
  .leads-scope .badge-variante-B {
    background: var(--variante-b-color); }
  .leads-scope .badge-variante-C {
    background: var(--variante-c-color); }
  .leads-scope .badge-variante-D {
    background: var(--variante-d-color); }
  .leads-scope .lead-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid currentColor;
    background: var(--ds-grey); }
  .leads-scope .lead-status-novo {
    color: var(--status-novo); }
  .leads-scope .lead-status-contactado {
    color: var(--status-contactado); }
  .leads-scope .lead-status-fechado {
    color: var(--status-fechado); }
  .leads-scope .lead-status-perdido {
    color: var(--status-perdido); }
  .leads-scope .lead-type {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: var(--ds-muted); }
  .leads-scope .lead-type-pedido {
    background: #d64c3f; }
  .leads-scope .lead-type-callback {
    background: #e08a12; }
  .leads-scope .lead-detail-type {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey);
    border-left: 3px solid var(--ds-muted); }
    .leads-scope .lead-detail-type strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .lead-detail-type small {
      font-size: 12px;
      color: var(--ds-muted); }
  .leads-scope .lead-detail-type.type-pedido {
    border-left-color: #d64c3f; }
  .leads-scope .lead-detail-type.type-callback {
    border-left-color: #e08a12; }
  .leads-scope .lead-contact,
  .leads-scope .lead-route {
    display: flex;
    flex-direction: column;
    line-height: 1.35; }
    .leads-scope .lead-contact strong,
    .leads-scope .lead-route strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .lead-contact small,
    .leads-scope .lead-route small {
      font-size: 12px;
      color: var(--ds-muted); }
  .leads-scope .lead-route em {
    font-size: 11px;
    opacity: .6; }
  .leads-scope .lead-simflag {
    color: var(--ds-green-d) !important;
    font-weight: 600; }
  .leads-scope .lead-row.new-lead > td {
    animation: ds-leads-newlead 1.4s ease-in-out 3; }
  .leads-scope .leads-simcard .simulations-list {
    max-height: 520px;
    overflow-y: auto;
    margin-top: 6px; }
  .leads-scope .simulation-item {
    padding: 9px 11px;
    margin-bottom: 8px;
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey); }
    .leads-scope .simulation-item:last-child {
      margin-bottom: 0; }
    .leads-scope .simulation-item.sim-old {
      opacity: .6; }
    .leads-scope .simulation-item p {
      margin: 2px 0; }
  .leads-scope .simulation-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px; }
    .leads-scope .simulation-header small {
      color: var(--ds-muted);
      font-size: 11.5px; }
  .leads-scope .simulation-route small {
    color: var(--ds-text);
    font-size: 12.5px; }
  .leads-scope .simulation-price {
    display: flex;
    align-items: baseline;
    gap: 8px; }
    .leads-scope .simulation-price strong {
      color: var(--ds-ink);
      font-size: 14px; }
    .leads-scope .simulation-price span {
      color: var(--ds-muted);
      font-size: 12px; }
  .leads-scope .simulation-urg small {
    color: var(--status-contactado);
    font-weight: 600; }
  .leads-scope .leads-textarea {
    min-height: 84px;
    resize: vertical;
    margin-bottom: 10px; }
  .leads-scope .leads-kv-meta strong {
    color: var(--ds-muted);
    font-weight: 600; }
  .leads-scope .leads-simlink {
    border-left: 3px solid var(--ds-green); }
  .leads-scope .tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px; }
  .leads-scope .tag-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ds-text);
    background: var(--ds-grey);
    border: 1px solid var(--ds-line); }
    .leads-scope .tag-item .remove-tag {
      color: var(--ds-muted);
      text-decoration: none;
      line-height: 1; }
      .leads-scope .tag-item .remove-tag:hover {
        color: #b3261e; }
  .leads-scope .comments-list {
    display: flex;
    flex-direction: column;
    gap: 8px; }
  .leads-scope .comment-item {
    padding: 9px 11px;
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey);
    border-left: 2px solid var(--ds-line); }
  .leads-scope .comment-header {
    display: flex;
    align-items: baseline;
    gap: 8px; }
    .leads-scope .comment-header strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .comment-header small {
      font-size: 11.5px;
      color: var(--ds-muted); }
  .leads-scope .comment-text {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--ds-text); }
  .leads-scope .history-list {
    display: flex;
    flex-direction: column;
    gap: 6px; }
  .leads-scope .history-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--ds-line);
    font-size: 12.5px; }
    .leads-scope .history-item:last-child {
      border-bottom: 0; }
    .leads-scope .history-item small {
      color: var(--ds-muted); }
    .leads-scope .history-item strong {
      color: var(--ds-text); }
  .leads-scope .ds-shstate {
    flex-direction: column;
    gap: 6px;
    text-align: center; }
    .leads-scope .ds-shstate em {
      font-size: 34px;
      opacity: .5; }
    .leads-scope .ds-shstate strong {
      font-size: 15px;
      color: var(--ds-text); }
    .leads-scope .ds-shstate small {
      color: var(--ds-muted); }
  .leads-scope .ds-shstate-spin {
    animation: ds-leads-spin 1.1s linear infinite; }

/* Com as cores levantadas para o fundo escuro, o texto branco por cima delas
   deixa de contrastar. Nos distintivos cheios inverte-se para tinta escura. */
.theme-3 .leads-scope .badge-variante {
  color: #101a26; }

/* ---- Animações -----------------------------------------------------------
   Prefixadas: as anteriores chamavam-se `spin`, `fadeIn`, `pulse` e
   `slideDown`, nomes que qualquer outro ficheiro da aplicação podia estar a
   usar — @keyframes é sempre global e o último a ser definido ganha. */
@keyframes ds-leads-spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

@keyframes ds-leads-newlead {
  0%, 100% {
    background-color: transparent; }
  50% {
    background-color: rgba(190, 214, 47, 0.22); } }

/* Pares rótulo/valor da ficha da lead. O .ds-kv do sistema é só tipografia —
   não posiciona nada — e aqui os dois <span>/<strong> são elementos em linha:
   colavam-se um ao outro e lia-se "NomeMarcelo". Rótulo à esquerda, valor à
   direita, com espaço garantido entre os dois. */
.leads-scope .ds-kv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 7px 0; }

.leads-scope .ds-kv > span {
  flex: 0 0 auto;
  color: var(--ds-muted);
  font-size: 12.5px; }

.leads-scope .ds-kv > strong {
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere; }

/**
 * Google Maps
 */
.gmap,
.angular-google-map-container {
  height: 300px; }
  .gmap.gmap-sm,
  .angular-google-map-container.gmap-sm {
    height: 150px; }

.fh .angular-google-map,
.fh .angular-google-map-container {
  height: 100% !important; }

.noPoints {
  background-image: url(img/noPoints.png);
  background-repeat: no-repeat;
  min-height: 100px;
  background-size: cover; }

span.twitter-typeahead .tt-menu,
span.twitter-typeahead .tt-dropdown-menu {
  cursor: pointer;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 14px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box; }

span.twitter-typeahead .tt-suggestion {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #333333;
  white-space: nowrap; }

span.twitter-typeahead .tt-suggestion.tt-cursor,
span.twitter-typeahead .tt-suggestion:hover,
span.twitter-typeahead .tt-suggestion:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #337ab7; }

.input-group.input-group-lg span.twitter-typeahead .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px; }

.input-group.input-group-sm span.twitter-typeahead .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px; }

span.twitter-typeahead {
  width: 100%; }

.input-group span.twitter-typeahead {
  display: block !important;
  height: 34px; }

.input-group span.twitter-typeahead .tt-menu,
.input-group span.twitter-typeahead .tt-dropdown-menu {
  top: 32px !important; }

.input-group span.twitter-typeahead:not(:first-child):not(:last-child) .form-control {
  border-radius: 0; }

.input-group span.twitter-typeahead:first-child .form-control {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group span.twitter-typeahead:last-child .form-control {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px; }

.input-group.input-group-sm span.twitter-typeahead {
  height: 30px; }

.input-group.input-group-sm span.twitter-typeahead .tt-menu,
.input-group.input-group-sm span.twitter-typeahead .tt-dropdown-menu {
  top: 30px !important; }

.input-group.input-group-lg span.twitter-typeahead {
  height: 46px; }

.input-group.input-group-lg span.twitter-typeahead .tt-menu,
.input-group.input-group-lg span.twitter-typeahead .tt-dropdown-menu {
  top: 46px !important; }

.blink {
  -webkit-animation: blink 700ms infinite alternate;
  -moz-animation: blink 700ms infinite alternate;
  -o-animation: blink 700ms infinite alternate;
  animation: blink 700ms infinite alternate; }

@-webkit-keyframes blink {
  from {
    opacity: 1; }
  to {
    opacity: 0.2; } }

@-o-keyframes blink {
  from {
    opacity: 1; }
  to {
    opacity: 0.2; } }

@-moz-keyframes blink {
  from {
    opacity: 1; }
  to {
    opacity: 0.2; } }

@keyframes blink {
  from {
    opacity: 1; }
  to {
    opacity: 0.2; } }

.noPoints {
  width: 250px;
  height: 180px;
  background-image: url("img/pic3.jpg");
  background-repeat: no-repeat;
  background-size: 250px 180px;
  border: 1px solid black; }

.containerLimitWidth {
  max-width: 100%; }

.opacity05 {
  opacity: 0.3; }

.btn-sq-lg {
  width: 150px !important;
  height: 150px !important;
  border-radius: 0; }

.btn-sq {
  width: 80px !important;
  height: 80px !important;
  font-size: 14px;
  border-radius: 0; }

.btn-sq-sm {
  width: 50px !important;
  height: 50px !important;
  font-size: 10px;
  border-radius: 0; }

.btn-sq-xs {
  width: 25px !important;
  height: 25px !important;
  padding: 2px;
  border-radius: 0; }

.map-container {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100%; }

.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 60px;
  height: 60px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite; }

.miniLoader {
  border: 4px solid #f59504;
  border-radius: 50%;
  border-top: 4px solid #3498db;
  width: 30px;
  height: 30px;
  -webkit-animation: spin 2s linear infinite;
  /* Safari */
  animation: spin 2s linear infinite; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.headcol {
  position: absolute;
  width: 5em;
  right: 0;
  top: auto;
  border-right: 0px none black;
  border-top-width: 3px;
  /*only relevant for first row*/
  margin-top: -3px;
  /*compensate for top border*/ }

.textBlink {
  color: #f59504; }

.avatar {
  vertical-align: middle;
  width: 23px;
  height: 23px;
  border-radius: 50%; }

.modal-backdrop {
  /* bug fix - no overlay */
  display: none; }

.gm-style-iw {
  width: 200px !important;
  top: 13px !important;
  left: 0 !important;
  background-color: #fff;
  border-radius: 2px 2px 2px 2px; }

.ball-beat2 > div {
  background-color: #f59504; }

.sbl-circ-ripple {
  height: 194px;
  width: 194px;
  color: #f04e44;
  border-radius: 50%;
  position: relative;
  display: inline-block; }

.sbl-circ-ripple::after,
.sbl-circ-ripple::before {
  content: "";
  height: 0;
  width: 0;
  border: inherit;
  border: 5px solid;
  border-radius: inherit;
  position: absolute;
  left: 40%;
  top: 40%;
  animation: circle-ripple 1s linear infinite; }

.sbl-circ-ripple::before {
  animation-delay: -0.5s; }

@keyframes circle-ripple {
  0% {
    height: 0;
    width: 0;
    left: 90px;
    top: 90px; }
  100% {
    height: 194px;
    width: 194px;
    left: -5px;
    top: -5px;
    opacity: 0; } }

.sbl-half-circle-spin {
  height: 48px;
  width: 48px;
  color: #f04e44;
  display: inline-block;
  position: relative;
  border: 1px solid;
  border-radius: 50%;
  animation: animeCircleSpin 4s ease-in-out infinite reverse; }

.sbl-half-circle-spin::after {
  content: '';
  border: 4px solid;
  position: absolute;
  left: 10px;
  top: 4px;
  border-radius: inherit; }

.sbl-half-circle-spin div {
  height: 50%;
  width: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  border: 1px solid;
  border-radius: 50%;
  animation: animeCircleSpin 3s ease-in-out infinite; }

.sbl-half-circle-spin div::before {
  height: 0;
  width: 0;
  content: '';
  border-radius: 50%;
  display: block; }

.sbl-half-circle-spin div::before {
  border: 12px solid;
  border-right-color: transparent;
  border-bottom-color: transparent;
  transform: rotate(-45deg); }

@keyframes animeCircleSpin {
  0% {
    transform: rotate(0); }
  50% {
    transform: rotate(720deg); }
  100% {
    transform: rotate(0); } }

.backGroundImageRound {
  background-image: url(img/map_gif.png);
  background-size: cover;
  background-repeat: no-repeat; }

.ImageRound {
  max-width: 50%; }

.mt-1 {
  margin-top: -30px; }

.ml-1 {
  margin-left: -10px; }

/**
 * Pages
 */
/* Fix blueimp-gallery image paths for distribution */
.blueimp-gallery > .slides > .slide > .video-content > a {
  background: url(../img/video-play.png) center no-repeat; }

.blueimp-gallery > .slides > .slide > .video-loading > a {
  background: url(../img/loading.gif) center no-repeat; }

body:last-child .blueimp-gallery > .slides > .slide > .video-content:not(.video-loading) > a {
  background-image: url(../img/video-play.svg); }

.blueimp-gallery > .slides > .slide-loading {
  background: url(../img/loading.gif) center no-repeat; }

.blueimp-gallery > .slides > .slide-error {
  background: url(../img/error.png) center no-repeat; }

.blueimp-gallery > .play-pause {
  background: url(../img/play-pause.png) 0 0 no-repeat; }

body:last-child .blueimp-gallery > .slides > .slide-error {
  background-image: url(../img/error.svg); }

body:last-child .blueimp-gallery > .play-pause {
  background-image: url(../img/play-pause.svg); }

.coordNr {
  font-size: 30px;
  text-align: center; }

.opacityLess {
  opacity: 0.1; }

/*
.typeahead,
.tt-query,
.tt-hint {
  height: 30px;
  padding: 8px 12px;
  font-size: 24px;
  line-height: 30px;
  border: 2px solid #ccc;
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
  outline: none;
}

.typeahead {
  background-color: #fff;
}

.typeahead:focus {
  border: 2px solid #0097cf;
}

.tt-query {
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.tt-hint {
  color: #999
}

.tt-dropdown-menu {
  width: 422px;
  margin-top: 3px;
  padding: 8px 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 8px;
     -moz-border-radius: 8px;
          border-radius: 8px;
  -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2);
     -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2);
          box-shadow: 0 5px 10px rgba(0,0,0,.2);
}

.tt-suggestion {
  padding: 3px 20px;
  font-size: 18px;
  line-height: 24px;
  color: black;
}

.tt-suggestion.tt-cursor {
  color: #fff;
  background-color: #0097cf;
}

.tt-suggestion p {
  margin: 0;
  font-size: 18px;
  text-align: left;
}

.twitter-typeahead {
  width: 100%;
}

*/
.containerLimitWidth {
  max-width: 100%; }

/**
 * Forms Validation
 */
.form-validate .form-control.error {
  border-color: #f04e44; }

.form-validate .form-control.valid, .form-validate .form-control.valid:focus {
  border-color: #BDD52E; }

.form-validate .has-error .form-control {
  border-color: #f04e44 !important; }

.form-validate .c-checkbox input.error + span, .form-validate .c-radio input.error + span {
  border-color: #f04e44; }

.setting-color {
  padding: 0 5px; }
  .setting-color > label {
    display: block;
    position: relative;
    height: 30px;
    margin: 0 10px;
    border-radius: 1px;
    cursor: pointer;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }
    .setting-color > label:first-child {
      margin-left: 0; }
    .setting-color > label:last-child {
      margin-right: 0; }
    .setting-color > label .t-grid, .setting-color > label .t-row {
      max-width: 60px;
      height: 100%;
      margin: 0; }
    .setting-color > label > .color {
      display: block;
      height: 18px; }
    .setting-color > label > .split {
      display: block; }
      .setting-color > label > .split:before, .setting-color > label > .split:after {
        content: " ";
        display: table; }
      .setting-color > label > .split:after {
        clear: both; }
      .setting-color > label > .split > .color {
        display: block;
        height: 37.5px; }
        .setting-color > label > .split > .color:first-child {
          float: left;
          width: 70%; }
        .setting-color > label > .split > .color:last-child {
          float: right;
          width: 30%; }
    .setting-color > label > .ion-checkmark-round {
      position: absolute;
      display: block;
      right: -5px;
      top: -10px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      text-align: center;
      font-size: 14px;
      color: #BDD52E;
      background-color: #fff;
      box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
      -webkit-transition: -webkit-transform 0.2s ease;
      -moz-transition: -moz-transform 0.2s ease;
      -o-transition: -o-transform 0.2s ease;
      transition: transform 0.2s ease;
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      -o-transform: scale(0);
      transform: scale(0); }
    .setting-color > label > input[type="radio"] {
      position: absolute;
      visibility: hidden; }
      .setting-color > label > input[type="radio"]:checked + .ion-checkmark-round {
        opacity: 1 !important;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1); }

textarea {
  width: 120px;
  height: 100px;
  background-color: rgba(0, 0, 0, 0.596);
  font-size: 8px; }

.iconToAlarm {
  color: orange; }

.hiddenAlarm {
  display: none !important; }

.line-success {
  background-color: #BDD52E; }

.line-warning {
  background-color: #f59504; }

.line-info {
  background-color: #2E9AB2; }

.line-danger {
  background-color: #f04e44;
  color: white; }

.line-primary {
  background-color: #2E5ABD;
  color: white; }

.line-inverse {
  background-color: #2c2d36;
  color: white; }

.map-container {
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 600px; }

.gmapRadar {
  height: 100%;
  width: 100%;
  position: relative; }

.typeahead.tt-hint {
  border-color: green;
  color: gray; }

.custom-hr {
  border: none;
  height: 2px;
  background-color: #333;
  margin: 20px 0; }

.gradient-hr {
  border: none;
  height: 3px;
  background: linear-gradient(to right, #cf6969, #BDD52E, #2E9ABD, #2E5ABD);
  margin: 20px 0; }

.dashed-hr {
  border: none;
  border-top: 2px dashed #666;
  margin: 20px 0; }

.gradient-hr-container {
  padding: 0; }

/* addUser.css - Simples e usando classes existentes */
/* Transições para campos dinâmicos */
#additionalFields,
#driverFields,
#clientFields {
  transition: all 0.3s ease; }

/* Responsive */
@media (max-width: 768px) {
  .addUser-form {
    padding: 10px; } }

/**
 * Ripple
 */
.ripple {
  position: relative;
  overflow: hidden; }
  .ripple > .md-ripple {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    bottom: 0;
    right: 0;
    overflow: hidden;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.06);
    border-radius: 50%;
    -webkit-transform: scale(0.0001, 0.0001);
    -ms-transform: scale(0.0001, 0.0001);
    -o-transform: scale(0.0001, 0.0001);
    transform: scale(0.0001, 0.0001);
    opacity: 1;
    width: 0;
    height: 0; }
    .ripple > .md-ripple.md-ripple-animate {
      -webkit-transition: -webkit-transform 0.5s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1);
      transition: transform 0.5s cubic-bezier(0, 0, 0.2, 1), opacity 0.6s cubic-bezier(0, 0, 0.2, 1);
      opacity: 0;
      -webkit-transform: scale(2);
      -ms-transform: scale(2);
      -o-transform: scale(2);
      transform: scale(2); }
  .ripple.btn-oval > .md-ripple.md-ripple-animate, .ripple.btn-pill-left > .md-ripple.md-ripple-animate, .ripple.btn-oval > .md-ripple.md-ripple-animate, .ripple.btn-pill-right > .md-ripple.md-ripple-animate, .ripple.btn-oval > .md-ripple.md-ripple-animate, .ripple.btn-flat-icon > .md-ripple.md-ripple-animate, .ripple.btn-circle > .md-ripple.md-ripple-animate {
    -webkit-transform: scale(0.99);
    -ms-transform: scale(0.99);
    -o-transform: scale(0.99);
    transform: scale(0.99); }

/**
 * Float Button
 */
.floatbutton {
  position: relative;
  z-index: 1000; }
  .floatbutton .mfb-component__button--child,
  .floatbutton .mfb-component__button--main {
    color: #fff;
    background-color: #2E9AB2; }

/**
 * Google Material Colors (customization)
 */
.bg-pink-500 {
  background-color: #E91E63;
  color: #fff !important; }

.bg-purple-400 {
  background-color: #AB47BC;
  color: #fff !important; }

.bg-purple-500 {
  background-color: #9C27B0;
  color: #fff !important; }

.bg-deep-purple-500 {
  background-color: #673AB7;
  color: #fff !important; }

.bg-indigo-500 {
  background-color: #3F51B5;
  color: #fff !important; }

.bg-green-50 {
  background-color: #E8F5E9;
  color: #fff !important; }

.bg-green-500 {
  background-color: #4CAF50;
  color: #fff !important; }

.bg-blue-500 {
  background-color: #2196F3;
  color: #fff !important; }

.bg-blue-grey-900 {
  background-color: #263238;
  color: #fff !important; }

.bg-red-500 {
  background-color: #F44336;
  color: #fff !important; }

.bg-primary,
.bg-red-800, .bg-red-900,
.bg-pink-700, .bg-pink-800, .bg-pink-900,
.bg-purple, .bg-purple-500, .bg-purple-600, .bg-purple-700, .bg-purple-800, .bg-purple-900,
.bg-deep-purple, .bg-deep-purple-500, .bg-deep-purple-600, .bg-deep-purple-700, .bg-deep-purple-800, .bg-deep-purple-900, .bg-deep-purple-a400, .bg-deep-purple-a700,
.bg-indigo, .bg-indigo-500, .bg-indigo-600, .bg-indigo-700, .bg-indigo-800, .bg-indigo-900, .bg-indigo-a700, .bg-blue-800,
.bg-blue-900, .bg-light-blue-900,
.bg-cyan-900, .bg-teal-800, .bg-teal-900,
.bg-green-800, .bg-green-900,
.bg-brown, .bg-brown-500, .bg-brown-600, .bg-brown-700, .bg-brown-800, .bg-brown-900, .bg-blue-grey-600,
.bg-blue-grey-700, .bg-blue-grey-800, .bg-blue-grey-900, .bg-grey-600,
.bg-grey-700, .bg-grey-800, .bg-grey-900 {
  color: rgba(255, 255, 255, 0.97); }
  .bg-primary .text-muted,
  .bg-red-800 .text-muted, .bg-red-900 .text-muted,
  .bg-pink-700 .text-muted, .bg-pink-800 .text-muted, .bg-pink-900 .text-muted,
  .bg-purple .text-muted, .bg-purple-500 .text-muted, .bg-purple-600 .text-muted, .bg-purple-700 .text-muted, .bg-purple-800 .text-muted, .bg-purple-900 .text-muted,
  .bg-deep-purple .text-muted, .bg-deep-purple-500 .text-muted, .bg-deep-purple-600 .text-muted, .bg-deep-purple-700 .text-muted, .bg-deep-purple-800 .text-muted, .bg-deep-purple-900 .text-muted, .bg-deep-purple-a400 .text-muted, .bg-deep-purple-a700 .text-muted,
  .bg-indigo .text-muted, .bg-indigo-500 .text-muted, .bg-indigo-600 .text-muted, .bg-indigo-700 .text-muted, .bg-indigo-800 .text-muted, .bg-indigo-900 .text-muted, .bg-indigo-a700 .text-muted, .bg-blue-800 .text-muted,
  .bg-blue-900 .text-muted, .bg-light-blue-900 .text-muted,
  .bg-cyan-900 .text-muted, .bg-teal-800 .text-muted, .bg-teal-900 .text-muted,
  .bg-green-800 .text-muted, .bg-green-900 .text-muted,
  .bg-brown .text-muted, .bg-brown-500 .text-muted, .bg-brown-600 .text-muted, .bg-brown-700 .text-muted, .bg-brown-800 .text-muted, .bg-brown-900 .text-muted, .bg-blue-grey-600 .text-muted,
  .bg-blue-grey-700 .text-muted, .bg-blue-grey-800 .text-muted, .bg-blue-grey-900 .text-muted, .bg-grey-600 .text-muted,
  .bg-grey-700 .text-muted, .bg-grey-800 .text-muted, .bg-grey-900 .text-muted {
    color: rgba(255, 255, 255, 0.57); }
  .bg-primary .text-soft,
  .bg-red-800 .text-soft, .bg-red-900 .text-soft,
  .bg-pink-700 .text-soft, .bg-pink-800 .text-soft, .bg-pink-900 .text-soft,
  .bg-purple .text-soft, .bg-purple-500 .text-soft, .bg-purple-600 .text-soft, .bg-purple-700 .text-soft, .bg-purple-800 .text-soft, .bg-purple-900 .text-soft,
  .bg-deep-purple .text-soft, .bg-deep-purple-500 .text-soft, .bg-deep-purple-600 .text-soft, .bg-deep-purple-700 .text-soft, .bg-deep-purple-800 .text-soft, .bg-deep-purple-900 .text-soft, .bg-deep-purple-a400 .text-soft, .bg-deep-purple-a700 .text-soft,
  .bg-indigo .text-soft, .bg-indigo-500 .text-soft, .bg-indigo-600 .text-soft, .bg-indigo-700 .text-soft, .bg-indigo-800 .text-soft, .bg-indigo-900 .text-soft, .bg-indigo-a700 .text-soft, .bg-blue-800 .text-soft,
  .bg-blue-900 .text-soft, .bg-light-blue-900 .text-soft,
  .bg-cyan-900 .text-soft, .bg-teal-800 .text-soft, .bg-teal-900 .text-soft,
  .bg-green-800 .text-soft, .bg-green-900 .text-soft,
  .bg-brown .text-soft, .bg-brown-500 .text-soft, .bg-brown-600 .text-soft, .bg-brown-700 .text-soft, .bg-brown-800 .text-soft, .bg-brown-900 .text-soft, .bg-blue-grey-600 .text-soft,
  .bg-blue-grey-700 .text-soft, .bg-blue-grey-800 .text-soft, .bg-blue-grey-900 .text-soft, .bg-grey-600 .text-soft,
  .bg-grey-700 .text-soft, .bg-grey-800 .text-soft, .bg-grey-900 .text-soft {
    color: rgba(255, 255, 255, 0.26); }

.bg-red, .bg-red-500, .bg-red-600, .bg-red-700, .bg-red-a200, .bg-red-a400, .bg-red-a700, .bg-pink,
.bg-pink-500, .bg-pink-600, .bg-pink-a200, .bg-pink-a400, .bg-pink-a700, .bg-purple-300,
.bg-purple-400, .bg-purple-a200, .bg-purple-a400, .bg-purple-a700, .bg-deep-purple-300,
.bg-deep-purple-400, .bg-deep-purple-a200,
.bg-indigo-300, .bg-indigo-400, .bg-indigo-a200, .bg-indigo-a400, .bg-blue,
.bg-blue-500, .bg-blue-600, .bg-blue-700, .bg-blue-a200, .bg-blue-a400, .bg-blue-a700, .bg-light-blue,
.bg-light-blue-500, .bg-light-blue-600, .bg-light-blue-700, .bg-light-blue-800, .bg-light-blue-a700, .bg-cyan,
.bg-cyan-500, .bg-cyan-600, .bg-cyan-700, .bg-cyan-800, .bg-teal,
.bg-teal-500, .bg-teal-600, .bg-teal-700,
.bg-green, .bg-green-500, .bg-green-600, .bg-green-700, .bg-light-green-800, .bg-light-green-900,
.bg-lime-900, .bg-orange-800, .bg-orange-900,
.bg-deep-orange, .bg-deep-orange-500, .bg-deep-orange-600, .bg-deep-orange-700, .bg-deep-orange-800, .bg-deep-orange-900, .bg-deep-orange-a400, .bg-deep-orange-a700, .bg-brown-300,
.bg-brown-400, .bg-blue-grey, .bg-blue-grey-400, .bg-blue-grey-500 {
  color: #fff; }
  .bg-red .text-muted, .bg-red-500 .text-muted, .bg-red-600 .text-muted, .bg-red-700 .text-muted, .bg-red-a200 .text-muted, .bg-red-a400 .text-muted, .bg-red-a700 .text-muted, .bg-pink .text-muted,
  .bg-pink-500 .text-muted, .bg-pink-600 .text-muted, .bg-pink-a200 .text-muted, .bg-pink-a400 .text-muted, .bg-pink-a700 .text-muted, .bg-purple-300 .text-muted,
  .bg-purple-400 .text-muted, .bg-purple-a200 .text-muted, .bg-purple-a400 .text-muted, .bg-purple-a700 .text-muted, .bg-deep-purple-300 .text-muted,
  .bg-deep-purple-400 .text-muted, .bg-deep-purple-a200 .text-muted,
  .bg-indigo-300 .text-muted, .bg-indigo-400 .text-muted, .bg-indigo-a200 .text-muted, .bg-indigo-a400 .text-muted, .bg-blue .text-muted,
  .bg-blue-500 .text-muted, .bg-blue-600 .text-muted, .bg-blue-700 .text-muted, .bg-blue-a200 .text-muted, .bg-blue-a400 .text-muted, .bg-blue-a700 .text-muted, .bg-light-blue .text-muted,
  .bg-light-blue-500 .text-muted, .bg-light-blue-600 .text-muted, .bg-light-blue-700 .text-muted, .bg-light-blue-800 .text-muted, .bg-light-blue-a700 .text-muted, .bg-cyan .text-muted,
  .bg-cyan-500 .text-muted, .bg-cyan-600 .text-muted, .bg-cyan-700 .text-muted, .bg-cyan-800 .text-muted, .bg-teal .text-muted,
  .bg-teal-500 .text-muted, .bg-teal-600 .text-muted, .bg-teal-700 .text-muted,
  .bg-green .text-muted, .bg-green-500 .text-muted, .bg-green-600 .text-muted, .bg-green-700 .text-muted, .bg-light-green-800 .text-muted, .bg-light-green-900 .text-muted,
  .bg-lime-900 .text-muted, .bg-orange-800 .text-muted, .bg-orange-900 .text-muted,
  .bg-deep-orange .text-muted, .bg-deep-orange-500 .text-muted, .bg-deep-orange-600 .text-muted, .bg-deep-orange-700 .text-muted, .bg-deep-orange-800 .text-muted, .bg-deep-orange-900 .text-muted, .bg-deep-orange-a400 .text-muted, .bg-deep-orange-a700 .text-muted, .bg-brown-300 .text-muted,
  .bg-brown-400 .text-muted, .bg-blue-grey .text-muted, .bg-blue-grey-400 .text-muted, .bg-blue-grey-500 .text-muted {
    color: rgba(255, 255, 255, 0.57); }
  .bg-red .text-soft, .bg-red-500 .text-soft, .bg-red-600 .text-soft, .bg-red-700 .text-soft, .bg-red-a200 .text-soft, .bg-red-a400 .text-soft, .bg-red-a700 .text-soft, .bg-pink .text-soft,
  .bg-pink-500 .text-soft, .bg-pink-600 .text-soft, .bg-pink-a200 .text-soft, .bg-pink-a400 .text-soft, .bg-pink-a700 .text-soft, .bg-purple-300 .text-soft,
  .bg-purple-400 .text-soft, .bg-purple-a200 .text-soft, .bg-purple-a400 .text-soft, .bg-purple-a700 .text-soft, .bg-deep-purple-300 .text-soft,
  .bg-deep-purple-400 .text-soft, .bg-deep-purple-a200 .text-soft,
  .bg-indigo-300 .text-soft, .bg-indigo-400 .text-soft, .bg-indigo-a200 .text-soft, .bg-indigo-a400 .text-soft, .bg-blue .text-soft,
  .bg-blue-500 .text-soft, .bg-blue-600 .text-soft, .bg-blue-700 .text-soft, .bg-blue-a200 .text-soft, .bg-blue-a400 .text-soft, .bg-blue-a700 .text-soft, .bg-light-blue .text-soft,
  .bg-light-blue-500 .text-soft, .bg-light-blue-600 .text-soft, .bg-light-blue-700 .text-soft, .bg-light-blue-800 .text-soft, .bg-light-blue-a700 .text-soft, .bg-cyan .text-soft,
  .bg-cyan-500 .text-soft, .bg-cyan-600 .text-soft, .bg-cyan-700 .text-soft, .bg-cyan-800 .text-soft, .bg-teal .text-soft,
  .bg-teal-500 .text-soft, .bg-teal-600 .text-soft, .bg-teal-700 .text-soft,
  .bg-green .text-soft, .bg-green-500 .text-soft, .bg-green-600 .text-soft, .bg-green-700 .text-soft, .bg-light-green-800 .text-soft, .bg-light-green-900 .text-soft,
  .bg-lime-900 .text-soft, .bg-orange-800 .text-soft, .bg-orange-900 .text-soft,
  .bg-deep-orange .text-soft, .bg-deep-orange-500 .text-soft, .bg-deep-orange-600 .text-soft, .bg-deep-orange-700 .text-soft, .bg-deep-orange-800 .text-soft, .bg-deep-orange-900 .text-soft, .bg-deep-orange-a400 .text-soft, .bg-deep-orange-a700 .text-soft, .bg-brown-300 .text-soft,
  .bg-brown-400 .text-soft, .bg-blue-grey .text-soft, .bg-blue-grey-400 .text-soft, .bg-blue-grey-500 .text-soft {
    color: rgba(255, 255, 255, 0.26); }

/**
 * driverAvailabilityLevel
 */
.setting-color {
  padding: 0 5px; }
  .setting-color > label {
    display: block;
    position: relative;
    height: 30px;
    margin: 0 10px;
    border-radius: 1px;
    cursor: pointer;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }
    .setting-color > label:first-child {
      margin-left: 0; }
    .setting-color > label:last-child {
      margin-right: 0; }
    .setting-color > label .t-grid, .setting-color > label .t-row {
      max-width: 60px;
      height: 100%;
      margin: 0; }
    .setting-color > label > .color {
      display: block;
      height: 18px; }
    .setting-color > label > .split {
      display: block; }
      .setting-color > label > .split:before, .setting-color > label > .split:after {
        content: " ";
        display: table; }
      .setting-color > label > .split:after {
        clear: both; }
      .setting-color > label > .split > .color {
        display: block;
        height: 37.5px; }
        .setting-color > label > .split > .color:first-child {
          float: left;
          width: 70%; }
        .setting-color > label > .split > .color:last-child {
          float: right;
          width: 30%; }
    .setting-color > label > .ion-checkmark-round {
      position: absolute;
      display: block;
      right: -5px;
      top: -10px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      text-align: center;
      font-size: 14px;
      color: #BDD52E;
      background-color: #fff;
      box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
      -webkit-transition: -webkit-transform 0.2s ease;
      -moz-transition: -moz-transform 0.2s ease;
      -o-transition: -o-transform 0.2s ease;
      transition: transform 0.2s ease;
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      -o-transform: scale(0);
      transform: scale(0); }
    .setting-color > label > input[type="radio"] {
      position: absolute;
      visibility: hidden; }
      .setting-color > label > input[type="radio"]:checked + .ion-checkmark-round {
        opacity: 1 !important;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1); }

/**
 * Utilities
 */
.m0 {
  margin: 0 !important; }

.ml0 {
  margin-left: 0 !important; }

.mr0 {
  margin-right: 0 !important; }

.mt0 {
  margin-top: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.m {
  margin: 16px !important; }

.ml, .mh {
  margin-left: 16px !important; }

.mr, .mh {
  margin-right: 16px !important; }

.mt, .mv {
  margin-top: 16px !important; }

.mb, .mv {
  margin-bottom: 16px !important; }

.m-sm {
  margin: 8px !important; }

.ml-sm, .mh-sm {
  margin-left: 8px !important; }

.mr-sm, .mh-sm {
  margin-right: 8px !important; }

.mt-sm, .mv-sm {
  margin-top: 8px !important; }

.mb-sm, .mv-sm {
  margin-bottom: 8px !important; }

.m-lg {
  margin: 24px !important; }

.ml-lg, .mh-lg {
  margin-left: 24px !important; }

.mr-lg, .mh-lg {
  margin-right: 24px !important; }

.mt-lg, .mv-lg {
  margin-top: 24px !important; }

.mb-lg, .mv-lg {
  margin-bottom: 24px !important; }

.m-xl {
  margin: 32px !important; }

.ml-xl, .mh-xl {
  margin-left: 32px !important; }

.mr-xl, .mh-xl {
  margin-right: 32px !important; }

.mt-xl, .mv-xl {
  margin-top: 32px !important; }

.mb-xl, .mv-xl {
  margin-bottom: 32px !important; }

.p0 {
  padding: 0 !important; }

.pl0, .ph0 {
  padding-left: 0 !important; }

.pr0, .ph0 {
  padding-right: 0 !important; }

.pt0, .pv0 {
  padding-top: 0 !important; }

.pb0, .pv0 {
  padding-bottom: 0 !important; }

.p {
  padding: 16px !important; }

.pl, .ph {
  padding-left: 16px !important; }

.pr, .ph {
  padding-right: 16px !important; }

.pt, .pv {
  padding-top: 16px !important; }

.pb, .pv {
  padding-bottom: 16px !important; }

.p-sm {
  padding: 4px !important; }

.pl-sm, .ph-sm {
  padding-left: 4px !important; }

.pr-sm, .ph-sm {
  padding-right: 4px !important; }

.pt-sm, .pv-sm {
  padding-top: 4px !important; }

.pb-sm, .pv-sm {
  padding-bottom: 4px !important; }

.p-lg {
  padding: 24px !important; }

.pl-lg, .ph-lg {
  padding-left: 24px !important; }

.pr-lg, .ph-lg {
  padding-right: 24px !important; }

.pt-lg, .pv-lg {
  padding-top: 24px !important; }

.pb-lg, .pv-lg {
  padding-bottom: 24px !important; }

.p-xl {
  padding: 32px !important; }

.pl-xl, .ph-xl {
  padding-left: 32px !important; }

.pr-xl, .ph-xl {
  padding-right: 32px !important; }

.pt-xl, .pv-xl {
  padding-top: 32px !important; }

.pb-xl, .pv-xl {
  padding-bottom: 32px !important; }

.fh {
  height: 100% !important; }

@media only screen and (min-width: 768px) {
  .fh-sm {
    height: 100% !important; } }

@media only screen and (min-width: 992px) {
  .fh-md {
    height: 100% !important; } }

@media only screen and (min-width: 1200px) {
  .fh-lg {
    height: 100% !important; } }

.fw {
  width: 100% !important; }

@media only screen and (min-width: 768px) {
  .fw-sm {
    width: 100% !important; } }

@media only screen and (min-width: 992px) {
  .fw-md {
    width: 100% !important; } }

@media only screen and (min-width: 1200px) {
  .fw-lg {
    width: 100% !important; } }

.va-middle {
  vertical-align: middle !important; }

.va-top {
  vertical-align: top !important; }

.va-bottom {
  vertical-align: bottom !important; }

table.va-middle td {
  vertical-align: middle !important; }

table.va-top td {
  vertical-align: top !important; }

table.va-bottom td {
  vertical-align: bottom !important; }

.b0 {
  border-width: 0 !important; }

.bl0 {
  border-left-width: 0 !important; }

.br0 {
  border-right-width: 0 !important; }

.bt0 {
  border-top-width: 0 !important; }

.bb0 {
  border-bottom-width: 0 !important; }

.br, .b, .ba {
  border-right: 1px solid rgba(162, 162, 162, 0.32); }

.bl, .b, .ba {
  border-left: 1px solid rgba(162, 162, 162, 0.32); }

.bt, .b, .ba {
  border-top: 1px solid rgba(162, 162, 162, 0.32); }

.bb, .b, .ba {
  border-bottom: 1px solid rgba(162, 162, 162, 0.32); }

.spr {
  margin-right: .25em; }

.spl {
  margin-left: .25em; }

.text-white {
  color: #fff; }

.text-alpha {
  color: rgba(255, 255, 255, 0.5); }

.text-alpha-inverse {
  color: rgba(0, 0, 0, 0.5); }

.text-gray-darker {
  color: #263238; }

.text-gray-dark {
  color: #455A64; }

.text-gray {
  color: #607D8B; }

.text-gray-light {
  color: #90A4AE; }

.text-gray-lighter {
  color: #ECEFF1; }

.text-inherit {
  color: inherit !important; }

.text-soft {
  color: rgba(162, 162, 162, 0.66); }

.text-light {
  color: rgba(255, 255, 255, 0.74); }

.text-sm {
  font-size: 11.9px; }

.text-md {
  font-size: 26.6px; }

.text-lg {
  font-size: 42px; }

.lh1 {
  line-height: 1; }

.text-nowrap {
  white-space: nowrap; }

.text-thin {
  font-weight: 100 !important; }

.text-bold {
  font-weight: bold !important; }

.text-normal {
  font-weight: normal !important; }

.text-normal p {
  font-weight: normal; }

.text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom; }

.inline {
  display: inline-block !important; }

.block-center {
  margin: 0 auto; }

.block {
  display: block !important; }

.bg-white {
  background-color: #fff;
  color: inherit !important; }

.bg-primary {
  background-color: #2E5ABD;
  color: #fff !important; }

.bg-primary .text-muted {
  color: rgba(255, 255, 255, 0.5); }

.bg-primary small {
  color: inherit; }

.bg-success {
  background-color: #BDD52E;
  color: #fff !important; }

.bg-success .text-muted {
  color: rgba(255, 255, 255, 0.5); }

.bg-success small {
  color: inherit; }

.bg-info {
  background-color: #2E9AB2;
  color: #fff !important; }

.bg-info .text-muted {
  color: rgba(255, 255, 255, 0.5); }

.bg-info small {
  color: inherit; }

.bg-warning {
  background-color: #f59504;
  color: #fff !important; }

.bg-warning .text-muted {
  color: rgba(255, 255, 255, 0.5); }

.bg-warning small {
  color: inherit; }

.bg-danger {
  background-color: #f04e44;
  color: #fff !important; }

.bg-danger .text-muted {
  color: rgba(255, 255, 255, 0.5); }

.bg-danger small {
  color: inherit; }

.bg-gray-darker {
  background-color: #263238;
  color: #fff !important; }

.bg-gray-dark {
  background-color: #455A64;
  color: #fff !important; }

.bg-gray {
  background-color: #607D8B;
  color: #6C7177 !important; }

.bg-gray-light {
  background-color: #90A4AE;
  color: #6C7177 !important; }

.bg-gray-lighter {
  background-color: #ECEFF1;
  color: #6C7177 !important; }

.bg-transparent {
  background-color: transparent !important; }

.bg-fade {
  background-color: transparent !important;
  background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 55%, black);
  background-image: -o-linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 55%, black);
  background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5) 55%, black);
  background-repeat: no-repeat;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#FF000000', GradientType=0); }

.bg-cover {
  background-size: cover; }

.bg-full {
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; }

.bg-center {
  background-position: center center;
  background-size: cover; }

.thumb8 {
  width: 8px !important;
  height: 8px !important; }

.thumb16 {
  width: 16px !important;
  height: 16px !important; }

.thumb24 {
  width: 24px !important;
  height: 24px !important; }

.thumb32 {
  width: 32px !important;
  height: 32px !important; }

.thumb40 {
  width: 40px !important;
  height: 40px !important; }

.thumb48 {
  width: 48px !important;
  height: 48px !important; }

.thumb64 {
  width: 64px !important;
  height: 64px !important; }

.thumb80 {
  width: 80px !important;
  height: 80px !important; }

.thumb96 {
  width: 96px !important;
  height: 96px !important; }

.thumb128 {
  width: 128px !important;
  height: 128px !important; }

.initial8 {
  width: 8px !important;
  height: 8px !important;
  line-height: 8px;
  text-align: center;
  border-radius: 50%; }

.initial16 {
  width: 16px !important;
  height: 16px !important;
  line-height: 16px;
  text-align: center;
  border-radius: 50%; }

.initial24 {
  width: 24px !important;
  height: 24px !important;
  line-height: 24px;
  text-align: center;
  border-radius: 50%; }

.initial32 {
  width: 32px !important;
  height: 32px !important;
  line-height: 32px;
  text-align: center;
  border-radius: 50%; }

.initial40 {
  width: 40px !important;
  height: 40px !important;
  line-height: 40px;
  text-align: center;
  border-radius: 50%; }

.initial48 {
  width: 48px !important;
  height: 48px !important;
  line-height: 48px;
  text-align: center;
  border-radius: 50%; }

.initial64 {
  width: 64px !important;
  height: 64px !important;
  line-height: 64px;
  text-align: center;
  border-radius: 50%; }

.initial80 {
  width: 80px !important;
  height: 80px !important;
  line-height: 80px;
  text-align: center;
  border-radius: 50%; }

.initial96 {
  width: 96px !important;
  height: 96px !important;
  line-height: 96px;
  text-align: center;
  border-radius: 50%; }

.initial128 {
  width: 128px !important;
  height: 128px !important;
  line-height: 128px;
  text-align: center;
  border-radius: 50%; }

.table-fixed {
  table-layout: fixed;
  width: 100%; }

.shadow-clear {
  box-shadow: 0 0 0 #000 !important; }

.radius-clear {
  border-radius: 0 !important; }

.rounded {
  border-radius: 100px; }

.item-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab; }

.item-grabbing {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing; }

.clickable {
  cursor: pointer !important; }

.rel-wrapper {
  position: relative !important; }

.oh {
  overflow: hidden; }

.oa {
  overflow: auto; }

.icon-18 {
  font-size: 18px;
  vertical-align: -18%; }

.icon-24 {
  font-size: 24px;
  vertical-align: -24%; }

.icon-36 {
  font-size: 36px;
  vertical-align: -36%; }

.icon-48 {
  font-size: 48px;
  vertical-align: -48%; }

.icon-2x {
  font-size: 2em; }

.icon-3x {
  font-size: 3em; }

.icon-4x {
  font-size: 4em; }

.icon-5x {
  font-size: 5em; }

.icon-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.icon-fw {
  display: inline-block;
  width: 1.28571429em;
  text-align: center; }

.icon-dark {
  color: rgba(0, 0, 0, 0.54); }
  .icon-dark.icon-inactive {
    color: rgba(0, 0, 0, 0.26); }

.icon-light {
  color: white; }
  .icon-light.icon-inactive {
    color: rgba(255, 255, 255, 0.3); }

.wd-xxs {
  width: 60px; }

.wd-xs {
  width: 90px; }

.wd-sm {
  width: 150px; }

.wd-sd {
  width: 200px; }

.wd-md {
  width: 240px; }

.wd-lg {
  width: 280px; }

.wd-xl {
  width: 320px; }

.wd-xxl {
  width: 360px; }

.wd-wide {
  width: 100%; }

.wd-auto {
  width: auto; }

.wd-zero {
  width: 0; }

.link-unstyled {
  text-decoration: none !important;
  outline: none !important; }

textarea.no-resize {
  resize: none;
  max-width: 100%;
  min-width: 100%; }

.shadow-z0 {
  -webkit-box-shadow: 0 0 0 #000;
  box-shadow: 0 0 0 #000; }

.shadow-z1 {
  -webkit-box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.14), 0 2px 2px 0 rgba(0, 0, 0, 0.098), 0 1px 5px 0 rgba(0, 0, 0, 0.014); }

.shadow-z2 {
  -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014); }

.shadow-z3 {
  -webkit-box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.14), 0 6px 10px 0 rgba(0, 0, 0, 0.098), 0 1px 18px 0 rgba(0, 0, 0, 0.014);
  box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.14), 0 6px 10px 0 rgba(0, 0, 0, 0.098), 0 1px 18px 0 rgba(0, 0, 0, 0.014); }

.shadow-z4 {
  -webkit-box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.14), 0 8px 10px 1px rgba(0, 0, 0, 0.098), 0 3px 14px 2px rgba(0, 0, 0, 0.014);
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.14), 0 8px 10px 1px rgba(0, 0, 0, 0.098), 0 3px 14px 2px rgba(0, 0, 0, 0.014); }

.shadow-z5 {
  -webkit-box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.14), 0 16px 24px 2px rgba(0, 0, 0, 0.098), 0 6px 30px 5px rgba(0, 0, 0, 0.014);
  box-shadow: 0 8px 10px -5px rgba(0, 0, 0, 0.14), 0 16px 24px 2px rgba(0, 0, 0, 0.098), 0 6px 30px 5px rgba(0, 0, 0, 0.014); }

.image-list > a {
  margin-left: -8px; }
  .image-list > a:first-child {
    margin-left: 0; }
  .image-list > a:last-of-type {
    margin-right: 8px; }

.list-group-unstyle > .list-group-item {
  border-left: 0;
  border-right: 0; }
  .list-group-unstyle > .list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
  .list-group-unstyle > .list-group-item:last-child {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }

.icons-list {
  margin: 40px auto;
  padding-left: 0;
  width: 100%;
  list-style: none;
  text-align: center;
  font-size: 1px; }
  .icons-list > li {
    position: relative;
    z-index: 0;
    display: inline-block;
    padding: 22px;
    width: 84px;
    border-radius: 4px;
    list-style: none;
    text-align: center;
    font-weight: normal;
    font-size: 32px;
    cursor: pointer; }
    .icons-list > li:hover {
      background-color: rgba(255, 255, 255, 0.9);
      color: #2E9AB2;
      -webkit-box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014);
      box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.14), 0 4px 5px 0 rgba(0, 0, 0, 0.098), 0 1px 10px 0 rgba(0, 0, 0, 0.014);
      -webkit-transition: all 0.2s ease;
      -o-transition: all 0.2s ease;
      transition: all 0.2s ease; }

.bg-pic1 {
  background-image: url("../img/pic1.jpg"); }

.bg-pic2 {
  background-image: url("../img/pic2.jpg"); }

.bg-pic3 {
  background-image: url("../img/pic3.jpg"); }

.bg-pic4 {
  background-image: url("../img/pic4.jpg"); }

.bg-pic5 {
  background-image: url("../img/pic5.jpg"); }

.bg-pic6 {
  background-image: url("../img/pic6.jpg"); }

.reader-block p {
  margin: 16px auto;
  font-size: 16px;
  line-height: 28px;
  font-weight: normal; }
  .reader-block p > img {
    max-width: 100%;
    margin: 32px auto; }

.box-placeholder {
  margin-bottom: 15px;
  padding: 20px;
  border: 1px dashed rgba(162, 162, 162, 0.26);
  background: transparent;
  color: inherit; }
  .box-placeholder > :last-child {
    margin-bottom: 0; }
  .box-placeholder.box-placeholder-lg {
    padding-top: 80px;
    padding-bottom: 80px; }

/* YourBox Design System (ds-*) — sistema central de UI, ver docs/design-system.md */
/* ============================================================================
   YourBox Design System  (ds-*)
   Sistema central de UI. Documentado em docs/design-system.md
   Ligado em app.scss via @import "./design-system/ds.scss";
   Convenção: todas as classes têm prefixo .ds- para nao colidir com o tema
   existente (Bootstrap, mda-*, c-checkbox, etc.).
   ============================================================================ */
/* ---- Tokens -------------------------------------------------------------- */
:root {
  --ds-green:   #bed62f;
  --ds-green-d: #a9c020;
  /* ATENCAO AO NOME: --ds-green-d e' o verde CARREGADO (#a9c020), nao um
     verde escuro. Nao serve de cor de texto sobre fundo claro -- da'
     1,79:1, quando o minimo legivel e' 4,5:1. Para texto sobre verde
     existe o --ds-green-ink, que e' o mesmo tom que os botoes ja' usavam
     escrito a mao (#26310a, 12:1 sobre o palido). */
  --ds-green-l:   #eaf3d8;
  --ds-green-ink: #26310a;
  --ds-ink:     #122549;
  --ds-muted:   #7b8794;
  --ds-line:    #e6e9ee;
  --ds-bg:      #eef1f5;
  --ds-card:    #ffffff;
  --ds-grey:    #f5f7fa;
  --ds-text:    #2b3440;
  /* Cantos mais redondos, para acompanhar o resto do interface.
     Estes dois valores mandam em quase tudo — cartoes, botoes, caixas de
     texto, selos. Mexer aqui muda a pagina inteira de uma vez, que e' a razao
     de existirem; os poucos sitios com valores escritos a mao ficaram por
     mudar de proposito, sao formas proprias (circulos, pilulas). */
  --ds-radius:  20px;
  --ds-radius-s:13px;
  --ds-shadow:  0 1px 3px rgba(16,25,40,.05);
  /* --ds-ink é cor de TEXTO e inverte-se no tema escuro. Onde o mesmo azul
     serve de FUNDO (caixas de preço, com texto branco por cima) usa-se este,
     que fica escuro nos dois temas — senão no escuro ficava branco sobre
     branco. Dois papéis, dois tokens. */
  --ds-ink-bg:  #122549; }

/* ---- Tokens no tema escuro -----------------------------------------------
   O .theme-3 é o único tema com fundo escuro (ver theme-content-dark em
   themes.scss). Os tokens acima foram escolhidos para papel branco: --ds-ink é
   azul-quase-preto, o que torna os títulos ilegíveis sobre ardósia, e --ds-line
   é quase branco, o que dá aos rebordos dos cartões mais contraste do que o
   próprio conteúdo. Vira-se tudo aqui, num sítio só: todos os componentes .ds-*
   seguem atrás, em todas as páginas, sem tocar em nenhuma delas. */
.theme-3 {
  --ds-ink:    #eaeff5;
  --ds-text:   #dfe5ec;
  --ds-muted:  #9dabb9;
  /* sobe de contraste: o cinzento de papel não lê aqui */
  --ds-line:   rgba(255,255,255,.10);
  --ds-bg:     rgba(0,0,0,.18);
  --ds-card:   rgba(255,255,255,.03);
  --ds-grey:   rgba(255,255,255,.06);
  --ds-shadow: 0 1px 3px rgba(0,0,0,.35);
  --ds-ink-bg: #1b2c4a;
  /* levantado, para se destacar do fundo da página */ }

/* Componentes com cores fixas de tema claro, que os tokens não alcançam. */
.theme-3 .ds-pick-hint--ok {
  background: rgba(46, 160, 67, 0.16);
  color: #86dc9b; }

.theme-3 .ds-pick-hint--ok b {
  color: #eaeff5; }

/* Etiquetas verdes (sobretaxa, propriedade da viatura). No tema claro sao
   tinta escura sobre verde pálido; aqui invertem-se, senao ficava um
   rectangulo branco a saltar de uma pagina escura. Medido: fundo composto
   #404c3e com texto #e6f0b8 da' 7,55:1. */
.theme-3 {
  --ds-green-l:   rgba(190,214,47,.14);
  --ds-green-ink: #e6f0b8; }

/* A linha da sobretaxa nas listagens: o valor de base e' escuro para o tema
   claro e ilegivel sobre ardosia. 6,08:1 assim. */
.theme-3 .ds-fuelmini {
  color: #a9c020; }

/* "Por classificar": vermelho sobre um fundo avermelhado escuro dava 2,60:1.
   Com o rosa claro passa a 6,7:1. */
.theme-3 .ds-own--unknown {
  background: rgba(214, 69, 65, 0.2);
  color: #ffc9c7; }

/* Campos de formulário. Mais abaixo neste ficheiro há regras com !important que
   forçam a caixa a BRANCO sólido e o texto a --ds-text — foram escritas para o
   tema claro, onde --ds-text é escuro. No tema escuro dão o oposto do
   pretendido: caixa branca com texto claro, ilegível (o "Criar Novo Ponto" do
   newService é o caso mais visível). Aqui a caixa passa a escura e o texto a
   claro. Precisa de !important para vencer as regras de baixo, que também o
   têm; a especificidade maior (.theme-3 à frente) é o que decide. */
.theme-3 .ds-list .mda-form-control > input,
.theme-3 .ds-list .mda-form-control > textarea,
.theme-3 .ds-list .mda-form-control > select,
.theme-3 .ds-list .form-control,
.theme-3 .ds-list select.form-control {
  background-color: rgba(255, 255, 255, 0.08) !important;
  background-image: none;
  color: var(--ds-text) !important;
  border-color: rgba(255, 255, 255, 0.14); }

/* Cor SOLIDA, e a MESMA da lista aberta do select (ver mais abaixo). Era
   rgba(255,255,255,.08): translucido, portanto a caixa mudava de tom conforme o
   cartao por tras, e nunca coincidia com o popup — que tem de ser solido por nao
   ter pagina nenhuma atras de si. No serviceDetail via-se bem: o campo "Status"
   num tom e a lista que ele abre noutro, mais escuro.
   O .ds-input vai junto de proposito — sao a mesma familia e estao lado a lado
   no mesmo cartao; escurecer so' os selects abria uma diferenca nova onde nao
   havia nenhuma. */
.theme-3 .ds-input,
.theme-3 .ds-select {
  background-color: #26333f;
  color: var(--ds-text);
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 .ds-input[disabled],
.theme-3 .ds-select[disabled] {
  background-color: #202b35;
  color: var(--ds-muted); }

/* Placeholders: o cinzento de papel (#9aa3ad) sobre caixa escura fica a meio
   caminho de nada — nem se lê nem se distingue do texto real. */
.theme-3 .ds-list .form-control::-webkit-input-placeholder,
.theme-3 .ds-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.42) !important;
  opacity: 1; }

.theme-3 .ds-list .form-control::-moz-placeholder,
.theme-3 .ds-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.42) !important;
  opacity: 1; }

.theme-3 .ds-list .form-control:-ms-input-placeholder,
.theme-3 .ds-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.42) !important;
  opacity: 1; }

.theme-3 .ds-list .form-control::placeholder,
.theme-3 .ds-input::placeholder {
  color: rgba(255, 255, 255, 0.42) !important;
  opacity: 1; }

/* A lista de um <select multiple> desenha-se dentro da caixa: com a caixa
   escura, as opções têm de acompanhar. (Nos selects normais a lista é desenhada
   pelo sistema operativo e mantém-se clara — ver select:not([multiple]) em
   mixins.scss.) */
.theme-3 select[multiple],
.theme-3 select[size] {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--ds-text) !important; }

.theme-3 select[multiple] option,
.theme-3 select[size] option {
  background-color: transparent;
  color: var(--ds-text); }

/* A LISTA ABERTA de um <select> normal.
   O bloco acima dizia que essa lista e' desenhada pelo sistema operativo e fica
   sempre clara. E' verdade no macOS; NAO e' no Chromium em Windows, que respeita
   `background-color` no <option>. Como o backoffice corre em Windows, da' para
   arranjar — e sem isto ficava o pior dos dois mundos: o campo fechado escuro e a
   lista que ele abre branca (visto no "Editar status do servico / driver").

   A cor tem de ser SOLIDA. Os tokens do tema escuro sao translucidos
   (rgba(255,255,255,.08)) porque contam com o fundo escuro da pagina por tras; o
   popup nativo nao tem pagina nenhuma por tras, e o mesmo rgba desenhava-se sobre
   branco e voltava a dar cinzento claro.

   `!important` no `color` porque o mixin is-dark (mixins.scss:161) poe
   `select:not([multiple]) option { color: $text-color }` — a cor de texto do tema
   CLARO — com selector mais especifico do que este (.theme-3 .layout-container >
   main ...). Foi escrito a assumir que o fundo se mantinha branco. */
.theme-3 select:not([multiple]) option,
.theme-3 select:not([multiple]) optgroup {
  background-color: #26333f;
  color: var(--ds-ink) !important; }

/* A linha realcada continua a ser pintada pelo sistema (o azul da imagem): o
   Chromium nao deixa mudar isso de forma fiavel, e forcar `option:checked`
   partia o realce do teclado nalgumas versoes. Fica como esta'. */
/* ---- Scope / superfície -------------------------------------------------- */
.ds-scope {
  padding: 18px;
  color: var(--ds-text);
  font-family: 'Segoe UI', Roboto, Arial, sans-serif; }

/* ---- Topbar -------------------------------------------------------------- */
.ds-topbar {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: 12px 20px;
  box-shadow: var(--ds-shadow);
  margin-bottom: 16px;
  flex-wrap: wrap; }

.ds-svc-nr {
  margin: 0;
  padding: 4px 0; }

/* O Bootstrap 3 dá display:inline aos .label: o padding vertical não conta para
   a altura da linha e transborda para fora da caixa do <h4>. A topbar media a
   coluna do nº mais baixa do que aquilo que ela pinta, e o que vier a seguir
   assenta por cima — na app do driver a pill dos km tapava o nº do serviço. */
.ds-topbar .label {
  display: inline-block;
  line-height: 1.35;
  /* O `.label` vem do Bootstrap 3 com `.25em` de canto — quase recto ao lado
     dos cartoes de agora. Aqui, e nao la', porque o Bootstrap serve a
     aplicacao toda e isto e' o selo do numero do servico. */
  padding: 5px 12px;
  border-radius: var(--ds-radius-s); }

/* Nº + clientName empilhados (cliente por baixo do nº, mais visível e sem truncar). */
.ds-topbar-id {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  min-width: 0;
  padding: 6px 0; }

/* Telemóvel (app do driver): a pill não disputa a linha com o nº do serviço —
   passa para baixo, encostada à esquerda, em vez de flutuar à direita. */
@media (max-width: 760px) {
  .ds-topbar {
    gap: 10px;
    padding: 12px 14px; }
  .ds-topbar-id {
    flex: 1 1 100%;
    padding-bottom: 0; }
  .ds-topbar .ds-pill {
    align-self: flex-start; } }

.ds-svc-client {
  font-size: 18px;
  font-weight: 700;
  color: var(--ds-ink);
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.2; }

.ds-chat {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ds-muted); }

/* ---- Pills / badges ------------------------------------------------------ */
.ds-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 999px; }

.ds-pill--dist {
  background: #eef4ff;
  color: #2f6bd6; }

.ds-pill--stat {
  background: #fff3d6;
  color: #9a6b00; }

/* ---- Pills no tema escuro ------------------------------------------------
   Os fundos acima sao cores de papel fixas (#eef4ff, #fff3d6, ...), fora do
   alcance dos tokens. Sobre ardosia acendem como lampadas -- um chip de
   informacao a chamar mais atencao do que o titulo ao lado.

   No escuro inverte-se a logica: o fundo passa a ser a MESMA cor do texto com
   opacidade baixa, e o texto sobe de luminosidade. Da' a mesma leitura de
   "etiqueta colorida" sem o clarao. Vale para toda a app, nao so para uma
   pagina -- estas cores estavam erradas no escuro em todo o lado. */
.theme-3 .ds-pill--dist,
.theme-3 .ds-pill--info {
  background: rgba(96, 152, 255, 0.16);
  color: #9dc0ff; }

.theme-3 .ds-pill--stat {
  background: rgba(243, 186, 47, 0.16);
  color: #f0c860; }

.theme-3 .ds-pill--danger {
  background: rgba(224, 90, 80, 0.16);
  color: #ff9d94; }

.theme-3 .ds-pill--muted {
  background: rgba(255, 255, 255, 0.07);
  color: var(--ds-muted); }

/* ---- Grelha de 12 colunas ------------------------------------------------ */
.ds-grid {
  display: grid;
  /* minmax(0,1fr) e nao 1fr: `1fr` sozinho e minmax(AUTO,1fr), ou seja a coluna
     nunca encolhe abaixo do conteudo e um filho largo estoura a grelha para
     fora do ecra. Com minimo 0 a coluna manda, e o conteudo que se ajusta. */
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px; }

.ds-col-3 {
  grid-column: span 3;
  min-width: 0; }

.ds-col-4 {
  grid-column: span 4;
  min-width: 0; }

.ds-col-6 {
  grid-column: span 6;
  min-width: 0; }

.ds-col-8 {
  grid-column: span 8;
  min-width: 0; }

.ds-col-12 {
  grid-column: span 12;
  min-width: 0; }

/* A coluna estica ate a altura da linha (align-items: stretch e o default da
   grelha), mas o cartao la dentro ficava com a altura do seu proprio conteudo —
   dai dois cartoes lado a lado acabarem em sitios diferentes. Com height:100%
   o cartao acompanha a coluna, e os da mesma linha alinham em baixo.
   So afecta cartoes que sejam filhos DIRECTOS de uma coluna. */
/* SO' QUANDO E' O UNICO. A regra dizia "cartao filho directo de uma coluna", e
   isso assumia — sem o dizer — um cartao por coluna. Com dois na mesma coluna,
   cada um pedia 100% da altura dela e ficavam SOBREPOSTOS, um por cima do
   outro, com os titulos a ler-se em cima do texto do seguinte. Aconteceu na
   ficha do cliente assim que a coluna dos alertas ganhou um segundo cartao.
   Com :only-child o alinhamento em baixo mantem-se onde sempre funcionou, e
   uma coluna com varios cartoes empilha-os como deve ser. */
.ds-grid > [class*="ds-col-"] > .ds-card:only-child {
  height: 100%; }

/* Coluna que NAO estica o cartao: ele fica com a altura do proprio conteudo.
   Para grelhas onde os cartoes tem tamanhos muito diferentes e esticar o mais
   curto so' produz um rectangulo vazio — os alertas da ficha do cliente sao o
   caso: um cartao de duas linhas ficava com a altura de um de seis. */
.ds-grid > .ds-col--auto > .ds-card {
  height: auto; }

@media (max-width: 1100px) {
  .ds-col-3, .ds-col-4 {
    grid-column: span 6; } }

@media (max-width: 760px) {
  .ds-col-3, .ds-col-4, .ds-col-6, .ds-col-8 {
    grid-column: span 12; } }

/* ---- Cartão -------------------------------------------------------------- */
.ds-card {
  min-width: 0;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  padding: 16px 18px;
  box-shadow: var(--ds-shadow); }

/* align-items: flex-start (e não center) para o ponto ficar alinhado com a
   PRIMEIRA linha quando o título parte em duas — ex.: "CONTROL DE INCIDÊNCIAS
   POR BO" no ecrã do telemóvel, onde o ponto ficava a boiar a meio. */
.ds-card-title {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ds-muted);
  font-weight: 700;
  margin: 0 0 12px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.35; }

.ds-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ds-green);
  flex: 0 0 auto; }

.ds-card-title .ds-dot {
  margin-top: 4px; }

/* Cartão de incidências: moldura SEM fundo próprio, para o bg-{{incidenceClass}}
   (success/warning/danger) poder pintar o cartão. Como o ds.scss carrega depois
   do tema legado, um .ds-card normal (fundo branco) sobreporia a cor de estado. */
.ds-inccard {
  border-radius: var(--ds-radius);
  padding: 16px 18px;
  box-shadow: var(--ds-shadow);
  border: 1px solid transparent; }

.ds-inccard .ds-card-title {
  color: #fff; }

.ds-inccard .ds-dot {
  background: rgba(255, 255, 255, 0.85); }

.ds-inccard .ds-check {
  color: #fff; }

/* A caixa do select é branca de propósito (destaca-se do cartão colorido), por
   isso o texto tem de ser escuro SEMPRE — não pode seguir --ds-text, que no
   tema escuro é quase branco e deixava o texto invisível dentro da caixa. */
.ds-inccard .ds-select {
  background-color: rgba(255, 255, 255, 0.95) !important;
  border-color: transparent;
  color: #2b3440 !important; }

.ds-inccard .ds-select::-webkit-input-placeholder {
  color: #6b7684;
  opacity: 1; }

.ds-inccard .ds-select::placeholder {
  color: #6b7684;
  opacity: 1; }

/* No tema CLARO a caixa e' branca de proposito e a lista acompanha. */
.ds-inccard .ds-select option {
  color: #2b3440;
  background-color: #fff; }

/* No tema escuro este select passa a comportar-se como todos os outros: caixa e
   lista da mesma cor solida. Cheguei a manter aqui a caixa branca, por causa do
   cartao lima por tras — mas isso reabria exactamente o problema que se tinha
   acabado de corrigir, so' que ao contrario: caixa clara e lista escura, ou
   caixa clara e lista clara no meio de uma aplicacao escura. Num tema escuro o
   que destaca a caixa do cartao colorido e' ela ser escura, nao clara.
   Precisa de !important porque a regra de cima tem-no. */
.theme-3 .ds-inccard .ds-select {
  background-color: #26333f !important;
  color: var(--ds-text) !important;
  border-color: rgba(255, 255, 255, 0.22); }

.theme-3 .ds-inccard .ds-select::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.42); }

.theme-3 .ds-inccard .ds-select::placeholder {
  color: rgba(255, 255, 255, 0.42); }

/* success (lima) e warning (âmbar) são cores claras: texto branco por cima
   quase não se lê. Só o danger (vermelho) é que sustenta branco. */
.ds-inccard.bg-success .ds-card-title,
.ds-inccard.bg-warning .ds-card-title,
.ds-inccard.bg-success .ds-check,
.ds-inccard.bg-warning .ds-check {
  color: #26310a; }

.ds-inccard.bg-success .ds-dot,
.ds-inccard.bg-warning .ds-dot {
  background: #26310a; }

/* ---- Campos -------------------------------------------------------------- */
/* A margem de cima e o que separa um grupo de campos do anterior. Eram 10px, e
   num cartao com uma duzia de campos isso le-se como um bloco unico. */
.ds-label {
  display: block;
  font-size: 12px;
  color: var(--ds-muted);
  margin: 16px 0 4px; }

.ds-label--warn {
  color: #c98a00;
  font-weight: 600; }

.ds-input, .ds-select {
  width: 100%;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  padding: 9px 12px;
  font-size: 14px;
  background: #fff;
  color: var(--ds-text);
  line-height: 1.3; }

.ds-input:focus, .ds-select:focus {
  outline: none;
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.ds-input[disabled] {
  background: var(--ds-grey);
  color: var(--ds-muted); }

textarea.ds-input {
  resize: vertical;
  min-height: 42px; }

/* Duas caixas seguidas ficavam encostadas. Nenhuma das primitivas tinha margem
   inferior, e o unico espaco vinha do .ds-label — ou seja, so havia folga
   quando existia um rotulo pelo meio. Onde nao existe, e sao 73 sitios em 12
   ficheiros, as caixas colavam-se umas as outras.

   Irmao ADJACENTE, e nao margem em todas: assim nao se acrescenta nada ao
   primeiro campo de um cartao, nem onde ja ha rotulo a separar, nem dentro das
   grelhas que usam gap. So onde duas caixas se tocam mesmo. */
.ds-input + .ds-input,
.ds-input + .ds-select,
.ds-select + .ds-input,
.ds-select + .ds-select {
  margin-top: 12px; }

.ds-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 30px; }

.ds-row2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px; }

/* ---- Motivo da alteração de preços (2026-10-16) ---------------------------
   Combobox com os motivos de /serverSettings + caixa de texto por baixo. As duas
   mais baixas que o normal (34px) para o cartão "Editar preços" quase não crescer
   em relação à caixa de 2 linhas que lá estava. A caixa fechada (motivo da lista
   ou nada escolhido) fica com ar de só-leitura; abre com "Outro motivo". */
.ds-motivo {
  display: flex;
  flex-direction: column;
  gap: 6px; }

.ds-motivo .ds-motivo-escolha,
.ds-motivo .ds-motivo-texto {
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 13px; }

.ds-motivo .ds-motivo-escolha + .ds-motivo-texto {
  margin-top: 0; }

/* o gap já separa */
.ds-motivo textarea.ds-motivo-texto {
  min-height: 34px;
  height: 34px;
  resize: vertical; }

.ds-motivo .ds-motivo-texto[readonly] {
  background: var(--ds-grey);
  color: var(--ds-muted);
  cursor: default;
  resize: none; }

/* No tema escuro, o mesmo tom dos campos desactivados (.ds-input[disabled]). */
.theme-3 .ds-motivo .ds-motivo-texto[readonly] {
  background-color: #202b35;
  color: var(--ds-muted); }

/* ---- Preços -------------------------------------------------------------- */
.ds-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px; }

.ds-price-col {
  text-align: center; }

.ds-price-cap {
  font-size: 11px;
  color: var(--ds-muted);
  margin-bottom: 4px; }

.ds-price-mm {
  font-size: 12px;
  color: #b3bcc7; }

.ds-price {
  border-radius: 14px;
  padding: 8px;
  margin: 4px 0; }

.ds-price--client {
  background: var(--ds-ink-bg); }

.ds-price--driver {
  background: #5b6672; }

.ds-price-inp {
  width: 100%;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center; }

.ds-price-inp:focus {
  outline: none; }

/* ---- Checkboxes / radios (nativos, estilizados) -------------------------- */
.ds-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 16px; }

.ds-check {
  /* Era #3b4655 fixo — escuro sobre escuro, os rótulos desapareciam no tema 3.
     O token vale praticamente o mesmo no tema claro e inverte no escuro. */
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--ds-text);
  cursor: pointer;
  padding: 5px 0;
  margin: 0;
  font-weight: 400; }

.ds-check input {
  width: 17px;
  height: 17px;
  accent-color: var(--ds-green-d);
  flex: 0 0 auto; }

.ds-check--end {
  align-self: end;
  padding-bottom: 9px; }

.ds-radio {
  /* Era #3b4655 fixo. E o mesmo defeito que ja tinha sido corrigido no
     .ds-check e que aqui ficou por corrigir: cinzento-escuro sem fundo
     proprio, herda o fundo do cartao — no tema 3 o cartao e escuro e os
     rotulos desapareciam por completo. Ficavam as bolinhas sem texto. */
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--ds-text);
  padding: 6px 0;
  cursor: pointer;
  margin: 0;
  font-weight: 400; }

.ds-radio input {
  accent-color: var(--ds-ink);
  flex: 0 0 auto; }

.ds-divider {
  border-top: 1px solid var(--ds-line);
  margin: 8px 0; }

.ds-kv {
  font-size: 14px;
  margin: 8px 0;
  color: var(--ds-text); }

/* ---- Ações / botões ------------------------------------------------------ */
.ds-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 16px; }

.ds-btn {
  border: none;
  border-radius: 14px;
  padding: 11px 26px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  /* O `.ds-btn` NAO tem a classe `.btn`, por isso ficou de fora da transicao
     global mais abaixo. Sem ela, o hover do salvar mudava de cor num salto —
     e como os dois verdes so' diferem ~9%, um salto de 9% e' praticamente
     invisivel. O olho deteta MOVIMENTO muito melhor do que deteta tom: e' a
     animacao que torna o hover percetivel, mais do que a diferenca de cor. */
  transition: background-color .15s ease, border-color .15s ease,
 box-shadow .15s ease, color .15s ease; }

.ds-btn--save {
  background: var(--ds-green);
  color: #26310a; }

.ds-btn--save:hover {
  background: var(--ds-green-d); }

/* O fundo era #fff fixo. No tema escuro dava um botão branco com texto
   --ds-muted (cinzento claro) por cima — quase ilegível, e em todas as páginas
   que usam o botão secundário. O --ds-card é branco no claro e translúcido no
   escuro: o mesmo desenho, nos dois temas. */
.ds-btn--ghost {
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  color: var(--ds-muted); }

.ds-btn--ghost:hover {
  border-color: var(--ds-muted);
  color: var(--ds-text); }

/* No tema escuro o --ds-card e' branco a 3%: sobre o cabecalho, que ja' e'
   translucido, o botao perdia forma e ficava a boiar. Ganha fundo proprio. */
.theme-3 .ds-btn--ghost {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--ds-ink); }

.theme-3 .ds-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.26);
  color: var(--ds-ink); }

.ds-nonadmin {
  padding: 8px 4px; }

/* ---- Auth (login / reset / recover / signup) ---------------------------- */
.ds-auth {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px; }

.ds-auth-card {
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
  background: var(--ds-card);
  border-radius: var(--ds-radius);
  box-shadow: 0 12px 44px rgba(16, 25, 40, 0.2);
  padding: 30px 26px;
  text-align: center; }

.ds-auth-logo {
  display: block;
  width: 70%;
  max-width: 210px;
  margin: 0 auto 4px; }

.ds-auth-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 14px 0 20px; }

.ds-auth-field {
  text-align: left;
  margin-bottom: 14px; }

.ds-auth-field .ds-label {
  margin-top: 0; }

.ds-btn--block {
  display: block;
  width: 100%; }

.ds-btn--fb {
  background: #1877f2;
  color: #fff; }

.ds-btn--fb:hover {
  background: #1461c9; }

.ds-auth-sep {
  height: 1px;
  background: var(--ds-line);
  margin: 18px 0; }

.ds-auth-links {
  margin-top: 16px;
  font-size: 13px;
  color: var(--ds-muted); }

.ds-auth-links a {
  color: var(--ds-muted);
  text-decoration: underline; }

.ds-auth-links a:hover {
  color: var(--ds-ink); }

.ds-auth-sub {
  color: var(--ds-muted);
  font-size: 13px;
  margin-bottom: 16px; }

.ds-auth-role {
  text-align: left;
  margin: 4px 0 6px; }

.ds-auth-role .ds-radio {
  padding: 7px 0; }

.ds-auth-terms {
  margin-top: 14px;
  font-size: 11px;
  color: var(--ds-muted);
  background: var(--ds-grey);
  border-radius: 12px;
  padding: 8px 10px;
  line-height: 1.5; }

.ds-auth-terms a {
  color: var(--ds-muted);
  text-decoration: underline; }

/* ---- Auth no tema escuro --------------------------------------------------
   Estas paginas ja' correm todas sobre tokens, por isso titulos, campos, links e
   botoes viram sozinhos com o .theme-3. Ha duas coisas que os tokens nao
   alcancam, e sao estas:

   1. O fundo. O .backgroundMotoBoy tem background-color:#fff fixo. O SVG por
      cima e' traco colorido com fill="none" — sobre chao escuro o desenho
      mantem-se inteiro, so muda o chao. Nao ha imagem nova a carregar.
   2. O cartao. No .theme-3 o token --ds-card e' rgba(255,255,255,.03), pensado
      para assentar sobre o fundo escuro solido da app. Aqui assenta sobre um
      desenho, e 3% de branco desaparecia por cima dele: o cartao precisa de
      superficie propria e opaca, senao le-se o SVG atraves do formulario. */
.theme-3 .backgroundMotoBoy {
  background-color: #2f3d44;
  /* o mesmo que o theme-content-dark da' ao corpo da app */ }

.theme-3 .ds-auth-card {
  background: #33424b;
  /* levantado do fundo, para o cartao ter um limite */
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 44px rgba(0, 0, 0, 0.45); }

/* O separador e o quadro dos termos herdam tokens translucidos que, sobre o
   cartao ja' claro, quase nao se veem. Sobem so o suficiente para se lerem. */
.theme-3 .ds-auth-sep {
  background: rgba(255, 255, 255, 0.12); }

.theme-3 .ds-auth-terms {
  background: rgba(0, 0, 0, 0.2); }

/* ---- Lista de serviços (services) — restyle scoped, sem tocar na DataTables -
   A tabela é gerida pelo plugin DataTables; nao se mexe no markup/ids/JS, so no
   aspeto (moldura, cabecalho, toolbar, botoes de estado). ------------------- */
.ds-list.content-heading h4 {
  color: var(--ds-ink);
  font-weight: 700; }

.ds-list.content-heading .btn {
  border-radius: 14px;
  font-weight: 700;
  box-shadow: none; }

.ds-list .card {
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow); }

/* arredondar o topo de cabecalhos coloridos (ex.: card-heading bg-success) para
   nao "escaparem" dos cantos arredondados do cartao. */
.ds-list .card > .card-heading:first-child {
  border-top-left-radius: var(--ds-radius);
  border-top-right-radius: var(--ds-radius); }

.ds-list table.table-datatable > thead > tr > th {
  color: var(--ds-muted);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .02em;
  font-weight: 700;
  border-bottom: 2px solid var(--ds-line); }

.ds-list table.table-datatable > tbody > tr > td {
  border-top-color: #f0f2f5; }

.ds-list .btn-openService {
  border-radius: 999px;
  font-weight: 700; }

/* Form controls dentro de paginas .ds-list -> aspeto do sistema (o restyle
   anterior so arredondava cartoes; isto trata os campos em si). */
.ds-list .form-control {
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  box-shadow: none;
  -webkit-box-shadow: none;
  /* remove o sublinhado "material" (gradiente de fundo do tema) que ficava por
     baixo da caixa, criando uma linha dupla nos datepickers/comboboxes/etc. */
  background-image: none;
  background-color: #fff; }

.ds-list select.form-control {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b8794' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 30px; }

.ds-list .form-control:focus {
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

/* inputs "material" (underline animado) passam a caixa dentro do .ds-list —
   esconder a linha para nao ficar borda dupla. */
.ds-list .mda-form-control-line {
  display: none; }

/* o wrapper .mda-form-control tem um border-bottom (sublinhado) do tema que ficava
   por baixo da caixa DS do input (datepicker/clockpicker/etc.) -> remover. E o tema
   forca o input a transparent !important; repor fundo branco para a caixa ser solida. */
.ds-list .mda-form-control {
  border-bottom: none; }

.ds-list .mda-form-control > input,
.ds-list .mda-form-control > textarea,
.ds-list .mda-form-control > select {
  background-color: #fff !important; }

/* Contraste: a caixa DS e sempre branca, por isso o texto e o placeholder tem de
   ser escuros SEMPRE. Sem isto, nos paineis de tema escuro (.mda-form-control-dark,
   ex.: "Criar Novo Ponto" do newService) o texto/placeholder ficava branco sobre a
   caixa branca -> invisivel. */
.ds-list .form-control {
  color: var(--ds-text) !important; }

.ds-list .form-control::-webkit-input-placeholder {
  color: #9aa3ad !important;
  opacity: 1; }

.ds-list .form-control::-moz-placeholder {
  color: #9aa3ad !important;
  opacity: 1; }

.ds-list .form-control:-ms-input-placeholder {
  color: #9aa3ad !important;
  opacity: 1; }

.ds-list .form-control::placeholder {
  color: #9aa3ad !important;
  opacity: 1; }

/* Botoes: forma DS mantendo a cor semantica; success = verde da marca.
   Exclui btn-circle/btn-oval (pilulas e icones redondos mantem a forma). */
.ds-list .btn:not(.btn-circle):not(.btn-oval) {
  border-radius: 14px;
  box-shadow: none;
  font-weight: 700; }

.ds-list .btn-success {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: #26310a; }

.ds-list .btn-success:hover {
  background: var(--ds-green-d);
  border-color: var(--ds-green-d); }

/* VOLTAR (partial goBack, #btnBack) — neutro/ghost, consistente em toda a app. */
#btnBack {
  background: #fff !important;
  border: 1px solid var(--ds-line) !important;
  color: var(--ds-muted) !important;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: none; }

#btnBack:hover {
  background: var(--ds-grey) !important;
  color: var(--ds-ink) !important; }

/* SALVAR (partial save: btn-success + feedback + opacity07) — verde da marca,
   consistente em toda a app. CSS-only para nao mexer no binding de JS do partial. */
button.btn-success.feedback.opacity07 {
  background: var(--ds-green) !important;
  border-color: var(--ds-green) !important;
  color: #26310a !important;
  opacity: 1 !important;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: none; }

button.btn-success.feedback.opacity07:hover {
  background: var(--ds-green-d) !important; }

/* ---- Página de detalhe: fundo cinza para os cartões flutuarem ------------ */
.ds-page {
  background: var(--ds-bg);
  border: none;
  box-shadow: none; }

/* Alinhar verticalmente as secções topo (.ds-scope) e points (.ds-points):
   mesmas margens laterais (18px), neutralizando o padding do card-body e o
   gutter do col-lg-12 raiz do template points. */
.ds-page > .card-body,
.ds-page > .card-heading > .card-body,
.ds-page > .modal-body {
  padding-left: 0;
  padding-right: 0; }

/* finished/history: o topo fica dentro de um .card-heading (que nao fecha
   simetricamente no template legado) — neutraliza-lo para o fundo cinza e as
   margens ficarem iguais ao serviceDetail. */
.ds-page > .card-heading {
  padding: 0;
  border: none;
  background: transparent; }

/* ---- Points: restyle com escopo, SEM tocar no markup do template ---------
   O template `points` é grande e cheio de forms/ids/eventos (moradas, chaves de
   ponto, obs, tempos do driver, guias). Em vez de o reescrever, damos-lhe o look
   do sistema só por CSS, deixando toda a lógica intacta. -------------------- */
.ds-points {
  padding: 0 18px 16px; }

.ds-points > .col-lg-12 {
  padding-left: 0;
  padding-right: 0; }

.ds-points .card {
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  margin-bottom: 14px; }

.ds-points .card .card {
  box-shadow: none; }

/* aninhados mais leves */
.ds-points .media-heading.text-bold {
  font-size: 16px;
  color: var(--ds-ink); }

.ds-points .form-control {
  border-radius: var(--ds-radius-s); }

.ds-points .form-control:focus {
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.ds-points .btn-success {
  background: var(--ds-green);
  color: #26310a;
  border-color: var(--ds-green); }

.ds-points .btn-success:hover {
  background: var(--ds-green-d);
  border-color: var(--ds-green-d); }

.ds-points .card-title {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em; }

/* O cabeçalho colorido (ex.: GUIAS, .card-heading.bg-primary) tem cantos retos e
   ficava a transbordar por cima dos cantos arredondados do cartão. Passa a
   seguir o raio do cartão. Feito com border-radius e não com overflow:hidden no
   cartão, que cortaria o botão "+" do .card-offset (está posicionado a -24px,
   propositadamente a sair para fora do cabeçalho). */
.ds-points .card > .card-heading:first-child {
  border-top-left-radius: var(--ds-radius);
  border-top-right-radius: var(--ds-radius); }

/* Cabeçalho das tabelas dentro dos cartões dos pontos (ex.: GUIAS). Vinha com
   fundo claro e texto claro por cima — no tema escuro lia-se uma faixa branca
   sem texto. Tentei primeiro trata-lo no mixin do tema (is-dark), mas não
   ganhava: a origem do branco muda consoante a tabela chegue ou não a ser
   inicializada como DataTable. Aqui a regra está no scope .ds-points, que se
   sabe que alcança estes cartões — foi o mesmo que arredondou o cabeçalho
   acima. Fundo neutralizado nos três níveis (thead, tr e th) porque qualquer
   deles pode ser o pintado. */
.ds-points table > thead,
.ds-points table > thead > tr,
.ds-points table > thead > tr > th,
.ds-points table > thead > tr > td {
  background-color: transparent !important; }

.ds-points table > thead > tr > th {
  color: var(--ds-muted) !important;
  border-bottom: 1px solid var(--ds-line) !important;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em; }

/* Alinhamento vertical à esquerda dentro do ponto: o conteúdo (tempos, incidência,
   guias) vive num <table width:90%> com colunas Bootstrap sem .row, o que desalinha
   cada bloco. Normalizar para uma linha vertical limpa alinhada com o cabeçalho. */
.ds-points .media-body table.media-heading {
  width: 100% !important; }

.ds-points .media-body table.media-heading [class*="col-"] {
  padding-left: 0; }

.ds-points .media-body table.media-heading .col-md-6 {
  padding-right: 14px; }

/* ── Linhas de tabela com estado ──────────────────────────────────────────────
   Realce discreto para linhas que exigem atenção em tabelas de auditoria
   (ex.: controlo de margens). Tom suave de propósito: a tabela inteira é feita
   de linhas assinaladas, e cores fortes tornariam-na ilegível. */
.ds-row--alert {
  background: rgba(217, 83, 79, 0.08) !important; }

.ds-row--alert:hover {
  background: rgba(217, 83, 79, 0.14) !important; }

.ds-row--warn {
  background: rgba(240, 173, 78, 0.1) !important; }

.ds-row--warn:hover {
  background: rgba(240, 173, 78, 0.16) !important; }

/* ---- Barra de estatísticas (cabeçalho de páginas de auditoria) ------------ */
.ds-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
  margin: 0; }

.ds-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 12px;
  color: var(--ds-muted); }

.ds-stat b {
  font-size: 15px;
  color: var(--ds-ink);
  font-weight: 700; }

.ds-pill--muted {
  background: var(--ds-grey);
  color: var(--ds-muted); }

.ds-pill--danger {
  background: #fdecea;
  color: #b3261e; }

.ds-pill--info {
  background: #eef4ff;
  color: #2f6bd6; }

/* Botões numa célula da grelha, alinhados com os campos da mesma linha. O
   alinhamento vem do rótulo-espaçador acima (mesma altura de um rótulo real),
   não de height:100% — que não funcionaria sem altura definida no pai. */
.ds-actions--inline {
  display: flex;
  gap: 8px;
  align-items: center; }

.ds-actions--inline .btn {
  margin: 0; }

.ds-label--spacer {
  visibility: hidden; }

/* ---- Tabela de auditoria ------------------------------------------------- */
.ds-table {
  width: 100%;
  margin: 0; }

.ds-table > thead > tr > th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ds-muted);
  font-weight: 700;
  border-bottom: 1px solid var(--ds-line);
  border-top: 0;
  padding: 10px 12px;
  white-space: nowrap; }

.ds-table > tbody > tr > td {
  padding: 12px;
  vertical-align: middle;
  border-top: 1px solid var(--ds-line); }

.ds-table > tbody > tr > td:first-child {
  vertical-align: top; }

.ds-table .ds-num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums; }

.ds-table .ds-nr {
  font-weight: 700;
  color: var(--ds-ink);
  font-size: 14px; }

.ds-table .ds-margin {
  font-weight: 700;
  color: var(--ds-ink); }

/* Pernas do serviço composto, listadas por baixo do nº do principal. */
.ds-leg {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  color: var(--ds-muted);
  line-height: 1.5; }

.ds-leg-nr {
  color: var(--ds-ink);
  font-weight: 600; }

.ds-flag {
  display: inline-block;
  margin-top: 6px; }

/* ---- Campo de escolha obrigatória (.ds-pick) ------------------------------
   Para o primeiro passo de um formulário que bloqueia todo o resto — no
   newService, escolher o cliente. Substitui o padrão antigo de pôr um banner
   grande no fundo da página a dizer "escolha X acima": o aviso passa a viver
   colado ao campo que é preciso preencher, e desaparece sozinho quando está
   feito. Enquanto vazio, um anel verde respira à volta do campo — bem mais
   suave que o .blink global (opacity 1 → 0.2), que continua a servir outros
   sítios e não é tocado aqui. */
.ds-pick {
  position: relative; }

/* Mesma peça única da caixa de procura do robô: o grupo é que tem o
   enchimento e o contorno, o botão de limpar e o campo lá dentro são
   transparentes. Antes o X vivia numa caixa cinzenta própria, encostada a um
   campo branco — duas caixas coladas em vez de um campo. */
.ds-pick-field {
  position: relative;
  display: flex;
  align-items: center;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s); }

.ds-pick-field:focus-within {
  border-color: var(--ds-green); }

.ds-pick-field .input-group-btn {
  flex: 0 0 auto;
  width: auto; }

.ds-pick-field .twitter-typeahead {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important; }

/* O segundo selector existe para vencer a regra do tema escuro
   (.theme-3 .ds-list .form-control), que força fundo próprio com !important:
   sem ele, no escuro voltava a haver uma caixa dentro da caixa. */
.ds-pick-field .form-control,
.theme-3 .ds-list .ds-pick-field .form-control {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent !important;
  background-image: none;
  border: 0 !important;
  box-shadow: none !important;
  /* Centrado por CONSTRUÇÃO e não por um valor afinado à mão: a altura deixa
     de ser fixa e passa a ser o texto mais o mesmo enchimento em cima e em
     baixo. Com 16px de letra e 1.25 de entrelinha dá os mesmos 44px de antes,
     mas o texto fica ao meio sozinho — em qualquer tamanho de letra e sem
     depender do que o navegador faz com a caixa de conteúdo de um <input>,
     que foi onde me perdi a afinar 0px, depois 2px. */
  font-size: 16px;
  line-height: 1.25;
  /* Assimetrico de proposito: 9 em cima e 15 em baixo. O centro geometrico
     nao e o centro optico — a maiuscula e as letras sem descida ocupam a
     metade de cima da linha, por isso a mancha de texto parece sempre baixa
     quando o enchimento e igual dos dois lados. */
  padding: 6px 0 18px 4px; }

/* O enchimento assimetrico acima foi calibrado na newService, onde o botao do X
   tambem tem a classe .btn — e e essa que lhe da enchimento proprio e o sobe,
   acompanhando o texto levantado.

   Na newClickServiceAdmin e na newFlashDirectAdmin o botao nao tem .btn: fica
   centrado na caixa, e ai o texto levantado passa a destoar dele. Nestas duas o
   enchimento e igual dos dois lados, para o texto assentar a mesma altura do X.

   Por pagina e nao por uma classe do campo porque a diferenca esta no BOTAO, e
   o CSS nao deixa escolher um irmao que vem antes. */
.ds-click .ds-pick-field .form-control,
.ds-flash .ds-pick-field .form-control,
.theme-3 .ds-list.ds-click .ds-pick-field .form-control,
.theme-3 .ds-list.ds-flash .ds-pick-field .form-control {
  padding: 12px 0 12px 4px; }

.ds-pick-field .ds-botsearch-clear {
  height: 42px; }

/* O X sobe com o texto. A correccao de 5px do glifo foi calibrada nas caixas
   de procura do robo, com 36px de altura; nesta caixa alta ficava baixo em
   relacao ao "Comece aqui...". So aqui — as do robo ficam como estao. */
.ds-pick-field .ds-botsearch-clear > em {
  transform: translateY(1px); }

/* A caixa de procura do robô tinha o mesmo problema no tema escuro: a regra
   .theme-3 .ds-list .form-control (3 classes + !important) ganhava ao meu
   .ds-botsearch .form-control (2 classes), e o campo continuava com fundo
   próprio dentro da pastilha. */
.theme-3 .ds-list .ds-botsearch .form-control {
  background: transparent !important; }

.ds-pick--empty .ds-pick-field::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: calc(var(--ds-radius-s) + 3px);
  border: 2px solid var(--ds-green);
  pointer-events: none;
  animation: ds-pick-breathe 2.4s ease-in-out infinite; }

@keyframes ds-pick-breathe {
  0%, 100% {
    opacity: .30;
    transform: scale(1); }
  50% {
    opacity: .95;
    transform: scale(1.012); } }

/* A dica entra a deslizar, para o olho ir ter com ela sem ser agressivo. */
.ds-pick-hint {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 9px 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(190, 214, 47, 0.2), rgba(190, 214, 47, 0.06));
  color: var(--ds-ink);
  font-size: 13px;
  font-weight: 600;
  animation: ds-pick-in .35s ease-out both; }

@keyframes ds-pick-in {
  from {
    opacity: 0;
    transform: translateY(-4px); }
  to {
    opacity: 1;
    transform: none; } }

/* Numeral do passo: deixa claro que isto é o passo 1 de uma sequência. */
.ds-pick-step {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--ds-green);
  color: #26310a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800; }

/* Feito: verde sólido, sem animação — o trabalho está entregue. */
.ds-pick-hint--ok {
  background: rgba(46, 160, 67, 0.1);
  color: #1b6b2b; }

.ds-pick-hint--ok > em {
  font-size: 17px;
  line-height: 1; }

.ds-pick-hint--ok b {
  color: var(--ds-ink); }

@media (max-width: 760px) {
  .ds-pick-hint {
    font-size: 12px;
    padding: 8px 12px; } }

/* ---- Pontos em ecrã pequeno (app do driver) ------------------------------
   O .media do Bootstrap 3 monta cada ponto como tabela: .media-body é
   display:table-cell com width:10000px, um truque para ocupar o resto da linha.
   Os campos lá dentro são width:100% e acabam por resolver a percentagem contra
   essa largura fantasma — saem fora do cartão e ficam cortados à direita.
   Num ecrã estreito a tabela não traz vantagem nenhuma, por isso passa a blocos. */
@media (max-width: 760px) {
  .ds-points .media {
    display: block; }
  .ds-points .media-body {
    display: block;
    width: auto;
    max-width: 100%; }
  .ds-points .media-left {
    display: inline-block;
    vertical-align: top;
    padding-right: 10px; }
  /* Colunas Bootstrap usadas sem .row: abaixo deste ponto são todas de largura
     total, e o padding lateral só rouba espaço dentro de um cartão que já tem
     padding próprio. O col-xs-6 fica de fora — esse continua a ser duas colunas
     lado a lado e precisa da goteira. */
  .ds-points [class*="col-md-"],
  .ds-points [class*="col-lg-"],
  .ds-points [class*="col-sm-"],
  .ds-points .col-xs-12 {
    padding-left: 0;
    padding-right: 0; }
  /* Rede de segurança: nada dentro do ponto pode ser mais largo que o cartão. */
  .ds-points .form-control,
  .ds-points textarea,
  .ds-points input[type="text"] {
    max-width: 100%; }
  /* Endereços e emails longos partem em vez de esticar a caixa. */
  .ds-points .media-heading {
    overflow-wrap: anywhere; } }

/* ---- Resultado da simulação (.ds-sim) ------------------------------------
   O painel do newService/rebuildService é redimensionável pelo separador, por
   isso este cartão NÃO pode depender de breakpoints do ecrã: um col-md-6 aqui
   dentro continua a valer 50% mesmo com o painel a 280px, e é isso que fazia os
   blocos desalinharem ao arrastar. Aqui o layout reflui pela largura do PRÓPRIO
   cartão — flex-wrap nos chips, grid auto-fit nos preços. Container queries
   seriam o instrumento certo, mas a WebView do Android no APK não os suporta.

   O contentor de texto do tema (.mda-list-item-text) é float:left sem largura,
   portanto encolhe para caber no conteúdo — outra fonte de instabilidade. Passa
   a bloco com overflow:hidden, que cria um BFC: fica ao lado do ícone flutuante
   e ocupa o resto da linha, com uma largura real e previsível. */
.mda-list-item > .ds-sim {
  float: none;
  width: auto;
  overflow: hidden;
  padding: 16px 0; }

.ds-sim-head {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 2px 12px; }

.ds-sim-time {
  font-size: 22px;
  font-weight: 700;
  color: var(--ds-ink);
  line-height: 1.25; }

.ds-sim-dist {
  font-size: 14px;
  color: var(--ds-muted); }

.ds-sim-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px; }

.ds-sim-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4; }

.ds-sim-chip--zone {
  background: #eef4ff;
  color: #2f6bd6; }

.ds-sim-chip--plain {
  background: var(--ds-grey);
  color: var(--ds-muted); }

.ds-sim-chip em {
  font-size: 16px;
  line-height: 1; }

.ds-sim-chips .btn {
  margin: 0; }

/* Os dois preços passam de lado a lado para empilhados exatamente quando
   deixam de caber nos 160px cada — sem breakpoint nenhum pelo meio. */
.ds-sim-prices {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 12px; }

.ds-sim-price {
  border-radius: 16px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0; }

.ds-sim-price--client {
  background: var(--ds-green);
  color: #26310a; }

.ds-sim-price--driver {
  background: var(--ds-ink-bg);
  color: #fff; }

.ds-sim-price-cap {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .75;
  font-weight: 700; }

.ds-sim-price-val {
  font-size: 16px;
  font-weight: 800;
  white-space: nowrap; }

.ds-sim-price-old {
  font-size: 12px;
  opacity: .7;
  white-space: nowrap; }

.ds-sim-now {
  grid-column: 1 / -1;
  color: #d9534f;
  font-weight: 700;
  font-style: italic; }

/* ---- Ações na linha (.ds-rowacts) ----------------------------------------
   Substitui o menu de três pontinhos nas linhas dos pontos do serviço. O menu
   tinha um defeito que não se via: como o "cima" e o "baixo" eram condicionais,
   o "eliminar" mudava de posição consoante a linha fosse a primeira, do meio ou
   a última — nunca se criava memória muscular e clicava-se em eliminar quando
   se queria descer.

   Aqui os três botões estão SEMPRE nas mesmas posições. Nos extremos o de subir
   ou o de descer fica apagado (--off), não desaparece: se desaparecesse, os
   outros deslizavam e voltava-se ao mesmo problema. */
.ds-rowacts {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-top: 14px; }

.ds-rowact {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--ds-muted);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  transition: background .15s ease, color .15s ease; }

.ds-rowact:hover {
  background: var(--ds-grey);
  color: var(--ds-ink); }

.ds-rowact:focus {
  outline: none; }

/* Apagado nos extremos: continua a ocupar o lugar, mas não responde. */
.ds-rowact--off,
.ds-rowact--off:hover {
  opacity: .28;
  pointer-events: none;
  background: transparent;
  color: var(--ds-muted); }

/* O eliminar fica separado dos de mover e só ganha vermelho ao passar o rato —
   é destrutivo, não deve chamar por si. */
.ds-rowact--del {
  margin-left: 8px; }

.ds-rowact--del:hover {
  background: rgba(217, 83, 79, 0.14);
  color: #d9534f; }

/* Pino da base na lista de pontos. A base não é um passo do percurso — é o
   sítio de onde se parte e para onde se regressa, contado só para calcular a
   distância. Por isso leva um ícone em vez de um número: uma forma diferente
   diz "outra categoria de coisa" mais depressa do que um número diferente. */
.ds-basepin {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff; }

/* ---- Documentação técnica dentro da app ----------------------------------
   Usado pela página /calculators (máquinas de cálculo de preços). São páginas
   de leitura longa: precisam de blocos de fórmula, de avisos que não gritem, e
   de âncoras que não fiquem escondidas debaixo da barra fixa. */
/* Alvo de âncora. A barra do topo é fixa: sem este recuo, saltar para uma
   secção deixa-lhe o título por baixo dela. */
.ds-anchor {
  display: block;
  position: relative;
  top: -80px;
  visibility: hidden; }

/* Bloco de fórmula/pseudocódigo. Monospace e sem quebra automática: uma fórmula
   partida a meio deixa de se ler como fórmula. Rola dentro de si em vez de
   alargar a página. */
.ds-formula {
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  color: var(--ds-text);
  font-family: Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 12.5px;
  line-height: 1.65;
  padding: 12px 14px;
  margin: 10px 0 14px;
  white-space: pre;
  overflow-x: auto; }

/* Nota de rodapé de secção. A variante warn é para o que pode morder alguém:
   valores fixos no código, parâmetros ambíguos, máquinas em erro. Tom baixo de
   propósito — numa página de documentação técnica quase tudo tem ressalvas. */
.ds-note {
  font-size: 13px;
  line-height: 1.6;
  color: var(--ds-muted);
  border-left: 3px solid var(--ds-line);
  padding: 2px 0 2px 12px;
  margin: 10px 0; }

.ds-note--warn {
  border-left-color: #f0ad4e;
  background: rgba(240, 173, 78, 0.08);
  color: var(--ds-text);
  padding: 10px 12px;
  border-radius: 0 var(--ds-radius-s) var(--ds-radius-s) 0; }

.ds-note code {
  font-size: 12px; }

/* Chips do índice no topo da página. */
.ds-idx {
  display: inline-block;
  margin: 3px 6px 3px 0;
  padding: 3px 10px;
  border: 1px solid var(--ds-line);
  border-radius: 999px;
  background: var(--ds-grey);
  color: var(--ds-text);
  font-size: 12px;
  text-decoration: none; }

.ds-idx:hover, .ds-idx:focus {
  border-color: var(--ds-green);
  color: var(--ds-ink);
  text-decoration: none; }

/* Link "o que é isto?" ao lado de um campo de escolha, nos formulários de
   perfil. Discreto: é uma saída para a documentação, não uma ação da página. */
.ds-doclink {
  display: inline-block;
  margin-top: 6px;
  font-size: 12px;
  color: var(--ds-muted);
  text-decoration: none; }

.ds-doclink:hover, .ds-doclink:focus {
  color: var(--ds-green-d);
  text-decoration: none; }

.ds-doclink em {
  margin-right: 4px; }

/* Aviso de valor gravado que não consta da lista de opções. Não se corrige
   sozinho de propósito: mudar o calculador de um cliente muda-lhe os preços. */
.ds-optwarn {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #d9534f; }

/* Variante de .ds-kv para fichas de metadados: rótulo à esquerda em coluna fixa,
   valor à direita. O uso original de .ds-kv é o inverso ("rótulo: <b>valor</b>"
   em linha corrida) e fica intacto. */
.ds-kv--meta {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 4px 14px;
  align-items: baseline;
  padding: 5px 0;
  border-bottom: 1px dashed var(--ds-line); }

.ds-kv--meta > b {
  color: var(--ds-muted);
  font-weight: 600;
  font-size: 13px; }

/* Valores compridos sem espaços (ex.: "db-weby-5204.nodechef.com:5413") partem
   dentro da coluna em vez de passarem por cima da do lado. 2026-10-18 */
.ds-kv--meta > * {
  min-width: 0;
  overflow-wrap: anywhere; }

@media (max-width: 760px) {
  .ds-kv--meta {
    grid-template-columns: 1fr; } }

/* Barra de estatísticas no topo de uma página inteira (não dentro de cartão). */
.ds-stats--page {
  margin: 0 0 16px; }

/* ---- Aviso de servidor indisponivel --------------------------------------
   Faixa fixa no topo, acima de tudo. Aparece quando a ligacao DDP cai ou
   quando o servidor responde mas a base de dados nao — o caso em que os
   metodos ficam pendurados e nunca devolvem erro, por isso nada mais no ecra
   daria sinal de vida. Ver server/health.js e core/serverHealth.js. */
.yb-health {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20000;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 18px;
  font-size: 13.5px;
  line-height: 1.45;
  color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28); }

.yb-health > em {
  font-size: 22px;
  flex: 0 0 auto; }

.yb-health-txt {
  display: flex;
  flex-direction: column;
  min-width: 0; }

.yb-health-txt b {
  font-weight: 700; }

.yb-health-txt span {
  opacity: .92; }

.yb-health--down {
  background: #c0392b; }

.yb-health--ok {
  background: #3d8b40; }

.yb-health-retry {
  margin-left: auto;
  flex: 0 0 auto;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 6px;
  padding: 6px 14px;
  font-weight: 600;
  text-decoration: none; }

.yb-health-retry:hover,
.yb-health-retry:focus {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  text-decoration: none; }

@media (max-width: 620px) {
  .yb-health {
    flex-wrap: wrap;
    gap: 8px;
    padding: 9px 12px;
    font-size: 12.5px; }
  .yb-health-retry {
    margin-left: 0; } }

/* ---- Popup de alteracao manual de precos ---------------------------------
   Abre a partir dos dois cartoes de preco da simulacao (.ds-sim-price--client
   verde, .ds-sim-price--driver azul-tinta). O popup herdava um cabecalho
   vermelho de perigo e etiquetas azul/cinzento que nao tinham nada a ver com os
   cartoes que o accionam: clicava-se em verde e abria vermelho. Agora cada linha
   usa a cor do cartao correspondente, e o vermelho fica reservado para o que e
   mesmo perigo. */
.ds-pricemodal {
  border: none;
  border-radius: var(--ds-radius);
  overflow: hidden;
  background: var(--ds-card); }

.ds-pricemodal-head {
  background: var(--ds-ink-bg);
  border: none;
  padding: 14px 18px; }

.ds-pricemodal-head .modal-title {
  color: #fff;
  font-size: 16px;
  font-weight: 700; }

.ds-pricemodal-head .close {
  color: #fff;
  opacity: .75;
  text-shadow: none;
  font-size: 22px;
  margin-top: -2px; }

.ds-pricemodal-head .close:hover {
  opacity: 1; }

.ds-pricemodal .modal-body {
  padding: 16px 18px 18px;
  background: var(--ds-card); }

/* Cadeado. Fecha-se sempre que o popup abre — alterar um preco a mao e um acto
   deliberado, nao uma definicao que fica ligada. */
.ds-pricemodal-lock {
  border: 1px dashed var(--ds-line);
  border-radius: var(--ds-radius-s);
  padding: 11px 13px;
  margin-bottom: 14px;
  background: var(--ds-grey); }

.ds-pricemodal-lock.is-unlocked {
  border-style: solid;
  border-color: var(--ds-green); }

.ds-pricemodal-lock-cap {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ds-muted);
  font-weight: 700;
  margin-bottom: 8px; }

.ds-pricemodal-lock-row {
  display: flex;
  gap: 8px; }

.ds-pricemodal-lock-row .ds-input {
  flex: 1;
  min-width: 0; }

.ds-pricemodal-lock-row .ds-btn {
  flex: 0 0 auto;
  padding: 9px 16px;
  font-size: 13px; }

.ds-pricemodal-lock-msg {
  display: block;
  margin-top: 7px;
  font-size: 12px;
  color: var(--ds-muted); }

.ds-pricemodal-lock-msg.is-bad {
  color: #d9534f;
  font-weight: 600; }

.ds-pricemodal-lock-msg.is-ok {
  color: var(--ds-green-d);
  font-weight: 600; }

/* Uma linha por preco, na cor do cartao que abriu o popup. */
.ds-pricemodal-row {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "cap now" "inp inp";
  gap: 4px 10px;
  align-items: center;
  border-radius: var(--ds-radius-s);
  padding: 10px 13px;
  margin-bottom: 10px; }

.ds-pricemodal-row--client {
  background: var(--ds-green);
  color: #26310a; }

.ds-pricemodal-row--driver {
  background: var(--ds-ink-bg);
  color: #fff; }

.ds-pricemodal-cap {
  grid-area: cap;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 700;
  opacity: .75; }

.ds-pricemodal-now {
  grid-area: now;
  font-size: 13px;
  font-weight: 700;
  opacity: .85;
  font-variant-numeric: tabular-nums; }

.ds-pricemodal-inp {
  grid-area: inp;
  width: 100%;
  border: none;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 19px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  background: rgba(255, 255, 255, 0.92);
  color: #1a2126; }

.ds-pricemodal-inp:focus {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 1px; }

/* CAMPO BLOQUEADO. O valor continua a ser informacao e tem de se ler: o
   estado bloqueado diz-se pelo cadeado, pelo cursor e pelo fundo mais
   apagado, nao por tornar o numero invisivel.

   Estava a branco 40% com texto #6b7480. Sobre o azul escuro da caixa do
   estafeta isso compunha um cinzento medio com texto cinzento medio por
   cima: 1,19:1, quando o minimo e' 4,5:1. Sobre o verde do cliente dava
   3,51:1, tambem a reprovar.

   Medido: com o fundo a 62% e o texto #2b3440 fica 10,4:1 no cliente e
   5,7:1 no estafeta, e continua visivelmente mais apagado que o campo
   activo (92%). */
.ds-pricemodal-inp:disabled {
  background: rgba(255, 255, 255, 0.62);
  color: #2b3440;
  cursor: not-allowed; }

.ds-pricemodal .ds-btn:disabled {
  opacity: .45;
  cursor: not-allowed; }

/* A sobretaxa prevista, dentro do modal. Fica logo por baixo da caixa do
   cliente porque e' o preco do cliente que a determina. */
.ds-pricemodal-fuel {
  display: block;
  margin: -4px 0 10px;
  padding: 7px 10px;
  border-radius: 10px;
  background: var(--ds-green-l);
  color: var(--ds-green-ink);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  min-height: 16px; }

.ds-pricemodal-fuel:empty {
  display: none; }

/* ---- Escolha de links do menu (paginas de settings) ----------------------
   Cada utilizador esconde o que nao usa. A pagina de settings nunca entra na
   lista — e a porta de saida, e sem ela quem se escondesse os links ficava sem
   forma de voltar atras. */
.ds-menuprefs-fixed {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  background: var(--ds-grey);
  border-left: 3px solid var(--ds-green);
  border-radius: 0 var(--ds-radius-s) var(--ds-radius-s) 0;
  padding: 10px 13px;
  margin: 12px 0 18px;
  font-size: 13px;
  color: var(--ds-text); }

.ds-menuprefs-fixed > em {
  color: var(--ds-green-d);
  font-size: 16px;
  margin-top: 1px; }

.ds-menuprefs-group {
  margin-bottom: 16px; }

.ds-menuprefs-group-cap {
  display: block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ds-muted);
  font-weight: 700;
  padding-bottom: 6px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--ds-line); }

.ds-menuprefs-saved {
  margin-right: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-green-d); }

/* Rodape das seccoes de escolha de links. Nao ha botao de guardar: a seccao vive
   dentro de paginas que ja tem o seu SALVAR, e dois botoes de gravar no mesmo
   ecra nao dizem a ninguem qual e qual. Guarda-se a cada mudanca, e o estado diz
   que ja ficou. */
.ds-menuprefs-foot {
  align-items: center; }

.ds-menuprefs-hint {
  margin-right: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: var(--ds-muted); }

.ds-menuprefs-hint em {
  color: var(--ds-green-d);
  font-size: 15px; }

/* ---- Cartões de serviço guardado (servicesBot e myFavorites) -------------
   Cada cartão é um serviço agendado (Robô) ou guardado (Favoritos). As duas
   páginas tinham a mesma estrutura copiada, com os mesmos defeitos; partilham
   agora os mesmos componentes. Os favoritos não têm periodicidade, despacho
   nem estafeta — usam o subconjunto que lhes serve. A informação que importa a quem olha para
   esta página é "quando sai o próximo e para quem" — era o que estava mais
   escondido, no meio de quatro checkboxes desativados que só serviam de
   indicador (e que, por estarem dentro de um {{#each}}, repetiam o mesmo id em
   todos os cartões). Agora o cliente é o título, o próximo despacho tem
   destaque, e o estado aparece só quando está ligado. */
.ds-botgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 16px;
  /* stretch (e nao start): os cartoes de uma linha ficam todos com a altura do
     mais alto, e o .ds-botacts com margin-top:auto encosta os botoes ao fundo.
     Sem isto cada cartao tinha a sua altura e a linha ficava aos degraus. */
  align-items: stretch; }

.ds-botcard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  /* mais folga em baixo: com os botoes em duas linhas, 16px deixava a segunda
     linha colada a borda do cartao */
  padding: 16px 16px 28px;
  min-width: 0;
  /* O cartao nunca pode ficar mais baixo do que aquilo que tem dentro. Sendo
     item de grelha com align-items:stretch, a altura vem-lhe da linha; se a
     linha for calculada com a coluna a uma largura e o texto acabar por partir
     noutra, o conteudo passava a borda. Assim a altura da linha e um minimo,
     nunca um tecto. */
  height: auto;
  min-height: 100%; }

.ds-botcard-head {
  display: flex;
  align-items: flex-start;
  gap: 12px; }

.ds-botcard-id {
  flex: 1;
  min-width: 0; }

.ds-botcard-client {
  margin: 0 0 2px;
  font-size: 16px;
  font-weight: 700;
  color: var(--ds-ink);
  line-height: 1.25;
  overflow-wrap: anywhere; }

.ds-botcard-nr {
  font-size: 11px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

/* O interruptor traz margens do tema; aqui só se impede que empurre o resto. */
.ds-botcard-switch {
  flex: 0 0 auto;
  margin: 0; }

/* Sem alterações ao desenho do interruptor: fica o do tema (ui.switch.scss),
   tal como estava. Chegou a ser encolhido aqui e não resultou — a esta escala
   o botão do tema, que é maior do que o carril e o transborda de propósito,
   perde a proporção. Revertido de propósito; não voltar a mexer sem uma razão
   melhor do que "ficar mais pequeno". */
/* Estado. Só se mostra o que está ligado — quatro linhas de caixas vazias
   ocupavam metade do cartão para dizer "nada disto se aplica". */
.ds-botflags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center; }

.ds-botflag {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--ds-grey);
  color: var(--ds-muted);
  border: 1px solid var(--ds-line); }

/* O próximo despacho é a razão de ser da página. */
.ds-botnext {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  background: var(--ds-grey);
  border-left: 3px solid #d9534f;
  border-radius: 0 var(--ds-radius-s) var(--ds-radius-s) 0;
  padding: 8px 12px; }

.ds-botnext-cap {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ds-muted);
  font-weight: 700; }

.ds-botnext-val {
  font-size: 14px;
  font-weight: 700;
  color: #d9534f;
  font-variant-numeric: tabular-nums; }

.ds-botdriver {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: var(--ds-text);
  font-style: italic; }

.ds-botdriver em {
  color: var(--ds-muted);
  font-style: normal; }

/* Percurso. Rola dentro de si: há serviços com dez pontos e outros com dois,
   e sem limite os cartões da mesma linha ficavam de alturas muito diferentes. */
.ds-botpoints {
  border-top: 1px solid var(--ds-line);
  border-bottom: 1px solid var(--ds-line);
  padding: 8px 0;
  /* ALTURA FIXA, nao max-height: cada ponto ocupa ~42px (nome + morada), quatro
     pontos ~168px. Assim um servico com dois pontos ocupa o mesmo espaco que um
     com quatro, e os cartoes alinham entre si em vez de ficarem aos degraus.
     Acima de quatro pontos rola dentro de si. */
  height: 184px;
  overflow-y: auto;
  /* Pelo mesmo motivo do .ds-botacts: sendo item flex, a altura fixa acima nao
     o protege de ser encolhido quando o cartao fica apertado. */
  flex-shrink: 0; }

.ds-botpoint {
  display: grid;
  grid-template-columns: 20px 1fr;
  gap: 2px 8px;
  padding: 4px 0;
  font-size: 12.5px;
  line-height: 1.35; }

.ds-botpoint-ico {
  grid-row: span 2;
  color: var(--ds-muted);
  font-size: 15px;
  text-align: center; }

.ds-botpoint-name {
  font-weight: 700;
  color: var(--ds-text);
  overflow-wrap: anywhere; }

.ds-botpoint-addr {
  color: var(--ds-muted);
  overflow-wrap: anywhere; }

/* Números. TRES colunas fixas, nao auto-fit: assim os seis campos caem sempre
   em duas linhas certas — Detalhe/Tipo/Precedencia em cima, e os tres numeros
   que interessam (Preco, Preco Driver e Distancia) juntos na linha de baixo.
   Com auto-fit era a largura a decidir, e o Preco Driver ficava orfao. */
.ds-botstats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 8px; }

.ds-botstat {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0; }

.ds-botstat b {
  font-size: 16px;
  font-weight: 800;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  /* No DETALHE vem mais do que um icone dentro do mesmo <b> — extensao actual e
     extensao progressiva — e sem nada entre eles ficavam encostados, a parecer
     um simbolo so. O flex da-lhes folga sem precisar de margens nos <span>, que
     sao pintados por classes vindas de helpers e nao se devem tocar. */
  display: inline-flex;
  align-items: center;
  gap: 7px; }

.ds-botstat > span {
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--ds-muted);
  line-height: 1.2;
  /* sem overflow-wrap: anywhere — partia "PRECEDENCIA" a meio da palavra.
     Preferivel a coluna crescer ou o rotulo passar para a linha de baixo. */
  overflow-wrap: normal; }

.ds-botstat--price b {
  color: var(--ds-green-d); }

.ds-botstat--driver b {
  color: var(--ds-muted); }

.ds-botstat--dist b {
  color: var(--ds-text); }

/* So a barra: o numero subiu para a linha dos stats. */
.ds-botdist {
  margin-top: -2px; }

/* Ações. Eram quatro botões de quatro cores diferentes, todos a gritar. Agora a
   ação frequente (lançar) é a única com cor, o eliminar afasta-se e só ganha
   vermelho ao passar o rato. */
/* DUAS colunas fixas, nao auto-fit. Sao quatro botoes: com auto-fit a largura
   do cartao decidia quantas colunas cabiam e, sempre que dava tres, sobrava um
   orfao na segunda linha encostado ao fundo do cartao — que e o que se via.
   Com duas colunas ficam sempre 2x2, em qualquer largura. Numero par de colunas
   para numero par de botoes: previsivel em vez de "depende".
   A separacao do destrutivo e pela cor, que nao muda com a largura. */
.ds-botacts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  border-top: 1px solid var(--ds-line);
  /* A folga em baixo vive aqui, e nao so no padding do cartao: dentro da
     propria caixa do rodape ninguem lha pode comer. */
  padding: 10px 0 14px;
  margin-top: auto;
  /* flex-shrink: 0 — a razao pela qual os botoes passavam por cima da borda do
     cartao, e so a certas larguras.
     Os cartoes da mesma linha ficam todos com a altura do mais alto
     (align-items: stretch no .ds-botgrid). Quando a largura da coluna faz o
     rotulo de um botao partir em duas linhas, o rodape passa a precisar de
     mais altura do que a linha lhe da; como e um item flex, encolhia — a
     caixa ficava mais baixa do que os botoes la dentro, e eles saiam por
     baixo, para cima do rebordo. Nao era falta de margem: era a margem a ser
     comida por conteudo espremido. */
  flex-shrink: 0;
  /* O tema tem uma regra para o ELEMENTO <footer> (core/layout.scss:75), feita
     para o rodape da pagina: `z-index: 109` e `height: 60px`. Como o rodape do
     cartao e semanticamente um <footer>, apanhava-a de caminho.

     O z-index era o que punha os cartoes por cima da barra lateral. Num item
     flex — e o .ds-botcard e flex — o z-index aplica-se mesmo com position:
     static, e 109 fica muito acima dos 20 do .sidebar-container. Abaixo dos
     992px o conteudo comeca em x=0, por baixo do menu aberto, e via-se o botao
     verde sobre a lista de menus. Parecia que so passavam os botoes porque o
     fundo do cartao e rgba(255,255,255,.03) no tema escuro: passava o cartao
     inteiro, mas so o que e opaco se dava a ver.

     A altura fixa de 60px e a outra metade da mesma regra: com o rotulo de um
     botao partido em duas linhas o conteudo passa dos 60px e transborda pela
     borda do cartao — que era o que o flex-shrink aqui em cima compensava. */
  z-index: auto;
  height: auto; }

/* Quem nao e administrador ve so o eliminar: ocupa a linha toda em vez de ficar
   meia-solto numa coluna. */
.ds-botacts > .ds-botbtn:only-child {
  grid-column: 1 / -1; }

/* Largura da celula: assim as duas colunas de botoes alinham exactamente com a
   barra de distancia e com o resto do conteudo do cartao. */
.ds-botacts .ds-botbtn {
  width: 100%;
  display: block; }

.ds-botbtn {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 12px;
  padding: 8px 8px;
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  cursor: pointer;
  text-align: center;
  line-height: 1.25;
  transition: background .15s ease, color .15s ease, border-color .15s ease; }

.ds-botbtn:hover {
  background: var(--ds-grey);
  color: var(--ds-text); }

.ds-botbtn--go {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: #26310a; }

.ds-botbtn--go:hover {
  background: var(--ds-green-d);
  border-color: var(--ds-green-d);
  color: #26310a; }

.ds-botbtn--del:hover {
  background: rgba(217, 83, 79, 0.12);
  border-color: rgba(217, 83, 79, 0.4);
  color: #d9534f; }

@media (max-width: 420px) {
  .ds-botgrid {
    grid-template-columns: 1fr; } }

/* ---- Barra de topo do Robô ----------------------------------------------
   Era a grelha do Bootstrap: col-sm-4 para o título e quatro col-sm-2 para as
   ferramentas. Colunas de 2/12 são estreitas de mais para uma caixa de texto —
   a certas larguras o campo "Local..." ficava cortado, e abaixo de 768px caía
   para debaixo do campo de cliente.
   Com flex, cada ferramenta declara a largura MÍNIMA de que precisa e passa
   para a linha de baixo INTEIRA quando não cabe, em vez de encolher até deixar
   de se ler. */
.ds-bothead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 14px; }

.ds-bothead-title {
  flex: 1 1 220px;
  min-width: 0; }

.ds-bothead-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: auto; }

/* 240px dá para o texto do campo se ler inteiro com o botão de limpar ao lado.
   Sem flex-grow: com grow, as duas caixas de procura absorviam todo o espaço
   livre da barra e empurravam o botão "+" para uma segunda linha. Encolhem
   quando é preciso (shrink 1), mas não engordam. */
.ds-botsearch {
  flex: 0 1 240px;
  min-width: 150px;
  margin: 0; }

/* Dentro de um cartao (formulario do radar) o campo nao pode impor 190px: a
   coluna pode ser mais estreita do que isso e era mais um empurrao a somar ao
   scroll horizontal. Na barra de topo o minimo faz sentido; aqui nao. */
.ds-card .ds-botsearch {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%; }

.ds-botsearch .input-group {
  width: 100%; }

/* O botão de limpar não tinha classe de cor: ficava um quadrado branco com o X
   invisível por cima. */
/* Centrado por flex, não pela linha de base do texto. O <em> do ícone é um
   elemento em linha: assentava na linha de base do botão e o glifo ficava
   acima do meio do campo, desalinhado do texto ao lado. */
.ds-botsearch-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  color: var(--ds-muted);
  padding: 0 10px 0 12px;
  height: 36px;
  line-height: 1;
  /* font-size EXPLICITO, e nao herdado.
     O .input-group-btn do Bootstrap 3 poe `font-size: 0` — e o truque dele para
     matar o espaco entre elementos em linha — e o `button { font: inherit }`
     faz o botao herdar esse zero. O X ficava com a caixa toda certa (36px de
     altura, enchimento, cor) mas o glifo era desenhado a ZERO pixeis, portanto
     invisivel.
     Onde o botao tambem tem a classe `btn` isto nunca se notou, porque o
     .btn traz font-size: 14px e anula a heranca. Nos sitios onde so tem
     .ds-botsearch-clear — o painel de criar ponto — desaparecia. */
  font-size: 17px;
  border-radius: var(--ds-radius-s) 0 0 var(--ds-radius-s); }

/* O glifo do ion-close não está centrado na sua própria caixa em: a fonte
   deixa mais folga em baixo do que em cima, por isso o X assenta acima do meio
   mesmo com a caixa perfeitamente centrada. Estes 5px corrigem a fonte, não o
   alinhamento — a caixa já estava certa. */
.ds-botsearch-clear > em {
  line-height: 1;
  display: block;
  transform: translateY(5px); }

.ds-botsearch-clear:hover {
  color: var(--ds-text); }

/* O <span class="input-group-btn"> do Bootstrap é uma célula de tabela com
   vertical-align: middle, que dentro de um flex não quer dizer nada. */
.ds-botsearch .input-group-btn,
.ds-pick-field .input-group-btn {
  display: flex;
  align-items: center; }

/* A caixa de procura vivia numa barra `bg-white`: campo branco com rebordo
   --ds-line (quase branco) sobre fundo branco — no tema escuro lia-se, no
   claro desaparecia. Agora o grupo inteiro (botão de limpar + campo) é uma só
   peça com enchimento e contorno próprios, e o campo lá dentro é transparente:
   é o grupo que se vê, não o input. */
.ds-botsearch .input-group {
  display: flex;
  align-items: center;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  /* Sem overflow:hidden — a lista de sugestões do typeahead (.tt-menu) é
     posicionada dentro do grupo e ficaria cortada logo abaixo do campo. Os
     cantos não precisam de recorte: lá dentro já ninguém tem fundo próprio. */ }

.ds-botsearch .input-group:focus-within {
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

/* O .input-group-btn do Bootstrap traz `width: 1%` (truque para células de
   tabela). Com o grupo em flex, esse 1% vira a largura pedida pelo botão: a
   caixa fica com 2px, o X transborda para fora dela e o campo — que tem
   z-index 2 — passa-lhe por cima. Era isso que sobrepunha o X ao "Local...".
   No campo de cliente não se via porque o typeahead mete um <span> pelo meio,
   que não herda esse 1%. */
.ds-botsearch .input-group-btn {
  flex: 0 0 auto;
  width: auto; }

/* O typeahead embrulha o campo num <span class="twitter-typeahead">, que não é
   filho directo previsível do grupo: por isso a regra apanha o campo esteja ou
   não embrulhado, e o embrulho é que passa a esticar. */
.ds-botsearch .twitter-typeahead {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important; }

.ds-botsearch .form-control,
.ds-botsearch .twitter-typeahead .form-control {
  height: 36px;
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent !important;
  background-image: none;
  border: 0;
  box-shadow: none;
  /* Mesma razão do .ds-pick-field: o enchimento vertical do .form-control com
     altura fixa desalinha o texto do X ao lado. Os 6px de topo descem o texto
     para o encontrar: o X leva a correcção de 5px do glifo (ver
     .ds-botsearch-clear > em), calibrada para a caixa alta de 44px do
     newService, e nesta caixa de 36px sobra-lhe qualquer coisa. */
  padding: 6px 0 0 2px;
  line-height: normal; }

.ds-botsearch .form-control:focus {
  border: 0;
  box-shadow: none; }

/* A sugestão do typeahead (.tt-hint) é um segundo campo por baixo do real. */
.ds-botsearch .tt-hint {
  color: var(--ds-muted) !important; }

/* Botões do cabeçalho: mesma altura que a caixa de procura, para a barra ficar
   alinhada em vez de escalonada. */
.ds-bothead-btn {
  flex: 0 0 auto;
  white-space: nowrap;
  height: 38px;
  padding: 0 20px; }

.ds-bothead-btn--icon {
  padding-left: 14px;
  padding-right: 14px; }

@media (max-width: 620px) {
  .ds-bothead-tools {
    margin-left: 0;
    width: 100%; }
  .ds-bothead-btn {
    flex: 1 1 auto; } }

/* ---- Cartão de radar (geofences) ----------------------------------------
   Reaproveita .ds-botcard. As diferenças: os dois checkboxes SÃO clicáveis
   (mudam estado no servidor), ao contrário dos indicadores do Robô, por isso
   continuam checkboxes e não viraram etiquetas. */
.ds-geoaddr {
  font-size: 12.5px;
  color: var(--ds-muted);
  line-height: 1.4;
  overflow-wrap: anywhere; }

.ds-geotoggles {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  padding: 8px 0;
  border-top: 1px solid var(--ds-line);
  border-bottom: 1px solid var(--ds-line); }

.ds-geotoggles .mda-checkbox {
  margin: 0;
  font-size: 12.5px;
  color: var(--ds-text); }

.ds-geocoord {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.ds-geocoord em {
  font-size: 14px; }

/* Quem está por perto. Altura máxima e não fixa: muitas vezes está vazio, e uma
   caixa vazia de altura fixa em todos os cartões seria espaço morto. */
.ds-geonear {
  max-height: 132px;
  overflow-y: auto; }

.ds-geonear:not(:empty) {
  border-top: 1px solid var(--ds-line);
  padding-top: 8px; }

.ds-geonear-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px 0;
  font-size: 12px; }

.ds-geonear-row .label {
  white-space: normal;
  text-align: left; }

/* ---- Formulário do radar (newGeofence) ----------------------------------- */
.ds-geoform-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px; }

.ds-geoform-acts .ds-botbtn {
  flex: 1 1 auto; }

/* Os dois botões do mapa com as coordenadas ao lado: antes o resultado da
   localização aparecia num <small> perdido por cima, longe do botão que o
   produz. */
.ds-geomap-acts {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0; }

.ds-geomap-acts .ds-geocoord {
  font-size: 12px; }

.ds-geomap {
  min-height: 320px;
  border-radius: var(--ds-radius-s);
  overflow: hidden; }

/* Grelha das opções (raio, tipo, desligar, alertas). Eram col-xs-3 do Bootstrap
   dentro de .form-group — floats que precisavam de clearfix e que a certas
   larguras encavalitavam. */
.ds-optgrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 6px 10px;
  margin-bottom: 14px; }

.ds-optgrid .radio-inline,
.ds-optgrid .mda-checkbox {
  margin: 0;
  /* o span do .c-radio usa margin-left:-20px e conta com este padding para se
     encaixar; a zero, o circulo saia 20px para fora do cartao */
  padding-left: 20px;
  font-size: 13px;
  color: var(--ds-text); }

/* O .mda-checkbox ja traz padding-left:20px e position:relative — o <em> que
   desenha a caixa e absoluto e conta com esse recuo. Aqui so se garante que o
   reset de margens da grelha nao lho tira. */
.ds-optgrid .mda-checkbox {
  padding-left: 20px; }

/* ---- Página de mapa a ecrã inteiro (geofencesMap) ------------------------
   O cabeçalho estava DENTRO de um .row do Bootstrap, sem ser coluna: herdava
   as margens negativas de -15px do .row e empurrava o conteúdo, o que deixava
   o mapa cortado à direita. Aqui o cabeçalho e o mapa são irmãos numa coluna
   flex — o cabeçalho ocupa o que precisa, o mapa fica com todo o resto, seja
   qual for a altura do cabeçalho. */
.ds-mappage {
  display: flex;
  flex-direction: column; }

.ds-mappage > .content-heading {
  flex: 0 0 auto; }

.ds-mapwrap {
  flex: 1 1 auto;
  min-height: 0; }

.ds-mapwrap > .gmap {
  height: 100% !important; }

/* Legenda. Antes tinha o mesmo peso visual dos sliders (thumb32 + negrito) e
   parecia clicável. É só uma legenda: ícone pequeno, texto discreto. */
.ds-maplegend {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap; }

.ds-maplegend-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  color: var(--ds-muted);
  white-space: nowrap; }

.ds-maplegend-item img {
  width: 24px;
  height: 24px; }

/* Controlos. Eram dois col-sm-2 (1/6 do ecrã cada) onde o rótulo não cabia numa
   linha e o slider ficava espremido. São os dois únicos controlos da página. */
.ds-mapctrls {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin-left: auto; }

.ds-mapctrl {
  flex: 1 1 210px;
  min-width: 190px; }

.ds-mapctrl-cap {
  display: block;
  margin: 0 0 10px;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--ds-muted);
  white-space: nowrap; }

.ds-mapctrl-cap b {
  color: var(--ds-ink);
  font-weight: 700;
  margin-left: 4px; }

.ds-mapctrl .ui-slider {
  margin-bottom: 4px; }

@media (max-width: 900px) {
  .ds-mapctrls {
    margin-left: 0;
    width: 100%; } }

/* ---- Cabeçalhos de secção do menu lateral -------------------------------
   O menu tem 55 entradas e um administrador vê perto de 40, em lista corrida.
   Estes cabeçalhos dão pontos de referência ao olho sem esconder nada — quem
   quiser encurtar o menu tem a escolha de links nas definições.

   Cada cabeçalho vive DENTRO do bloco condicional que encabeça, para herdar a
   visibilidade dele: um cabeçalho "Configuração" não deve aparecer a quem não
   vê nada dessa secção. */
.nav-heading {
  /* A cor era rgba(255,255,255,.34) — branco translúcido, que só existe sobre
     a barra escura. Nos temas de barra clara o texto ficava exactamente da cor
     do fundo e a secção desaparecia. O token inverte-se com o tema, como em
     .ds-navchip. */
  padding: 15px 16px 5px;
  margin-top: 6px;
  border-top: 1px solid var(--ds-line);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--ds-muted);
  pointer-events: none;
  user-select: none; }

/* O primeiro não separa nada acima dele. */
.nav-heading:first-child {
  padding-top: 8px;
  margin-top: 0;
  border-top: 0; }

/* ---- Definições de servidor (serverSettings) -----------------------------
   91 campos que viviam numa <table> única de 1281 linhas, com 8 títulos para
   toda a página — e os primeiros 41 campos sem título nenhum. Cada assunto é
   agora um cartão. Os campos foram transportados tal como estavam: mesma
   marcação, mesmo id, mesmo helper de estado — só mudaram de cartão.

   A tabela mantém-se DENTRO de cada cartão de propósito: é ela que dá o par
   rótulo/campo em duas colunas, e reescrever 91 campos para outro formato era
   arriscar num sítio onde um id trocado grava a definição errada no servidor. */
.ds-settingstable {
  margin: 0; }

table.ds-settingstable td {
  border: 0;
  border-bottom: 1px solid var(--ds-line);
  /* DESCENDENTE, e nao `> tbody > tr > td`. Estas tabelas trazem um <fieldset>
     dentro do <table> — marcacao invalida — e o parser do browser desmancha a
     cadeia table > tbody > tr > td ao reorganiza-la. Resultado: durante muito
     tempo NENHUMA regra com filhos directos apanhou estas celulas, nem esta nem
     a do Bootstrap. O padding calculado era 0px e a altura 60px, que nao e nem
     um valor nem outro — foi assim que se descobriu.
     Com descendente apanha, esteja o <fieldset> onde estiver.

     O `height: auto` fica: o bootstrap/reset.scss:437 fixa 48px !important em
     todas as celulas de tabela, e assim que os selectores passarem a apanhar,
     esse valor voltaria a limitar o crescimento da linha. */
  height: auto !important;
  padding: 14px 6px;
  vertical-align: middle;
  font-size: 13px;
  color: var(--ds-text); }

table.ds-settingstable tr:last-child td {
  border-bottom: 0; }

/* a coluna do valor não precisa de mais do que o campo pede */
table.ds-settingstable td:last-child {
  width: 42%; }

.ds-settingstable .form-control {
  margin: 0; }

/* Os títulos de secção que existiam eram <tr><h4>…</h4></tr> — um <tr> sem
   <td>, que o browser descarta ou reposiciona. Passaram a .ds-card-title. */
.ds-settingstable h4 {
  font-size: 14px;
  margin: 10px 0 4px;
  color: var(--ds-ink); }

@media (max-width: 760px) {
  table.ds-settingstable td:last-child {
    width: auto; } }

/* ---- Vendas por cliente (dashboard2) -------------------------------------
   Tabela larga: 13 meses + total. O nome do cliente e a coluna de total ficam
   fixos nas pontas para não se perderem ao rolar na horizontal — sem isso,
   a meio da tabela deixa-se de saber de quem é a linha. */
.ds-salestable {
  margin: 0;
  font-size: 12.5px; }

.ds-salestable > thead > tr > th {
  border-bottom: 2px solid var(--ds-line);
  padding: 8px 10px;
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--ds-muted);
  font-weight: 700;
  white-space: nowrap;
  background: var(--ds-card); }

.ds-salestable > tbody > tr > td {
  border-top: 1px solid var(--ds-line);
  padding: 7px 10px;
  vertical-align: middle;
  font-variant-numeric: tabular-nums; }

.ds-salestable .ds-num {
  text-align: right;
  white-space: nowrap; }

.ds-salestable-name {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--ds-card);
  font-weight: 700;
  color: var(--ds-ink);
  min-width: 190px;
  max-width: 260px; }

.ds-salestable > thead > tr > th:first-child {
  position: sticky;
  left: 0;
  z-index: 3; }

.ds-salestable-total {
  position: sticky;
  right: 0;
  z-index: 2;
  background: var(--ds-card);
  font-weight: 800;
  color: var(--ds-green-d);
  border-left: 2px solid var(--ds-line); }

.ds-salestable-spark {
  width: 120px; }

/* Um zero não é um número a ler — é ausência. Fica esbatido para os valores
   reais saltarem à vista. */
.ds-salestable .is-zero {
  color: var(--ds-line); }

/* O mês corrente está sempre incompleto: assinala-se para não se comparar
   com os fechados por distração. */
.ds-salestable .is-current {
  background: rgba(190, 214, 47, 0.1);
  font-weight: 700; }

/* Cabeçalhos ordenáveis */
.ds-sortable {
  cursor: pointer;
  user-select: none;
  position: relative; }

.ds-sortable:hover {
  color: var(--ds-text); }

.ds-sortable.asc::after {
  content: ' ▲';
  font-size: 8px;
  color: var(--ds-green-d); }

.ds-sortable.desc::after {
  content: ' ▼';
  font-size: 8px;
  color: var(--ds-green-d); }

/* Selector de âmbito no topo */
.ds-salesmode {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: auto; }

.ds-salesmode-cap {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ds-muted);
  font-weight: 700; }

.ds-salesmode-opts {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap; }

.ds-modebtn {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 12px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap; }

.ds-modebtn:hover {
  background: var(--ds-grey);
  color: var(--ds-text); }

.ds-modebtn.is-on {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: #26310a; }

.ds-salesmode-day {
  width: 74px;
  text-align: center;
  padding: 7px 6px; }

.ds-stat--warn b {
  color: #c98a00; }

@media (max-width: 760px) {
  .ds-salesmode {
    margin-left: 0;
    width: 100%; }
  .ds-salestable-name {
    min-width: 140px; } }

/* ---- Cartões de previsão (dashboard3) ------------------------------------
   Os KPIs eram uma tabela de pares rótulo/valor com dez linhas seguidas — para
   comparar "mês anterior" com "previsão" era preciso saltar de linha em linha.
   Em cartões, cada bloco é um período e os números que importam ficam grandes. */
.ds-fcard {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ds-fcard--hi {
  border-color: var(--ds-green); }

.ds-fstats {
  display: flex;
  flex-wrap: wrap;
  gap: 18px; }

.ds-fstat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0; }

.ds-fstat b {
  font-size: 22px;
  font-weight: 800;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1.15; }

.ds-fstat > span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-muted); }

.ds-fstat--big b {
  font-size: 28px;
  color: var(--ds-green-d); }

/* ---- KPIs e gráficos (dashboard4 / mainLayout) ---------------------------
   Os cartões eram .panel do Bootstrap com o ícone à esquerda e o valor à
   direita, em duas colunas de uma .row — o valor, que é o que importa, ficava
   do tamanho do ícone decorativo. Agora o número manda e o ícone é discreto. */
.ds-kpigrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
  margin-bottom: 16px; }

.ds-kpicard {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px; }

.ds-kpicard-head {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.ds-kpicard-ico {
  font-size: 17px;
  color: var(--ds-muted);
  opacity: .75; }

.ds-kpicard-var {
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap; }

.ds-kpicard-val {
  font-size: 26px;
  font-weight: 800;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1.15; }

/* Um total que vem negativo — o lucro do historico e' o unico desta familia que
   pode vir — tem de se ver antes de se ler. Nao muda a forma do cartao: muda a
   cor do numero, que e' o que o olho apanha primeiro. */
.ds-kpicard-val--bad {
  color: #d64541; }

.theme-3 .ds-kpicard-val--bad {
  color: #ff8b87; }

.ds-kpicard-title {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-muted);
  font-weight: 700; }

/* Controlos do topo: eram quatro col-md-3 com o botão alinhado por um <label>
   invisível (opacity-0) a fingir de espaçador. */
.ds-kpictrl {
  margin-bottom: 16px; }

.ds-kpictrl-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  align-items: end; }

.ds-kpictrl-field {
  min-width: 0; }

.ds-kpictrl-field--btn .ds-btn {
  width: 100%; }

.ds-kpictrl-stamp {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--ds-line);
  font-size: 11.5px;
  color: var(--ds-muted); }

/* Os gráficos tinham a altura escrita no style do elemento. Aqui ficam num
   token só, e crescem em ecrãs altos em vez de ficarem presos a 400px. */
.ds-chartbox {
  height: 420px;
  min-height: 320px;
  padding: 8px 4px; }

.ds-chartgrid {
  margin-bottom: 16px; }

@media (min-height: 1000px) {
  .ds-chartbox {
    height: 520px; } }

@media (max-width: 760px) {
  .ds-chartbox {
    height: 320px; } }

/* ---- Painel de controlo de presença (hrControl) --------------------------
   Dados de assiduidade de pessoas identificadas. O ecrã de chave existe para
   que o painel não fique aberto por descuido num computador partilhado — e a
   chave é revalidada em cada leitura, não só à entrada. */
.ds-hrlock {
  max-width: 520px; }

.ds-hrlock-row {
  display: flex;
  gap: 8px;
  align-items: center; }

.ds-hrlock-row .ds-input {
  flex: 1;
  min-width: 0; }

.ds-hrlock-row .ds-btn {
  flex: 0 0 auto; }

.ds-hrtabs {
  margin-bottom: 14px; }

.ds-hrdate {
  width: 150px; }

/* Quem não interage há mais de 5 minutos não está à frente da plataforma —
   assinala-se a linha, sem a esconder. */
.ds-salestable tr.is-idle > td {
  opacity: .55; }

.ds-salestable tr.is-live .ds-salestable-name::before {
  content: '●';
  color: var(--ds-green-d);
  margin-right: 6px;
  font-size: 10px; }

/* Percentagem de tempo activo face ao tempo ligado. Sem limites "certos"
   definidos: as cores são só para o olho encontrar os extremos numa lista. */
.ds-hrefic {
  font-weight: 800; }

.ds-hrefic.is-good {
  color: var(--ds-green-d); }

.ds-hrefic.is-mid {
  color: #c98a00; }

.ds-hrefic.is-low {
  color: #d9534f; }

.ds-hrsignal {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-left: 3px solid #f0ad4e;
  background: rgba(240, 173, 78, 0.08);
  border-radius: 0 var(--ds-radius-s) var(--ds-radius-s) 0;
  padding: 9px 12px;
  margin-bottom: 8px; }

.ds-hrsignal b {
  font-size: 13px;
  color: var(--ds-text); }

.ds-hrsignal span {
  font-size: 12.5px;
  color: var(--ds-muted); }

/* Campo pequeno, para filtros dentro do rodapé de uma tabela. */
.ds-input--sm {
  padding: 6px 9px;
  font-size: 12.5px; }

/* ---- Matriz de parâmetros (priceSettings) --------------------------------
   Vinte e quatro campos de tarifa não são vinte e quatro campos: são quatro
   tabelas de 2x3 (precedência x preço). Postos em grelha, lê-se a estrutura;
   postos em lista, é preciso ler cada rótulo até ao fim para saber onde se
   está. Os rótulos passam para o cabeçalho e a repetição desaparece. */
.ds-mtx {
  width: 100%;
  border-collapse: collapse; }

.ds-mtx th {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--ds-muted);
  font-weight: 700;
  padding: 0 5px 7px;
  text-align: right;
  white-space: nowrap; }

.ds-mtx th:first-child {
  text-align: left; }

.ds-mtx td {
  padding: 4px 5px;
  border-top: 1px solid var(--ds-line); }

.ds-mtx tr:first-child > td {
  border-top: 0; }

.ds-mtx-lbl {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ds-text);
  white-space: nowrap;
  padding-right: 10px; }

/* Números alinham-se à direita: assim as casas decimais ficam umas por baixo
   das outras e um 12 a mais salta à vista. */
.ds-mtx .ds-input {
  text-align: right;
  padding: 7px 9px;
  font-size: 13px; }

/* Unidade colada ao campo, para o rótulo não ter de a dizer. */
.ds-unit {
  display: block;
  font-size: 10px;
  color: var(--ds-muted);
  text-align: right;
  margin-top: 2px; }

/* Linha de rótulo + campo, para os parâmetros soltos que não formam matriz. */
.ds-frow {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 7px 0;
  border-top: 1px solid var(--ds-line); }

.ds-frow:first-child {
  border-top: 0; }

.ds-frow > span {
  flex: 1 1 auto;
  font-size: 12.5px;
  color: var(--ds-text);
  line-height: 1.35; }

.ds-frow > .ds-input {
  flex: 0 0 110px;
  text-align: right;
  padding: 7px 9px;
  font-size: 13px; }

.ds-frow > .ds-input--wide {
  flex: 1 1 auto;
  text-align: left; }

/* Variante para a .ds-frow que vive dentro de uma .ds-fields. Ali nao e' uma
   linha de definicoes: e' UM campo com dois ou tres controlos debaixo do mesmo
   rotulo (mes+ano+procurar, preco+preco do estafeta). As tres herancas da
   .ds-frow — linha por cima, folga vertical e caixa fixa de 110px alinhada a
   direita — desalinhavam-na da coluna do lado, que e' um .ds-input normal: a
   caixa aparecia mais baixa, mais estreita e com o texto encostado a direita.
   Aqui as caixas voltam a ser iguais as das outras colunas e o botao acompanha
   a altura delas. */
.ds-frow--tight {
  padding: 0;
  border-top: 0;
  gap: 8px;
  align-items: stretch; }

.ds-frow--tight > .ds-input,
.ds-frow--tight > .ds-select {
  flex: 1 1 0;
  text-align: left;
  padding: 9px 12px;
  font-size: 14px; }

/* O `.ds-input + .ds-input` global poe 12px de margem na segunda caixa quando
   duas se tocam. Numa linha flex isso deixa de ser folga entre linhas e passa
   a ser um degrau entre vizinhas. */
.ds-frow--tight > .ds-input + .ds-input,
.ds-frow--tight > .ds-input + .ds-select,
.ds-frow--tight > .ds-select + .ds-input,
.ds-frow--tight > .ds-select + .ds-select {
  margin-top: 0; }

.ds-frow--tight > .ds-btn {
  flex: 0 0 auto; }

/* Interruptor com uma linha de explicação por baixo: a etiqueta sozinha não
   chega para regras como "o desconto global não se aplica quando...". */
.ds-switchrow {
  padding: 8px 0;
  border-top: 1px solid var(--ds-line); }

.ds-switchrow:first-child {
  border-top: 0; }

.ds-switchrow .ds-check {
  padding: 0;
  align-items: flex-start; }

.ds-switchrow .ds-check input {
  margin-top: 2px; }

.ds-switchrow .ds-note {
  margin: 4px 0 0 26px;
  font-size: 11.5px; }

@media (max-width: 640px) {
  .ds-frow {
    flex-wrap: wrap; }
  .ds-frow > .ds-input {
    flex: 1 1 100%; } }

/* ---- Listas de utilizadores (drivers / clientes / operadores) ------------
   Tabelas muito largas (a dos drivers tem 21 colunas) com celulas que
   empilham varias linhas. O .ds-salestable sozinho aperta-as demais. */
.ds-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: var(--ds-grey); }

.ds-userlist > tbody > tr > td {
  vertical-align: middle; }

/* Celulas com varias linhas empilhadas (morada, ranking, acessos). */
.ds-userlist-stack {
  line-height: 1.45; }

.ds-userlist-stack .label {
  font-weight: 600; }

.ds-userlist-detail {
  font-size: 11px;
  color: var(--ds-muted);
  white-space: nowrap; }

.ds-userlist-perms {
  margin-top: 3px;
  white-space: nowrap; }

/* Os tres botoes de alerta lado a lado, sem partirem a linha. */
.ds-userlist-acts {
  white-space: nowrap; }

.ds-userlist-acts .btn + .btn {
  margin-left: 2px; }

/* O rodape de filtros e uma barra, nao mais uma linha de dados. */
.ds-userlist > tfoot > tr > th {
  border-top: 2px solid var(--ds-line);
  padding: 10px 6px 2px; }

/* ---- Formulários de edição (editDriver / editClient / editOperator) ------
   Alguns campos NAO podem perder .form-control: o select2, o datepicker e o
   typeahead agarram-se a essa classe e ao markup a volta. Em vez de lha tirar
   — que era partir os plugins para ficar bonito — damos-lhe aqui o mesmo
   aspecto do .ds-input, dentro do escopo do formulario. */
.ds-form .form-control {
  width: 100%;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  padding: 9px 12px;
  font-size: 14px;
  background: #fff;
  color: var(--ds-text);
  line-height: 1.3;
  height: auto;
  box-shadow: none; }

.ds-form .form-control:focus {
  outline: none;
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.ds-form .form-control[disabled] {
  background: var(--ds-grey);
  color: var(--ds-muted); }

.ds-form .ds-input[disabled], .ds-form .ds-select[disabled] {
  background: var(--ds-grey);
  color: var(--ds-muted); }

/* Mesmo criterio das primitivas: espaco so entre duas caixas que se tocam.
   Fica dentro do .ds-form para nao apanhar os .form-control que vivem em
   grupos de input, tabelas e barras de procura, onde a margem desalinharia o
   que esta ao lado.

   O :not(.tt-hint) e obrigatorio. O typeahead nao tem UM campo, tem DOIS: por
   baixo do campo real poe um irmao com a mesma classe .form-control — a dica,
   que mostra a sugestao a cinzento. Sem esta excepcao a regra via ai duas
   caixas encostadas e empurrava a verdadeira 12px para baixo, deixando a dica
   a descoberto por cima: era a faixa vazia que aparecia no cliente e nos
   campos de local do newFlashDirectAdmin. Os dois campos TEM de ficar
   sobrepostos ao pixel; e disso que depende a ilusao de serem um so. */
.ds-form .form-control:not(.tt-hint) + .form-control {
  margin-top: 12px; }

/* O select2 desenha o seu proprio contentor por cima do <select>. */
.ds-form .select2-container {
  width: 100% !important; }

/* Campo grande e tecnico (base64 da foto, listas de emails): continua
   acessivel mas nao compete com o resto. */
.ds-form .ds-input--raw {
  font-family: monospace;
  font-size: 11px;
  color: var(--ds-muted); }

/* Cartao da fotografia.
   Estava tudo encostado: a nota colada a imagem, o botao colado a pre-visualizacao,
   e o campo do base64 — que esta' FORA deste bloco — colado ao botao, sem gap
   nenhum a separa-lo. Cada peca e' um passo diferente (ver, escolher, confirmar),
   e o espaco e' o que diz isso a quem olha. */
.ds-photo {
  display: flex;
  flex-direction: column;
  gap: 22px;
  align-items: flex-start; }

/* Sem margens proprias: quem manda no espaco e' o `gap` do bloco. As margens
   que a nota traz de origem somavam-se ao gap nuns sitios e, com o valor
   negativo que aqui esteve, subtraiam-se noutros — o resultado era um ritmo
   irregular, que e' precisamente o que faz uma coluna parecer apertada. */
.ds-photo .ds-note {
  margin: 0; }

/* O ESCOLHER FICHEIRO.
   Vem do Bootstrap 3 — tres pecas encostadas com `display: table`, cantos
   rectos e bordas a dobrar umas nas outras. Ao lado dos cartoes de agora
   parecia de outra epoca, porque e'.
   Passa a UMA caixa so', com a borda e os cantos do sistema, e as tres pecas
   por dentro sem borda nenhuma: o `overflow` arredonda as pontas de fora e
   deixa as juntas de dentro a direito, que e' como estas barras se fazem. */
.ds-photo .input-group {
  width: 100%;
  display: flex;
  align-items: stretch;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  overflow: hidden;
  background: var(--ds-card); }

.ds-photo .input-group-btn {
  display: flex;
  width: auto;
  font-size: inherit;
  /* o Bootstrap 3 poe font-size: 0 aqui */ }

/* So' os cantos de FORA e' que sao redondos: o Choose arredonda a esquerda, o
   Reset arredonda a direita, e as juntas do meio ficam a direito — as tres
   pecas formam UMA barra, em vez de tres pastilhas soltas dentro de uma caixa.

   Os `!important` sao precisos e nao sao preguica: o app.scss poe
   `.btn { border-radius: 4px !important }`, e sem igual peso nao ha regra que
   ganhe. Estao presos a `.ds-photo`, portanto nao saem daqui. */
.ds-photo .input-group .btn {
  border: 0;
  border-radius: 0 !important;
  padding: 0 18px;
  display: flex;
  align-items: center;
  white-space: nowrap; }

.ds-photo .input-group .input-group-btn:first-child .btn {
  border-radius: var(--ds-radius-s) 0 0 var(--ds-radius-s) !important; }

.ds-photo .input-group .input-group-btn:last-child .btn {
  border-radius: 0 var(--ds-radius-s) var(--ds-radius-s) 0 !important; }

.ds-photo .input-group .form-control {
  flex: 1 1 auto;
  min-width: 0;
  height: 40px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent; }

/* O campo do base64 e' outro assunto: separa-se com uma linha, em vez de ficar
   agarrado ao botao de confirmar como se fosse o passo seguinte. */
.ds-photo + .ds-label {
  display: block;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--ds-line); }

/* As duas fotografias — a actual e a que se vai escolher — lado a lado e do
   mesmo tamanho, cada uma com o seu rotulo. E' a comparacao que interessa a
   quem esta a mudar uma foto, e resolve o que o espacamento sozinho nunca ia
   resolver: uma coluna de pecas com larguras diferentes le-se sempre como
   amontoada. */
.ds-photo-par {
  display: flex;
  gap: 20px;
  flex-wrap: wrap; }

.ds-photo-caixa {
  display: flex;
  flex-direction: column;
  gap: 7px; }

.ds-photo-rot {
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ds-muted); }

.ds-photo img,
.ds-photo canvas {
  width: 116px;
  height: 116px;
  border-radius: var(--ds-radius-s);
  object-fit: cover; }

/* O botao de confirmar alinha com a largura da escolha do ficheiro, para nao
   ficar um botao solto a meio do cartao — e leva mais um bocado de ar, porque
   e' outro passo: um escolhe, o outro confirma. */
.ds-photo-ok {
  align-self: stretch;
  margin-top: 6px;
  height: 42px; }

/* A pre-visualizacao fica tracejada enquanto esta vazia — diz que e' um sitio
   a espera de qualquer coisa, e nao uma fotografia que nao carregou. */
.ds-photo canvas {
  border: 1px dashed var(--ds-line); }

.ds-photo textarea {
  display: none; }

/* Grelha de campos dentro de um cartao: dois por linha em ecra largo. */
/* Eram 2px entre linhas contra 16px entre colunas: horizontalmente respirava,
   verticalmente nao. Quando a grelha passa a uma coluna, abaixo dos 700px, era
   esse 2px que ficava a separar TODOS os campos. */
.ds-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px; }

.ds-fields--1 {
  grid-template-columns: minmax(0, 1fr); }

.ds-fields > .ds-field--wide {
  grid-column: 1 / -1; }

@media (max-width: 700px) {
  .ds-fields {
    grid-template-columns: minmax(0, 1fr); } }

/* Célula de interruptor dentro de uma matriz (alertas: ligado/desligado). */
.ds-mtx-chk {
  text-align: center;
  width: 70px; }

.ds-mtx-chk input[type="checkbox"] {
  width: 17px;
  height: 17px;
  accent-color: var(--ds-green-d);
  margin: 0; }

.ds-mtx th.ds-mtx-h--left, .ds-mtx td.ds-mtx-td--left {
  text-align: left; }

/* Conjunto de opcoes exclusivas em linha. */
.ds-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px; }

.ds-radios .ds-radio {
  color: var(--ds-text); }

/* ---- Comando com descrição + botão (controlCommands) --------------------
   Cada linha e uma accao: o que faz a esquerda, o gatilho a direita. O botao
   nao muda de largura conforme o texto do comando. */
.ds-cmd {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--ds-line); }

.ds-cmd:first-of-type {
  border-top: 0; }

.ds-cmd-txt {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ds-cmd-txt b {
  font-size: 13px;
  color: var(--ds-text);
  font-weight: 600;
  line-height: 1.35; }

.ds-cmd-txt span {
  font-size: 11.5px;
  color: var(--ds-muted);
  line-height: 1.4; }

.ds-cmd-btn {
  flex: 0 0 130px;
  text-align: center; }

/* Enquanto o comando corre: nao aceita segundo clique. */
.ds-cmd-btn[disabled], .ds-btn[disabled] {
  opacity: .5;
  cursor: default;
  pointer-events: none; }

@media (max-width: 560px) {
  .ds-cmd {
    flex-wrap: wrap; }
  .ds-cmd-btn {
    flex: 1 1 100%; } }

/* ---- Modal do ponto principal de otimizacao -----------------------------
   O problema nao era o aspecto: era nao se saber o que se estava a escolher.
   As opcoes mostravam so o companyName, e num servico com tres pontos com o
   mesmo nome ficavam tres linhas iguais. Agora cada opcao leva o numero do
   ponto (o MESMO que a lista da esquerda mostra) e a morada. */
.ds-mpgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px; }

@media (max-width: 640px) {
  .ds-mpgrid {
    grid-template-columns: minmax(0, 1fr); } }

.ds-mpcol {
  min-width: 0; }

.ds-mpcap {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: var(--ds-radius-s);
  margin-bottom: 8px;
  display: flex;
  align-items: baseline;
  gap: 8px; }

.ds-mpcap span {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
  opacity: .85; }

.ds-mpcap--col {
  background: #eef4ff;
  color: #2f6bd6; }

.ds-mpcap--del {
  background: rgba(190, 214, 47, 0.2);
  color: #6a7a10; }

.theme-3 .ds-mpcap--col {
  background: rgba(47, 107, 214, 0.22);
  color: #a8c6f5; }

.theme-3 .ds-mpcap--del {
  background: rgba(190, 214, 47, 0.18);
  color: #cfe06a; }

/* Lista rolavel: um servico pode ter muitos pontos e a caixa nao pode crescer
   para fora do ecra. */
.ds-mpopts {
  max-height: 46vh;
  overflow-y: auto;
  padding-right: 4px; }

.ds-mpopt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  margin: 0 0 4px;
  border: 1px solid transparent;
  border-radius: var(--ds-radius-s);
  cursor: pointer;
  font-weight: 400;
  transition: background .12s ease, border-color .12s ease; }

.ds-mpopt:hover {
  background: var(--ds-grey); }

.ds-mpopt input {
  margin: 2px 0 0;
  accent-color: var(--ds-green-d);
  flex: 0 0 auto; }

/* A opcao escolhida marca-se pela linha inteira, nao so pela bolinha — num
   servico com nomes repetidos, uma bolinha de 12px nao chega para se ver qual
   ficou escolhida. */
.ds-mpopt:has(input:checked) {
  border-color: var(--ds-green);
  background: rgba(190, 214, 47, 0.1); }

/* Rodape do modal no mesmo plano do corpo (herda o .ds-pricemodal). */
.ds-pricemodal .modal-footer {
  background: var(--ds-card);
  border-top-color: var(--ds-line);
  padding: 12px 18px; }

.ds-pricemodal .modal-footer .ds-actions {
  justify-content: flex-end; }

.ds-mpopt-nr {
  flex: 0 0 24px;
  height: 24px;
  border-radius: 9px;
  background: var(--ds-ink-bg);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 24px;
  text-align: center; }

.ds-mpopt-txt {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px; }

.ds-mpopt-txt b {
  font-size: 13px;
  color: var(--ds-text);
  font-weight: 600;
  overflow-wrap: anywhere; }

.ds-mpopt-txt span {
  font-size: 11.5px;
  color: var(--ds-muted);
  overflow-wrap: anywhere;
  line-height: 1.35; }

/* ---- Painel "Adicionar ponto" (newService) -------------------------------
   Era uma coluna de fieldsets com col-xs/col-md aninhados, floats em style=""
   e um aviso com a classe `blink` — a piscar em cada ponto criado. O que
   faltava nao era pintura: faltava dizer onde acaba o essencial e onde comeca
   o opcional. Sao nove campos, dos quais so tres sao precisos para criar o
   ponto. */
.ds-newpoint {
  padding: 0 0 24px;
  background: var(--ds-bg); }

.ds-newpoint .ds-card {
  margin: 12px; }

.ds-np-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--ds-card);
  border-bottom: 1px solid var(--ds-line);
  position: sticky;
  top: 0;
  z-index: 5; }

.ds-np-head-txt {
  flex: 1 1 auto;
  min-width: 0; }

.ds-np-head h4 {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: var(--ds-ink); }

.ds-np-client {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  color: var(--ds-green-d);
  font-weight: 600;
  overflow-wrap: anywhere; }

/* Recolha ou entrega: e a decisao mais importante do painel e estava num
   col-xs-6 ao lado de um aviso a piscar. Aqui sao dois blocos do tamanho de um
   alvo, e o escolhido marca-se pelo bloco inteiro. */
.ds-np-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px; }

.ds-np-typeopt {
  display: block;
  margin: 0;
  cursor: pointer;
  font-weight: 400; }

.ds-np-typeopt input {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.ds-np-typeopt > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 10px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  background: var(--ds-card);
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-text);
  transition: background .12s ease, border-color .12s ease, color .12s ease; }

.ds-np-typeopt > span em {
  font-size: 15px;
  color: var(--ds-muted); }

.ds-np-typeopt:hover > span {
  background: var(--ds-grey); }

.ds-np-typeopt input:checked + span {
  border-color: var(--ds-green);
  background: rgba(190, 214, 47, 0.14);
  color: var(--ds-ink); }

.ds-np-typeopt input:checked + span em {
  color: var(--ds-green-d); }

.ds-np-typeopt input:focus + span {
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.ds-np-count {
  margin-left: auto;
  flex: 0 0 auto; }

/* Mesma peça única das caixas de procura do robô. Era um .input-group do
   Bootstrap, ou seja uma tabela: o typeahead mete um <span class="twitter-
   typeahead"> à volta do campo e essa célula deixa de se comportar, o que
   esmagava o botão de limpar até ele desaparecer — no tema escuro nem se
   adivinhava, porque o X é da cor do texto apagado.

   O grupo passa a flex, o botão declara a sua largura e o embrulho do
   typeahead é que estica. */
.ds-np-search {
  width: 100%;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s); }

.ds-np-search:focus-within {
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.ds-np-search .input-group-btn {
  flex: 0 0 auto;
  width: auto;
  display: flex;
  align-items: center; }

.ds-np-search .twitter-typeahead {
  flex: 1 1 auto;
  min-width: 0;
  display: block !important; }

/* O X sobe para a linha do texto. A correccao de 5px do glifo (ver
   .ds-botsearch-clear > em) foi calibrada nas caixas do robo; nesta caixa,
   com o campo centrado por enchimento, sobrava-lhe. So aqui. */
.ds-np-search .ds-botsearch-clear > em {
  transform: translateY(1px); }

/* O segundo selector vence a regra do tema escuro, que força fundo próprio aos
   campos com !important — sem ele voltava a haver uma caixa dentro da caixa. */
.ds-np-search .form-control,
.theme-3 .ds-list .ds-np-search .form-control {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  background: transparent !important;
  background-image: none;
  border: 0;
  box-shadow: none;
  /* Centrado por construcao: sem altura fixa, a caixa e o texto mais o mesmo
     enchimento dos dois lados. O 6px de topo que aqui estava veio das caixas
     do robo, onde compensa a correccao do glifo do X — aqui so descentrava. */
  line-height: 1.25;
  padding: 9px 0 9px 2px; }

/* A lista de opcoes so ocupa espaco quando tem opcoes. Vazia, com barra de
   rolamento, lia-se como uma caixa avariada. */
.ds-np-options {
  height: auto;
  min-height: 34px;
  max-height: 130px;
  padding: 4px; }

.ds-np-copy {
  width: 100%;
  margin-top: 10px; }

.ds-np-addr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 90px;
  gap: 0 10px; }

.ds-newpoint textarea.ds-input {
  resize: vertical;
  min-height: 38px; }

/* O botao principal a seguir a morada: com os tres campos preenchidos o ponto
   ja pode ser criado, e tudo o que vem abaixo e opcional. Antes era um botao
   azul solto a meio da coluna, sem dizer porque estava ali. */
.ds-np-primary {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--ds-line); }

.ds-np-primary .ds-note {
  margin-top: 8px;
  text-align: center; }

.ds-np-map .panel-heading {
  padding: 0;
  background: none;
  border: 0; }

.ds-np-mapacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px; }

.ds-np-map .panel-body {
  padding: 10px 0 0; }

.ds-np-map #map-markers {
  height: 260px;
  border-radius: var(--ds-radius-s); }

.ds-np-alerts {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 12px;
  align-items: end; }

/* Sem o campo do identificador ao lado, o interruptor ficava sozinho numa
   grelha de duas colunas — e encostado a` direita, longe do que liga. */
.ds-np-alerts--so-check {
  grid-template-columns: minmax(0, 1fr);
  justify-items: start; }

.ds-np-foot {
  padding: 0 12px; }

/* ---- Definições do serviço (optionCalculator) ---------------------------
   Eram 20 <fieldset> com col-xs-3/col-xs-6 aninhados, sem titulo nenhum: uma
   coluna de opcoes soltas onde nada dizia onde acabava um assunto e comecava
   o outro. As condicoes que mandam aparecer cada bloco ({{#if
   panelMoreCompleteOptions}}, {{#if administrator}}, os {{#transition}})
   ficaram exactamente onde estavam — mudou so o involucro. */
.ds-opt {
  padding: 0 0 12px;
  background: transparent; }

/* Mesma margem lateral do painel de criar ponto (.ds-newpoint): sem ela os
   cartoes encostavam aos dois lados da coluna, enquanto tudo o resto da
   pagina respira. */
.ds-opt .ds-card {
  margin: 0 12px 12px; }

.ds-opt-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ds-text);
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid var(--ds-line); }

.ds-opt-head em {
  font-size: 15px;
  color: var(--ds-muted); }

/* Colunas declaradas, nao auto-fit: com auto-fit a largura do painel decidia
   quantas cabiam e sobravam orfaos na linha de baixo. */
.ds-opt-grid {
  display: grid;
  gap: 4px 14px; }

.ds-opt-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ds-opt-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ds-opt-grid--4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (min-width: 1500px) {
  .ds-opt-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Bloco que depende da escolha acima (dias da semana, leilao, localizacoes):
   recuado e com uma barra, para se ver que pertence a opcao anterior e nao e
   mais uma opcao ao mesmo nivel. */
.ds-opt-sub {
  margin-top: 10px;
  padding: 8px 0 2px 12px;
  border-left: 2px solid var(--ds-line); }

.ds-opt-sub .ds-label:first-child {
  margin-top: 0; }

/* Tipo de veiculo: o icone e a etiqueta eram duas grelhas separadas — quatro
   icones numa linha e quatro radios noutra, e era preciso contar as colunas
   para saber qual pertencia a qual. Agora sao um bloco so, clicavel. */
.ds-opt-veh {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px; }

.ds-opt-vehopt {
  display: block;
  margin: 0;
  cursor: pointer;
  font-weight: 400; }

.ds-opt-vehopt input {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.ds-opt-vehopt > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 4px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  background: var(--ds-card);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ds-text);
  text-align: center;
  transition: background .12s ease, border-color .12s ease; }

.ds-opt-vehopt > span em {
  font-size: 20px;
  color: var(--ds-muted); }

.ds-opt-vehopt:hover > span {
  background: var(--ds-grey); }

.ds-opt-vehopt input:checked + span {
  border-color: var(--ds-green);
  background: rgba(190, 214, 47, 0.14);
  color: var(--ds-ink); }

.ds-opt-vehopt input:checked + span em {
  color: var(--ds-green-d); }

.ds-opt-vehopt input:focus + span {
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

/* Os campos do datepicker e do clockpicker mantiveram .form-control porque os
   plugins agarram-se a ela; aqui ganham o aspecto do .ds-input. */
.ds-opt .form-control {
  width: 100%;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  padding: 9px 12px;
  font-size: 14px;
  background: #fff;
  color: var(--ds-text);
  height: auto;
  box-shadow: none; }

.ds-opt .clockpicker {
  width: 100%; }

/* ---- Perfil -------------------------------------------------------------- */
.ds-profilephoto img {
  width: 160px;
  height: 160px; }

.ds-profilephoto .ds-btn {
  width: 100%; }

/* As duas pre-visualizacoes de tema lado a lado, em vez de dois pull-left com
   larguras fixas que se descolavam. */
.ds-themes {
  display: flex;
  gap: 12px;
  flex-wrap: wrap; }

.ds-themes .setting-color {
  margin: 0; }

/* ---- Histórico de serviços ---------------------------------------------- */
/* O .ds-shwrap ficou a zero quando o cartao exterior desta pagina era o
   .card antigo, que ja trazia padding proprio. Sozinho, encostava tudo as
   margens. */
.ds-shwrap {
  padding: 0; }

/* Os filtros eram nove col-lg-2 com margin-left:10px em style="", uns por cima
   dos outros conforme a largura. Grelha declarada, e cada campo com o nome por
   cima em vez de so um placeholder que desaparece ao escrever. */
/* SEM padding proprio. No driversFactList esta classe vive no MESMO elemento
   que o .ds-card (class="ds-card ds-shfilter"), e um `padding` aqui apagava
   os 16px/18px do cartao — os campos ficavam encostados aos rebordos. Quem
   define o respiro e o cartao; esta classe so trata da grelha. */
.ds-shfilter-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 0 14px; }

.ds-shfilter-acts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--ds-line); }

/* Avancar/recuar um mes sao NAVEGACAO, nao accoes: ficam a esquerda e
   separados dos tres botoes que fazem alguma coisa. Antes eram dois botoes
   iguais aos outros, so distinguidos por um sinal de mais e de menos. */
.ds-shfilter-month {
  display: flex;
  gap: 6px; }

.ds-shfilter-run {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto; }

/* Estado vazio e a carregar. O "Nao existem dados para apresentar" era um <h2>
   gigante a meio da pagina — gritava por uma coisa que e normal. */
.ds-shstate {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 40px 16px;
  color: var(--ds-muted);
  font-size: 13px; }

.ds-shstate em {
  font-size: 22px;
  opacity: .7; }

.ds-shstate p {
  margin: 0; }

.ds-shstate-spin {
  animation: ds-shstate-rodar 1s linear infinite; }

@keyframes ds-shstate-rodar {
  to {
    transform: rotate(360deg); } }

.ds-shtable {
  font-size: 12px; }

.ds-shtable > thead > tr > th {
  text-align: center; }

/* ---- Ordem dos cartões das definições, escolhida pelo utilizador ---------
   Contentor flex para o `order:` de cada cartão poder mandar. A ordem vem do
   profile.optionCardsOrder e entra pelo style — nenhum elemento muda de sitio
   no DOM, o que e a razao de isto funcionar: os cartoes vivem dentro de
   {{#if}} e {{#transition}} que o Blaze redesenha, e uma ordem guardada no
   DOM perdia-se nesse momento. */
.ds-opt {
  display: flex;
  flex-direction: column; }

.ds-opt-head {
  order: -1; }

/* Setas de subir e descer, no titulo do cartao. Ficam apagadas nos extremos
   em vez de desaparecerem: se sumissem, as outras deslizavam e a seta mudava
   de sitio conforme a posicao do cartao. */
.ds-cardmove {
  margin-left: auto;
  flex: 0 0 auto;
  display: inline-flex;
  gap: 2px;
  opacity: 0;
  transition: opacity .15s ease; }

.ds-card:hover .ds-cardmove,
.ds-cardmove:focus-within {
  opacity: 1; }

.ds-cardmove .ds-rowact {
  width: 26px;
  height: 26px;
  font-size: 14px; }

/* Em ecra tactil nao ha "passar o rato": ficam sempre visiveis. */
@media (hover: none) {
  .ds-cardmove {
    opacity: 1; } }

/* Repor a ordem de fabrica, para quem se baralhou. Fica no cabecalho da
   seccao e nao dentro de um cartao: nao pertence a nenhum deles. */
.ds-opt-reset {
  margin-left: auto;
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--ds-muted);
  font-size: 15px;
  padding: 2px 6px;
  border-radius: 9px; }

.ds-opt-reset:hover {
  background: var(--ds-grey);
  color: var(--ds-text); }

/* Enquanto se arrasta: o cartao agarrado levanta-se e o resto esbate-se, para
   se ver onde ele vai cair. Sem seleccao de texto pelo caminho. */
.ds-opt--dragging {
  user-select: none; }

.ds-opt--dragging .ds-card {
  opacity: .55;
  transition: opacity .12s ease; }

.ds-opt--dragging .ds-card--dragging {
  opacity: 1;
  box-shadow: 0 6px 20px rgba(16, 25, 40, 0.22);
  border-color: var(--ds-green); }

.ds-cardmove {
  cursor: grab; }

.ds-opt--dragging .ds-cardmove {
  cursor: grabbing; }

/* ---- Serviço de clique ---------------------------------------------------
   A escolha do cliente era uma caixinha no canto superior direito, e os dois
   cartões por baixo não serviam para nada até ela estar feita — escolher o
   cliente até preenche o tipo de veículo sozinho. Passou a ser o passo 1, em
   cima e a toda a largura, como no novo serviço. */
.ds-click .ds-pick {
  margin-bottom: 12px; }

/* Quatro veículos: ícone e nome juntos. Antes eram quatro quadrados azuis com
   um desenho, sem nome — era preciso conhecê-los de cor. */
.ds-click-veh {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px; }

.ds-click-vehopt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 6px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  background: var(--ds-card);
  color: var(--ds-text);
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s ease, border-color .12s ease; }

.ds-click-vehopt em {
  font-size: 22px;
  color: var(--ds-muted); }

.ds-click-vehopt:hover {
  background: var(--ds-grey); }

.ds-click-vehopt.is-on {
  border-color: var(--ds-green);
  background: rgba(190, 214, 47, 0.14);
  color: var(--ds-ink); }

.ds-click-vehopt.is-on em {
  color: var(--ds-green-d); }

.ds-click-max {
  text-align: center;
  margin-top: 12px; }

.ds-click-max b {
  color: var(--ds-ink);
  font-size: 15px; }

/* Os dezasseis números. Quatro por linha, como estavam, mas em grelha
   declarada em vez de quatro linhas de col-sm-3 aninhados. */
.ds-click-qt {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px; }

.ds-click-qtbtn {
  padding: 14px 0;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  background: var(--ds-grey);
  color: var(--ds-text);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  transition: background .12s ease, border-color .12s ease; }

.ds-click-qtbtn:hover {
  background: var(--ds-green);
  border-color: var(--ds-green-d);
  color: #26310a; }

/* ---- Serviço flash direto ----------------------------------------------- */
.ds-flash .ds-pick {
  margin-bottom: 12px; }

.ds-flash-point .ds-label:first-of-type {
  margin-top: 0; }

.ds-flash-title {
  align-items: center;
  font-size: 13px; }

.ds-flash-title em {
  font-size: 15px; }

.ds-flash-title .ds-pill {
  margin-left: auto;
  font-size: 10px;
  padding: 2px 8px; }

/* Recolha e entrega distinguem-se por uma barra de cor a esquerda, nao por um
   cabecalho inteiro pintado: o cabecalho colorido roubava a atencao aos campos,
   que sao o que ali se vai preencher. */
.ds-flash-title--from {
  border-left: 3px solid #2f6bd6;
  padding-left: 8px;
  margin-left: -2px; }

.ds-flash-title--to {
  border-left: 3px solid var(--ds-green-d);
  padding-left: 8px;
  margin-left: -2px; }

.ds-flash-options {
  height: auto;
  min-height: 34px;
  max-height: 110px;
  padding: 4px; }

.ds-flash textarea.ds-input {
  resize: vertical;
  min-height: 38px; }

/* Distancia e preco: sao o RESULTADO, nao mais dois campos. */
.ds-flash-result {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px; }

.ds-flash-res {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 12px;
  border-radius: var(--ds-radius-s);
  background: var(--ds-grey); }

.ds-flash-res span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--ds-muted); }

.ds-flash-res b {
  font-size: 17px;
  font-weight: 800;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.ds-flash-res--price b {
  color: var(--ds-green-d); }

/* ---- Resumo dos filtros (servicesBot) -----------------------------------
   Uma lista curta sem explicacao parece uma lista vazia. Aqui diz-se o que
   esta a filtrar e quantos de quantos se estao a ver — e cada filtro tira-se
   no proprio sitio onde se le. */
.ds-botfilters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px; }

.ds-botfilters-cap {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ds-muted);
  font-weight: 700; }

.ds-botfilter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border: 1px solid var(--ds-line);
  border-radius: 999px;
  background: var(--ds-card);
  color: var(--ds-text);
  font-size: 12px;
  cursor: pointer; }

.ds-botfilter b {
  font-weight: 700;
  color: var(--ds-ink); }

.ds-botfilter em {
  font-size: 12px;
  color: var(--ds-muted); }

.ds-botfilter:hover {
  border-color: #d9534f; }

.ds-botfilter:hover em {
  color: #d9534f; }

.ds-botfilters-count {
  margin-left: auto;
  font-size: 12px;
  color: var(--ds-muted); }

/* ---- Editar serviço do robô --------------------------------------------- */
/* Os quatro valores só de leitura (nº, cliente, data, hora) eram <span
   class="label label-primary"> — pareciam botões e não se lia o que era cada
   um sem contar as etiquetas. */
.ds-botedit-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px; }

.ds-botedit-kv > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0; }

.ds-botedit-kv span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--ds-muted); }

.ds-botedit-kv b {
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink);
  overflow-wrap: anywhere;
  line-height: 1.25; }

/* ---- Rastreamento: lista de estafetas ao lado do mapa -------------------
   A coluna tinha style="height:500px" escrito a mao: num ecra alto sobrava
   branco por baixo, num ecra baixo cortava. Passa a ocupar a altura toda e o
   cabecalho fica fixo, para a caixa de procura nao fugir ao rolar. */
.ds-track {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding: 0; }

.ds-track-head {
  flex: 0 0 auto;
  padding: 12px 14px;
  background: var(--ds-card);
  border-bottom: 1px solid var(--ds-line); }

.ds-track-headtop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px; }

.ds-track-search .form-control {
  height: 34px; }

.ds-track-tablewrap {
  flex: 1 1 auto;
  overflow-y: auto; }

.ds-track-table {
  font-size: 12px; }

.ds-track-table > tbody > tr > td {
  padding: 6px 8px;
  vertical-align: middle; }

.ds-track-photo {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--ds-grey); }

/* O botao do nome ocupa a celula: o alvo de clique passa a ser a linha do
   nome inteiro e nao so as letras. */
/* O nome do motorista e um <button class="btn btn-xs">, e era so isso que lhe
   dava aspecto: um botao do Bootstrap sem variante, que no tema herda fundo
   branco e rebordo cinzento. No modo escuro ficava uma fila de pastilhas
   brancas — quinze rectangulos claros a competirem com o mapa ao lado.

   Passa a ler-se como o que e: uma linha da lista onde se pode carregar. Sem
   fundo nem rebordo em repouso, com realce so ao passar o rato. O !important e
   preciso porque as regras do .btn tem a mesma especificidade e vem do tema. */
.ds-track-name {
  width: 100%;
  text-align: left;
  padding: 4px 8px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 10px;
  color: var(--ds-text);
  font-size: 12.5px;
  transition: background .15s ease; }

.ds-track-name:hover,
.ds-track-name:focus {
  background: var(--ds-grey) !important;
  color: var(--ds-ink); }

/* Os binoculos so tem de se ver quando interessam: em repouso ficam discretos
   e ganham cor quando o rato passa por cima da linha. */
.ds-track-name > em {
  color: var(--ds-muted);
  transition: color .15s ease; }

.ds-track-name:hover > em {
  color: var(--ds-green-d); }

/* ---- Listas de faturação: linha de totais -------------------------------- */
.ds-facttable {
  font-size: 12px; }

.ds-facttotal > td {
  border-top: 2px solid var(--ds-line) !important;
  background: var(--ds-grey);
  font-weight: 700;
  position: sticky;
  bottom: 0; }

/* ---- Erros e excepcoes dos metodos (monitor) -------------------------------
   Tabela de leitura rapida: quem abre isto esta' a investigar uma avaria e quer
   varrer a coluna das mensagens com os olhos, nao ler paragrafos. Dai a
   monoespacada nas mensagens e o alinhamento fixo das horas. */
.ds-errsum {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 10px 0 6px;
  font-size: 12px;
  color: var(--ds-muted); }

.ds-errsum-item b {
  color: var(--ds-ink);
  font-weight: 700; }

.ds-errcount {
  display: inline-block;
  min-width: 26px;
  padding: 1px 7px;
  border-radius: 14px;
  background: rgba(214, 69, 65, 0.14);
  color: #d64541;
  font-weight: 700; }

.theme-3 .ds-errcount {
  background: rgba(214, 69, 65, 0.22);
  color: #ff8b87; }

.ds-errcode {
  font-family: Menlo, Consolas, monospace;
  font-size: 11px;
  padding: 1px 6px;
  border-radius: 9px;
  background: var(--ds-grey);
  color: var(--ds-muted); }

.ds-errwhen {
  font-family: Menlo, Consolas, monospace;
  font-size: 11px;
  color: var(--ds-muted);
  white-space: nowrap; }

.ds-errmsg {
  font-family: Menlo, Consolas, monospace;
  font-size: 11px;
  line-height: 1.5;
  color: var(--ds-text);
  /* As mensagens vem cortadas a 300 caracteres do lado do servidor, mas mesmo
     assim ha' pilhas longas: quebra-se por palavras em vez de esticar a tabela. */
  word-break: break-word;
  max-width: 460px; }

/* A lista dos ultimos erros pode ter 60 linhas. Rola dentro do cartao em vez de
   empurrar o resto da pagina para baixo. */
.ds-errlist {
  max-height: 340px;
  overflow-y: auto; }

/* Sub-titulo dentro da grelha de definicoes, para separar a sonda paga das
   gratuitas sem abrir outro cartao. */
.ds-subhead {
  margin: 14px 0 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ds-muted); }

/* O custo mostra-se como numero e nao como aviso: um numero decide-se, um aviso
   ignora-se. */
.ds-cost {
  display: flex;
  align-items: baseline;
  gap: 8px;
  height: 38px; }

.ds-cost-val {
  font-size: 20px;
  font-weight: 700;
  color: var(--ds-ink); }

.ds-cost-txt {
  font-size: 12px;
  color: var(--ds-muted); }

/* ---- Chave mestra (leitura em /serverSettings) ---------------------------
   Monoespacada e com espacamento entre caracteres: uma chave le-se caracter a
   caracter, e num tipo proporcional o 1, o l e o I confundem-se. */
.ds-mkey {
  font-family: Menlo, Consolas, monospace;
  font-size: 14px;
  letter-spacing: .12em;
  color: var(--ds-ink);
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  padding: 6px 12px;
  display: inline-block; }

.ds-mkey--oculta {
  color: var(--ds-muted);
  letter-spacing: .2em; }

.ds-mkey--grande {
  font-size: 20px;
  padding: 12px 18px;
  margin-bottom: 4px; }

.ds-mkey-nota {
  display: block;
  margin-top: 6px;
  font-size: 11px;
  color: var(--ds-muted); }

/* ---- Margens em tempo real (marginLive) -----------------------------------
   Lista de ocorrencias, nao tabela: cada uma tem uma frase a explicar-se e duas
   accoes. Numa tabela a frase nao cabia, e sem a frase o operador tinha de
   adivinhar porque e' que aquilo esta' ali. */
/* Texto secundario de estado. E' usado em varios templates (monitor, esta pagina)
   como `<p class="ds-muted">`, mas so' existia como TOKEN --ds-muted — a classe
   nunca teve regra e o texto herdava a cor do que estivesse a` volta. */
.ds-muted {
  color: var(--ds-muted);
  font-size: 13px; }

.ds-mglist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 12px; }

.ds-mgitem {
  border: 1px solid var(--ds-line);
  border-left: 3px solid var(--ds-muted);
  /* a cor da severidade entra por aqui */
  border-radius: var(--ds-radius-s);
  background: var(--ds-card);
  padding: 12px 14px; }

.ds-mgitem--critico {
  border-left-color: #d64541; }

.ds-mgitem--aviso {
  border-left-color: #e6a417; }

.ds-mgitem--info {
  border-left-color: var(--ds-muted); }

.ds-mgitem-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap; }

.ds-mgitem-title {
  font-weight: 600;
  color: var(--ds-ink);
  flex: 1 1 auto;
  min-width: 0; }

/* O euro fica a` direita e em monoespacada: e' a coluna que se varre com os
   olhos quando se quer saber o que doi mais. */
.ds-mgitem-eur {
  font-family: Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 700;
  white-space: nowrap; }

.ds-mgeur--bad {
  color: #d64541; }

.ds-mgeur--ok {
  color: #4b9e4b; }

.theme-3 .ds-mgeur--bad {
  color: #ff8b87; }

.theme-3 .ds-mgeur--ok {
  color: #86dc9b; }

.ds-mgtag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 14px;
  background: var(--ds-grey);
  color: var(--ds-muted);
  white-space: nowrap; }

.ds-mgtag--prejuizo {
  background: rgba(214, 69, 65, 0.14);
  color: #d64541; }

.theme-3 .ds-mgtag--prejuizo {
  background: rgba(214, 69, 65, 0.22);
  color: #ff8b87; }

.ds-mgitem-txt {
  margin: 7px 0 0;
  font-size: 13px;
  color: var(--ds-text);
  line-height: 1.5; }

.ds-mgitem-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-top: 8px;
  font-size: 11px;
  color: var(--ds-muted); }

.ds-mgitem-meta b {
  color: var(--ds-ink); }

/* "3 alteracoes" deixou de ser so' um numero: abre o detalhe do que cada
   alteracao fez ao lucro. Como vive na linha de metadados, que e' de 11px e
   cinzenta, nao pode virar botao — herda o tamanho e a cor e assinala-se com o
   tracejado por baixo, que e' o que se ve num texto em que se pode carregar. */
.ds-metalink {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  border-bottom: 1px dashed currentColor; }

.ds-metalink:hover {
  color: var(--ds-ink); }

.ds-metalink:focus-visible {
  outline: 2px solid var(--ds-green);
  outline-offset: 2px;
  border-radius: 3px; }

.ds-mgitem-when {
  margin-left: auto; }

.ds-mgitem-acts {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--ds-line); }

/* Reivindicado por outro administrador: o botao sai e fica o registo de quem
   tratou. Nao e' um estado desactivado — e' informacao. */
.ds-mgdone {
  font-size: 12px;
  color: #4b9e4b;
  display: inline-flex;
  align-items: center;
  gap: 5px; }

.theme-3 .ds-mgdone {
  color: #86dc9b; }

.ds-mggroup {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--ds-line); }

/* ---- Faixa "acabadas de entrar" ------------------------------------------
   E' o MESMO cartao da lista de baixo (.ds-mgitem), em dois contextos: em baixo
   e' a fila de trabalho, ordenada por gravidade; aqui e' o que acabou de
   acontecer, ordenado por tempo. So' muda o realce — se fossem dois componentes
   diferentes, daqui a uns meses tinham deixado de se parecer um com o outro. */
.ds-mgnew {
  border-top: 2px solid #e6a417; }

.ds-mglist--new {
  gap: 8px; }

.ds-mgitem--novo {
  background: rgba(230, 164, 23, 0.06);
  box-shadow: inset 0 0 0 1px rgba(230, 164, 23, 0.18);
  animation: ds-mgin .45s ease-out;
  /* entra uma vez, nao fica a mexer */ }

.theme-3 .ds-mgitem--novo {
  background: rgba(230, 164, 23, 0.1); }

@keyframes ds-mgin {
  from {
    opacity: 0;
    transform: translateY(-6px); }
  to {
    opacity: 1;
    transform: none; } }

/* O ponto do titulo pisca devagar: e' o sinal de que a pagina esta' viva, sem
   precisar de um contador a andar a` frente de quem esta' a trabalhar. */
.ds-dot--live {
  animation: ds-mgpulse 2.4s ease-in-out infinite; }

@keyframes ds-mgpulse {
  0%, 100% {
    opacity: 1; }
  50% {
    opacity: .25; } }

@media (prefers-reduced-motion: reduce) {
  .ds-dot--live, .ds-mgitem--novo {
    animation: none; } }

.ds-mgnew-clock {
  margin-left: auto;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--ds-muted);
  text-transform: none;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px; }

.ds-mgnew-note {
  margin-top: 10px;
  margin-bottom: 0; }

/* Interruptor do sinal sonoro. Diz o estado por palavras e nao so' pelo icone:
   um altifalante riscado e um altifalante inteiro sao parecidos de mais a` pressa,
   e este e' um controlo que se carrega uma vez e se esquece — quem volta a` pagina
   tem de saber, de relance, se vai ser avisado ou nao. */
.ds-mgsom {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--ds-line);
  border-radius: 999px;
  background: none;
  cursor: pointer;
  padding: 3px 11px;
  margin-left: 12px;
  font-size: 11.5px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ds-muted); }

.ds-mgsom:hover {
  border-color: var(--ds-muted);
  color: var(--ds-ink); }

.ds-mgsom:focus-visible {
  outline: 2px solid var(--ds-green);
  outline-offset: 2px; }

.ds-mgsom.is-on {
  border-color: var(--ds-green);
  color: var(--ds-green-d);
  background: rgba(190, 214, 47, 0.1); }

.theme-3 .ds-mgsom.is-on {
  color: var(--ds-green);
  background: rgba(190, 214, 47, 0.14); }

@media (max-width: 560px) {
  .ds-mgsom-txt {
    display: none; } }

/* Ocorrencia ja' conhecida que PIOROU desde a ultima corrida. */
.ds-mgflag {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: 14px;
  white-space: nowrap;
  background: rgba(230, 164, 23, 0.16);
  color: #a8730a; }

.theme-3 .ds-mgflag {
  background: rgba(230, 164, 23, 0.22);
  color: #ffc65c; }

/* O acumulado em euros e' o numero que justifica a pagina toda: destaca-se. */
.ds-metric--money .ds-metric-value {
  color: #d64541; }

.theme-3 .ds-metric--money .ds-metric-value {
  color: #ff8b87; }

.ds-metric--bad .ds-metric-value {
  color: #d64541; }

.theme-3 .ds-metric--bad .ds-metric-value {
  color: #ff8b87; }

.ds-select--multi {
  min-height: 92px; }

.ds-select--sm {
  width: auto;
  min-width: 190px; }

.ds-btn--sm {
  padding: 5px 12px;
  font-size: 12px; }

/* ---- Caixa de procura das tabelas (filtro do DataTables) -------------------
   O controlo e' desenhado pelo DataTables, e a mesma configuracao esta repetida
   em 32 templates (`oLanguage.sSearch: '<em class="ion-search">'`). Por isso o
   aspecto trata-se aqui uma vez e chega a todas as listas de uma so' vez.

   O que la' estava era uma lupa solta com um risco por baixo, herdado do tema:
   nao se lia como campo, nao dizia o que fazia, e ao lado dos .ds-input do resto
   da app parecia vir de outra casa. Passa a campo com rebordo e a lupa dentro.
   Quem filtra continua a ser o DataTables — muda so' a casca, o comportamento
   fica exactamente o de hoje. */
.dataTables_wrapper .dataTables_filter {
  text-align: right; }

.dataTables_wrapper .dataTables_filter label {
  position: relative;
  display: inline-block;
  margin: 0;
  font-weight: 400;
  text-align: left; }

/* A lupa vem do sSearch, ou seja, e' irma do input e nao filha: fica ANTES dele
   e fora da caixa. Tira-se do fluxo e poe-se por cima do campo — sem isto ficava
   a boiar a esquerda da caixa, que e' o que se via. */
.dataTables_wrapper .dataTables_filter label > em {
  position: absolute;
  left: 11px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--ds-muted);
  pointer-events: none;
  /* o clique atravessa o icone e cai no campo */ }

/* Especificidade de proposito acima da do datatable.scss (que zera o rebordo,
   arredonda a 0 e forca fundo transparente com !important). O !important do
   fundo so' se vence com outro. */
.dataTables_wrapper .dataTables_filter label input[type="search"] {
  width: 230px;
  max-width: 100%;
  height: 34px;
  padding: 6px 12px 6px 32px;
  font-size: 13px;
  color: var(--ds-text);
  background-color: var(--ds-card) !important;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  transition: border-color .15s ease, box-shadow .15s ease; }

.dataTables_wrapper .dataTables_filter label input[type="search"]::placeholder {
  color: var(--ds-muted);
  font-style: italic; }

.dataTables_wrapper .dataTables_filter label input[type="search"]:focus {
  outline: none;
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.18);
  border-bottom-color: var(--ds-green) !important;
  /* o datatable.scss pinta o
                                                        rebordo de baixo a azul */ }

.dataTables_wrapper .dataTables_filter label:focus-within > em {
  color: var(--ds-green); }

/* No tema escuro o --ds-card e' 3% de branco e o cartao por baixo ja' e'
   translucido: o campo desaparecia dentro dele. Ganha fundo proprio, como os
   .ds-input ja' tem mais acima neste ficheiro. */
.theme-3 .dataTables_wrapper .dataTables_filter label input[type="search"] {
  background-color: rgba(0, 0, 0, 0.22) !important;
  color: var(--ds-ink); }

/* Ecras estreitos: o campo passa a ocupar a linha em vez de forcar o cartao a
   rolar de lado. */
@media (max-width: 767px) {
  .dataTables_wrapper .dataTables_filter {
    text-align: left; }
  .dataTables_wrapper .dataTables_filter label,
  .dataTables_wrapper .dataTables_filter label input[type="search"] {
    width: 100%; } }

/* O DataTables desenha os seus proprios controlos (registos por pagina,
   procurar, paginacao) fora da tabela mas dentro do cartao, e ficavam colados
   as margens. Aqui ganham o mesmo respiro do resto. */
.ds-card > .dataTables_wrapper > .row {
  margin-left: 0;
  margin-right: 0; }

.ds-card .dataTables_length,
.ds-card .dataTables_filter,
.ds-card .dataTables_info,
.ds-card .dataTables_paginate {
  padding: 4px 2px; }

/* A tabela larga rola dentro do cartao, mas o conteudo nao pode encostar. */
.ds-card > .table-responsive {
  padding: 2px; }

.ds-salestable > thead > tr > th:first-child,
.ds-salestable > tbody > tr > td:first-child,
.ds-salestable > tfoot > tr > th:first-child {
  padding-left: 4px; }

.ds-salestable > thead > tr > th:last-child,
.ds-salestable > tbody > tr > td:last-child,
.ds-salestable > tfoot > tr > th:last-child {
  padding-right: 4px; }

/* Cartoes que contem uma tabela larga: a tabela rola dentro deles, mas o
   cabecalho, os controlos do DataTables e as celulas das pontas nao podem
   ficar encostados ao rebordo. */
.ds-card > .table-responsive,
.card > .card-body > .table-responsive {
  padding: 0 4px 2px; }

.ds-card .dataTables_wrapper {
  padding: 0 4px; }

/* ---- Vendas por cliente (salesKPI) --------------------------------------
   As regras desta tabela viviam num <style> dentro do proprio template, com
   `white` e `#dee2e6` escritos a mao — no tema escuro dava celulas brancas
   sobre pagina de ardosia. Passam para aqui, com tokens, e invertem-se com o
   tema como tudo o resto. */
.ds-kpi-wrap {
  position: relative;
  max-height: calc(100vh - 260px);
  overflow: auto;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s); }

.ds-kpitable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12.5px; }

/* Cabecalho fixo ao rolar. */
.ds-kpitable thead {
  position: sticky;
  top: 0;
  z-index: 2; }

.ds-kpitable thead th {
  background: var(--ds-card);
  color: var(--ds-muted);
  border-bottom: 2px solid var(--ds-line);
  padding: 8px 10px;
  white-space: nowrap;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-weight: 700; }

.ds-kpitable td {
  padding: 7px 10px;
  white-space: nowrap;
  border-bottom: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-text); }

/* Coluna do cliente fixa a esquerda: a tabela tem treze meses e sem isto
   perde-se de quem e a linha a meio do rolamento horizontal. */
.ds-kpitable .sticky-column {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--ds-card);
  border-right: 2px solid var(--ds-line); }

.ds-kpitable thead th.sticky-column {
  z-index: 3; }

.ds-kpitable tbody tr:hover td,
.ds-kpitable tbody tr:hover td.sticky-column {
  background: var(--ds-grey); }

/* Os numeros a direita. O template dizia `text-end`, que e do Bootstrap 4/5 —
   este projecto tem o 3, onde essa classe nao existe: nao alinhava nada. */
.ds-kpitable .ds-num {
  text-align: right;
  font-variant-numeric: tabular-nums; }

.client-name-btn {
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  color: var(--ds-ink);
  font-weight: 600;
  text-align: left; }

.client-name-btn:hover {
  color: var(--ds-green-d);
  text-decoration: underline; }

.ds-kpilist {
  list-style: none;
  padding: 0;
  margin: 0 0 8px; }

.ds-kpilist li {
  display: flex;
  gap: 8px;
  padding: 4px 0;
  font-size: 13px;
  color: var(--ds-text); }

.ds-kpilist em {
  flex: 0 0 auto;
  margin-top: 3px; }

.ds-kpilist--num {
  list-style: decimal;
  padding-left: 20px; }

.ds-kpilist--num li {
  display: list-item; }

/* ---- Separadores ---------------------------------------------------------
   Classe própria (.ds-tabs) em cima do nav-tabs do Bootstrap: o data-toggle
   continua a ser dele, só a pintura é nossa. */
.ds-tabs {
  border-bottom: 1px solid var(--ds-line);
  margin-bottom: 14px; }
  .ds-tabs > li > a {
    border: 0;
    border-radius: 0;
    margin-right: 2px;
    padding: 9px 15px;
    font-size: 13px;
    font-weight: 600;
    color: var(--ds-muted);
    background: transparent;
    border-bottom: 2px solid transparent; }
    .ds-tabs > li > a:hover, .ds-tabs > li > a:focus {
      background: var(--ds-grey);
      border-color: transparent;
      border-bottom-color: var(--ds-line);
      color: var(--ds-text); }
    .ds-tabs > li > a em {
      margin-right: 5px; }
  .ds-tabs > li.active > a,
  .ds-tabs > li.active > a:hover,
  .ds-tabs > li.active > a:focus {
    border: 0;
    border-bottom: 2px solid var(--ds-green);
    background: transparent;
    color: var(--ds-ink); }

.ds-tabs-count {
  display: inline-block;
  min-width: 20px;
  padding: 1px 7px;
  margin-left: 4px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: var(--ds-muted);
  background: var(--ds-grey); }

.ds-tabs > li.active > a .ds-tabs-count {
  color: var(--ds-ink);
  background: var(--ds-line); }

/* ---- Ranking do estafeta -------------------------------------------------
   Eram cartões de três colunas, um por estafeta, com uma tabela de uma célula
   lá dentro. Com trinta estafetas dava trinta cartões e nenhuma leitura de
   posições — que é a única coisa que um ranking tem de dar. Agora é uma lista
   ordenada, com a linha do próprio destacada. */
.ds-ranklist {
  display: flex;
  flex-direction: column; }

.ds-rank-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 9px 6px;
  border-bottom: 1px solid var(--ds-line); }

.ds-rank-row:last-child {
  border-bottom: 0; }

/* A minha linha: fundo próprio e barra à esquerda, para se encontrar de
   relance numa lista longa sem ter de ler os nomes todos. */
.ds-rank-row--me {
  background: var(--ds-grey);
  border-radius: var(--ds-radius-s);
  box-shadow: inset 3px 0 0 var(--ds-green);
  padding-left: 10px; }

.ds-rank-pos {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 12.5px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  background: var(--ds-grey);
  color: var(--ds-muted);
  border: 1px solid var(--ds-line); }

/* Pódio. Cores fixas de propósito: ouro, prata e bronze não são cores do tema
   e não se invertem — é o mesmo metal nos dois fundos. */
.ds-rank-pos--1 {
  background: #e8c23a;
  color: #3d2f00;
  border-color: #d4ac1d; }

.ds-rank-pos--2 {
  background: #c9ced4;
  color: #2b3440;
  border-color: #b3b9c0; }

.ds-rank-pos--3 {
  background: #d3a06a;
  color: #3a2510;
  border-color: #bd8b56; }

.ds-rank-id {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0; }

.ds-rank-id strong {
  font-size: 13.5px;
  color: var(--ds-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.ds-rank-detail {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.ds-rank-detail em {
  margin-right: 3px;
  opacity: .7; }

.ds-rank-score {
  font-size: 15px;
  font-weight: 800;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  min-width: 46px;
  text-align: right; }

@media (max-width: 620px) {
  /* Em ecrã de telemóvel o detalhe passa para baixo do nome, em vez de
     espremer a coluna do nome até ele deixar de se ler. */
  .ds-rank-row {
    grid-template-columns: 28px minmax(0, 1fr) auto; }
  .ds-rank-detail {
    grid-column: 2 / 4;
    gap: 12px; } }

/* ---- Painel de totais (dashboard 1) --------------------------------------
   Os números viviam num <ul class="list-inline"> — fluíam em linha e mudavam
   de linha onde calhava. Bastava um mês com valores grandes (90180.31) para o
   "Total Diff" cair sozinho para a linha seguinte, e esse cartão passava a ter
   outra forma que os vizinhos: comparar dois meses a olho deixava de dar. Com
   colunas declaradas, todos os cartões têm a mesma pauta. */
.ds-dashgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 16px;
  /* O .ds-card não traz margem — nas outras páginas a separação vem sempre do
     gap da grelha que o contém. Aqui o cartão do gráfico é irmão solto desta
     grelha, e sem isto os dois ficavam encostados. A margem fica na grelha e
     não no cartão do gráfico para não pôr margens no .ds-card global. */
  margin-top: 18px; }

.ds-dashcard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  /* Não pode encolher abaixo do que tem dentro (mesma armadilha dos cartões do
     Robô: item de grelha esticado leva a altura da linha como tecto). */
  height: auto;
  min-height: 100%; }

/* O cabeçalho era uma barra de cor cheia — verde, azul-turquesa, azul — que
   dominava o cartão e não dizia nada de novo. Agora é texto, e a distinção faz-se
   por uma barra fina à esquerda. */
.ds-dashcard-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--ds-line); }

.ds-dashcard-when {
  font-size: 14px;
  font-weight: 700;
  color: var(--ds-ink); }

.ds-dashcard--today {
  box-shadow: inset 3px 0 0 var(--ds-green), var(--ds-shadow); }

.ds-dashcard--now {
  box-shadow: inset 3px 0 0 #2f6bd6, var(--ds-shadow); }

/* O número principal manda. Antes tudo era <h4>: o total do mês tinha o mesmo
   peso visual que "8h/day 1". */
.ds-dashmain {
  display: flex;
  flex-direction: column;
  gap: 0; }

.ds-dashmain-val {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.1;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere; }

.ds-dashmain-val i {
  font-style: normal;
  font-size: 16px;
  font-weight: 600;
  color: var(--ds-muted);
  margin-right: 3px; }

.ds-dashmain-cap {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  color: var(--ds-muted); }

.ds-dashrow {
  display: grid;
  gap: 10px; }

.ds-dashrow--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ds-dashrow--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ds-dashfig {
  display: flex;
  flex-direction: column;
  min-width: 0; }

.ds-dashfig b {
  font-size: 17px;
  font-weight: 700;
  color: var(--ds-text);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  overflow-wrap: anywhere; }

.ds-dashfig--sm b {
  font-size: 14.5px; }

.ds-dashfig b i {
  font-style: normal;
  font-size: 11px;
  font-weight: 600;
  color: var(--ds-muted);
  margin-right: 2px; }

.ds-dashfig > span {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 600;
  color: var(--ds-muted);
  line-height: 1.3; }

/* A unidade dentro do rótulo (8h/dia) fica mais apagada que o rótulo. */
.ds-dashfig > span i {
  font-style: normal;
  opacity: .7;
  text-transform: none; }

.ds-dashsound {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  color: var(--ds-muted); }

/* ---- Lançador de painéis (counts) ----------------------------------------
   Eram quatro linhas de uma <table> com cabeçalhos "#", "Nome", "Print Screen"
   e "Tendência". A tabela promete dados comparáveis e ordenáveis; isto são
   quatro links. A coluna "Tendência" tinha a mesma seta verde a subir escrita à
   mão nas quatro linhas — não vinha de lado nenhum e nunca mudava, mas dava a
   entender que os painéis estavam todos a subir. */
.ds-launchgrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px; }

.ds-launch {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 16px;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 14px;
  padding: 16px 18px;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  text-decoration: none;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
  /* Foco visível: com um <a> a página passa a ser navegável pelo teclado, e o
     contorno é o que diz onde se está. */ }
  .ds-launch:hover, .ds-launch:focus {
    text-decoration: none;
    border-color: var(--ds-green);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(16, 25, 40, 0.1); }
  .ds-launch:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: 2px; }

.ds-launch-nr {
  grid-row: 1 / 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  color: #fff;
  background: var(--ds-muted); }

.ds-launch--1 .ds-launch-nr {
  background: #8d6e63; }

.ds-launch--2 .ds-launch-nr {
  background: #9b59b6; }

.ds-launch--3 .ds-launch-nr {
  background: #2f6bd6; }

.ds-launch--4 .ds-launch-nr {
  background: #6f8f00; }

/* Um ícone da mesma família do menu, em vez das miniaturas: as que lá estavam
   eram capturas de Novembro de 2022 e mostravam a interface antiga — depois
   destas reescritas já não descreviam o que está do outro lado do clique. */
.ds-launch-ico {
  position: absolute;
  right: 42px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 30px;
  color: var(--ds-line);
  pointer-events: none; }

.ds-launch:hover .ds-launch-ico {
  color: var(--ds-green); }

.ds-launch-title {
  grid-column: 2;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ds-ink);
  line-height: 1.3; }

.ds-launch-sub {
  grid-column: 2;
  font-size: 12px;
  color: var(--ds-muted);
  line-height: 1.4;
  padding-right: 46px;
  /* não passar por baixo do ícone */ }

.ds-launch-go {
  grid-row: 1 / 3;
  grid-column: 3;
  font-size: 15px;
  color: var(--ds-muted); }

.ds-launch:hover .ds-launch-go {
  color: var(--ds-ink); }

/* ---- Quadros largos: serviços ativos e finalizados ------------------------
   Vinte e sete colunas nos ativos, vinte nos finalizados. A barra horizontal
   está sempre lá, e ao rolar para a direita — que é onde estão o preço, o
   estado e as ações — perde-se de vista de que serviço é a linha que se está a
   ler. A primeira coluna, que tem o número do serviço, passa a ficar fixa.

   Só se acrescenta a classe no <table>; nada muda de sítio na marcação.
   Nenhuma das duas tabelas usa scrollX/scrollY do DataTables, por isso não há
   cabeçalho clonado a competir com o `position: sticky`. */
.ds-wide {
  font-variant-numeric: tabular-nums; }

/* SO com .is-x — ou seja, so quando a tabela nao cabe na largura visivel. Em
   ecra grande, com tudo a vista, uma coluna fixa nao serve para nada: nao ha de
   onde a ancorar, e a sombra so acrescenta uma risca sem significado. Quem poe
   e tira a classe e o wideTablePin.js, que mede scrollWidth contra clientWidth.

   As duas tabelas .ds-wide vivem sempre dentro de um .ds-wide-wrap, por isso
   apertar o selector nao deixa nenhuma de fora. */
.ds-wide-wrap.is-x .ds-wide > thead > tr > th:first-child,
.ds-wide-wrap.is-x .ds-wide > tbody > tr > td:first-child,
.ds-wide-wrap.is-x .ds-wide > tfoot > tr > th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  /* Fundo opaco obrigatório: sem ele o resto da linha passa por baixo e lê-se
     o texto das duas colunas sobreposto. */
  background: var(--ds-card); }

.ds-wide-wrap.is-x .ds-wide > thead > tr > th:first-child {
  z-index: 3; }

/* A sombra à direita da coluna fixa é o que diz que há mais conteúdo debaixo
   dela — sem ela a coluna parece só estar encostada.

   Faltava-lhe a variante do tema escuro: o rgba(16,25,40,.10) e um azulado que
   sobre fundo claro se le como sombra e sobre fundo escuro nao se ve de todo.
   Agora acompanha a do bloco fixo da direita, que e opaco a serio. */
.ds-wide-wrap.is-x .ds-wide > thead > tr > th:first-child::after,
.ds-wide-wrap.is-x .ds-wide > tbody > tr > td:first-child::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 6px;
  transform: translateX(100%);
  pointer-events: none;
  background: linear-gradient(to right, rgba(16, 25, 40, 0.1), rgba(16, 25, 40, 0)); }

.theme-3 .ds-wide-wrap.is-x .ds-wide > thead > tr > th:first-child::after,
.theme-3 .ds-wide-wrap.is-x .ds-wide > tbody > tr > td:first-child::after {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)); }

/* O .table-striped do Bootstrap pinta as linhas ímpares; a célula fixa tem de
   acompanhar, senão fica uma coluna branca sobre linhas às riscas. */
.ds-wide-wrap.is-x .ds-wide.table-striped > tbody > tr:nth-of-type(odd) > td:first-child {
  background: var(--ds-grey); }

.ds-wide-wrap.is-x .ds-wide > tbody > tr:hover > td:first-child {
  background: var(--ds-line); }

/* Caixa da mensagem: altura util sem ser a caixa de 3 linhas que obrigava a
   rolar dentro dela para reler o que se escreveu. */
.ds-msgbox {
  min-height: 120px;
  resize: vertical; }

/* ---- Avisos do canto (toastr) --------------------------------------------
   Os avisos de mensagens novas são desenhados pelo toastr, com HTML montado em
   header.js. Esse JS não se toca: tem lá dentro uma solução trabalhada para os
   leads (onHidden, porque o X do toastr 2.1.0 não chama onclick) e mexer nele
   arrisca mensagens que deixam de fechar. Tudo o que segue é aparência.

   !important em quase tudo porque a folha vem do pacote flawless:meteor-toastr
   e a ordem de carregamento no bundle não é garantida. */
#toast-container > div {
  /* Era um rectângulo de cor cheia com uma sombra dura e 300px de largura. */
  width: 330px !important;
  max-width: calc(100vw - 32px);
  padding: 13px 34px 13px 46px !important;
  border-radius: var(--ds-radius) !important;
  border: 1px solid var(--ds-line) !important;
  box-shadow: 0 6px 20px rgba(16, 25, 40, 0.18) !important;
  opacity: 1 !important;
  /* O ícone do toastr é um PNG em data-URI, esticado a 24px no canto. Sai daqui
     e volta como glifo do Ionicons no ::before, para ser da mesma família dos
     outros e acompanhar a cor. */
  background-image: none !important;
  background-position: 0 0 !important;
  position: relative; }

/* Fundo claro em todos, com a cor a viver numa barra à esquerda e no ícone —
   em vez de encher a caixa toda. Um aviso a verde-cheio grita tanto como um
   erro a vermelho-cheio, e deixa de haver hierarquia entre eles. */
#toast-container > .toast-success,
#toast-container > .toast-info,
#toast-container > .toast-warning,
#toast-container > .toast-error {
  /* Cor solida e nao o token: o #toast-container e injectado pelo toastr no
     fim do <body> e nao se pode contar com o sitio dele na arvore para os
     tokens do tema chegarem la. Um aviso ilegivel e um aviso perdido. */
  background-color: #ffffff !important;
  color: var(--ds-text) !important;
  /* O toastr põe o ícone em PNG (data-URI) nestas classes, com mais
     especificidade do que a regra genérica acima: sem repetir aqui, ficavam
     dois vistos — o PNG dele e o glifo do ::before. */
  background-image: none !important; }

#toast-container > div::before {
  font-family: 'Ionicons';
  position: absolute;
  left: 15px;
  top: 14px;
  font-size: 19px;
  line-height: 1.2; }

#toast-container > div::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: var(--ds-radius) 0 0 var(--ds-radius); }

#toast-container > .toast-success::before {
  content: '\f120';
  color: #6f8f00; }

/* checkmark-circled */
#toast-container > .toast-success::after {
  background: #6f8f00; }

#toast-container > .toast-info::before {
  content: '\f44c';
  color: #2f6bd6; }

/* information-circled */
#toast-container > .toast-info::after {
  background: #2f6bd6; }

#toast-container > .toast-warning::before {
  content: '\f100';
  color: #b3690a; }

/* alert-circled */
#toast-container > .toast-warning::after {
  background: #b3690a; }

#toast-container > .toast-error::before {
  content: '\f2d7';
  color: #c0392b; }

/* close-circled */
#toast-container > .toast-error::after {
  background: #c0392b; }

.theme-3 #toast-container > .toast-success::before {
  color: #bed62f; }

.theme-3 #toast-container > .toast-info::before {
  color: #6fb8e8; }

.theme-3 #toast-container > .toast-warning::before {
  color: #f0ad4e; }

.theme-3 #toast-container > .toast-error::before {
  color: #e8776f; }

/* Título: sai o <h6> com margens de cabeçalho e as duas etiquetas cinzentas
   iguais entre si (remetente e destinatário liam-se como a mesma coisa). */
#toast-container .toast-title {
  margin: 0 0 4px !important;
  font-weight: 400 !important; }

#toast-container .toast-title h6 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  font-size: 11.5px;
  line-height: 1.4; }

#toast-container .toast-title .label {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  background: var(--ds-grey) !important;
  color: var(--ds-muted) !important;
  border: 1px solid var(--ds-line); }

/* O primeiro é quem envia — fica com mais peso que o destinatário.
   --ds-ink-bg e NAO --ds-ink: o --ds-ink e cor de TEXTO e inverte-se no tema
   escuro (passa a quase branco). Como fundo, dava uma etiqueta branca com
   letras brancas. O ds.scss tem os dois tokens exactamente por isto. */
#toast-container .toast-title .label:first-of-type {
  background: var(--ds-ink-bg) !important;
  color: #fff !important;
  border-color: transparent; }

#toast-container .toast-message {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--ds-text) !important;
  overflow-wrap: anywhere; }

/* O X era branco a 80% sobre cor cheia; com fundo claro desaparecia. */
#toast-container .toast-close-button {
  position: absolute !important;
  top: 8px;
  right: 10px;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--ds-muted) !important;
  text-shadow: none !important;
  opacity: 1 !important; }

#toast-container .toast-close-button:hover {
  color: var(--ds-text) !important; }

/* A barra de progresso do tempo restante herdava um verde vivo fixo. */
#toast-container .toast-progress {
  background-color: var(--ds-muted) !important;
  opacity: .35 !important;
  height: 3px !important;
  border-radius: 0 0 var(--ds-radius) var(--ds-radius); }

/* ---- Quadro de mensagens -------------------------------------------------
   O max-height e o overflow NÃO são decoração: o initInfiniteScroll do
   messages.js liga-se ao evento `scroll` deste contentor, e sem ele o
   contentor nunca rola, o evento nunca dispara e as mensagens mais antigas
   nunca chegam a carregar.

   Estavam num style="" com 1200px fixos — que num portátil de 800px de altura
   é maior do que o ecrã: o contentor nunca rolava por dentro, rolava a página,
   e o scroll infinito não funcionava de todo. Em vh acompanha o ecrã. */
.ds-msgwrap {
  max-height: 70vh;
  overflow-y: auto; }

.ds-msgico-cell {
  width: 56px; }

.ds-msgico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  font-size: 19px; }

.ds-msgico--lg {
  width: 48px;
  height: 48px;
  font-size: 24px; }

.ds-msgsender {
  display: flex;
  flex-direction: column;
  line-height: 1.35; }
  .ds-msgsender > strong {
    font-size: 13.5px;
    color: var(--ds-text); }
  .ds-msgsender > small {
    font-size: 11.5px;
    color: var(--ds-muted);
    font-variant-numeric: tabular-nums; }

/* O texto da mensagem tinha max-width: 50px num style="" — cinquenta pixels
   para a coluna que interessa ler. Passa a ser a coluna larga da tabela, com
   duas linhas e reticências. */
.ds-msgtext {
  max-width: 420px;
  color: var(--ds-text);
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.ds-msgopen {
  padding: 6px 16px;
  font-size: 12px; }

.ds-msghead {
  display: flex;
  align-items: center;
  gap: 12px; }

.ds-msghead-id {
  min-width: 0; }
  .ds-msghead-id > .modal-title {
    margin: 0;
    font-size: 16px; }
  .ds-msghead-id > small {
    color: var(--ds-muted);
    font-size: 12px; }

.ds-msgbody {
  background: var(--ds-grey);
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere; }

/* Alinhamento vertical das células do quadro de mensagens. O .ds-msgtext é um
   -webkit-box de duas linhas e as restantes células têm uma só: sem isto cada
   uma assentava onde calhava, e a mensagem — a coluna mais alta — puxava o
   resto para o topo. */
.ds-msgtable > tbody > tr > td {
  vertical-align: middle; }

.ds-msgtable > tbody > tr > td.ds-msgtext {
  text-align: left; }

/* A linha fantasma do DataTables ("No data available in table"), caso ainda
   apareça num instante entre o render do Blaze e o autorun. */
.ds-msgtable > tbody > tr.odd > td.dataTables_empty,
.ds-msgtable > tbody > tr > td.dataTables_empty {
  text-align: center;
  color: var(--ds-muted);
  padding: 22px 0; }

/* Tema escuro do aviso, com cores solidas pela mesma razao. */
.theme-3 #toast-container > .toast-success,
.theme-3 #toast-container > .toast-info,
.theme-3 #toast-container > .toast-warning,
.theme-3 #toast-container > .toast-error {
  background-color: #26313f !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: #dfe5ec !important; }

.theme-3 #toast-container .toast-message {
  color: #dfe5ec !important; }

.theme-3 #toast-container .toast-title .label {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #9dabb9 !important;
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 #toast-container .toast-title .label:first-of-type {
  background: #0f1a29 !important;
  color: #fff !important; }

/* Botao do cabecalho com altura fixa: o conteudo assentava na linha de base e
   ficava colado ao topo, porque o padding vertical e zero. */
.ds-bothead-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 1; }

/* Cartoes dentro de uma janela: o .ds-card nao traz margem — nas paginas a
   separacao vem sempre do gap da grelha, e dentro do .modal-body nao ha
   grelha nenhuma. */
.modal-body > .ds-card + .ds-card,
.modal-body > .ds-kv + .ds-card,
.modal-body > p + .ds-card {
  margin-top: 14px; }

.modal-body > .ds-card {
  margin-bottom: 0; }

/* ---- Folga entre cartões empilhados --------------------------------------
   O .ds-card nunca teve margem: nas páginas onde os cartões vivem dentro de
   uma grelha (.ds-grid, .ds-kpigrid, .ds-botgrid, .ds-dashgrid, .ds-launchgrid)
   a separação vem do `gap` dela, e uma margem no cartão somava-se ao gap e
   desalinhava as linhas. Mas onde os cartões são filhos directos do contentor
   da página — o newMessage é o caso — não há grelha nenhuma e ficavam colados.

   Por isso a regra é pelo PAI e não pelo cartão: só apanha cartões empilhados
   directamente na página ou numa janela, nunca os que estão dentro de grelha. */
.ds-list > .ds-card + .ds-card,
.ds-scope > .ds-card + .ds-card,
.ds-list > .ds-card + .ds-grid,
.ds-scope > .ds-card + .ds-grid,
.ds-list > .ds-grid + .ds-card,
.ds-scope > .ds-grid + .ds-card {
  margin-top: 16px; }

/* ---- Assistente IA -------------------------------------------------------
   A página tinha as cores todas escritas à mão em atributos style=": o fundo
   da conversa #f7f8fa, os balões #fff com rebordo #e3e6ea, a bolha do
   utilizador #122549. Escolhidas para papel branco — no tema escuro a
   conversa era uma laje branca no meio da página. Tudo em tokens. */
.ds-aicard {
  padding: 0;
  overflow: hidden; }

.ds-aichat {
  min-height: 340px;
  max-height: 60vh;
  overflow-y: auto;
  padding: 16px 18px;
  background: var(--ds-bg);
  display: flex;
  flex-direction: column;
  gap: 10px; }

/* Estado inicial: era um parágrafo "Exemplos:" solto com quatro botões. */
.ds-aiempty {
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  padding: 20px 10px; }
  .ds-aiempty > em {
    font-size: 34px;
    color: var(--ds-line); }
  .ds-aiempty > strong {
    font-size: 15px;
    color: var(--ds-text); }
  .ds-aiempty > small {
    color: var(--ds-muted);
    font-size: 12.5px; }

.ds-aiexamples {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px; }

.ds-aichip {
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-text);
  font-size: 12.5px;
  cursor: pointer;
  text-align: left;
  transition: border-color .15s ease, color .15s ease; }
  .ds-aichip:hover {
    border-color: var(--ds-green);
    color: var(--ds-ink); }

.ds-aimsg {
  display: flex; }

.ds-aimsg--me {
  justify-content: flex-end; }

.ds-aibubble {
  max-width: 78%;
  padding: 10px 14px;
  border-radius: 20px;
  font-size: 13.5px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  /* --ds-ink-bg e nao --ds-ink: o segundo e cor de TEXTO e inverte-se no tema
     escuro, o que daria uma bolha clara com letras brancas. */
  background: var(--ds-ink-bg);
  color: #fff; }

.ds-aibubble--bot {
  max-width: 100%;
  width: 100%;
  background: var(--ds-card);
  color: var(--ds-text);
  border: 1px solid var(--ds-line); }

.ds-aimd {
  /* Tabelas de resultados: rolam dentro do balão em vez de esticarem a página. */ }
  .ds-aimd h1, .ds-aimd h2, .ds-aimd h3, .ds-aimd h4 {
    font-size: 15px;
    margin: 10px 0 6px;
    color: var(--ds-ink); }
  .ds-aimd p {
    margin: 0 0 8px; }
  .ds-aimd p:last-child {
    margin-bottom: 0; }
  .ds-aimd ul, .ds-aimd ol {
    padding-left: 20px;
    margin: 0 0 8px; }
  .ds-aimd code {
    font-size: 12px;
    background: var(--ds-grey);
    padding: 1px 5px;
    border-radius: 6px; }
  .ds-aimd table {
    width: 100%;
    margin: 8px 0;
    font-size: 12.5px;
    border-collapse: collapse;
    display: block;
    overflow-x: auto; }
  .ds-aimd th, .ds-aimd td {
    padding: 5px 9px;
    border-bottom: 1px solid var(--ds-line);
    white-space: nowrap; }
  .ds-aimd th {
    text-align: left;
    color: var(--ds-muted);
    font-size: 11px;
    text-transform: uppercase; }

.ds-aifiles {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--ds-line); }

.ds-aifiles-cap {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 700;
  color: var(--ds-muted);
  margin-bottom: 6px; }

.ds-aifile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0; }

.ds-aifile-name {
  font-size: 12.5px;
  color: var(--ds-text); }
  .ds-aifile-name > i {
    color: var(--ds-muted);
    font-style: normal;
    font-size: 11.5px; }

.ds-aifile-acts {
  display: flex;
  gap: 6px; }

.ds-aidl {
  padding: 3px 11px;
  border-radius: 10px;
  border: 1px solid var(--ds-line);
  background: var(--ds-grey);
  color: var(--ds-muted);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer; }
  .ds-aidl:hover {
    border-color: var(--ds-muted);
    color: var(--ds-text); }

/* O detalhe das consultas é para quem quiser conferir; fica fechado e discreto. */
.ds-aiqueries {
  margin-top: 10px;
  font-size: 12px; }
  .ds-aiqueries > summary {
    cursor: pointer;
    color: var(--ds-muted);
    font-size: 11.5px;
    outline: none; }

.ds-aiquery {
  margin-top: 8px; }

.ds-aiquery-head {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: baseline; }
  .ds-aiquery-head > strong {
    color: var(--ds-text); }
  .ds-aiquery-head > span {
    color: var(--ds-muted);
    font-size: 11.5px; }

.ds-aiquery-err {
  color: #c0392b; }

.ds-aiquery pre {
  font-size: 11px;
  max-height: 180px;
  overflow: auto;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  color: var(--ds-text);
  border-radius: 12px;
  margin-top: 5px; }

.ds-aithinking {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 20px;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  color: var(--ds-muted);
  font-size: 13px; }

/* A caixa de pergunta era um .input-group com o botão colado. */
.ds-aiask {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid var(--ds-line);
  background: var(--ds-card); }
  .ds-aiask > .ds-input {
    flex: 1 1 auto;
    min-width: 0; }
  .ds-aiask > .ds-btn {
    flex: 0 0 auto; }

/* O selector do modelo no cabeçalho: rótulo por cima, como nos formulários. */
.ds-aimodel {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-width: 260px; }

.ds-aimodel .ds-select {
  width: 100%; }

/* Estado do filtro (a carregar / total encontrado) à direita das acções. */
.ds-shfilter-state {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto; }
  .ds-shfilter-state > .ds-note {
    margin: 0; }

/* Botão dentro de uma linha de tabela: mais pequeno que o do formulário. */
.ds-btn--row {
  padding: 5px 12px;
  font-size: 11.5px;
  border-radius: 12px;
  white-space: nowrap; }

/* Célula sem valor: diz que não há, sem competir com as que têm. */
.ds-empty {
  color: var(--ds-muted);
  font-style: italic;
  font-size: 12.5px; }

/* ---- Bloqueio durante falha de servidor -----------------------------------
   Cobre a página inteira enquanto o aviso vermelho está no ecrã. Fica ABAIXO
   do .yb-health (z-index 20000) e acima de tudo o resto, para o próprio aviso
   e o botão Recarregar continuarem a funcionar — é a única saída, e uma
   camada que tapasse também a saída deixaria a aplicação sem escapatória.

   O cursor `not-allowed` é metade do trabalho: diz porque é que o clique não
   fez nada, antes de o utilizador tentar segunda vez. */
.yb-health-block {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 19999;
  background: rgba(10, 16, 26, 0.45);
  cursor: not-allowed;
  /* Sem transição de entrada: a falha deve notar-se de imediato, não aparecer
     devagarinho enquanto ainda se clica. */ }

/* ---- Animação de espera do newService ------------------------------------
   O <lottie-player> tinha 300x300 escritos no atributo style. Entre a caixa de
   cliente e as definições do serviço isso é meio ecrã de vazio à espera que se
   escolha um cliente — e a animação é um adorno, não é informação.

   Em vh e não em px: num portátil de 800px de altura, 300px eram 40% do ecrã
   útil; num monitor grande passavam despercebidos. Assim ocupa sempre a mesma
   fatia do que se vê, com um mínimo para não desaparecer de todo. */
.ds-lottie {
  padding: 6px 0; }
  .ds-lottie > lottie-player {
    width: 150px;
    height: 150px;
    max-height: 18vh;
    margin: 0 auto;
    display: block;
    /* O desenho cresce, a caixa nao: um transform pinta fora dos limites do
       elemento sem participar no layout, por isso o container mantem a altura
       de 150px que tinha. Mudar width/height aumentaria as duas coisas. */
    transform: scale(1.7); }

/* ---- Quadros largos: a barra horizontal ao alcance ------------------------
   Nos serviços activos e finalizados a tabela tem 27 e 20 colunas e dezenas de
   linhas. A barra de deslocamento horizontal ficava no fim do <div> que embrulha
   a tabela — ou seja, no fim de 56 linhas: para ver as colunas da direita era
   preciso descer a página até ao fundo, arrastar, e voltar a subir.

   Com altura máxima, a barra passa a estar no fundo da CAIXA VISÍVEL e está
   sempre ao alcance, sem sair do sítio onde se está a ler.

   Em vh e não em píxeis: a altura acompanha a janela sozinha — maximizar,
   restaurar, mudar de monitor, abrir as ferramentas do programador. Os 210px
   que se subtraem são o que está POR CIMA da tabela (barra de topo, título da
   página, margens do cartão), que não depende da altura da janela. */
.ds-wide-wrap {
  /* SEM altura maxima, e de proposito.
     Uma altura maxima fazia deste bloco um contentor com rolamento proprio, e
     isso punha uma segunda barra vertical encostada a da pagina — duas barras
     lado a lado no browser. Era o preco do cabecalho fixo, que so funciona com
     um contentor que role; sem altura maxima quem rola e a pagina.

     Ficou a decisao de trocar o cabecalho fixo pela barra a menos. A primeira
     coluna fixa MANTEM-SE: essa trabalha no eixo horizontal (left: 0, ver o
     .ds-wide mais acima) e nao depende de altura nenhuma. */
  /* So no eixo horizontal. Nota de CSS que vale a pena guardar: um contentor
     com overflow-x nao pode ter overflow-y: visible — o browser converte-o em
     auto. Aqui isso nao traz barra vertical porque, sem altura maxima, a caixa
     cresce com o conteudo e nunca ha nada que transborde na vertical. */
  overflow-x: auto; }

/* O cabeçalho fixo só é possível POR CAUSA da altura acima: o `sticky` precisa
   de um contentor que role, e sem altura máxima quem rolava era a página.
   Somado à primeira coluna fixa (.ds-wide), fica-se com as duas âncoras — a
   linha identificada à esquerda e as colunas identificadas em cima. */
/* Descendente e NAO filho directo (`>`): o DataTables embrulha a tabela num
   <div class="dataTables_wrapper"> assim que arranca — e a caixa de procura que
   se ve por cima do cabecalho e dele. Com `>` o selector deixava de apanhar a
   tabela a partir desse momento, e era por isso que o cabecalho nao fixava. */
.ds-wide-wrap .ds-wide > thead > tr > th {
  /* O `position: sticky; top: 0` saiu daqui com a altura maxima do contentor:
     sem contentor que role na vertical, nao havia nada a que fixar. O cabecalho
     passa a rolar com a pagina.

     O fundo SOLIDO fica. Ja nao e obrigatorio — nada passa por baixo de um
     cabecalho que nao esta fixo — mas e o que a tabela ja mostrava, e tira-lo
     mudava o aspecto sem necessidade. Solido e nao var(--ds-card) porque no
     tema escuro esse token e rgba(255,255,255,.03), quase transparente. */
  background: #ffffff; }

/* A primeira coluna e fixa nos dois eixos, por isso tambem precisa de fundo
   solido — o var(--ds-card) que tinha vinha do mesmo problema. */
/* A coluna fixa acompanha as mesmas cores: o cartao, e o cartao com a risca
   por cima (rgba(162,162,162,.06) do .table-striped, ja resolvida em cor solida
   — tem de ser opaca ou ve-se o resto da linha a passar por baixo). */
.theme-3 .ds-wide-wrap.is-x .ds-wide > tbody > tr > td:first-child {
  background: #35444c; }

.theme-3 .ds-wide-wrap.is-x .ds-wide.table-striped > tbody > tr:nth-of-type(odd) > td:first-child {
  background: #3b4a51; }

/* Este valor vinha da altura em que o cabecalho tambem era fixo e esta celula
   era o canto — cruzamento das duas fixacoes, tinha de ficar por cima das duas.
   O cabecalho deixou de fixar; a celula continua a ser a primeira coluna, e
   sobre as linhas ao lado tem de mandar. Condicionada como as outras, para nao
   ficar um z-index solto num elemento sem posicionamento. */
.ds-wide-wrap.is-x .ds-wide > thead > tr > th:first-child {
  z-index: 6; }

/* A tabela pede a largura de que precisa, com o minimo da caixa.
   Sem isto, ao passar para dentro de um contentor com overflow, a tabela
   (width auto) era comprimida ate caber: as colunas espremiam-se, o texto
   partia em varias linhas e a barra horizontal nunca chegava a aparecer,
   porque deixava de haver o que rolar. */
.ds-wide-wrap .ds-wide {
  width: max-content;
  min-width: 100%; }

/* Ao imprimir não há janela nem barras: a altura tem de cair, senão sai no
   papel só o pedaço que estava visível no ecrã. */
@media print {
  .ds-wide-wrap {
    max-height: none;
    min-height: 0;
    overflow: visible; }
  .ds-wide-wrap .ds-wide > thead > tr > th {
    position: static; }
  .ds-wide-wrap .ds-wide {
    width: 100%;
    min-width: 0; } }

/* ---- Fundo do cabeçalho fixo (segunda tentativa) --------------------------
   A primeira regra dependia de o <table> estar dentro do .ds-wide-wrap e de a
   cadeia thead > tr > th bater certo. Continuava transparente no tema escuro,
   e em vez de continuar a adivinhar qual é a peça que falha, esta versão pinta
   os TRÊS elementos (thead, tr e th) e não exige o contentor: basta a tabela
   ter a classe .ds-wide.

   Com !important de propósito: um cabeçalho fixo transparente é pior do que
   não ter cabeçalho fixo — deixa os títulos por cima dos dados e não se lê nem
   uma coisa nem outra. Aqui a certeza vale mais do que a elegância da cascata. */
.ds-wide > thead,
.ds-wide > thead > tr,
.ds-wide > thead > tr > th {
  background-color: #ffffff !important; }

/* O tema escuro força TODOS os cabeçalhos de tabela a transparente, com
   !important, no mixin is-dark() (common/mixins.scss:209). É deliberado e o
   comentário dele explica porquê: matar o branco que o DataTables injecta.
   Escrito como `.theme-3 .layout-container > main .table > thead > tr > th`,
   ganhava a tudo o que eu tentasse com menos peso — e era por isso que o
   cabeçalho continuava transparente por mais que eu insistisse.

   Aqui abre-se uma excepção só para estes quadros: um cabeçalho FIXO tem de
   ser opaco por definição, senão os títulos ficam por cima dos dados. Repete-se
   a estrutura da regra do tema e acrescenta-se `table` antes da classe, o que
   dá um elemento a mais de especificidade — o suficiente para ganhar, sem
   alterar a regra do tema, que continua certa para as tabelas normais. */
.theme-3 .layout-container > main table.ds-wide > thead,
.theme-3 .layout-container > main table.ds-wide > thead > tr,
.theme-3 .layout-container > main table.ds-wide > thead > tr > th {
  /* #35444c e a cor do proprio cartao no tema escuro — o valor que o
     .theme-3 .layout-container > main .card poe. Assim o cabecalho fixo nao se
     distingue do fundo da tabela: opaco, mas invisivel enquanto nao ha nada a
     passar por baixo. */
  background-color: #35444c !important; }

/* A linha de baixo do cabeçalho, para se perceber onde ele acaba quando está
   colado por cima dos dados. */
.ds-wide > thead > tr > th {
  box-shadow: inset 0 -1px 0 var(--ds-line); }

/* Painel de criar ponto: contentor flex para o `order` de cada cartão poder
   mandar. Os três primeiros (tipo, nome, endereço) não declaram order, ficam
   em 0 e o flexbox mantém-nos à frente — é assim que a restrição "só do Ver no
   mapa para baixo" se garante sozinha, sem código a verificá-la. */
.ds-pointcards {
  display: flex;
  flex-direction: column; }

/* A barra do smowden:offline-js fica escondida: o aviso passou a ser um só, o
   do serverHealthBanner, que já ouve o estado dele (ver serverHealth.js).
   O pacote continua a correr — é dele que vem a deteção rápida — só não
   desenha nada. Também se perde o botão "Reconnect" dele, e ainda bem: só
   re-executava a sonda própria e não tocava na ligação DDP da aplicação, que é
   quem tem mesmo de reatar. */
.offline-ui {
  display: none !important; }

/* ---- Guias (insertGuide, do lado do estafeta) -----------------------------
   Página de telemóvel, usada de pé e à pressa: alvos grandes, uma coluna, e
   cada acção com o seu nome. */
.ds-guides {
  padding-bottom: 24px; }

/* Campos maiores do que nas páginas de secretária: escreve-se aqui com o
   polegar, muitas vezes com luvas. */
.ds-guides .ds-guide-in {
  height: 46px;
  font-size: 15px;
  margin-bottom: 12px; }

.ds-guides select.ds-guide-in {
  height: 46px; }

/* Cada guia já apontada: número e destinatário à esquerda, o resto à direita,
   e o apagar sempre no mesmo sítio. Era uma pilha de etiquetas coloridas
   (info, primary, success, default) sem hierarquia nenhuma. */
.ds-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ds-line); }

.ds-guide:last-child {
  border-bottom: 0; }

.ds-guide-id {
  display: flex;
  flex-direction: column;
  min-width: 0; }
  .ds-guide-id > strong {
    font-size: 15px;
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere; }
  .ds-guide-id > span {
    font-size: 12.5px;
    color: var(--ds-muted); }

.ds-guide-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap; }

.miniPhotoGuide {
  width: 34px;
  height: 34px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--ds-line); }

.ds-guide-photo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 6px; }

/* Esconder a miniatura enquanto nao ha fotografia — mas SO dentro do painel do
   estafeta. A regra estava sem contexto, como `.photoGuide:not([src])`, e a
   classe .photoGuide e usada tambem no backoffice, no <div> que revela a
   fotografia da guia (points.html). Um <div> nunca tem atributo src, por isso
   o :not([src]) apanhava-o sempre e mantinha-o com display:none — o olho
   deixava de abrir a fotografia, e foi esta regra que o partiu. */
.ds-guide-photo .photoGuide:not([src]),
.ds-guide-photo .photoGuide[src=""] {
  display: none; }

.ds-guide-photo .photoGuide {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: var(--ds-radius-s);
  border: 1px solid var(--ds-line); }

/* Acções: acrescentar é a que se carrega dezenas de vezes por serviço, por
   isso é a verde e a primeira. Limpar tudo é destrutiva e fica no fim. */
.ds-guideacts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px; }

.ds-guideact {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px; }

.ds-guideact--del {
  color: #c0392b; }

.ds-guideact--del:hover {
  border-color: #c0392b;
  color: #c0392b; }

@media (max-width: 380px) {
  .ds-guideacts {
    grid-template-columns: minmax(0, 1fr); } }

/* ---- Tabela das guias, no detalhe do ponto (backoffice) -------------------
   As celulas usavam a cor por omissao do tema, que no escuro fica cinzento
   sobre cinzento: o local, os volumes e o nome de quem recebe liam-se com
   dificuldade ou nem isso. Passam a token, que se inverte com o tema. */
.ds-guidestable > thead > tr > th {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 700;
  color: var(--ds-muted);
  border-bottom: 1px solid var(--ds-line) !important; }

.ds-guidestable > tbody > tr > td {
  color: var(--ds-text);
  font-size: 13px;
  vertical-align: middle;
  border-top: 1px solid var(--ds-line) !important; }

/* A LINHA e branca dentro de uma pagina escura — vem de um .bg-white acima.
   Nao chega mudar a cor do texto: se se pusesse texto claro sobre a linha
   branca ficava igualmente invisivel, so que ao contrario (foi o que aconteceu
   a minha primeira tentativa). Pinta-se a linha E o texto, com peso suficiente
   para vencer o .bg-white, que tambem usa !important. */
.theme-3 .layout-container > main table.ds-guidestable > thead > tr > th,
.theme-3 .layout-container > main table.ds-guidestable > tbody > tr > td {
  background-color: #35444c !important;
  color: #dfe5ec !important; }

.theme-3 .layout-container > main table.ds-guidestable > tbody > tr:hover > td {
  background-color: #3b4a51 !important; }

/* O numero da guia era uma etiqueta cor-de-rosa forte; e o dado principal da
   linha, mas nao e um alarme. */
.ds-guidestable .label.bg-pink-500 {
  background: var(--ds-grey) !important;
  color: var(--ds-ink) !important;
  border: 1px solid var(--ds-line);
  font-size: 12.5px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 10px; }

.theme-3 .layout-container > main .ds-guidestable .label.bg-pink-500 {
  color: #eaeff5 !important; }

/* Os tres botoes de accao (ver, editar, apagar) vinham cada um na sua coluna,
   com fundos diferentes. Ficam iguais e juntos. */
.ds-guidestable .btn-flat-icon {
  background: transparent !important;
  box-shadow: none !important;
  border: 0;
  padding: 4px 8px; }

.ds-guidestable .btn-flat-icon em {
  font-size: 17px; }

/* Segunda tentativa para as celulas das guias no tema escuro, sem depender da
   cadeia .layout-container > main: a regra anterior exigia essa estrutura e o
   ecra do serviceDetail pode nao a ter igual. Aqui basta o .theme-3 no body e
   a classe na tabela. */
.theme-3 table.ds-guidestable > thead > tr > th,
.theme-3 table.ds-guidestable > tbody > tr > td,
.theme-3 table.ds-guidestable > tbody > tr:nth-of-type(odd) > td {
  background-color: #35444c !important;
  color: #dfe5ec !important; }

.theme-3 table.ds-guidestable > thead > tr > th {
  color: #9dabb9 !important; }

/* O tema tem `.table .table { background-color: #fff }` — uma tabela aninhada
   dentro de outra fica branca. A tabela das guias vive dentro da tabela dos
   pontos, e era esse branco que aparecia em qualquer sitio onde nao houvesse
   uma celula por cima: o rectangulo branco no canto do cabecalho, onde faltava
   um <th>. O <th> foi acrescentado, mas o fundo tem de deixar de ser branco de
   qualquer maneira — senao volta a aparecer a proxima vez que as colunas
   nao baterem certo. */
.theme-3 table.ds-guidestable,
.theme-3 .table table.ds-guidestable {
  background-color: #35444c !important; }

/* A linha de edicao de uma guia tem dois <select> SEM classe nenhuma. Sem
   .form-control, o tema escuro nao lhes toca: herdam a cor clara do texto de
   `.theme-3 .layout-container > main` e ficam com o fundo branco por omissao do
   browser — letras brancas sobre branco. */
.theme-3 table.ds-guidestable select,
.theme-3 table.ds-guidestable input.form-control {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: #dfe5ec !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: var(--ds-radius-s);
  height: 34px;
  padding: 0 8px; }

/* As opcoes do menu sao desenhadas pelo sistema operativo, que nao herda o
   fundo do <select>: sem isto abriam brancas com texto branco. */
.theme-3 table.ds-guidestable select option {
  background-color: #35444c;
  color: #dfe5ec; }

/* ---- Guias no cartao do estafeta (myPoints) ------------------------------- */
.ds-mguide-kv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 3px 0; }
  .ds-mguide-kv > span {
    font-size: 12px;
    color: var(--ds-muted);
    flex: 0 0 auto; }
  .ds-mguide-kv > strong {
    font-size: 13.5px;
    text-align: right;
    overflow-wrap: anywhere;
    min-width: 0; }

/* A fotografia abre dentro do proprio cartao. */
.ds-mguide-photo {
  padding: 10px;
  border-top: 1px solid var(--ds-line);
  text-align: center; }
  .ds-mguide-photo > img {
    max-width: 100%;
    max-height: 60vh;
    border-radius: var(--ds-radius-s);
    display: block;
    margin: 0 auto 10px; }

/* ---- Accoes do ponto (myPoints, lado do estafeta) -------------------------
   Eram oito .col-xs-6 iguais: quatro filas de dois, todas com o mesmo peso.
   A grelha e de SEIS colunas para caber filas de 2 e de 3 sem embrulhar cada
   botao num <div> proprio — os blocos condicionais do Blaze ficam filhos
   directos da grelha, e um <div> extra a volta partia a fila.

   O .yb-act (app.scss:651) ja trata do botao em si: coluna, largura 100% e
   icone fixo em 26px que anula o fa-3x do HTML. Aqui so se trata do arranjo. */
.ds-dracts {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin: 14px 0 4px;
  clear: both;
  /* os .col-* anteriores deixam floats */
  /* meia largura */
  /* um terco */
  /* largura toda */
  /* O .btn do Bootstrap traz margens que descoseriam a grelha. */ }
  .ds-dracts > .ds-dract-2 {
    grid-column: span 3; }
  .ds-dracts > .ds-dract-3 {
    grid-column: span 2; }
  .ds-dracts > .ds-dract-6 {
    grid-column: 1 / -1; }
  .ds-dracts > .yb-act {
    margin: 0 !important;
    min-width: 0; }

/* ---- Botoes de icone: centrar o glifo -------------------------------------
   O .btn-flat-icon centra o icone com um truque antigo (buttons-extra.scss:65):
   height 32px + line-height 32px no <em>, com padding 0. So funciona enquanto
   ninguem lhe acrescentar padding — e a regra das tabelas de guias, aqui em
   baixo, acrescenta. Com box-sizing: border-box a caixa de conteudo cai para
   24px a comecar 4px abaixo, e o <em> continua a exigir uma linha de 32px: o
   glifo transborda por baixo e o icone aparece encostado ao fundo.

   Passa a centrar por flexbox, que nao depende de o padding ser zero. Mesma
   especificidade da regra original e mais abaixo no ficheiro, portanto ganha. */
.btn-flat.btn-flat-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center; }

.btn-flat.btn-flat-icon > em {
  line-height: 1; }

/* ---- Assinatura do ponto --------------------------------------------------
   Serve os dois lados: o detalhe do ponto no backoffice (points.html) e o ponto
   aberto do estafeta (myPoints.html). A assinatura e traco escuro sobre fundo
   transparente, por isso o fundo TEM de ser claro nos dois temas — no escuro,
   sobre a cor da pagina, era traco preto sobre quase preto. */
.ds-sigrow {
  margin-top: 10px; }

.ds-sigbox {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  background-color: #fff;
  text-align: center; }
  .ds-sigbox > img {
    max-width: 100%;
    max-height: 40vh;
    display: block;
    margin: 0 auto 10px; }

/* ---- Tipo do ponto: recolha ou entrega (myPoints) -------------------------
   As cores vem das variaveis definidas em datatable.scss (.collectionColorBG /
   .deliveryColorBG). A barra da esquerda existe para quando o cracha ja saiu do
   ecra: a rolar, continua a dizer-lhe em que tipo de ponto esta. */
.ds-point {
  border-left: 4px solid var(--pt-cor, transparent);
  border-radius: 9px;
  background-color: var(--pt-fundo, transparent); }

/* No ponto ja executado a barra vai no .media, que nao tem o .ds-point. */
.media.collectionColorBG,
.media.deliveryColorBG {
  border-left: 4px solid var(--pt-cor, transparent);
  padding-left: 10px; }

.ds-ptbadge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 5px 12px;
  border-radius: 999px;
  background-color: var(--pt-cor, var(--ds-muted));
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase; }
  .ds-ptbadge > i {
    font-size: 14px; }

/* O botao que fecha o ponto. Em linha — icone ao lado do texto — para ocupar a
   largura toda sem ficar alto, e assim distingue-se dos outros a olho. */
.yb-act--wide {
  flex-direction: row !important;
  min-height: 58px;
  gap: 10px; }
  .yb-act--wide > i, .yb-act--wide > i.fa {
    margin-bottom: 0 !important; }
  .yb-act--wide > span {
    font-size: 14px !important; }

/* ---- Barras de rolamento --------------------------------------------------
   Nao havia UMA unica regra de scrollbar em todo o projecto. O que se via eram
   as barras do sistema: 15px de largura, cinzento claro, desenhadas para um
   fundo branco. No tema escuro chamavam mais a atencao do que o conteudo, e
   onde apareciam duas lado a lado o efeito duplicava.

   Finas, sem setas, arredondadas e com a cor a sair da paleta do tema. O truque
   do `border` transparente com `background-clip: content-box` e o que da a
   folga a volta do polegar: sem ele a barra fica encostada as margens e volta a
   parecer uma peca do sistema operativo colada por cima da aplicacao.

   Deliberadamente GLOBAL: serve a pagina, as tabelas largas, a barra lateral e
   as caixas de dialogo, porque o incomodo e o mesmo em todas. */
html {
  scrollbar-width: thin;
  /* Firefox */
  scrollbar-color: rgba(123, 135, 148, 0.45) transparent;
  /* polegar / calha */ }

::-webkit-scrollbar {
  width: 11px;
  height: 11px; }

::-webkit-scrollbar-track {
  background: transparent; }

::-webkit-scrollbar-corner {
  background: transparent; }

::-webkit-scrollbar-thumb {
  background-color: rgba(123, 135, 148, 0.45);
  border-radius: 12px;
  border: 3px solid transparent;
  background-clip: content-box; }

::-webkit-scrollbar-thumb:hover {
  background-color: rgba(123, 135, 148, 0.72); }

/* Tema escuro: claro sobre escuro, e com menos opacidade — sobre um fundo
   escuro o mesmo contraste pesa muito mais do que sobre branco. */
body.theme-3 {
  scrollbar-color: rgba(220, 230, 240, 0.26) transparent; }

.theme-3 ::-webkit-scrollbar-thumb {
  background-color: rgba(220, 230, 240, 0.26); }

.theme-3 ::-webkit-scrollbar-thumb:hover {
  background-color: rgba(220, 230, 240, 0.48); }

/* ---- Colunas de accao fixas a direita (tabelas largas) --------------------
   Nas tabelas de servicos as accoes vivem nas tres ultimas colunas — motorista
   e respostas, mapa, editar e cancelar. Com vinte e sete colunas, chegar la
   obrigava a rolar ate ao fim da tabela para apanhar a barra horizontal, puxar
   para a direita e voltar a subir a procura da linha certa.

   As tres passam a acompanhar a margem direita, como a primeira ja acompanha a
   esquerda. Fixam-se as TRES, e nao so a dos botoes: se fosse so essa, as duas
   a direita dela ficariam permanentemente escondidas por baixo.

   O `right` de cada uma depende da largura das que estao a sua direita, e essas
   larguras so se sabem em execucao. Vem em variaveis que o wideTablePin.js
   calcula e escreve no contentor — tres propriedades num elemento, e nao um
   estilo em cada celula de cada linha.

   SO com a classe .is-x, que o mesmo modulo poe apenas quando a tabela nao cabe
   na largura visivel. Em ecra grande, onde se ve tudo, nao ha nada a fixar. */
.ds-wide-wrap.is-pin .ds-wide > thead > tr > th.ds-wide-pin-1,
.ds-wide-wrap.is-pin .ds-wide > tbody > tr > td.ds-wide-pin-1 {
  position: sticky;
  right: var(--pin1, 0px); }

.ds-wide-wrap.is-pin .ds-wide > thead > tr > th.ds-wide-pin-2,
.ds-wide-wrap.is-pin .ds-wide > tbody > tr > td.ds-wide-pin-2 {
  position: sticky;
  right: var(--pin2, 0px); }

.ds-wide-wrap.is-pin .ds-wide > thead > tr > th.ds-wide-pin-3,
.ds-wide-wrap.is-pin .ds-wide > tbody > tr > td.ds-wide-pin-3 {
  position: sticky;
  right: var(--pin3, 0px); }

.ds-wide-wrap.is-pin .ds-wide > thead > tr > th[class*="ds-wide-pin-"],
.ds-wide-wrap.is-pin .ds-wide > tbody > tr > td[class*="ds-wide-pin-"] {
  z-index: 2;
  /* Opaco por obrigacao: e o resto da linha que passa por baixo. Solido e nao
     var(--ds-card), que no tema escuro e rgba(255,255,255,.03). */
  background: #ffffff; }

.ds-wide-wrap.is-pin .ds-wide > thead > tr > th[class*="ds-wide-pin-"] {
  z-index: 3; }

.theme-3 .ds-wide-wrap.is-pin .ds-wide > tbody > tr > td[class*="ds-wide-pin-"] {
  background: #35444c; }

.theme-3 .ds-wide-wrap.is-pin .ds-wide.table-striped > tbody > tr:nth-of-type(odd) > td[class*="ds-wide-pin-"] {
  background: #3b4a51; }

.theme-3 .ds-wide-wrap.is-pin .ds-wide > thead > tr > th[class*="ds-wide-pin-"] {
  background: #35444c; }

/* A sombra a esquerda do bloco fixo diz que ha conteudo a passar por baixo —
   espelho da que a primeira coluna ja tem do lado de dentro. */
.ds-wide-wrap.is-pin .ds-wide > thead > tr > th.ds-wide-pin-1::before,
.ds-wide-wrap.is-pin .ds-wide > tbody > tr > td.ds-wide-pin-1::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 6px;
  transform: translateX(-100%);
  pointer-events: none;
  background: linear-gradient(to left, rgba(16, 25, 40, 0.1), rgba(16, 25, 40, 0)); }

.theme-3 .ds-wide-wrap.is-pin .ds-wide > thead > tr > th.ds-wide-pin-1::before,
.theme-3 .ds-wide-wrap.is-pin .ds-wide > tbody > tr > td.ds-wide-pin-1::before {
  background: linear-gradient(to left, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)); }

/* ---- Interruptores no tema escuro ----------------------------------------
   O .switch desligado usa $ui-bg-color (#9e9e9e, cinzento claro) na pista e
   branco puro no botao, com sombra a condizer. Sobre fundo claro le-se como
   apagado; sobre o fundo escuro sao duas manchas claras a chamar a atencao para
   o estado que devia ser o discreto.

   So a COR muda. As medidas ficam onde estao (app.scss:78 para o geral,
   app.scss:807 para o .trackSwitch do rastreamento): ja tentei mexer-lhes uma
   vez e o resultado foi pior.

   O estado LIGADO nao se toca — e o que se quer ver de longe. */
.theme-3 .switch span {
  background-color: rgba(255, 255, 255, 0.14); }

.theme-3 .switch span:after {
  background-color: #b6c2cd;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.45); }

/* Desactivado: mais apagado ainda que o desligado, senao os dois estados
   inertes ficam iguais. O !important acompanha o da regra original. */
.theme-3 .switch input:disabled + span {
  background-color: rgba(255, 255, 255, 0.07) !important; }

.theme-3 .switch input:disabled + span:after {
  background-color: #7c8b98 !important; }

/* ---- Espera do mapa -------------------------------------------------------
   Ver imports/ui/components/maps/mapaEspera.js. A classe entra antes de o mapa
   ser criado e sai no `tilesloaded`; tudo o que se ve' esta' em ::before e
   ::after, para nao haver nos nossos dentro do contentor que a API do Google
   manipula.

   Os pseudo-elementos ficam POR CIMA dos filhos do mapa (sao gerados por ultimo
   na ordem do documento) — e' o que se quer enquanto carrega, e por isso e' que
   isto tem mesmo de sair por JS e nao ficar a espera de ser tapado. */
/* NAO se poe `position: relative` aqui. O contentor do rastreamento
   (.map-container, google-map.scss:199) e' `position: absolute`, e como o ds.scss
   carrega depois com a mesma especificidade, esta classe roubava-lhe a posicao e
   mudava-lhe o encaixe todo. Quem trata disto e' o JS, que so' mexe na posicao
   quando ela e' `static` — e a repoe ao sair. Ver mapaEspera.js. */
.ds-mapload::before {
  content: attr(data-mapload);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Empurra o texto para baixo do centro, para o spinner (::after) ficar por
     cima dele sem os dois se sobreporem. */
  padding-top: 44px;
  background: #eef1f5;
  color: #7b8794;
  font-size: 13px;
  letter-spacing: .01em; }

.theme-3 .ds-mapload::before {
  /* Solido e nao um token: por baixo disto nao ha' cartao nenhum — ha' o mapa,
     ou nada. Um rgba translucido deixava passar o cinzento do Google. */
  background: #1e2933;
  color: #9dabb9; }

.ds-mapload::after {
  content: '';
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 26px;
  height: 26px;
  margin: -31px 0 0 -13px;
  /* -13 = metade da largura; -31 sobe-o do centro */
  border-radius: 50%;
  border: 2px solid rgba(123, 135, 148, 0.28);
  border-top-color: var(--ds-green);
  animation: ds-mapload-spin .7s linear infinite; }

.theme-3 .ds-mapload::after {
  border-color: rgba(255, 255, 255, 0.16);
  border-top-color: var(--ds-green); }

@keyframes ds-mapload-spin {
  to {
    transform: rotate(360deg); } }

/* Mapas pequenos (o cartao "Ver no mapa" tem 300px, mas os ha' mais baixos):
   abaixo desta altura o texto e o spinner nao cabem sem se pisarem. Fica so' o
   fundo, que ja' resolve o essencial. */
.ds-mapload.gmap-sm::before {
  padding-top: 0;
  font-size: 0; }

.ds-mapload.gmap-sm::after {
  margin-top: -13px; }

/* ---- Selectores de data e hora no tema escuro -----------------------------
   Sao TRES coisas diferentes, e cada uma precisa da sua resposta:

   1. <input type="date"> — o calendario e' desenhado pelo BROWSER e nao ha' CSS
      nosso que lhe chegue. O que o Chromium aceita e' `color-scheme`, que lhe
      diz em que tema desenhar os controlos nativos. Sao 4 na aplicacao:
      leadsBoard, hrControl e os dois do mainLayout.
   2. bootstrap-datepicker — o calendario do newService/rebuild (o campo Data e'
      type="text" com plugin). DOM proprio, logo estiliza-se.
   3. clockpicker — o relogio redondo do campo Hora. Idem.
*/
/* 1. Nativos. Muda tambem o icone do calendario dentro do campo, que a` conta do
      tema claro saia preto sobre fundo escuro. */
.theme-3 input[type="date"],
.theme-3 input[type="time"],
.theme-3 input[type="datetime-local"],
.theme-3 input[type="month"],
.theme-3 input[type="week"] {
  color-scheme: dark; }

/* 2. bootstrap-datepicker */
.theme-3 .datepicker {
  background: #26333f;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.45);
  color: var(--ds-ink); }

.theme-3 .datepicker table tr td,
.theme-3 .datepicker table tr th {
  color: var(--ds-ink); }

.theme-3 .datepicker .datepicker-switch,
.theme-3 .datepicker .prev,
.theme-3 .datepicker .next {
  color: var(--ds-ink); }

.theme-3 .datepicker table tr td.day:hover,
.theme-3 .datepicker table tr td.focused,
.theme-3 .datepicker .datepicker-switch:hover,
.theme-3 .datepicker .prev:hover,
.theme-3 .datepicker .next:hover,
.theme-3 .datepicker tfoot tr th:hover {
  background: rgba(255, 255, 255, 0.1); }

/* Dias de fora do mes: presentes mas apagados, como no tema claro. */
.theme-3 .datepicker table tr td.old,
.theme-3 .datepicker table tr td.new {
  color: rgba(255, 255, 255, 0.32); }

.theme-3 .datepicker table tr td.active,
.theme-3 .datepicker table tr td.active:hover {
  background: var(--ds-green) !important;
  color: #1b2b0a !important;
  /* o lima e' claro: texto escuro por cima */
  text-shadow: none; }

.theme-3 .datepicker table tr td.today {
  background: rgba(190, 214, 47, 0.2);
  color: var(--ds-ink); }

/* A seta do balao aponta para o campo e tem de acompanhar o fundo. */
.theme-3 .datepicker.datepicker-dropdown:before {
  border-bottom-color: rgba(255, 255, 255, 0.18); }

.theme-3 .datepicker.datepicker-dropdown:after {
  border-bottom-color: #26333f; }

/* 3. clockpicker */
.theme-3 .clockpicker-popover {
  background: #26333f;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.45); }

.theme-3 .clockpicker-popover .popover-title {
  background: #202b35;
  color: var(--ds-ink);
  border-bottom-color: rgba(255, 255, 255, 0.1); }

.theme-3 .clockpicker-popover .popover-content {
  background: #26333f; }

/* O mostrador. O plate e' o circulo de fundo; os ticks sao os numeros. */
.theme-3 .clockpicker-plate {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.16);
  /* vinha #ccc, um anel claro no escuro */ }

.theme-3 .clockpicker-tick {
  color: var(--ds-ink); }

.theme-3 .clockpicker-tick:hover {
  background: rgba(255, 255, 255, 0.14); }

.theme-3 .clockpicker-button {
  background: #202b35;
  color: var(--ds-ink);
  border-top-color: rgba(255, 255, 255, 0.1); }

.theme-3 .clockpicker-button:hover {
  background: rgba(255, 255, 255, 0.1); }

/* O ponteiro e o alvo. Estas classes estao nos PROPRIOS <circle> do SVG, nao em
   contentores — por isso o `fill` vai directo, sem descendente. A biblioteca
   pinta-os de azul (rgb(0,149,221)); passam ao lima da marca, que e' o que o
   resto da aplicacao usa para o que esta' seleccionado. */
.theme-3 .clockpicker-canvas line {
  stroke: var(--ds-green); }

.theme-3 .clockpicker-canvas-fg,
.theme-3 .clockpicker-canvas-bearing {
  fill: var(--ds-green); }

.theme-3 .clockpicker-canvas-bg {
  fill: rgba(190, 214, 47, 0.32); }

.theme-3 .clockpicker-canvas-bg-trans {
  fill: rgba(190, 214, 47, 0.22); }

/* O numero por baixo do alvo tem de se ler sobre o lima, que e' claro. */
.theme-3 .clockpicker-tick.active,
.theme-3 .clockpicker-tick:active {
  color: #1b2b0a; }

/* ---- Mapas no tema escuro -------------------------------------------------
   O mapa do Google e branco e forte; ao lado de uma interface escura o ecra
   fica com uma mancha luminosa que puxa o olho para o sitio errado.

   Alvo: o .gm-style, que e a raiz que a API do Google cria em TODAS as paginas
   com mapa. Os contentores da aplicacao chamam-se cada um a sua maneira —
   .map-container, .gmap, .ds-geomap, #map-markers — e uma lista desses ficaria
   desactualizada assim que se acrescentasse um mapa novo.

   E um atenuador, nao um tema escuro a serio: escurece TAMBEM os marcadores e
   as etiquetas, porque um filtro nao sabe distinguir camadas. Um tema escuro
   verdadeiro faz-se com o array `styles` da API, mas isso obriga a tocar em
   oito ficheiros e a mante-los a par.

   Para afinar mexe-se so no numero: 1 e o mapa como vem, valores mais baixos
   escurecem mais. Abaixo de .7 os marcadores comecam a perder-se. */
.theme-3 .gm-style {
  filter: brightness(0.86) saturate(0.92); }

/* Os controlos e as janelas de informacao voltam ao normal: sao interface, nao
   mapa, e apagados custam a ler. */
.theme-3 .gm-style .gm-control-active,
.theme-3 .gm-style .gm-style-iw,
.theme-3 .gm-style .gm-style-iw-c,
.theme-3 .gm-style .gm-svpc {
  filter: brightness(1.16) saturate(1.09); }

/* ---- Listas de sugestoes no tema escuro -----------------------------------
   O menu do typeahead tinha as cores fixas no google-map.scss:52 — fundo
   #ffffff, texto #333333 e o azul do Bootstrap no realce. Sobre uma pagina
   escura abria um rectangulo branco no meio do ecra.

   Fundo SOLIDO (#35444c) e nao var(--ds-card): no tema escuro esse token e
   rgba(255,255,255,.03), e uma lista que flutua por cima do conteudo tem de
   tapar o que passa por baixo — com fundo translucido liam-se as sugestoes
   sobrepostas ao texto da pagina.

   Sao DUAS familias de caixas de sugestoes no projecto: o typeahead, em 19
   paginas, e o select2 no newService, no rebuildService e nas financas. */
/* --- typeahead --- */
.theme-3 span.twitter-typeahead .tt-menu,
.theme-3 span.twitter-typeahead .tt-dropdown-menu {
  background-color: #35444c;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45); }

.theme-3 span.twitter-typeahead .tt-suggestion {
  color: var(--ds-text); }

.theme-3 span.twitter-typeahead .tt-suggestion.tt-cursor,
.theme-3 span.twitter-typeahead .tt-suggestion:hover,
.theme-3 span.twitter-typeahead .tt-suggestion:focus {
  /* O azul do Bootstrap nao pertence a esta paleta. O verde da marca, esbatido,
     diz o mesmo sem introduzir uma cor que nao existe em mais lado nenhum. */
  background-color: rgba(190, 214, 47, 0.18);
  color: var(--ds-ink); }

/* O typeahead envolve em <strong> a parte que corresponde ao que se escreveu. */
.theme-3 span.twitter-typeahead .tt-suggestion strong,
.theme-3 span.twitter-typeahead .tt-highlight {
  color: var(--ds-green);
  font-weight: 700; }

/* --- select2 --- */
.theme-3 .select2-dropdown,
.theme-3 .select2-container--default .select2-dropdown {
  background-color: #35444c;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45); }

.theme-3 .select2-container--default .select2-results__option {
  background-color: transparent;
  color: var(--ds-text); }

.theme-3 .select2-container--default .select2-results__option[aria-selected="true"],
.theme-3 .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: rgba(190, 214, 47, 0.18);
  color: var(--ds-ink); }

/* A caixa de procura que o select2 abre dentro da propria lista. */
.theme-3 .select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: rgba(255, 255, 255, 0.06);
  border-bottom-color: rgba(255, 255, 255, 0.18);
  color: var(--ds-text); }

/* ---- Guardar localizacao (estafeta) ---------------------------------------
   Pagina usada na rua, num telemovel: uma lista de dez linhas no maximo, com o
   contador de vagas sempre a vista. */
.ds-mylocs-meter {
  margin: 14px 0 16px; }

.ds-mylocs-meterbar {
  height: 6px;
  border-radius: 6px;
  background: var(--ds-grey);
  overflow: hidden; }
  .ds-mylocs-meterbar > span {
    display: block;
    height: 100%;
    background: var(--ds-green);
    transition: width .25s ease; }

.ds-mylocs-metertxt {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  font-size: 12px;
  color: var(--ds-muted); }
  .ds-mylocs-metertxt > b {
    font-size: 15px;
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums; }

.ds-mylocs-vagas {
  margin-left: auto; }

.ds-mylocs-metertxt .ds-pill {
  margin-left: auto; }

.ds-mylocs-save {
  width: 100%;
  min-height: 46px; }

.ds-mylocs-save.disabled {
  opacity: .5;
  pointer-events: none; }

.ds-mylocs-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ds-line); }
  .ds-mylocs-item:last-child {
    border-bottom: 0; }

.ds-mylocs-when {
  display: flex;
  flex-direction: column;
  min-width: 0; }
  .ds-mylocs-when > b {
    font-size: 13.5px;
    color: var(--ds-ink); }
  .ds-mylocs-when > span {
    font-size: 12px;
    color: var(--ds-muted);
    font-variant-numeric: tabular-nums; }

/* Segundo plano: continuam la para quem precisa, sem competir com a data. */
.ds-mylocs-coords {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 11px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere; }

.ds-mylocs-acts {
  display: flex;
  gap: 6px;
  flex: 0 0 auto; }

@media (max-width: 520px) {
  /* No telemovel as coordenadas passam para baixo, em vez de espremerem os
     botoes contra a data. */
  .ds-mylocs-item {
    flex-wrap: wrap; }
  .ds-mylocs-coords {
    order: 3;
    flex-basis: 100%; } }

/* ---- Caixas de confirmacao -------------------------------------------------
   ATENCAO ao que renderiza. Ha TRES bibliotecas de popup neste projecto:

     sweetalert 1.1.3          npm, carregado como global (nao ha `import` dele
                               em lado nenhum — procurar por import nao o
                               encontra). Classes .sweet-alert / .sa-*.
     cleandersonlobo:sweetalert2   pacote Meteor. Classes .swal2-*.
     sweetalert2@11            CDN em client/head.html:12. Classes .swal2-* e
                               variaveis --swal2-* no :root.

   Quem DESENHA os popups da aplicacao e o PRIMEIRO — confirmado no browser: o
   elemento tem `class="sweet-alert showSweetAlert visible"`. As outras duas
   estao carregadas e nao aparecem. As regras .swal2-* aqui em baixo ficam para
   o caso de alguma chamada usar essas, mas nao sao as que contam.

   O que NAO se toca: as cores dos botoes de confirmar. Vem em `confirmButtonColor`
   nas 61 chamadas espalhadas pelo codigo — verde da marca nas accoes construtivas,
   vermelho nas destrutivas — e o SweetAlert aplica-as como estilo em linha, que
   ganha a qualquer folha. Alem disso ja estao certas: e a casca que estava mal.

   Os selectores levam `body.theme-3` a frente para vencerem o CSS injectado sem
   precisar de !important. */
body.theme-3 {
  --swal2-background: #35444c;
  --swal2-color: #dfe5ec;
  --swal2-backdrop: rgba(0, 0, 0, .58);
  --swal2-border-radius: 20px;
  --swal2-input-background: rgba(255, 255, 255, .06);
  --swal2-input-border: 1px solid rgba(255, 255, 255, .16);
  --swal2-input-focus-border: 1px solid #bed62f;
  --swal2-footer-border-color: rgba(255, 255, 255, .12);
  --swal2-footer-color: #9dabb9;
  --swal2-close-button-color: #9dabb9;
  --swal2-validation-message-background: rgba(229, 57, 53, .16);
  --swal2-validation-message-color: #ffb4b1; }

/* Fundo solido e sombra propria: o popup flutua por cima da pagina e tem de
   tapar o que passa por baixo. */
body.theme-3 .swal2-popup {
  background: #35444c;
  color: var(--ds-text);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55); }

body.theme-3 .swal2-title {
  color: var(--ds-ink); }

body.theme-3 .swal2-html-container {
  color: var(--ds-text); }

/* O botao de cancelar nao leva cor nas chamadas: fica com o cinzento claro do
   SweetAlert, que sobre o popup escuro se le como o botao principal — ao
   contrario do que e. Aqui passa a discreto, que e o seu papel. */
body.theme-3 .swal2-cancel {
  background: rgba(255, 255, 255, 0.08) !important;
  color: var(--ds-text) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important; }

body.theme-3 .swal2-cancel:hover {
  background: rgba(255, 255, 255, 0.14) !important; }

/* Nos dois temas: cantos e altura a condizer com o resto da interface, e um
   foco visivel que o SweetAlert nao da. */
.swal2-popup {
  border-radius: 20px; }

.swal2-styled {
  border-radius: 13px;
  min-height: 40px;
  font-weight: 600; }

.swal2-styled:focus {
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.35) !important; }

/* A barra do temporizador — varias chamadas usam `timer` — passa a verde da
   marca em vez do preto translucido, que no escuro nao se via. */
body.theme-3 .swal2-timer-progress-bar {
  background: rgba(190, 214, 47, 0.55); }

/* ---- SweetAlert v1: o que REALMENTE desenha os popups ---------------------
   Classes .sweet-alert / .sa-*. O popup e filho directo do <body>, que e onde
   esta o .theme-3, por isso `.theme-3 .sweet-alert` chega — duas classes contra
   a classe unica da biblioteca. */
.theme-3 .sweet-overlay {
  background-color: rgba(0, 0, 0, 0.58) !important; }

.theme-3 .sweet-alert {
  background-color: #35444c;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.55);
  color: var(--ds-text); }

/* Cantos a condizer com os cartoes, nos dois temas. Vinham a 5px. */
.sweet-alert {
  border-radius: 20px; }

.theme-3 .sweet-alert h2 {
  color: var(--ds-ink); }

.theme-3 .sweet-alert p,
.theme-3 .sweet-alert .sa-content,
.theme-3 .sweet-alert fieldset {
  color: var(--ds-text); }

.theme-3 .sweet-alert input {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: var(--ds-text);
  box-shadow: none; }

.theme-3 .sweet-alert input:focus {
  border-color: var(--ds-green);
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.25); }

.theme-3 .sweet-alert .sa-input-error::before,
.theme-3 .sweet-alert .sa-input-error::after {
  background-color: #ff7a72; }

.theme-3 .sweet-alert .sa-error-container {
  background-color: rgba(229, 57, 53, 0.16);
  color: #ffb4b1; }

/* O CANCELAR nao leva cor nas chamadas e ficava com o cinzento claro da
   biblioteca: sobre o popup escuro passava a ser o botao mais claro dos dois,
   ou seja lia-se como o principal — ao contrario do que e.
   O !important e obrigatorio: a v1 escreve a cor no estilo em linha. */
.theme-3 .sweet-alert button.cancel {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--ds-text) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important; }

.theme-3 .sweet-alert button.cancel:hover {
  background-color: rgba(255, 255, 255, 0.14) !important; }

/* O CONFIRMAR nao se toca: as chamadas passam-lhe `confirmButtonColor` — verde
   da marca nas construtivas, vermelho nas destrutivas — e essa cor carrega
   significado. Um !important aqui apagava o vermelho dos avisos de apagar. */
/* Cantos e altura dos botoes iguais aos do resto da interface, e um foco
   visivel, que a biblioteca nao da a quem navega por teclado. */
.sweet-alert button {
  border-radius: 13px !important;
  min-height: 40px;
  font-weight: 600; }

.sweet-alert button:focus {
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.35) !important; }

/* ---- Explicacoes que abrem e fecham (.ds-help) -----------------------------
   Um sumario onde se carrega e um bloco de texto que abre por baixo. Serve as
   definicoes: sao 91 campos, e explicar cada um por extenso encheria a pagina
   ate ninguem encontrar nada.

   Construido sobre <details>/<summary> do proprio HTML, e nao com JavaScript.
   Tres razoes: abre e fecha sem uma linha de codigo, e portanto nao pode partir
   com um redesenho do Blaze; o teclado e os leitores de ecra ja sabem lidar com
   ele; e o conteudo esta la mesmo quando fechado, por isso a procura do browser
   (Ctrl+F) encontra-o. */
.ds-help {
  margin-top: 12px;
  border-top: 1px solid var(--ds-line);
  padding-top: 10px; }

.ds-help > summary {
  cursor: pointer;
  list-style: none;
  /* o triangulo e desenhado por nos */
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ds-ink);
  user-select: none;
  padding: 2px 0; }

.ds-help > summary::-webkit-details-marker {
  display: none; }

/* O triangulo: aponta para a direita fechado, para baixo aberto. Feito com
   bordas em vez de um caracter, para nao depender da fonte instalada. */
.ds-help > summary::before {
  content: '';
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-left: 5px solid currentColor;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform .15s ease; }

.ds-help[open] > summary::before {
  transform: rotate(90deg) translateX(1px); }

.ds-help > summary:hover {
  color: var(--ds-green-d); }

.ds-help > summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.35);
  border-radius: 9px; }

.ds-help-body {
  padding: 10px 0 2px 13px;
  /* alinhado com o texto do sumario */
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ds-muted); }
  .ds-help-body > p {
    margin: 0 0 9px; }
  .ds-help-body > p:last-child {
    margin-bottom: 0; }
  .ds-help-body b, .ds-help-body strong {
    color: var(--ds-text);
    font-weight: 700; }
  .ds-help-body code {
    font-family: Menlo, Consolas, monospace;
    font-size: 11.5px;
    background: var(--ds-grey);
    padding: 1px 5px;
    border-radius: 6px;
    color: var(--ds-text); }

/* A ultima linha de uma explicacao e muitas vezes a ressalva — "estes valores
   sao indicativos", "so afecta o estafeta". Fica mais apagada de proposito. */
.ds-help-note {
  color: var(--ds-muted);
  opacity: .75;
  font-style: italic; }

/* ---- Tabelas aninhadas dentro dos cartoes de definicoes -------------------
   Mesma armadilha da tabela das guias: o tema tem `.table .table {
   background-color: #fff }`, e uma tabela dentro de outra fica branca. A tabela
   das faixas da agenda de GPS vive dentro da tabela do cartao, e por isso
   aparecia como um rectangulo branco no meio do tema escuro — com o cabecalho
   em texto claro por cima, ou seja ilegivel.

   Fundo transparente em vez de uma cor: assim mostra o do cartao, seja ele qual
   for, e nao ha um segundo tom a manter a par. */
.theme-3 table.ds-settingstable table.table,
.theme-3 table.ds-settingstable table.table > thead > tr > th,
.theme-3 table.ds-settingstable table.table > tbody > tr > td,
.theme-3 table.ds-settingstable table.table > tbody > tr:nth-of-type(odd) > td {
  background-color: transparent !important;
  color: var(--ds-text); }

/* O cabecalho e rotulo, nao conteudo: mais pequeno e mais apagado, como nas
   outras tabelas do design system. */
.theme-3 table.ds-settingstable table.table > thead > tr > th {
  color: var(--ds-muted) !important;
  font-size: 11.5px;
  font-weight: 700;
  border-bottom-color: var(--ds-line) !important; }

.theme-3 table.ds-settingstable table.table > tbody > tr > td {
  border-top-color: var(--ds-line) !important; }

/* ---- Menus suspensos no tema escuro ---------------------------------------
   O .dropdown-menu do Bootstrap traz fundo branco, texto escuro e rebordo
   claro. No tema escuro abria um rectangulo branco — o menu da conta, no canto
   superior direito, era o mais visivel porque e o que se usa todos os dias.

   A regra e geral e nao so para esse menu: o problema e o mesmo em qualquer
   suspenso da aplicacao, e uma lista de excepcoes ficaria desactualizada ao
   primeiro menu novo.

   Fundo SOLIDO — quarta vez que isto aparece hoje. Um menu flutua por cima do
   conteudo e tem de o tapar; com o token translucido liam-se as duas camadas
   sobrepostas. */
.theme-3 .dropdown-menu {
  background-color: #35444c;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45); }

.theme-3 .dropdown-menu > li > a {
  color: var(--ds-text); }

.theme-3 .dropdown-menu > li > a:hover,
.theme-3 .dropdown-menu > li > a:focus {
  background: rgba(255, 255, 255, 0.07);
  color: var(--ds-ink); }

.theme-3 .dropdown-menu .divider {
  background-color: rgba(255, 255, 255, 0.1); }

.theme-3 .dropdown-menu .dropdown-header {
  color: var(--ds-muted); }

/* Cantos a condizer com os cartoes, nos dois temas. Vinham a 1px, que e
   praticamente esquadria e destoa de tudo o resto. */
.dropdown-menu {
  border-radius: 14px; }

.dropdown-menu > li:first-child > a {
  border-radius: 14px 14px 0 0; }

.dropdown-menu > li:last-child > a {
  border-radius: 0 0 14px 14px; }

/* Cabecalho do menu da conta: usava as variaveis SCSS do tema claro
   ($text-color), que nao se invertem. Passa aos tokens, que se invertem. */
.theme-3 .ds-hdrme-name {
  color: var(--ds-ink); }

.theme-3 .ds-hdrme-meta {
  color: var(--ds-muted); }

.theme-3 .ds-hdrme-meta > span {
  background: rgba(255, 255, 255, 0.1);
  color: var(--ds-text); }

/* ---- Legenda das siglas das colunas ---------------------------------------
   Vai por cima das tabelas grandes, fechada. Nao tira espaco a tabela enquanto
   ninguem precisar dela, que era a condicao para poder existir numa pagina de
   uso diario. */
.ds-collegend {
  margin: 0 0 10px;
  border-top: 0;
  padding-top: 0; }

.ds-collegend-list {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 14px;
  margin: 0; }
  .ds-collegend-list > dt {
    font-weight: 700;
    color: var(--ds-ink);
    font-size: 12px;
    white-space: nowrap; }
  .ds-collegend-list > dd {
    margin: 0;
    color: var(--ds-muted);
    font-size: 12.5px;
    line-height: 1.45; }

/* Num telemovel duas colunas nao cabem: a sigla passa para cima da descricao. */
@media (max-width: 620px) {
  .ds-collegend-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 1px 0; }
  .ds-collegend-list > dd {
    margin-bottom: 8px; } }

/* Os baloes das colunas sao os NATIVOS do browser, desenhados a partir do
   atributo title. Nao ha biblioteca de tooltips neste projecto — nem a do
   Bootstrap nem a do jQuery UI — e por isso nao ha CSS que lhes toque: em
   tema escuro e o proprio browser que os desenha escuros.
   Tentei estiliza-los aqui e retirei; fica a nota para ninguem repetir. */
/* ---- Estado "por atribuir" nos botoes de servico ---------------------------
   Nove sitios do codigo devolvem `secondary label-outlined` como classe de cor
   quando a orbita do servico e `notAssigned` — services, finishedServices, os
   tres detalhes e as paginas de lojas.

   So que NENHUMA das duas classes existia para botoes:

     .btn-secondary   e do Bootstrap 4; este projecto usa o 3;
     .label-outlined  existe, mas so como `.label.label-outlined` — exige a
                      classe .label, que um <button> nao tem.

   Resultado: o botao ficava com o aspecto base, fundo claro, e o numero do
   servico em branco por cima — invisivel. Era o caso de todos os servicos ainda
   por atribuir, que sao precisamente os que precisam de atencao.

   Contorno em vez de cor cheia, de proposito: "por atribuir" nao e um estado
   que se anuncie, e assim distingue-se a olho dos que ja tem estafeta sem
   competir com eles. */
.btn.btn-secondary {
  background-color: transparent;
  border: 1px solid var(--ds-line);
  color: var(--ds-text);
  box-shadow: none; }

.btn.btn-secondary:hover,
.btn.btn-secondary:focus {
  background-color: var(--ds-grey);
  border-color: var(--ds-muted);
  color: var(--ds-ink); }

/* No tema escuro o rebordo por token fica quase invisivel sobre a linha da
   tabela; um pouco mais forte para o botao continuar a ler-se como botao. */
.theme-3 .btn.btn-secondary {
  border-color: rgba(255, 255, 255, 0.22);
  color: var(--ds-ink); }

/* ═══════════════════════════════════════════════════════════════════════════
   MONITOR DE SAUDE (.ds-monitor)
   Substitui o conservativeMemoryManagement.css (738 linhas), eliminado: o
   sistema proibe CSS por pagina. Tudo aqui usa os tokens, por isso mudar uma
   cor da marca propaga tambem a esta pagina.
   ═══════════════════════════════════════════════════════════════════════════ */
.ds-monitor .ds-mon-updated {
  margin-left: auto;
  font-size: 12px;
  color: var(--ds-muted); }

/* --- Cartao de indicador -------------------------------------------------- */
/* Numero grande com rotulo por cima e nota por baixo. A nota e onde vai o que
   o numero NAO diz sozinho (ex.: a que ligacoes sobe o proximo container) --
   sem ela um indicador e so um numero sem contexto. */
.ds-monitor .ds-metric {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 108px;
  justify-content: center; }

.ds-monitor .ds-metric-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-muted); }

.ds-monitor .ds-metric-value {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.ds-monitor .ds-metric-note {
  font-size: 12px;
  color: var(--ds-muted);
  min-height: 16px; }

/* Tinta suave, nao alarme: estes estados sao informativos (esta perto de
   escalar), nao avarias. O vermelho fica reservado para as linhas de tabela. */
.ds-monitor .ds-metric--warn {
  background: rgba(243, 156, 18, 0.06); }

.ds-monitor .ds-metric--info {
  background: rgba(18, 37, 73, 0.04); }

/* No tema escuro o azul-tinta a 4% desaparece sobre ardosia (e' quase a cor do
   fundo) e o ambar precisa de mais corpo. Sobe-se a opacidade e troca-se o azul
   por branco: o que se quer e' levantar o cartao do fundo, nao pinta-lo. */
.theme-3 .ds-monitor .ds-metric--warn {
  background: rgba(243, 156, 18, 0.14); }

.theme-3 .ds-monitor .ds-metric--info {
  background: rgba(255, 255, 255, 0.07); }

/* --- Nivel de perigo de um valor (CPU / memoria) ---------------------------
   Verde / amarelo / vermelho conforme os limiares das Definicoes (app e BD
   separados). Pastilha a volta do numero, e nao a linha inteira: uma linha
   pode ter o CPU verde e a memoria vermelha, e e' isso que se quer ver. */
.ds-monitor .ds-lvl {
  display: inline-block;
  padding: 1px 8px;
  border-radius: var(--ds-radius-s);
  font-weight: 600;
  white-space: nowrap; }

.ds-monitor .ds-lvl--ok {
  background: rgba(190, 214, 47, 0.22);
  color: #4d5a0c; }

.ds-monitor .ds-lvl--warn {
  background: rgba(243, 156, 18, 0.2);
  color: #8a5a00; }

.ds-monitor .ds-lvl--danger {
  background: rgba(214, 69, 65, 0.18);
  color: #a3302d; }

.theme-3 .ds-monitor .ds-lvl--ok {
  background: rgba(190, 214, 47, 0.18);
  color: #d6ea6a; }

.theme-3 .ds-monitor .ds-lvl--warn {
  background: rgba(243, 156, 18, 0.22);
  color: #ffc766; }

.theme-3 .ds-monitor .ds-lvl--danger {
  background: rgba(214, 69, 65, 0.28);
  color: #ff9a96; }

/* --- Selector de janela dos graficos --------------------------------------
   SEM o prefixo .ds-monitor: o mesmo selector serve o monitor de saude e o
   painel de presenca (hrControl), e provavelmente qualquer grafico futuro.
   Preso a uma pagina, na outra os botoes ficavam sem estilo nenhum -- que e'
   exactamente o que acontecia: caixas cinzentas por omissao do browser.

   Aceita .is-active e .is-on: o primeiro e' o nome deste componente, o segundo
   e' a convencao ja' usada pelos .ds-modebtn. Suportar os dois evita que uma
   pagina fique silenciosamente sem estado activo por ter escolhido o outro. */
.ds-range {
  margin-left: auto;
  display: inline-flex;
  gap: 4px; }

.ds-rangebtn {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: var(--ds-radius-s);
  padding: 4px 12px;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s; }

.ds-rangebtn:hover {
  border-color: var(--ds-green);
  color: var(--ds-ink); }

.ds-rangebtn.is-active,
.ds-rangebtn.is-on {
  background: var(--ds-green);
  border-color: var(--ds-green);
  /* --ds-ink-bg e nao --ds-ink: o segundo e' cor de TEXTO e inverte-se no tema
     escuro, o que daria quase-branco sobre verde-claro. Este fica escuro nos
     dois temas, que e' o que o verde da marca precisa por baixo. */
  color: var(--ds-ink-bg);
  font-weight: 600; }

/* No tema escuro o --ds-card e' branco a 3% -- quase invisivel, e o botao deixa
   de se ler como botao. Sobe-se o fundo e a borda o suficiente para ter forma,
   sem competir com o botao activo. */
.theme-3 .ds-rangebtn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 .ds-rangebtn:hover {
  background: rgba(255, 255, 255, 0.11);
  border-color: var(--ds-green); }

/* --- Graficos ------------------------------------------------------------- */
/* O flot exige altura EXPLICITA no contentor: sem isto desenha 0px e a pagina
   aparece com espacos em branco onde deviam estar os graficos. */
.ds-monitor .ds-chart {
  width: 100%;
  height: 190px;
  margin-bottom: 18px; }

.ds-monitor .ds-chart-label {
  font-size: 12px;
  color: var(--ds-muted);
  margin: 10px 0 6px; }

/* --- Explicativos (<details> nativo) -------------------------------------- */
/* Usa-se o elemento nativo em vez de um acordeao em JS: funciona sem script,
   e o browser trata do teclado e do leitor de ecra sem codigo nenhum. */
.ds-monitor .ds-acc {
  border-top: 1px solid var(--ds-line);
  padding: 2px 0; }

.ds-monitor .ds-acc:first-of-type {
  border-top: 0; }

.ds-monitor .ds-acc > summary {
  cursor: pointer;
  padding: 12px 0;
  font-weight: 600;
  color: var(--ds-ink);
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px; }

.ds-monitor .ds-acc > summary::-webkit-details-marker {
  display: none; }

.ds-monitor .ds-acc > summary::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 5px solid var(--ds-muted);
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  transition: transform .15s;
  flex: none; }

.ds-monitor .ds-acc[open] > summary::before {
  transform: rotate(90deg); }

.ds-monitor .ds-acc > summary:hover {
  color: var(--ds-green-d); }

/* --ds-text e nao uma cor fixa: no tema escuro o cinzento de papel (#4a5568)
   fica quase invisivel sobre ardosia. Este token e' #2b3440 no claro e #dfe5ec
   no escuro, por isso o texto le-se nos dois sem regra .theme-3 nenhuma. */
.ds-monitor .ds-acc-body {
  padding: 0 0 16px 14px;
  color: var(--ds-text);
  font-size: 13px;
  line-height: 1.65; }

.ds-monitor .ds-acc-body p {
  margin: 0 0 10px; }

.ds-monitor .ds-acc-body ul {
  margin: 0 0 10px;
  padding-left: 18px; }

.ds-monitor .ds-acc-body li {
  margin-bottom: 5px; }

.ds-monitor .ds-acc-body code {
  background: var(--ds-grey);
  border-radius: 6px;
  padding: 1px 5px;
  font-size: 12px;
  color: var(--ds-ink); }

/* --- Escolha de destinatarios --------------------------------------------- */
.ds-monitor .ds-mon-recipients {
  height: 132px;
  padding: 6px; }

@media (max-width: 760px) {
  .ds-monitor .ds-metric-value {
    font-size: 24px; }
  .ds-monitor .ds-chart {
    height: 150px; }
  .ds-monitor .ds-mon-updated {
    width: 100%;
    margin: 4px 0 0; } }

/* --- hrControl: grafico de separadores e linha escolhivel ------------------ */
/* O flot exige altura EXPLICITA no contentor; sem isto desenha 0px. */
.ds-hrchart {
  width: 100%;
  height: 210px;
  margin: 6px 0 4px; }

/* Linhas da tabela de ligacoes: clicaveis para escolher a pessoa do grafico.
   O cursor e' o unico aviso de que a linha faz alguma coisa -- sem ele ninguem
   descobre que da' para clicar. */
.ds-hrpick {
  cursor: pointer; }

.ds-hrpick:hover {
  background: var(--ds-grey); }

/* A escolhida marca-se por uma barra a' esquerda, nao por fundo cheio: o fundo
   entraria em conflito com as tintas de estado (is-live / is-idle) que a mesma
   linha ja' pode ter. */
.ds-hrpick.is-picked > td:first-child {
  box-shadow: inset 3px 0 0 var(--ds-green); }

.ds-hrpick.is-picked {
  background: rgba(190, 214, 47, 0.08); }

.theme-3 .ds-hrpick:hover {
  background: rgba(255, 255, 255, 0.05); }

.theme-3 .ds-hrpick.is-picked {
  background: rgba(190, 214, 47, 0.12); }

@media (max-width: 760px) {
  .ds-hrchart {
    height: 160px; } }

/* --- Accao de texto dentro de uma celula de tabela ------------------------- */
/* NAO usar .ds-rowacts num <td>: essa classe e' `display:inline-flex` com
   `margin-top:14px`, feita para accoes dentro de um cartao. Numa celula tira-a
   do fluxo da tabela e empurra-a para baixo -- o rebordo da linha fica torto na
   ultima coluna. Esta e' a versao para tabelas: nao mexe no display da celula. */
.ds-cellact {
  border: 0;
  background: transparent;
  color: var(--ds-muted);
  font-size: 12px;
  padding: 2px 8px;
  border-radius: var(--ds-radius-s);
  cursor: pointer;
  transition: background .15s, color .15s; }

.ds-cellact:hover {
  background: var(--ds-grey);
  color: var(--ds-ink); }

.theme-3 .ds-cellact:hover {
  background: rgba(255, 255, 255, 0.09); }

/* --- Icone-botao dentro de uma celula de tabela ---------------------------- */
/* Irmao do .ds-rowact, com UMA diferenca deliberada: nao define `color`.
   Naquelas celulas a cor do icone e' INFORMACAO — na coluna do mapa vem de
   text-{{gpsActive.classCSS}} e diz se a posicao do driver esta fresca ou velha.
   Um botao que normalizasse a cor para --ds-muted apagava esse sinal, e ninguem
   daria por isso. Aqui so' se acrescenta a caixa e a resposta ao rato. */
/* Rebordo e fundo iguais aos do .isControlled/.buttonMessage: sao todos icones
   de accao dentro de celulas da mesma tabela e tem de se ler como a mesma
   familia. So' a caixa e' maior — o glifo do mapa e' maior que o do olho. */
.ds-cellbtn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--ds-line);
  border-radius: 12px;
  background: var(--ds-card);
  font-size: 20px;
  /* menos que os 30px do .bigIcon: dentro de uma caixa o
                           icone precisa de margem para a caixa se ler */
  line-height: 1;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; }

.ds-cellbtn:hover {
  background: var(--ds-grey);
  border-color: var(--ds-muted); }

.ds-cellbtn:active {
  background: var(--ds-line); }

/* No escuro o --ds-card e' branco a 3% — quase invisivel como fundo de botao. */
.theme-3 .ds-cellbtn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 .ds-cellbtn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.24); }

.theme-3 .ds-cellbtn:active {
  background: rgba(255, 255, 255, 0.16); }

/* Foco visivel: sendo agora um <button>, chega-se-lhe por teclado — e um foco
   invisivel e' pior do que nao ter foco nenhum. */
.ds-cellbtn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(190, 214, 47, 0.28); }

/* --- Barra de filtros de uma listagem ------------------------------------- */
.ds-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 12px; }

.ds-filters-sep {
  flex: 1 1 auto; }

.ds-filters-count {
  font-size: 12px;
  color: var(--ds-muted); }

/* ---- SweetAlert: icones animados no tema escuro --------------------------
   O icone de sucesso nao e' desenhado — e' ANIMADO. O anel verde esta sempre
   la' inteiro, e o efeito de "riscar" faz-se com rectangulos que TAPAM partes
   do anel enquanto rodam. Esses rectangulos sao BRANCOS, porque foram feitos
   para um modal branco: sobre papel sao invisiveis, sobre ardosia aparecem
   como uma faixa diagonal a atravessar o circulo.

   A correccao nao e' esconde-los — sem eles a animacao deixa de funcionar. E'
   pinta-los da cor do FUNDO DO MODAL (#35444c, definido acima em
   .theme-3 .sweet-alert), para voltarem a ser invisiveis.

   Vale para o sucesso e para o erro; os dois usam a mesma tecnica. */
/* Mascaras rotativas do circulo de sucesso */
.theme-3 .sweet-alert .sa-icon.sa-success::before,
.theme-3 .sweet-alert .sa-icon.sa-success::after,
.theme-3 .sweet-alert .sa-icon.sa-success .sa-fix,
.theme-3 .sweet-alert .sa-icon.sa-error::before,
.theme-3 .sweet-alert .sa-icon.sa-error::after {
  background-color: #35444c; }

/* O anel e o tracado do visto mantem o verde da marca, mas o anel fica mais
   discreto: a 20% de opacidade era pensado para contrastar com branco. */
.theme-3 .sweet-alert .sa-icon.sa-success {
  border-color: rgba(190, 214, 47, 0.45); }

.theme-3 .sweet-alert .sa-icon.sa-success .sa-placeholder {
  border-color: rgba(190, 214, 47, 0.45); }

.theme-3 .sweet-alert .sa-icon.sa-success .sa-line {
  background-color: var(--ds-green); }

/* Aviso e informacao: o corpo do icone e' so borda + risco, mas o ponto de
   exclamacao/i usa uma cor fixa que sobre escuro fica apagada. */
.theme-3 .sweet-alert .sa-icon.sa-warning {
  border-color: #f0c860; }

.theme-3 .sweet-alert .sa-icon.sa-warning .sa-body,
.theme-3 .sweet-alert .sa-icon.sa-warning .sa-dot {
  background-color: #f0c860; }

.theme-3 .sweet-alert .sa-icon.sa-info {
  border-color: #9dc0ff; }

.theme-3 .sweet-alert .sa-icon.sa-info::before,
.theme-3 .sweet-alert .sa-icon.sa-info::after {
  background-color: #9dc0ff; }

.theme-3 .sweet-alert .sa-icon.sa-error {
  border-color: #ff9d94; }

.theme-3 .sweet-alert .sa-icon.sa-error .sa-line {
  background-color: #ff9d94; }

/* ---- .btn-raised: sombra de hover ----------------------------------------
   PROBLEMA: common/buttons-extra.scss:83 poe, no hover/active,
   `box-shadow: 0 4px 8px 0 rgba(0,0,0,0.4) !important` — preto a 40%. E' uma
   sombra pesada, de outro vocabulario visual, e no tema escuro le-se como uma
   mancha suja em vez de elevacao. Nota-se sobretudo nas tabelas de servicos,
   onde o btn-openService aparece quatro vezes por linha.

   PORQUE E' AQUI E NAO LA: o buttons-extra.scss e' do tema, vendorizado. Editar
   la' significa perder a correccao na proxima actualizacao. A excepcao vive no
   design system, que e' onde as decisoes de aparencia devem morar.

   PORQUE LEVA !important: e' o unico peso que vence o !important de origem.
   Nao ha alternativa por especificidade — `!important` so' perde para outro.

   AMBITO: so' `.btn-raised`, ou seja, so' botoes que JA' tinham esta sombra.
   Nenhum botao ganha sombra por causa disto. */
.btn-raised {
  transition: box-shadow .15s ease, filter .15s ease; }

.btn-raised:hover, .btn-raised:active, .btn-raised.active {
  box-shadow: 0 2px 6px rgba(16, 25, 40, 0.16) !important; }

/* No escuro a sombra preta le-se mal — deixa-se so' um vestigio, para dar forma.

   NAO se usa `filter: brightness()` aqui, e a razao merece ficar escrita porque
   e' contra-intuitiva: os .btn coloridos do Bootstrap (btn-info, btn-warning,
   btn-danger...) JA' TEM resposta de hover — o mixin button-variant faz
   `darken(10%)` ao fundo. Clarear 12% por cima de um escurecimento de 10%
   ANULA-O: o botao deixava de mudar de cor e ficava so' a cintilar.

   Licao geral: antes de acrescentar uma resposta visual, ver se ja' existe uma.
   Duas a competir dao menos do que uma sozinha. */
.theme-3 .btn-raised:hover,
.theme-3 .btn-raised:active,
.theme-3 .btn-raised.active {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   EXPERIENCIA: forma unificada dos botoes em TODA a app
   ───────────────────────────────────────────────────────────────────────────
   O `.ds-btn` (metade dos botoes da aplicacao) usa raio 10px. O tema usa 2px
   (common/buttons-extra.scss:31). Com os dois vocabularios lado a lado no mesmo
   ecra — acontece no servicesHistory — a diferenca nota-se.

   ÂMBITO DELIBERADAMENTE ESTREITO. So se mexe no que NAO PODE alterar o
   modelo de caixa:
     ✔ border-radius  — puramente visual
     ✔ transition     — puramente visual
   Fica de FORA, de proposito:
     ✘ padding, font-size, height  — mudariam a largura e podiam partir colunas
                                     de tabela ou fazer quebrar texto
     ✘ font-weight                 — negrito e' mais largo; em celulas apertadas
                                     pode passar para duas linhas
     ✘ cor, border                 — a cor de 34 botoes e' SEMANTICA
                                     (btn-{{btnStatus}} e afins): verde/ambar/
                                     vermelho dizem o estado do servico, do GPS,
                                     da bateria. Uniformizar apagava informacao
                                     do ecra.

   EXCLUSOES: btn-circle e' redondo por desenho (ja' protegido por !important),
   btn-oval e' pilula por desenho, e btn-labeled tem uma etiqueta lateral cujo
   raio e' calculado a partir do raio do botao — mexer desalinhava as duas.

   PARA REVERTER: apagar este bloco. Nao depende de nada nem nada depende dele.
   ═══════════════════════════════════════════════════════════════════════════ */
/* O `!important` no raio nao e' capricho: o app.scss tem DUAS regras `.btn` com
   `!important` a fixar o raio — `0` na linha 285 (codigo morto, anulada pela
   seguinte) e `4px` na linha 639, que e' a que vencia. E como o ds.scss e'
   importado no app.scss LINHA 72, ou seja ANTES dessas duas, nao havia forma de
   ganhar por ordem de origem.
   Com `!important` dos dois lados decide a ESPECIFICIDADE, e este selector tem
   quatro classes contra uma. A transicao nao precisa de `!important`: ninguem
   a disputa. */
/* O `btn-oval` ENTRA. Tinha-o excluido por assumir que era pilula por desenho —
   `.btn-oval` extende btn-pill-left/right, que poem raio 50px. Mas essas regras
   NAO tem `!important` e perdem para o `.btn { border-radius: 6px !important }`
   do app.scss: na pratica os `btn-oval` renderizavam a 4px como todos os outros.
   Excluí-los era protege-los de uma correccao de que precisavam igualmente.

   Sao os botoes do numero do servico, do rebuild e do cancelar — os mais
   visiveis das tabelas. */
.btn:not(.btn-circle):not(.btn-labeled) {
  border-radius: 14px !important;
  transition: background-color .15s ease, border-color .15s ease,
 box-shadow .15s ease, color .15s ease; }

/* Excepcao deliberada, ja documentada no design system: o numero do servico e'
   uma PASTILHA, nao um botao rectangular. E' o identificador da linha e ganha em
   destacar-se do resto. A regra existia (`.ds-list .btn-openService`) mas nunca
   chegou a ver-se, pelo mesmo motivo acima — faltava-lhe peso. */
.btn-openService {
  border-radius: 999px !important; }

/* ---- Icones-accao das tabelas de servicos --------------------------------
   O olho (.isControlled) e o aviao (.buttonMessage) sao <span> nus com
   `cursor: pointer` inline. Clicam-se, mas nada no aspecto o diz: sao icones
   soltos, sem area propria, e o alvo de clique e' so' o desenho do glifo.

   Passam a ler-se como botoes pequenos. FEITO SO' POR CSS: o JS liga-se a estas
   classes e o markup fica intacto — nao ha risco de partir bindings.

   Ganham tambem area de clique a serio (28x28 em vez do glifo), o que importa
   numa tabela onde estao encostados a outros elementos.

   So' existem em services.html e finishedServices.html — alcance contido. */
.isControlled,
.buttonMessage {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 12px;
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease; }

.isControlled:hover,
.buttonMessage:hover {
  border-color: var(--ds-muted);
  background: var(--ds-grey); }

/* O `ml-sm` do tema poe 8px de margem esquerda; entre dois botoes encostados
   4px chega e mantem-nos a ler como um par. */
.buttonMessage.ml-sm, .buttonMessage.mh-sm {
  margin-left: 4px !important; }

/* No escuro o --ds-card e' branco a 3% — quase invisivel como fundo de botao.
   Sobe-se o suficiente para o botao ter forma sem competir com a linha. */
.theme-3 .isControlled,
.theme-3 .buttonMessage {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 .isControlled:hover,
.theme-3 .buttonMessage:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.24); }

/* ---- Favorito do finishedServices ----------------------------------------
   Mesmo tratamento do olho e do aviao: <span> nu com `cursor: pointer` inline,
   que se clica mas nada no aspecto o diz.

   ÂMBITO POR TABELA, e a razao importa: a classe `.favorite` aparece em DOIS
   sitios com naturezas opostas —
     #datatable3        (finishedServices) → ALTERNA o favorito, e' accao
     #datatableHistory  (servicesHistory)  → so' MOSTRA o estado, e' leitura
   Dar forma de botao ao segundo seria mentir: convidava a clicar numa coisa que
   nao responde. Por isso a regra prende-se ao id da tabela e nao a' classe.

   O icone vem de um helper reactivo (ion-android-favorite / -outline conforme o
   estado), por isso nao se lhe toca — so' na caixa a' volta. */
#datatable3 .favorite {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 12px;
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  font-size: 15px;
  line-height: 1;
  vertical-align: middle;
  transition: background-color .15s ease, border-color .15s ease; }

#datatable3 .favorite:hover {
  border-color: var(--ds-muted);
  background: var(--ds-grey); }

.theme-3 #datatable3 .favorite {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 #datatable3 .favorite:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.24); }

/* Nota de espera do historico: aparece so' passados alguns segundos, para
   explicar que a demora e' normal. Discreta de proposito — e' contexto, nao
   aviso de avaria. */
.ds-shstate-hint {
  max-width: 460px;
  margin: 8px auto 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ds-muted); }

/* Texto do estado de carregamento. Existe porque a classe que la' estava —
   .loaderM — nao e' texto: e' um spinner de 11em com text-indent:-9999em, que
   escondia tudo o que lhe metessem dentro. */
.ds-shstate-txt {
  margin: 10px 0 0;
  font-size: 14px;
  color: var(--ds-muted); }

.ds-shstate-txt b {
  color: var(--ds-text);
  font-variant-numeric: tabular-nums; }

/* ---- Renderizacao incremental do historico -------------------------------- */
.ds-shmore {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 16px 8px 4px;
  border-top: 1px solid var(--ds-line);
  margin-top: 4px; }

.ds-shmore-txt {
  font-size: 12px;
  color: var(--ds-muted); }

.ds-shmore-txt b {
  color: var(--ds-text);
  font-variant-numeric: tabular-nums; }

/* ---- Busca no que ja' esta carregado (topo da tabela) ---------------------
   .ds-shSEARCH e nao .ds-shFILTER: essa ja' existe e e' o CARTAO inteiro dos
   filtros do topo (linha ~2334, declarada vazia de proposito). Redefini-la com
   `display:flex` desmontou a grelha dos campos e dos botoes — os campos
   empilharam-se em coluna com metade do ecra vazio ao lado. */
.ds-shsearch {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px; }

.ds-shsearch > em {
  color: var(--ds-muted);
  font-size: 16px;
  flex: none; }

.ds-shsearch > .ds-input {
  flex: 1 1 auto;
  max-width: 460px; }

.ds-shsearch-txt {
  font-size: 12px;
  color: var(--ds-muted);
  white-space: nowrap; }

/* A caixa de busca a trabalhar. NAO se usa `disabled`: desactivar um input
   TIRA-LHE O FOCO, e a pessoa que estava a escrever perde o cursor a meio da
   palavra. Sinaliza-se sem interromper — a escrita continua a ser aceite e o
   travao de 250ms trata do resto. */
.ds-shsearch .ds-input.is-busy {
  opacity: .75;
  border-color: var(--ds-green); }

/* ---- Historico: coluna Nº fixa a esquerda --------------------------------
   O .ds-salestable ja' fixava `thead > tr > th:first-child`, mas as celulas do
   corpo nao — a coluna correspondente e' `.ds-salestable-name`, que esta tabela
   nao usa. Resultado: o titulo "Nº" ficava parado e os numeros passavam-lhe por
   baixo. Meia coisa, pior do que nenhuma.

   Fixa-se por selector e nao por classe nova, para nao ser preciso tocar no
   markup de cada linha.

   Fundo SOLIDO por obrigacao: e' o resto da linha que passa por baixo, e o
   var(--ds-card) no tema escuro e' branco a 3% — deixaria ver tudo atraves. */
.ds-shtable > tbody > tr > td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #ffffff; }

.ds-shtable > thead > tr > th:first-child {
  background: #ffffff;
  z-index: 3; }

.theme-3 .ds-shtable > tbody > tr > td:first-child,
.theme-3 .ds-shtable > thead > tr > th:first-child {
  background: #35444c; }

/* ═══════════════════════════════════════════════════════════════════════════
   ESTADO VAZIO DAS TABELAS (.ds-nodata)
   ───────────────────────────────────────────────────────────────────────────
   Substitui os lottie-player de 300x300 das tabelas de servicos. Tres razoes:

   1. Vinham de assets1.lottiefiles.com — um CDN externo. Numa aplicacao de
      trabalho, o ecra de "nao ha nada" nao devia depender da internet de
      terceiros: se o CDN falhar ou estiver bloqueado, fica um buraco.
   2. Trezentos pixels quadrados de decoracao para uma informacao que cabe em
      duas linhas.
   3. Falavam outro vocabulario visual — traco, cores e movimento proprios, sem
      relacao com os cartoes.

   Aqui o desenho e SVG em linha, feito com os tokens da marca. Sem rede, sem
   descarregar nada, e acompanha o tema. O movimento e um pulsar discreto — nao
   um video em ciclo.
   ═══════════════════════════════════════════════════════════════════════════ */
.ds-nodata {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 48px 24px 56px;
  text-align: center; }

.ds-nodata-art {
  width: 96px;
  height: 72px;
  color: var(--ds-muted);
  margin-bottom: 10px; }

/* O unico elemento com movimento. Lento e de amplitude curta: e' um sinal de
   vida, nao um chamariz — nada aqui pede accao urgente. */
.ds-nodata-dot {
  transform-origin: 72px 52px;
  animation: ds-nodata-pulsar 2.4s ease-in-out infinite; }

@keyframes ds-nodata-pulsar {
  0%, 100% {
    transform: scale(1);
    opacity: .9; }
  50% {
    transform: scale(1.18);
    opacity: .5; } }

/* Quem pediu ao sistema para reduzir animacoes nao leva nenhuma. */
@media (prefers-reduced-motion: reduce) {
  .ds-nodata-dot {
    animation: none; } }

.ds-nodata-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--ds-ink); }

.ds-nodata-txt {
  margin: 0;
  max-width: 420px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--ds-muted); }

/* ═══════════════════════════════════════════════════════════════════════════
   CARTAO DE BOAS-VINDAS DA CRIACAO DE SERVICO (.ds-welcome)
   ───────────────────────────────────────────────────────────────────────────
   Substitui o lottie aleatorio. Aparece so' enquanto NAO ha pontos e some assim
   que entra o primeiro — e' para quem chega, nao mobilia para quem ja sabe. Um
   guia permanente poluia uma maquina que se usa dezenas de vezes por dia.

   Mais ESTREITO do que o contentor e centrado: um bloco a toda a largura pesa
   como seccao da pagina; recuado das margens le-se como um aviso de passagem.

   Os passos entram UM A UM por atraso em CSS, nao por JavaScript. O bloco so' e'
   construido quando nao ha pontos, portanto a animacao corre uma vez e nunca se
   repete enquanto se trabalha.
   ═══════════════════════════════════════════════════════════════════════════ */
.ds-welcome {
  position: relative;
  max-width: 300px;
  /* 4px em cima e nao 22: o espaco ja vem do p-lg do bloco do cliente acima, e
     somar margem afastava o cartao para o meio do vazio. */
  margin: 4px auto 26px;
  padding: 18px 20px;
  /* TRACEJADA, e e' esta a decisao que faz o trabalho todo. No sistema, borda
     solida = coisa que se manipula — e logo abaixo deste cartao estao o BASE e
     o TIPO DE VEICULO, que sao escolhas com exactamente esse aspecto. Tracejada
     le-se de imediato como provisorio e informativo, e desfaz a confusao sem
     precisar de explicar nada. */
  border: 1px dashed var(--ds-line);
  border-radius: var(--ds-radius);
  /* Fundo mais esbatido do que o dos cartoes de escolha, pela mesma razao. */
  background: rgba(255, 255, 255, 0.55); }

/* ---- Alfinete ----
   Cabeca (::before) e agulha (::after), ACIMA da borda e nao sobre ela: a
   sobrepor teria de se mascarar o tracejado por tras, e a cor do fundo desta
   zona muda com o tema. Assente por cima, prende na mesma e nao depende de
   adivinhar a cor do que esta atras.

   Sem rotacao do cartao: daria ar de post-it mas brigava com o alinhamento
   vertical rigoroso de tudo o resto na coluna. */
.ds-welcome::before {
  content: '';
  position: absolute;
  top: -11px;
  left: 50%;
  transform: translateX(-50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--ds-green); }

.ds-welcome::after {
  content: '';
  position: absolute;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 9px;
  background: var(--ds-green);
  opacity: .45; }

.ds-welcome-cap {
  margin: 0 0 12px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ds-muted);
  text-align: center; }

.ds-welcome-step {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 0;
  font-size: 13px;
  color: var(--ds-ink);
  opacity: 0;
  transform: translateY(6px);
  animation: ds-welcome-entrar 0.42s cubic-bezier(0.22, 0.61, 0.36, 1) forwards; }

.ds-welcome-step.is-1 {
  animation-delay: .10s; }

.ds-welcome-step.is-2 {
  animation-delay: .45s; }

.ds-welcome-step.is-3 {
  animation-delay: .80s; }

@keyframes ds-welcome-entrar {
  to {
    opacity: 1;
    transform: translateY(0); } }

/* ---- Linha que liga os numeros ----
   Diz SEQUENCIA. Escolhas nunca tem linha a uni-las — radios e checkboxes sao
   irmaos independentes. Uma linha vertical transforma tres itens soltos num
   percurso, e percursos fazem-se por ordem.
   E, numa empresa de estafetas, uma linha a ligar pontos numerados e' uma rota:
   a metafora e' da casa, nao emprestada.

   Desenha-se de cima para baixo, no intervalo entre a entrada de um passo e a
   do seguinte. O ultimo nao tem linha: nao ha para onde continuar. */
.ds-welcome-step:not(:last-child)::before {
  content: '';
  position: absolute;
  left: 11px;
  /* centro do circulo de 24px, menos metade da linha */
  top: 29px;
  /* logo abaixo do circulo */
  width: 2px;
  height: 0;
  background: var(--ds-green);
  opacity: .4;
  animation: ds-welcome-linha .3s ease forwards; }

.ds-welcome-step.is-1::before {
  animation-delay: .32s; }

.ds-welcome-step.is-2::before {
  animation-delay: .67s; }

@keyframes ds-welcome-linha {
  to {
    height: 12px; } }

.ds-welcome-n {
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: var(--ds-green);
  /* --ds-ink-bg e nao --ds-ink: o segundo e cor de TEXTO e inverte-se no tema
     escuro, o que daria quase-branco sobre verde-claro. */
  color: var(--ds-ink-bg); }

/* Quem pediu ao sistema para reduzir animacoes ve tudo de imediato, ja ligado. */
@media (prefers-reduced-motion: reduce) {
  .ds-welcome-step {
    animation: none;
    opacity: 1;
    transform: none; }
  .ds-welcome-step:not(:last-child)::before {
    animation: none;
    height: 12px; } }

.theme-3 .ds-welcome {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.14); }

/* ═══════════════════════════════════════════════════════════════════════════
   ZONA TRANCADA ATE UMA ESCOLHA OBRIGATORIA (.ds-lockzone)
   ───────────────────────────────────────────────────────────────────────────
   Par do .ds-pick: aquele assinala o campo que tem de ser preenchido, este
   trata do que so faz sentido DEPOIS dele. A descricao do .ds-pick no
   design-system.md ja dizia "bloqueia o resto do formulario" — faltava a peca
   que o bloqueava de facto.

   Usado no newService: enquanto nao ha cliente, as definicoes do servico ficam
   esbatidas e sem resposta. Ao escolher, tudo acende ao mesmo tempo, e esse
   acender explica a regra melhor do que qualquer aviso escrito.
   ═══════════════════════════════════════════════════════════════════════════ */
.ds-lockzone {
  /* A transicao esta no estado NORMAL e nao no trancado: e' a passagem para
     livre que se quer ver, e essa acontece quando a classe SAI. */
  transition: opacity .35s ease, filter .35s ease; }

.ds-lockzone.is-locked {
  opacity: .38;
  /* Dessaturar tira o verde ja aceso do "Carro", que era o que mais fazia
     parecer que a escolha estava feita e valia. */
  filter: grayscale(0.6);
  /* Nem rato nem teclado. Sem isto ficava so' bonito: continuava a ser possivel
     carregar num radio e a pessoa concluia, com razao, que o bloqueio era falso. */
  pointer-events: none;
  user-select: none; }

/* ---- Cabecalho do reconstruir servico (.ds-rbhead) ------------------------
   O titulo tinha `class="blink"`: piscava permanentemente. Um titulo
   intermitente le-se como alarme, cansa quem passa por aqui varias vezes ao
   dia, e — por estar sempre presente — nao assinala coisa nenhuma. A distincao
   face ao "Novo servico" faz-se pela chave inglesa em cor de aviso, que esta
   la' sem se mexer.

   O fechar era um ion-close-circled a 3x dentro de um <sup>, vermelho cheio:
   pesava mais do que o titulo que fechava. E o vermelho ali nao quer dizer
   perigo — quer dizer "sair". Fica discreto e so' ganha cor no hover, que e'
   quando a intencao ja existe. */
/* Identificacao do servico que se esta a reconstruir (#usersClient, montado em
   rebuildService.js). O numero situa; o nome do cliente e' o que o operador tem
   de confirmar antes de enviar — por isso e' o unico que leva peso e cor cheia. */
/* Espaco vertical da faixa da identificacao, agora num sitio so'. Alinha-se
   pela esquerda com os 24px do .p-lg dos cartoes de baixo, mesmo estando o texto
   centrado — se um dia deixar de estar, ja' nasce no sitio certo. */
.ds-rbsvc-wrap {
  padding: 12px 24px 8px; }

.ds-rbsvc {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  /* O tamanho vinha do <h4> que envolvia isto e que saiu com o encaixe de seis
     niveis. Fica aqui como valor proprio: o mesmo 18px do h4 do tema, mas sem
     depender de uma etiqueta que estava la' por causa da grelha e nao do texto. */
  font-size: 18px; }

.ds-rbsvc-nr {
  font-weight: 400;
  color: var(--ds-muted); }

.ds-rbsvc-sep {
  color: var(--ds-line); }

.ds-rbsvc-cli {
  font-weight: 600;
  color: var(--ds-ink);
  /* letra ligeiramente maior que o numero, sem crescer a caixa: o baseline do
     flex mantem as duas linhas assentes na mesma base. */
  font-size: 1.08em; }

.ds-rbhead {
  display: flex;
  /* flex-start e nao center: com subtitulo, o titulo passou a duas linhas e o
     X descia para o meio do bloco em vez de ficar alinhado com o topo. */
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  /* O cabecalho estava dentro de um .row que nao servia para nada (um so filho,
     sem colunas) e cujo unico efeito era a margem negativa de -15px do Bootstrap:
     16px do .content-heading menos 15 deixava a chave inglesa a 1px da margem,
     colada. O .row saiu do template; aqui somam-se os 8px que faltam para os 16
     do .content-heading chegarem aos 24px do .p-lg, que e' onde comecam os
     cartoes por baixo. Titulo e cartoes passam a assentar na mesma linha. */
  padding: 0 8px; }

.ds-rbhead-txt {
  min-width: 0; }

/* SEM font-size nem font-weight: o titulo leva as classes `m0 text-thin` do
   tema, as mesmas do "Novo servico". Impor tamanho aqui era voltar a separar
   duas paginas que se querem irmas. So se acrescenta o alinhamento do icone. */
.ds-rbhead-title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ds-ink); }

.ds-rbhead-title > em {
  flex: none;
  font-size: .9em;
  /* Cor de aviso no icone: e' ISTO que distingue esta pagina do "Novo servico",
     em vez do piscar que la' estava. Fica no simbolo e nao no texto — o titulo
     tem de se ler como titulo, nao como alerta. */
  color: #f0a92f; }

.ds-rbhead-sub {
  margin-bottom: 0; }

.ds-rbhead-close {
  flex: none;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ds-line);
  border-radius: 50%;
  background: transparent;
  color: var(--ds-muted);
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease; }

.ds-rbhead-close:hover {
  border-color: #e05a50;
  color: #e05a50;
  background: rgba(224, 90, 80, 0.1); }

.theme-3 .ds-rbhead-close:hover {
  background: rgba(224, 90, 80, 0.16); }

/* ───────────────────────────────────────────────────────────────────────────
   COLUNAS DOS FICHEIROS EXPORTADOS
   Janela de escolha rápida, ao lado dos botões de exportação do histórico.
   ─────────────────────────────────────────────────────────────────────────── */
/* O atalho vive numa fila de botões: alinha-se com eles e não compete com
   eles — é um link, não um quinto botão. */
.ds-linkhelp {
  align-self: center;
  margin-left: 4px;
  font-size: 12.5px;
  text-decoration: underline;
  text-underline-offset: 2px;
  color: var(--ds-muted, #6b7a8a); }
  .ds-linkhelp:hover, .ds-linkhelp:focus {
    color: var(--ds-accent, #2f80ed); }

.ds-colstable {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  /* Quarenta e quatro linhas não cabem num ecrã: a janela rola, o cabeçalho
     fica. Sem isto perde-se a noção de qual das colunas é o CSV. */ }
  .ds-colstable th,
  .ds-colstable td {
    padding: 6px 10px;
    border-bottom: 1px solid var(--ds-line, #e3e8ee);
    text-align: left; }
  .ds-colstable th {
    font-size: 11.5px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ds-muted, #6b7a8a); }
  .ds-colstable thead th {
    position: sticky;
    top: 0;
    background: var(--ds-card, #fff);
    z-index: 1; }
  .ds-colstable tbody tr:hover td {
    background: var(--ds-hover, rgba(127, 127, 127, 0.06)); }

.ds-colstable-chk {
  width: 64px;
  text-align: center !important; }

/* ───────────────────────────────────────────────────────────────────────────
   CHAVE MESTRA
   Bloco partilhado (core/chaveMestra), usado nas definições do servidor e nas
   de preços. A chave só aparece a pedido e nunca fica guardada no browser.
   ─────────────────────────────────────────────────────────────────────────── */
.ds-mkeybox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-mkeybox-lbl {
  font-size: 11.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ds-muted, #6b7a8a); }

.ds-mkeybox-val {
  padding: 3px 10px;
  border: 1px solid var(--ds-line, #e3e8ee);
  border-radius: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  letter-spacing: 1px;
  background: var(--ds-bg, #f4f6f9); }

/* Escondida não é o mesmo que ausente: mantém a largura para o bloco não
   saltar quando alguém carrega em Mostrar. */
.ds-mkeybox-val--oculta {
  color: var(--ds-muted, #6b7a8a); }

.ds-mkeybox-nota {
  flex: 1 1 100%;
  font-size: 12px;
  color: var(--ds-muted, #6b7a8a); }

.ds-btn--xs {
  padding: 3px 10px;
  font-size: 12px; }

/* Ecrã de desbloqueio pela chave de administrador. */
.ds-unlock {
  max-width: 520px;
  margin-top: 18px; }

.ds-unlock-row {
  display: flex;
  gap: 8px;
  margin-top: 10px; }

.ds-unlock-row .ds-input {
  flex: 1 1 auto; }

.ds-unlock-erro {
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--ds-danger, #d64541); }

/* ───────────────────────────────────────────────────────────────────────────
   CÓDIGOS DE SEGUIMENTO (detalhe do serviço)
   ─────────────────────────────────────────────────────────────────────────── */
.ds-codigos {
  margin-top: 14px; }

.ds-codigo-linha {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ds-line, #e3e8ee); }
  .ds-codigo-linha:last-of-type {
    border-bottom: 0; }

.ds-codigo-tipo {
  min-width: 72px;
  font-size: 11.5px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ds-muted, #6b7a8a); }

.ds-codigo-nome {
  flex: 0 1 180px;
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.ds-codigo-val {
  padding: 3px 10px;
  border: 1px solid var(--ds-line, #e3e8ee);
  border-radius: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: 1px;
  background: var(--ds-bg, #f4f6f9); }

.ds-codigo-email {
  flex: 1 1 180px;
  min-width: 140px; }

.ds-codigos-aviso {
  font-size: 13px;
  color: var(--ds-danger, #d64541); }

/* ───────────────────────────────────────────────────────────────────────────
   PROPRIEDADE DA VIATURA (quem paga o combustível)
   Passo 1 da sobretaxa. Nesta versão não afecta cálculo nenhum: serve para
   acumular o dado com que, mais tarde, se decide quem recebe a sobretaxa.
   ─────────────────────────────────────────────────────────────────────────── */
.ds-own {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  white-space: nowrap; }

.ds-own--yourbox {
  background: var(--ds-green-l);
  color: var(--ds-green-ink); }

.ds-own--subcontracted {
  background: var(--ds-bg, #eef1f5);
  color: var(--ds-text, #2b3440); }

/* Por classificar não é um estado neutro — é trabalho por fazer, e tem de se
   ver de relance na lista. */
.ds-own--unknown {
  background: rgba(214, 69, 65, 0.12);
  color: #b3312d;
  /* 5,0:1 sobre o rosa palido; o #d64541 dava 3,6:1 */ }

.ds-ownbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 12px; }

.ds-ownbar-falta {
  font-weight: 600;
  color: var(--ds-danger, #d64541); }

.ds-ownbar-feito {
  color: var(--ds-muted, #6b7a8a); }

.ds-ownbar-filtro {
  width: auto;
  min-width: 180px; }

/* Sobretaxa por cliente. Ao contrario da propriedade da viatura, "desligada"
   NAO e um erro: e o estado correcto de quem ainda nao tem a clausula no
   contrato. Dai o tom neutro, e nao o vermelho do "por classificar". */
.ds-own--fs-on {
  background: var(--ds-green-l);
  color: var(--ds-green-ink); }

.ds-own--fs-off {
  background: var(--ds-bg, #eef1f5);
  color: var(--ds-muted, #6b7a8a); }

.ds-ownbar-conta {
  font-weight: 600;
  color: var(--ds-muted, #6b7a8a); }

/* A sobretaxa no detalhe do servico. Fica ao LADO dos precos e nunca dentro
   deles: o preco continua a ser o que a maquina de precos calculou. */
.ds-pill--fuel {
  background: var(--ds-green-l);
  color: var(--ds-green-ink);
  font-weight: 600; }

.ds-pill--fuel-off {
  background: var(--ds-bg, #eef1f5);
  color: var(--ds-muted, #6b7a8a);
  text-decoration: line-through; }

.ds-fuelbox {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  background: var(--ds-bg, #eef1f5);
  border-left: 3px solid var(--ds-green, #bdd52e); }

.ds-fuelbox--off {
  border-left-color: var(--ds-muted, #6b7a8a);
  opacity: .7; }

.ds-fuelbox-topo {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-weight: 600; }

.ds-fuelbox-topo b {
  font-size: 17px; }

.ds-fuelbox-aviso {
  font-style: italic; }

.ds-fuelacts {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 3px; }

.ds-fuelacts .ds-check {
  font-size: 12.5px; }

.ds-fuelacts-prev {
  margin-top: 4px;
  min-height: 18px;
  font-variant-numeric: tabular-nums; }

/* A sobretaxa dentro da celula do preco, nas listagens. Discreta de
   proposito: em centenas de linhas o que interessa e' o preco, e a
   sobretaxa e' um acrescimo pequeno e quase sempre igual. */
.ds-fuelmini {
  font-size: 10px;
  line-height: 1.3;
  color: #5d6f0f;
  /* 5,6:1 sobre branco; o tema escuro vira-o */
  font-variant-numeric: tabular-nums;
  white-space: nowrap; }

.ds-fuelmini--off {
  color: var(--ds-muted, #6b7a8a);
  text-decoration: line-through; }

/* O total a facturar. Nao compete com o preco em negrito acima -- e' o
   preco que toda a gente conhece e procura; o total e' a consequencia. */
.ds-fuelmini-tot {
  color: var(--ds-text, #2b3440);
  font-weight: 600; }

.ds-fuelmini--off .ds-fuelmini-tot {
  color: inherit; }

/* O total a facturar no detalhe: escrito como soma, para se ver de onde
   vem sem ter de o calcular de cabeca. */
.ds-fueltotal {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.08); }

.ds-fueltotal-conta {
  font-size: 12px;
  color: var(--ds-muted, #6b7a8a);
  font-variant-numeric: tabular-nums; }

.ds-fueltotal-val {
  font-size: 19px;
  font-weight: 700;
  font-variant-numeric: tabular-nums; }

/* O cartao do total a facturar destaca-se dos outros: e' o numero que sai
   na factura, e os do lado sao as parcelas. */
.ds-kpicard--total {
  border-left: 3px solid var(--ds-green, #bdd52e); }

/* A sobretaxa prevista, na caixa de preco da simulacao. Pequena: o que se
   esta' a decidir ali e' o preco, e a sobretaxa e' a consequencia. */
.ds-sim-fuel {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
  opacity: .95; }

/* O interruptor da sobretaxa na ficha do cliente: separado dos descontos
   porque nao e um desconto — e um encargo que o cliente passa a pagar. */
.ds-checks--destaque {
  padding: 12px 14px;
  margin-bottom: 14px;
  border-radius: 10px;
  background: var(--ds-bg, #eef1f5);
  border-left: 3px solid var(--ds-green, #bdd52e); }

/* Sobretaxa de combustível — alarme dos 5% do DL 239/2003. */
.ds-fuel--alerta {
  border-color: var(--ds-danger, #d64541); }

.ds-fuel-alerta {
  margin: 8px 0 0;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ds-danger, #d64541); }

/* =========================================================================
   ALTERAÇÕES DE PREÇO (.ds-pricechanges) — página /priceChanges, 2026-10-16
   ========================================================================= */
/* Linha nova (chegou num refrescamento e ainda não foi marcada como vista):
   faixa verde-lima à esquerda e fundo suave, para quem controla dar por ela. */
.ds-pricechanges .ds-row--novo td {
  background: rgba(190, 214, 47, 0.14) !important; }

.ds-pricechanges .ds-row--novo td:first-child {
  box-shadow: inset 4px 0 0 var(--ds-green); }

.theme-3 .ds-pricechanges .ds-row--novo td {
  background: rgba(190, 214, 47, 0.12) !important; }

.ds-pill--novo {
  background: var(--ds-green);
  color: #26310a;
  font-weight: 700; }

.ds-pc-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 4px 0 12px; }

.ds-pc-auto {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 600;
  color: var(--ds-muted); }

.ds-pc-auto .ds-select {
  width: auto;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 13px; }

.ds-pc-lido {
  color: var(--ds-muted);
  font-size: 12.5px;
  margin-left: auto; }

.ds-pc-resumo {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--ds-muted); }

.ds-pc-resumo b {
  color: var(--ds-text); }

.ds-pc-up b {
  color: #3f8f2f; }

.ds-pc-down b {
  color: #c0392b; }

.ds-pc-table td {
  vertical-align: middle; }

.ds-pc-quando {
  white-space: nowrap;
  color: var(--ds-muted); }

.ds-pc-delta {
  font-size: 12px;
  font-weight: 700;
  margin-top: 2px; }

.ds-pc-delta.is-bom {
  color: #3f8f2f; }

.ds-pc-delta.is-mau {
  color: #c0392b; }

.ds-pc-delta.is-igual {
  color: var(--ds-muted);
  font-weight: 400; }

.theme-3 .ds-pc-up b, .theme-3 .ds-pc-delta.is-bom {
  color: #9fdc6b; }

.theme-3 .ds-pc-down b, .theme-3 .ds-pc-delta.is-mau {
  color: #ff9a96; }

/* Gestão dos motivos de alteração de preço (/serverSettings), 2026-10-16 */
.ds-motivos-lista {
  list-style: none;
  padding: 0;
  margin: 0 0 12px; }

.ds-motivos-lista li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  border-bottom: 1px solid var(--ds-line); }

.ds-motivos-texto {
  flex: 1;
  min-width: 0; }

.ds-motivos-accoes {
  display: inline-flex;
  gap: 4px; }

.ds-motivos-novo {
  display: flex;
  gap: 8px;
  margin-bottom: 12px; }

.ds-motivos-novo .ds-input {
  flex: 1;
  min-width: 0; }

/* ==========================================================================
   CANDIDATOS (.ds-candidatos) — página /candidatos, 2026-10-16
   ========================================================================== */
.ds-cand-procura {
  flex: 1 1 260px;
  min-width: 0;
  max-width: 420px; }

.ds-cand-area {
  width: auto;
  min-width: 160px; }

.ds-cand-table td {
  vertical-align: top; }

.ds-cand-quando {
  white-space: nowrap;
  color: var(--ds-muted); }

.ds-cand-nome {
  min-width: 170px; }

.ds-cand-nome a {
  word-break: break-all; }

.ds-cand-cv {
  color: var(--ds-muted);
  font-size: 12.5px;
  word-break: break-all;
  max-width: 180px; }

/* Texto do candidato: 3 linhas, clique mostra tudo. */
.ds-cand-texto {
  min-width: 260px;
  max-width: 520px;
  white-space: pre-line;
  cursor: pointer;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden; }

.ds-cand-texto.is-aberto {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  cursor: default; }

/* Campo numérico curto dentro de uma frase (ex.: "a cada [10] s"). 2026-10-17 */
.ds-input.ds-input--inline {
  display: inline-block;
  width: 64px;
  padding: 2px 6px;
  height: auto;
  margin: 0 4px;
  text-align: center; }

/* ───────────────────────────────────────────────────────────────────────────
   DETALHE DO SERVIÇO — CABEÇALHO FIXO E PERCURSO DOS PONTOS (2026-10-18)
   Template `points` reescrito (serve serviceDetail e finishedServiceDetail).
   Cada ponto é um cartão .ds-pto pendurado numa linha vertical .ds-rota: o
   círculo diz de relance o que está feito. Protótipo aprovado no canvas
   "Detalhe do Serviço — Pontos".

   --pto-muted: o --ds-muted (#7b8794) dá 3,6:1 sobre branco, abaixo dos 4,5:1
   que um rótulo de 12px precisa. Aqui, em texto pequeno, usa-se um tom mais
   escuro no claro; no escuro o --ds-muted já foi subido e serve.
   ─────────────────────────────────────────────────────────────────────────── */
.ds-pto, .ds-topbar--sticky, .ds-pto--fatura {
  --pto-muted: #5f6b78; }

.theme-3 .ds-pto, .theme-3 .ds-topbar--sticky {
  --pto-muted: var(--ds-muted); }

/* ---- Cabeçalho fixo do serviço -------------------------------------------
   Fundo opaco: o --ds-card é translúcido no tema escuro, e o que rolava por
   baixo via-se através. */
.ds-topbar--sticky {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #fff; }

.theme-3 .ds-topbar--sticky {
  background: #323f46; }

.ds-topbar-kv {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0; }

.ds-topbar-lbl {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--pto-muted); }

.ds-topbar-val {
  font-size: 14px;
  font-weight: 600;
  color: var(--ds-ink); }

.ds-topbar-prog {
  min-width: 150px; }

.ds-prog {
  display: block;
  height: 6px;
  border-radius: 3px;
  background: var(--ds-grey);
  overflow: hidden; }

.ds-prog-bar {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--ds-green);
  transition: width .3s ease; }

.ds-topbar-cod {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-topbar-envio {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--ds-line); }

.ds-topbar-envio-linha {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-topbar-envio .ds-note,
.ds-topbar-envio .ds-codigos-aviso {
  margin: 0; }

/* ---- Peças pequenas ------------------------------------------------------ */
.ds-tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap; }

.ds-tag--ok {
  background: var(--ds-green-l);
  color: var(--ds-green-ink); }

.ds-tag--warn {
  background: #fdf0d5;
  color: #7a4a00; }

.ds-tag--muted {
  background: var(--ds-grey);
  color: var(--ds-text); }

.theme-3 .ds-tag--warn {
  background: rgba(240, 176, 63, 0.18);
  color: #f6cf86; }

.ds-lbl {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--pto-muted); }

label.ds-lbl {
  display: block;
  margin: 0 0 6px; }

.ds-iconbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--pto-muted);
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease; }

.ds-iconbtn:hover {
  background: var(--ds-grey);
  color: var(--ds-ink); }

.ds-iconbtn:focus-visible,
.ds-pto .ds-btn:focus-visible,
.ds-topbar--sticky .ds-btn:focus-visible {
  outline: 2px solid var(--ds-green);
  outline-offset: 2px; }

.ds-btn--sm {
  padding: 7px 14px;
  font-size: 13px;
  border-radius: 11px; }

.ds-btn[disabled] {
  opacity: .6;
  cursor: default; }

/* ---- O percurso ---------------------------------------------------------- */
.ds-rota {
  display: flex;
  flex-direction: column; }

.ds-rota-item {
  display: flex;
  gap: 14px; }

.ds-rota-rail {
  flex: 0 0 38px;
  display: flex;
  flex-direction: column;
  align-items: center; }

.ds-rota-dot {
  width: 38px;
  height: 38px;
  box-sizing: border-box;
  border-radius: 50%;
  border: 2px solid var(--pto-muted, #5f6b78);
  background: var(--ds-card);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink); }

.theme-3 .ds-rota-dot {
  border-color: var(--ds-muted); }

.ds-rota-item--ok .ds-rota-dot {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: #26310a; }

.ds-rota-line {
  flex: 1;
  width: 2px;
  margin: 6px 0;
  background: var(--ds-line); }

.ds-rota-item--ok .ds-rota-line {
  background: var(--ds-green); }

.ds-rota-item:last-child .ds-rota-line {
  display: none; }

/* ---- O cartão do ponto --------------------------------------------------- */
.ds-pto {
  flex: 1;
  min-width: 0;
  margin-bottom: 18px;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow); }

.ds-pto--fatura {
  padding: 16px 22px;
  margin-left: 52px; }

.ds-pto-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px 16px;
  padding: 18px 22px 12px; }

.ds-pto-id {
  flex: 1 1 300px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px; }

.ds-pto-kind {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--pto-muted); }

.ds-pto-kind em {
  margin-right: 4px; }

.ds-pto-name {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ds-ink);
  overflow-wrap: anywhere; }

.ds-pto-addr {
  margin: 0;
  font-size: 14px;
  color: var(--ds-text);
  overflow-wrap: anywhere; }

.ds-pto-sub {
  margin: 0;
  font-size: 13px;
  color: var(--pto-muted); }

.ds-pto-state {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px; }

.ds-pto-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 28px;
  padding: 0 22px 14px; }

.ds-pto-metaitem {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  min-width: 0; }

.ds-pto-val {
  font-size: 14px;
  color: var(--ds-ink);
  overflow-wrap: anywhere; }

.ds-pto-empty {
  margin: 0;
  font-size: 14px;
  color: var(--pto-muted); }

.ds-pto-inline {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-pto-inline .ds-input {
  width: 260px;
  max-width: 100%; }

.ds-pto-panel {
  margin: 0 22px 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border: 1px solid var(--ds-line);
  border-radius: 16px;
  background: var(--ds-grey); }

.ds-pto-panel--warn {
  background: #fdf0d5;
  border-color: transparent; }

.theme-3 .ds-pto-panel--warn {
  background: rgba(240, 176, 63, 0.16); }

.ds-pto-paneltitle {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-ink); }

.ds-pto-panelrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-pto-panelrow .ds-input {
  flex: 1 1 240px;
  width: auto; }

.ds-pto-grid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px; }

.ds-pto-confirm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px; }

.ds-pto-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px; }

.ds-pto-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  border-top: 1px solid var(--ds-line); }

.ds-pto-sec {
  min-width: 0;
  padding: 14px 22px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px; }

.ds-pto-sec + .ds-pto-sec {
  border-left: 1px solid var(--ds-line); }

.ds-pto-sechead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 34px; }

.ds-pto-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ds-ink);
  white-space: pre-wrap;
  overflow-wrap: anywhere; }

.ds-pto-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px; }

.ds-pto-foot {
  margin: 0;
  font-size: 12.5px;
  color: var(--pto-muted); }

.ds-pto-edit {
  display: flex;
  flex-direction: column;
  gap: 8px; }

.ds-pto-edit label.ds-lbl {
  margin: 4px 0 0; }

.ds-pto-stats {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 32px;
  padding: 14px 22px;
  border-top: 1px solid var(--ds-line); }

.ds-pto-stat {
  display: flex;
  flex-direction: column;
  gap: 3px; }

.ds-pto-statval {
  font-size: 16px;
  color: var(--ds-ink); }

.ds-pto-statval--ok {
  color: #4f7a12;
  font-weight: 600; }

.ds-pto-statval--warn {
  color: #9a5b00;
  font-weight: 600; }

.theme-3 .ds-pto-statval--ok {
  color: #cfe57a; }

.theme-3 .ds-pto-statval--warn {
  color: #f6cf86; }

.ds-pto-stathint {
  align-self: center; }

.ds-pto-guias {
  padding: 10px 22px 16px;
  border-top: 1px solid var(--ds-line); }

.ds-pto-guias .table-responsive {
  margin-top: 8px;
  border: 0; }

.ds-pto-guias .ds-guidestable {
  margin: 0; }

.ds-pto .ds-sigbox {
  margin-top: 4px; }

@media (max-width: 760px) {
  .ds-rota-item {
    gap: 10px; }
  .ds-rota-rail {
    flex-basis: 30px; }
  .ds-rota-dot {
    width: 30px;
    height: 30px;
    font-size: 13px; }
  .ds-pto--fatura {
    margin-left: 0; }
  .ds-pto-head, .ds-pto-stats {
    padding-left: 14px;
    padding-right: 14px; }
  .ds-pto-meta, .ds-pto-guias {
    padding-left: 14px;
    padding-right: 14px; }
  .ds-pto-sec {
    padding-left: 14px;
    padding-right: 14px; }
  .ds-pto-panel {
    margin-left: 14px;
    margin-right: 14px; }
  .ds-pto-state {
    align-items: flex-start; }
  .ds-pto-sec + .ds-pto-sec {
    border-left: 0;
    border-top: 1px solid var(--ds-line); }
  .ds-topbar-cod {
    margin-left: 0; } }

/* ───────────────────────────────────────────────────────────────────────────
   ECRÃ DO DRIVER (myPoints) — PERCURSO (2026-10-18)
   Usa o .ds-rota / .ds-pto do backoffice, com o que um telemóvel na rua pede:
   alvos de 48px ou mais, texto de 16px nos campos (abaixo disso o iOS faz
   zoom ao tocar), um só ponto aberto e a barra de acção presa ao fundo.
   Protótipo aprovado: canvas "Detalhe do Serviço — Pontos", artboard do
   telemóvel.
   ─────────────────────────────────────────────────────────────────────────── */
.ds-rota--drv .ds-pto {
  margin-bottom: 12px; }

.ds-rota--drv .ds-rota-item--atual .ds-rota-dot {
  border-color: var(--ds-green);
  color: var(--ds-ink);
  box-shadow: 0 0 0 4px rgba(190, 214, 47, 0.25); }

.ds-pto--atual {
  border: 2px solid var(--ds-green); }

/* Recolha azul, entrega verde: as cores que o driver já conhece (datatable.scss,
   .collectionColorBG/.deliveryColorBG). Azul contra verde, não vermelho/verde. */
.ds-tag--recolha {
  background: #0277bd;
  color: #fff; }

.ds-tag--entrega {
  background: #2e7d32;
  color: #fff; }

.ds-pto-topline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px; }

.ds-pto-atual-lbl {
  color: var(--ds-green-ink); }

.theme-3 .ds-pto-atual-lbl {
  color: #e6f0b8; }

.ds-pto-name--lg {
  font-size: 21px; }

.ds-pto-addr--lg {
  font-size: 15px; }

.ds-pto-pad {
  padding: 0 16px 14px; }

/* Ponto recolhido: o cabeçalho inteiro é o botão. */
.ds-pto-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 60px;
  padding: 12px 16px;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font: inherit;
  cursor: pointer;
  border-radius: var(--ds-radius); }

.ds-pto-toggle:focus-visible {
  outline: 2px solid var(--ds-green);
  outline-offset: -2px; }

.ds-pto-toggle-id {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px; }

.ds-pto-toggle-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--ds-ink);
  overflow-wrap: anywhere; }

.ds-pto-chev {
  flex: 0 0 auto;
  color: var(--pto-muted);
  transition: transform .15s ease; }

.ds-pto-toggle[aria-expanded="true"] .ds-pto-chev {
  transform: rotate(180deg); }

.ds-pto-detail {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--ds-line); }

.ds-pto-stats--flat {
  padding: 0;
  border-top: 0;
  gap: 10px 24px; }

.ds-pto-actions--start {
  justify-content: flex-start; }

.ds-pto-nota {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 14px;
  background: var(--ds-grey); }

.ds-pto-nota--pad {
  margin: 0 16px 14px; }

.ds-pto-secd {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 14px 16px;
  border-top: 1px solid var(--ds-line); }

.ds-pto-secd label.ds-lbl {
  margin: 4px 0 0; }

.ds-input--lg {
  min-height: 48px;
  font-size: 16px;
  padding: 12px 14px; }

textarea.ds-input--lg {
  min-height: 84px; }

/* ---- Botões grandes ------------------------------------------------------ */
.ds-dgrid2, .ds-dgrid3 {
  display: grid;
  gap: 8px; }

.ds-dgrid2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.ds-dgrid3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)); }

.ds-dbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  box-sizing: border-box;
  border: 1px solid var(--ds-line);
  border-radius: 14px;
  background: var(--ds-grey);
  color: var(--ds-ink);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, filter .15s ease; }

.ds-dbtn:hover {
  filter: brightness(1.05); }

.ds-dbtn:focus-visible, .ds-dtile:focus-visible {
  outline: 2px solid var(--ds-green);
  outline-offset: 2px; }

.ds-dbtn[disabled] {
  opacity: .6;
  cursor: default; }

.ds-dbtn--tall {
  flex-direction: column;
  gap: 1px;
  min-height: 64px;
  padding: 8px 12px; }

.ds-dbtn--grow {
  flex: 1 1 auto; }

.ds-dbtn--ok {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: #26310a; }

.ds-dbtn--warn {
  background: #e9a93a;
  border-color: #e9a93a;
  color: #2a1a00; }

.ds-dbtn--help {
  flex: 0 0 auto;
  background: transparent;
  border-color: rgba(214, 69, 65, 0.55);
  color: #a12a25; }

.theme-3 .ds-dbtn--help {
  color: #ffb4ae; }

.ds-dbtn-main {
  font-size: 16px;
  font-weight: 700; }

.ds-dbtn-sub {
  font-size: 12px;
  font-weight: 600;
  opacity: .85; }

/* Hora já registada: deixa de ser botão. */
.ds-dtime {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 64px;
  border-radius: 14px;
  background: var(--ds-green-l); }

.ds-dtime-lbl {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ds-green-ink); }

.ds-dtime-val {
  font-size: 19px;
  font-weight: 700;
  color: var(--ds-ink); }

.ds-dtime--warn {
  background: #fdf0d5; }

.ds-dtime--warn .ds-dtime-lbl {
  color: #7a4a00; }

.theme-3 .ds-dtime--warn {
  background: rgba(240, 176, 63, 0.18); }

.theme-3 .ds-dtime--warn .ds-dtime-lbl {
  color: #f6cf86; }

.theme-3 .ds-dtime-lbl {
  color: #e6f0b8; }

.ds-dtime--off {
  background: transparent;
  border: 1px dashed var(--ds-line); }

.ds-dtime--off .ds-dtime-lbl {
  color: var(--pto-muted); }

.ds-dtime--off .ds-dbtn-sub {
  color: var(--pto-muted); }

/* Provas: três mosaicos. */
.ds-dtile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 84px;
  padding: 8px 4px;
  box-sizing: border-box;
  border: 1px solid var(--ds-line);
  border-radius: 14px;
  background: var(--ds-grey);
  color: var(--ds-ink);
  font: inherit;
  cursor: pointer;
  text-align: center; }

.ds-dtile-main {
  font-size: 14px;
  font-weight: 600; }

.ds-dtile-sub {
  font-size: 12px;
  color: var(--pto-muted); }

.ds-dtile--ok {
  background: var(--ds-green-l);
  border-color: transparent; }

.ds-dtile--ok .ds-dtile-sub {
  color: var(--ds-green-ink);
  font-weight: 700; }

.theme-3 .ds-dtile--ok .ds-dtile-sub {
  color: #e6f0b8; }

.ds-pto-guiaslist {
  display: flex;
  flex-direction: column;
  gap: 10px; }

.ds-pto-guiaslist .ds-mguide {
  margin: 0; }

/* ---- Barra de acção ------------------------------------------------------
   Presa ao fundo do ecrã enquanto o ponto atual está à vista (sticky dentro
   do próprio cartão). Só com :has() — é com ele que a área útil já termina
   acima da faixa do VOLTAR (app.scss, .main-container:has(.yb-actionbar)).
   Sem :has() a barra ficaria por baixo dessa faixa: aí fica no fim do
   cartão, no fluxo normal, e nada se esconde. */
.ds-dbar {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px 14px;
  border-top: 1px solid var(--ds-line);
  background: #fff;
  border-radius: 0 0 calc(var(--ds-radius) - 2px) calc(var(--ds-radius) - 2px); }

.theme-3 .ds-dbar {
  background: #323f46; }

/* Um browser sem :has() descarta a regra inteira — e fica no fluxo. */
.main-container:has(.ds-dbar) .ds-dbar {
  position: sticky;
  bottom: 0;
  z-index: 5;
  box-shadow: 0 -6px 16px rgba(16, 25, 40, 0.1); }

.theme-3 .main-container:has(.ds-dbar) .ds-dbar {
  box-shadow: 0 -6px 16px rgba(0, 0, 0, 0.35); }

.ds-dbar-row {
  display: flex;
  gap: 8px; }

.ds-dbar-confirm {
  margin: 0; }

/* ---- Selects nos cartões dos pontos, no tema escuro (2026-10-18) ---------
   A lista da incidência abria BRANCA com o texto claro do tema por cima —
   ilegível (visto no ecrã do driver). A regra das <option> lá em cima
   (.theme-3 select:not([multiple]) option) pinta-lhes o fundo, mas há
   renderizações do Chromium (telemóvel, emulação de telemóvel) que respeitam
   a cor do texto e ignoram o fundo da <option>.

   `color-scheme: dark` é a maneira certa: diz ao browser que o controlo é
   escuro, e ele desenha a própria lista nativa em escuro — fundo e texto, em
   todas as renderizações que o suportam. O fundo da caixa vai forçado porque
   alguma regra do tema a deixava branca neste ecrã. */
.theme-3 .ds-pto select,
.theme-3 .ds-pto .ds-select {
  color-scheme: dark;
  background-color: #26333f !important;
  color: var(--ds-ink) !important;
  border-color: rgba(255, 255, 255, 0.14); }

.theme-3 .ds-pto select option,
.theme-3 .ds-pto select optgroup {
  background-color: #26333f !important;
  color: #eaeff5 !important; }

/* ---- Etiquetas com texto comprido (2026-10-18) ---------------------------
   A .ds-tag não parte linha, de propósito: "Feito 12:19" partido ao meio lê-se
   mal. Mas a incidência é texto da lista (há-as com cinquenta caracteres, ex.
   "Embalagem comprometida requerendo reesterilização") e o "Fechado pelo
   backoffice — <nome>" leva um nome: no telemóvel saíam do cartão e davam
   scroll horizontal à página inteira. Nesses dois sítios partem linha; o
   raio desce para a etiqueta de duas linhas não ficar uma salsicha. */
.ds-tag {
  max-width: 100%;
  box-sizing: border-box; }

.ds-pto-tags .ds-tag,
.ds-pto-state .ds-tag {
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  border-radius: 12px; }

.ds-pto-state {
  min-width: 0;
  max-width: 100%; }

/* A incidência não ocupa a largura toda do cartão: uma etiqueta encostada
   aos dois lados parecia uma faixa, não uma etiqueta. 240px dá duas linhas
   equilibradas aos textos mais compridos da lista; num ecrã mais estreito
   do que isso encolhe com ele (flex-shrink + min-width: 0). */
.ds-pto-tags .ds-tag {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 240px;
  padding: 5px 12px;
  line-height: 1.35; }

/* ---- Avaliação do serviço (finishedServiceDetail) -------------------------
   Por baixo do percurso, alinhada com os cartões dos pontos (o recuo é o da
   linha do percurso: 38px do círculo + 14px de folga; 30 + 10 no telemóvel). */
.ds-pto--avaliacao {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 22px;
  margin: 0 0 18px 52px; }

.ds-avaliacao-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px; }

@media (max-width: 760px) {
  .ds-pto--avaliacao {
    margin-left: 40px;
    padding: 14px 16px; } }

/* ---- Ações do fim do detalhe (Analisar email / Descarregar PDF) ----------
   Quando o ecrã é estreito e os dois partem para linhas diferentes, ficavam
   colados um ao outro: os .btn só têm margem lateral. O gap separa nos dois
   sentidos. */
.ds-detalhe-acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 8px 0 16px;
  /* Os pontos vivem em colunas do Bootstrap, que flutuam. Um contentor flex
     a seguir a flutuantes encosta-se AO LADO deles em vez de descer — os
     botões iam parar ao canto direito, por cima do primeiro ponto. */
  clear: both; }

.ds-detalhe-acoes > .btn {
  margin: 0; }

/* "Guias · nenhuma" e "+ Adicionar guia" partiam em duas linhas no telemóvel. */
.ds-pto-guias .ds-pto-sechead {
  flex-wrap: wrap; }

.ds-pto-guias .ds-pto-sechead > .ds-lbl,
.ds-pto-guias .ds-pto-sechead > .ds-btn {
  white-space: nowrap; }

/* ---- Ecrã do driver em telemóveis estreitos (2026-10-18) ------------------
   Num telemóvel de 360px a largura útil do cartão ficava em ~170px: a linha
   do percurso (40px) mais as margens de três contentores. Os três mosaicos das
   provas ficavam com ~50px e "Assinatura" saía do botão.

   1. Os mosaicos passam a uma grelha que se reparte sozinha: três lado a lado
      quando cabem (96px cada), senão dois e o terceiro em baixo.
   2. Abaixo de 480px a linha do percurso esconde-se no ecrã do driver — o
      estado de cada ponto continua escrito na etiqueta ("Feito 12:19",
      "Abrir") e o ponto atual tem o contorno verde — e as margens encolhem.
   3. Texto que mesmo assim não caiba parte dentro do botão em vez de sair. */
.ds-dgrid3 {
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }

.ds-dtile, .ds-dbtn {
  min-width: 0; }

.ds-dtile-main, .ds-dtile-sub,
.ds-dbtn-main, .ds-dbtn-sub {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center; }

@media (max-width: 480px) {
  .ds-points {
    padding-left: 4px;
    padding-right: 4px; }
  .ds-rota--drv .ds-rota-rail {
    display: none; }
  .ds-rota--drv .ds-rota-item {
    gap: 0; }
  .ds-rota--drv .ds-pto-head,
  .ds-rota--drv .ds-pto-secd,
  .ds-rota--drv .ds-pto-detail,
  .ds-rota--drv .ds-pto-toggle,
  .ds-rota--drv .ds-dbar {
    padding-left: 12px;
    padding-right: 12px; }
  .ds-rota--drv .ds-pto-pad {
    padding-left: 12px;
    padding-right: 12px; }
  .ds-rota--drv .ds-pto-nota--pad {
    margin-left: 12px;
    margin-right: 12px; }
  .ds-rota--drv .ds-dbtn-main {
    font-size: 15px; }
  .ds-rota--drv .ds-pto-name--lg {
    font-size: 19px; } }

/* ═══════════════════════════════════════════════════════════════════════════
   SEGUIMENTO PÚBLICO
   ═══════════════════════════════════════════════════════════════════════════
   Esta página tem uma particularidade que decide o desenho todo: é a única
   coisa da plataforma que uma pessoa de fora vê, muitas vezes de telemóvel, uma
   vez na vida, sem saber o que é a YourBox. Não pode depender do tema escolhido
   por ninguém nem do estado de sessão — por isso pinta tudo, com cores próprias,
   e não usa os tokens do design system, que servem quem está lá dentro.

   Um só ecrã, largura de leitura, tudo empilhado. Nada de colunas: o telemóvel
   é o caso normal aqui, não a excepção.
   ═══════════════════════════════════════════════════════════════════════════ */
.yb-track {
  --t-fundo:  #f4f6f9;
  --t-cartao: #ffffff;
  --t-texto:  #22303f;
  --t-fraco:  #6b7a8a;
  --t-linha:  #e3e8ee;
  --t-marca:  #bed62f;
  --t-curso:  #2f80ed;
  --t-feito:  #3f9e5a;
  --t-mau:    #d64541;
  min-height: 100vh;
  background: var(--t-fundo);
  color: var(--t-texto);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  padding: 24px 16px 48px; }

.yb-track-head {
  max-width: 560px;
  margin: 0 auto 20px;
  text-align: center; }

.yb-track-logo {
  height: 40px;
  width: auto; }

.yb-track-head h1 {
  font-size: 20px;
  font-weight: 600;
  margin: 14px 0 0;
  color: var(--t-texto); }

/* ---- Caixa do código ------------------------------------------------------
   Fica sempre visível, mesmo com um seguimento aberto: quem recebeu dois
   códigos usa os dois sem ter de voltar atrás. */
.yb-track-box {
  max-width: 560px;
  margin: 0 auto 18px;
  background: var(--t-cartao);
  border: 1px solid var(--t-linha);
  border-radius: 14px;
  padding: 16px 18px; }

.yb-track-box label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--t-fraco);
  margin-bottom: 8px; }

.yb-track-boxrow {
  display: flex;
  gap: 8px; }

.yb-track-boxrow input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid var(--t-linha);
  border-radius: 10px;
  padding: 12px 14px;
  /* Monoespaçada e espaçada: um código escreve-se caracter a caracter, e é a
     conferir caracter a caracter que se apanha o engano. */
  font-family: 'SFMono-Regular', Menlo, Consolas, monospace;
  font-size: 18px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--t-texto);
  background: #fff; }

.yb-track-boxrow input:focus {
  outline: none;
  border-color: var(--t-curso);
  box-shadow: 0 0 0 3px rgba(47, 128, 237, 0.18); }

.yb-track-btn {
  flex: 0 0 auto;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  background: var(--t-marca);
  color: #26310a; }

.yb-track-btn:hover {
  filter: brightness(0.96); }

.yb-track-hint {
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--t-fraco); }

/* ---- Cartões -------------------------------------------------------------- */
.yb-track-card {
  max-width: 560px;
  margin: 0 auto 14px;
  background: var(--t-cartao);
  border: 1px solid var(--t-linha);
  border-radius: 14px;
  padding: 18px; }

.yb-track-card p {
  margin: 0 0 8px;
  line-height: 1.55; }

.yb-track-card p:last-child {
  margin-bottom: 0; }

.yb-track-card--quiet {
  color: var(--t-fraco); }

.yb-track-card--quiet b {
  color: var(--t-texto); }

/* ---- A resposta -----------------------------------------------------------
   A primeira coisa que se lê, e para muita gente a única. Uma barra de cor à
   esquerda diz o estado antes de a frase ser lida. */
.yb-track-answer {
  border-left: 4px solid var(--t-curso); }

.yb-track-answer--feito {
  border-left-color: var(--t-feito); }

.yb-track-answer--mau {
  border-left-color: var(--t-mau); }

.yb-track-state {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 10px; }

.yb-track-answer--feito .yb-track-state {
  color: var(--t-feito); }

.yb-track-answer--mau .yb-track-state {
  color: var(--t-mau); }

.yb-track-driver {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px; }

.yb-track-driver img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--t-marca); }

.yb-track-ref {
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--t-fraco); }

/* ---- Está quase ----------------------------------------------------------
   O cartão que só aparece na aproximação final. Pequeno de propósito: é uma
   informação de momento, não é o centro da página. */
.yb-track-near {
  display: flex;
  align-items: center;
  gap: 14px;
  border-left: 4px solid var(--t-curso); }

.yb-track-near b {
  display: block; }

.yb-track-near p {
  margin: 2px 0 0;
  font-size: 14px;
  color: var(--t-fraco); }

.yb-track-nearico {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(47, 128, 237, 0.12);
  color: var(--t-curso);
  font-size: 20px; }

/* ---- Local ---------------------------------------------------------------- */
.yb-track-place {
  margin-bottom: 14px; }

.yb-track-kind {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--t-fraco);
  margin-bottom: 3px; }

.yb-track-place b {
  font-size: 16px; }

.yb-track-addr {
  display: block;
  font-size: 14px;
  color: var(--t-fraco);
  margin-top: 2px; }

/* ---- Linha do tempo -------------------------------------------------------
   O que já aconteceu a cheio, o que falta a cinzento. É a forma mais directa de
   responder a "em que pé está isto" sem escrever uma linha de texto. */
.yb-track-line {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative; }

.yb-track-line li {
  position: relative;
  padding: 0 0 18px 26px;
  display: flex;
  align-items: baseline;
  gap: 10px; }

.yb-track-line li:last-child {
  padding-bottom: 0; }

/* O fio que liga os pontos, desenhado por baixo de cada um menos do último. */
.yb-track-line li::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 14px;
  bottom: 0;
  width: 2px;
  background: var(--t-linha); }

.yb-track-line li:last-child::before {
  display: none; }

.yb-track-dot {
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--t-cartao);
  border: 2px solid var(--t-linha); }

.yb-track-line li.is-done .yb-track-dot {
  background: var(--t-feito);
  border-color: var(--t-feito); }

.yb-track-line li.is-done::before {
  background: var(--t-feito); }

.yb-track-step {
  flex: 1 1 auto;
  font-size: 15px; }

.yb-track-step small {
  display: block;
  font-size: 13px;
  color: var(--t-fraco);
  margin-top: 2px; }

.yb-track-line li:not(.is-done) .yb-track-step {
  color: var(--t-fraco); }

.yb-track-time {
  flex: 0 0 auto;
  font-size: 14px;
  color: var(--t-fraco);
  font-variant-numeric: tabular-nums; }

/* ---- Comprovativo ---------------------------------------------------------
   É o que faz esta página valer a pena DEPOIS da entrega — e o que evita um
   telefonema a perguntar quem recebeu. */
.yb-track-proof {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--t-linha);
  font-size: 14px; }

.yb-track-proof b {
  display: block;
  margin-bottom: 4px; }

.yb-track-proof p {
  color: var(--t-fraco); }

.yb-track-foot {
  max-width: 560px;
  margin: 22px auto 0;
  text-align: center;
  font-size: 12.5px;
  color: var(--t-fraco); }

.yb-track-foot p {
  margin: 0 0 4px; }

.yb-track-live {
  font-style: italic; }

@media (max-width: 420px) {
  .yb-track-boxrow {
    flex-wrap: wrap; }
  .yb-track-btn {
    width: 100%; }
  .yb-track-state {
    font-size: 20px; } }

.rounded {
  border-radius: 5px; }

.switch span {
  width: 100px;
  height: 30px;
  border: 0px;
  border-radius: 50px; }

.switch span:after {
  top: -8px;
  left: -1px;
  right: -1px;
  height: 50px;
  width: 50px; }

.webBigFont {
  font-size: 30px; }

.fontSize12 {
  font-size: 14px; }

.fontSize14 {
  font-size: 16px; }

.text-micro {
  font-size: 1px; }

/* Altura da faixa de ações. Um valor só: é o que a faixa ocupa E o que a
   área útil desconta. Estavam separados (a faixa media ~59px e descontavam-se
   92px) e sobrava uma tira vazia entre o conteúdo e a barra. */
/* ---- Barra de ações fixa ao fundo ----------------------------------------
   Uma faixa ancorada ao fundo da janela, igual em toda a plataforma: as ações
   estão sempre à mão sem rolar — que é o ponto, em formulários de mil linhas
   onde se edita um campo lá no topo — e nunca tapam o conteúdo, porque a
   <section> do layout reserva-lhes o espaço.

   O que estava mal antes não era flutuar: era `top: 90%; right: 10%`, que punha
   os botões a pairar num ponto arbitrário do MEIO do ecrã, sem fundo próprio e
   sem nada que impedisse o conteúdo de lhes passar por baixo. Aterravam em cima
   do que ali estivesse.

   Há dois padrões de marcação e ambos dão na MESMA faixa, desenhada sempre por
   um contentor real — nunca por um pseudo-elemento com z-index negativo, que
   ficava atrás de qualquer fundo que a página tivesse por cima e fazia a faixa
   parecer transparente numas páginas e opaca noutras:

   1. .yb-actionbar — vem dentro do partial {{>goBack}}, e serve as 76 páginas
      onde o VOLTAR aparece sozinho.
   2. .btn-group.feedback — o contentor que as 32 páginas de formulário já
      tinham no HTML, com VOLTAR + SALVAR. */
.yb-actionbar {
  position: fixed;
  left: 0;
  /* o recuo da barra lateral e dado abaixo, no @media */
  right: 0;
  bottom: 0;
  z-index: 999;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  height: 60px;
  padding: 0 26px;
  background: #fff;
  border-top: 1px solid #e6e9ee;
  box-shadow: 0 -2px 12px rgba(16, 25, 40, 0.1); }

.theme-3 .yb-actionbar {
  background: #2e3c44;
  border-top-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.35); }

/* Nas 32 paginas de formulario o goBack vem dentro do .btn-group.feedback, que
   JA e a faixa. Aqui o wrapper deixa de ser barra e passa a ser so um item da
   barra de fora, para os dois botoes alinharem lado a lado. */
.btn-group.feedback .yb-actionbar {
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
  padding: 0;
  gap: 0;
  background: none;
  border: 0;
  box-shadow: none; }

.btn-group.feedback .yb-actionbar .btn {
  margin: 0; }

.btn-group.feedback {
  /* position/z-index explicitos: vinham da regra base .feedback, que
     desapareceu quando a faixa do goBack passou a ser o .yb-actionbar.
     Sem position, o left/right/bottom nao faz nada e a barra caia no
     fluxo, no fim da pagina — invisivel sem rolar ate ao fundo. */
  position: fixed;
  z-index: 999;
  left: 0;
  /* o recuo da barra lateral e dado abaixo, no @media */
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  height: 60px;
  padding: 0 26px;
  /* Fundo OPACO de propósito: o conteúdo rola por baixo da faixa. Aqui não
     servem os tokens do design system — --ds-card é rgba(255,255,255,.03) no
     tema escuro, e via-se o texto a passar através da barra. */
  background: #fff;
  border-top: 1px solid #e6e9ee;
  box-shadow: 0 -2px 12px rgba(16, 25, 40, 0.1); }

/* Tema escuro: fundo do conteúdo é $mdc-blue-grey-800 (#37474F); a faixa fica
   um tom abaixo para se ler como outro plano. */
.theme-3 .btn-group.feedback {
  background: #2e3c44;
  border-top-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.35); }

/* O recuo da faixa TEM de seguir o do conteudo. O .main-container so recua
   $sidebar-wd a partir de $min-desktop (992px); abaixo disso a barra lateral
   e off-canvas e o conteudo ocupa a largura toda. A regra anterior fixava
   left:280px e so corrigia .yb-actionbar num @media proprio — o
   .btn-group.feedback, que e a faixa das 32 paginas de formulario, ficava de
   fora e mantinha o recuo de 280px sobre conteudo que ja comecava em zero.
   Mesma variavel e mesmo criterio do layout, para nao voltarem a divergir. */
@media only screen and (min-width: 992px) {
  .yb-actionbar,
  .btn-group.feedback {
    left: 280px; } }

/* A FAIXA COME O FIM DO MENU EM JANELAS ESTREITAS.
   Acima de $min-desktop a faixa recua $sidebar-wd e nunca toca na barra lateral.
   Abaixo disso passa a `left: 0` e atravessa o ecra todo — e como tem z-index
   999 contra os 20 da barra lateral, fica por cima dela e tapa-lhe os ultimos
   60px. O ultimo item do menu (Gestao de Memoria) desaparecia, e nao havia
   maneira de o alcancar: nao e' um problema de scroll, e' de area util.

   Da-se ao contentor que rola a altura da faixa em espaco livre no fim, para o
   ultimo item conseguir subir acima dela. Mesma variavel da faixa, para os dois
   nao voltarem a divergir quando um mudar.

   Vive aqui e nao no sidebar.scss porque esse e' importado na linha 19, antes de
   $yb-actionbar-hg existir — e porque a regra so' se percebe ao lado da faixa
   que a obriga. */
@media (max-width: 991px) {
  .sidebar-container,
  .sidebar-header + .sidebar-content {
    padding-bottom: 60px; } }

@media (max-width: 991px) {
  .yb-actionbar,
  .btn-group.feedback {
    padding: 0 16px; } }

/* Dentro da faixa os botões voltam ao fluxo. Sem isto ficavam eles próprios
   fixos — a classe `feedback` está no contentor E em cada botão, e era só a
   margem do primeiro que os impedia de se sobrepor. */
.btn-group.feedback > .feedback,
.btn-group.feedback > .btn {
  position: static;
  top: auto;
  right: auto;
  bottom: auto;
  float: none;
  margin: 0; }

/* O conteúdo reserva o espaço da faixa, para nada ficar por baixo dela.

   ENCURTA-SE A ÁREA ÚTIL, não se calça o conteúdo com padding. O padding só
   funciona para conteúdo que FLUI: painéis com altura própria e scroll próprio
   — as duas colunas do servicesBot, a lista ao lado do mapa no tracking —
   ignoram-no, continuam a ir até ao fundo da janela, e a faixa tapava-lhes o
   fim e a própria barra de scroll.

   Ao encurtar o contentor que define a área visível, tudo o que se meça em
   percentagem dele fica automaticamente acima da faixa: painéis, mapas e
   conteúdo normal, sem cada página precisar de saber que a faixa existe.

   Se o browser não souber :has(), a altura fica como era e a faixa sobrepõe —
   volta-se ao que havia antes, não se parte nada. */
.main-container:has(.yb-actionbar),
.main-container:has(.btn-group.feedback) {
  height: calc(100% - 65px - 60px); }

/* ---- Avisos do canto inferior direito -----------------------------------
   Dois sistemas aparecem no mesmo canto e ambos ficavam por baixo da faixa de
   ações: o growl do Bert (Bert.alert com 'growl-bottom-right'/-left) e o toastr
   das mensagens do cabeçalho (positionClass 'toast-bottom-right'). Um aviso
   tapado por uma barra é um aviso que ninguém lê.

   Sobem exatamente a altura da faixa, a partir da mesma variável — se a faixa
   mudar de altura, os avisos acompanham.

   !important porque o CSS de origem vem dos pacotes (themeteorchef:bert,
   flawless:meteor-toastr) e a ordem de carregamento no bundle não é garantida. */
.bert-alert.growl-bottom-left,
.bert-alert.growl-bottom-right {
  bottom: calc(60px + 15px) !important; }

#toast-container.toast-bottom-right,
#toast-container.toast-bottom-left,
#toast-container.toast-bottom-center,
#toast-container.toast-bottom-full-width {
  bottom: calc(60px + 12px) !important; }

.feedback a {
  display: block;
  width: 70px;
  padding: 8px 16px; }

.btn {
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important; }

.textBlink {
  color: #FFB300; }

.textBlink2 {
  color: #000000; }

.takeOutTheRoundedBootstrap {
  -webkit-border-radius: 0 !important;
  -moz-border-radius: 0 !important;
  border-radius: 0 !important;
  border-style: none !important; }

.weby-red-300 {
  color: #E57373; }

.weby-pink-300 {
  color: #F06292; }

.weby-blue-grey-300 {
  color: #90A4AE; }

.weby-lime-300 {
  color: #DCE775; }

.weby-blue-gray-600 {
  color: #546E7A; }

.weby-grey-600 {
  color: #757575; }

.weby-indigo-900 {
  color: #3F51B5; }

.width-100 {
  min-width: 60px !important;
  display: inline-block !important; }

.truncate100 {
  width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.sideBarCircle_primary {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #3F51B5;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_teal-900 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #004d40;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_pink-300 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #f06292;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_green-500 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #19c17c;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_blue-grey-300 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #90A4AE;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_warning {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #FFB300;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_info {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #03A9F4;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_primary {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #448AFF;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_Brown500 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #795548;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_lime-300 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #DCE775;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_blue-gray-600 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #546E7A;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_gray-600 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #757575;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.sideBarCircle_indigo-900 {
  width: 30px;
  line-height: 30px;
  border-radius: 50%;
  text-align: center;
  font-size: 12px;
  color: #fff;
  background: #1a237e;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; }

.bg-teal-900 {
  background: #004d40; }

.bg-pink-300 {
  color: #fff;
  background: #f06292; }

.bg-blue-grey-300 {
  color: #fff;
  background: #90A4AE; }

.bg-warning {
  color: #fff;
  background: #f59504; }

.bg-info {
  color: #fff;
  background: #2E9AB2; }

.bg-primary {
  color: #fff;
  background: #2E5ABD; }

.bg-brown500 {
  color: #fff;
  background: #795548; }

.bg-lime-300 {
  color: #fff;
  background: #DCE775; }

.bg-blue-gray-600 {
  color: #fff;
  background: #546E7A; }

.bg-gray-600 {
  color: #fff;
  background: #757575; }

.text-lime-900 {
  color: #827717; }

.text-brown-500 {
  color: #795548; }

.text-blue-gray-600 {
  color: #546E7A; }

.text-indigo-900 {
  color: #1A237E; }

.animated {
  -webkit-animation-duration: 200ms;
  animation-duration: 200ms; }

.fieldset1 {
  padding: 16px; }

.label-xsmall {
  vertical-align: super;
  font-size: x-small; }

.label-small {
  vertical-align: super;
  font-size: small; }

.label-medium {
  vertical-align: super;
  font-size: medium; }

.label-large {
  vertical-align: super;
  font-size: large; }

.label-bs {
  vertical-align: super; }

.backgroundMotoBoy {
  /* The image used */
  background-image: url("/img/animacaoSVG.svg");
  background-color: #fff;
  /* Full height */
  height: 100%;
  /* Center and scale the image nicely */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.boderTopColorInfo {
  border-top: 5px solid #2E9AB2; }

.boderTopColorInverse {
  border-top: 5px solid #2c2d36; }

.boderTopColorSuccess {
  border-top: 5px solid #BDD52E; }

.boderTopColorPink {
  border-top: 5px solid #f06292; }

.boderTopColorDanger {
  border-top: 5px solid #f04e44; }

.boderTopColorBlueGray {
  border-top: 5px solid #90A4AE; }

.boderTopColorWarning {
  border-top: 5px solid #f59504; }

.boderTopColorPrimary {
  border-top: 5px solid #2E5ABD; }

.boderTopColorBrown-600 {
  border-top: 5px solid #6D4C41; }

.boderTopColorLime-800 {
  border-top: 5px solid #9E9D24; }

.boderTopColorIndigo-600 {
  border-top: 5px solid #3949AB; }

.boderTopColorPurple-400 {
  border-top: 5px solid #bf07bf; }

.boderTopColorBlue-400 {
  border-top: 5px solid #57bae4; }

.g-recaptcha {
  display: inline-block; }

.blinkDistanceToPointSuccess {
  animation-name: blinkDistanceToPointSuccess_name;
  animation-duration: 0.5s;
  animation-iteration-count: 3; }

@keyframes blinkDistanceToPointSuccess_name {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

.btn {
  border-radius: 4px !important; }

.btn-sq {
  border-radius: 100% !important; }

.yb-act {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  padding: 8px 6px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  white-space: normal;
  line-height: 1.15;
  font-size: 12px;
  font-weight: 600;
  overflow: hidden; }

.yb-act > i,
.yb-act > i.fa {
  font-size: 26px !important;
  line-height: 1 !important;
  margin-bottom: 5px; }

.yb-act > br {
  display: none; }

.yb-act > span {
  font-size: 12px;
  font-weight: 600; }

.yb-choose {
  display: block;
  width: 100%;
  font-size: 16px !important;
  font-weight: 600;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  margin-top: 6px; }

.yb-actbar {
  display: inline-flex !important;
  float: none !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 82px;
  min-height: 74px;
  margin: 4px !important;
  padding: 8px 4px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(0, 0, 0, 0.14) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  white-space: normal;
  line-height: 1.1;
  font-size: 11px;
  font-weight: 600;
  vertical-align: middle;
  overflow: hidden; }

.yb-actbar > i,
.yb-actbar > i.fa {
  font-size: 24px !important;
  line-height: 1 !important;
  margin-bottom: 4px; }

.yb-actbar > br {
  display: none; }

.yb-track-hd td {
  background: var(--tk-fundo, var(--ds-grey));
  border-top: 2px solid var(--tk-cor, var(--ds-line));
  padding: 6px 10px !important;
  font-size: 12px;
  letter-spacing: .02em; }

.yb-track-hd--on {
  --tk-cor: #4caf50;
  --tk-fundo: rgba(76, 175, 80, .12); }

.yb-track-hd--off {
  --tk-cor: #e53935;
  --tk-fundo: rgba(229, 57, 53, .10); }

.yb-track-row {
  display: flex;
  align-items: stretch;
  margin: 0; }

.yb-track-row > #ybTrackList {
  flex: 0 0 var(--yb-list-w, 25%);
  width: auto;
  max-width: none; }

.yb-track-row > .yb-resizer {
  flex: 0 0 7px;
  cursor: col-resize;
  background: #e6eaee;
  border-left: 1px solid #d6dde4;
  border-right: 1px solid #d6dde4;
  align-self: stretch; }

.yb-track-row > .yb-resizer:hover {
  background: #b8c2cc; }

.yb-track-row > #ybTrackMap {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  max-width: none; }

@media (max-width: 991px) {
  .yb-track-row {
    display: block; }
  .yb-track-row > .yb-resizer {
    display: none; }
  .yb-track-row > #ybTrackList,
  .yb-track-row > #ybTrackMap {
    width: auto; } }

.yb-act,
.yb-actbar,
.yb-choose {
  transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease; }

.yb-act > i,
.yb-actbar > i {
  transition: transform 0.14s ease; }

.yb-act:hover,
.yb-actbar:hover,
.yb-choose:hover {
  transform: translateY(-3px);
  box-shadow: 0 7px 16px rgba(0, 0, 0, 0.2) !important;
  filter: brightness(1.06); }

.yb-act:hover > i,
.yb-actbar:hover > i {
  transform: scale(1.15); }

.yb-act:active,
.yb-actbar:active,
.yb-choose:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) !important;
  filter: brightness(0.97); }

@media (prefers-reduced-motion: reduce) {
  .yb-act,
  .yb-actbar,
  .yb-choose,
  .yb-act > i,
  .yb-actbar > i {
    transition: none; }
  .yb-act:hover,
  .yb-actbar:hover,
  .yb-choose:hover {
    transform: none; }
  .yb-act:hover > i,
  .yb-actbar:hover > i {
    transform: none; } }

.trackSwitch span {
  width: 50px;
  height: 20px; }

.trackSwitch span:after {
  top: -5px;
  height: 29px;
  width: 29px; }

.fieldsetWeby_0_padding_border_margin {
  padding-bottom: 0px;
  border-bottom: 0px;
  margin-bottom: 0px; }

.fieldsetWeby_0_border {
  border-bottom: 0px; }

.opacity05 {
  opacity: 0.5; }

.opacity07 {
  opacity: 0.7; }

.opacity02 {
  opacity: 0.2; }

.fade-out-dashboard {
  opacity: 0; }

.fade-out-image {
  animation: fadeOut 70s;
  -webkit-animation: fadeOut 70s;
  -moz-animation: fadeOut 70s;
  -o-animation: fadeOut 70s;
  -ms-animation: fadeOut 70s; }

@keyframes fadeOut {
  0% {
    opacity: 0.6; }
  100% {
    opacity: 0; } }

@-moz-keyframes fadeOut {
  0% {
    opacity: 0.6; }
  100% {
    opacity: 0; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 0.6; }
  100% {
    opacity: 0; } }

@-o-keyframes fadeOut {
  0% {
    opacity: 0.6; }
  100% {
    opacity: 0; } }

@-ms-keyframes fadeOut {
  0% {
    opacity: 0.6; }
  100% {
    opacity: 0; } }

lottie-player {
  margin: 0 auto; }

.blinkDistance {
  -webkit-animation: blink 100ms infinite alternate;
  -moz-animation: blink 100ms infinite alternate;
  -o-animation: blink 100ms infinite alternate;
  animation: blink 100ms infinite alternate; }

.textareaGeolocation {
  background-color: #f59504;
  color: #f04e44; }

.overlink {
  background-color: #f59504; }

.moreHeight {
  height: 100px; }

.palavra-tracada {
  text-decoration: line-through;
  text-decoration-color: #F44336;
  color: #F44336;
  /* Define a cor do texto como vermelho */ }

.bert-alert.success {
  background: #BDD52E; }

.yb-split-row {
  display: flex;
  align-items: stretch;
  margin: 0; }

.yb-split-row > .yb-split-side {
  flex: 0 0 var(--yb-side-w, 33.333%);
  width: auto;
  max-width: none; }

.yb-split-row > .yb-resizer {
  flex: 0 0 7px;
  cursor: col-resize;
  background: #e6eaee;
  border-left: 1px solid #d6dde4;
  border-right: 1px solid #d6dde4;
  align-self: stretch; }

.yb-split-row > .yb-resizer:hover {
  background: #b8c2cc; }

.yb-split-row > .yb-split-map {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  max-width: none; }

@media (max-width: 991px) {
  .yb-split-row {
    display: block; }
  .yb-split-row > .yb-resizer {
    display: none; }
  .yb-split-row > .yb-split-side,
  .yb-split-row > .yb-split-map {
    width: auto; } }

.ybe .ybe-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 16px;
  margin-bottom: 18px; }

.ybe .ybe-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; }

.ybe .ybe-chip {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 999px;
  padding: 5px 13px;
  font-size: 12.5px;
  line-height: 1.4;
  cursor: pointer;
  transition: border-color .15s, color .15s; }
  .ybe .ybe-chip span {
    display: inline-block;
    margin-left: 6px;
    font-size: 11px;
    color: var(--ds-muted);
    opacity: .75;
    font-variant-numeric: tabular-nums; }
  .ybe .ybe-chip:hover {
    color: var(--ds-ink); }
  .ybe .ybe-chip.is-on {
    border-color: var(--ds-ink);
    color: var(--ds-ink);
    font-weight: 600; }
    .ybe .ybe-chip.is-on span {
      opacity: 1; }

.ybe .ybe-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--ds-muted);
  cursor: pointer; }
  .ybe .ybe-toggle input {
    margin: 0;
    cursor: pointer; }

.ybe .ybe-link {
  margin-left: auto;
  font-size: 12.5px;
  color: var(--ds-muted);
  text-decoration: underline;
  text-underline-offset: 3px; }
  .ybe .ybe-link:hover {
    color: var(--ds-ink); }

.ybe .ybe-grupo {
  margin-bottom: 22px; }

.ybe .ybe-conta {
  margin-left: 9px;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--ds-muted);
  letter-spacing: 0;
  text-transform: none;
  font-variant-numeric: tabular-nums; }

.ybe .ybe-intro {
  margin: 0 0 18px;
  color: var(--ds-muted);
  font-size: 13.5px;
  line-height: 1.6;
  max-width: 78ch; }

.ybe .ybe-grelha {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); }

@media (max-width: 700px) {
  .ybe .ybe-grelha {
    grid-template-columns: 1fr; } }

.ybe .ybe-item {
  display: flex;
  flex-direction: column;
  min-width: 0; }

.ybe .ybe-rot {
  align-self: flex-start;
  font-size: 10px;
  letter-spacing: .09em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  background: var(--ds-grey);
  color: var(--ds-muted); }

.ybe .ybe-rot--cliente {
  background: rgba(190, 214, 47, 0.22);
  color: var(--ds-green-ink); }

.ybe .ybe-rot--parceiro {
  background: rgba(214, 158, 46, 0.16);
  color: #8a6410; }

.ybe .ybe-nome {
  margin: 9px 0 0;
  font-size: 15px;
  font-weight: 600;
  color: var(--ds-ink); }

.ybe .ybe-quando {
  margin: 3px 0 0;
  font-size: 13px;
  color: var(--ds-muted);
  line-height: 1.5; }

.ybe .ybe-meta {
  margin: 6px 0 0;
  font-size: 11.5px;
  color: var(--ds-muted);
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: baseline;
  font-family: Menlo, Consolas, monospace; }

.ybe .ybe-sep {
  opacity: .5; }

.ybe .ybe-kb {
  font-variant-numeric: tabular-nums; }

.ybe .ybe-nota {
  margin: 8px 0 0;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ds-text);
  border-left: 2px solid var(--ds-green);
  padding-left: 10px; }

.ybe .ybe-janela {
  margin-top: 12px;
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  overflow: hidden;
  background: var(--ds-card);
  box-shadow: var(--ds-shadow); }

.ybe .ybe-barra {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 11px;
  background: var(--ds-grey);
  border-bottom: 1px solid var(--ds-line); }

.ybe .ybe-pt {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ds-line); }

.ybe .ybe-cliente {
  margin-left: 5px;
  font-size: 10.5px;
  letter-spacing: .06em;
  color: var(--ds-muted);
  font-family: Menlo, Consolas, monospace; }

.ybe .ybe-expandir {
  margin-left: auto;
  border: 0;
  background: none;
  padding: 0;
  font-size: 10.5px;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ds-muted);
  cursor: pointer; }
  .ybe .ybe-expandir:hover {
    color: var(--ds-ink); }

.ybe iframe {
  display: block;
  width: 100%;
  height: 470px;
  border: 0;
  background: #f4f6f7; }

.ybe .ybe-regras-lista {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

.ybe .ybe-regra {
  padding: 16px 0;
  border-top: 1px solid var(--ds-line); }
  .ybe .ybe-regra h5 {
    margin: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: var(--ds-ink); }
  .ybe .ybe-regra p {
    margin: 5px 0 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--ds-muted); }
  .ybe .ybe-regra code {
    font-size: .9em;
    background: var(--ds-grey);
    color: var(--ds-text);
    padding: 1px 5px;
    border-radius: 4px;
    border: 0; }

@media (min-width: 741px) {
  .ybe .ybe-regra:nth-child(odd) {
    padding-right: 30px; } }

.ybe .ybe-espera {
  padding: 34px;
  text-align: center;
  color: var(--ds-muted);
  font-size: 13.5px; }

.ybe .ybe-espera--erro {
  color: #a94442; }

.theme-3 .ybe .ybe-rot--cliente {
  background: rgba(190, 214, 47, 0.16);
  color: #d2e356; }

.theme-3 .ybe .ybe-rot--parceiro {
  background: rgba(214, 158, 46, 0.16);
  color: #f0c860; }

.theme-3 .ybe .ybe-espera--erro {
  color: #ff9d94; }

.theme-3 .ybe iframe {
  background: #f4f6f7; }

.mp .mp-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin-bottom: 16px; }

.mp .mp-grupos, .mp .mp-anos {
  display: flex;
  gap: 4px; }

.mp .mp-tab {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 999px;
  padding: 6px 15px;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .15s, color .15s; }
  .mp .mp-tab:hover {
    color: var(--ds-ink); }
  .mp .mp-tab.is-on {
    border-color: var(--ds-ink);
    color: var(--ds-ink);
    font-weight: 600; }

.mp .mp-recalc {
  margin-left: auto; }

.mp .mp-stats {
  margin-bottom: 16px; }

.mp .mp-seleccao {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  margin-bottom: 16px;
  padding: 14px 18px; }

.mp .mp-seleccao-txt {
  font-size: 14px;
  color: var(--ds-ink); }

.mp .mp-seleccao-acts {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center; }
  .mp .mp-seleccao-acts label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    color: var(--ds-muted); }

.mp .mp-num {
  width: 80px;
  text-align: center;
  font-variant-numeric: tabular-nums; }

.mp .mp-ano {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)); }

.mp .mp-mes {
  padding: 12px 13px 14px; }

.mp .mp-mes-nome {
  display: flex;
  align-items: baseline;
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-ink);
  margin-bottom: 9px; }

.mp .mp-mes-tot {
  margin-left: auto;
  font-size: 11px;
  font-weight: 400;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.mp .mp-semana, .mp .mp-dias {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px; }

.mp .mp-semana {
  margin-bottom: 4px; }
  .mp .mp-semana span {
    text-align: center;
    font-size: 9.5px;
    letter-spacing: .04em;
    color: var(--ds-muted); }
  .mp .mp-semana .mp-fds {
    opacity: .55; }

.mp .mp-dia {
  position: relative;
  border: 1px solid transparent;
  background: var(--ds-grey);
  border-radius: 5px;
  padding: 3px 0 4px;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  transition: border-color .12s, transform .08s; }
  .mp .mp-dia:hover {
    border-color: var(--ds-ink); }
  .mp .mp-dia:active {
    transform: scale(0.94); }
  .mp .mp-dia:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: 1px; }

.mp .mp-dia--vazio {
  background: none;
  border: 0;
  cursor: default; }

.mp .mp-n {
  font-size: 9px;
  line-height: 1;
  color: var(--ds-muted); }

.mp .mp-v {
  font-size: 12.5px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.mp .mp-nivel-1 {
  background: rgba(190, 214, 47, 0.14); }

.mp .mp-nivel-2 {
  background: rgba(190, 214, 47, 0.28); }

.mp .mp-nivel-3 {
  background: rgba(190, 214, 47, 0.45); }

.mp .mp-nivel-4 {
  background: rgba(190, 214, 47, 0.66); }

.mp .mp-dia--fds .mp-n {
  opacity: .5; }

.mp .mp-dia--fds .mp-v {
  opacity: .72; }

.mp .mp-dia--manual::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 2px;
  background: var(--ds-ink);
  border-radius: 2px; }

.mp .mp-dia--baixa::before {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ds-muted); }

.mp .mp-dia--sem {
  background: repeating-linear-gradient(135deg, transparent 0 3px, rgba(125, 135, 148, 0.16) 3px 6px); }
  .mp .mp-dia--sem .mp-v {
    color: var(--ds-muted);
    font-weight: 400; }

.mp .mp-dia--porcalcular {
  background: var(--ds-grey); }
  .mp .mp-dia--porcalcular .mp-v {
    color: var(--ds-muted);
    opacity: .4; }

.mp .mp-dia.is-sel {
  border-color: var(--ds-ink);
  box-shadow: inset 0 0 0 1px var(--ds-ink); }

.mp .mp-legenda {
  margin-top: 16px; }

.mp .mp-legenda-itens {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px; }

.mp .mp-leg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--ds-muted); }

.mp .mp-amostra {
  width: 22px;
  height: 20px;
  border-radius: 5px;
  background: var(--ds-grey);
  display: inline-block;
  position: relative;
  flex: 0 0 auto; }

.mp .mp-amostra--manual::after {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 0;
  height: 2px;
  background: var(--ds-ink);
  border-radius: 2px; }

.mp .mp-amostra--baixa::before {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ds-muted); }

.mp .mp-amostra--sem {
  background: repeating-linear-gradient(135deg, transparent 0 3px, rgba(125, 135, 148, 0.16) 3px 6px); }

.mp .mp-amostra--fds {
  background: var(--ds-grey);
  opacity: .55; }

.mp .mp-espera, .mp .mp-erro {
  padding: 30px;
  text-align: center;
  font-size: 13.5px; }

.mp .mp-espera {
  color: var(--ds-muted); }

.mp .mp-erro {
  color: #a94442;
  margin-bottom: 16px; }

.mp-gaveta-fundo {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(10, 16, 24, 0.38);
  z-index: 1040; }

.mp-gaveta {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 390px;
  max-width: 92vw;
  background: var(--yb-superficie);
  border-left: 1px solid var(--ds-line);
  z-index: 1041;
  overflow-y: auto;
  padding: 20px 22px 30px;
  box-shadow: -8px 0 28px rgba(10, 16, 24, 0.14); }

@media (prefers-reduced-motion: no-preference) {
  .mp-gaveta {
    animation: mpEntra .18s ease-out; }
  @keyframes mpEntra {
    from {
      transform: translateX(14px);
      opacity: .6; }
    to {
      transform: none;
      opacity: 1; } } }

.mp-gaveta-topo {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 18px; }

.mp-gaveta-data {
  font-size: 15px;
  font-weight: 600;
  color: var(--ds-ink);
  line-height: 1.35; }

.mp-gaveta-feriado {
  font-size: 12.5px;
  color: var(--ds-muted);
  margin-top: 2px; }

.mp-x {
  margin-left: auto;
  border: 0;
  background: none;
  font-size: 24px;
  line-height: 1;
  color: var(--ds-muted);
  cursor: pointer;
  padding: 0 2px; }
  .mp-x:hover {
    color: var(--ds-ink); }

.mp-gaveta-num {
  text-align: center;
  padding: 14px 0 18px;
  border-bottom: 1px solid var(--ds-line); }

.mp-grande {
  font-size: 50px;
  line-height: 1;
  font-weight: 700;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.mp-grande-leg {
  margin-top: 7px;
  font-size: 12.5px;
  color: var(--ds-muted);
  line-height: 1.5; }

.mp-conf {
  display: inline-block;
  margin-top: 10px;
  font-size: 10.5px;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  background: var(--ds-grey);
  color: var(--ds-muted); }

.mp-conf--alta {
  background: rgba(190, 214, 47, 0.22);
  color: var(--ds-green-ink); }

.mp-conf--baixa {
  background: rgba(214, 158, 46, 0.16);
  color: #8a6410; }

.mp-conta {
  padding: 16px 0;
  border-bottom: 1px solid var(--ds-line); }

.mp-conta-titulo {
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin-bottom: 10px; }

.mp-linha {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 4px 0;
  font-size: 13.5px; }
  .mp-linha span {
    color: var(--ds-muted); }
  .mp-linha b {
    margin-left: auto;
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums; }

.mp-linha--sub {
  padding-left: 12px;
  font-size: 12.5px;
  opacity: .85; }

.mp-linha--res {
  border-top: 1px solid var(--ds-line);
  margin-top: 5px;
  padding-top: 8px; }

.mp-gaveta-nota {
  margin-top: 16px; }

.theme-3 .mp .mp-dia--sem,
.theme-3 .mp .mp-amostra--sem {
  background: repeating-linear-gradient(135deg, transparent 0 3px, rgba(255, 255, 255, 0.1) 3px 6px); }

.theme-3 .mp .mp-nivel-1 {
  background: rgba(190, 214, 47, 0.1); }

.theme-3 .mp .mp-nivel-2 {
  background: rgba(190, 214, 47, 0.19); }

.theme-3 .mp .mp-nivel-3 {
  background: rgba(190, 214, 47, 0.3); }

.theme-3 .mp .mp-nivel-4 {
  background: rgba(190, 214, 47, 0.44); }

.theme-3 .mp .mp-erro {
  color: #ff9d94; }

.theme-3 .mp-conf--alta {
  background: rgba(190, 214, 47, 0.16);
  color: #d2e356; }

.theme-3 .mp-conf--baixa {
  background: rgba(214, 158, 46, 0.16);
  color: #f0c860; }

.theme-3 .mp-gaveta-fundo {
  background: rgba(0, 0, 0, 0.55); }

.theme-3 .mp-gaveta {
  box-shadow: -8px 0 28px rgba(0, 0, 0, 0.45); }

.fl .fl-erro {
  padding: 18px;
  color: #a94442;
  margin-bottom: 14px;
  font-size: 13.5px; }

.fl .fl-vazio {
  color: var(--ds-muted); }

.fl .fl-vazio--bloco {
  padding: 22px 4px;
  text-align: center;
  font-size: 13.5px;
  margin: 0; }

.fl .fl-texto {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ds-text); }

.fl .fl-sub {
  margin: 18px 0 8px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ds-muted); }

.fl .fl-mt {
  margin-top: 18px; }

.fl .fl-pre {
  white-space: pre-wrap; }

.fl .fl-barra > .ds-input, .fl .fl-barra > .ds-select, .fl .fl-barra > .ds-btn, .fl .fl-linha-form > .ds-input, .fl .fl-linha-form > .ds-select, .fl .fl-linha-form > .ds-btn, .fl .fl-dia > .ds-input, .fl .fl-dia > .ds-select, .fl .fl-dia > .ds-btn {
  margin: 0;
  height: 42px; }

.fl .fl-barra > .ds-btn, .fl .fl-linha-form > .ds-btn, .fl .fl-dia > .ds-btn {
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center; }

.fl .fl-barra > .fl-check, .fl .fl-linha-form > .fl-check, .fl .fl-dia > .fl-check {
  margin: 0; }

.fl .fl-barra {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px; }
  .fl .fl-barra .fl-procura {
    flex: 1 1 240px;
    min-width: 0; }
  .fl .fl-barra .ds-select {
    flex: 0 1 220px;
    width: auto; }
  .fl .fl-barra .fl-nova {
    margin-left: auto; }

.fl .fl-regras {
  margin-bottom: 14px; }

.fl .fl-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 400;
  font-size: 13px;
  color: var(--ds-text);
  margin: 8px 0;
  cursor: pointer; }

.fl .fl-tablewrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

.fl .fl-tabela {
  min-width: 760px; }

.fl .fl-linha {
  cursor: pointer; }

.fl .fl-linha:hover td {
  background: var(--ds-grey); }

.fl .fl-linha--sel td {
  box-shadow: inset 0 -2px 0 var(--ds-green); }

.fl .fl-matricula {
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: .03em;
  white-space: nowrap;
  font-variant-numeric: tabular-nums; }

.fl .fl-prop {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid var(--ds-line);
  white-space: nowrap;
  color: var(--ds-text); }

.fl .fl-prop--yourbox {
  border-color: var(--ds-green-d);
  background: rgba(190, 214, 47, 0.14); }

.fl .fl-prop--driver {
  border-color: var(--ds-ink); }

.fl .fl-prop--nc {
  border-style: dashed;
  color: var(--ds-muted); }

.fl .fl-estado {
  font-size: 12.5px;
  white-space: nowrap; }

.fl .fl-estado--oficina, .fl .fl-estado--imobilizada {
  color: #b26a00;
  font-weight: 600; }

.fl .fl-estado--inativa, .fl .fl-estado--vendida {
  color: var(--ds-muted); }

.fl .fl-casa {
  display: inline-block;
  padding: 0 6px;
  margin-left: 4px;
  border-radius: 4px;
  font-size: 11px;
  color: var(--ds-muted);
  border: 1px solid var(--ds-line); }

.fl .fl-ficha-topo {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px; }

.fl .fl-ficha-matricula {
  font-size: 26px;
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: .04em;
  line-height: 1.1; }

.fl .fl-ficha-desc {
  color: var(--ds-muted);
  font-size: 13.5px;
  margin-top: 2px; }

.fl .fl-ficha-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap; }

.fl .fl-prazos {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px; }

.fl .fl-linha-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center; }
  .fl .fl-linha-form .ds-select {
    flex: 0 1 200px;
    width: auto; }
  .fl .fl-linha-form .ds-input {
    flex: 1 1 180px;
    min-width: 0; }

.fl .fl-atribuir {
  margin-top: 10px;
  padding: 14px;
  border-radius: var(--ds-radius-s);
  background: var(--ds-grey); }
  .fl .fl-atribuir > .ds-input {
    margin-top: 8px; }

.fl .fl-hist {
  margin-top: 14px;
  font-size: 13px;
  color: var(--ds-text); }
  .fl .fl-hist summary {
    cursor: pointer;
    color: var(--ds-muted); }
  .fl .fl-hist ul {
    margin: 8px 0 0;
    padding-left: 18px; }

.fl .fl-form textarea.ds-input {
  min-height: 60px;
  resize: vertical; }

.fl .fl-km-hoje {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: baseline; }
  .fl .fl-km-hoje .fl-km-n {
    font-size: 28px;
    font-weight: 700;
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums; }

.fl .fl-sit {
  display: inline-block;
  padding: 2px 9px;
  border-radius: 999px;
  font-size: 12px;
  white-space: nowrap;
  border: 1px solid var(--ds-line); }

.fl .fl-sit--emFalta {
  border-color: #b8532f;
  color: #b8532f;
  font-weight: 600; }

.fl .fl-sit--registada {
  border-color: var(--ds-green-d);
  background: rgba(190, 214, 47, 0.14); }

.fl .fl-sit--dispensado {
  border-style: dashed; }

.fl .fl-sit--facultativa {
  color: var(--ds-muted); }

.fl .fl-acoes-linha {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; }

.fl .fl-mini {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-text);
  border-radius: 999px;
  padding: 3px 11px;
  font-size: 12px;
  cursor: pointer; }
  .fl .fl-mini:hover {
    border-color: var(--ds-ink);
    color: var(--ds-ink); }

.fl .fl-mini-sel {
  width: auto;
  padding: 3px 26px 3px 9px;
  font-size: 12px;
  height: auto; }

.fl .fl-editado {
  font-size: 11px;
  color: var(--ds-muted);
  cursor: help;
  border-bottom: 1px dotted var(--ds-muted); }

.fl .fl-dia {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px; }

.fl .fl-abas {
  display: flex;
  gap: 4px;
  margin: 4px 0 16px;
  border-bottom: 1px solid var(--ds-line);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

.fl .fl-aba {
  border: 0;
  background: none;
  padding: 9px 14px;
  font-size: 13.5px;
  white-space: nowrap;
  color: var(--ds-muted);
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer; }
  .fl .fl-aba:hover {
    color: var(--ds-ink); }
  .fl .fl-aba:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: -2px; }

.fl .fl-aba--on {
  color: var(--ds-ink);
  font-weight: 600;
  border-bottom-color: var(--ds-green); }

.fl .fl-sec-topo {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px; }
  .fl .fl-sec-topo > .ds-btn, .fl .fl-sec-topo .fl-acoes-linha > .ds-btn {
    margin: 0; }

.fl .fl-parada {
  border-left: 4px solid #b8532f; }

.fl .fl-parada-topo {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start; }

.fl .fl-reatribuir {
  padding: 8px 0;
  border-top: 1px solid var(--ds-line); }

.fl .fl-reatribuir-linha {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
  align-items: center; }

.fl .fl-cand {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding: 6px 10px;
  margin-top: 6px;
  border-radius: var(--ds-radius-s);
  background: var(--ds-grey);
  font-size: 13px; }
  .fl .fl-cand > span:first-child {
    font-weight: 600;
    color: var(--ds-ink); }
  .fl .fl-cand > .fl-mini {
    margin-left: auto; }

.fl .fl-pend {
  padding: 7px 10px;
  border-radius: var(--ds-radius-s);
  font-size: 13px;
  cursor: pointer; }
  .fl .fl-pend:hover {
    background: var(--ds-grey); }

.fl .fl-pend--atraso {
  color: #b8532f; }

.fl a.fl-mini {
  display: inline-block;
  text-decoration: none; }

.fl .fl-dia .ds-input {
  width: auto; }

.km-faixa {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 12px;
  padding: 10px 16px;
  border-radius: var(--ds-radius-s);
  background: #fff4e5;
  border: 1px solid #f0c27b;
  color: #6b4300;
  font-size: 13.5px; }

.km-faixa-bt {
  border: 0;
  border-radius: 999px;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 600;
  background: var(--ds-green);
  color: var(--ds-green-ink);
  cursor: pointer; }
  .km-faixa-bt:hover {
    background: var(--ds-green-d); }

.km-caixa .km-campo {
  margin-top: 16px;
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  height: auto;
  padding: 10px 14px; }

.km-caixa .km-erro {
  margin-top: 8px;
  min-height: 18px;
  font-size: 13px;
  color: #b8532f; }

.fl .fl-secoes {
  margin-top: 0; }

.fl .fa-adiado td {
  opacity: .6; }

.fl .fa-ensaio-lista {
  margin: 8px 0;
  padding-left: 18px;
  font-size: 13px; }

.fl .fa-ligado {
  font-size: 14px; }

.fl .fc-staff {
  display: grid;
  gap: 6px 18px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

.fl .fc-pessoa {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 7px 10px;
  border-radius: var(--ds-radius-s);
  font-weight: 400;
  cursor: pointer;
  min-width: 0; }
  .fl .fc-pessoa:hover {
    background: var(--ds-grey); }
  .fl .fc-pessoa > input {
    margin: 3px 0 0; }
  .fl .fc-pessoa > span {
    display: flex;
    flex-direction: column;
    min-width: 0; }
  .fl .fc-pessoa small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

.fl .fc-pessoa-nome {
  font-size: 13.5px;
  color: var(--ds-text);
  line-height: 1.3; }

.fl .fc-kmgrid {
  display: grid;
  gap: 12px;
  align-items: end;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }

.fl .fc-cfg .ds-grid {
  align-items: end; }

.fl .fc-kmcel {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0; }
  .fl .fc-kmcel .ds-label {
    line-height: 1.25; }
  .fl .fc-kmcel .ds-input {
    width: 100%;
    margin: 0; }

.sn-menu {
  width: 360px;
  max-width: calc(100vw - 24px);
  max-height: 70vh;
  overflow-y: auto;
  padding: 0 !important; }

.sn-topo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--ds-line);
  font-size: 13px;
  color: var(--ds-ink); }

.sn-todas {
  border: 0;
  background: none;
  color: var(--ds-muted);
  font-size: 12px;
  cursor: pointer;
  padding: 0; }
  .sn-todas:hover {
    color: var(--ds-ink);
    text-decoration: underline; }

.sn-item {
  padding: 10px 14px 10px 12px;
  border-left: 3px solid transparent;
  border-bottom: 1px solid var(--ds-line);
  cursor: pointer;
  white-space: normal; }
  .sn-item:hover {
    background: var(--ds-grey); }

.sn-item--nova {
  border-left-color: var(--ds-green); }

.sn-item--nova.sn-item--urgente {
  border-left-color: #b8532f; }

.sn-titulo {
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-ink);
  line-height: 1.35; }

.sn-item:not(.sn-item--nova) .sn-titulo {
  font-weight: 400;
  color: var(--ds-text); }

.sn-texto {
  font-size: 12.5px;
  color: var(--ds-muted);
  line-height: 1.45;
  margin-top: 2px; }

.sn-quando {
  font-size: 11px;
  color: var(--ds-muted);
  margin-top: 4px; }

.sn-vazio {
  padding: 18px 14px;
  font-size: 13px;
  color: var(--ds-muted);
  text-align: center; }

.fl-foto-fundo {
  cursor: zoom-out; }

.fl-foto {
  max-width: 100%;
  max-height: 100%;
  border-radius: var(--ds-radius-s);
  box-shadow: 0 18px 50px rgba(10, 16, 24, 0.4); }

.fr .fr-erro, .fr .fr-espera {
  padding: 28px;
  text-align: center;
  font-size: 13.5px; }

.fr .fr-espera {
  color: var(--ds-muted); }

.fr .fr-erro {
  color: #a94442;
  margin-bottom: 14px; }

.fr .fr-trancado {
  padding: 14px 18px;
  margin-bottom: 16px;
  font-size: 13.5px;
  line-height: 1.6;
  border-left: 3px solid var(--ds-green);
  color: var(--ds-text); }
  .fr .fr-trancado b {
    color: var(--ds-ink); }

.fr .fr-topo {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
  grid-template-columns: minmax(220px, 300px) 1fr; }

@media (max-width: 780px) {
  .fr .fr-topo {
    grid-template-columns: 1fr; } }

.fr .fr-saldo {
  padding: 20px 22px;
  text-align: center; }

.fr .fr-saldo-n {
  font-size: 52px;
  line-height: 1;
  font-weight: 700;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.fr .fr-saldo-leg {
  margin-top: 6px;
  font-size: 13px;
  color: var(--ds-muted);
  line-height: 1.45; }

.fr .fr-saldo-sub {
  margin-top: 6px;
  font-size: 12px;
  color: var(--ds-muted); }

.fr .fr-saldo-nota {
  margin-top: 12px;
  text-align: left; }

.fr .fr-barra {
  margin-top: 12px;
  height: 6px;
  border-radius: 999px;
  background: var(--ds-grey);
  overflow: hidden; }
  .fr .fr-barra span {
    display: block;
    height: 100%;
    background: var(--ds-green);
    border-radius: 999px; }

.fr .fr-avisos-card {
  padding: 16px 20px; }

.fr .fr-regras {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px; }
  .fr .fr-regras li {
    font-size: 13px;
    color: var(--ds-muted);
    line-height: 1.5;
    padding-left: 16px;
    position: relative; }
    .fr .fr-regras li::before {
      content: "";
      position: absolute;
      left: 0;
      top: .58em;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--ds-line); }
    .fr .fr-regras li b {
      color: var(--ds-ink);
      font-weight: 600; }
  .fr .fr-regras .fr-ok::before {
    background: var(--ds-green); }
  .fr .fr-regras .fr-pendente::before {
    background: #d69e2e; }

.fr .fr-novo {
  padding: 18px 20px;
  margin-bottom: 16px; }

.fr .fr-novo-topo {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px; }

.fr .fr-novo-datas {
  font-size: 16px;
  font-weight: 600;
  color: var(--ds-ink); }

.fr .fr-novo-sub {
  margin-top: 3px;
  font-size: 12.5px;
  color: var(--ds-muted); }

.fr .fr-novo-topo .ds-btn {
  margin-left: auto; }

.fr .fr-msg {
  padding: 9px 13px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 8px;
  border-left: 3px solid transparent; }

.fr .fr-msg--erro {
  background: rgba(169, 68, 66, 0.1);
  border-left-color: #a94442;
  color: #7f3230; }

.fr .fr-msg--aviso {
  background: rgba(214, 158, 46, 0.12);
  border-left-color: #d69e2e;
  color: #7a5a11; }

.fr .fr-cab {
  margin: 12px 0; }

.fr .fr-cab-titulo {
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin-bottom: 7px; }

.fr .fr-cab-linha {
  display: flex;
  gap: 12px;
  font-size: 12.5px;
  padding: 3px 0; }
  .fr .fr-cab-linha span {
    color: var(--ds-muted);
    font-variant-numeric: tabular-nums; }
  .fr .fr-cab-linha b {
    margin-left: auto;
    font-weight: 600; }

.fr .fr-cab--fura b {
  color: #a94442; }

.fr .fr-cab--limite b {
  color: #8a6410; }

.fr .fr-nota-campo {
  display: block;
  margin: 12px 0 4px;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--ds-muted); }
  .fr .fr-nota-campo .ds-input {
    margin-top: 5px; }

.fr .fr-acts {
  margin-top: 14px; }

.fr .fr-ano {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }

.fr .fr-mes {
  padding: 11px 12px 13px; }

.fr .fr-mes-nome {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ds-ink);
  margin-bottom: 8px; }

.fr .fr-semana, .fr .fr-dias {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 3px; }

.fr .fr-semana {
  margin-bottom: 4px; }
  .fr .fr-semana span {
    text-align: center;
    font-size: 9.5px;
    color: var(--ds-muted); }
  .fr .fr-semana .fr-fds {
    opacity: .55; }

.fr .fr-dia {
  position: relative;
  border: 1px solid transparent;
  background: var(--ds-grey);
  border-radius: 5px;
  padding: 5px 0;
  cursor: pointer;
  font-size: 11.5px;
  line-height: 1;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums;
  transition: border-color .12s, transform .08s; }
  .fr .fr-dia:hover {
    border-color: var(--ds-ink); }
  .fr .fr-dia:active {
    transform: scale(0.92); }
  .fr .fr-dia:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: 1px; }

.fr .fr-dia--vazio {
  background: none;
  border: 0;
  cursor: default; }

.fr .fr-dia--fds {
  opacity: .6; }

.fr .fr-dia--meu-aprovado {
  background: var(--ds-green);
  color: var(--ds-green-ink);
  font-weight: 700; }

.fr .fr-dia--meu-submetido {
  background: repeating-linear-gradient(135deg, rgba(190, 214, 47, 0.55) 0 4px, rgba(190, 214, 47, 0.22) 4px 8px);
  color: var(--ds-green-ink);
  font-weight: 600; }

.fr .fr-dia--meu-rascunho {
  background: transparent;
  border-color: var(--ds-green);
  font-weight: 600; }

.fr .fr-dia--outros::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 2px;
  transform: translateX(-50%);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--ds-muted); }

.fr .fr-dia--cheio {
  background: rgba(169, 68, 66, 0.14); }

.fr .fr-dia.is-sel {
  border-color: var(--ds-ink);
  box-shadow: inset 0 0 0 1px var(--ds-ink); }

.fr .fr-legenda {
  margin-top: 14px;
  padding: 12px 16px; }

.fr .fr-legenda-itens {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px; }

.fr .fr-leg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--ds-muted); }

.fr .fr-am {
  width: 20px;
  height: 18px;
  border-radius: 5px;
  background: var(--ds-grey);
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  border: 1px solid transparent; }

.fr .fr-lista {
  margin-top: 16px; }

.fr .fr-tabela {
  width: 100%; }

.fr .fr-estado {
  display: inline-block;
  font-size: 10.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ds-grey);
  color: var(--ds-muted); }

.fr .fr-estado--aprovado {
  background: rgba(190, 214, 47, 0.22);
  color: var(--ds-green-ink); }

.fr .fr-estado--submetido {
  background: rgba(214, 158, 46, 0.16);
  color: #8a6410; }

.fr .fr-estado--recusado {
  background: rgba(169, 68, 66, 0.12);
  color: #a94442; }

.fr .fr-trancado-chip {
  margin-left: 6px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-muted); }

.fr .fr-decisao {
  margin-top: 4px;
  font-size: 12px;
  color: var(--ds-muted);
  line-height: 1.45; }

.fr .fr-acoes {
  white-space: nowrap;
  text-align: right; }

.fr .fr-act {
  border: 0;
  background: none;
  padding: 2px 6px;
  font-size: 12px;
  color: var(--ds-muted);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px; }
  .fr .fr-act:hover {
    color: var(--ds-ink); }

.fr .fr-act--del:hover {
  color: #a94442; }

.fr .fr-sem-acoes {
  color: var(--ds-muted);
  opacity: .5; }

.fr .fr-vazio {
  color: var(--ds-muted);
  font-size: 13.5px;
  margin: 0; }

.mfe .mfe-erro, .mfe .mfe-espera {
  padding: 28px;
  text-align: center;
  font-size: 13.5px; }

.mfe .mfe-espera {
  color: var(--ds-muted); }

.mfe .mfe-erro {
  color: #a94442;
  margin-bottom: 14px; }

.mfe .mfe-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-bottom: 14px; }

.mfe .mfe-anos, .mfe .mfe-grupos {
  display: flex;
  gap: 4px; }

.mfe .mfe-tab, .mfe .mfe-chip {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 999px;
  padding: 5px 14px;
  font-size: 12.5px;
  cursor: pointer; }
  .mfe .mfe-tab:hover, .mfe .mfe-chip:hover {
    color: var(--ds-ink); }
  .mfe .mfe-tab.is-on, .mfe .mfe-chip.is-on {
    border-color: var(--ds-ink);
    color: var(--ds-ink);
    font-weight: 600; }

.mfe .mfe-trinco {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding: 16px 20px;
  margin-bottom: 16px; }

.mfe .mfe-trinco--on {
  border-left: 3px solid #d69e2e; }

.mfe .mfe-trinco-txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 210px; }
  .mfe .mfe-trinco-txt b {
    font-size: 14px;
    color: var(--ds-ink); }
  .mfe .mfe-trinco-txt span {
    font-size: 12.5px;
    color: var(--ds-muted);
    line-height: 1.5; }

.mfe .mfe-trinco-nota {
  flex: 1 1 220px;
  min-width: 0; }

.mfe .mfe-stats {
  margin-bottom: 16px; }

.mfe .mfe-pedidos {
  margin-bottom: 16px; }

.mfe .mfe-conta {
  margin-left: 9px;
  font-size: 11.5px;
  font-weight: 400;
  color: var(--ds-muted);
  letter-spacing: 0;
  text-transform: none; }

.mfe .mfe-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 14px; }

.mfe .mfe-lista {
  display: grid;
  gap: 8px; }

.mfe .mfe-pedido {
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius-s);
  overflow: hidden; }

.mfe .mfe-pedido.is-aberto {
  border-color: var(--ds-ink); }

.mfe .mfe-pedido-topo {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  padding: 11px 14px;
  cursor: pointer; }
  .mfe .mfe-pedido-topo:hover {
    background: var(--ds-grey); }

.mfe .mfe-quem {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 170px; }
  .mfe .mfe-quem b {
    font-size: 13.5px;
    color: var(--ds-ink); }

.mfe .mfe-grupo-chip, .mfe .mfe-vinculo {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--ds-muted);
  background: var(--ds-grey);
  padding: 2px 7px;
  border-radius: 4px; }

.mfe .mfe-datas {
  font-size: 13px;
  color: var(--ds-text);
  font-variant-numeric: tabular-nums; }

.mfe .mfe-uteis {
  font-size: 12.5px;
  color: var(--ds-muted); }

.mfe .mfe-estado {
  margin-left: auto;
  font-size: 10.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--ds-grey);
  color: var(--ds-muted); }

.mfe .mfe-estado--aprovado {
  background: rgba(190, 214, 47, 0.22);
  color: var(--ds-green-ink); }

.mfe .mfe-estado--submetido {
  background: rgba(214, 158, 46, 0.16);
  color: #8a6410; }

.mfe .mfe-estado--recusado {
  background: rgba(169, 68, 66, 0.12);
  color: #a94442; }

.mfe .mfe-trancado-chip {
  font-size: 10px;
  text-transform: uppercase;
  color: var(--ds-muted); }

.mfe .mfe-pedido-corpo {
  padding: 4px 14px 14px;
  border-top: 1px solid var(--ds-line); }

.mfe .mfe-nota-user {
  margin: 12px 0;
  font-size: 13px;
  color: var(--ds-text);
  line-height: 1.55; }
  .mfe .mfe-nota-user span {
    color: var(--ds-muted); }

.mfe .mfe-cobertura {
  margin: 12px 0; }

.mfe .mfe-cob-titulo {
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin-bottom: 7px; }

.mfe .mfe-cob-linha {
  display: flex;
  gap: 12px;
  align-items: baseline;
  font-size: 12.5px;
  padding: 3px 0; }
  .mfe .mfe-cob-linha span {
    color: var(--ds-muted);
    font-variant-numeric: tabular-nums; }
  .mfe .mfe-cob-linha b {
    margin-left: auto;
    font-weight: 600; }

.mfe .mfe-cob-n {
  min-width: 80px; }

.mfe .mfe-cob--fura b {
  color: #a94442; }

.mfe .mfe-cob--limite b {
  color: #8a6410; }

.mfe .mfe-cob-ok {
  font-size: 12.5px;
  color: var(--ds-muted); }

.mfe .mfe-saldo-linha {
  margin-top: 10px;
  font-size: 12.5px;
  color: var(--ds-muted); }
  .mfe .mfe-saldo-linha b {
    color: var(--ds-ink); }

.mfe .mfe-decisao-ant {
  margin: 10px 0;
  font-size: 12.5px;
  color: var(--ds-muted);
  font-style: italic; }

.mfe .mfe-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px; }

.mfe .mfe-nota {
  flex: 1 1 200px;
  min-width: 0; }

.mfe .mfe-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12.5px;
  font-weight: 400;
  color: var(--ds-muted); }
  .mfe .mfe-check input {
    margin: 0; }

.mfe .mfe-vazio {
  color: var(--ds-muted);
  font-size: 13.5px;
  margin: 0; }

.mfe .mfe-intro {
  font-size: 13px;
  color: var(--ds-muted);
  line-height: 1.6;
  max-width: 74ch;
  margin: 0 0 18px; }

.mfe .mfe-campos {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }

.mfe .mfe-campo {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin: 0;
  font-weight: 400; }

.mfe .mfe-campo-nome {
  font-size: 13px;
  font-weight: 600;
  color: var(--ds-ink); }

.mfe .mfe-campo-nota {
  font-size: 11.5px;
  color: var(--ds-muted);
  line-height: 1.45; }

.mfe .mfe-campo input[type="checkbox"] {
  align-self: flex-start;
  margin: 3px 0; }

.theme-3 .fr .fr-erro, .theme-3 .mfe .mfe-erro {
  color: #ff9d94; }

.theme-3 .fr .fr-msg--erro {
  background: rgba(255, 157, 148, 0.12);
  border-left-color: #ff9d94;
  color: #ffb3ab; }

.theme-3 .fr .fr-msg--aviso {
  background: rgba(240, 200, 96, 0.12);
  border-left-color: #f0c860;
  color: #f0c860; }

.theme-3 .fr .fr-cab--fura b, .theme-3 .mfe .mfe-cob--fura b {
  color: #ff9d94; }

.theme-3 .fr .fr-cab--limite b, .theme-3 .mfe .mfe-cob--limite b {
  color: #f0c860; }

.theme-3 .fr .fr-estado--aprovado, .theme-3 .mfe .mfe-estado--aprovado {
  background: rgba(190, 214, 47, 0.16);
  color: #d2e356; }

.theme-3 .fr .fr-estado--submetido, .theme-3 .mfe .mfe-estado--submetido {
  background: rgba(214, 158, 46, 0.16);
  color: #f0c860; }

.theme-3 .fr .fr-estado--recusado, .theme-3 .mfe .mfe-estado--recusado {
  background: rgba(255, 157, 148, 0.14);
  color: #ff9d94; }

.theme-3 .fr .fr-dia--meu-aprovado {
  background: rgba(190, 214, 47, 0.72);
  color: #26310a; }

.theme-3 .fr .fr-dia--meu-submetido {
  background: repeating-linear-gradient(135deg, rgba(190, 214, 47, 0.42) 0 4px, rgba(190, 214, 47, 0.16) 4px 8px);
  color: #d2e356; }

.theme-3 .fr .fr-dia--meu-rascunho {
  color: #d2e356; }

.theme-3 .fr .fr-dia--cheio {
  background: rgba(255, 157, 148, 0.16); }

.theme-3 .fr .fr-regras .fr-pendente::before {
  background: #f0c860; }

.theme-3 .mfe .mfe-trinco--on {
  border-left-color: #f0c860; }

.pnf {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 62vh;
  padding: 30px 20px; }

.pnf-caixa {
  max-width: 520px;
  width: 100%;
  text-align: center;
  background: var(--ds-card);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow);
  padding: 40px 36px 34px; }

.pnf-marca {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px; }

.pnf-barra {
  width: 34px;
  height: 3px;
  border-radius: 2px;
  background: var(--ds-green); }

.pnf-cod {
  font-size: 12px;
  letter-spacing: .22em;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.pnf-titulo {
  margin: 0;
  font-size: 26px;
  line-height: 1.25;
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: -.015em; }

.pnf-texto {
  margin: 14px auto 0;
  max-width: 42ch;
  font-size: 14px;
  line-height: 1.65;
  color: var(--ds-muted); }

.pnf-accoes {
  margin-top: 26px;
  display: flex;
  gap: 9px;
  justify-content: center;
  flex-wrap: wrap; }

.cp .modal-content {
  border-radius: var(--ds-radius);
  border: 1px solid var(--ds-line);
  background: var(--yb-superficie);
  overflow: hidden; }

.cp .cp-topo {
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--ds-line);
  background: var(--yb-superficie);
  position: relative; }

.cp .cp-fechar {
  position: absolute;
  top: 16px;
  right: 18px;
  font-size: 19px;
  color: var(--ds-muted);
  cursor: pointer;
  line-height: 1; }
  .cp .cp-fechar:hover {
    color: var(--ds-ink); }

.cp .cp-titulo {
  margin: 0;
  padding-right: 34px;
  font-size: 17px;
  font-weight: 700;
  color: var(--ds-ink);
  letter-spacing: -.01em; }

.cp .cp-sub {
  margin: 7px 0 0;
  padding-right: 34px;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ds-muted);
  max-width: 62ch; }
  .cp .cp-sub b {
    color: var(--ds-ink);
    font-weight: 600; }

.cp .cp-corpo {
  padding: 0;
  background: var(--yb-superficie); }

.cp .cp-tabela-fora {
  overflow-x: auto;
  max-height: 68vh;
  overflow-y: auto; }

.cp .cp-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px; }
  .cp .cp-tabela thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--ds-grey);
    color: var(--ds-muted);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 10px 12px;
    text-align: left;
    white-space: nowrap;
    border-bottom: 1px solid var(--ds-line); }
  .cp .cp-tabela td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--ds-line);
    color: var(--ds-text);
    vertical-align: middle;
    white-space: nowrap; }
  .cp .cp-tabela tbody tr:last-child td {
    border-bottom: 0; }
  .cp .cp-tabela tbody tr:hover td {
    background: var(--ds-grey); }

.cp .cp-num {
  text-align: right;
  font-variant-numeric: tabular-nums; }

.cp .cp-nr {
  font-weight: 600;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }

.cp .cp-data {
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.cp .cp-preco {
  font-weight: 600;
  color: var(--ds-ink); }

.cp .cp-preco--driver {
  font-weight: 400;
  color: var(--ds-muted); }

.cp .cp-margem {
  color: var(--ds-muted);
  font-size: 12px; }

.cp .cp-acao {
  text-align: right;
  padding-right: 16px !important; }

.cp .cp-btn {
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-muted);
  border-radius: 999px;
  padding: 4px 13px;
  font-size: 12px;
  cursor: pointer;
  transition: border-color .14s, color .14s, background .14s; }
  .cp .cp-btn:hover {
    border-color: var(--ds-ink);
    color: var(--ds-ink);
    background: var(--ds-card); }
  .cp .cp-btn:active {
    transform: scale(0.96); }
  .cp .cp-btn:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: 2px; }

.cp .cp-estado {
  padding: 44px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px; }
  .cp .cp-estado b {
    font-size: 14px;
    color: var(--ds-ink); }
  .cp .cp-estado span {
    font-size: 13px;
    color: var(--ds-muted);
    max-width: 40ch;
    line-height: 1.6; }

.theme-3 .cp .cp-tabela thead th {
  background: rgba(255, 255, 255, 0.05); }

.theme-3 .cp .cp-tabela tbody tr:hover td {
  background: rgba(255, 255, 255, 0.04); }

.theme-3 .cp .cp-btn:hover {
  background: rgba(255, 255, 255, 0.05); }

.cf-fundo {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(10, 16, 24, 0.48);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px; }

.cf-caixa {
  background: var(--yb-superficie);
  border: 1px solid var(--ds-line);
  border-radius: var(--ds-radius);
  box-shadow: 0 18px 50px rgba(10, 16, 24, 0.28);
  max-width: 440px;
  width: 100%;
  padding: 26px 28px 22px;
  max-height: 100%;
  overflow-y: auto; }

.cf-caixa--perigo {
  border-top: 3px solid #d69e2e; }

.cf-titulo {
  font-size: 17px;
  font-weight: 700;
  color: var(--ds-ink);
  line-height: 1.35;
  letter-spacing: -.01em; }

.cf-texto {
  margin-top: 9px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ds-muted); }

.cf-detalhe {
  margin-top: 12px;
  padding: 9px 12px;
  border-radius: 8px;
  background: var(--ds-grey);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ds-text); }

.cf-accoes {
  margin-top: 22px;
  display: flex;
  gap: 8px;
  justify-content: flex-end; }

.cf-bt {
  border-radius: 999px;
  padding: 8px 18px;
  font-size: 13.5px;
  cursor: pointer;
  border: 1px solid var(--ds-line);
  background: var(--ds-card);
  color: var(--ds-text);
  transition: border-color .14s, background .14s, color .14s; }
  .cf-bt:hover {
    border-color: var(--ds-ink);
    color: var(--ds-ink); }
  .cf-bt:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: 2px; }

.cf-bt--ok {
  background: var(--ds-green);
  border-color: var(--ds-green);
  color: var(--ds-green-ink);
  font-weight: 600; }
  .cf-bt--ok:hover {
    background: var(--ds-green-d);
    border-color: var(--ds-green-d);
    color: var(--ds-green-ink); }

.cf-bt--perigo {
  background: #b8532f;
  border-color: #b8532f;
  color: #fff; }
  .cf-bt--perigo:hover {
    background: #9d4527;
    border-color: #9d4527;
    color: #fff; }

.cf-bt[disabled] {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none; }

.cf-lista {
  margin: 14px 0 0;
  padding-left: 18px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ds-text); }
  .cf-lista li + li {
    margin-top: 4px; }

.cf-lista-aviso {
  color: #b7791f; }

.cf-seccao {
  margin-top: 16px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ds-ink); }

.cf-opcoes {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px; }

.cf-opcao {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--ds-line);
  border-radius: 8px;
  font-weight: normal;
  cursor: pointer; }
  .cf-opcao input {
    margin-top: 3px;
    flex: 0 0 auto; }
  .cf-opcao:has(input:checked) {
    border-color: var(--ds-green); }

.cf-opcao-corpo {
  display: flex;
  flex-direction: column;
  gap: 2px; }

.cf-opcao-titulo {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ds-ink); }

.cf-opcao-texto {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ds-muted); }

.cf-marca {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  margin-top: 14px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ds-text);
  font-weight: normal;
  cursor: pointer; }
  .cf-marca input {
    margin-top: 2px;
    flex: 0 0 auto; }

.cf-campo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 16px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ds-ink); }
  .cf-campo .ds-input {
    font-weight: normal; }

.mfe .mfe-bar, .fr .fr-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--ds-line); }

.mfe .mfe-bar-rotulo, .fr .fr-bar-rotulo {
  font-size: 10.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ds-muted); }

.mfe .mfe-bar-nota, .fr .fr-bar-nota {
  font-size: 12.5px;
  color: var(--ds-muted);
  margin-left: auto; }

.mfe .mfe-anos, .fr .fr-anos {
  display: inline-flex;
  border: 1px solid var(--ds-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--ds-card); }

.mfe .mfe-ano, .fr .fr-ano-bt {
  border: 0;
  background: none;
  padding: 7px 17px;
  font-size: 13.5px;
  color: var(--ds-muted);
  cursor: pointer;
  font-variant-numeric: tabular-nums;
  border-right: 1px solid var(--ds-line); }
  .mfe .mfe-ano:last-child, .fr .fr-ano-bt:last-child {
    border-right: 0; }
  .mfe .mfe-ano:hover, .fr .fr-ano-bt:hover {
    color: var(--ds-ink);
    background: var(--ds-grey); }
  .mfe .mfe-ano.is-on, .fr .fr-ano-bt.is-on {
    background: var(--ds-ink);
    color: var(--ds-card);
    font-weight: 700; }
  .mfe .mfe-ano:focus-visible, .fr .fr-ano-bt:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: -2px; }

.mfe .mfe-filtros {
  align-items: center; }

.mfe .mfe-filtro-rotulo {
  font-size: 10.5px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin-right: 2px; }

.mfe .mfe-filtro-sep {
  width: 1px;
  height: 18px;
  background: var(--ds-line);
  margin: 0 6px;
  display: inline-block; }

.fr .fr-situacao {
  margin-top: 16px;
  padding: 11px 13px;
  border-radius: 9px;
  text-align: left;
  background: var(--ds-grey);
  border-left: 3px solid var(--ds-line);
  display: flex;
  flex-direction: column;
  gap: 3px; }
  .fr .fr-situacao b {
    font-size: 13px;
    color: var(--ds-ink); }
  .fr .fr-situacao span {
    font-size: 12.5px;
    line-height: 1.55;
    color: var(--ds-muted); }

.fr .fr-situacao--ok {
  border-left-color: var(--ds-green); }

.fr .fr-situacao--atencao, .fr .fr-situacao--aperta {
  border-left-color: #d69e2e; }

.fr .fr-situacao--passado {
  border-left-color: var(--ds-line);
  opacity: .85; }

.theme-3 .cf-fundo {
  background: rgba(0, 0, 0, 0.6); }

.theme-3 .cf-caixa {
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.55); }

.theme-3 .cf-caixa--perigo {
  border-top-color: #f0c860; }

.theme-3 .cf-bt--perigo {
  background: #c2603c;
  border-color: #c2603c; }

.theme-3 .cf-lista-aviso {
  color: #f0c860; }

.theme-3 .mfe .mfe-ano.is-on, .theme-3 .fr .fr-ano-bt.is-on {
  background: var(--ds-green);
  color: #26310a; }

.theme-3 .fr .fr-situacao--atencao, .theme-3 .fr .fr-situacao--aperta {
  border-left-color: #f0c860; }

.fr .fr-dia--passado {
  cursor: default;
  opacity: .42; }
  .fr .fr-dia--passado:hover {
    border-color: transparent; }
  .fr .fr-dia--passado:active {
    transform: none; }

.fr .fr-dia--passado.fr-dia--meu-aprovado,
.fr .fr-dia--passado.fr-dia--meu-submetido,
.fr .fr-dia--passado.fr-dia--meu-rascunho {
  opacity: .62; }

.fr .fr-am.fr-dia--passado {
  opacity: .42; }

.mfe .mfe-demo {
  margin-top: 16px;
  border-style: dashed;
  background: repeating-linear-gradient(135deg, transparent 0 8px, rgba(125, 135, 148, 0.045) 8px 16px); }

.mfe .mfe-demo-estado {
  margin: 10px 0 4px;
  font-size: 12.5px;
  color: var(--ds-muted); }
  .mfe .mfe-demo-estado b {
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums; }

.mfe .mfe-demo-acts {
  margin-top: 12px; }

.theme-3 .mfe .mfe-demo {
  background: repeating-linear-gradient(135deg, transparent 0 8px, rgba(255, 255, 255, 0.04) 8px 16px); }

.fr-barra-fixa {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  background: var(--yb-superficie);
  border-top: 1px solid var(--ds-line);
  box-shadow: 0 -6px 22px rgba(10, 16, 24, 0.14); }

@media (min-width: 992px) {
  .fr-barra-fixa {
    left: 220px; } }

.fr-bf-dentro {
  max-width: 1400px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px; }

.fr-bf-resumo {
  min-width: 210px; }

.fr-bf-blocos {
  display: flex;
  flex-wrap: wrap;
  gap: 6px; }

.fr-bf-bloco {
  display: inline-flex;
  align-items: baseline;
  gap: 7px;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 13px;
  color: var(--ds-ink);
  font-variant-numeric: tabular-nums; }
  .fr-bf-bloco i {
    font-style: normal;
    font-size: 11px;
    color: var(--ds-muted); }

.fr-bf-conta {
  margin-top: 5px;
  font-size: 12px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.fr-bf-aviso-blocos {
  margin-left: 8px;
  color: var(--ds-ink);
  font-weight: 600; }

.fr-bf-msgs {
  flex: 1 1 260px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 88px;
  overflow-y: auto; }
  .fr-bf-msgs .fr-msg {
    margin: 0;
    padding: 5px 10px;
    font-size: 12px; }

.fr-msg--cab {
  background: var(--ds-grey);
  border-left-color: var(--ds-line);
  color: var(--ds-muted); }

.fr-msg--cab.fr-cab--fura {
  border-left-color: #a94442;
  color: #7f3230; }

.fr-msg--cab.fr-cab--limite {
  border-left-color: #d69e2e;
  color: #7a5a11; }

.fr-bf-acts {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center; }

.fr-bf-nota {
  width: 230px;
  max-width: 46vw; }

.fr .fr-lista {
  margin-bottom: 120px; }

.fr .fr-comose {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 9px;
  background: var(--ds-grey);
  border-left: 3px solid var(--ds-green);
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--ds-muted);
  max-width: 88ch; }
  .fr .fr-comose b {
    color: var(--ds-ink); }
  .fr .fr-comose kbd {
    font-family: Menlo, Consolas, monospace;
    font-size: 11px;
    background: var(--ds-card);
    border: 1px solid var(--ds-line);
    border-radius: 4px;
    padding: 1px 5px;
    color: var(--ds-ink);
    box-shadow: none; }

.theme-3 .fr-barra-fixa {
  box-shadow: 0 -6px 22px rgba(0, 0, 0, 0.45); }

.theme-3 .fr-msg--cab.fr-cab--fura {
  border-left-color: #ff9d94;
  color: #ffb3ab; }

.theme-3 .fr-msg--cab.fr-cab--limite {
  border-left-color: #f0c860;
  color: #f0c860; }

:root {
  --yb-superficie: #ffffff; }

.theme-3 {
  --yb-superficie: #33424a; }

.yb-grp {
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  padding-right: 26px !important;
  user-select: none;
  -webkit-user-select: none;
  transition: color .14s ease; }
  .yb-grp:hover {
    color: #fff; }
  .yb-grp:focus-visible {
    outline: 2px solid var(--ds-green);
    outline-offset: -2px; }

.yb-grp .yb-grp-seta {
  pointer-events: none; }

.yb-grp-seta {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin-top: -4px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  opacity: .55;
  transform: rotate(45deg);
  transition: transform .16s ease, opacity .14s ease; }

.yb-grp:hover .yb-grp-seta {
  opacity: .95; }

.yb-grp.is-fechado .yb-grp-seta {
  transform: rotate(-45deg); }

.yb-grp.is-fechado {
  opacity: .62; }

.yb-grp.is-fechado:hover {
  opacity: 1; }

.yb-grp.is-aqui::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 2px;
  height: 12px;
  margin-top: -6px;
  background: var(--ds-green);
  border-radius: 0 2px 2px 0; }

.yb-grp-oculto {
  display: none !important; }

.mfe .mfe-funcoes {
  margin-top: 16px; }

.mfe .mfe-proposta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  padding: 11px 14px;
  margin-bottom: 16px;
  border: 1px dashed var(--ds-line);
  border-radius: var(--ds-radius-s); }

.mfe .mfe-proposta-txt {
  flex: 1 1 260px;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--ds-muted); }
  .mfe .mfe-proposta-txt b {
    color: var(--ds-ink); }

.mfe .mfe-sug {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  margin: 0 5px 0 0;
  background: var(--ds-grey);
  border-radius: 6px;
  padding: 2px 8px;
  font-size: 12px;
  color: var(--ds-ink); }
  .mfe .mfe-sug i {
    font-style: normal;
    font-size: 10.5px;
    color: var(--ds-muted); }

.mfe .mfe-tabela-f {
  width: 100%;
  margin-bottom: 14px; }

.mfe .mfe-min-f {
  width: 72px;
  text-align: center;
  font-variant-numeric: tabular-nums; }

.mfe .mfe-acoes-f {
  text-align: right;
  white-space: nowrap; }

.mfe .mfe-act {
  border: 0;
  background: none;
  padding: 2px 6px;
  font-size: 12px;
  color: var(--ds-muted);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px; }
  .mfe .mfe-act:hover {
    color: var(--ds-ink); }

.mfe .mfe-sem-folga td {
  background: rgba(214, 158, 46, 0.07); }

.mfe .mfe-alerta {
  margin-left: 7px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8a6410;
  background: rgba(214, 158, 46, 0.16);
  padding: 2px 7px;
  border-radius: 999px; }

.mfe .mfe-nova-f {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 20px; }
  .mfe .mfe-nova-f .ds-input {
    flex: 1 1 240px;
    min-width: 0;
    max-width: 380px; }

.mfe .mfe-matriz-titulo {
  font-size: 10.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ds-muted);
  margin: 4px 0 8px;
  padding-top: 14px;
  border-top: 1px solid var(--ds-line); }

.mfe .mfe-matriz-fora {
  overflow-x: auto; }

.mfe .mfe-matriz {
  width: 100%;
  min-width: 420px; }
  .mfe .mfe-matriz th, .mfe .mfe-matriz td {
    white-space: nowrap; }

.mfe .mfe-col-f {
  text-align: center;
  width: 1%; }

.mfe .mfe-col-f input {
  margin: 0;
  cursor: pointer; }

.mfe .mfe-herdado {
  margin-left: 7px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--ds-muted);
  border: 1px dashed var(--ds-line);
  padding: 1px 6px;
  border-radius: 999px; }

.theme-3 .mfe .mfe-sem-folga td {
  background: rgba(240, 200, 96, 0.07); }

.theme-3 .mfe .mfe-alerta {
  color: #f0c860;
  background: rgba(240, 200, 96, 0.16); }

.mp .mp-explica {
  margin: 0 0 14px;
  padding: 11px 14px;
  border-radius: 9px;
  background: var(--ds-grey);
  border-left: 3px solid var(--ds-green);
  font-size: 12.5px;
  line-height: 1.65;
  color: var(--ds-muted);
  max-width: 92ch; }
  .mp .mp-explica b {
    color: var(--ds-ink); }

.mp .mp-sem-funcoes {
  padding: 20px 22px;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  border-left: 3px solid #d69e2e; }
  .mp .mp-sem-funcoes b {
    font-size: 14px;
    color: var(--ds-ink); }
  .mp .mp-sem-funcoes span {
    font-size: 13px;
    line-height: 1.6;
    color: var(--ds-muted);
    max-width: 74ch; }

.mp .mp-dia--coberto {
  background: var(--ds-grey); }

.mp .mp-dia--limite {
  background: rgba(214, 158, 46, 0.18); }
  .mp .mp-dia--limite .mp-v {
    color: #8a6410; }

.mp .mp-dia--descoberto {
  background: rgba(169, 68, 66, 0.2); }
  .mp .mp-dia--descoberto .mp-v {
    color: #a94442;
    font-weight: 700; }

.mp-cob-resumo {
  padding: 12px 0 14px;
  border-bottom: 1px solid var(--ds-line);
  font-size: 13px;
  color: var(--ds-muted); }
  .mp-cob-resumo b {
    color: var(--ds-ink);
    font-variant-numeric: tabular-nums; }

.mp-cob-lista {
  padding: 14px 0;
  display: flex;
  flex-direction: column;
  gap: 8px; }

.mp-cob-f {
  border: 1px solid var(--ds-line);
  border-left-width: 3px;
  border-radius: 9px;
  padding: 10px 12px; }

.mp-cob-f--ok {
  border-left-color: var(--ds-green); }

.mp-cob-f--fina {
  border-left-color: #d69e2e; }

.mp-cob-f--descoberta {
  border-left-color: #a94442; }

.mp-cob-f--sem-ninguem {
  border-left-color: var(--ds-line);
  opacity: .7; }

.mp-cob-f-topo {
  display: flex;
  align-items: baseline;
  gap: 10px; }
  .mp-cob-f-topo b {
    font-size: 13.5px;
    color: var(--ds-ink); }

.mp-cob-n {
  margin-left: auto;
  font-size: 12px;
  color: var(--ds-muted);
  font-variant-numeric: tabular-nums; }

.mp-cob-f-sub {
  margin-top: 3px;
  font-size: 12px;
  color: var(--ds-muted);
  line-height: 1.5; }

.mp-cob-fora {
  margin-top: 5px;
  font-size: 12px;
  color: var(--ds-text);
  line-height: 1.5; }

.theme-3 .mp .mp-dia--limite {
  background: rgba(240, 200, 96, 0.16); }
  .theme-3 .mp .mp-dia--limite .mp-v {
    color: #f0c860; }

.theme-3 .mp .mp-dia--descoberto {
  background: rgba(255, 157, 148, 0.18); }
  .theme-3 .mp .mp-dia--descoberto .mp-v {
    color: #ff9d94; }

.theme-3 .mp .mp-sem-funcoes {
  border-left-color: #f0c860; }

.theme-3 .mp-cob-f--fina {
  border-left-color: #f0c860; }

.theme-3 .mp-cob-f--descoberta {
  border-left-color: #ff9d94; }

.sk {
  padding: 6px 2px 14px; }

.sk-topo {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--ds-line); }

.sk-linha {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border-bottom: 1px solid var(--ds-line); }

.sk-b {
  position: relative;
  height: 11px;
  border-radius: 4px;
  background: var(--ds-grey);
  overflow: hidden;
  flex: 0 0 auto; }

.sk-b::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 60%;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100%);
  transform: translateX(-180%);
  animation: skBrilho 1.25s ease-in-out infinite;
  will-change: transform; }

@keyframes skBrilho {
  from {
    transform: translateX(-180%); }
  to {
    transform: translateX(320%); } }

.sk-b--lg {
  width: 130px;
  height: 13px; }

.sk-b--md {
  width: 80px;
  height: 13px; }

.sk-b--sm {
  width: 54px;
  height: 13px; }

.sk-b--nr {
  width: 42px; }

.sk-b--data {
  width: 86px; }

.sk-b--cli {
  width: 150px; }

.sk-b--mor {
  flex: 1 1 auto;
  min-width: 80px; }

.sk-b--est {
  width: 70px; }

.sk-b--ac {
  width: 58px; }

.sk-nota {
  padding: 14px 12px 0;
  font-size: 12.5px;
  color: var(--ds-muted); }

@media (prefers-reduced-motion: reduce) {
  .sk-b::after {
    animation: none;
    opacity: .25;
    transform: none;
    width: 100%; } }

.theme-3 .sk-b {
  background: rgba(255, 255, 255, 0.07); }

.theme-3 .sk-b::after {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.13) 50%, transparent 100%); }

.ds-nr--lig {
  color: var(--ds-ink);
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px; }

.ds-nr--lig:hover,
.ds-nr--lig:focus {
  color: var(--ds-green);
  text-decoration-style: solid; }

.cf-caixa--larga {
  max-width: 560px; }

.cf-caixa--rola {
  display: flex;
  flex-direction: column;
  overflow: hidden; }

.cf-rolo {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-right: -10px;
  padding-right: 10px; }

.cf-caixa--rola .cf-accoes {
  flex: 0 0 auto; }

.ds-cart-linha {
  padding: 7px 0;
  border-top: 1px solid var(--ds-line); }

.ds-cart-linha:first-of-type {
  border-top: 0;
  padding-top: 2px; }

.api-codigo {
  margin: 10px 0 0;
  padding: 12px 14px;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ds-text);
  white-space: pre;
  overflow-x: auto; }

.api-linha {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 4px; }

.api-chave-campo {
  flex: 1 1 auto;
  font-family: ui-monospace, Menlo, Consolas, monospace; }

.api-chave {
  flex: 1 1 auto;
  padding: 8px 12px;
  background: var(--ds-grey);
  border: 1px solid var(--ds-line);
  border-radius: 8px;
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 13.5px;
  color: var(--ds-ink);
  word-break: break-all; }

.api-ex-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px; }

.api-aviso {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  border-left: 3px solid #d69e2e;
  background: var(--ds-grey);
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ds-text); }

/* ---- leadsBoard.scss.css ---- */
@charset "UTF-8";
/* =============================================================================
   CRM de Leads — estilos da página
   =============================================================================

   ATENÇÃO ao alterar este ficheiro: o `app.js` importa o `leadsBoard.js` sem
   condição nenhuma, e este importa o SCSS. Ou seja, o que aqui estiver entra no
   ficheiro de estilos global e vale em TODAS as páginas, mesmo que ninguém abra
   o CRM.

   A versão anterior redefinia à cabeça `.btn-primary`, `.btn-success`,
   `.btn-warning`, `.card`, `.card-header`, `.card-body`, `.alert`, `.btn-sm`,
   `.nav-tabs > li > a` e as scrollbars de `.table-responsive`. Como é carregado
   depois do app.scss, ganhava: os botões primários da aplicação inteira eram
   #3498db em vez do #2E5ABD do tema, e os de sucesso #27ae60 em vez de #BDD52E.
   O fade de todos os cards da aplicação também vinha daqui (`.card{animation}`).

   Por isso agora TUDO vive dentro de `.leads-scope`, que só existe nesta
   página e no seu modal. Nada aqui pode escapar para fora.
   -------------------------------------------------------------------------- */
:root {
  --variante-a-color: #2E9AB2;
  --variante-b-color: #9b59b6;
  --variante-c-color: #F04e44;
  --variante-d-color: #f39c12;
  --status-novo: #2E5ABD;
  --status-contactado: #f39c12;
  --status-fechado: #7ea300;
  --status-perdido: #95a5a6; }

/* Estas quatro cores foram escolhidas para texto sobre papel branco. No tema
   escuro o fundo do distintivo passa a ser translúcido sobre ardósia e o azul
   e o verde deixam de se ler — levantam-se aqui, num sítio só. O mesmo vale
   para as cores das variantes, que servem de fundo aos gráficos. */
.theme-3 {
  --status-novo: #7ea8ff;
  --status-contactado: #ffb547;
  --status-fechado: #b9d94a;
  --status-perdido: #aab6c0;
  --variante-a-color: #4cc0da;
  --variante-b-color: #bf82d8;
  --variante-c-color: #ff7a72;
  --variante-d-color: #ffb547; }

.leads-scope {
  /* ---- Grelhas ------------------------------------------------------- */
  /* ---- Cartões de variante ------------------------------------------- */
  /* O .ds-kpicard-var traz white-space:nowrap, pensado para "vs mês
       anterior". Aqui a linha é "N simulações · N leads" e tem de poder
       quebrar em ecrã estreito. */
  /* ---- Mini-gráfico ---------------------------------------------------
       As alturas das barras são postas pelo JS (onRendered → .mini-chart →
       [data-value]). Não mexer nos nomes destas quatro classes. */
  /* ---- Distintivos de variante e de estado ---------------------------- */
  /* ---- Tabelas --------------------------------------------------------
       O grosso vem do .ds-salestable. Aqui só o que é próprio das leads. */
  /* Destaque temporário da lead que acabou de chegar. A classe é posta e
       tirada pelo JS (Tracker.afterFlush → addClass/removeClass). */
  /* ---- Simulações sem conversão --------------------------------------- */
  /* ---- Modal de detalhe ----------------------------------------------- */
  /* O .ds-shstate do sistema é uma linha; aqui os estados vazios e de espera
       têm ícone, título e explicação empilhados. */ }
  .leads-scope .leads-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 14px; }
  .leads-scope .leads-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leads-scope .leads-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .leads-scope .leads-panel {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1fr); }
  .leads-scope .leads-panel--split {
    grid-template-columns: minmax(0, 340px) minmax(0, 1fr); }
  @media (max-width: 991px) {
    .leads-scope .leads-grid--2,
    .leads-scope .leads-grid--3,
    .leads-scope .leads-panel--split {
      grid-template-columns: minmax(0, 1fr); } }
  .leads-scope .leads-vcard {
    position: relative;
    overflow: hidden;
    border-left: 3px solid var(--ds-line); }
  .leads-scope .leads-vcard--a {
    border-left-color: var(--variante-a-color); }
  .leads-scope .leads-vcard--b {
    border-left-color: var(--variante-b-color); }
  .leads-scope .leads-vcard--c {
    border-left-color: var(--variante-c-color); }
  .leads-scope .leads-vcard--d {
    border-left-color: var(--variante-d-color); }
  .leads-scope .ds-kpicard-var {
    white-space: normal;
    color: var(--ds-muted);
    font-weight: 600; }
  .leads-scope .leads-vcard-foot {
    margin-top: 2px;
    padding-top: 8px;
    border-top: 1px solid var(--ds-line);
    color: var(--ds-muted); }
    .leads-scope .leads-vcard-foot em {
      margin-right: 4px; }
  .leads-scope .leads-skeleton {
    align-items: center;
    justify-content: center;
    min-height: 150px;
    color: var(--ds-muted); }
    .leads-scope .leads-skeleton em {
      font-size: 28px;
      animation: ds-leads-spin 1.1s linear infinite; }
  .leads-scope .mini-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2px;
    height: 42px;
    margin: 10px 0 4px; }
  .leads-scope .chart-bar {
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 1px;
    height: 100%;
    cursor: default; }
    .leads-scope .chart-bar:hover {
      opacity: .75; }
  .leads-scope .bar-sim,
  .leads-scope .bar-lead {
    flex: 1;
    min-height: 2px;
    border-radius: 2px 2px 0 0;
    transition: height .3s ease; }
  .leads-scope .bar-sim {
    background: var(--ds-line); }
  .leads-scope .bar-lead {
    background: var(--ds-green); }
  .leads-scope .leads-vcard--a .bar-lead {
    background: var(--variante-a-color); }
  .leads-scope .leads-vcard--b .bar-lead {
    background: var(--variante-b-color); }
  .leads-scope .leads-vcard--c .bar-lead {
    background: var(--variante-c-color); }
  .leads-scope .leads-vcard--d .bar-lead {
    background: var(--variante-d-color); }
  .leads-scope .badge-variante {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    color: #fff;
    background: var(--ds-muted); }
  .leads-scope .badge-variante-A {
    background: var(--variante-a-color); }
  .leads-scope .badge-variante-B {
    background: var(--variante-b-color); }
  .leads-scope .badge-variante-C {
    background: var(--variante-c-color); }
  .leads-scope .badge-variante-D {
    background: var(--variante-d-color); }
  .leads-scope .lead-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
    border: 1px solid currentColor;
    background: var(--ds-grey); }
  .leads-scope .lead-status-novo {
    color: var(--status-novo); }
  .leads-scope .lead-status-contactado {
    color: var(--status-contactado); }
  .leads-scope .lead-status-fechado {
    color: var(--status-fechado); }
  .leads-scope .lead-status-perdido {
    color: var(--status-perdido); }
  .leads-scope .lead-type {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: var(--ds-muted); }
  .leads-scope .lead-type-pedido {
    background: #d64c3f; }
  .leads-scope .lead-type-callback {
    background: #e08a12; }
  .leads-scope .lead-detail-type {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey);
    border-left: 3px solid var(--ds-muted); }
    .leads-scope .lead-detail-type strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .lead-detail-type small {
      font-size: 12px;
      color: var(--ds-muted); }
  .leads-scope .lead-detail-type.type-pedido {
    border-left-color: #d64c3f; }
  .leads-scope .lead-detail-type.type-callback {
    border-left-color: #e08a12; }
  .leads-scope .lead-contact,
  .leads-scope .lead-route {
    display: flex;
    flex-direction: column;
    line-height: 1.35; }
    .leads-scope .lead-contact strong,
    .leads-scope .lead-route strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .lead-contact small,
    .leads-scope .lead-route small {
      font-size: 12px;
      color: var(--ds-muted); }
  .leads-scope .lead-route em {
    font-size: 11px;
    opacity: .6; }
  .leads-scope .lead-simflag {
    color: var(--ds-green-d) !important;
    font-weight: 600; }
  .leads-scope .lead-row.new-lead > td {
    animation: ds-leads-newlead 1.4s ease-in-out 3; }
  .leads-scope .leads-simcard .simulations-list {
    max-height: 520px;
    overflow-y: auto;
    margin-top: 6px; }
  .leads-scope .simulation-item {
    padding: 9px 11px;
    margin-bottom: 8px;
    border: 1px solid var(--ds-line);
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey); }
    .leads-scope .simulation-item:last-child {
      margin-bottom: 0; }
    .leads-scope .simulation-item.sim-old {
      opacity: .6; }
    .leads-scope .simulation-item p {
      margin: 2px 0; }
  .leads-scope .simulation-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px; }
    .leads-scope .simulation-header small {
      color: var(--ds-muted);
      font-size: 11.5px; }
  .leads-scope .simulation-route small {
    color: var(--ds-text);
    font-size: 12.5px; }
  .leads-scope .simulation-price {
    display: flex;
    align-items: baseline;
    gap: 8px; }
    .leads-scope .simulation-price strong {
      color: var(--ds-ink);
      font-size: 14px; }
    .leads-scope .simulation-price span {
      color: var(--ds-muted);
      font-size: 12px; }
  .leads-scope .simulation-urg small {
    color: var(--status-contactado);
    font-weight: 600; }
  .leads-scope .leads-textarea {
    min-height: 84px;
    resize: vertical;
    margin-bottom: 10px; }
  .leads-scope .leads-kv-meta strong {
    color: var(--ds-muted);
    font-weight: 600; }
  .leads-scope .leads-simlink {
    border-left: 3px solid var(--ds-green); }
  .leads-scope .tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px; }
  .leads-scope .tag-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ds-text);
    background: var(--ds-grey);
    border: 1px solid var(--ds-line); }
    .leads-scope .tag-item .remove-tag {
      color: var(--ds-muted);
      text-decoration: none;
      line-height: 1; }
      .leads-scope .tag-item .remove-tag:hover {
        color: #b3261e; }
  .leads-scope .comments-list {
    display: flex;
    flex-direction: column;
    gap: 8px; }
  .leads-scope .comment-item {
    padding: 9px 11px;
    border-radius: var(--ds-radius-s);
    background: var(--ds-grey);
    border-left: 2px solid var(--ds-line); }
  .leads-scope .comment-header {
    display: flex;
    align-items: baseline;
    gap: 8px; }
    .leads-scope .comment-header strong {
      font-size: 13px;
      color: var(--ds-text); }
    .leads-scope .comment-header small {
      font-size: 11.5px;
      color: var(--ds-muted); }
  .leads-scope .comment-text {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--ds-text); }
  .leads-scope .history-list {
    display: flex;
    flex-direction: column;
    gap: 6px; }
  .leads-scope .history-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid var(--ds-line);
    font-size: 12.5px; }
    .leads-scope .history-item:last-child {
      border-bottom: 0; }
    .leads-scope .history-item small {
      color: var(--ds-muted); }
    .leads-scope .history-item strong {
      color: var(--ds-text); }
  .leads-scope .ds-shstate {
    flex-direction: column;
    gap: 6px;
    text-align: center; }
    .leads-scope .ds-shstate em {
      font-size: 34px;
      opacity: .5; }
    .leads-scope .ds-shstate strong {
      font-size: 15px;
      color: var(--ds-text); }
    .leads-scope .ds-shstate small {
      color: var(--ds-muted); }
  .leads-scope .ds-shstate-spin {
    animation: ds-leads-spin 1.1s linear infinite; }

/* Com as cores levantadas para o fundo escuro, o texto branco por cima delas
   deixa de contrastar. Nos distintivos cheios inverte-se para tinta escura. */
.theme-3 .leads-scope .badge-variante {
  color: #101a26; }

/* ---- Animações -----------------------------------------------------------
   Prefixadas: as anteriores chamavam-se `spin`, `fadeIn`, `pulse` e
   `slideDown`, nomes que qualquer outro ficheiro da aplicação podia estar a
   usar — @keyframes é sempre global e o último a ser definido ganha. */
@keyframes ds-leads-spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }

@keyframes ds-leads-newlead {
  0%, 100% {
    background-color: transparent; }
  50% {
    background-color: rgba(190, 214, 47, 0.22); } }

/* Pares rótulo/valor da ficha da lead. O .ds-kv do sistema é só tipografia —
   não posiciona nada — e aqui os dois <span>/<strong> são elementos em linha:
   colavam-se um ao outro e lia-se "NomeMarcelo". Rótulo à esquerda, valor à
   direita, com espaço garantido entre os dois. */
.leads-scope .ds-kv {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 7px 0; }

.leads-scope .ds-kv > span {
  flex: 0 0 auto;
  color: var(--ds-muted);
  font-size: 12.5px; }

.leads-scope .ds-kv > strong {
  min-width: 0;
  text-align: right;
  overflow-wrap: anywhere; }

/* ---- manutencaoEnderecos.css ---- */
/* Manutenção de Endereços — só o que é próprio desta página.
   Tudo o resto (cartão, tabela, botões, estados) vem do design system.

   O ficheiro anterior pintava as cores à mão: #fff no cartão, #f8fafc nos
   cabeçalhos, #475569 no texto. Isso funciona em papel branco e desaparece no
   tema escuro, onde o fundo da página também é escuro — cartão branco com
   texto quase preto sobre ardósia. Aqui usam-se os tokens --ds-*, que se
   invertem sozinhos no .theme-3. */

/* Contagem de grupos ao lado do nome do cliente: empurrada para a direita do
   título, sem a tirar da linha. */
.ds-mant-count {
  margin-left: auto;
  flex: 0 0 auto;
}

/* Cada cliente é um cartão; os grupos dentro dele separam-se por espaço em
   branco, não por molduras dentro de molduras. */
/* Só ENTRE grupos. Com :first-of-type não resultava: o primeiro filho do
   cartão é o título, por isso o "primeiro div" nunca é um grupo e a regra
   nunca pegava — o primeiro grupo ficava afastado do título sem razão. */
.ds-mant-group + .ds-mant-group {
  margin-top: 18px;
}

.ds-mant-grouphead {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 8px 12px;
  margin-bottom: 8px;
  background: var(--ds-grey);
  border-radius: var(--ds-radius-s);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ds-text);
}
.ds-mant-grouphead span {
  font-weight: 400;
  color: var(--ds-muted);
}

/* A morada é o campo que decide se duas linhas são a mesma porta: precisa de
   caber inteira. A versão anterior tinha table-layout:fixed com nowrap e
   ellipsis — cortava exactamente a informação de que se precisa para comparar. */
.ds-mant-addr {
  min-width: 220px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ds-mant-coord {
  font-size: 11px;
  background: var(--ds-grey);
  color: var(--ds-muted);
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

/* Estados da página: à espera de procurar, a procurar, e nada encontrado.
   Antes destes três, o ecrã ficava simplesmente vazio — igual a "avariado". */
.ds-mant-msg {
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--ds-muted);
  font-size: 13px;
  line-height: 1.5;
}
.ds-mant-msg em {
  font-size: 26px;
  flex: 0 0 auto;
  color: var(--ds-muted);
}
.ds-mant-msg p {
  margin: 0;
  max-width: 70ch;
}
.ds-mant-msg b {
  color: var(--ds-text);
}

.ds-mant-spin {
  animation: ds-mant-rodar 1s linear infinite;
}
@keyframes ds-mant-rodar {
  to { transform: rotate(360deg); }
}

/* Espaço entre cartões de clientes. */
.ds-mant-client + .ds-mant-client {
  margin-top: 16px;
}
