
/*!
 * Datetimepicker for Bootstrap 3
 * version : 4.15.35
 * https://github.com/Eonasdan/bootstrap-datetimepicker/
 */.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:bold;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#777}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,0.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget table td span:hover{background:#eee}.bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td span.old{color:#777}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget.wider{width:21em}.bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em !important}.input-group.date .input-group-addon{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}
/*!
 * Bootstrap-select v1.7.2 (http://silviomoreto.github.io/bootstrap-select)
 *
 * Copyright 2013-2015 bootstrap-select
 * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
 */.bootstrap-select{width:220px \0}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;z-index:1035;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1036}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%}select.bs-select-hidden,select.selectpicker{display:none!important}select.mobile-device{position:absolute!important;top:0;left:0;display:block!important;width:100%;height:100%!important;opacity:0}

/**
 *
 * 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(.2, .68, .18, 1.08);
    animation: scale 0.75s -0.36s infinite cubic-bezier(.2, .68, .18, 1.08); }
.ball-pulse > div:nth-child(1) {
    -webkit-animation: scale 0.75s -0.24s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale 0.75s -0.24s infinite cubic-bezier(.2, .68, .18, 1.08); }
.ball-pulse > div:nth-child(2) {
    -webkit-animation: scale 0.75s -0.12s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale 0.75s -0.12s infinite cubic-bezier(.2, .68, .18, 1.08); }
.ball-pulse > div:nth-child(3) {
    -webkit-animation: scale 0.75s 0s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: scale 0.75s 0s infinite cubic-bezier(.2, .68, .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; }

@-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(.7, -.13, .22, .86) infinite;
    animation: rotate 1s 0s cubic-bezier(.7, -.13, .22, .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(.09, .57, .49, .9) infinite;
    animation: scale 1s 0s cubic-bezier(.09, .57, .49, .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(.09, .57, .49, .9) infinite;
    animation: rotate 1s 0s cubic-bezier(.09, .57, .49, .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(.21, .53, .56, .8);
    animation: ball-scale-ripple 1s 0s infinite cubic-bezier(.21, .53, .56, .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(.21, .53, .56, .8);
    animation: ball-scale-ripple-multiple 1.25s 0s infinite cubic-bezier(.21, .53, .56, .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(.15, .46, .9, .6);
    animation-timing-function: cubic-bezier(.15, .46, .9, .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.07s;
    animation-delay: -0.07s;
    -webkit-animation-duration: 1.53s;
    animation-duration: 1.53s; }
.ball-grid-beat > div:nth-child(2) {
    -webkit-animation-delay: 0.72s;
    animation-delay: 0.72s;
    -webkit-animation-duration: 0.94s;
    animation-duration: 0.94s; }
.ball-grid-beat > div:nth-child(3) {
    -webkit-animation-delay: 0.11s;
    animation-delay: 0.11s;
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s; }
.ball-grid-beat > div:nth-child(4) {
    -webkit-animation-delay: 0.13s;
    animation-delay: 0.13s;
    -webkit-animation-duration: 1.01s;
    animation-duration: 1.01s; }
.ball-grid-beat > div:nth-child(5) {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
    -webkit-animation-duration: 1.2s;
    animation-duration: 1.2s; }
.ball-grid-beat > div:nth-child(6) {
    -webkit-animation-delay: 0.18s;
    animation-delay: 0.18s;
    -webkit-animation-duration: 0.97s;
    animation-duration: 0.97s; }
.ball-grid-beat > div:nth-child(7) {
    -webkit-animation-delay: -0.09s;
    animation-delay: -0.09s;
    -webkit-animation-duration: 0.67s;
    animation-duration: 0.67s; }
.ball-grid-beat > div:nth-child(8) {
    -webkit-animation-delay: 0.42s;
    animation-delay: 0.42s;
    -webkit-animation-duration: 0.92s;
    animation-duration: 0.92s; }
.ball-grid-beat > div:nth-child(9) {
    -webkit-animation-delay: 0.52s;
    animation-delay: 0.52s;
    -webkit-animation-duration: 1.43s;
    animation-duration: 1.43s; }
.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.73s;
    animation-delay: 0.73s;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s; }
.ball-grid-pulse > div:nth-child(2) {
    -webkit-animation-delay: 0.32s;
    animation-delay: 0.32s;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s; }
.ball-grid-pulse > div:nth-child(3) {
    -webkit-animation-delay: 0.71s;
    animation-delay: 0.71s;
    -webkit-animation-duration: 0.88s;
    animation-duration: 0.88s; }
.ball-grid-pulse > div:nth-child(4) {
    -webkit-animation-delay: 0.62s;
    animation-delay: 0.62s;
    -webkit-animation-duration: 1.06s;
    animation-duration: 1.06s; }
.ball-grid-pulse > div:nth-child(5) {
    -webkit-animation-delay: 0.31s;
    animation-delay: 0.31s;
    -webkit-animation-duration: 0.62s;
    animation-duration: 0.62s; }
.ball-grid-pulse > div:nth-child(6) {
    -webkit-animation-delay: -0.14s;
    animation-delay: -0.14s;
    -webkit-animation-duration: 1.48s;
    animation-duration: 1.48s; }
.ball-grid-pulse > div:nth-child(7) {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
    -webkit-animation-duration: 1.47s;
    animation-duration: 1.47s; }
.ball-grid-pulse > div:nth-child(8) {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
    -webkit-animation-duration: 1.49s;
    animation-duration: 1.49s; }
.ball-grid-pulse > div:nth-child(9) {
    -webkit-animation-delay: 0.73s;
    animation-delay: 0.73s;
    -webkit-animation-duration: 0.7s;
    animation-duration: 0.7s; }
.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(.2, .68, .18, 1.08);
    animation: line-scale 1s -0.4s infinite cubic-bezier(.2, .68, .18, 1.08); }
.line-scale > div:nth-child(2) {
    -webkit-animation: line-scale 1s -0.3s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -0.3s infinite cubic-bezier(.2, .68, .18, 1.08); }
.line-scale > div:nth-child(3) {
    -webkit-animation: line-scale 1s -0.2s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -0.2s infinite cubic-bezier(.2, .68, .18, 1.08); }
.line-scale > div:nth-child(4) {
    -webkit-animation: line-scale 1s -0.1s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s -0.1s infinite cubic-bezier(.2, .68, .18, 1.08); }
.line-scale > div:nth-child(5) {
    -webkit-animation: line-scale 1s 0s infinite cubic-bezier(.2, .68, .18, 1.08);
    animation: line-scale 1s 0s infinite cubic-bezier(.2, .68, .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.23s;
    animation-delay: 0.23s;
    -webkit-animation-duration: 1.1s;
    animation-duration: 1.1s; }
.line-scale-party > div:nth-child(2) {
    -webkit-animation-delay: 0.09s;
    animation-delay: 0.09s;
    -webkit-animation-duration: 1s;
    animation-duration: 1s; }
.line-scale-party > div:nth-child(3) {
    -webkit-animation-delay: 0.44s;
    animation-delay: 0.44s;
    -webkit-animation-duration: 0.65s;
    animation-duration: 0.65s; }
.line-scale-party > div:nth-child(4) {
    -webkit-animation-delay: -0.12s;
    animation-delay: -0.12s;
    -webkit-animation-duration: 1.01s;
    animation-duration: 1.01s; }
.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(.85, .25, .37, .85);
    animation: line-scale-pulse-out 0.9s -0.6s infinite cubic-bezier(.85, .25, .37, .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(.11, .49, .38, .78);
    animation: line-scale-pulse-out-rapid 0.9s -0.5s infinite cubic-bezier(.11, .49, .38, .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(.09, .57, .49, .9) infinite;
    animation: triangle-skew-spin 3s 0s cubic-bezier(.09, .57, .49, .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(.09, .57, .49, .9) infinite;
    animation: square-spin 3s 0s cubic-bezier(.09, .57, .49, .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%; }
.treegrid-indent {width:16px; height: 16px; display: inline-block; position: relative;}

.treegrid-expander {width:16px; height: 16px; display: inline-block; position: relative; cursor: pointer;}

.treegrid-expander-expanded{background-image: url(../img/collapse.png); }
.treegrid-expander-collapsed{background-image: url(../img/expand.png);}
/*
 *  SimpleBar.js - v1.1.9
 *  Scrollbars, simpler.
 *  https://grsmto.github.io/simplebar/
 *
 *  Made by Adrien Grsmto from a fork by Jonathan Nicol
 *  Under MIT License
 */
