@charset "UTF-8";
html, body {
    margin:0;
}

body {
    overflow-x:hidden;
}

div#wrapper {
    min-height:100vh;
    overflow-x: hidden;
    transition: all 0.4s linear;
}
div#wrapper .header_bg {
    display:block;
    position: fixed;
    width: 100vw;
    height: 80px;
    left:0;
    top:0;
    opacity: 0.8;
    z-index: 80;
    /* pointer-events: none; */
    transition: all 0.4s ease-in 0.2s;
}
div#wrapper._mode_nav .header_bg {
    height: 100vh;
    z-index:99;
    background-color: rgba(0,0,0,0.9);
    pointer-events: all;
    user-select: all;
    transition: all 0.2s ease-out;
}
header#page_header {
    position:fixed;
    z-index:100;
    left:0;
    top:0;
    user-select: none;
    -webkit-user-drag: none;
    transform-origin:center;
    transform:scale(1);
    transition: all 0.3s cubic-bezier(.1,-0.06,.89,-0.33) 0.09s;
}
div#wrapper:has(.main_wrap._ho) header#page_header {
    transform:scale(0) !important;
}
._mode_nav header#page_header {
    transform: scale(1.2);
    transition: all 0.2s ease-out;
}
header#page_header h1 {
    font-size:0;
    margin:0;
    position:absolute;
    left:0;
    top:0;
    height:80px;
    z-index:6;
    transform-origin: center;
    transition-timing-function: ease-in-out;
    transform:scale(1);
    transition:transform 1s;
    background-position: center;
    background-repeat: no-repeat;
    cursor:pointer;
}
header#page_header h1 a {
    display:inline-block;
    width:100%;
    height:100%;
    z-index:10;
    position:absolute;
}
header#page_header h1:hover {
    transform:scale(1.05);
    transition-timing-function: ease-out;
    transition:transform 0.1s;
}
header#page_header button.nav_button {
    position:absolute;
    padding:0;
    border:0 none;
    outline:0 none;
    background-color:transparent;
    z-index:20;
    opacity:1;
    transform:translateY(0);
    transition: opacity,transform 0.2s,0s linear,linear 0.2s,0s;
}
._mode_nav header#page_header button.nav_button {
    opacity:0;
    transform:translateY(-80px);
    transition: opacity,transform 0.2s,0s linear,linear 0s,0.2s;
}
@media (min-width: 500px) {
    header#page_header h1 {
        width:180px;
        background-size: 180px 80px;
        background-image: url(/resource/images/logo.svg);
    }
    header#page_header h1::after {
        width:180px;
    }
    header#page_header button.nav_button {
        height: 80px;
        width: 180px;
    }
}
@media (max-width: 499px) {
    header#page_header h1 {
        width:80px;
        /* background-size: 80px 80px;
        background-position: left;
        background-image: url(/resource/images/logo_mobile.svg); */
    }
    ._mode_nav header#page_header h1 {
        width:180px;
    }
    div#wrapper::before {
        width: 100vw;
        border-radius: 0;
        pointer-events: all;
    }
    header#page_header h1::after {
        width:80px;
    }
    ._mode_nav header#page_header h1::after {
        width:180px;
    }
    header#page_header button.nav_button {
        height:80px;
        width: 80px;
        background-size: 80px 80px;
        background-position: left;
        background-repeat: no-repeat;
        background-image: url(/resource/images/logo_mobile.svg);
    }
}
header#page_header h1::after {
    content:"";
    display:block;
    position:absolute;
    left:0;
    top:0;
    height:80px;
    user-select: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 180px 80px;
    opacity:0;
    background-image: url(/resource/images/logo_o.svg);
    transition:all 0.2s linear 0.1s;
}
._mode_nav header#page_header h1::after {
    opacity:1;
    transition:opacity,width 0.3s;
}
header#page_header h1::before {
    content:"";
    display:block;
    position:absolute;
    left: -11px;
    top: -83px;
    width: 200px;
    height: 200px;
    transform-origin: center;
    background-color:#dab091;
    border-radius: 100%;
    overflow:hidden;
    user-select: none;
    transform:scale(0);
    transition: transform 0.3s cubic-bezier(.1,-0.06,.89,-0.33);
    transition-delay: 0.1s;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
}
._mode_nav header#page_header h1::before {
    transform:scale(1);
    transition: transform 0.2s  cubic-bezier(.07,1.55,.42,1.01);
}
header#page_header nav.page_nav .link_container {
    left:95px;
    top:50px;
    transform-origin: left top;
    position:absolute;
    transform:scale(0);
    transition: transform 0.3s cubic-bezier(.1,-0.06,.89,-0.33);
}
._mode_nav header#page_header nav.page_nav .link_container {
    transform:scale(1);
    transition: transform 0.2s cubic-bezier(.07,1.55,.42,1.01);
}

