:root {
    --green: #59AC51;
    --greenHover: #69ca60;
    --red: #C75555;
    --blue: #2280DD;
    --white: #FFFFFF;
}  
html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Ubuntu', sans-serif;
    font-size: 16px;
    overflow: hidden;
    scroll-behavior: auto; 
    background: #000;
}
a{
    color: var(--blue);
}
.red-text{
    color:var(--red)!important;
}
.green-text{
    color:var(--red)!important;
}
.bold{
    font-weight: 700;
}
#container {
    position: absolute;
    scroll-behavior: auto;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow-y: hidden;
    transition: height 200ms;
}
button{
    font-family: 'Ubuntu', sans-serif;
    margin-top: 1rem;
    width: 100%;
    max-width: 300px;
    text-transform: uppercase;
    outline: none;
    cursor: pointer;
    background: var(--green);
    border: none;
    color:var(--white);
    outline: none;
    font-size: .9rem;
    font-weight: 700;
    padding: 15px;
    border-radius: 2.5rem;
}
button:hover{
    background: var(--greenHover);
}
/* SPLASH SCREEN */
#splash-screen .splash-inner{
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: rgba(0,0,0,0.7);
    color: var(--white)!important;
}
#splash-screen .splash-inner img{ /* logo */
    width: 300px;
}
#splash-screen #mosaic{
    z-index: 999;
    position: absolute;
    background: #000;
    width: 100%;
    height: 100%;    
}
#splash-screen #mosaic img{
    width: 33.3%;
}
.badge{
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: #fff;
    color: #000;
    padding: 10px;
    display: flex;
    align-self: center;
    font-size: 1rem;
    width: 30px;
    height: 30px;
    margin-top: -25px;
    margin-left: -25px;
    justify-content: center;
    align-items: center;
    text-transform: uppercase;
    z-index: 3;
}
.panel{
    display: flex;
    position: relative;
    height: 50%;
    overflow: hidden;
    color:#FFFFFF;
    transition: height 500ms;
    background-repeat: no-repeat;
    background-size: cover;
}
.bgr{
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
}
.inner{
    position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    margin: auto;
    padding: 1rem;
}
.name{
    width: 100%;
    font-size: 1.5rem;
    margin-top: 0;
    overflow: hidden;
    text-overflow: ellipsis; 
    margin-bottom: 0.5rem;   
}
.price{
    font-size: 2rem;
    margin-bottom: .5rem;
    margin-top: 0.5rem;
}
.inner .costs{
    text-transform: uppercase;
    font-size: 1.3rem;
}
img.property{
    border: 3px solid;
    margin: auto;
    margin-top:1rem;
    width: 160px;
}
.info{
    margin: .5rem 0;
    display: flex;
}
.info span{
    margin: 0 .3rem;
}
.info img{
    width: 50px;
}
.moreorless{
    display: block;
    width: 100%;
}
.moreorless.show{
    display: flex;
    align-items: baseline;
    justify-content: center;
}
.moreorless button{
    text-transform: uppercase;
    outline: none;
    cursor: pointer;
    background: transparent;
    color:#fff;
    border: 1px solid #fff;
    font-size: .9rem;
    font-weight: 700;
    padding: 15px;
    border-radius: 2.5rem;
}
.moreorless button span{
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
.moreorless button span:after{
    content: "";
    border-style: solid;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    perspective: 1000;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    margin:0 0 1px 3px;
}
.moreorless button.more span:after{
    border-color: transparent transparent var(--green);
    border-width: 0 0.46875rem 0.625rem;
}
.moreorless button.less span:after{
    border-color: var(--red) transparent transparent;
    border-width: .625rem .46875rem 0;
}
.moreorless span.or{
    margin: 0 1rem;
}
.moreorless button:hover{
    background-color: rgba(255, 255, 255, 0.7);
    color: #000;
}
.show{
    display: block;
}
.hide{
    display: none;
}
/* Correct / incorrect animation  */
#result-container{
    display: block;
    position: absolute;
    z-index:20;
    top: 50%;
    text-align: center;
    width: 100%;
    margin-top: -25px
}
.circ{ 
    opacity: 0;
    stroke-dasharray: 130;
    stroke-dashoffset: 130;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}
svg#tick, svg#cross{
    background: #fff;
    border-radius: 50%;
    margin: auto;
    display: none;
    width: 50px;
}
.tick{
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
    -webkit-transition: stroke-dashoffset 1s 0.5s ease-out;
    -moz-transition: stroke-dashoffset 1s 0.5s ease-out;
    -ms-transition: stroke-dashoffset 1s 0.5s ease-out;
    -o-transition: stroke-dashoffset 1s 0.5s ease-out;
    transition: stroke-dashoffset 1s 0.5s ease-out;
}
svg.drawn .path{
    opacity: 1;
    stroke-dashoffset: 0;
}
/* END Correct / incorrect animation  */

