@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;800;900&display=swap');

@font-face {
    font-family: myWebFont;
    src: url('font/FuturaCom-BoldCondensed.ttf');
    font-weight: bold;
    font-stretch: condensed;
}
@font-face {
    font-family: myWebFont;
    src: url('font/FuturaCom-Bold.ttf');
    font-weight: bold;
}
@font-face {
    font-family: myWebFont;
    src: url('font/FuturaCom-Medium.ttf');
    font-weight: normal;
}
@font-face {
    font-family: myWebFont;
    src: url('font/FuturaCom-Light.ttf');
    font-weight: lighter;
}
#__vconsole .vc-switch{
    bottom: 5vw !important;
    right: 5vw !important; 
}
/*  */
body,
html {
    width: 100vw;
    min-height: 100vh;
    font-family: myWebFont, 'Noto Sans TC', sans-serif, Arial, Helvetica, '微軟正黑體', Microsoft JhengHei, Apple LiGothic, '蘋果儷中黑';
    -webkit-font-smoothing: antialiased;
    /* background-image: url(img/sand.png); */
}
img{
    image-rendering:-moz-crisp-edges;          /* Firefox        */
    image-rendering:-o-crisp-edges;            /* Opera          */
    image-rendering:-webkit-optimize-contrast; /* Safari         */
    image-rendering:optimize-contrast;         /* CSS3 Proposed  */
    -ms-interpolation-mode:nearest-neighbor;   /* IE8+           */
}
.sea{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100vw;
    height: 81vw;
    background-image: url(img/bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
.page_start{
    position: relative;
    text-align: center;
    padding-top: 8vw;
    display: none;
}
h2{
    font-size: 10vw;
    color: #203574;
    font-weight: 900;
    margin: 0 0 4.5vw;
}
.subtitle{
    font-size: 4.3vw;
    font-weight: bold;
    line-height: 1.5;
}
.playtime{
    width: 90vw;
    height: 64.2vw;
    margin: auto;
    background-image: url(img/flag_top.png);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 17vw;
    box-sizing: border-box;
}
.playtime p{
    font-size: 4.7vw;
    font-weight: 600;
    margin-bottom: 1vw;
}
.playtime .line{
    width: 80%;
    margin: auto;
}
.time_area{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%;
    margin: auto;
}
.basic{
    font-size: 15vw;  
    font-weight: bold;
    font-stretch: condensed;
    color: #203574;
}
.sec{
    font-weight: bold;
    font-stretch: condensed;
    position: relative;
    top: 1.2vw;
    margin: 0 1vw;
}
.plus{
    font-size: 10vw;
    font-weight: bold;
    background-color: #fff;
    border-radius: 50%;
    width: 12vw;
    height: 12vw;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #203574;
    margin: 0 2vw;
}
.plus span{
    position: relative;
    bottom: 1vw;
}
.bonust{
    font-size: 15vw;  
    font-weight: bold;
    font-stretch: condensed;
    color: #3bac5e;
    position: relative;
    min-width: 15vw;
}
.bonus{
    position: absolute;
    width: 14vw;
    top: -8vw;
    right: -10.5vw;
}
.startbutton{
    background-color: #db0840;
    color: #fff;
    width: 75vw;
    height: 15vw;
    margin: auto;
    border-radius: 15vw;
    font-size: 5.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 6vw;
    box-sizing: border-box;
    font-weight: bold;
}
.startbutton img{
    width: 24vw;
    position: relative;
    top: -4vw;
    left: 1vw;
}
.tips{
    line-height: 1.35;
    background-image: linear-gradient(to bottom, rgba(224, 215, 181, 0), #e3d9b3);
    width: 80vw;
    margin: 8vw auto 0;
    padding-bottom: 10vw;
}
.tips_title{
    font-weight: bold;
    font-stretch: condensed;
    font-size: 5vw;
}
.tips_disc{
    font-size: 4.3vw;
    font-weight: 500;
    margin-top: 2vw;
}
.tips_disc span{
    font-weight: bold;
    font-stretch: condensed;
}
.detail{
    width: 60vw;
    margin: auto;
    padding-left: 13vw;
    position: relative;
}
.detail p{
    padding-top: 7vw;
    width: 97%;
    font-size: 3.8vw;
    text-align: left;
    letter-spacing: .045vw;
    font-weight: 500;
    position: relative;
}
.detail p span{
    font-weight: bold;
    font-stretch: condensed;
}
.drink{
    width: 18vw;
    position: absolute;
    left: -8vw;
    top: 3vw;
}
.tri{
    position: absolute;
    top: 7.5vw;
    left: -3.9vw;
}
.invoice_btn{
    border: solid 2px #203574;
    width: 55vw;
    height: 11vw;
    border-radius: 15vw;
    margin: 3vw auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.3vw;
    color: #203574;
    font-weight: 500;
}
.invoice_btn span{
    font-weight: bold;
    font-stretch: condensed;
    margin-left: 2vw;
}
.guide{
    font-weight: 500;
    font-size: 3.8vw;
    margin-top: 10vw;
    text-align: center;
    display: block;
}

/* 遊戲頁 */
.page_game{
    position: relative;
    text-align: center;
    padding-top: 6vw;
    display: none;
}
.page_game h3{
    margin: 0;
    color: #203574;
    font-size: 5.6vw;
    font-weight: 700;
    line-height: 1.5;
}
.status{
    background-image: url(img/flag_game.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 90vw;
    height: 41.92vw;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 3.8vw;
}
.straight{
    height: 21vw;
    margin: 0 1vw;
}
.straight img{
    height: 100%;
}
.time{
    width: 40%;
}
.score{
    width: 40%;
}
.status .num{
    font-size: 15vw;
    font-weight: bold;
    font-stretch: condensed;
    color: #203574;
    line-height: 1;
}

.game_area{
    width: 90vw;
    height: 120vw;
    margin: auto;
    position: relative;
    margin-top: 3vw;
    /* display: none; */
}
.card{
    width: 25vw;
    height: 25vw;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    margin: 0 2.5vw;
}
.card:nth-child(1){    top: 0;    left: 0;}
.card:nth-child(2){    top: 0;    left: 30vw;}
.card:nth-child(3){    top: 0;    left: 60vw;}
/* .card:nth-child(4){    top: 0;    left: 375px;} */
.card:nth-child(4){    top: 26vw;    left: 0;}
.card:nth-child(5){    top: 26vw;    left: 30vw;}
.card:nth-child(6){    top: 26vw;    left: 60vw;}
/* .card:nth-child(8){    top: 30vw;    left: 375px;} */
.card:nth-child(7){    top: 52vw;    left: 0;}
.card:nth-child(8){    top: 52vw;    left: 30vw;}
.card:nth-child(9){    top: 52vw;    left: 60vw;}
/* .card:nth-child(12){    top: 60vw;    left: 375px;} */
.card:nth-child(10){    top: 78vw;    left: 0;}
.card:nth-child(11){    top: 78vw;    left: 30vw;}
.card:nth-child(12){    top: 78vw;    left: 60vw;}
/* .card:nth-child(16){    top: 375px;    left: 375px;} */
.card img{
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
}

.remember,.round,.timesup{
    position: absolute;
    font-size: 13vw;
    left: 0;
    right: 0;
    margin: auto;
    font-weight: bold;
    font-stretch: condensed;
    top: 50%;
    color: #fff;
    background-image: linear-gradient(to left, rgba(219, 210, 175, 0), #203574 23%, #203574 76%, rgba(214, 205, 170, 0));
    width: 100%;
    padding: 5vw 0; 
    display: none;
}
.remember{
    display: block;
}

.page_result{
    position: relative;
    padding-top: 5vw;
    padding-bottom: 10vw;
    display: none;
}
h1{
    color: #203574;
    margin: 0;
    font-weight: bold;
    font-stretch: condensed;
    font-size: 11vw;
    display: flex;
    align-items: center;
    justify-content: center;

}
h1 img{
    width: 50vw;
    /* margin-left: 2vw; */
    position: relative;
    bottom: 1vw;
}
.result_area{
    width: 90vw;
    margin: auto;
}
.result_top{
    background-image: linear-gradient(to bottom, rgba(207, 229, 237, 0), #e3d9b3);
    padding-bottom: 10vw;
}
.score_this{
    background-image: url(img/flag_score.png);
    width: 90vw;
    height: 52.9vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5vw;
}
.score_this div{
    font-weight: 600;
    width: 5vw;
    position: relative;
    left: 2vw;
}
.score_this span{    
    color: #203574;
    width: 50vw;
    display: block;
    font-weight: bold;
    font-stretch: condensed;
    font-size: 22vw;
    text-align: center;
    padding-right: 3vw;
}
.result_line{
    display: block;
    width: 80%;
    margin: auto;
}
.record{
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto;
    padding: 2.5vw;
    font-weight: bold;
    font-size: 4.7vw;
}
.record span{
    display: block;
    font-weight: bold;
    font-stretch: condensed;
    font-size: 10vw;
    color: #203574;
}
.result_area p{
    font-weight: 500;
    text-align: center;
    padding-top: 5vw;
}
.result_area p span{
    font-weight: bold;
    font-stretch: condensed;
}
.result_bot{
    background-color: #3bac5e;
    position: relative;
    color: #fff;
    font-size: 4.7vw;
    padding: 7vw 5vw 7vw 23vw;
    line-height: 1.35;
    letter-spacing: .2vw;
}
.result_bot img{
    position: absolute;
    top: -3vw;
    left: 4vw;
    width: 18vw;
}
.result_bot span{
    font-weight: bold;
    font-stretch: condensed;
}
.party_r{
    display: flex;
    align-items: center;
    text-align: right;
    justify-content: center;
    width: 80vw;
    margin: 6vw auto 5vw;
    font-weight: 500;
    line-height: 1.45;
}
.party_r span{
    font-weight: bold;
    font-stretch: condensed;
}
.party_r img{
    width: 20vw;
    display: block;
    margin-left: 2vw;
}
.retry{
    background-color: #db0840;
    width: 80vw;
    height: 16vw;
    border-radius: 16vw;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5.4vw;
    letter-spacing: .2vw;
    font-weight: 600;
    margin: auto;
}
.btn_area{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 80vw;
    margin: 5vw auto;
}
.btn_area .btn{
    background-color: #203574;
    width: 38vw;
    color: #fff;
    font-size: 5.4vw;
    letter-spacing: .2vw;
    height: 16vw;
    border-radius: 16vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.page_leaderboard{
    position: relative;
    padding-top: 5vw;
    padding-bottom: 10vw;
    display: none;
}
.page_leaderboard h1{
    margin-bottom: 5vw;
}
.page_leaderboard .line{
    width: 70vw;
    margin: auto;
    display: block;
}
.chooseStore{
    text-align: center;
}
#store{
    background-color: transparent;
    text-align: center;
    margin: auto;
    border: none;
    appearance:none;
    -moz-appearance:none;
    -webkit-appearance:none;
    width: 70vw;
    color: #203574;
    font-weight: 600;
    font-size: 5.0vw;
    letter-spacing: 0.2vw;
    padding: 2vw 5vw;    
    background: url("img/select.svg") no-repeat right 3% center transparent;
    background-size: 6%;
}
#store option{
    color: #203574;
    text-align: center;
}
.leaderboard_l{
    width: 90vw;
    height: 142vw;
    margin: auto;
    background-image: url(img/flag_board_l.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding: 11vw 8vw 0;
    box-sizing: border-box;
    position: relative;
}
.th{
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    font-size: 4vw;
    text-align: center;
}
.col{
    width: 33%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.col img{
    border-radius: 50%;
}
.leaderboard .line{
    margin: .5vw auto 1vw;
    position: relative;
}
.td{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: bold;
    font-stretch: condensed;
    font-size: 7vw;
    position: relative;
}
.td img{
    width: 11vw;
}
.high{
    color: #203574;
}
.tententen{
    text-align: center;
    font-weight: bold;
    font-size: 6vw;
    margin: 2vw 0;
}
.tententen span{
    transform: rotate(90deg);
    display: inline-block;
    position: relative;
    left: 1vw;
}
.leaderboard p{
    font-weight: 500;
    margin-top: 3vw;
    line-height: 1.3;
    text-align: center;
    font-size: 3.8vw;
}
.leaderboard p span{
    font-weight: bold;
    font-stretch: condensed;
    
}
.you .col{
    transform: scale(1.2);
    padding: 2vw 0;
}
.you_bg{
    position: absolute;
    bottom: -8.2vw;
    z-index: 0;
    left: -9vw;
    right: 0;
    margin: auto;
    width: 92vw !important;
    max-width: unset;
    height: 24vw;
    display: none;
}
.you .you_bg{
    display: block;
}
.party_l{
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    line-height: 1.45;
    margin: 7vw 0;
}
.party_l span{
    font-weight: bold;
    font-stretch: condensed;
}
.party_l img{
    width: 20vw;
    display: block;
    margin-right: 2vw;
}
.leaderboard_l{
    /* display: none; */
}
.leaderboard_s{
    width: 90vw;
    height: 103vw;
    margin: auto;
    background-image: url(img/flag_board_s.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    padding: 11vw 8vw 0;
    box-sizing: border-box;
    position: relative;
}
.no_record{    
    position: absolute;
    font-size: 7vw;
    left: 0;
    right: 0;
    margin: auto;
    font-weight: bold;
    bottom: 11vw;
    color: #fff;
    background-image: linear-gradient(to left, rgba(219, 210, 175, 0), #203574 23%, #203574 76%, rgba(214, 205, 170, 0));
    width: 100%;
    padding: 4vw 0; 
    text-align: center;
}

.loading{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,.2);
    display: flex;
    align-items: center;
    justify-content: center;
    display: none;
}
.loading.show{
    display: flex;
}
.loading img{
    width: 40vw;
    display: block;
}

.page_store{
    position: relative;
    padding-top: 5vw;
    display: none;
}
.storebonus{
    text-align: center;
    font-weight: bold;
    font-stretch: condensed;
    color: #203574;
    font-size: 5.6vw;
    margin: 5vw 0 0;
}
.store_flag{
    background-image: url(img/flag_store.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 90vw;
    height: 63.8vw;
    margin: auto;
}
.input_area{
    padding: 15vw;
    text-align: center;
    font-weight: 700;
}
.input_area img{
    margin-top: 3vw;
}
.input_area input{
    border: none;
    width: 50vw;
    height: 14vw;
    margin-top: 5vw;
    font-weight: bold;
    font-stretch: condensed;
    color: #203574;
    text-align: center;
    font-size: 9vw;
}
.input_area input:focus{
    outline: none;
}
.limit{
    text-align: center;
    font-weight: bold;
    font-size: 3vw;
    margin-top: -2vw;
}
.store_btn{
    width: 28vw;
    height: 9vw;
    border-radius: 5vw;
    border: solid .6vw #203574;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #203574;
    font-size: 4vw;
    font-weight: bold;
    margin: 10vw auto 5vw;
}
.bonus_success{
    padding: 15vw;
    font-size: 7.2vw;
    font-weight: bold;
    font-stretch: condensed;
    text-align: center;
    line-height: 1.25;
    display: none;
}
.bonus_success p{
    font-size: 3.6vw;
    font-weight: 500;
}
.bonus_success img{
    margin-bottom: 3vw;
}
.startbutton.storestart{
    width: 70vw;
    display: none;
}
.startbutton.storestart.show{
    display: flex;
}
.alert_mask{
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    background-color: rgba(0,0,0,.6);
    display: none;
}
.alert{
    width: 78vw;
    height: 74.6vw;
    background-image: url(img/alert.png);
    background-size: cover;
    background-repeat: no-repeat;
    margin: 30vw auto;
    position: relative;
    box-sizing: border-box;
    padding: 15vw 10vw;
    text-align: center;
}
.close{
    position: absolute;
    top: 7vw;
    right: 7vw;
    width: 7vw;
}
.wheel{
    position: absolute;
    width: 24vw;
    bottom: -5vw;
    left: -3vw;
}
.alert_content{
    font-size: 8vw;
    font-weight: bold;
    font-stretch: condensed;
    line-height: 1.25;
}
.alert_content span{
    display: block;
    font-size: 3.5vw;
    margin: 4vw 0;
}
.alert .guide{
    margin-top: 5vw;
    font-size: 3.5vw;
}
.over_limit{
    display: none;
}
.wrong_code{
    display: none;
}
.wrong_code span{
    color: #db1840;
}