
/**
 * Colors
 */

:root{
    /**
     * Text colors
     */
    --default-text-color: #aa77ff;
    --menu-item-text-color: #412570;
    --menu-item-active-text-color: white;
    --menu-sub-item-text-color: #8f51f9;
    --menu-sub-item-active-text-color: white;
    --input-text-color: #dbc6fc;
    --panel-title-text-color: white;
    --panel-box-text-color: #e2dbee;
    --panel-info-text-color: #9465e5;
    --panel-info-a-color: white;
    --panel-box-a-color: white;
    --placement-text-color: #7e55c7;
    --placement-text-color-active: white;
    --popup-title-text-xolor: #e430c6;
    --popup-message-text-color: #986bf0;
    --popup-highlighted-text-color: #e733c4;
    
    --live-title-text-color: white;
    --permission-text-color: white;
    --white-text-color: white;

    /**
     * Background colors
     */
    --background-color: #29134d;
    --sticker-background-color: #462679;
    --sticker-config-background-color: #361e5f;
    --menu-item-background-color: #8349e4;
    --menu-item-background-color-hover: #9359f4;
    --menu-sub-item-background-color: #3e2270;
    --menu-sub-item-active-background-color: #472a7c;
    --menu-sub-item-background-color-hover: #4e3280;
    --menu-sub-item-active-background-color-hover: #573a8c;
    --inputs-background-color: #251347;
    --inputs-background-color-hover: #291751;
    --placement-background-color: #291751;
    --placement-background-color-active: #462679;
    --placement-background-color-hover: #5c379e;
    --placement-background-color-active-hover: #8349e4;
    --popup-button-color: #e330c4;
    --popup-button-color-hover: #f845d9;
    
    --live-background-color: #28134c;
    --live-title-background-color: #7d47d6;
    --live-menu-item-active-background: #5e35a5;
    --live-menu-item-active-background-hover: #6e45b5;
    --live-menu-item-background-color: #8349e4;
    --live-menu-item-background-color-hover: #9359f4;
    --live-menu-sub-item-background-color: #4e2b8b;
    --live-menu-sub-item-background-color-hover: #5e3b9b;
    --live-menu-sub-item-active-background-color: #59339a;
    --live-menu-sub-item-active-background-color-hover: #6943aa;
    --live-dot-nav-color: #4e288f;
    --live-dot-nav-active-color: #a165ff;
    --live-dot-nav-color-hover: #5e389f;
    --live-dot-nav-active-color-hover: #b175ff;
    --live-leaderboard-entry-odd-background-color: #30195a;
    --live-leaderboard-entry-even-background-color: transparent;
    

    /**
     * Border colors
     */
    --border-color-1: #492e77;
    --border-color-2: #5c3f8f;
    --menu-item-border-color: #a05ff3;
    --menu-sub-item-border-color: #492a80;
    --menu-sub-item-active-border-color: #7642d1;
    
    /**
     * Other colors
     */
    --scrollbar-track-color: #3e2270;
    --scrollbal-thumb-color: #7642d1;
    --scrollbal-thumb-color-hover: #8652e1;
    --selection-color: #5e3d97;
    --panel-box-selection-color: palevioletred;
    --offline-popup-header-color: #ff6ed1;
    --red-bg-color: #ff37af;

    /**
     * Font sizes
     */
    --font-8pt : 8pt;
    --font-9pt : 9pt;
    --font-10pt : 10pt;
    --font-12pt : 12pt;
    --font-13pt : 13pt;
    --font-14pt : 14pt;
    --font-16pt : 16pt;
    --font-18pt : 18pt;

    /**
     * Animations
     */
    --short-time: 0.25s;
    --offset : 400px;
}


/**
 * Scrollbar:
 */

.scrollable {
    overflow-x: hidden;
    overflow-y: scroll;
}

.scrollable_popups {
    overflow-x: hidden;
    overflow-y: scroll;
}

