body,html{
    margin: 0;
    padding:0;
    position: relative;
    height: 100vh;
    width: 100%;
}
*{
    box-sizing: border-box;
}
.logo{
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 20;
    max-width: 101px;
    max-height: 100%;
}
.logo img{
    max-width: 100%;
    max-height: 100%;
}

@font-face {
    font-family: 'LilyUPC';
    src: url('../fonts/upcll.eot'); /* IE9 Compat Modes */
    src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/upcll.woff') format('woff'), /* Pretty Modern Browsers */
    url('../fonts/upcll.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('../fonts/upcll.svg') format('svg'); /* Legacy iOS */
}
/*login page*/
.login-page{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/play_bg.png');
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}
.login-page .login-content{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 15px;
    overflow: hidden;
}
.login-page .login-content .login-builds{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/login-builds-01.png');
    background-size: cover;
    background-position: 55% bottom;
    background-repeat: no-repeat;
}
.login-container{
    position: relative;
    width: 100%;
    max-width: 835px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
    top: 50%;
    max-height: 475px;
    transform: translateY(-50%);
    height: 100%;
}
.login-form-bg{
    max-width: 835px;
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    max-height: 475px;
    z-index: 1;
}
.login-form{
    max-width: 835px;
    display: block;
    margin: 0 auto;
    width: 73%;
    position: absolute;
    left: 0;
    top: 25%;
    max-height: 61%;
    z-index: 2;
    min-width: 100%;
    padding-left: 10%;
    padding-right: 10%;
    height: 100%;
}
.login-form >label, .login-form >input{
    display: block;
}
.login-form >label{
    padding: 5px 0px;
    color: #FFF;
    font-family: "Arial";
    position: relative;
}
.login-form >input{
    width: 100%;
    height: 7vw;
    border: 0;
    outline: 0;
    border-radius: 10px;
    max-height: 50px;
    min-height: 30px;
    margin: auto;
    padding: 10px;
    font-size: 17px;
    color: #555;
    position: relative;
}
.login-form #errorName.error:after{
    content: '* Required';
    position: absolute;
    right: 10px;
    bottom: 0;
    color:red;
    font-size:10px;
    width: 50px;
    height: 15px;
    font-weight: bold;
}
.login-form #errorName.errorExp:before{
    content: '* please enter  valid name';
    position: absolute;
    right: 0%;
    bottom: 0;
    color: red;
    font-size: 10px;
    width: 130px;
    height: 15px;
    font-weight: bold;
}
.login-form .again_error{
  font-size: 10px;
  color: red;  
}
.login-form #errorEmail.errorExp:before{
    content: '* please enter a valid email';
    position: absolute;
    right: 0%;
    bottom: 0;
    color: red;
    font-size: 10px;
    width: 130px;
    height: 15px;
    font-weight: bold;
}
.login-form #errorEmail.error:before{
    content: '* Required';
    position: absolute;
    right: 10px;
    bottom: 0;
    color:red;
    font-size:10px;
    width: 50px;
    height: 15px;
    font-weight: bold;
}
.login-btn{
    background: #153a4f;
    outline: 0;
    border: 0;
    color: #FFF;
    display: block;
    margin: 15px auto;
    border-radius: 10px;
    cursor: pointer;
    width: 100%;
    height: 7vw;
    max-height: 50px;
    min-height: 35px;
    font-size: 18px;
}


/*play page*/
.play-page{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/play_bg.png');
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    /*display: none;*/
}
.play-page .play-content{
    position: relative;
    width: 100%;
    height: 100%;
}
.play-page .play-content .builds{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/builds.png');
    background-size: cover;
    background-position: 31% bottom;
    background-repeat: no-repeat;
}
.play-container{
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 760px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px;
}
.play-container .play-title{
    max-width: 760px;
    margin-bottom: 20px;
}
.play-container .play-title img{
    max-width: 100%;
}
.btn-container{
    width: 100%;
    display: flex;
    justify-content: center;
}
.play-container .play-btn{
    max-width: 158px;
    width: 23%;
    background: none;
    outline: none;
    border: 0;
    box-shadow: none;
    cursor: pointer;
    padding: 0;
    border-radius: 20px;
    text-align: center;
    margin: 0 auto;
}
.play-container .play-btn img{
    max-width: 158px;
    width: 100%;
}


