body {
    background-image: url(/event/action_img/backguard.png);
    background-size: cover;
    user-select: none;
}

.loading {
    background-color: #0b608a;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 99;
}

.load_box {
    width: 50%;
    padding-top: 20%;
    text-align: center;
    margin: 0 auto;
}

.nav_select {
    width: 100%;
    height: 60px;
    background-color: rgb(0, 0, 0, 0);
    z-index: 95;
    position: absolute;
    top: 1%;
}

.logo_top img {
    max-width: 5%;
    z-index: 95;
    left: 15px;
    top: 5px;
    position: fixed;
}

.dropdown button {
    background-color: #ecddbb !important;
    color: black !important;
    position: fixed;
    right: 6px;
}

.dropdown ul {
    background-color: #ecddbb !important;
    position: absolute;
}

.banner_title {
    position: absolute;
    z-index: 8;
}

.main_title {
    position: absolute;
    left: 38%;
    top: 8%;
}

.subtittle {
    z-index: 10;
    position: absolute;
    width: 40%;
    left: 33%;
    top: 25%;
    background-color: #0b608a;
    border-radius: 10px;
    border: solid 5px #70bfe8;
}

.subtittle img {
    display: block;
    margin: 0 auto;
}

.content {
    top: 30%;
    position: absolute;
    margin: 0 auto;
    right: 2%;
    width: 96%;
    z-index: 9;
}

.event {
    background-color: #153155;
    border-radius: 10px;
    border: solid 5px #70bfe8;
    margin-bottom: 2%;
    padding-top: 40px;
    padding-bottom: 40px;
}

.event .banner_img {
    display: block;
    width: 100%;
    margin: 0 auto;
}

.action_banner {
    position: relative;
}

.information {
    position: relative;
    /* 兩側裝飾寬度與時間字級的「單一事實來源」——.action_status_image / .action_more_image
       讀 --status-w / --more-w，.ribon-box 用同一組值讓出位置，.time 用 --time-max / --time-k
       回推可用寬度內的字級。各斷點只改這裡的變數，不要在下面的規則裡再寫一次數字。
       --time-k = 「YYYY-MM-DD HH:mm ~ YYYY-MM-DD HH:mm」的字串寬 ÷ 字級（實測 ≈19.2，取 19.5 留餘裕）。
       ⚠️ 若日後時間顯示格式改長度（例如補上秒），--time-k 必須跟著改，否則會再壓到字。 */
    --status-w: 20rem;
    --more-w: 10rem;
    --time-max: 40px;
    --time-k: 19.5;
}

.action_more {
    position: absolute;
    bottom: 19%;
    right: 3%;
    border-radius: 8px;
    padding: 5px;
    font-size: large;
    width: 11%;
    text-align: center;
    color: white;
    border: #153155 2px solid;
    font-weight: bolder;
    text-shadow:
        0 0 50px #0d0d6e,
        0 0 2px #0d0d6e,
        0 0 5px #0d0d6e,
        0 0 2px #0d0d6e,
        0 0 2px #0d0d6e !important;
    background: linear-gradient(rgba(98, 167, 236, 0.9), rgb(3, 116, 229));
}

.action_status_image,
.action_more_image {
    position: absolute;
    top: 5px;
    height: calc(100% - 10px);
}

.action_status_image {
    left: 0;
    width: var(--status-w);
}

.action_more_image {
    right: 0;
    width: var(--more-w);
    background: url('/event/action_img/action_more.png') no-repeat;
    background-size: contain;
    background-position: center;
}

