/*
    Structure instruction：
    # [Default Css]
        - [Root Css]: :root { ... }
        - [Structure]: html, body, main, #wrap ...
        - [HtmlTag]: h1, a, ::-webkit-scrollbar ...

    # [Plugins]
        - [Plugins Modified]: Bootstrap Modals...
        - [Plugins SelfMade]: My Modals...

    # [Public Style]
        - [Simple Css]: typesetting, color, fonts ... ( Single Css )
        - [Base Elements]: btn, select, radioBox ... ( Use frequently )
        - [Components]: user_card, avatar, badge ... ( Use when more than 2 pages, custom )

    # [Pages]
        - [Layout Pages]: header, footer
        - [Current Pages]: #login, #about

    -- Author Comebuy
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&family=Noto+Sans:ital,wght@0,400;0,700;1,400&family=Roboto:wght@200;400;700&family=Montserrat:ital,wght@0,400;0,600;0,700;1,400&display=swap');

/*######### [Default Css] #########*/
/*###### [Root Css] ######*/
:root {
    --red: #e74356;
    --black: #2c2c2c;
    --gray-70: #707070;
    --gray-99: #999999;
    --gray-c7: #c7c7c7;
    --gray-d6: #d6d6d6;
    --gray-ef: #efefef;
    --gray-f5: #f5f5f5;

    /* --main: #B51656;
    --main-hover: rgba(181, 22, 86, 0.9);
    --main-light: #B5E2FF;
    --secondary: #EC6C00;
    --secondary-hover: #FFA237;
    --secondary-dark: #ce8c00;
    --secondary-dark-hover: #ce8c00; */

    --main: #217C96;
    --main-hover: #90BDCA;
    --main-light: #ffe0ec;
    --main-lighter: #fff1f6;

    --secondary: #00698C;
    --secondary-hover: #009dd2;
    --secondary-dark: #003f53;
    --secondary-dark-hover: #17637c;

    --table-hover: #f0f8f7; /* color-mix(in srgb, var(--main) 6%, white); */
    --table-striped-odd: #f7f7f7;
    --table-striped-even: #f4f8f1; /* #d6e9ca */

    --ff-NatoSans: "Noto Sans";
    --ff-NatoSansTC: "Noto Sans TC";
    --ff-Montserrat: "Montserrat";
    --ff-FontAwesome: "Font Awesome 6 Free";

    --header-height: 68px;
    --fs-p: 18px;
    --fs-h1: 36px;
    --fs-h2: 21px;
    --fs-h6: 14px;
    --fs-btn: 16px;
}
@media ( max-width: 767.98px ){
    :root, ::before, ::after {
        --fs-p: 16px;
        --fs-h1: 28px;
        --fs-h2: 19px;
        --fs-h6: 14px;
        --fs-btn: 15px;
    }
}
@media ( max-width: 575.98px ){
    :root, ::before, ::after {
        --fs-p: 14px;
        --fs-h1: 24px;
        --fs-h2: 17px;
        --fs-h6: 13px;
        --fs-btn: 13px;
    }
}

/*###### [Structure] ######*/
html { scroll-behavior: smooth; }
body { font-family: var(--ff-Montserrat), var(--ff-NatoSans), var(--ff-NatoSansTC), "Arial", "Microsoft JhengHei"; font-size: var(--fs-p); color: var(--black); animation: 0.5s op1; }
@keyframes op1 {
    from { opacity: 0.75;}
    to { opacity: 1;}
}

#wrap { display: flex; flex-direction: column; min-height: 100vh; min-width: 360px; max-width: 1920px; margin-left: auto; margin-right: auto; }
main { flex-grow: 1; }


/*###### [Default Html] ######*/
textarea { border: solid 1px var(--gray-70); }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }


/*######### [Plugins] #########*/
/*###### [Plugins Modified] ######*/
/*=== Bootstrap ===*/
@media (min-width: 1600px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { max-width: 1540px; }
}