div.link_container a,
div.link_container a:visited,
div.link_container a:active,
div.link_container a:focus{
    position:absolute;
    overflow: hidden;
    user-select: all;
    pointer-events: all;
    border-radius: 100%;
    text-align: center;
    text-decoration: none;
    outline: 0 none;
    cursor: pointer;
    transform-origin: center;
    transition-timing-function: ease-in-out;
    transform:scale(1);
    border:0 solid rgba(255,255,255,0.5);
    transition:transform,border 1s,0.3s;
    box-shadow: 3px 3px 3px rgb(0 0 0 / 20%);
}
div.link_container a:hover {
    transform:scale(1.05);
    border:2px solid rgba(255,255,255,0.5);
    transition-timing-function: ease-out;
    transition:transform,border 0.1s,0.1s;
}
div.link_container a span {
    user-select: none;
    pointer-events: none;
    cursor: pointer;
}
div.link_container span.link_text {
    font-size: 0;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
header#page_header nav.page_nav div.link_container span._local._img_txt {
    position: static;
    font-size: clamp(8px, 0.9vw, 12px);
    font-weight: bold;
    color: rgba(255,255,255,0.95);
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
    padding: 6px;
    background-image: none;
}
header#page_header nav.page_nav div.link_container span._global._img_txt {
    display: none;
}
header#page_header nav.page_nav #lnkEpisode span._local._img_txt,
header#page_header nav.page_nav #lnkAbout span._local._img_txt {
    font-size: clamp(9px, 1.1vw, 15px);
}
header#page_header nav.page_nav #lnkData span._local._img_txt {
    font-size: clamp(7px, 0.9vw, 11px);
}
header#page_header nav.page_nav #lnkEpisode {
    z-index: 5;
    transition-delay: 0.10s;
}
._mode_nav header#page_header nav.page_nav #lnkEpisode {
    transition-delay: 0.02s;
}
header#page_header nav.page_nav #lnkEpisode a {
    width: 100px;
    height: 100px;
    left: 80px;
    top: -61px;
    background-color: #4db2c2;
}
header#page_header nav.page_nav #lnkData {
    z-index: 4;
    transition-delay: 0.08s;
}
._mode_nav header#page_header nav.page_nav #lnkData {
    transition-delay: 0.04s;
}
header#page_header nav.page_nav #lnkData a {
    width: 70px;
    height: 70px;
    left: 130px;
    top: 16px;
    background-color: #e2845a;
}
header#page_header nav.page_nav #lnkRead {
    z-index: 3;
    transition-delay: 0.06s;
}
._mode_nav header#page_header nav.page_nav #lnkRead {
    transition-delay: 0.06s;
}
header#page_header nav.page_nav #lnkRead a {
    width: 84px;
    height: 84px;
    left: 50px;
    top: 10px;
    background-color: #80a38d;
}
header#page_header nav.page_nav #lnkAbout {
    z-index: 2;
    transition-delay: 0.04s;
}
._mode_nav header#page_header nav.page_nav #lnkAbout {
    transition-delay: 0.08s;
}
header#page_header nav.page_nav #lnkAbout a {
    width: 79px;
    height: 79px;
    left: -10px;
    top: 54px;
    background-color: #b8937d;
}
header#page_header nav.page_nav #lnkLang {
    transition-delay: 0.02s;
    z-index: 1;
}
._mode_nav header#page_header nav.page_nav #lnkLang {
    transition-delay: 0.10;
}
header#page_header nav.page_nav #lnkLang a {
    width: 105px;
    height: 105px;
    left: -106px;
    top: 25px;
    background-color: #e3a800;
}