.common_popup_container{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.scrollable::-webkit-scrollbar {
    background-color: var( --scrollbar-track-color );
}
/** -webkit-scrollbar-track -webkit-scrollbar-track-piece */

.scrollable::-webkit-scrollbar-thumb {
    background-color: var( --scrollbal-thumb-color );
}

.scrollable::-webkit-scrollbar-thumb:hover {
    background-color: var( --scrollbal-thumb-color-hover );
}

.pointerLock
{
    pointer-events: none;
}

.noScroll
{
    overflow: hidden;
}

/**
 * disabled elements
 */

.disabled {
    opacity : 0.2;
}


/**
 * General
 */

.hidden {
    display: none !important;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('GothamRnd-Bold.woff2') format('woff2'), /* Super Modern Browsers */
         url('GothamRnd-Bold.woff') format('woff'), /* Pretty Modern Browsers */
         url("GothamRnd-Bold.otf") format("opentype");
    font-weight: bold;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('GothamRnd-Book.woff2') format('woff2'), /* Super Modern Browsers */
         url('GothamRnd-Book.woff') format('woff'), /* Pretty Modern Browsers */
         url("GothamRnd-Book.otf") format("opentype");
    font-weight: normal;
}

*{
    font-size: var( --font-9pt );
    overflow-x: unset;
    overflow-y: unset;
}

body {
    margin: 0;
    padding: 0;
    background-color: black;
    color: var( --default-text-color );

    font-family: 'Gotham Rounded', sans-serif;
    font-weight: bold;

    position: absolute;
    top: 0;
    bottom: 0;
    left : 0;
    right : 0;
}

#overall-locker {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width : 100%;
    height : 100%;
    filter: blur( 10px );
}

*:focus {
    outline-color: var( --border-color-1 );
}


::selection { background: transparent; }
::-moz-selection {  background: transparent; }

input::selection {  background: var( --selection-color ); }
select::selection {  background: var( --selection-color ); }
textarea::selection {  background: var( --selection-color ); }
button::selection {  background: var( --selection-color ); }
input::-moz-selection {  background: var( --selection-color ); }
select::-moz-selection {  background: var( --selection-color ); }
textarea::-moz-selection {  background: var( --selection-color ); }
button::-moz-selection {  background: var( --selection-color ); }

input[type=text],
input[type=number],
select,
textarea,
button,
.selection {
    background-color: var( --inputs-background-color );
    color: var( --input-text-color );
    
    font-family: 'Gotham Rounded', sans-serif;
    font-weight: bold;
    font-size: var( --font-10pt );
    
    border: 0 none transparent;
    padding: 0 0 0 8px;
    border-radius: 0;

    text-align: left;
    vertical-align: middle;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    
    width: 100%;

    position: relative;
    display:block;
}

button {
    padding: 0;
}

input:hover,
select:hover,
textarea:hover,
button:hover,
.selection:hover{
    background-color: var( --inputs-background-color-hover );
}

#app {
    width: 100%;
    height: 100%;

    overflow-y: scroll;
    overflow-x: hidden;
}

.app_background {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var( --background-color );
    position: absolute;
    z-index: -1;
}

@media (hover: hover) and (pointer: fine) {
    #app {
        overflow-y: hidden;
        overflow-x: hidden;
    }
}


#app.locked {
    /* filter: blur( 8px ); */
    filter: grayscale(0.75) opacity(0.25);
}

/**
 * Popups
 */

.popup-message{
    margin: 14px;
    font-size: 3.5vw;
    pointer-events: none;
}


/**
 * Menu & items
 */

.menu {
    width: 100%;
}

.item {
    height: 100%;
    cursor: pointer;
    
    display: inline-flex;
    justify-content:center;
    align-items:center;
}

/**
 * Info indicator
 */
.indicator {
    pointer-events:none;
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    background-image: none;
    background-color: red;
    border-radius: 28px;
    border: 2px solid white;
    width: 28px;
    height: 28px;
    justify-content: center;
    align-items: center;
    font-size: var( --font-12pt );
    color: var( --white-text-color );
    z-index: 1;
    transform: translate(0px, -3px) scale(1.0);
}

.item.main.active > .indicator {
    transform: translate(-1px, 0px) scale(1.0);
}

.indicator.small {
    transform: translate(2px, 4px) scale(0.7);
}

.completed {
    pointer-events:none;
    display: flex;
    background-image: none;
    background-color: #E300E2;
    border-radius: 28px;
    border: none;
    width: 18px;
    height: 18px;
    justify-content: center;
    align-items: center;
    font-size: 10pt;
    color: var( --white-text-color );
    z-index: 1;
    transform: translate(0px, 0px) scale(1.0);
    margin-right: 4px;
}