/* table */
.table td, .table th { padding: 20px 12px; vertical-align: top; border-top: 1px solid #dee2e6; }
.table-hover > tbody > tr:hover { color: inherit; background-color: var(--table-hover); }

/* btn */
.btn { display: inline-flex; align-items: center; justify-content: center; font-weight: bold; padding: 8px 15px; font-size: var(--fs-btn); border-radius: 4px; min-height: 42px;}
.btn:focus { box-shadow: none; }

/* nav */
.navbar-toggler { padding: 0; border-radius: 0; }
.nav .nav-link { position: relative; padding: 16px 24px; background-color: var(--main-hover); color: var(--gray-ef); font-size: 20px; font-style: italic; }
.nav .nav-link:is(:hover,:focus) { background-color: var(--main); color: white; }
.nav .nav-link.active { background-color: white; color: var(--main); font-weight: bold; }
.nav .nav-link.active::before { content: ''; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 5px; background-color: var(--main); z-index: 1; }
@media (max-width: 1199.98px) {
    .nav .nav-link { padding: 15px 10px; font-size: 16px; }
}

.nav.nav-pills .nav-link { padding: 8px 12px; background: var(--gray-ef); color: var(--main); border-radius: 4px; font-size: var(--fs-btn); font-style: normal; }
.nav.nav-pills .nav-link:is(:hover,:focus,.active) { background: var(--main); color: white; }
.nav.nav-pills .nav-link.active::before { display: none; }


/* form */
.form-label { font-size: 14px; font-weight: bold; }
.form-control, .form-select { min-height: 42px; font-size: var(--fs-p); }
.form-control:focus, .form-select:focus { box-shadow: none; }
.form-control:disabled { background-color: #e4e4e4; color: var(--gray-70); }
.form-control::placeholder { color: var(--gray-99) }
.form-control[readonly] { background-color: white; }

/* pagination */
.pagination { margin-bottom: 0; align-items: center; font-size: 16px; gap: 8px; }
.page-item .page-link { color: var(--main); background-color: white; border-color: var(--gray-70); display: flex; align-items: center; justify-content: center; padding: 0 4px; border-radius: 8px; min-width: 35px; height: 40px; }
.page-item .page-link:focus { box-shadow: none; }
.page-item .page-link.prev,
.page-item .page-link.next { color: var(--gray-c7); border: none; background: transparent; margin-inline: -4px; }
.page-item.disabled .page-link.prev,
.page-item.disabled .page-link.next { filter: grayscale(1) opacity(0); }
.page-item .page-link.prev::after { content: '\f053'; font-family: var(--ff-FontAwesome); font-size: 1.75em; font-weight: 900; display: inline; line-height: 1; transition: 0.15s all; }
.page-item .page-link.next::after { content: '\f054'; font-family: var(--ff-FontAwesome); font-size: 1.75em; font-weight: 900; display: inline; line-height: 1; transition: 0.15s all; }
.page-item .page-link:not(.prev, .next):hover,
.page-item.active .page-link { color: white; background-color: var(--main); border-color: var(--main); }
.page-item:not(.disabled) .page-link.prev:hover::after { color: var(--main); }
.page-item:not(.disabled) .page-link.next:hover::after { color: var(--main); }



/* modal */
.modal-content { background-clip: border-box; border: none; border-radius: 0; }
.modal-header { border-bottom: none; padding: 0; }
.modal-header .close { padding: 0; border-radius: 0; min-height: unset; width: 40px; height: 40px; border: 0; background: url(../img/icon/icon-close.png) center center no-repeat; background-size: contain; }
.modal-body { padding: 16px 16px 48px 16px; }
/* flashModal 內訊息容器:保留 \n 換行 (server 端把多條錯誤訊息以 \n 串成一條) */
.js-alert-content { white-space: pre-line; }
@media (max-width: 575.98px) {
    .modal-header .close { width: 32px; height: 32px; }
}
.modal-backdrop { background-color: var(--gray-99); }
.modal-backdrop.show { opacity: 1; }

/* other */
.ratio-9x5 { --bs-aspect-ratio: 55.556%; }
.dropdown-menu { border-radius: 0; }
.breadcrumb { padding: 0.5rem 0; margin-bottom: 0; font-size: 14px; }
.breadcrumb-item { --bs-breadcrumb-item-active-color: var(--black); }
/* .breadcrumb-item > a[href] { text-decoration: underline; text-decoration-color: var(--gray-99); text-underline-offset: 0.12em; } */
/* .breadcrumb-item > span {} */
.breadcrumb-item + .breadcrumb-item::before { --bs-breadcrumb-divider: '>'; color: var(--gray-c7); }
@media (max-width: 991.98px) {
    .breadcrumb { display: none; }
}


/*=== swiper ===*/
.swiper-button-next, .swiper-button-prev { width: calc( 16px + 3vw ); color: #fff; font-weight: bold; }
.swiper-button-next:hover, .swiper-button-prev:hover { color: #eee; }
.swiper-button-next:focus, .swiper-button-prev:focus { outline: none; }
.swiper-button-next::after, .swiper-button-prev::after { padding: calc( 6px + 0.5vw ) calc( 10px + 0.5vw ); font-size: calc( 24px + 2vw ); }
.swiper-pagination-bullet-active { --swiper-pagination-color: rgba(0,0,0,0.6); }

/*=== bannerCarousel ===*/
.bannerCarousel { --ratio-pc: 1920/500; --ratio-m: 1/1; position: relative; overflow: hidden; }
.bannerCarousel .swiper-slide { aspect-ratio: var(--ratio-pc); }
.bannerCarousel .swiper-slide > a,
.bannerCarousel .swiper-slide > div { display: block; width: 100%; height: 100%; }
.bannerCarousel .swiper-slide picture,
.bannerCarousel .swiper-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
    .bannerCarousel .swiper-slide { aspect-ratio: var(--ratio-m); }
}
.bannerCarousel .swiper-button-prev,
.bannerCarousel .swiper-button-next { --swiper-navigation-size: clamp(20px, 3vw, 44px); width: calc(var(--swiper-navigation-size) * 2); }
.bannerCarousel .swiper-pagination { bottom: 16px; }
.bannerCarousel .swiper-pagination-bullet { width: 10px; height: 10px; background: rgba(255,255,255,0.6); opacity: 1; transition: background 0.2s, transform 0.2s; }
.bannerCarousel .swiper-pagination-bullet-active { background: #fff; transform: scale(1.3); }


/*=== plyr ===*/
.plyr--audio .plyr__controls {
    --plyr-color-main: transparent;
    --plyr-audio-controls-background: transparent;
    --plyr-audio-control-color: white;
    /* --plyr-audio-control-background-hover: transparent; */
    --plyr-range-fill-background: white;
}

.plyr__volume input[type=range]{
    /* --plyr-range-fill-background: var(--secondary-dark-hover); */
}


/*######### [Public Style] #########*/
/*###### [Simple Css] ######*/
/*=== color ===*/
.c_red { color: var(--red) !important; }
.c_main { color: var(--main) !important; }
.c_secondary { color: var(--secondary) !important; }
.c_secondaryDark { color: var(--secondary-dark) !important; }
.c_gray7 { color: var(--gray-70) !important; }
.c_gray9 { color: var(--gray-99) !important; }
.c_grayC { color: var(--gray-c7) !important; }
.c_black { color: var(--black) !important; }

.bg_grayF { background-color: var(--gray-f5) !important; }
.bg_grayE { background-color: var(--gray-ef) !important; }


/*=== font ===*/
.fz_h1 { font-size: var(--fs-h1); }
.fz_h2 { font-size: var(--fs-h2); }
.fz_h6 { font-size: var(--fs-h6); }


/*=== typesetting ===*/
.ch-mr-2 > *:not(:last-child) { margin-right: 0.5rem; }
.ch-mr-3 > *:not(:last-child) { margin-right: 1rem; }
.ch-mb-1 > *:not(:last-child) { margin-bottom: .25rem; }
.ch-mb-2 > *:not(:last-child) { margin-bottom: 0.5rem; }
.ch-mb-3 > *:not(:last-child) { margin-bottom: 1rem; }
.ch-mb-4 > *:not(:last-child) { margin-bottom: 1.5rem; }
.ch-mb-5 > *:not(:last-child) { margin-bottom: 3rem; }

.container_600 { max-width: 600px; margin-left: auto; margin-right: auto; }
.container_720 { max-width: 720px; margin-left: auto; margin-right: auto; }
.container_840 { max-width: 840px; margin-left: auto; margin-right: auto; }
.container_980 { max-width: 980px; margin-left: auto; margin-right: auto; }
.container_1200 { max-width: 1200px; margin-left: auto; margin-right: auto; }
.min_w_90 { min-width: 90px; }

.article_py { padding-block: 3rem; }
.article_pt { padding-top: 3rem; }
.article_pb { padding-bottom: 3rem; }
@media (max-width: 575.98px) {
    .article_py { padding-block: 1rem; }
    .article_pt { padding-top: 1rem; }
    .article_pb { padding-bottom: 1rem; }
}

/*=== other ===*/
.pointer-events-none { pointer-events: none; }
.img-rd { image-rendering: -webkit-optimize-contrast; }

.list_marker { list-style: none; padding-left: 1em; }
.list_marker > * { position: relative; }
.list_marker > *::before { content: ''; position: absolute; width: 0.5em; height: 0.5em; background-color: var(--main); display: block; left: -1em; top: 0.75em; transform: translateY(-50%);  }

.list_custom { list-style: none; }
.list_custom li { text-indent: 0; }
.list_custom > li { padding-left: 2rem; text-indent: -2rem; }


/*###### [Components] ######*/
/*=== <a> href ===*/
.alink { color: var(--main); text-decoration: underline; word-wrap: break-word; word-break: break-word; }
.alink:hover, alink:focus { color: var(--main-hover); }
.hrefText::before { content: attr(href); word-wrap: break-word; word-break: break-word; }


/*=== rounded avatar ===*/
.avatar { --w: 100px; --w-sm: var(--w); --w-md: var(--w-sm); --w-lg: var(--w-md); --w-xl: var(--w-lg); --w-xxl: var(--w-xl); }
.avatar { width: var(--w); aspect-ratio: 1/1; border-radius: 100vmax; background: center center / cover no-repeat; overflow: hidden; }
.avatar > img { width: 100%; height: 100%; object-fit: cover; image-rendering: -webkit-optimize-contrast; }
@media (min-width: 576px) {
    .avatar { width: var(--w-sm); }
}
@media (min-width: 768px) {
    .avatar { width: var(--w-md); }
}
@media (min-width: 992px) {
    .avatar { width: var(--w-lg); }
}
@media (min-width: 1200px) {
    .avatar { width: var(--w-xl); }
}
@media (min-width: 1400px) {
    .avatar { width: var(--w-xxl); }
}

.rounded_avatar_lg { width: 220px; height: 220px; border-radius: 220px; background-size: cover; background-repeat: no-repeat; background-position: center center; }
.rounded_avatar_md { width: 110px; height: 110px; border-radius: 110px; background-size: cover; background-repeat: no-repeat; background-position: center center; }
.rounded_avatar_sm { width: 90px; height: 90px; border-radius: 90px; background-size: cover; background-repeat: no-repeat; background-position: center center; }


/*=== background-image set ===*/
.bg_img { background-repeat: no-repeat; background-position: center center; background-size: cover; }
.bg_full { height: 100%; width: 100%; }
.bg_fixed { background-attachment: fixed; }
.bg_top { background-position-y: top; }
.bg_contain { background-size: contain; }


/*=== buttons ===*/
.btn_gray { background-color: var(--gray-99); color: #fff; }
.btn_gray:hover,
.btn_gray:focus { background-color: var(--gray-c7); color: #fff; }

.btn_main { background-color: var(--main); color: white; }
.btn_main:hover,
.btn_main:focus { background-color: var(--main-hover); color: white; }

.btn_outline_main { background-color: white; color: var(--main); border: 1px solid var(--main); }
.btn_outline_main:hover,
.btn_outline_main:focus { background-color: var(--main-hover); color: white; border: 1px solid var(--main-hover); }

.btn_secondary { background-color: var(--secondary); color: white; }
.btn_secondary:hover,
.btn_secondary:focus { background-color: var(--secondary-hover); color: white; }

.btn_outline_secondary { background-color: white; color: var(--secondary); border: 1px solid var(--secondary); }
.btn_outline_secondary:hover,
.btn_outline_secondary:focus { background-color: white; color: var(--secondary-hover); border: 1px solid var(--secondary-hover); }

.btn_secondaryDark { background-color: var(--secondary-dark); color: white; }
.btn_secondaryDark:hover,
.btn_secondaryDark:focus { background-color: var(--secondary-dark-hover); color: white; }

.btn_with_img { display: inline-flex; align-items: center; justify-content: center; }
.btn_with_img > * { padding: 0 0.2em; }
.btn_with_img > *:first-child { padding-left: 0; }
.btn_with_img > *:last-child { padding-right: 0; }

.btn_group { display: flex; flex-wrap: wrap; margin-top: -0.5rem; }
.btn_group > * { margin-top: 0.5rem; margin-right: 0.5rem; }

.btn_download { color: var(--main); }
.btn_download:hover,
.btn_download:focus { color: var(--main-hover); }


/*=== text-more ===*/
.text_more_2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.text_more_3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }


/*###### [Templates] ######*/
/*=== rwd_table ===*/
.rwd_table { color: var(--black); width: 100%; border-collapse: collapse; }
.rwd_table > thead > tr > th { padding: 20px 12px; font-size: var(--fs-h6); vertical-align: bottom; border-bottom: 1px solid var(--gray-d6); color: var(--black); white-space: nowrap; }
.rwd_table > tbody > tr > td { padding: 20px 12px; font-size: var(--fs-p); vertical-align: middle; border-top: 1px solid var(--gray-d6); }
.rwd_table > thead > tr > th:first-child,
.rwd_table > tbody > tr > td:first-child { padding: 0; }

.rwd_table--striped > tbody > tr:nth-child(odd) { background-color: var(--table-striped-odd); }
.rwd_table--striped > tbody > tr:nth-child(even) { background-color: var(--table-striped-even); }
.rwd_table--striped > thead > tr > th { padding-top: 4px; padding-bottom: 4px; border-top: 1px solid var(--gray-d6); }
.rwd_table--striped > tbody > tr > td { border-color: white; }
.rwd_table--striped > thead > tr > th:first-child,
.rwd_table--striped > tbody > tr > td:first-child { padding-left: 12px; }
.rwd_table--striped > thead > tr > th:last-child,
.rwd_table--striped > tbody > tr > td:last-child { padding-right: 24px; }

.rwd_table > tbody > tr.sp_tag > td:nth-child(1) { position: relative; }
.rwd_table > tbody > tr.sp_tag > td:nth-child(1)::before { content: "HOT"; display: inline-block; text-align: center; padding: 6px 10px; color: #fff; font-size: 14px; font-weight: bold; background-color: var(--red); position: absolute; left: 0; top: 50%; transform: translate(-50%,-50%); }

@media ( min-width: 1200px ){
    .rwd_table > tbody > tr:hover { background-color: var(--table-hover); }
    .rwd_table--striped > tbody > tr:hover { background-color: #eee; }
}
@media ( max-width: 1199.98px ){
    .rwd_table > thead > tr > th { display: none; }
    .rwd_table > tbody > tr > td { display: block; border-top: none; text-align: left; padding: 0 20px 20px 20px; }
    .rwd_table > tbody > tr > td:first-child { padding: 0; }
    .rwd_table > tbody > tr > td:nth-child(2) { padding-top: 20px; }
    .rwd_table > tbody > tr > td[data_th]:before { content: attr(data_th) ""; font-weight: bold; font-size: var(--fs-h6); display: block; color: var(--black); margin-bottom: 8px; }
    .rwd_table--striped > tbody > tr > td:last-child { border-bottom: 1px solid white; }
}


/*=== editor ===*/
.editor_container { font-size: var(--fs-p); }
.editor_container h1 { font-size: var(--fs-h1); }
.editor_container h2 { font-size: var(--fs-h2); font-weight: bold; }
.editor_container a[href] { color: var(--main); text-decoration: underline; word-wrap: break-word; }
.editor_container a[href]:hover,
.editor_container a[href]:focus { color: var(--main-hover); }
.editor_container a[download]::before { content: '\f0c6'; font-family: var(--ff-FontAwesome); font-weight: 900; display: inline-block; padding-right: .5em; }
.editor_container img { max-width: 100%; height: auto; }
.editor_container iframe,
.editor_container video { max-width: 100%; height: auto; aspect-ratio: 16/9; object-fit: contain; /*width:100%!important*/ }
.editor_container iframe:not([width]),
.editor_container video:not([width]) { width: 100%; }
.editor_container table { border: solid 1px var(--gray-99); }
.editor_container table th,
.editor_container table td { border: solid 1px var(--gray-99); padding: 10px 20px; font-weight: 400; }
.editor_container table > thead > tr > *,
.editor_container table > tbody > tr > * { font-size: var(--fs-p); }
@media ( max-width: 575.98px ){
    .editor_container table th,
    .editor_container table td { padding: 10px 12px; }
}
/* 後台有<table>時，會在後台編輯器加上 tablescroll */
@media screen and (max-width: 991.98px) {
    .tablescroll { overflow-x: auto; }
    .tablescroll > table { width: -webkit-max-content; width: max-content; max-width: 1156px; }
}


/*=== title ===*/
.main_title_banner { background: url(../img/page-banner.png) center center no-repeat; background-size: cover; height: clamp(72px,calc(10px + 12vw),192px); display: flex; align-items: center; color: white; text-shadow: 1px 1px #999, -1px 1px #999, 1px -1px #999, -1px -1px #999; box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.20) inset; }
.main_title { border-left: clamp(5px,0.3em,10px) solid #FFF; margin-bottom: 0; padding-left: 0.875em; opacity: 0; font-size: clamp(18px,3vw,36px); transform: translateY( calc(1em + 50px) ); animation: 1s titleSlideDown forwards; }
.main_title_year { font-family: 'Roboto'; font-size: clamp(30px,6.5vw,76px); margin-bottom: clamp(3px,1vw,16px); font-weight: bold; line-height: 1; opacity: 0; text-align: center; transform: translateY( 150px ); animation: 1s titleSlideDown forwards; }
.main_title_line { padding: 0; border: none; border-top: 2px solid white; opacity: 0; transform: translateY( 80px ); animation: 1s titleSlideDown 0.25s forwards; }
.main_title_line > legend { float: none; width: auto; margin: auto; font-style: italic; }
.main_title_line > legend > .main_title { font-weight: normal; font-size: clamp(16px,3vw,32px); padding: 0 0.4em; opacity: 1; animation-duration: 0s; }
@keyframes titleSlideDown {
    100% { opacity: 1; transform: translateY(0); }
}


/*=== form_card ===*/
.form_card { padding: 30px 60px; }
@media (max-width: 575.98px){
    .form_card { padding: 20px 20px; }
}


/*=== print ===*/
body.print { font-size: 16px; }
.printSheet { position: relative; width: 210mm; height: 296mm; page-break-after: always; }
@media screen {
    body.print { background: #e9e9e9; }
    .printSheet { background: white; box-shadow: 0 .5mm 2mm rgba(0,0,0,.3); margin: 5mm auto; }
}
@media print {
    body.print { width: 210mm; }
}



/*######### [Pages] #########*/
/*###### [Page Layout] ######*/
/*=== header ===*/
    [aria-expanded=false] .aria-expanded-true { display: none; }
    [aria-expanded=true] .aria-expanded-false { display: none; }

/*=== header.html ===*/
    /* base */
    .header { position: sticky; top: 0; min-height: var(--header-height); z-index: 99; }
    .header > .navbar { flex: 1; position: relative; padding-block: 6px; background-color: #fff; backdrop-filter: blur(4px); }
    .header > .navbar::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 1px; transform: translate(0,100%); height: 1px; background-color: #D9D9D9; }
    .header .navbar-brand { margin-right: 0.25rem; padding: 0; }
    .header .navbar-brand > img { height: calc(var(--header-height) - 12px); width: auto; }
    .header .navbar-light .navbar-toggler { padding: 0; width: 42px; height: 42px; }

    /* menu */
    .header ul.navbar-nav {
        --Link-bg: transparent; --Menu-bg: transparent; --Lv1-bg: transparent; --Lv2-bg: transparent;
        --Link-pd: 9px 24px 9px 18px; --Menu-pd: 9px 28px 9px 18px; --Lv1-pd: 9px 18px 9px 18px; --Lv2-pd: 9px 18px 9px 27px;
        width: 100%;
    }
    .header ul.navbar-nav > li.nav-item > a.nav-link { /* --Link */ display: flex; align-items: center; gap: 2px 10px; padding: var(--Link-pd); background-color: var(--Link-bg); color: var(--main); line-height: 1.25; }
    .header ul.navbar-nav > li.nav-item > a.nav-link:hover { opacity: 0.8; color: var(--main); }
    .header ul.navbar-nav > li.nav-item > a.nav-link > ._lg { font-size: 18px; font-weight: 600; }
    .header ul.navbar-nav > li.nav-item > a.nav-link > ._sm { font-size: 14px; }
    @media (min-width: 1200px) {
        .header ul.navbar-nav { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; }
        .header ul.navbar-nav:has( .navbar-brand) { grid-template-columns: max-content; }
        .header ul.navbar-nav > li.nav-item > a.nav-link { /* --Menu */ position: relative; min-width: 140px; height: calc(var(--header-height) - 12px); padding: .5rem 1rem; flex-direction: column; align-items: flex-start; justify-content: center; }
        .header ul.navbar-nav > li.nav-item > a.nav-link::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); height: calc(100% - 1rem); width: 4px; background: linear-gradient(to bottom,#FFF77D, rgb(255, 247, 125, 0.3) ); }
        .header ul.navbar-nav > li.nav-item > a.nav-link.navbar-brand::before { display: none !important; }
        .header .navbar-collapse { flex: 1; }
    }
    @media (max-width: 1399.98px) {
        .header ul.navbar-nav .nav-link { font-size: 16px; }
    }
    @media (max-width: 1199.98px) {
        .header ul.navbar-nav {
            --Link-bg: transparent; --Menu-bg: transparent; --Lv1-bg: #e9e9e9; --Lv2-bg: #f5f5f5;
            --Link-pd: 9px 18px 9px 18px; --Menu-pd: 9px 18px 9px 18px; --Lv1-pd: 9px 18px 9px 18px; --Lv2-pd: 9px 18px 9px 27px;
        }
        .header .navbar-light ul.navbar-nav .nav-link { font-size: 16px; }
        .header ul.navbar-nav { padding-block: 15px 5px; }
    }


    /* dropdown:
     * ├── a.dropdown-toggle
     * └── ul.dropdown-menu
     *     └── li:is(.dropdown, .dropend, .dropstart)
     */
    /* 共用 */
    .header .dropdown > .dropdown-menu > li > a.dropdown-item { /* --LV? */ margin-bottom: 1px; display: flex; align-items: center; gap: 2px 10px; line-height: 1.25; }
    .header .dropdown > .dropdown-menu > li > a.dropdown-item:hover { opacity: 0.8; color: var(--main); }
    .header .dropdown > .dropdown-menu > li > a.dropdown-item > ._lg { font-size: 16px; font-weight: 600; }
    .header .dropdown > .dropdown-menu > li > a.dropdown-item > ._sm { font-size: 14px; }
    .header .dropdown > .dropdown-menu > li:last-child > a.dropdown-item { margin-bottom: 0; }
    .header .dropdown-item:focus,
    .header .dropdown-item:hover { background-color: inherit; color: inherit; }
    .header :is(.dropdown,.dropend,.dropstart) > a.dropdown-toggle { position: relative; }
    .header :is(.dropdown,.dropend,.dropstart) > a.dropdown-toggle::after { content: '\f107'; position: absolute; top: 50%; transform: translateY(-50%); font-family: var(--ff-FontAwesome); font-size: 0.9em; font-weight: 900; line-height: 1; vertical-align: middle; border: none; }
    .header .dropdown > a.dropdown-toggle::after { content: '\f107'; right: 0.375em; }
    .header .dropend > a.dropdown-toggle::after { content: '\f105'; right: 0.375em; }
    .header .dropstart > a.dropdown-toggle::before { content: '\f104'; left: 0.375em; }

    /* dropdown-menu Lv1 (ul.navbar-nav > li.nav-item.dropdown) */
    .header ul.navbar-nav > li.nav-item.dropdown > a.dropdown-toggle { /* --Menu */ background-color: var(--Menu-bg); padding: var(--Menu-pd); }
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu { background-color: rgba(255,255,255,0.9); margin-top: 5px; }
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li > a.dropdown-item { /* --LV1 */ background-color: var(--Lv1-bg); padding: var(--Lv1-pd); }
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li > a.dropdown-item:not(:last-child) { margin-bottom: 1px; }

    /* dropdown-menu Lv2 (ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li:is(.dropdown,.dropend,.dropstart)) ) */
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li:is(.dropdown,.dropend,.dropstart) > a.dropdown-toggle { /* --LV1 */ background-color: var(--Lv1-bg); padding: var(--Lv1-pd); }
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li.dropdown > ul.dropdown-menu { position: static !important; border: 0; }
    .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li:is(.dropdown,.dropend,.dropstart) > ul.dropdown-menu > li > a.dropdown-item { /* --LV2 */ background-color: var(--Lv2-bg); padding: var(--Lv2-pd); }

    @media (min-width: 1200px) {
        .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li > a.dropdown-item { flex-direction: column; align-items: flex-start; justify-content: center; }
    }
    @media (max-width: 1199.98px) {
        .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu { background-color: white; margin-top: 0; padding: 0; border: 0; }
        .header ul.navbar-nav > li.nav-item.dropdown > ul.dropdown-menu > li > a.dropdown-item { background-color: #F5F5F5; padding: 10px 24px; }
    }


    /* header-megaMenu（特殊樣式）*/
    @media (min-width: 1200px) {
        .header.header-megaMenu > .navbar { position: fixed; align-items: flex-start; top: 0; left: 0; right: 0; z-index: 89; background: rgba(255,255,255,0.9); height: var(--header-height); overflow: hidden; }
        .header.header-megaMenu > .navbar._expand { height: auto; overflow: auto; }
        .header.header-megaMenu > .navbar > .container > .navbar-brand { align-self: flex-start; }
        .header.header-megaMenu > .navbar .navbar-nav {
            --Link-bg: transparent; --Menu-bg: transparent; --Lv1-bg: transparent; --Lv2-bg: transparent;
            --Link-pd: 9px 18px 9px 18px; --Menu-pd: 9px 18px 9px 18px; --Lv1-pd: 9px 18px 9px 18px; --Lv2-pd: 9px 18px 9px 27px;
            align-items: flex-start !important;
        }
        .header.header-megaMenu > .navbar .dropdown-toggle::after { display: none !important; }
        .header.header-megaMenu > .navbar .dropdown-menu { margin-top: 8px; display: block !important; position: static !important; border: none; min-width: auto; }
        .header.header-megaMenu > .navbar .dropdown-item { white-space: unset; background: none; padding: 10px 4px; }
        .header.header-megaMenu ul.navbar-nav > li.dropdown > ul.dropdown-menu { background-color: transparent; }
        .header.header-megaMenu ul.navbar-nav li:is(.dropdown,.dropend,.dropstart) > ul.dropdown-menu { margin: 0; padding: 0; min-width: 11rem; }
    }
    @media (max-width: 1199.98px) {
        .header.header-megaMenu .nav-link.navbar-brand { display: none !important; }
    }


/*=== footer.html ===*/
    #backToTop { display: none; position: absolute; right: 12px; bottom: 12px; }
    #backToTop > .btn { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; font-size: 14px; line-height: 1.25; box-shadow: 0 0 4px #ccc; }

/* ===== FOOTER ===== */
    .footer { position: relative; z-index: 98; background: #222; padding-block: 20px; }
    .footer > .container { display: flex; justify-content: center; align-items: center; }
    .footer--logos { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; }
    .footer--logo { height: 52px; width: auto; display: block; }
    .footer--contact { display: flex; align-items: center; gap: 24px; color: #fff; font-size: 16px; }
    .footer--contact a { color: #fff; text-decoration: none; }
    .footer--contact a:hover { color: #fff; text-decoration: underline; }
    .footer--divider { width: 1px; height: 20px; background: #fff; }
    @media (max-width: 1199.98px) {
        .footer--logos { gap: 8px 16px; }
        .footer > .container { flex-direction: column; gap: 16px; }
        .footer--logos { flex-direction: column; justify-content: center; }
        .footer--contact { flex-direction: column; gap: 8px; }
        .footer--divider { display: none; }
    }



/*###### [Current Page] ######*/
/*=== index.html ===*/
/*--- BANNER ---*/
.index_banner { position: relative; overflow: hidden; }
.index_banner--left { aspect-ratio: 2/1; background: url(../img/index/bannerL.jpg) center center / cover no-repeat; }
.index_banner--right { container-type: inline-size; container-name: index_banner_right; z-index: 1; position: absolute; top: 0; right: 0; height: 100%; display: flex; align-items: center; aspect-ratio: 2/3; }
.index_banner--right > .container { width: 100%; padding-block: calc(var(--bs-gutter-x) * .5); }
.index_banner--countdown { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 10px; color: #fff; line-height: 1; }
.index_banner--countdown ._label,
.index_banner--countdown ._unit { font-size: 24px; font-weight: 700; }
.index_banner--countdown ._num { font-family: "Roboto"; font-size: 72px; font-weight: 200; }
.index_banner--btns { display: flex; flex-direction: column; gap: 12px; padding-top: 24px; }
.index_banner--btn { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 10px; padding: 20px 40px; background: #FFF77D; border: none; border-radius: 46px; box-shadow: inset 0 0 40px 0 rgba(255, 255, 255, 1); transition: filter 0.15s; }
.index_banner--btn:hover { filter: brightness(0.95); }
.index_banner--btn_label { display: flex; flex: 1; flex-direction: column; }
.index_banner--btn_label > ._lg,
.index_banner--btn_label > ._sm { color: var(--main); line-height: 1.2; }
.index_banner--btn_label > ._lg { font-size: 20px; font-weight: 700; }
.index_banner--btn_label > ._sm { font-size: 18px; }
.index_banner--btn > ._icon { flex-shrink: 0; width: 51px; height: 52px; object-fit: contain; }
@container index_banner_right (max-width: 400px) {
    .index_banner--btn { padding: 16px 24px; }
    .index_banner--btn_label > ._lg { font-size: 18px; }
    .index_banner--btn_label > ._sm { font-size: 16px; }
}
@media (min-width: 992px ){
    .index_banner--right > .container { max-width: 440px; margin-inline: auto; box-sizing: content-box; padding: 3vw; }
}
@media (max-width: 991.98px ){
    .index_banner--left { position: relative; aspect-ratio: unset; background-image: url(../img/index/bannerL_m.jpg); background-size: 100% 100%; }
    .index_banner--left::before { content: ''; display: block; z-index: 0; position: absolute; inset: 0; background: transparent; backdrop-filter: blur(16px); }
    .index_banner--left::after { content: ''; display: block; z-index: 1; position: relative; background: url(../img/index/bannerL_m.jpg) center center / contain no-repeat; aspect-ratio: 3/4; max-width: 720px; margin-inline: auto; }
    .index_banner--right { position: static; width: 100%; height: auto; aspect-ratio: unset; padding-block: 1rem; background: var(--main); }
}

/*--- SECTION COMMON ---*/
.index_section_title { display: flex; align-items: center; }
.index_section_title::before { content: ''; flex-shrink: 0; width: 30px; height: 30px; margin-right: 10px; background: url('../img/index/icon_flower.svg') center / contain no-repeat; }
.index_section_title > ._lg,
.index_section_title > ._sm { font-size: 18px; color: #3EA189; line-height: 1.25; }
.index_section_title > ._lg { margin-right: 5px; font-weight: 700; }

/*--- KEY DATES ---*/
.index_key_dates { padding: 40px 0; }
.index_key_dates--row { display: flex; gap: 50px; align-items: stretch; }
.index_key_dates--left { flex: 1; }
.index_key_dates--list { display: flex; flex-direction: column; gap: 10px; padding-left: 0; margin-bottom: 0; list-style: none; }
.index_key_dates--item { display: flex; align-items: center; gap: 4px 10px; padding: 10px 20px; background: linear-gradient(90deg, rgba(255,247,125,0.3) 0%, rgba(255,247,125,0.05) 100%); border: 1px solid #FFF77D; border-radius: 10px; }
.index_key_dates--item_date { flex-shrink: 0; font-size: 20px; padding-right: 20px; font-weight: 300; color: #2A2B2B; }
.index_key_dates--item_title { font-size: 18px; font-weight: 700; color: #2A2B2B; }
.index_key_dates--item_en { font-size: 16px; color: #2A2B2B; }
@media (max-width: 991.98px ){
    .index_key_dates--item { flex-direction: column; align-items: flex-start; }
    .index_key_dates--row { flex-direction: column; }
}

/*--- Welcome Video ---*/
.index_key_dates--video { max-width: 365px; width: 100%; height: 205px; flex-shrink: 0; border-radius: 10px; overflow: hidden; background: url('../img/index/video_thumb.png') center center / cover no-repeat; }
.index_key_dates--video_inner { display: flex; justify-content: space-between; align-items: center; }
@media (max-width: 991.98px ){
    .index_key_dates--video { margin: auto; }
}

/*--- NEWS item ---*/
.index_news--item { --bg-op: 1; --clr-date: var(--gray-70); --clr-title: var(--black); --clr-desc: var(--black); position: relative; display: flex; flex-direction: column; padding: 20px 30px; border-radius: 10px; height: 100%; background: linear-gradient(to right, #69C2BD, #64AD5A); transition: all 0.35s; }
.index_news--item:hover { --bg-op: 0; --clr-date: #fff; --clr-title: #fff; --clr-desc: #fff; }
.index_news--item::before { content: ''; position: absolute; z-index: 0; inset: 4px; border-radius: 8px; background: #fff; opacity: var(--bg-op); transition: all 0.35s; }
.index_news--item > * { z-index: 1; transition: all 0.35s; }
.index_news--item > ._date { font-size: 20px; color: var(--clr-date); line-height: 1.25; }
.index_news--item > ._title { font-size: 18px; color: var(--clr-title); font-weight: 700; margin-top: 10px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.index_news--item > ._desc { font-size: 16px; color: var(--clr-desc); margin-top: 4px; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.index_news--flex_wrap { display: flex; align-items: center; gap: 8px; }
.index_news--flex_nav { width: 44px; background: none; border: none; color: var(--gray-c7); padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: color 0.35s; }
.index_news--flex_nav:hover { color: var(--main); }
@media (max-width: 991.98px ){
    .index_news--item { padding: 20px; }
    .index_news--flex_nav { width: 40px; }
}
@media (max-width: 767.98px ){
    .index_news--flex_wrap { flex-direction: column; }
    .index_news--flex_nav { transform: rotate(90deg); }
}

/*--- NEWS swiper ---*/
.index_news { padding: 0 0 40px 0; }
.index_news--swiperContainer { display: flex; align-items: center; }
.index_news--swiperContainer .swiper { flex: 1; overflow: hidden; }
.index_news--swiperContainer .swiper-button-prev,
.index_news--swiperContainer .swiper-button-next { position: static; width: 24px; min-width: 24px; height: 56px; background: none; color: var(--gray-c7); margin: 0; border-radius: 0; }
.index_news--swiperContainer .swiper-button-prev::after,
.index_news--swiperContainer .swiper-button-next::after { font-size: 32px; font-weight: 900; padding-inline: 4px; }
@media (min-width: 576px) {
    .index_news--swiperContainer { position: relative; display: block; }
    .index_news--swiperContainer .swiper { overflow: hidden; }
    .index_news--swiperContainer .swiper-button-prev,
    .index_news--swiperContainer .swiper-button-next { position: absolute; top: 50%; transform: translateY(-50%); }
    .index_news--swiperContainer .swiper-button-prev { left: -32px; }
    .index_news--swiperContainer .swiper-button-next { right: -32px; }
}
.index_news--swiperContainer .swiper-slide { height: auto; padding: 8px; }

/*--- ORGANIZER ---*/
.index_organizer { background: #F9F9F9; }
.index_organizer > .container { padding-top: 50px; padding-bottom: 50px; }
.index_organizer--group { display: flex; align-items: center; gap: 30px; }
.index_organizer--label { width: 135px; height: 80px; align-self: flex-start; flex-shrink: 0; display: flex; align-items: center; }
.index_organizer--label_title { position: relative; display: flex; flex-direction: column; gap: 4px 0px; padding-left: 20px; }
.index_organizer--label_title::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #69C2BD, #75D559); }
.index_organizer--label_title > ._lg { font-size: 16px; line-height: 1.25; }
.index_organizer--label_title > ._sm { font-size: 14px; line-height: 1.25; }
.index_organizer--logos { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.index_organizer--logos > ._logo { flex-shrink: 0; width: 80px; height: 80px; object-fit: cover; border-radius: 100vmax; box-shadow: 0 0 20px 0 rgba(62, 161, 137, 0.6); }
@media (max-width: 767.98px) {
    .index_organizer--group { flex-direction: column; align-items: center; }
    .index_organizer--label { align-self: center; height: auto; width: auto; text-align: center; }
    .index_organizer--label_title { flex-direction: row; }
    .index_organizer--logos { justify-content: center; }
}


/*=== greeting.html ===*/
.greeting_sign { width: 164px; }
.greeting_avatar { margin-right: 3rem; }
@media (max-width: 767.98px){
    .greeting_avatar { width: 180px; height: 180px; margin-right: 2rem; }
    .greeting_sign { width: 128px; }
}
@media (max-width: 575.98px){
    .greeting_avatar { width: 120px; height: 120px; margin-right: 1.5rem; }
    .greeting_sign { width: 82px; }
}


/*=== Overview.html ===*/
.overviewRow { margin-inline: auto; padding-bottom: 48px; }
.overviewItem { position: relative; display: flex; flex-direction: column; align-items: center; font-size: var(--fs-p); text-align: center; padding: 20px; }
.overviewItem:not(:first-child)::before { content: ''; position: absolute; left: 0; top: 0; width: 1px; height: 100%; background: var(--gray-d6); }
.overviewItem ._img { flex: 0 0 120px; }
.overviewItem ._img > img { width: 100%; }
.overviewItem ._text { flex: 1 1 auto; margin-top: 24px; }
.overviewItem ._title { font-weight: bold; margin-bottom: 10px; }
.overviewItem:nth-child(1) ._title { color: var(--secondary-dark); }
.overviewItem:nth-child(2) ._title { color: #8C3A9F; }
.overviewItem:nth-child(3) ._title { color: var(--main); }
.overviewItem:nth-child(4) ._title { color: #EB7E99; }
.overviewItem:nth-child(5) ._title { color: var(--main-light); }
@media (max-width: 1199.98px) {
    .overviewRow { max-width: 650px; margin-top: -20px; }
    .overviewItem { flex-direction: row; text-align: left; }
    .overviewItem:not(:first-child)::before { width: 100%; height: 1px; }
    .overviewItem ._img { flex: 0 0 100px; }
    .overviewItem ._text { padding-left: 20px; margin-top: 0; }
}
@media (max-width: 767.98px) {
    .overviewRow { max-width: 580px; padding-bottom: 16px; }
    .overviewItem ._img { flex: 0 0 72px; }
}


/*=== speakers.html ===*/
.speakers_row_title { font-size: 24px; color: var(--gray-70); text-align: center; display: flex; align-items: center; justify-content: center; gap: 10px; }
.speakers_row_title::before,
.speakers_row_title::after { content: ''; display: block; width: 74px; height: 2px; background: var(--gray-d6); }
.speakers_row { padding-bottom: 60px; }
.speakers_col { padding: 30px 20px; text-align: center; }
.speakers_avatar { --w: 100px; --w-sm: 160px; margin: auto; cursor: pointer; flex-shrink: 0; transition: transform .4s ease; }
.speakers_text { font-style: italic; margin-top: 30px; }
.speakers_name { font-size: 22px; color: var(--secondary-dark); }
.speakers_country { font-size: 16px; margin-top: 10px; color: var(--gray-70); }
.speakers_col:hover .speakers_avatar { transform: scale(1.1); }
@media (max-width: 575.98px) {
    .speakers_row_title::before,
    .speakers_row_title::after { min-width: 24px; max-width: 74px; width: auto; flex-grow: 1; }
    .speakers_row { padding-bottom: 20px; display: inline-flex; flex-wrap: initial; flex-direction: column; align-content: center; }
    .speakers_col { display: flex; padding: 15px 20px; flex-direction: row; justify-content: start; align-items: center; }
    .speakers_avatar { margin: unset; }
    .speakers_text { margin-top: 0; padding-left: 20px; text-align: left; }
    .speakers_name { font-size: 18px; }
    .speakers_country { font-size: 14px; }
}

/* speakersModal */
.speakersModal .modal-body { display: flex; flex-direction: column; padding: 8px 80px 50px 80px; line-height: 2; }
.speakersModal_top { display: flex; }
.speakersModal_topImg {}
.speakersModal_topText { display: inline-flex; flex-direction: column; justify-content: center; font-style: italic; font-size: 16px; padding-left: 40px; }
.speakersModal_name { font-size: 22px; margin-bottom: 4px; color: var(--secondary-dark); }
.speakersModal_info { color: var(--gray-99); }
.speakersModal_autobiography { font-size: 16px; margin-top: 30px; }
@media (max-width: 991.98px) {
    .speakersModal .modal-body { padding: 8px 24px 30px 24px; }
    .speakersModal_top { flex-direction: column; }
    .speakersModal_topImg { margin-inline: auto; }
    .speakersModal_topText { padding-left: 0; padding-top: 20px; font-size: 14px; }
    .speakersModal_autobiography { font-size: 14px; }
}


/*=== program.html ===*/
.program_table > tbody > tr.expired { color: #aeaeae }
.program_table > tbody > tr.sp_tag { position: relative; }
.program_table > tbody > tr.tag_now { color: var(--red) !important; }
.program_table > tbody > tr.tag_now > td:first-child::before { content: "NOW"; font-size: 14px; font-weight: 700; padding: 3px 8px; border-radius: 2px; background: var(--red); color: white; }
.program_table > thead > tr > th { padding: 8px 12px; }
.program_table > tbody > tr > td { padding: 8px 12px; }
.program_tab_list_box { display: flex; flex-wrap: wrap-reverse; }
.program_tab_content { background-color: #fff; padding: 20px 50px; }

.download_Agenda { display: inline-flex; align-items: center; justify-content: center; margin-inline: 0.25rem; }
@media (min-width: 1200px) {
    .program_table > tbody > tr.sp_tag > td:first-child { padding-inline: 12px; width: 0; }
}

@media (max-width: 1199.98px) {
    .program_table > tbody > tr > td { padding-left: 0; padding-right: 0; }
    .program_table > tbody > tr.tag_now > td:first-child::before { top: 15px; left: unset; right: 0; transform: unset; }
    .program_table > tbody > tr > td:last-child { padding-bottom: 20px; }
    .program_table > tbody > tr:not(:last-child) > td:last-child { border-bottom: 1px solid var(--gray-d6); }
    .program_tab_content { padding: 16px 16px; }
}
@media (max-width: 575.98px) {
    .download_Agenda_nav { width: 100%; margin-bottom: 1rem; }
    .download_Agenda { order: -1; width: 100%; }
}

.broadcasting_bg { background-image: linear-gradient(rgba(44,44,44,0.4),rgba(44,44,44,0.4)), url(../img/bg_program.jpg); }
.broadcasting_card { padding: 36px 48px; background-color: white; box-shadow: 2px 6px 10px 0 rgba(0, 0, 0, 0.4); max-width: 840px; margin: 0 auto; }
.broadcasting_card ._name { color: var(--gray-70); font-style: normal; }
.broadcasting_card--header { position: relative; display: flex; align-items: center; gap: 1.5rem; }
.broadcasting_card--header ._avatar { flex-shrink: 0; border: 1px solid var(--gray-f5); }
.broadcasting_card--header ._text { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; gap: 4px; font-style: italic; }
.broadcasting_card--header ._live { font-size: 24px; color: var(--red); }
.broadcasting_card--header ._time { font-size: 24px; white-space: nowrap; }
.broadcasting_card--header ._name { font-size: 16px; padding-left: 28px; }
.broadcasting_card--header ._button { position: absolute; top: 0; right: 0; }
.broadcasting_card--body { margin-top: 1rem; display: flex; flex-direction: column; gap: 12px; }
.broadcasting_card--body ._name { font-size: 14px; display: none; }
.broadcasting_card--body ._topic { font-size: 20px; }
.broadcasting_card--body ._button { display: none; }
@media (max-width: 767.98px) {
    .broadcasting_card { padding: 20px; }
    .broadcasting_card ._name { font-size: 14px; }
    .broadcasting_card--header ._live { font-size: 18px; }
    .broadcasting_card--header ._time { font-size: 18px; }
    .broadcasting_card--header ._name { display: none; }
    .broadcasting_card--header ._button { display: none; }
    .broadcasting_card--body ._name { display: block; }
    .broadcasting_card--body ._topic { font-size: 18px; }
    .broadcasting_card--body ._button { display: block; text-align: center; }
}

.program_collapseCard:not(:first-child) { margin-top: 1rem; }
.program_collapseCard .program_collapse_header { background: rgb(24, 127, 195, 0.2); padding: 15px 24px; }
.program_collapseCard .program_collapse_header .program_main { color: var(--main); }
.program_collapseCard .program_collapse_header .program_time { white-space: nowrap; padding-right: 12px; }
.program_collapseCard .program_collapse_header .program_topic { font-weight: 700; }
.program_collapseCard .program_collapse_header .program_desc { font-size: 14px; font-style: italic; color: var(--gray-70); }
.program_collapseCard .program_collapse_header .program_role { font-size: 16px; font-weight: 700; color: var(--gray-70); }
.program_collapseCard .program_collapse_body { padding: 0 36px; }
.program_collapseCard .program_collapse_btn { position: sticky; top: 0; z-index: 2; background: var(--gray-f5); min-height: unset; padding: 6px 12px; border-radius: 0; border-bottom: 1px solid rgba(0,0,0,.125); margin-bottom: -1px; }
.program_collapseCard .program_collapse_btn[aria-expanded=false]::before { content: 'more'; display: block; margin-right: 8px; }
.program_collapseCard .program_collapse_btn[aria-expanded=false]::after { content: '\f0d7'; display: block; font-family: var(--ff-FontAwesome); font-weight: 900; }
.program_collapseCard .program_collapse_btn[aria-expanded=true]::before { content: 'close'; display: block; margin-right: 8px; }
.program_collapseCard .program_collapse_btn[aria-expanded=true]::after { content: '\f0d8'; display: block; font-family: var(--ff-FontAwesome); font-weight: 900; }
.program_collapseCard .program_room_badge { font-size: 14px; padding: 6px 15px; background: var(--main); color: white; border-radius: 4px; white-space: nowrap; }
@media (min-width: 1200px) {
    .program_collapseCard .program_collapse_body { display: block !important; }
    .program_collapseCard .program_collapse_btn { display: none !important; }
}
@media (max-width: 1199.98px) {
    .program_collapseCard .program_collapse_header { padding: 12px; }
    .program_collapseCard .program_collapse_body { padding: 0 16px; }
}
@media (max-width: 575.98px) {
    .program_collapseCard .program_collapse_header .program_topic { width: 100%; }
    .program_collapseCard .program_room_badge { position: absolute; top: 0px; right: 0px; font-size: 13px; padding: 3px 10px; border-radius: 0px; }
}



/*=== poster.html & posterDetail.html ===*/
/* poster.html */
.poster_table_container { background-color: #fff; padding: 0 50px; }
.poster_table > tbody > tr > td:first-child { padding: 0; }
.poster_table > tbody > tr > td:nth-child(2) { position: relative; }
.poster_table > tbody > tr > td:nth-child(2) .awardMark { min-width: 40px; }
.poster_table > tbody > tr > td:nth-child(3) { white-space: nowrap; }
.poster_table > tbody > tr > td:nth-child(4) { max-width: 0; min-width: 100px; width: 70%; }
.poster_table > tbody > tr > td:last-child { display: none; }
@media (max-width: 1199.98px) {
    .poster_table_container { padding: 0; background-color: transparent; }
    .poster_table > tbody > tr > td { background-color: white; }
    .poster_table > tbody > tr > td:nth-child(2) .awardMark { position: absolute; right: 15px; top: 20px; }
    .poster_table > tbody > tr > td:nth-child(3) { white-space: unset; }
    .poster_table > tbody > tr > td:nth-child(4) { white-space: unset; overflow: unset; text-overflow: unset; max-width: unset; width: unset; }
    .poster_table > tbody > tr > td:last-child { display: block; background-color: transparent; padding-bottom: 12px; }
}

.searchBlock { display: flex; justify-content: center; align-items: center; padding: 40px 0 30px 0; }
.searchInput { padding: 0 20px; max-width: 700px; border: none; background-color: white; }
.searchBtn { margin-left: 24px; }
@media (max-width: 575.98px) {
    .searchBlock { flex-direction: column; padding: 20px 0; }
    .searchBtn { margin: 16px 0 0 0; }
}

/* audioPopup (both page) */
.audioIcon { display: inline-block; width: 30px; height: 27px; background: url(../img/icon/headphones-solid.png) center center no-repeat; background-size: contain; }
.audioIcon:hover { opacity: 0.8; }
.audioPopup { position: fixed; display: flex; align-items: center; justify-content: space-between; padding-inline: 3rem; left: 0; bottom: 0; width: 100%; color: white; background-color: rgba(0,0,0,0.8); z-index: 999; }
.audioPopup .closeBtn { position: absolute; right: 5px; top: 5px; padding: 0; cursor: pointer; background-size: contain; }
.audioPopup .closeBtn::after { content: '\f057'; font-family: var(--ff-FontAwesome); font-size: 24px; line-height: 1; font-weight: bold; color: var(--gray-99); }
.audioPopup > .audioText { padding: 15px; }
.audioPopup .audioInfo { font-size: var(--fs-h6); }
.audioPopup .audioTitle { font-size: var(--fs-p); }
.audioPopup > .audioMedia { flex-shrink: 0; width: 580px; }
@media (max-width: 991.98px) {
    .audioPopup { flex-direction: column; align-items: center; padding-inline: 1rem; }
    .audioPopup > .audioText { padding-bottom: 0; text-align: center; }
    .audioPopup > .audioMedia { width: 100%; }
}

/* posterDetail.html */
@media (min-width: 1600px){
    .posterDetail main > .container { max-width: 1320px; }
}
.posterDetail_list { padding: 40px 0; margin: 0 -40px; }
.posterDetail_list > .posterDetail_col { padding: 0 40px; }
.posterDetail_listItem { position: relative; margin-bottom: 24px; }
.posterDetail_listItem > *:nth-child(1) { font-weight: bold; font-size: 14px; line-height: 2.5; }
.posterDetail_listItem > *:nth-child(2) { color: #707070; font-size: 16px; line-height: 2.25; display: flex; align-items: center; }
.posterDetail_listItem::before { content: ''; display: block; padding-top: 24px; border-top: 1px solid var(--gray-d6); }
.posterDetail_listItem:first-child::before { display: none; }
.posterDetail_article { background-color: #fff; padding: 70px 100px; }
/* .posterDetail_article section:not(:last-child) { padding-bottom: 30px; }
.posterDetail_article section > *:first-child { font-size: 20px; line-height: 1.8; color: var(--black); margin-bottom: 25px; }
.posterDetail_article section > * { font-size: 16px; line-height: 2.25; color: #707070; margin-bottom: 50px; } */
@media (max-width: 991.98px){
    .posterDetail_article { padding: 30px 30px; }
}
@media (max-width: 767.98px){
    .posterDetail_list { padding: 30px 0; margin: 0 -12px; }
    .posterDetail_list > .posterDetail_col { padding: 0 15px; }
    .posterDetail_list > .posterDetail_col:not(:first-child) > .posterDetail_listItem:first-child::before { display: block; }
    .posterDetail_listItem > *:nth-child(2) { font-size: 14px; line-height: 2; }
    /* .posterDetail_article section:not(:last-child) { padding-bottom: 40px; }
    .posterDetail_article section > *:first-child { font-size: 16px; line-height: 1.8; margin-bottom: 15px; }
    .posterDetail_article section > * { font-size: 14px; line-height: 2; margin-bottom: 30px; }
    .posterDetail_article section > *:last-child { margin-bottom: 0; } */
}
@media (max-width: 575.98px){
    .posterDetail_article { padding: 30px 12px; margin: 0 -12px; }
}


/*=== news.html ===*/
.news_card { display: flex; flex-direction: row; align-items: center; font-size: 16px; gap: 10px; padding: 20px; background-color: #fff; border-radius: 10px; box-shadow: 0 0 10px 0 rgba(217, 217, 217, 1); text-decoration: none; color: inherit; transition: box-shadow .35s; }
.news_card:hover { box-shadow: 0 0 20px 0 color-mix(in srgb, var(--main) 18%, transparent); }
.news_card_body { display: flex; flex-direction: column; gap: 10px; flex: 1; min-width: 0; }
.news_card_time { font-size: 18px; line-height: 1.2; color: var(--gray-70); margin-left: 2px; }
.news_card_badge { font-size: 16px; display: inline-flex; justify-content: center; align-items: center; padding: 2px 8px; background-color: var(--main); border-radius: 4px; font-weight: 700; font-style: italic; line-height: 1.219; color: #fff; }
.news_card_title { font-size: 18px; line-height: 1.2; font-weight: 700; font-style: italic; color: #222; margin: 0; }
.news_card_desc { font-size: 16px; line-height: 1.2; color: var(--gray-70); margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.news_card_arrow { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 50px; color: var(--gray-c7); transition: 0.35s all; }
.news_card:hover .news_card_arrow { color: var(--main); translate: 12px 0; }
@media (max-width: 767.98px){
    .news_card_arrow { display: none; }
}
@media (max-width: 575.98px){
    .news_card_time { font-size: 16px; }
    .news_card_badge { font-size: 14px; }
    .news_card_title { font-size: 16px; }
    .news_card_desc { font-size: 14px; }
}


/*=== news.html ===*/


/*=== submission.html ===*/
@media (min-width: 1200px) {
    .submission_table > tbody > tr > td:nth-child(5) { white-space: nowrap; }
}


/*=== invoice.html ===*/
@media (min-width: 1200px) {
    .invoice_table > tbody > tr > td:nth-child(2) { white-space: nowrap; }
    .invoice_table > tbody > tr > td:nth-child(3) { width: 100%; }
}


/*=== photo.html ===*/
.photo_card { border: solid 1px var(--gray-c7); }
.photo_card > * { display: flex; align-items: center; padding: 12px; }
.photo_card > * img { width: 100%; height: 100%; object-fit: contain; }


/*=== login.html ===*/
.nav.auth_nav { justify-content: space-between; align-items: flex-end; }
.nav.auth_nav > .nav-item { width: 49%; }
.nav.auth_nav > .nav-item > .nav-link { padding: 20px 30px; text-align: center; background-color: #adb5bd; }
.nav.auth_nav > .nav-item > .nav-link.active { background-color: white; }

.login_bg { background-image: url(../img/login-bg.png); }
.login_padding_top { padding-top: 60px; }
@media (max-width: 575.98px){
    .login_padding_top { padding-top: 16px; }
}

.auth_card { padding: 30px 60px 45px 60px; background-color: white; }
.auth_card_container { max-width: 480px; margin: 0 auto; }
.auth_form { max-width: 480px; margin: auto; font-size: 16px; }

@media( max-width: 575.98px ){
    .auth_card { padding: 20px 15px 30px 15px; }
    .auth_form { font-size: 14px; }
    .nav.auth_nav > .nav-item > .nav-link { font-size: 14px; }
}


/*=== channel / channel_video / program_video ===*/
.bg_channel { background: var(--gray-ef); }
.program_video_title { padding-bottom: 1rem; font-size: 22px; font-weight: bold; }
@media (max-width: 575.98px) {
    .program_video_title { padding: 1rem; font-size: 18px; background: url(../img/bg_video@2x.jpg) center center no-repeat; background-size: cover; }
}
@media (min-width: 576px) {
    .bg_program_video_main { background: url(../img/bg_video@2x.jpg) center center no-repeat; background-size: cover; }
}

/* channel */
.channel_block { display: block; }
.channel_block::after { padding: 7px 15px; font-weight: bold; position: absolute; left: 0; top: 0; transform: translateY(-50%); z-index: 1; }
.channel_block.coming_soon::after { content: 'Coming Soon'; color: var(--main); background-color: white; }
.channel_block.live_now::after { content: 'Live Now'; color: white; background-color: var(--main); }
@media (max-width: 575.98px) {
    .channel_block::after { padding: 4px 12px; }
}

.channel_rowCard:not(:first-child) { margin-top: 30px; }
@media (max-width: 991.98px) {
    .channel_rowCard:not(:first-child) { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e4e4e4; }
}


/* channel_video */
#survey .modal-body { padding: 0px 60px 24px 60px; }
.survey_title { font-size: 30px; font-weight: bold; margin-bottom: 20px; }
.survey_question { list-style: none; padding: 0; margin: 0; }
.survey_question > li:not(:last-of-type)::after { content: ""; display: block; border-bottom: 1px solid var(--gray-d6); margin: 20px 0; }
.survey_question .question_title { font-size: 18px; font-weight: bold; margin-bottom: 16px; }
.survey_question .form-check { font-size: 16px; }
@media (max-width: 575.98px) {
    #survey .modal-body { padding: 0px 16px 24px 16px; }
    .survey_title { font-size: 24px; text-align: center; }
    .survey_question .question_title { font-size: 16px; }
    .survey_question .form-check { font-size: 14px; }
}

.video_intro_block { padding: 24px; border-radius: 8px; background-color: #fcf0f3; line-break: anywhere; }


/*=== accommodation.html ===*/
.accom_stars { --star-score: 1; --star-width: 24px; display: flex; gap: 0px; }
.accom_star { --star-cnt: 1; position: relative; width: var(--star-width); aspect-ratio: 1/1; }
.accom_star::before,
.accom_star::after { content: ''; position: absolute; inset: 0; background: center center / cover no-repeat; }
.accom_star::before { background-image: url(../img/icon/star-empty.svg); }
.accom_star::after { background-image: url(../img/icon/star-filled.svg); clip-path: rect(0 calc( var(--star-width) * (var(--star-score) - var(--star-cnt)) ) var(--star-width) 0) }
.accom_stars > .accom_star:nth-child(1) { --star-cnt: 0; }
.accom_stars > .accom_star:nth-child(2) { --star-cnt: 1; }
.accom_stars > .accom_star:nth-child(3) { --star-cnt: 2; }
.accom_stars > .accom_star:nth-child(4) { --star-cnt: 3; }
.accom_stars > .accom_star:nth-child(5) { --star-cnt: 4; }

.accom_card { display: flex; justify-content: space-between; gap: 30px; padding: 32px 40px; border-radius: 20px; background: white; box-shadow: 0 0 10px 0 var(--gray-d6); }
.accom_card > .accom_desc { display: flex; flex-direction: column; gap: 16px; }
.accom_card .accom_info { display: flex; align-items: center; gap: 5px; }
.accom_card .accom_transport { background-color: var(--gray-f5); padding: 8px 15px; border-radius: 8px; }
.accom_card .accom_links { display: flex; align-items: center; gap: 20px; }
.accom_card .accom_links > .btn { min-height: unset; padding: 4px 0px; white-space: nowrap; transition: 0.3s all; }
.accom_card .accom_links > .btn:hover { opacity: 0.8; }
.accom_card .accom_links > ._splitter { height: 20px; width: 1px; background-color: var(--gray-d6); }
.accom_card .accom_img { align-self: center; width: 300px; flex-shrink: 0; border-radius: 10px; overflow: hidden; }
.accom_card .accom_img > img { width: 100%; height: 100%; object-fit: cover; }

.accom_card._textOnly .accom_transport { flex-grow: 1; }
.accom_card._textOnly .accom_links { justify-content: space-between; gap: 0px; }
.accom_card._textOnly .accom_links > .btn { min-height: unset; flex: 1; }
@media (max-width: 1199.98px){
    .accom_card { padding: 28px 32px; }
    .accom_card .accom_img { width: 240px; }
}
@media (max-width: 991.98px){
    .accom_card .accom_transport { flex-grow: 1; }
    .accom_card .accom_links { justify-content: space-between; gap: 0px; }
    .accom_card .accom_links > .btn { min-height: unset; flex: 1; }
    .accom_card .accom_img { width: 90px; margin-left: auto; }
}
@media (max-width: 575.98px){
    .accom_card { padding: 20px; }
}


/*=== transportation ===*/
.trans_section_container .mb_16_sm_40 { margin-bottom: 2.5rem; }
.trans_section_container .ch_mb_8_sm_16  > *:not(:last-child) { margin-bottom: 1rem; }
.trans_section_container .ch_mb_16_sm_40 > *:not(:last-child) { margin-bottom: 2.5rem; }

.trans_section_container > section { padding-bottom: 40px; }
.trans_section_container > section + section { padding-top: 40px; border-top: solid 1px var(--gray-d6); }
@media (max-width: 575.98px){
    .trans_section_container > section { padding-bottom: 30px; }
    .trans_section_container > section + section { padding-top: 30px; }

    .trans_section_container .mb_16_sm_40 { margin-bottom: 1rem; }
    .trans_section_container .ch_mb_8_sm_16  > *:not(:last-child) { margin-bottom: 0.5rem; }
    .trans_section_container .ch_mb_16_sm_40 > *:not(:last-child) { margin-bottom: 1rem; }
}


/*=== about_Taipei ===*/
.aboutTP_title { display: flex; align-items: center; font-size: var(--fs-h2); font-weight: bold; margin-bottom: 1rem; }
.aboutTP_title > img { flex-shrink: 0; margin-right: 12px; width: 60px; height: 60px; }
.aboutTP_warningCard { padding: 24px; border-radius: 10px; background-color: #FFEF92; }
@media (max-width: 575.98px){
    .aboutTP_title > img { width: 50px; height: 50px; }
}


/*=== sponsors.html ===*/
.sponsors .sponsorRow { padding: 0 20px; }
.sponsors .sponsorCol { padding: 0px 15px 40px 15px; }
.sponsors .sponsorItem { text-align: center; }
.sponsors .sponsorItem .sponsorItem--logo { max-width: 280px; margin: 0 auto 10px auto; /*padding: 5px 10px;*/ }
.sponsors .sponsorItem .sponsorItem--logo img { display: block; image-rendering: -webkit-optimize-contrast; object-fit: contain; }
.sponsors .sponsorItem .sponsorItem--text { color: var(--black); text-align: center; line-height: 1.5; padding: 5px 0; }
.sponsors .sponsorItem .sponsorItem--text ._en { font-size: 18px; padding: 5px 0; }
.sponsors .sponsorItem .sponsorItem--text ._tw { font-size: 14px; font-weight: bold; }
@media (max-width: 1599.98px){
    .sponsors .sponsor_btn { left: auto; }
}
@media (max-width: 991.98px){
    .sponsors .sponsorRow { padding: 0 15px; }
    .sponsors_detail footer { display: none !important;}
}
@media (max-width: 575.98px){
    .sponsors .sponsorCol { padding: 18px 0px 18px 0px; }
    /* .sponsors .sponsorCol:not(:last-child) { border-bottom: 1px solid var(--gray-d6); } */
    .sponsors .sponsorItem { display: flex; align-items: center; justify-content: center; }
    .sponsors .sponsorItem .sponsorItem--logo { flex: 0 0 40%; max-width: 200px; max-height: none; margin: auto; }
    .sponsors .sponsorItem .sponsorItem--text { flex: 0 1 52%; max-width: 52%; text-align: left; font-size: 14px; padding-left: 8px; }
}
.sponsors_group { text-align: center; font-weight: bold; font-size: 24px; }
@media (max-width: 575.98px) {
    .sponsors_group { font-size: 18px; }
}


/*=== receipt.html ===*/
.receiptContainer { max-width: 175mm; margin: auto; }
.receiptTitle { font-size: 22px; font-weight: bold; }
.receiptTable { border: solid 1px #000; }
.receiptTable td { padding: 8px; border-bottom: solid 1px #000; }
.receiptTable > tbody > tr > td:first-child { white-space: nowrap; width: 0; }


/*=== sign_up.html ===*/
#modal-policy-tw .list_custom li:nth-child(n+2) { margin-top: 0.5rem }


/*=== error.html ===*/
.error_page { text-align: center; padding-block: clamp(24px, 6vw, 80px); }
.error_page--status { font-family: var(--ff-Montserrat), var(--ff-Roboto); font-size: clamp(80px, 18vw, 180px); font-weight: 700; line-height: 1; color: var(--main); letter-spacing: 0.05em; }
.error_page--title { font-size: var(--fs-h1); font-weight: bold; color: var(--black); margin-top: 12px; margin-bottom: 16px; }
.error_page--message { font-size: var(--fs-p); color: var(--gray-70); margin-bottom: 32px; word-break: break-word; }
.error_page--actions { justify-content: center; margin-top: 24px; }


/*====== 備註 ======*/
/*=== mobile(0) --> PC(∞) ===*/
@media (min-width: 576px) {}
@media (min-width: 768px) {}
@media (min-width: 992px) {}
@media (min-width: 1200px) {}
@media (min-width: 1600px) {}

/*=== PC(∞) --> mobile(0) ===*/
@media (max-width: 1599.98px) {}
@media (max-width: 1199.98px) {}
@media (max-width: 991.98px) {}
@media (max-width: 767.98px) {}
@media (max-width: 575.98px) {}
