@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100..900&display=swap');

:root {
    /* font  */
    --h1: clamp(32px, 4vw, 45px);
    --h2: clamp(28px, 3.5vw, 35px);
    --h3: clamp(24px, 3vw, 32px);
    --h4: clamp(20px, 2.5vw, 25px);
    --h5: clamp(18px, 2vw, 20px);
    --h6: clamp(16px, 1.8vw, 18px);
    --default: clamp(14px, 1.6vw, 16px);
    --small: clamp(12px, 1.4vw, 14px);
}

/* * font * */
h1,
.h1 {
    font-size: var(--h1) !important;
    line-height: 35px;
}

h2,
.h2 {
    font-size: var(--h2) !important;
}

h3,
.h3 {
    font-size: var(--h3) !important;
}

h4,
.h4 {
    font-size: var(--h4) !important;
    line-height: 25px;
}

h5,
.h5 {
    font-size: var(--h5) !important;
}

h6,
.h6 {
    font-size: var(--h6) !important;
}

p,
.p {
    font-size: var(--default) !important;
}

.mainLayout {
    position: relative;
    width: 100%;
    min-height: 100dvh;

    background: url("../img/bg/main_bg.png");
    background-position: top;
    background-size: cover;

    font-family: "Dongle", "Noto Sans Thai", sans-serif;
    ;

}

/* global  */
.navbar_btnGame img,
.navbar_rightTopup img,
.banner_footerStore img,
.banner_character img,
.banner_logo img,
.banner_logo2 img,
.content_character img,
.content_feaTitleHr img,
.class_tabChoice img,
.class_graph img,
.class_emblem img,
.class_characterMainLayout img,
.slider_btn img,
.footer_logoGgt img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.navbar_rightSoical img,
.banner_bgmain img,
.slider_img img,
.profile_layoutImg img,
.profile_logoLogin img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.navbar_rightSoical:hover,
.navbar_rightTopup:hover,
.banner_footerStore:hover,
.slider_btn:hover {
    filter: drop-shadow(0px 0px 10px #ffffff);
}

a {
    text-decoration: none !important;
}

/* Chrome, Edge, Safari */
.content_detail::-webkit-scrollbar,
.features_detail::-webkit-scrollbar,
.class_tabMainLayout::-webkit-scrollbar,
.class_detailLayout::-webkit-scrollbar {
    width: 5px;
}

.content_detail::-webkit-scrollbar-track,
.features_detail::-webkit-scrollbar-track,
.class_tabMainLayout::-webkit-scrollbar-track,
.class_detailLayout::-webkit-scrollbar-track {
    background: #a8a8a8;
    border-radius: 10px;
}

.content_detail::-webkit-scrollbar-thumb,
.features_detail::-webkit-scrollbar-thumb,
.class_tabMainLayout::-webkit-scrollbar-thumb,
.class_detailLayout::-webkit-scrollbar-thumb {
    background-color: #6d564b;
    border-radius: 10px;
    border: 2px solid #a8a8a8;
}

.content_detail::-webkit-scrollbar-thumb:hover,
.features_detail::-webkit-scrollbar-thumb:hover,
.class_tabMainLayout::-webkit-scrollbar-thumb:hover,
.class_detailLayout::-webkit-scrollbar-thumb:hover {
    background-color: #6d564b;
}



/* global  */

@font-face {
    font-family: "Dongle";
    src: url("../font/Dongle-Light.ttf") format("truetype");
    font-weight: 300;
}

@font-face {
    font-family: "Dongle";
    src: url("../font/Dongle-Regular.ttf") format("truetype");
    font-weight: 500;
}

@font-face {
    font-family: "Dongle";
    src: url("../font/Dongle-Bold.ttf") format("truetype");
    font-weight: 800;
}

/* loading  */
#loadingOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0000008e;
    backdrop-filter: blur(50px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 1;
    transform: scale(1);
}

#loadingOverlay.fade-out {
    animation: fadeOut 0.3s ease-in-out forwards;
}