/*game page*/

.game-page{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/play_bg.png');
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    display: none;
}
.game-page .game-content{
    position: relative;
    width: 100%;
    height: 100%;
}
.game-top-header{
    position: absolute;
    width: 100%;
    height: 10vh;
}
.game-top-header >div{
    position: relative;
    width: 100%;
    height: 100%;
}
.game-page .score1{
    background-image: url(../images/score-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 100%;
    max-height: 36px;
    max-width: 146px;
    width: 100%;
    position: absolute;
    right: 125px;
    top: 25px;
    text-align: center;
    color: #894416;
    font-weight: 600;
    font-size: 21px;
    z-index: 20;
    font-family: "LilyUPC";
}
.game-page .score1 .score-num{
    color:#894416;
    height: 100%;
    max-height: 36px;
    line-height: 36px;
    text-align: center;
}

.game-page .timer1{
    background-image: url(../images/timer-bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    height: 100%;
    max-height: 51px;
    max-width: 168px;
    width: 100%;
    position: fixed;
    right: 275px;
    top: 16px;
    color:#894416;
    line-height: 54px;
    text-align: center;
    font-weight: bold;
    font-size: 21px;
    padding-left: 30px;
    z-index: 20;
    font-family: "LilyUPC";
}
.game-page .game-level1{
    display: none;
}
.game-page .game-level2{
    display: block;
}
.game-page .game-level1,
.game-page .game-level2{
    position: relative;
    width: 100%;
    height: 100%;
}

#spot_diff_container ,
#spot_diff_container2 {
    margin: auto;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
}
.game-page .game-level1 #spot_diff_image {
    background: url('../images/img1.png');
    background-position: center;
    background-repeat: no-repeat;
    float: left;
    max-width: 50%;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    height: 50vw;
    width: 50%;
    max-height: 100%;
}

.game-page .game-level1 #spot_diff_image2 {
    background: url('../images/img2.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    float: left;
    max-width: 50%;
    position: absolute;
    left: 50%;
    height: 50vw;
    width: 50%;
    max-height: 100%;
}
.game-page .game-level2 #spot_diff_image3 {
    background: url('../images/img4.png');
    background-position: center;
    background-repeat: no-repeat;
    float: left;
    max-width: 50%;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    height: 50vw;
    width: 50%;
    max-height: 100%;
}

.game-page .game-level2 #spot_diff_image4 {
    background: url('../images/img3.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    float: left;
    max-width: 50%;
    position: absolute;
    left: 50%;
    height: 50vw;
    width: 50%;
    max-height: 100%;
}

.spot_diff_clear {
    clear: both;
    width: 100%;
}


.points{
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 17;
}
.points >img{
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    max-width: 7%;
    z-index: 19;
    opacity: 0;
}
/*level 1*/
.game-level1 .points .point1{
    position: absolute;
    top: 48%;
    left: 47.5%;
}
.game-level1 .points .point2{
    position: absolute;
    top: 35%;
    left: 13%;
    max-width: 5%;
}
.game-level1 .points .point3{
    position: absolute;
    top: 80%;
    left: 10%;
    width: 13%;
    height: 8%;
    max-width: 10%;
}
.game-level1 .points .point4{
    position: absolute;
    top: 28%;
    left: 75.5%;
    max-width: 9%;
}
.game-level1 .points .point5{
    position: absolute;
    top: 58.5%;
    left: 54%;
}
/*level 2*/
.game-level2 .points .point1{
    top: 14.5%;
    left: 42%;
}
.game-level2 .points .point2{
    top: 15.5%;
    left: 24.5%;
    max-width: 5%;
}
.game-level2 .points .point3{
    top: 46.5%;
    left: 21%;
}
.game-level2 .points .point4{
    top: 61.5%;
    left: 20.5%;
    max-width: 5%;
}
.game-level2 .points .point5{
    top: 58.5%;
    left: 72%;
    max-width: 6%;
}
.game-level2 .points .point6{
    top: 65.5%;
    left: 85%;
    max-width: 9%;
}
.game-level2 .points .point7{
    top: 28.5%;
    left: 87%;
    max-width: 8%;
}
.game-level2 .points .point8{
    top: 33.5%;
    left: 72.5%;
    max-width: 5%;
}