.simplebar, [data-simplebar-direction] {
    position: relative;
    overflow: hidden;
    -webkit-overflow-scrolling: touch; /* Trigger native scrolling for mobile, if not supported, plugin is used. */
}

.simplebar .simplebar-scroll-content,
[data-simplebar-direction] .simplebar-scroll-content {
    overflow-y: scroll;
    overflow-x: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -ms-overflow-style: none; /* hide browser scrollbar on IE10+ */
}

/* hide browser scrollbar on Webkit (Safari & Chrome) */
.simplebar-scroll-content::-webkit-scrollbar {
    display: none;
}

[data-simplebar-direction="horizontal"] .simplebar-scroll-content,
.simplebar.horizontal .simplebar-scroll-content {
    overflow-x: scroll;
    overflow-y: auto;
}

.simplebar-track {
    z-index: 99;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 11px;
}

.simplebar-track .simplebar-scrollbar {
    position: absolute;
    right: 2px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    min-height: 10px;
    width: 7px;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    -moz-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    -ms-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    background: #6c6e71;
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
}

.simplebar-track:hover .simplebar-scrollbar {
    /* When hovered, remove all transitions from drag handle */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    opacity: 0.7;
    -webkit-transition: opacity 0 linear;
    -moz-transition: opacity 0 linear;
    -o-transition: opacity 0 linear;
    -ms-transition: opacity 0 linear;
    transition: opacity 0 linear;
}