.default-option {
    display: flex;
    align-items: center;
    margin-right: 16px;
}

.default-option.hidden {
    display: flex !important;
    pointer-events: none;
    opacity: 0.25;
}


/**
 * Fading in
 */

.fading{
    --duration : 0.3s;
    --ease : ease-out;
    -webkit-animation: fadeInFromNone var( --duration ) var( --ease );
    -moz-animation: fadeInFromNone var( --duration ) var( --ease );
    -o-animation: fadeInFromNone var( --duration ) var( --ease );
    animation: fadeInFromNone var( --duration ) var( --ease );
}


@-webkit-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-moz-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-o-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

/**
 * Offline
 */
.offline {
    position: fixed;
    top: 10%;
    bottom: 10%;
    left: 10%;
    right: 10%;

    width: 80%;
    height: 80%;
    
    display: flex;
    justify-content: space-around;
    align-items: center;
    text-align: center;
    vertical-align: middle;
    flex-direction: column;

    background-color: var( --background-color );
}

#offline-logo {
     width: 200px;
     height: 200px;
     margin: -4px 8px -4px 4px;
     pointer-events: none;
     background-image: url( images/logoOriginal.png );
     background-repeat: no-repeat;
     background-size:contain;
 }

.offline-close-button {
    position: fixed;
    top: 0;
    right: 0;
}

.offline-header-font {
    color: var(--offline-popup-header-color);
    /*font-size: var(--font-10pt);*/
    font-size: 4vw;
    pointer-events: none;
    margin: 8px;
}

.offline-red-text {
    color: var(--offline-popup-header-color);
    pointer-events: none;
    font-size: 4vw;
}

.maintenance-logo {
    width: 150px;
    height: 150px;
    margin: -4px 8px -4px 4px;
    pointer-events: none;
    background-image: url( images/poop.png );
    background-repeat: no-repeat;
    background-size:contain;
}

.oops-logo {
    margin: 15px;
    pointer-events: none;
    display: inline-flex;
    justify-content:center;
    align-items:center;
}

.oops-logo-img {
    min-width: 150px;
    min-height: 66px;

    max-width: 225px;
    max-height: 99px;
    background-image: url( images/oops.png );
    background-repeat: no-repeat;
    background-size:contain;
}

.loader {
    color: #ffffff;
    font-size: 20px;
    margin: 100px auto;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    position: relative;
    text-indent: -9999em;
    -webkit-animation: load4 1.3s infinite linear;
    animation: load4 1.3s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}
.loader-text{
    position: absolute;
    color: white;
    font-size: 14pt;
}
.loader.button-left{
    transform: scale(0.18);
    margin: 0;
    left: 8px;
    position: absolute;
}
@-webkit-keyframes load4 {
    0%,
    100% {
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }
    87.5% {
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}
@keyframes load4 {
    0%,
    100% {
        box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
    }
    12.5% {
        box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    25% {
        box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
    }
    37.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    50% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
    }
    62.5% {
        box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
    }
    75% {
        box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
    }
    87.5% {
        box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
    }
}

/*
 * Checkbox-slider
 */


.switch-small {
    width: 30px;
    height: 17px;
}

.slider-small:before {
    height: 13px;
    width: 13px;
    left: 2px;
    bottom: 2px;
}

input:checked + .slider-small:before {
    -webkit-transform: translateX(13px);
    -ms-transform: translateX(13px);
    transform: translateX(13px);
}

.switch-big {
    width: 43px;
    height: 24px;
}

.slider-big:before {
    height: 20px;
    width: 20px;
    left: 2px;
    bottom: 2px;
}

input:checked + .slider-big:before {
    -webkit-transform: translateX(19px);
    -ms-transform: translateX(19px);
    transform: translateX(19px);
}

.switch {
    position: relative;
    display: inline-block;
    margin: 0 4px 0 4px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.checkboxslider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.checkboxslider:before {
    position: absolute;
    content: "";
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .checkboxslider {
    background-color: var( --default-text-color );
}

input:focus + .checkboxslider {
    box-shadow: 0 0 1px var( --default-text-color );
}

/* Rounded checkboxsliders */
.checkboxslider.round {
    border-radius: 34px;
}

.checkboxslider.round:before {
    border-radius: 50%;
}