/* HEADER */
header{
    position: absolute;
    width: 100%;
    z-index: 1001;
    top: 20px;
    text-align: center;
}
#score-container{
    display: none;
    color:#FFF989;
    font-size: 1rem;
    text-transform: uppercase;
}
#score-container div{
    display: inline-block;
}
body.game #score-container{
    display: block;
}
header .logo img{
    width: 250px;
}
body.game header .logo{
    display: none;
}
/* END HEADER */

/* MODAL */
/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 9999; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color:#fff; /* Fallback color */
    color: #000000;
    -webkit-animation-name: fadeIn; /* Fade in the background */
    -webkit-animation-duration: 0.4s;
    animation-name: fadeIn;
    animation-duration: 0.4s;
    text-align: center;
}
.modal-content{
    height: auto;
    overflow: auto;
}
/* Modal Content */
.modal-content {
    height: 100%!important; 
    position: fixed;
    bottom: 0;
    width: 100%;
    -webkit-animation-name: slideIn;
    -webkit-animation-duration: 0.4s;
    animation-name: slideIn;
    animation-duration: 0.4s
}
.modal-content table {
    width: 100%;
    max-width: 400px;
    margin: auto;
}
.modal-content table .player,
.modal-content table .rank{
    text-align: left;
}
.modal-content table  .playerscore{
    text-align: center;
}
.modal-header {
    background-color: #E02729;
    color: white;
    text-transform: uppercase;
    overflow:hidden!important;
}
.modal-body {padding: 2px 16px;} 
.modal-footer {
    padding: 2px 0;
    position: absolute;
    bottom: 0;
    width: 100%;
}
/* The Close Button */
.close {
    color: white;
    float: right;
    font-size: 28px;
    margin-right: 16px;
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 2.5%;
  }
.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
  }
.grow { 
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: .8s;
    -moz-transition-duration: .8s;
    -webkit-animation-name: grow;
    -webkit-animation-duration: .8s;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: linear;
    -moz-animation-name: grow;
    -moz-animation-duration: .8s;
    -moz-animation-iteration-count: 1;
    -moz-animation-timing-function: linear;
  }
  @-webkit-keyframes grow {
    0% { transform: scale(1); }
    50% { transform: scale(2); }
    100% { transform: scale(1); }
  }
/* Add Animation */
@-webkit-keyframes slideIn {
from {bottom: -300px; opacity: 0} 
to {bottom: 0; opacity: 1}
}
@keyframes slideIn {
from {bottom: -300px; opacity: 0}
to {bottom: 0; opacity: 1}
}
@-webkit-keyframes fadeIn {
from {opacity: 0} 
to {opacity: 1}
}
@keyframes fadeIn {
from {opacity: 0} 
to {opacity: 1}
}
#endModal .modal-header{
    background: #D4D9DD;
}
#endModal .modal-body{
    max-width: 700px;
    margin: auto;
}
#endModal h1, #endModal h2, #endModal h3{
    margin: .5rem 0;
}
#endModal h1{
    font-size: 1.5rem;
}
#endModal .social-icons{
    margin-top:1rem;
}
#endModal .social-icons a{
    display: inline-block;
    width: 10%;
}
#endModal .social-icons a.twitter{
    margin: 0 2rem;
}
#endModal button{
    padding: 14px;
    font-size: .8rem;
}
.final-score-container{
    line-height: 1.4;
    font-size: 1.125rem;
    font-weight: 700;   
}
#final-score{
    display: block;
    font-size: 3rem;
    line-height: 2.75rem;
    color: var(--green);
}
/* END MODAL */
/* REGISTRATION FORM */
#registration-form {
    display: none;
    width: 100%;
    max-width: 400px;
    margin: auto;
    overflow: hidden;
    padding-bottom: .5rem;
}
#registration-form p{
    font-weight: 700;
}
.text-input--wrapper {
    display: block;
    width: 100%;
    margin: 1rem 0;
}
.text-input--wrapper.terms{
    margin-bottom: 0;
}
.text-input {
    width: 100%;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    font-size: 1rem;
    font-style: italic;
    font-weight: 500;
    color: #000000!important;
    background-color: transparent;
    outline: none;
    border: none;
    border-bottom: 2px solid #000;
    padding-bottom: 4px;
}
.text-input::-webkit-input-placeholder { /* Edge */
    color:#000000;
}
  
.text-input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color:#000000;
}
  
.text-input::placeholder {
    color: #000000;
}
/* END REGISTRATION FORM */