div#lnkLang {
    z-index:1;
    transform: scale(0);
    animation: cast_scale 0.6s forwards;
    animation-timing-function: ease-out;
    animation-delay: 1.5s;
}
div#lnkLang a {
    background-color: #edca2e;
}
div#lnkLang span.lang_list {display: inline-block;position: relative;width: 100%;height: 100%;transform: translate(0, 5px);}
div#lnkLang span._lang {
    opacity:0;
    animation: rotate_lang 32.5s infinite;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(8px, 0.85vw, 12px);
    font-weight: bold;
    color: rgba(255,255,255,0.95);
    text-align: center;
    word-break: break-word;
    line-height: 1.3;
    padding: 8px;
}
div#lnkLang span._lang._lang_kor { animation-delay: 0s; }
div#lnkLang span._lang._lang_eng { animation-delay: 2.5s; }
div#lnkLang span._lang._lang_nep { animation-delay: 5s; }
div#lnkLang span._lang._lang_rus { animation-delay: 7.5s; }
div#lnkLang span._lang._lang_tai { animation-delay: 10s; }
div#lnkLang span._lang._lang_mog { animation-delay: 12.5s; }
div#lnkLang span._lang._lang_kaz { animation-delay: 15s; }
div#lnkLang span._lang._lang_bur { animation-delay: 17.5s; }
div#lnkLang span._lang._lang_khm { animation-delay: 20s; }
div#lnkLang span._lang._lang_lao { animation-delay: 22.5s; }
div#lnkLang span._lang._lang_taj { animation-delay: 25s; }
div#lnkLang span._lang._lang_tam { animation-delay: 27.5s; }
div#lnkLang span._lang._lang_hin { animation-delay: 30s; }
@keyframes rotate_lang {
    0% { opacity:0; transform:translateY(3px);}
    5% { opacity: 1; transform:translateY(0);}
    18% { opacity: 1; transform:translateY(0);}
    23% { opacity:0; transform:translateY(-3px);}
    100% { opacity:0; transform:translateY(3px);}
}

main#page_main {
    position:relative;
    width:100vw;
    min-height: calc(100vh - 0px);
    padding-top: 50px;
}
span._line {display:block;}

h2.section_title {
    margin:0;
    position:fixed;
    color:white;
    font-family: 'Hi Melody', cursive;
    font-family:var(--header-font);
    z-index: 90;
    text-align: right;
    display: flex;
    word-break: keep-all;
    /* background-color: rgba(144,207,217,0.7); */
}
h2.section_title span.sub_title {opacity: 0.6;}
@media (min-width: 1460px) {
    h2.section_title {
        right: 30px;
        top: 20px;
        flex-direction: row-reverse;
        align-items: flex-end;
    }
    h2.section_title span.main_title {
        font-size: 50px;
        line-height: 40px;
    }
    h2.section_title span.sub_title {
        font-size: 32px;
        margin-right: 20px;
    }
}
@media (max-width: 1459px) and (min-width:600px) {
    h2.section_title {
        right: 20px;
        top: 15px;
        flex-direction: row-reverse;
        align-items: flex-end;
    }
    h2.section_title span.main_title span._line {
        display: inline-block;
    }
    h2.section_title span.main_title {
        font-size: 38px;
    }
    h2.section_title span.sub_title {
        font-size: 26px;
        margin-right: 10px;
    }
}
@media (max-width: 599px) {
    h2.section_title {
        right: 20px;
        top: 20px;
        flex-direction: column;
        align-items: flex-end;
        max-width: calc(100vw - 90px);
    }
    h2.section_title span.main_title span._line {
        display: inline-block;
    }
    h2.section_title span.main_title {
        font-size: 24px;
        line-height: 26px;
    }
    h2.section_title span.sub_title {
        font-size: 20px;
        line-height: 20px;
        padding-right: 5px;
    }
}
footer#page_footer {
    position:relative;
    bottom:20px;
    right:20px;
    z-index: 110;
}
footer#page_footer .footer_wrap {
    text-align: right;
}
footer#page_footer .footer_wrap p.copyright {
    font-size: 14px;
    color:rgba(0,0,0,0.3);
    font-family: 'Hi Melody', cursive;
    font-family: var(--header-font);
    margin:0;
}
div.preview_area {
    position:fixed;
    z-index:200;
    left:0;
    top:0;
    right:0;
    bottom:0;
    background:black;
}
div.preview_area iframe.preview_frame {
    position:absolute;
    left:0;
    top: 30px;
    right:0;
    bottom:0;
    background:black;
}
div.preview_area img.preview_frame {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
    max-width:100%;
    max-height:calc(100% - 30px);
    margin-top:15px;
    object-fit:contain;
}
div.preview_area .preview_header {
    position:absolute;
    color: white;
    font-size: 15px;
    line-height: 230%;
    left:0;
    top:0;
    right:0;
    height: 30px;
    background:black;
    opacity: 0.5;
    /* font-family: 'Hi Melody', cursive; */
    text-align: left;
    padding-left: 20px;
}
div.preview_area #closePreview {
    opacity: 1;
    position: fixed;
    right: 0;
    top: 0;
    background: rgb(0,0,0);
    color: white;
    font-size: 12px;
    font-weight: bold;
    border: 0 none;
    cursor: pointer;
    padding: 0 15px;
    height: 30px;
}