/* popup next*/
.popup_next{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 23;
    background-color: #000000c4;
    display: none;
}
.popup_next .popup_content{
    position: relative;
    width: 100%;
    max-width: 45%;
    height: 100%;
    max-height: 35%;
    top: 50%;
    margin: auto;
    transform: translateY(-50%);
    background: #ffffffde;
    color: #894416;
    font-family:
        'Arial';
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 27px;
    box-shadow: 0px 0px 9px 3px #a7a7a7;
}
.popup_next .popup_content .you_did_it{
    font-size: 34px;
    font-weight: bold;
    line-height: 32px;
    font-family: "LilyUPC";
}
.popup_next .popup_content .next_level{
    border: 0;
    outline: none;
    background: url(../images/next-btn.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    height: 50px;
    max-width: 110px;
    width: 100%;
    cursor: pointer;
    color: #FFF;
    font-weight: bold;
    font-size: 18px;
}
/* you win*/

.you-win{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/you-win.png');
    background-size: cover;
    background-position: top left;
    background-repeat: no-repeat;
    display: none;
}
.you-win-content{
    position: relative;
    width: 100%;
    height: 100%;
}

.you-win-content img.you-win-title{
    max-height: 100%;
    position: absolute;
    right: 5%;
    top: 0;
    max-width: 100%;
}
.you-win-content .you-win-title2{
    display: none;
    max-height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    margin:auto;
    transform: translateY(-50%);
    max-width: 100%;
}

/* you lose*/

.you-lose{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/you-lose.png');
    background-size: cover;
    background-position: top left;
    background-repeat: no-repeat;
    z-index: 30;
    display: none;
}
.you-lose-content{
    position: relative;
    width: 100%;
    height: 100%;
}

.you-lose-content img.you-lose-title{
    max-height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    max-width: 100%;
}
.you-lose-content .you-lose-title2{
    display: none;
    max-height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    margin:auto;
    transform: translateY(-50%);
    max-width: 100%;
}

/* leader bord*/

.leader-bord-page{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/play_bg.png');
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}
.leader-bord-page .leader-bord-content{
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 15px;
}
.leader-bord-page .leader-bord-content .leader-bord-builds{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/login-builds-01.png');
    background-size: cover;
    background-position: 55% bottom;
    background-repeat: no-repeat;
}
.leader-bord-container{
    padding: 0;
    max-height: 85%;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    position: relative;
    width: 100%;
    max-width: 707px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.leader-bord-bg{
    max-width: 100%;
    display: block;
    position: absolute;
    left: 0;
    max-height: 100%;
    z-index: 1;
}
.leader-con{
    max-width: 838px;
    display: block;
    margin: 0 auto;
    width: 73%;
    position: absolute;
    left: 0;
    top: 15%;
    max-height: 75%;
    z-index: 2;
    min-width: 100%;
    padding-left: 10%;
    padding-right: 10%;
    height: 100%;
}
.leader-con .players{
    position: relative;
    height: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}
/*custom scroller */
.leader-con .players::-webkit-scrollbar-track
{
    -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,0.3);
    background-color: #F5F5F5;
}

.leader-con .players::-webkit-scrollbar
{
    width: 6px;
    background-color: #F5F5F5;
}

.leader-con .players::-webkit-scrollbar-thumb
{
    background-color: #ccc;
    border: 1px solid #ccc;
}





.leader-con .player{
    display: flex;
    position: relative;
    align-items: center;
    background-color: #bad5e5;
    color: #0c1a3a;
    font-size: 18px;
    font-weight: bold;
    min-height: 10%;
    overflow-y: visible;
    margin-top: 5%;
    margin-bottom: 4%;
    font-family: 'Arial';
    text-transform: capitalize;
}
.leader-con .player .player-num{
    width: 10%;
    text-align: center;
    color: #0c1a3a;
}
.leader-con .player .player-img{
    width: 20%;
    position: absolute;
    left: 10%;
    border: 7px solid #afc9d8;
    border-radius: 47%;
}
.leader-con .player .player-img img{
    max-width: 100%;
    display: block;
}

.leader-con .player .flex-row{
    display: flex;
    width: 80%;
    justify-content: space-between;
    padding: 0 20px 0 5px;
}

.pos-rel{
    position: relative !important;
    height: 72px !important;
}
.pos-rel2{
    position: relative !important;
    height: 62px !important;
}
.trans-non{
    top: 0 !important;
    transform: translateY(0) !important;
    height: calc(100% - 72px) !important;
}
.trans-nonH{
    height: calc(100% - 72px) !important;
}




/*portrait popup*/
.portrait-popup{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 23;
    background-color: #000000c4;
    display: none;
    z-index: 25;
}
.portrait-content{
    position: relative;
    width: 100%;
    max-width: 70%;
    height: 100%;
    max-height: 35%;
    top: 50%;
    margin: auto;
    transform: translateY(-50%);
    background: #ffffffde;
    color: #894416;
    font-family: 'Arial';
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 27px;
    box-shadow: 0px 0px 9px 3px #a7a7a7;
}
.portrait-message{
    font-size: 34px;
    font-weight: bold;
    line-height: 36px;
    font-family: "LilyUPC";
}
/* style popup */
.popup-overlay{
    height: 100vh;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000000cf;
    display: none;
}
.popup{
    background: #FFF;
    position: relative;
    left: 0;
    right: 0;
    top: 50%;
    margin: auto;
    width: 50%;
    height: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
}
.q-text{
    margin:0;
    text-align: center;
    padding: 10px;
}
.answers{
    width: 100%;
    height: 70%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0 20px;
    flex-wrap: wrap;
}
.answers .answer{
    width: 50%;
    height: 88px;
    display: flex;
    align-items: center;
    list-style: none;
}
@media screen and (max-width:992px){

}

@media screen and (max-width:768px){
    .login-container{
        max-height: 36vw;
    }
    .leader-bord-container{
        max-height: 100vw;
    }
    .leader-con{
        top: 14%;
        max-height: 78%;
    }
    .login-form{
        top: 7%;
        max-height: 89%;
    }
    .login-form >label{
        font-size: 14px;
        margin: 0;
        padding: 1px 0;
    }
    .login-btn{
        font-size: 15px;
        margin: 15px 0;
        min-height: 25px;
    }
    .login-form >input{
        min-height: 18px;
    }
    .logo{
        max-width: 80px !important;
    }
    .you-win-content .you-win-title {
        display: none;
    }

    .you-win-content .you-win-title2 {
        display: block;
    }
    .you-lose-content .you-lose-title {
        display: none;
    }

    .you-lose-content .you-lose-title2 {
        display: block;
    }
    .popup_next .popup_content .you_did_it{
        margin: 6px;
    }
    .popup_next .popup_content .next_level{
        height: 35px;
        max-width: 101px;
    }
}
@media screen and (min-width:769px) and (orientation: landscape){
    .leader-bord-container{
        max-width: 81vh;
    }

}
@media screen and (max-width:500px) and (orientation: portrait){
    .login-btn{
        margin: 6px 0;
        font-size: 14px;
    }
    .portrait-message,
    .popup_next .popup_content .you_did_it{
        font-size: 24px;
        line-height: 24px;
        padding: 10px;
    }
    .popup_next .popup_content .next_level{
        max-width: 97px;
        max-height: 35px;
        font-size: 14px;
    }
}
@media screen and (max-width:768px) and (orientation: landscape){
    .leader-con .players{
        max-width: 68vh;
    }
    .you-win-content .you-win-title {
        display: none;
    }

    .you-win-content .you-win-title2 {
        display: block;
        right: 5%;
        left: auto;
    }
    .you-lose-content .you-lose-title {
        display: none;
    }

    .you-lose-content .you-lose-title2 {
        display: block;
        right: 5%;
        left: auto;
    }
}

/*Ipad Pro*/
@media screen and (device-width:1024px) and (device-height:1366px) and (orientation: portrait){
    .you-lose-content img.you-lose-title{
        display:none;
    }
    .you-lose-content .you-lose-title2{
        display: block;
    }
    .leader-bord-container{
        max-height: 707px;
        max-width: 666px;
    }

}

@media screen and (max-width:992px) and (orientation: landscape){
    .logo{
        max-width: 80px;
    }
    .game-page .score1{
        top: 10px;
        right: 12px;
        max-width: 111px;
        height: 34px;
    }
    .game-page .timer1{
        top: 0px;
        right: 140px;
        max-width: 120px;
        height: 51px;
    }
    /* .game-page .game-level1 #spot_diff_image2,
    .game-page .game-level1 #spot_diff_image{
        height: 100%;
    } */
    .login-form >label{
        font-size: 14px;
        margin: 0;
        padding: 1px 0;
    }
    .login-form >input {
        min-height: 18px;
    }
    .login-btn {
        font-size: 15px;
        margin: 15px 0;
        min-height: 25px;
    }
}
@media screen and (max-width:1366px) and (min-width:1024px) and (orientation: landscape){
    .login-container{
        max-width: 650px;
        max-height: 420px;
    }
    .login-form >input,
    .login-btn{
        max-height: 45px;
    }
    .login-form{
        top: 25% !important;
        max-height: 77% !important;
    }
}
@media screen and (max-width:1050px) and (height:625px) {
    .login-container{
        max-width: 650px;
        max-height: 420px;
    }
    .login-form >input,
    .login-btn{
        max-height: 45px;
    }
    .login-form{
        top: 25% !important;
        max-height: 77% !important;
    }
}
@media screen and (max-height:624px) and (orientation: landscape){
    .login-container{
        max-width: 490px;
        max-height: 67%;
    }
    .login-form >input,
    .login-btn{
        max-height: 40px;
        font-size: 14px;
    }
    .login-btn{
        margin: 10px auto;
    }
    .login-form{
        top: 19% !important;
    }


}

/* start style of the spin    */

.overlay-hidden {

    display: none !important;

}



.loading-overlay {

    background: rgb(0 0 0 / 72%);

    color: #fff;

    position: fixed;

    left: 0;

    top: 0;

    width: 100%;

    height: 100%;

    z-index: 99999;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-align: center;

    -ms-flex-align: center;

    align-items: center;

    -webkit-box-pack: center;

    -ms-flex-pack: center;

    justify-content: center;

}



.reverse-spinner {

    position: relative;

    height: 150px;

    width: 150px;

    border: 6px solid transparent;

    border-top-color: #ba8ca8;

    border-left-color: #ba8ca8;

    border-radius: 50%;

    -webkit-animation: spin 1.5s linear infinite;

    animation: spin 1.5s linear infinite;

}



.reverse-spinner::before {

    position: absolute;

    top: 15px;

    left: 15px;

    right: 15px;

    bottom: 15px;

    content: "";

    border: 6px solid transparent;

    border-top-color: #f2f7af;

    border-left-color: #f2f7af;

    border-radius: 50%;

    -webkit-animation: spinBack 1s linear infinite;

    animation: spinBack 1s linear infinite;

}



@-webkit-keyframes spin {

    from {

        -webkit-transform: rotate(0);

        transform: rotate(0);

    }



    to {

        -webkit-transform: rotate(360deg);

        transform: rotate(360deg);

    }

}



@keyframes spin {

    from {

        -webkit-transform: rotate(0);

        transform: rotate(0);

    }



    to {

        -webkit-transform: rotate(360deg);

        transform: rotate(360deg);

    }

}



@-webkit-keyframes spinBack {

    from {

        -webkit-transform: rotate(0);

        transform: rotate(0);

    }



    to {

        -webkit-transform: rotate(-720deg);

        transform: rotate(-720deg);

    }

}



@keyframes spinBack {

    from {

        -webkit-transform: rotate(0);

        transform: rotate(0);

    }



    to {

        -webkit-transform: rotate(-720deg);

        transform: rotate(-720deg);

    }

}

