/*================================= 1 Reset Css ( #res ) =================================*/

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}a{text-decoration:none;outline:0;margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;color:#D46300;transition:all 0.5s ease 0s;}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}hr{display:block;height:1px;border:0;border-top:1px solid #ababab;margin:50px auto; padding:0}
/*================================= 2 Font Face ( #face ) =================================*/


* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: DK Longreach;
}
body, html {
   margin: 0;
   padding: 0;
   width: 100%;
   height: 100%;
   overflow: hidden;
}
.game_bg {
   flex-direction: column;
   justify-content: center;
   align-items: center;
   height: 100vh;
   width: 100vw;
}
.canvas-container {
   position: relative;
   width: 100%;
   height: 100%;
   justify-content: center;
   text-align:center;
   top:0;
   bottom: 0;
   left: 0;
   right: 0;
   padding: 0;
}

canvas {display: block;width: 100vw;max-width: 900px;max-height: 100%;margin: 0 auto;}
.landscape .game_bg {display: none;}
.rotate-message {display: none;}
.portrait .rotate-message {display: none;}
.hide {display: none;}
.landscape .rotate-message {display: block;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);background-color: rgba(0, 0, 0, 0.7);color: white;padding: 20px;border-radius: 10px;z-index: 1000;text-align: center;font-size: 18px;line-height: 25px;font-family: "Public Sans", sans-serif;}
@font-face {
   font-family: DK Longreach;
   src: url(../fonts/DKLongreach.woff);
}
/*================================= 3  Inputs ( #input ) =================================*/
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0;}
::-webkit-input-placeholder {color:#343434; font-style:normal;}
:-moz-placeholder {color:#343434; font-style:normal;}
::-moz-placeholder {color:#343434; font-style:normal;}
:-ms-input-placeholder {color: #343434; font-style:normal;}
button::-moz-focus-inner {border: 0}
:focus {outline:none;border-color: var(--primary_color) !important;}
::-moz-focus-inner {border:0;}

ul{list-style:none; margin:0; padding:0;}
li{list-style:none;}
img{max-width: 100%;}
button{cursor: pointer;}
.main{background-image: url(../Images/bubble-shooter/main-bg.jpg);background-repeat: no-repeat;background-size: cover;background-position: center center;padding: 30px;height: 100vh;overflow: hidden;}
.volume{width: 40px;position: absolute;top: 20px;left: 20px;box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);border-radius: 50%;cursor: pointer;}
.logo{width: 400px;margin: 30px auto;display: block;}
.container{max-width: 960px;margin-right: auto;margin-left: auto;overflow: auto;height: 100%;}
.container::-webkit-scrollbar {display: none;}
.level_wrapper{display: flex;flex-wrap: wrap;justify-content: center;gap: 30px;padding-top: 60px;}
.level_wrapper p{position: relative;font-size: 70px;color: #55880c;line-height: 1;display: flex;flex-flow: column;align-items: center;cursor: pointer;}
.level_wrapper p:nth-child(even){margin-top: 20px;}
.level_wrapper p span{z-index: 1;}
.level_wrapper p img{width: 130px;position: relative;bottom: 20px;z-index: 0; cursor: auto;}
.level_wrapper p::after{content: '';position: absolute;background-image: url(../Images/bubble-shooter/stars.png);background-repeat: no-repeat;background-size: cover;width: 96px;height: 50px;z-index: 1;bottom: 20px;}
.level_wrapper p:nth-child(even)::after{bottom: 10px;}
.level_wrapper p.locked::after{background-image: url(../Images/bubble-shooter/lock.svg);width: 50px;height: 65px;}

.game_bg{background-image: url(../Images/bubble-shooter/game-bg.jpg);background-repeat: no-repeat;background-size: cover;height: 100vh;background-position: center;position: relative;}
.game_bg::after{content: '';position: absolute;top: 0;width: 100%;height: 100px;background-image: linear-gradient(#03454878 0%, #03454800 100%);}
.box_container{position: fixed;bottom: 20px;left: 0;right: 0;text-align: center;margin-left: -100px;width: 100%;display: flex;align-items: flex-end;justify-content: center;}
.image_wrapper{position: relative;}
.shooting_line{width: 1px;height: 190px;border-left: 4px dotted #084630;position: absolute;bottom: 190px;left: 0;right: 0;margin: 0 auto;}

.cartton_img{width: 200px;}
.box_img{width: 220px;}

.active_bubble{position: absolute;right: 0;left: 0;margin: 0 auto;top: -40px;z-index: -1;}
.another_ball{position: absolute;left: 30px;bottom: 30px;}

.bubbles {display: flex;flex-wrap: wrap;justify-content: center;max-width: 650px;max-height: 298px;overflow: hidden;margin-left: auto;margin-right: auto;}
.bubbles img{width: 70px;}
.bubbles img:nth-child(odd) {margin-left: 25px;}
.bubbles img:nth-child(3n + 2) {margin-left: 0;}
.bubbles img:nth-child(3n) {margin-left: 0;}
.bubbles img:first-child {margin-left: 15px;}

.btn_wrapper{position: fixed;width: 100%;top: 0;display: flex;justify-content: space-between;gap: 20px;padding: 20px;z-index: 1;}
.board_wrapper{display: flex;align-items: center;gap: 20px;}
.score_board{width: 250px;position: relative;}
.score{position: absolute;top: 50%;transform: translateY(-50%);color: #fff8d8;font-size: 25px;display: flex;align-items: center;justify-content: space-between;width: 100%;padding: 0 15px;letter-spacing: 1px;gap: 10px;}
.score p{font-size: 30px;}
#game-info{color: #470e04;letter-spacing: 2px;}

.progress_base{width: 250px;position: relative;}
.progress_thumb{width: 30%;height: calc(100% - 13px);position: absolute;left: 7px;top: 43%;transform: translateY(-50%);background-image: linear-gradient(0deg, #FF51A8 -0.98%, #FFBDDE 99.62%);border-image: linear-gradient(0deg, #FF9DCF -1.33%, #FD99CC 19.61%, #F58EC2 39.72%, #E87AB1 59.49%, #D75F9A 79.03%, #C03D7C 98.27%, #BE3979 100%);border-width: 3px;border-style: groove;}
.star_wrapper{position: absolute;z-index: 1;right: -10px;}
.star_wrapper img:first-child{margin-right: 30px;}

.icon{box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);border-radius: 50%;cursor: pointer;align-self: center;}
.volume:active, .icon:active{transform: translateY(-1px);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);}


.popup.hide{display: none;opacity: 0;}
.popup{position: fixed;width: 100%;height: 100vh;top: 0;left: 0;right: 0;margin: 0 auto;display: flex;align-items: center;justify-content: center;background-color: rgba(0, 0, 0, 0.7);z-index: 99;opacity: 1;transition: all 0.5s ease-out;}

.popup_wrapper{animation: popout 0.5s ease-in-out;text-align: center;}
@keyframes popout {
    0% {
        transform: scale(0.5) rotate(-20deg);
        opacity: 0;
    }
    50% {
        transform: scale(1.1) rotate(10deg);
        opacity: 1;
    }
    75% {
        transform: scale(0.9) rotate(-5deg);
    }
    100% {
        transform: scale(1) rotate(0deg);
    }
}
.popup_wrapper h5{font-size: 50px;color: #fff5b6;text-align: center;margin-bottom: 20px;letter-spacing: 3px;}
.popup_wrapper > img{max-width: 950px;}
.popup .popup_content{position: absolute;top: 50%;transform: translateY(-50%);text-align: center;max-width: 500px;left: 0;right: 0;margin: 50px auto 0;}
.popup .btn_container{margin-top: 40px;}
.popup .stars{position: absolute;right: 0;left: 0;text-align: center;}
.popup .stars img{animation: popout 1s linear 0.5s;}
.popup .stars img:first-child{animation: popout 1s linear 0.7s;}
.popup .stars img:nth-child(3){animation: popout 1s linear 0.9s;}

.popup .clear_top{max-width: 260px;}
.popup p{color: #470e04;font-size: 20px;letter-spacing: 2px;margin: 20px auto;}
.popup h6{color: #470e04;font-size: 55px;background-color: #fcab02;border: 3px solid #fff;border-radius: 50px;width: 50%;padding: 5px 30px;margin: 0 auto 20px;}
.popup .btn_container img{width: 70px;cursor: pointer;}
.game_over .stars img{filter: grayscale(1);}

@keyframes popout {
   0%{transform: scale(1);opacity: 0;}
   40%, 50%{transform: scale(1.2);opacity: 1;}
   90%, 100%{transform: scale(1);}
}



@media (min-height:768px) and (max-height:1023px) and (max-width:450px) {
   
   .canvas-container {
       position: relative;
       width: 100%;
       height: 100%;
       justify-content: center;
       text-align:center;
       top:0;
       bottom: 0;
       left: 0;
       right: 0;
   }
}

@media (max-width:1023px){
   .bubbles{max-width: 510px;max-height: 372px;}
   .logo{width: 340px;}
   .level_wrapper{gap: 10px;padding-top: 40px;}
   .volume{width: 30px;}
   /* canvas{max-width: 90%;} */
   canvas{padding: 20px;}
   .popup .stars img{width: 55px;}
   .popup .stars img:nth-child(2){width: 80px;}
   .popup h6{font-size: 42px;}
   .popup .btn_container img{width: 50px;}
}
@media (max-width:767px){
   .box_container{margin-left: -60px;}
   .cartton_img {width: 140px;}
   .box_img {width: 160px;}
   .board_wrapper{gap: 5px;flex-flow: column;}
   .btn_wrapper{padding: 10px;gap: 10px;}
   .score_board{width: 170px;}
   .score{font-size: 14px;padding: 0 10px;}
   .score p {font-size: 20px;}
   .progress_base{width: 160px;}
   .progress_thumb{height: calc(100% - 9px);left: 3px;border-width: 2px;}
   .icon{width: 30px;}
   .bubbles img {width: 40px;}
   .active_bubble{width: 40px;top: -30px;}
   .another_ball{left: 20px;bottom: 20px;width: 40px;}
   .shooting_line{bottom: 150px;}
   .star_wrapper{top: -3px;}
   .star_wrapper img{width: 20px;}
   .canvas-container{padding-top: 90px;}
   .popup .popup_content{margin-top: 60px;}
   .popup .btn_container {margin-top: 20px;}
   .popup_wrapper h5{font-size: 35px;}
   .popup_wrapper > img{max-width: 260px;}
   .popup .stars img{width: 32px;}
   .popup .stars img:nth-child(2){width: 50px;}
   .popup p{font-size: 16px;max-width: 260px;margin: 10px auto;}
   .popup h6{font-size: 38px;padding: 5px 10px;margin-bottom: 10px;width: 40%;}
   .popup .btn_container img{width: 45px;}
}

@media (width:882px) and ( orientation: landscape ){
    .logo {width: 210px;margin: 10px auto;}
}

@media (max-width:480px){
   .popup h6{padding: 2px 10px;font-size: 32px;}
   .popup .btn_container img {width: 40px;}
}

@media (min-height: 1024px){
    .logo{width: 500px;}
    .container{display: flex;flex-flow: column;justify-content: center;}
    .level_wrapper p{font-size: 82px;flex: 0 0 auto;}
    .level_wrapper p img{width: 150px;}
    .level_wrapper p::after{width: 116px;height: 60px;}
}
@media (min-width: 1024px){
    .container{display: flex;flex-flow: column;justify-content: center;}
    .level_wrapper p{font-size: 82px;flex: 0 0 auto;}
    .level_wrapper p img{width: 150px;}
    .level_wrapper p::after{width: 116px;height: 60px;}
}