/* DISCOUNT */

#discount-container{
    border: 3px solid var(--blue);
    border-radius: 10px;
    position: relative;
    margin: 25px auto 0;
    padding:1.4rem 1rem 1rem;
    max-width: 350px;
    padding-bottom: 10px;
    font-weight: 700;
}
#discount-container.red{
    border-color: var(--red);
}
#level{
    display: block;
    background-color: var(--blue);
    color: #fff;
    width: 75%;
    border-radius: 15px;
    height: 30px;
    line-height: 30px;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    top: -15px;
}
#discount-container.red #level{
    background-color: var(--red);
}
#level:before{
    display: inline-block;
    content: '🏆';
    margin-right: 5px;
}
#discount{
    margin: 0;
}
#discount a{
    color: var(--blue);
}
#replay-btn, #results-btn{
    width: 48%;
}
/*TIMER*/
#timer-container{
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -30px;
    margin-left: -30px;
    z-index: 2;
}
.timer {
    background: -webkit-linear-gradient(left, var(--green) 50%, #fff 50%);
    border-radius: 100%;
    height: calc(60 * 1px);
    width: calc(60 * 1px);
    position: relative;
    -webkit-animation: time calc(11 * 1s) steps(1000, start) infinite;
    -webkit-mask: radial-gradient(transparent 50%,#000 50%);
    mask: radial-gradient(transparent 50%,#000 50%);
}
.mask {
    border-radius: 100% 0 0 100% / 50% 0 0 50%;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 50%;
    -webkit-animation: mask calc(11 * 1s) steps(500, start) infinite;
    -webkit-transform-origin: 100% 50%;
}
@-webkit-keyframes time {
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@-webkit-keyframes mask {
    0% {
        background: #fff;
        -webkit-transform: rotate(0deg);
    }
    50% {
        background: #fff;
        -webkit-transform: rotate(-180deg);
    }
    50.01% {
        background: var(--green);
        -webkit-transform: rotate(0deg);
    }
    100% {
        background: var(--green);
        -webkit-transform: rotate(-180deg);
    }
}
/* END TIMER */
.product-image-container{
    display: block;
    width: 300px;
    height: 250px;
    margin: 1rem auto;
}
/* Desktop specific styles */
@media (min-width: 700px) {
    #splash-screen #mosaic img{
        width: 20%;
    }
    #container{
        display: flex;
        align-items: flex-start;
        overflow-x: hidden;
    }
    body.game header .logo{
        display: block;
    }
    body.game header #score-container{
        font-size: 1.2rem;
    }
    header .logo img{
        width: 280px;
    }
    .panel{
        width: 50%;
        float: left;
        height: 100%;
        scroll-snap-align: start;
        flex-shrink: 0;
        transform-origin: center center;
        transform: scale(1);
        transition: transform 0.5s;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .inner{
        max-width: 600px;
    }
    h1.name{
        font-size: 2rem;
    }
    img.profiler{
        width: 330px;
    }
    .badge{
        font-size: 1.5rem;
        width: 60px;
        height: 60px;
        margin-top: -40px;
        margin-left: -40px;
    }
    #timer-container{
        margin-top: -46.4px;
        margin-left: -45.8px;
    }
    .timer{
        height: calc(92 * 1px);
        width: calc(92 * 1px);
    }
    #result-container{
        margin-top: -40px;
    }
    svg#tick, svg#cross{
        width: 80px;
    }
    .moreorless .question, .moreorless h5{
        margin: 0 1rem;
    }
    .moreorless button{
        font-size: 1rem;
    }
    .moreorless .more{
        float: left;
        margin-right: 0;
    }
    .moreorless .less{
        float: right;
    }
    .game .logo-container{
        display: block;
    }
    #endModal .social-icons a{
        width: 5%;
    }
    #endModal hr{
        display: none;
    }
}
/* Extra small screens */
@media (max-width: 460px) {
    header{
        top:5px;
    }
    header .logo img{
        margin-top: 1rem;
    }
    .name{
        font-size: 1.2rem;
    }
    .price{
        font-size: 1.5rem;
        margin-bottom: 0;
    }
    .inner{
        padding: .5rem 1rem;
    }
    .inner .costs{
        font-size: .9rem;
    }
    .badge{
        width: 20px;
        height: 20px;
        font-size: .8rem;
        margin-top: -22px;
        margin-left: -20px;
    }
    #timer-container{
        margin-top: -28px;
        margin-left: -24px;
    }
    .timer{
        height: calc(50 * 1px);
        width: calc(50 * 1px);
    }
    img.property{
        width: 130px;
        margin-top: .5rem;
    }
    .moreorless button{
        margin-top: .5rem;
    }
}