.simplebar-track .simplebar-scrollbar.visible {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    opacity: 0.7;
}

[data-simplebar-direction="horizontal"] .simplebar-track,
.simplebar.horizontal .simplebar-track {
    top: auto;
    left: 0;
    width: auto;
    height: 11px;
}

[data-simplebar-direction="horizontal"] .simplebar-track .simplebar-scrollbar,
.simplebar.horizontal .simplebar-track .simplebar-scrollbar {
    right: auto;
    top: 2px;
    height: 7px;
    min-height: 0;
    min-width: 10px;
    width: auto;
}
.bootstrap-tagsinput {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  display: inline-block;
  padding: 4px 6px;
  color: #555;
  vertical-align: middle;
  border-radius: 4px;
  max-width: 100%;
  line-height: 22px;
  cursor: text;
}
.bootstrap-tagsinput input {
  border: none;
  box-shadow: none;
  outline: none;
  background-color: transparent;
  padding: 0 6px;
  margin: 0;
  width: auto;
  max-width: inherit;
}
.bootstrap-tagsinput.form-control input::-moz-placeholder {
  color: #777;
  opacity: 1;
}
.bootstrap-tagsinput.form-control input:-ms-input-placeholder {
  color: #777;
}
.bootstrap-tagsinput.form-control input::-webkit-input-placeholder {
  color: #777;
}
.bootstrap-tagsinput input:focus {
  border: none;
  box-shadow: none;
}
.bootstrap-tagsinput .tag {
  margin-right: 2px;
  color: white;
}
.bootstrap-tagsinput .tag [data-role="remove"] {
  margin-left: 8px;
  cursor: pointer;
}
.bootstrap-tagsinput .tag [data-role="remove"]:after {
  content: "x";
  padding: 0px 2px;
}
.bootstrap-tagsinput .tag [data-role="remove"]:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.bootstrap-tagsinput .tag [data-role="remove"]:hover:active {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.pickr{position:relative;overflow:visible}.pickr *{box-sizing:border-box}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;border-radius:.15em;cursor:pointer;background:currentColor;transition:all .3s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%}.pickr .pcr-button:after{background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat 50%;background-size:70%;opacity:0}.pickr .pcr-button.clear{background:hsla(0,0%,100%,.25)}.pickr .pcr-button.clear:after{opacity:1}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px #f1f3f4,0 0 0 3px #75797e}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app button,.pcr-app input,.pickr button,.pickr input{outline:none;border:none;-webkit-appearance:none}.pcr-app button:focus,.pcr-app input:focus,.pickr button:focus,.pickr input:focus{box-shadow:0 0 0 1px #f1f3f4,0 0 0 3px currentColor}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);top:5px;height:15em;width:28.5em;max-width:95vw;padding:.8em;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s}.pcr-app.visible{visibility:visible;opacity:1}.pcr-app .swatches{display:flex;flex-wrap:wrap;margin-top:.75em}@supports (display:grid){.pcr-app .swatches{display:grid;align-items:center;justify-content:space-around;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .swatches>button{position:relative;width:1.75em;height:1.75em;border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-interaction{display:flex;align-items:center;margin:.75em -.2em 0}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px #f1f3f4,0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex-grow:1;min-width:1em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px #f1f3f4,0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection{display:flex;justify-content:space-between;flex-grow:1}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;user-select:none;cursor:-moz-grab;cursor:-webkit-grabbing}.pcr-app .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:2em;display:flex;flex-direction:column;justify-content:space-between;margin-right:.75em}.pcr-app .pcr-selection .pcr-color-preview:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em .15em 0 0;z-index:2}.pcr-app .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 0 .15em .15em}.pcr-app .pcr-selection .pcr-color-preview .pcr-current-color,.pcr-app .pcr-selection .pcr-color-preview .pcr-last-color{background:currentColor;width:100%;height:50%}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;user-select:none;display:flex;flex-direction:column}.pcr-app .pcr-selection .pcr-color-palette{width:100%;z-index:1}.pcr-app .pcr-selection .pcr-color-palette .pcr-palette{flex-grow:1;border-radius:.15em}.pcr-app .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity{margin-left:.75em}.pcr-app .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app .pcr-selection .pcr-color-opacity .pcr-picker{left:50%;transform:translateX(-50%)}.pcr-app .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app .pcr-selection .pcr-color-opacity .pcr-slider{width:8px;flex-grow:1;border-radius:50em}.pcr-app .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(180deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(180deg,transparent,#000),url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:100%,50%}