.loading-container {
    position: absolute;
    z-index: 1099;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 16px;

    background: #00000057;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    margin: 0 auto 15px;
    border: 6px solid #61c0ff4d;
    border-top: 6px solid #a1bfff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}


@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
        transform: scale(1);
    }

    to {
        opacity: 0;
        transform: scale(0.95);
    }
}

/* loading  */

/* nav  */
.navbar_mainLayout {
    position: fixed !important;
    z-index: 10;
    font-family: "Dongle", "Noto Sans Thai", sans-serif;
    ;
    width: 100%;
    height: 70px;
    padding: 10px 35px;
    padding-top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(180deg, #000000cf 1%, #00000000 80%);
}

.navbar_mainLayout.login {
    position: absolute;
}

.navbar_leftLayout {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: start;
    gap: 20px;
}

.navbar_centerGame {
    position: relative;

    width: 300px;
    min-width: 300px;
    height: 200px;
    padding: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;

    transition: all .5s;

}



.navbar_rightLayout {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: end;
    gap: 20px;
}

.navbar_menu {
    width: 100px;
    height: 35px;
    font-size: 25px;
    font-weight: 800;
    border-radius: 50px;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    background: #fff;
    color: #00b4fe;
    border: 2px solid #fff;
    text-transform: uppercase;

    transition: all .5s;
}

.navbar_menu:hover,
.navbar_menu.active {
    background: linear-gradient(180deg, #f5fffc 10%, #009ede 90%);
    color: #fff;
}

.navbarMenu {
    display: none;
}

.navbar_btnlogin {
    width: 100px;
    height: 35px;
    font-size: 25px;
    font-weight: 800;
    border-radius: 10px;
    border: 0px;

    background: #001582;
    color: #fff;

    transition: all .5s;
}

.navbar_btnlogin:hover {
    filter: drop-shadow(0px 0px 5px #ffffff);
}

.navbar_btnGame {
    width: 300px;
    height: 300px;

    position: absolute;
    top: -70px;
    left: 0;
    z-index: 3;


    cursor: pointer;
    transition: all .5s;
}

.navbar_btnGame button {
    background: transparent;
    border: 1px solid transparent;
}

.navbar_centerGame:has(.navbar_btnGameTitle:hover),
.navbar_centerGame:has(.navbar_btnGameTitle2:hover),
.navbar_btnGame:hover {
    filter: drop-shadow(0px 0px 15px #ffffff);
}




.navbar_btnGameTitle {
    position: relative;
    z-index: 4;

    font-size: 110px;
    font-weight: 800;
    line-height: 50px;
    letter-spacing: 0px;
    text-align: center;
    text-transform: uppercase;

    color: #fff;
    cursor: pointer;
    text-shadow:
        -4px -4px 0 #0000004b,
        4px -4px 0 #0000004b,
        -4px 4px 0 #0000004b,
        4px 4px 0 #0000004b,
        -4px 0px 0 #0000004b,
        4px 0px 0 #0000004b,
        0px -4px 0 #0000004b,
        0px 4px 0 #0000004b;
    transition: all .5s;

}

.navbar_btnGameTitle2 {
    position: relative;
    z-index: 4;

    font-size: 75px;
    font-weight: 800;
    line-height: 40px;
    letter-spacing: 0px;
    text-align: center;
    text-transform: uppercase;

    color: #fff;
    cursor: pointer;
    text-shadow:
        -4px -4px 0 #0000004b,
        4px -4px 0 #0000004b,
        -4px 4px 0 #0000004b,
        4px 4px 0 #0000004b,
        -4px 0px 0 #0000004b,
        4px 0px 0 #0000004b,
        0px -4px 0 #0000004b,
        0px 4px 0 #0000004b;
    transition: all .5s;

}

.navbar_rightMainLayout {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: center;
    gap: 10px;

    position: fixed;
    top: 130px;
    right: 20px;
    z-index: 9;
}

.navbar_rightSoical {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    transition: all .5s;
}

.navbar_rightTopup {
    width: 150px;
    transition: all .5s;
}

/* end-nav  */

.custom-select {
    width: 70px;
    height: 25px;
    font-size: 16px;
    border-radius: 50px;
    padding: 0px 5px;
    border: 0px solid transparent;

    color: #fff;
    background-color: #000;

    cursor: pointer;
}

.loginLayout {
    padding-top: 100px;
}

/* banner  */
.banner_mainLayout {
    position: relative;
    width: 100%;
    min-height: calc(100dvh - 550px);
    /* padding-top: 120px; */
}

.banner_contentMainLayout {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1200px;
    min-height: 100dvh;
    padding-top: 100px;
    padding-bottom: 30px;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
}

.banner_footerStore {
    width: 180px;
    cursor: pointer;

    transition: all .5s;
}

.banner_character {
    position: absolute;
    z-index: 2;
    bottom: 40px;
    /* left: 0; */

    max-width: 950px;
}

.banner_logo {
    width: 250px;
}

.banner_logo2 {
    width: 650px;
    filter: drop-shadow(1px 1px 5px #fff);

}

.banner_bgMainLayout {
    position: absolute;
    z-index: 2;
    top: -100px;
    width: 100%;

}

.banner_bgmain {
    width: 100%;
    height: 700px;
    object-position: center;
}

.banner_bgmain img {
    object-position: top;
}

.banner_bgGradient {
    position: absolute;
    z-index: 2;
    bottom: -200px;
    border-radius: 0 0 50% 50%;
    width: 100%;
    height: 400px;

    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 60%, rgba(255, 255, 255, 0) 100%);
}

.banner_character_filter {
    display: none;
}

/* end-banner  */

/* Conent 02  */
.content_mainLayout02 {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: 1200px;
    min-height: 100dvh;
    padding: 50px 0px;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
}

.content_topicLayout {
    position: relative;
    left: 100px;
    top: 10px;
    width: 350px;
    height: 83px;
    padding: 5px;


    background: url("../img/Story.png");
    background-position: center;
    background-size: cover;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 65px;
    font-weight: 800;
    color: #ffff;
}

.content_topicLayout span {
    width: 100%;
    height: 100%;
    margin-bottom: 8px;
    padding-left: 100px;
}

.content_main {
    position: relative;
    width: 100%;
    height: 523px;

    background: url("../img/Board.png");
    background-position: top center;
    background-size: cover;

    padding: 80px 130px;
}

.content_detail {
    font-family: "Dongle";
    width: 450px;
    height: 100%;
    padding: 30px 50px;

    overflow: auto;
    background: #dddddd;
    scrollbar-width: thin;
    scrollbar-color: #6d564b #a8a8a8;
}


.content_character {
    width: 700px;
    position: absolute;
    top: -80px;
    right: -40px;
}


.footer_mainLayout {
    position: absolute;
    bottom: auto;
    width: 100%;
    min-height: 70px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    background: #474747;
    color: #fff;
    font-family: "Noto Sans Thai";
}

.footer_logoGgt {
    width: 150px;
}

/* profile  */
.profile_layoutImg {
    width: 100px;
    height: 100px;
    background: #c6e8ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 35px;
    color: #23a7ff;
}

.profile_logoLogin {
    width: 20px;
}

.buttonLogin {
    width: 100%;
    max-width: 450px;
    height: 55px !important;
}

/* popup  */
.popup_mainLayoutImg img,
.popup_close img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.modal {
    background: #000000c0;
}

.modal-content {
    background: transparent;
    border: 1px solid transparent;
}

.popup_mainLayoutImg {
    max-width: 1000px;
}

.popup_close {
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
}

.btn_preregister {
    position: fixed;
    z-index: 10;
    top: 150px;
    left: 10px;
    width: 250px;
    cursor: pointer;
    transition: all .5s;
}

.btn_preregister img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.btn_preregister:hover {
    filter: drop-shadow(0px 0px 10px #ffffff);
}

.footer_logoDpoLayout {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    top: 10px;
    right: 30px;
}

.footer_logoDpo {
    width: 100px;
}

.footer_logoEsrb {
    height: 50px;
}

    .footer_logoEsrb img,
    .footer_logoDpo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