.fishing_on {
    background: url('/event/action_img/fishing_on.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.fishing_off {
    background: url('/event/action_img/fishing_off.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.slot_on {
    background: url('/event/action_img/slot_on.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.slot_off {
    background: url('/event/action_img/slot_off.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.other_on {
    background: url('/event/action_img/other_on.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.other_off {
    background: url('/event/action_img/other_off.png') no-repeat;
    background-size: contain;
    background-position: left center;
}

.action_type {
    background-image: url('/event/action_img/tips_text_3.png');
    background-repeat: no-repeat;
    background-size: 155px;
    position: absolute;
    top: 9%;
}

.progress_type {
    background-image: url('/event/action_img/tips_text_3.png');
    background-repeat: no-repeat;
    background-size: 160px;
    position: absolute;
    top: 0;
}

.type_text {
    width: 155px;
    color: white;
    font-weight: bolder;
    padding-top: 4px;
}

.progress_text {
    width: 160px;
    color: white;
    font-weight: bolder;
    padding-top: 4px;
}

.type_text img,
.progress_text img {
    display: inline-block;
    width: 16px;
    margin-left: 10px;
    margin-right: 10px;
}

/* .action_progress {
  position: absolute;
  top: 1%;
  left: 3%;
  border-style: solid;
  font-size: large;
  font-weight: bolder;
  width: 150px;
  border-color: rgba(22, 122, 222) transparent transparent transparent;
  border-width: 30px 30px 0 0;
}

.action_type {
  position: absolute;
  top: 8%;
  left: 3%;
  border-style: solid;
  font-size: large;
  font-weight: bolder;
  width: 150px;
  border-color: rgba(22, 122, 222) transparent transparent transparent;
  border-width: 30px 30px 0 0;
}

.progress_text {
  width: 149px;
  border-top: #7eb3ef 3px solid;
  position: absolute;
  font-size: large;
  font-weight: bolder;
  color: white;
  top: 1%;
  left: 3%;
}

.type_text {
  width: 149px;
  border-top: #7eb3ef 3px solid;
  position: absolute;
  font-size: large;
  font-weight: bolder;
  color: white;
  top: 8%;
  left: 3%;
}

.type_text img,
.progress_text img {
  max-width: 17px;
  padding-bottom: 3px;
  display: inline-block;
} */

.game_icon_box {
    position: absolute;
    top: 1%;
    right: 1%;
    max-width: 90%;
}

.game_icon_box img {
    width: 79px;
    display: inline-block;
    float: right;
}
.ribon-box {
    height: 80px;
    background: radial-gradient(circle farthest-side at center, #0b608a, rgb(247, 246, 246, 0));
    /* 左右讓出 .action_status_image / .action_more_image 的位置（兩者都是 absolute，
       z-index auto 但屬「已定位元素」，繪製順序在未定位的 .ribon-box 內容之後 → 會蓋住時間文字）。
       左右取同一個較大的 --status-w 讓文字維持在卡片正中央；+0.5rem 是與徽章之間的留白。 */
    box-sizing: border-box;
    padding-left: calc(var(--status-w) + 0.5rem);
    padding-right: calc(var(--status-w) + 0.5rem);
}
.ribon-border {
    height: 5px;
    background-color: #70bfe8;
    background: linear-gradient(50deg, rgb(247, 246, 246, 0), #70bfe8, rgb(247, 246, 246, 0));
}
.time {
    /* 上限＝各斷點原本的字級（--time-max）；空間不夠時以「讓位後的可用寬度 ÷ --time-k」收斂。
       94vw ≈ .content（width:96%）的內容寬。ribon-box 高度固定，寧可縮字也不能換行。 */
    font-size: min(var(--time-max), calc((94vw - 2 * var(--status-w) - 1rem) / var(--time-k)));
    white-space: nowrap;
    line-height: 80px;
    color: white;
    text-align: center;
    -webkit-text-stroke: 1px black;
}

.logo img {
    width: 20%;
    margin: 0 auto;
    display: block;
}

.logo p {
    text-align: center;
    color: #fdfdfe;
}

.valogo {
    width: 10% !important;
    padding-top: 50px;
}

/* @media (max-width: 1700px) {
  .action_type,
  .action_progress {
    left: 1%;
  }
  .type_text,
  .progress_text {
    left: 1%;
  }
} */

@media (max-width: 1300px) {
    .logo_top img {
        max-width: 10%;
    }

    .subtittle {
        z-index: 10;
        position: absolute;
        width: 40%;
        left: 33%;
        top: 27%;
        background-color: #0b608a;
        border-radius: 10px;
        border: solid 2px #70bfe8;
    }

    .content {
        top: 40%;
        position: absolute;
        margin: 0 auto;
        right: 2%;
        width: 96%;
        z-index: 9;
    }

    .event {
        background-color: #153155;
        border-radius: 10px;
        border: solid 3px #70bfe8;
        margin-bottom: 2%;
        padding-top: 20px;
        padding-bottom: 10px;
    }
    .ribon-border {
        height: 3px;
    }
    .ribon-box {
        height: 60px;
        background: radial-gradient(circle farthest-side at center, #0b608a, rgb(247, 246, 246, 0));
    }
    .time {
        color: white;
        text-align: center;
        line-height: 60px;
        -webkit-text-stroke: 1px black;
    }

    .valogo {
        width: 20% !important;
        padding-top: 50px;
    }

    .action_more {
        width: 100px;
        right: 10px;
    }

    .action_type {
        top: 13%;
    }

    .game_icon_box {
        padding-right: 7px;
    }

    .game_icon_box img {
        width: 60px;
    }

    .action_status_image,
    .action_more_image {
        top: 3px;
        height: calc(100% - 6px);
    }

    .information {
        --status-w: 16rem;
        --more-w: 8rem;
        --time-max: 30px;
    }

    /* .action_type {
    top: 16%;
  }

  .type_text {
    top: 16%;
  } */
}

@media (max-width: 1000px) {
    .logo_top img {
        max-width: 15%;
    }

    /* #dropdownMenuButton,
  .dropdown-menu {
    width: 23% !important;
    font-size: 17px;
  } */

    .main_title {
        top: 9%;
    }
    .ribon-border {
        height: 2px;
    }
    .time {
        -webkit-text-stroke: 1px white;
    }

    .game_icon_box img {
        width: 50px;
        display: inline-block;
        float: right;
    }

    .action_more {
        right: 10px;
        font-size: medium;
    }

    .action_type {
        top: 16%;
    }

    .action_status_image,
    .action_more_image {
        top: 2px;
        height: calc(100% - 4px);
    }

    .information {
        --status-w: 12rem;
    }

    /* .action_progress {
    font-size: medium;
  }

  .action_type {
    top: 15%;
    font-size: medium;
  }

  .type_text {
    top: 15%;
  } */
}

@media (max-width: 880px) {
    .banner_title {
        position: absolute;
        z-index: 8;
    }

    .main_title {
        position: absolute;
        left: 27%;
        top: 15%;
    }

    .subtittle {
        z-index: 10;
        position: absolute;
        width: 40%;
        left: 33%;
        top: 40%;
        background-color: #0b608a;
        border-radius: 10px;
        border: solid 5px #70bfe8;
    }

    .content {
        top: 50%;
        position: absolute;
        margin: 0 auto;
        right: 2%;
        width: 96%;
        z-index: 9;
    }
    .ribon-box {
        height: 40px;
        background: radial-gradient(circle farthest-side at center, #0b608a, rgb(247, 246, 246, 0));
    }
    .time {
        line-height: 40px;
        color: white;
        text-align: center;
        -webkit-text-stroke: 1px white;
    }

    .action_more {
        width: 90px;
        padding: 1px;
        right: 10px;
        font-size: medium;
    }

    .information {
        --status-w: 10rem;
        --more-w: 5rem;
        --time-max: 25px;
    }

    .game_icon_box img {
        width: 40px;
        display: inline-block;
        float: right;
    }

    /*.action_progress {
       
        left: 5px;
        font-size: small;
    }



    .action_type {      
        left: 5px;
        font-size: small;
    }*/
}

@media (max-width: 800px) {
    /*.action_progress {
        position: absolute;
        top: 1%;
        left: 2%;
        width: 105px;   
        border-width: 25px 25px 0 0;
    }
    
    .action_type {
        position: absolute;
        top: 19%;
        left: 2%; 
        width: 95px; 
        border-width: 25px 25px 0 0;
    }
    
    .progress_text {
        width: 105px;   
        font-size: 14px;
        top: 1%;
        left: 2%;
    }
    
    .type_text {
        width: 95px;
        font-size: 14px;
        top: 19%;
        left: 2%;
    }*/
    .action_type {
        background-size: 100px;
        top: 16%;
    }

    .progress_type {
        background-size: 100px;
    }

    .type_text {
        width: 100px;
        font-size: 10px;
    }

    .progress_text {
        width: 100px;
        font-size: 10px;
    }

    .type_text img,
    .progress_text img {
        display: inline-block;
        margin-right: 3px;
        margin-left: 3px;
        width: 16px;
    }

    .information {
        --status-w: 8rem;
    }
}

@media (max-width: 650px) {
    .subtittle {
        border: solid 2px #70bfe8;
        padding: 2px;
    }
    .ribon-box {
        height: 30px;
        background: radial-gradient(circle farthest-side at center, #0b608a, rgb(247, 246, 246, 0));
    }
    .time {
        scale: (0.6);
        color: white;
        text-align: center;
        line-height: 30px;
        -webkit-text-stroke: 1px white;
    }

    /* #dropdownMenuButton,
  .dropdown-menu {
    width: 29% !important;
    font-size: 17px;
  } */

    .game_icon_box img {
        width: 35px;
        display: inline-block;
        float: right;
    }

    .information {
        --more-w: 4rem;
        --time-max: 20px;
    }

    /*.action_type {        
        top: 22%;        
        font-size: medium;
    }

    .type_text {      
        top: 22%;
    }*/
}

@media (max-width: 600px) {
    /*.action_type {        
        top: 24%;        
       
    }

    .type_text {      
        top: 24%;
    }*/
    .action_type {
        background-size: 93px;
        top: 16%;
        transform: scale(0.7, 0.8);
        left: -1px;
    }

    .progress_type {
        background-size: 93px;
        transform: scale(0.7, 0.8);
        left: -1px;
    }

    .type_text {
        padding-top: 2px;
        width: 93px;
        font-size: x-small;
    }

    .progress_text {
        padding-top: 2px;
        width: 93px;
        font-size: x-small;
    }

    .type_text img,
    .progress_text img {
        display: inline-block;
        margin-right: 1px;
        margin-left: 1px;
        width: 12px;
    }

    .action_more {
        width: 80px;
        padding: 1px;
        right: 9px;
        bottom: 30%;
        font-size: 8px;
        scale: 0.7;
    }

    .information {
        --status-w: 5rem;
        --more-w: 2.5rem;
        --time-max: 18px;
        /* 此斷點的 .time 另有 transform: scale(0.7, 0.8)，實際塗到的寬度只有版面寬的 0.7 倍，
           故 --time-k 同步打 0.7 折（19.5 × 0.7 = 13.65），否則字級會被過度縮小。 */
        --time-k: 13.65;
    }

    .ribon-box {
        height: 20px;
        background: radial-gradient(circle farthest-side at center, #0b608a, rgb(247, 246, 246, 0));
    }
    .time {
        line-height: 20px;
        transform: scale(0.7, 0.8);
    }
}

@media (max-width: 450px) {
    /* #dropdownMenuButton,
  .dropdown-menu {
    width: 38% !important;
    font-size: 14px;
  } */

    .action_more {
        width: 70px;
        padding: 1px;
        right: 3px;
        font-size: 8px;
        scale: 0.7;
        bottom: 32px;
    }

    .action_type {
        top: 12%;
    }

    .action_type img,
    .progress_text img {
        width: 12px;
    }

    /* .action_progress {
    position: absolute;
    top: 1%;
    left: 3%;
    width: 95px;
    border-width: 22px 22px 0 0;
  }

  .action_type {
    position: absolute;
    top: 26%;
    left: 3%;
    width: 80px;
    border-width: 22px 22px 0 0;
  }

  .progress_text {
    width: 95px;
    font-size: 10px;
    top: 1%;
    left: 3%;
  }

  .type_text {
    width: 99px;
    font-size: 10px;
    top: 26%;
    left: 3%;
  } */

    .game_icon_box {
        right: 5px;
    }

    .game_icon_box img {
        width: 26px;
        display: inline-block;
    }
}

@media (max-width: 420px) {
    .main_title {
        position: absolute;
        left: 20%;
        top: 15%;
    }

    .nav_select {
        width: 100%;
        height: 45px;
        background-color: rgb(0, 0, 0, 0);
        z-index: 95;
        position: absolute;
        top: 1%;
    }

    .information {
        --time-max: 14px;
    }

    .time {
        color: white;
        text-align: center;

        -webkit-text-stroke: 0px rgb(255, 255, 255);
    }

    .logo_top img {
        max-width: 15%;
    }

    .action_type {
        top: 20%;
    }

    .game_icon_box img {
        width: 20px;
        display: inline-block;
    }
}

@media (max-width: 380px) {
    .game_icon_box img {
        width: 19px;
        display: inline-block;
    }
}

.cursor-default {
    cursor: default;
    user-select: none;
    pointer-events: none;
}

body img {
    -webkit-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
}

@media screen and (max-height: 430px) {
    .dropdown-menu {
        height: calc(100vh - 58px);
        overflow-x: scroll;
    }
}
