/*
    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 )
        - [Components]: btn, modal, select, radio ... ( Use frequently )
        - [Templates]: user_btn, user_alert18_Box ... ( Use when more than 2 pages, custom )

    # [Pages]
        - [Include Pages]: header, footer
        - [Current Pages]: #login, #about

    -- Author Comebuy
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300..700&family=Noto+Sans:ital,wght@0,300..700;1,300..700&family=Roboto:ital,wght@0,300..700;1,300..700&display=swap');

/*######### [Default Css] #########*/
    /*###### [Root Css] ######*/
        :root {
            --ff-default: "Noto Sans TC";
            --ff-Noto_Sans_TC: "Noto Sans TC";
            --ff-Font_Awesome: "Font Awesome 5 Free";

            --red: #e03e2d;
            --black: #2c2c2c;
            --gray-70: #707070;
            --gray-99: #999999;
            --gray-c7: #c7c7c7;
            --gray-d6: #d6d6d6; /* border */
            --gray-ef: #efefef;
            --gray-f5: #f5f5f5;

            --main: #2AB4A6;
            --main-hover: #12A4A7;

            --secondary: #0F3055;
            --secondary-hover: #2c79b5; /* useless */
            --secondary-dark: #004582;
            --secondary-dark-hover: #2c79b5;

            --info: #8BC0E2;
            --info-light: #C5E4EF;
            --info-lighten: #e9f6fa; /* preVer: #fbf0f3 */
            --info-lighten-hover: #eefafd; /* preVer: #FFF5F6 */

            --warning: #FBF4AC;
            --warning-light: #FDF9D5;

            --header-height: 60px;
            --fs-p: 16px;
            --fs-h1: 36px;
            --fs-h2: 21px;
            --fs-h6: 14px;
        }
        @media ( max-width: 991.98px ){
            :root {
                --header-height: 60px;
            }
        }
        @media ( max-width: 767.98px ){
            :root {
                --fs-p: 15px;
                --fs-h1: 28px;
                --fs-h2: 19px;
                --fs-h6: 14px;
            }
        }
        @media ( max-width: 575.98px ){
            :root {
                --fs-p: 14px;
                --fs-h1: 24px;
                --fs-h2: 17px;
                --fs-h6: 13px;
            }
        }

    /*###### [Structure] ######*/
        html { scroll-behavior: smooth; }
        body { font-family: "Noto Sans", "Noto Sans TC", "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; max-width: 1920px; margin-left: auto; margin-right: auto; }
        main { padding-bottom: 100px; flex-grow: 1; }
        @media (max-width: 991.98px) {
            main { padding-bottom: 70px; }
        }
        

    /*###### [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(--info-lighten-hover); }

            /* btn */
            .btn { display: inline-flex; align-items: center; justify-content: center; font-weight: bold; padding: 8px 15px; font-size: 16px; border-radius: 4px; min-height: 42px;}
            .btn:focus { box-shadow: none; }
            @media (max-width: 575.98px) {
                .btn { font-size: 13px; border-radius: 3px; }
            }

            /* nav */
            .nav > .nav-link:not(:last-child) { margin-right: 10px; }
            .nav-link { position: relative; padding: 20px 30px; background-color: var(--main); color: var(--gray-ef); font-size: 20px; font-style: italic; }
            .nav-link:hover, .nav-link:focus { color: white; }
            .nav-link.active { background-color: white; color: var(--main); font-weight: bold; }
            .nav-link.active::before { content: ''; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 5px; background-color: var(--main); z-index: 1; }
            .sub_nav.nav-pills .nav-link { padding: 9px 12px; border-radius: 10px; font-size: 18px; background: white; color: var(--main); border: 1px solid var(--main); font-style: normal; }
            .sub_nav.nav-pills .nav-link::before { display: none; }
            .sub_nav.nav-pills .nav-link.active { background: var(--main); color: white; }
            @media (max-width: 1199.98px) {
                .nav-link { padding: 15px 10px; font-size: 16px; }
                .sub_nav.nav-pills .nav-link { font-size: 14px; }
            }

            
            /* 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 { align-items: center; font-size: var(--fs-h2); }
            .page-item .page-link { border: none; font-weight: bold; color: var(--black); background: transparent; display: flex; align-items: center; justify-content: center; padding: 0 4px; min-width: 30px; height: 30px; }
            .page-item .page-link:focus { box-shadow: none; }
            .page-item .page-link.prev,
            .page-item .page-link.next { border-radius: 20px; color: white; background-color: var(--main); padding: 0; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; }
            .page-item .page-link.prev { margin-right: 8px; }
            .page-item .page-link.next { margin-left: 8px; }
            .page-item.disabled .page-link.prev,
            .page-item.disabled .page-link.next { filter: grayscale(1) opacity(0.4); }
            .page-item .page-link.prev::after { content: '\f053'; font-family: 'Font Awesome 5 Free'; font-size: 0.9em; font-weight: 900; display: inline; line-height: 1; }
            .page-item .page-link.next::after { content: '\f054'; font-family: 'Font Awesome 5 Free'; font-size: 0.9em; font-weight: 900; display: inline; line-height: 1; }
            .page-item.active .page-link { color: var(--main); background: transparent; }

            /* 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; }
            @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 + .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 { --swiper-navigation-size: calc(24px + 2vw); width: calc(16px + 3vw); color: white; 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(12px + 0.5vw); }
            .swiper-pagination-bullet-active { --swiper-pagination-color: rgba(0,0,0,0.6); }


    /*###### [Plugins SelfMade] ######*/
        /*=== 後台 ===*/
        @media screen and (max-width: 991.98px) {
            .tablescroll { overflow-x: auto; }
            .tablescroll > table { width: max-content; max-width: 1156px; }
        }



/*######### [Public Style] #########*/
    /*###### [Simple Css] ######*/
        /*=== color ===*/
            .c_red { color: var(--red) !important; }
            .c_pink { color: #d14f77 !important; }
            .c_main { color: var(--main) !important; }
            .c_secondaryDark { color: var(--secondary-dark) !important; }
            .c_gray7 { color: var(--gray-70) !important; }
            .c_gray9 { color: var(--gray-99) !important; }
            .c_black { color: var(--black) !important; }
            
            .bg_main { background-color: var(--main) !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; }
            .container_1200w { max-width: 1200px; margin-left: auto; margin-right: auto; } /* 全部840改1200(w標記，未來可反悔) */
            .min_w_90 { min-width: 90px; }
            .container_padding_top { padding-top: 3rem; }
            @media (max-width: 575.98px) {
                .container_padding_top { padding-top: 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; }
            .alink:hover, alink:focus { color: var(--main-hover); }
            .hrefText::before { content: attr(href); word-wrap: break-word; }


        /*=== rounded avatar ===*/
            .rounded_avatar_lg { width: 220px; height: 220px; border-radius: 220px; background-color: #fbfbfb; background-size: cover; background-repeat: no-repeat; background-position: center center; }
            .rounded_avatar_md { width: 110px; height: 110px; border-radius: 110px; background-color: #fbfbfb; background-size: cover; background-repeat: no-repeat; background-position: center center; }
            .rounded_avatar_sm { width: 90px; height: 90px; border-radius: 90px; background-color: #fbfbfb; 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: white; }
            .btn_gray:hover,
            .btn_gray:focus { background-color: var(--gray-c7); color: white; }

            .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: white; color: var(--main-hover); border: 1px solid var(--main-hover); }

            .btn_secondary { background-color: var(--secondary); color: white; } /* useless */
            .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); } /* useless */
            .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(2n) { background-color: var(--info-lighten); }
            .rwd_table--striped > tbody > tr:nth-child(2n+1) { background-color: #f7f7f7; }
            .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: white; 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(--info-lighten-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: 'Font Awesome 5 Free'; font-weight: 900; display: inline-block; padding-right: .5em; }

            .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 > * { white-space: nowrap; background-color: var(--main); color: white; font-size: var(--fs-p); }
            .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; }
            }


        /*=== article_section_container ===*/
            .article_section_container { text-align: justify; }
            .article_section_container a { color: var(--main); text-decoration: underline; word-break: break-all; }
            .article_section_container > section { padding-bottom: 40px; }
            .article_section_container > section + section { padding-top: 40px; border-top: solid 1px var(--gray-d6); }
            .article_section_container .article_title { font-size: var(--fs-h1); text-align: start; }
            .article_section_container .article_subtitle { font-size: var(--fs-h2); font-weight: bold; }
            @media (max-width: 575.98px){
                .article_section_container > section { padding-bottom: 30px; }
                .article_section_container > section + section { padding-top: 30px; }
            }


        /*=== title ===*/
            .main_title_banner { background: url(../img/bg_title@2x.jpg) center center no-repeat; background-size: cover; height: clamp(72px, 18vw, 240px); display: flex; align-items: center; justify-content: center; color: white; text-shadow: 0 0 2px #ccc; }

            .main_title { font-family: 'Noto Sans'; color: #F5C258; font-size: clamp(18px,3.5vw,36px); margin-bottom: 0; font-weight: bold; opacity: 0; transform: translateY( calc(1em + 50px) ); animation: 1s titleSlideDown forwards;}
            .main_title_year { font-family: 'Roboto'; color: #F5C258; font-size: clamp(30px,6.5vw,76px); font-weight: bold; line-height: 1; margin-bottom: clamp(3px,1vw,16px); opacity: 0; transform: translateY( 150px ); animation: 1s titleSlideDown forwards;}
            .main_title_line { padding: 0; border: none; border-top: 2px solid #F5C258; 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; }
            }



/*######### [Pages] #########*/
    /*###### [Include Pages] ######*/
        /*=== header.html ===*/
            header { position: relative; background-color: white; z-index: 10; }
            header::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0; transform: translate(0,100%); height: 20px; background-image: linear-gradient( to bottom, rgba(110, 110, 110, .3), rgba(110, 110, 110, 0)); }
            header > .header_navbar { display: flex; justify-content: space-between; min-height: var(--header-height); padding-block: 0px; }

            /* menu */
            header .navbar-light .navbar-toggler { padding: 0; width: 40px; height: 40px; min-height: 40px; background-color: var(--main); color: white; font-size: 20px; }
            header .navbar-brand { margin-right: 0.25rem; padding: 0; }
            header .header_logo { width: 270px; }
            header .nav_menu { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: end; column-gap: 16px; margin-left: auto; list-style: none; }
            header .nav_menu a { height: calc(var(--header-height) - 0.125rem); padding-inline: 4px; display: flex; align-items: center; position: relative; font-size: 17px; color: var(--secondary); font-weight: bold; white-space: nowrap; cursor: pointer; text-decoration: none; transition: color .25s; }
            header .nav_menu a:hover,
            header .nav_menu a.active { color: var(--main); }
            @media (max-width: 1599.98px) {
                header .nav_menu a { font-size: 16px; }
            }
            @media (max-width: 1199.98px) {
                header .header_logo { width: 225px; }
                header .nav_menu { padding-left: 15px; column-gap: 12px; }
            }
            @media (max-width: 991.98px) {
                header::after { height: 10px; }
                header > .header_navbar { height: auto; padding-block: 10px; }
                header .nav_menu { display: block; padding-left: 0; margin-top: 12px; } 
                header .nav_menu a { height: 46px; padding-inline: 18px; font-size: 16px; color: white; white-space: nowrap; color: var(--secondary); }
                header .nav_menu a:hover,
                header .nav_menu a.active { color: var(--main); }
            }
            @media (min-width: 992px) {
                header .nav_menu > .nav-item.nav-item-divider { padding: 0; height: 30px; width: 1px; background-color: var(--gray-d6); }
            }


            /* dropdown */
            header .dropdown > .dropdown-toggle::after { border: none; content: '\f0d7'; padding-left: 4px; margin-left: auto; font-size: 0.9em; font-family: 'Font Awesome 5 Free'; font-weight: 900; vertical-align: middle; }            
            header .dropdown > .dropdown-menu { padding: 0; min-width: 150px; overflow: hidden; border: 0; transition: opacity .4s; }
            header .dropdown > .dropdown-menu > li > a.dropdown-item { height: 46px; }
            header .dropdown > .dropdown-menu > li:last-child > a.dropdown-item { margin-bottom: 0; }
            header .dropdown-item:focus, 
            header .dropdown-item:hover { background-color: inherit; }
            header .dropdown.dropdown_level1 > .dropdown-menu { background-color: #f9f9f9; }
            header .dropdown.dropdown_level1 > .dropdown-menu > li > a.dropdown-item { padding-inline: 18px 18px; background-color: var(--gray-ef); }
            header .dropdown.dropdown_level2 > .dropdown-menu { background-color: #e9e9e9; position: static !important; border: 0; }
            header .dropdown.dropdown_level2 > .dropdown-menu > li > a.dropdown-item { padding-inline: 32px 18px; background-color: var(--gray-d6); }
            @media (max-width: 991.98px) {
                header .dropdown.dropdown_level1 > .dropdown-menu > li > a.dropdown-item { padding-inline: 32px 18px; color: var(--secondary); }
                header .dropdown.dropdown_level1 > .dropdown-menu > li > a.dropdown-item:focus,
                header .dropdown.dropdown_level1 > .dropdown-menu > li > a.dropdown-item:hover { color: var(--main); }
                header .dropdown.dropdown_level2 > .dropdown-menu { background-color: white; margin-top: 0; }
                header .dropdown.dropdown_level2 > .dropdown-menu > li > a.dropdown-item { padding-inline: 46px 18px; background-color: var(--gray-ef); color: var(--main); }
            }
            @media (min-width: 992px) {
                header .dropdown.dropdown_level1 > .dropdown-menu { display: block; height: 0; opacity: 0; }
                header .dropdown.dropdown_level1 > .dropdown-menu.show,
                header .dropdown.dropdown_level1:hover > .dropdown-menu { opacity: 1; height: auto; }
                header .dropdown.dropdown_level1.nav_login  > .dropdown-menu { min-width: 100%; background: var(--main); z-index: 1; border-radius: 0 0 22px 22px; }
                header .dropdown.dropdown_level1.nav_login > .dropdown-menu.show,
                header .dropdown.dropdown_level1.nav_login:hover > .dropdown-menu { margin-top: -22px; padding-block: 22px 8px; }
                header .dropdown.dropdown_level1.nav_login  > .dropdown-menu .dropdown-item { background-color: var(--main); color: var(--secondary); height: 38px; }
                header .dropdown.dropdown_level1.nav_login  > .dropdown-menu .dropdown-item:hover { background-color: var(--main-hover); }
            }
            [aria-expanded=false] .aria-expanded-true { display: none; }
            [aria-expanded=true] .aria-expanded-false { display: none; }



        /*=== footer.html ===*/
            footer { position: relative; background: #F5F5F5; z-index: 9; } 
            footer .copyright { font-size: 12px; text-align: center; color: var(--gray-70); letter-spacing: 1px; }
            .footer_top { position: sticky; bottom: 0; width: 100%; max-width: 1650px; margin: 0 auto; z-index: 9; }
            /* .footer_top.mostBottom { position: absolute; top: 0; left: 0; right: 0; bottom: auto; } */
            .footer_container { display: flex; gap: 8px; padding-block: 3rem; }
            .footer_block1 { flex: 1; padding-inline: 1rem; display: flex; align-items: center; justify-content: center; }
            .footer_divider { padding-inline: 1rem; }
            .footer_divider::after { content: ''; display: block; width: 1px; height: 100%; background: #CDCDCD; }
            .footer_block2 { flex: 1; padding-inline: 1rem; display: flex; flex-direction: column; }
            .footer_block2 .subscribe { display: flex; align-items: center; text-align: center; }
            .footer_block2 .subscribe > * { margin: 0 1rem 0 0; }
            .footer_block2 .infoList { display: flex; flex-direction: column; align-items: start; gap: 8px; justify-content: center; }
            .footer_block2 .infoList > ._info { display: flex; align-items: center; }
            .footer_block2 .infoList > ._info > ._title { border-right: 1px solid var(--gray-99); padding-right: 8px; margin-right: 8px; font-weight: bold; }
            .footer_block2 .infoList > ._info > ._icon { flex: 1 0 24px; width: 24px; font-size: 20px; text-align: center; margin-right: 0.5rem; color: #1D2087; }

            .footer_block2 .pageViewBlock { display: flex; width: 100%; }
            .footer_block2 .pageViewBlock > .pillBlock { position: relative; display: flex; align-items: center; justify-content: center; box-shadow: inset 0px 3px 6px rgba(0,0,0,.3); height: 40px; border-radius: 100vmax; }
            .footer_block2 .pageViewBlock > .pageView { background: #FFB83D; color: white; padding-inline: 20px; font-size: 14px; font-weight: bold; z-index: 1; flex-shrink: 0; }
            .footer_block2 .pageViewBlock > .viewAmount { background: white; color: var(--gray-70); padding-inline: 40px 10px; margin-left: -30px; font-size: 20px; letter-spacing: 8px; z-index: 0; max-width: 240px; flex-grow: 1; }
            @media (max-width: 1199.98px) {
                .footer_container { flex-direction: column; align-items: center; padding-block: 2rem; }
                .footer_divider { width: 100%; padding-block: 1rem; }
                .footer_divider::after { width: 100%; height: 1px; }
                .footer_block2 .subscribe { max-width: 400px; align-self: center; flex-direction: column; justify-content: center; align-items: unset; }
                .footer_block2 .subscribe > * { margin: 0 0 1rem 0; }
            }

            #backToTop { display: none; position: absolute; right: 12px; bottom: 12px; }
            #backToTop > .btn { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; font-size: 24px; line-height: 1.25; box-shadow: 0 0 4px #ccc; border-radius: 100vmax; }



    /*###### [Current Pages] ######*/
        /*=== index.html ===*/
            /* banner */
            .index_banner_height { aspect-ratio: 8/3; }
            .index_banner { position: relative; display: flex; }
            .index_countdown { width: clamp(180px, 18vw, 220px); flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; 
                column-gap: 8px; row-gap: 16px; background-color: #F5C258; text-align: center; color: var(--black); padding: 4px; }
            .index_countdown > ._time { min-width: clamp(80px, 8.8vw, 130px); padding-block: 10px; font-size: 16px; background: #fff; border-radius: 8px; }
            .index_countdown > ._time > ._value { font-size: clamp(32px, 3.4vw, 60px); line-height: 1; margin-bottom: 4px; font-weight: 300; }
            .index_countdown > .untilText { font-weight: bold; padding-inline: 4px; }
            @media (max-width: 1399.98px) {
                .index_countdown { row-gap: 12px; }
                .index_countdown > ._time { padding-block: 8px; font-size: 14px; }
            }
            @media (max-width: 1199.98px) {
                .index_countdown { row-gap: 8px; }
                .index_countdown > ._time { padding-block: 6px; }
            }
            @media (max-width: 991.98px) {
                .index_banner { flex-direction: column; }
                .index_countdown { width: 100%; padding: 12px; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
                .index_countdown > ._time > ._value { margin-bottom: 0; }
                .index_countdown > .untilText { width: 100%; min-width: unset; }
            }
            @media (max-width: 575.98px) {
                .index_banner_height { aspect-ratio: 4/3; }
            }
            .index_section { padding-block: 60px; }
            @media (max-width: 991.98px) {
                .index_section { padding-block: calc(36px + 1vw); }
            }
            fieldset.index_section_title { padding: 0; border: none; border-top: 2px solid; color: #CDCDCD; }
            fieldset.index_section_title > legend { color: var(--secondary); font-size: 20px; font-weight: bold; display: flex; align-items: center; margin-inline: auto; padding-inline: 15px; width: unset; float: unset; margin-bottom: 0; }
            fieldset.index_section_title > legend > * + * { margin-left: 10px; }
            fieldset.index_section_title._left > legend { margin-left: 0; padding-left: 0; }
            @media (min-width: 992px) {
                fieldset.index_section_title._lg_left > legend { margin-left: 0; padding-left: 0; }
            }


            /* 重要日程 & 最新消息 */
            .index_block_news { display: flex; align-items: center; gap: 8px; padding: 15px 20px; border-radius: 10px; background-color: var(--gray-f5); transition: color 0.15s; }
            .index_block_news:hover { color: var(--main); }
            .index_block_news > ._content { flex-grow: 1; display: flex; flex-direction: column; gap: 2px; }
            .index_block_news > ._content > ._date { font-size: var(--fs-h6); font-weight: normal; }
            .index_block_news > ._content > ._title { font-size: 20px; font-weight: 700; }
            .index_block_news > ._content > ._desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
            .index_block_news > ._more { flex-shrink: 0; display: flex; align-items: center; gap: 4px; color: var(--main); font-weight: 700; }
            .index_block_news > ._more::after { content: '\f0da'; display: inline; font-family: var(--ff-Font_Awesome); font-weight: bold; }

            .index_block_schedule { display: flex; align-items: center; padding: 10px 20px; min-height: 70px; border-radius: 10   px; background-color: #FFF7CC; }
            .index_block_schedule > ._content { display: flex; align-items: center; gap: 15px; }
            .index_block_schedule::before { content: ''; flex-shrink: 0; display: block; width: 36px; height: 36px; margin-right: 12px; background: url(../img/index/icon_keyDate_list-style.svg) center center no-repeat; background-size: contain; }
            .index_block_schedule > ._content > ._date {  }
            .index_block_schedule > ._content > ._divider { width: 1px; height: 30px; background-color: #cdcdcd; }
            .index_block_schedule > ._content > ._text { font-weight: 700; }

            /* welcome_block */
            .index_welcome_block { border-radius: 30px; height: 100%; display: flex; flex-direction: column; }
            .index_welcome_block > ._head { flex: 0; padding: 5px 30px; border-radius: 30px 30px 0 0; background: #303030; color: #fff; font-size: 20px; font-weight: 700; height: 46px; display: flex; align-items: center; justify-content: center; gap: 10px; }
            .index_welcome_block > ._body { flex: 1; padding: 15px 30px; border-radius: 0 0 30px 30px; background: #F5F5F5; box-shadow: 1px 3px 4px #ccc; }
            .index_welcome_block > ._body ._body_title { font-size: 18px; font-weight: bold; text-align: center; }

            .index_welcome_block-1 > ._body { display: flex; align-items: flex-start; gap: 10px; background: #FFF7CC; }
            .index_welcome_block-1 > ._body > ._avatar { flex-shrink: 0; width: 120px; aspect-ratio: 1/1; border-radius: 100vmax; }
            .index_welcome_block-1 > ._body .comment_card_container { display: flex; flex-direction: column; gap: 4px; }
            .index_welcome_block-1 > ._body ._body_title { text-align: start; }
            .index_welcome_block-1 > ._body .comment_card { padding: 12px 24px; background: #fff; }
            .index_welcome_block-1 > ._body .comment_card._top { border-radius: 30px 30px 30px 0; }
            .index_welcome_block-1 > ._body .comment_card._mid { border-radius: 0 30px 30px 0; }
            .index_welcome_block-1 > ._body .comment_card._bot { border-radius: 0 30px 30px 30px; }
            @media (max-width: 767.98px) {
                .index_welcome_block-1 > ._body { flex-direction: column; align-items: center; }
                .index_welcome_block-1 > ._body ._body_title { text-align: center; }
            }

            .index_welcome_block-2 > ._body ._video { max-width: 680px; margin-inline: auto; }

            .index_information_block { display: flex; height: clamp(400px, 38vw, 500px); border-top: 10px solid var(--main); border-bottom: 10px solid var(--main); }
            .index_information_block ._menu.swiper-pagination { position: static; transform: none; width: min(calc(50px + 14%), 310px); display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
            .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet { flex: 1; width: 100%; height: auto; border-radius: 0; opacity: 1; margin: 0; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 6px 8px; background: var(--main); font-size: 20px; font-weight: 700; line-height: 1.25; color: #fff; }
            .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet:hover { opacity: 0.8; }
            .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet::after { content: '\f0da'; display: inline; font-family: var(--ff-Font_Awesome); font-weight: bold; line-height: 0.75; }
            .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet-active { background-color: #fff; color: var(--main); }
            .index_information_block ._body.swiper { flex: 1; width: 100%; background-color: #0F3055; }
            .index_information_block ._content { height: 100%; width: 100%; padding: 20px; display: flex; align-items: center; justify-content: center; color: #fff; }
            .index_information_block ._content .comment_box { z-index: 1; width: min(calc(270px + 60%), 100%); background: rgba(255,255,255,0.2); padding: 40px calc(50px + 2%); border-radius: 100px 0; backdrop-filter: blur(2px); }
            .index_information_block ._content .content_img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
            @media (max-width: 991.98px) {
                .index_information_block { height: auto; flex-direction: column; border-top-width: 8px; border-bottom-width: 8px; }
                .index_information_block ._menu.swiper-pagination { width: 100%; flex-direction: row; min-height: 72px; }
                .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet { flex-direction: column; font-size: 19px; line-height: 1; gap: 4px; }
                .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet::after { content: '\f0d7'; }
                .index_information_block ._content { min-height: 120px; flex-direction: column; justify-content: flex-start; }
                .index_information_block ._content .comment_box { padding: 0; background: transparent; border-radius: 0; }
                .index_information_block ._content .content_img { position: relative; height: auto; }
            }
            @media (max-width: 480.98px) {
                .index_information_block ._menu.swiper-pagination { min-height: 68px; flex-wrap: wrap; }
                .index_information_block ._menu.swiper-pagination > .swiper-pagination-bullet { flex: unset; width: 50%; font-size: 18px; }
            }



            .index_information_block ._content-1 .comment_box { display: flex; gap: calc(12px + 3%); align-items: center; }
            .index_information_block ._content-1 .comment_box > ._chars { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-block: -16px; }
            .index_information_block ._content-1 .comment_box > ._chars > ._charBox { display: flex; flex-direction: column; align-items: center; gap: 4px; }
            .index_information_block ._content-1 .comment_box > ._chars > ._charBox > img { flex-shrink: 0; width: 100px; aspect-ratio: 1/1; object-fit: contain; }
            @media (max-width: 991.98px) {
                .index_information_block ._content-1 .comment_box { gap: 16px; }
                .index_information_block ._content-1 .comment_box > ._chars { margin-block: 0; }
                .index_information_block ._content-1 .content_img { display: none; }
                .index_information_block ._content-3 .content_img { display: none; }
            }
            @media (max-width: 575.98px) {
                .index_information_block ._content-1 .comment_box { flex-direction: column; }
                .index_information_block ._content-1 .comment_box > ._chars { flex-direction: row; gap: 20px; margin-block: 0; }
                .index_information_block ._content-1 .comment_box > ._chars > ._charBox > img { width: 120px; }
            }



            /* 演講嘉賓 conference_guests */ 
            .index_speaker_bg { background-image: url(../img/index/speaker_bg.png); }
            .index_speakers_title { position: relative; width: fit-content; margin-inline: auto; color: white; font-size: 20px; display: flex; align-items: center; height: 70px; }
            .index_speakers_title::before { content: ''; display: block; position: absolute; right: 100%; top: 50%; transform: translateY(-50%); width: 60px; height: 70px; background: url(../img/index/icon_handL.svg) center center no-repeat; background-size: contain; }
            .index_speakers_title::after { content: ''; display: block; position: absolute; left: 100%; top: 50%; transform: translateY(-50%); width: 60px; height: 70px; background: url(../img/index/icon_handR.svg) center center no-repeat; background-size: contain; }
            .index_speakers_block { display: flex; flex-direction: column; gap: 15px; background-color: white; text-align: center; border-radius: 10px; padding: 15px; height: 100%; transition: color 0.15s; }
            .index_speakers_block:hover { color: var(--main); }
            .index_speakers_block > * { transition: transform 0.15s; }
            .index_speakers_block:hover > * { transform: translateY(-4px); }
            .index_speakers_block ._avatar { --def: url(../img/avatar_default.png); --bg: url(); margin-inline: auto; border-radius: 100vmax; width: 160px; aspect-ratio: 1/1; background: var(--bg), var(--def); background-size: cover; }
            .index_speakers_block ._text { flex-grow: 1; display: flex; flex-direction: column; }
            .index_speakers_block ._text > ._name { font-size: var(--fs-h2); font-weight: bold; padding-inline: 8px; }
            .index_speakers_block ._text > ._desc { font-size: var(--fs-h6); margin-top: 4px; padding-inline: 8px; }
            @media (max-width: 1199.98px) {
                .index_speakers_block ._avatar { width: 130px; }
            }
            @media (max-width: 767.98px) {
                .index_speakers_block { flex-direction: row; text-align: start; }
                .index_speakers_block ._avatar { flex-shrink: 0; width: 100px; }
                .index_speakers_block ._text {  justify-content: center; }
            }

            /* 合作單位 */
            .index_coop_main_row { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; column-gap: 32px; row-gap: 10px; }
            .index_coop_main_row > ._icon { flex-shrink: 0; height: 120px; aspect-ratio: 1/1; }
            .index_coop_main_row > ._icon._3x2 { aspect-ratio: 3/2; }
            .index_coop_main_row > ._icon._2x1 { aspect-ratio: 2/1; }
            .index_coop_main_row > ._icon > img { height: 100%; width: 100%; object-fit: contain; }
            @media (max-width: 1399.98px) {
                .index_coop_main_row { column-gap: 24px; }
                .index_coop_main_row > ._icon { flex-shrink: 0; height: 100px; }
            }
            @media (max-width: 767.98px) {
                .index_coop_main_row > ._icon { height: 74px; }
            }


            /* .index_news_block { display: block; border-left: 8px solid var(--main); padding: 0 24px 0 24px; }
            @media (max-width: 575.98px){
                .index_news_block { border-left: 4px solid var(--main); padding: 0 0 0 12px; }
            }
            .index_keyDates_block { border-radius: 4px; padding: 15px 0; display: flex; align-items: center; }
            .index_keyDates_block.block1 { background-color: var(--warning); }
            .index_keyDates_block.block2 { background-color: var(--info-light); }
            .index_keyDates_block.block3 { background-color: #8BC0E2; }
            .index_keyDates_block > .left { flex-shrink: 0; border-right: solid 1px white; text-align: center; width: 120px; }
            .index_keyDates_block > .left > .date { font-size: var(--fs-h2); font-weight: bold; white-space: nowrap; }
            .index_keyDates_block > .right { flex: 1; padding: 0 24px; font-size: var(--fs-h2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
            .index_keyDates_block > .addIcon { padding-right: 16px; }
            .index_keyDates_block > .addIcon > .icon_calendar { display: inline-block; width: 40px; height: 40px; background: url(../img/icon/icon_calendar_add.png) center center no-repeat; background-size: contain; }
            @media (max-width: 575.98px){
                .index_keyDates_block { padding: 12px 0; }
                .index_keyDates_block > .left { width: 90px; }
                .index_keyDates_block > .right { padding: 0 16px; }
                .index_keyDates_block > .addIcon > .icon_calendar { width: 30px; height: 30px; }
            }
            .index_channel_bg { background: #f7f7f7; }
            .index_channel { padding: 0 48px; }
            .index_channel_container { position: relative; }
            .index_channel_navigation { --swiper-navigation-color: #7d7d7d; position: absolute; top: 0; left: -60px; height: 100%; width: calc(100% + 120px); z-index: 0; }
            @media (max-width: 1199.98px){
                .index_channel { padding: 0 36px; }
                .index_channel_navigation { left: -44px; width: calc(100% + 88px); }
                .index_channel_navigation .swiper-button-prev,
                .index_channel_navigation .swiper-button-next { --swiper-navigation-size: 28px; }
            } */


        /*=== 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; }
            }


        /*=== about_us.html ===*/
            .aboutUs_stripedBox > * { padding: 10px 20px; border-bottom: 2px solid white; }
            .aboutUs_stripedBox > *:nth-child(2n+1) { background-color: var(--warning); }
            .aboutUs_stripedBox > *:nth-child(2n) { background-color: var(--info-light); }


        /*=== speakers.html ===*/
            .speakers_container { padding-block: 36px 0px; }
            .speakers_row_title { font-size: var(--fs-h1); color: var(--main-hover); text-align: center; }
            .speakers_row { padding-bottom: 60px; }
            .speakers_col { padding: 30px 20px; text-align: center; }
            .speakers_avatar { 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_container { padding-block: 20px; }
                .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; width: 90px; height: 90px; border-radius: 90px; }
                .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_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; }
            .speakersModal_title { color: var(--main-hover); font-size: 20px; font-weight: bold; margin-bottom: 0.5rem; }
            @media (max-width: 991.98px) {
                .speakersModal .modal-body { padding: 8px 24px 30px 24px; }
                .speakersModal_top { flex-direction: column; align-items: center; margin: 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.tag_now { color: var(--red) !important; }
            .program_table > tbody > tr.tag_now > td:first-child::before { content: "NOW"; }
        
            .program_tab_content { background-color: #fff; padding: 0 50px; }
            .program_tab_content .tag_theme { font-size: 14px; border-radius: 10px; padding: 4px 6px; color: white; }
            .program_tab_content .tag_bg0 { background: var(--bs-red); }
            .program_tab_content .tag_bg1 { background: var(--bs-orange); }
            .program_tab_content .tag_bg2 { background: var(--bs-yellow); }
            .program_tab_content .tag_bg3 { background: var(--bs-green); }
            .program_tab_content .tag_bg4 { background: var(--bs-blue); }
            .program_tab_content .tag_bg5 { background: var(--bs-purple); }
            .program_tab_content .tag_bg6 { background: var(--bs-indigo); }
            .program_tab_content .tag_bg7 { background: var(--bs-pink); }
            .program_tab_content .tag_bg8 { background: var(--bs-teal); }
            .program_tab_content .tag_bg9 { background: var(--bs-cyan); }
            .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: 40px 50px; background-color: white; box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.61); max-width: 1080px; margin: 0 auto; }
            .download_Agenda { display: inline-flex; align-items: center; justify-content: center; }
            @media (min-width: 1200px) {
                .program_table > tbody > tr > td:nth-child(2){ white-space: nowrap; }
                .program_table > tbody > tr > td:nth-child(3){ max-width: 0; min-width: 100px; min-width: 240px; width: 50%; }
                .program_table > tbody > tr > td:nth-child(5){ white-space: nowrap; }
                .program_table > thead > tr > th:nth-child(6),
                .program_table > tbody > tr > td:nth-child(6){ text-align: center; }
                
                .program_table > tbody > tr.tag_now > td:first-child::before { left: -50px; }
            }
            @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: 0 20px; }
            }
            @media (max-width: 575.98px) {
                .download_Agenda { order: -1; width: 100%; margin-bottom: 1rem; }
            }


        /*=== 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:last-child { display: none; }
            @media (min-width: 1200px) {
                .poster_table > tbody > tr > td:nth-child(3) { max-width: 0; min-width: 100px; width: 70%; }
                /* .poster_table > tbody > tr > td:nth-child(6) { white-space: nowrap; } */
            }
            @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:first-child { position: relative; }
                .poster_table > tbody > tr > td:first-child img { position: absolute; right: 15px; top: 20px; }
                .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; white-space: nowrap; }
            @media (max-width: 575.98px) {
                .poster_table > tbody > tr > td:nth-child(5) { max-width: 100%; min-width: 100px; width: 100%; }
                .searchBlock { flex-direction: column; padding: 20px 0; }
                .searchBtn { margin: 16px 0 0 0; }
            }


        /*=== news.html ===*/
            .news_table > thead > tr > th:first-child,
            .news_table > tbody > tr > td:first-child { padding-left: 36px; }
            .news_table > tbody > tr { cursor: pointer; }
            .news_table > tbody > tr > td:nth-child(2) { width: 100%; }
            .news_table > tbody > tr > td > .news_name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
            .news_table > tbody > tr > td:nth-child(3) { white-space: nowrap; }
            .news_table > tbody > tr.sp_tag.tag_new > td:first-child::before { content: 'NEW'; }

            @media (max-width: 1199.98px) {
                .news_table > tbody > tr > td:nth-child(2){ padding-top: 24px; }
                .news_table > tbody > tr > td:nth-child(3){ padding-bottom: 24px; }
                .news_table > tbody > tr > td > .news_name { -webkit-line-clamp: 3; }
                .news_table > tbody > tr.sp_tag.tag_new > td:first-child::before { left: 0; transform: translateY( -50% ); }
            }


        /*=== 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; }


        /*=== posterDetail.html ===*/
            @media (min-width: 1600px){
                .posterDetail main > .container { max-width: 1320px; }
            }
            .posterDetail_list { padding: 40px 0; margin: 0 -40px; }
            .posterDetail_list > [class*="col-"] { padding: 0 40px; }
            .posterDetail_listItem { position: relative; }
            .posterDetail_listItem > *:nth-child(1) { font-weight: bold; font-size: 14px; line-height: 2.5; }
            .posterDetail_listItem > *:nth-child(2) { color: var(--gray-70); font-size: 16px; line-height: 2.25; }
            .posterDetail_listItem::after { content: ""; display: block; border-bottom: 1px solid var(--gray-d6); margin: 25px 0; }
            /* .posterDetail_listItem.no_border::after { border-bottom: none; margin: 0; } */
            .posterDetail_listItem:last-child::after { border: 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: var(--gray-70); 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 > [class*="col-"] { padding: 0 15px; }
                .posterDetail_listItem::after,
                /* .posterDetail_listItem.no_border::after { border-bottom: 1px solid var(--gray-d6); margin: 15px 0; } */
                .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; }
            }


        /*=== 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 { text-align: center; background-color: var(--info); }
            .nav.auth_nav > .nav-item > .nav-link.active { background-color: white; }

            .login_bg { background-image: url(../img/bg_auth@2x.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 ===*/
            .icon_star { --star-score: 1; --star-width: 24px; position: relative; width: var(--star-width); height: var(--star-width); }
            .icon_star::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; right: 0; background: url(../img/icon/star.png) center center no-repeat; background-size: cover; }
            .icon_star::after { content: ''; position: absolute; left: 0; top: 0; bottom: 0; right: 0; background: url(../img/icon/star_filled.png) center center no-repeat; background-size: cover; clip: rect(0, calc( var(--star-width) * var(--star-score) ), var(--star-width), 0) }
            
            .accom_block { display: flex; justify-content: space-between; padding-bottom: 32px; }
            .accom_block + .accom_block { border-top: solid 1px var(--gray-c7); padding-top: 32px; }
            .accom_block > .accom_desc { flex: 3; padding-right: 1rem; align-self: center; }
            .accom_block > .accom_map { flex: 2; }
            @media (max-width: 1199.98px) {
                .accom_block > .accom_desc { flex: 2; }
            }
            @media (max-width: 991.98px) {
                .accom_block { flex-direction: column; }
                .accom_block > .accom_desc { flex: 3; padding: 0 0 1rem 0; align-self: flex-start; }
            }



        /*=== about_taiwan.html ===*/
            .abouttaiwan_stripedBox > * { padding: 10px 20px; border-bottom: 2px solid white; }
            .abouttaiwan_stripedBox > *:nth-child(2n+1) { background-color: var(--warning); }
            .abouttaiwan_stripedBox > *:nth-child(2n) { background-color: var(--warning-light); }


        /*=== 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 ===*/
            body.receipt { font-size: 16px; }
            body.receipt .sheet { width: 210mm; height: 296mm; page-break-after: always; }
            @media screen {
                .receipt { background: #e9e9e9; }
                body.receipt .sheet { background: white; box-shadow: 0 .5mm 2mm rgba(0,0,0,.3); margin: 5mm auto; }
            }
            @media print {
                body.receipt { width: 210mm }
            }

            .receiptContainer { max-width: 160mm; margin: auto; padding-block: 360px 174px; }
            body.receipt .receiptBg { background: url(../img/bg_receipt.png) center center no-repeat; background-size: cover; }
            .receiptTitle { font-size: 22px; font-weight: bold; }
            .receiptTable { border: solid 1px #000; }
            .receiptTable td { padding: 3px 8px; border-bottom: solid 1px #000; }
            .receiptTable > tbody > tr > td:first-child { white-space: nowrap; width: 0; }


    /*====== 備註 ======*/
        /*=== 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) {}


label.error {
    color: red;
    font-size: 0.875em;
    font-weight: bold;
    padding: 5px;
}

/*######### [Form Components] #########*/
    /*###### [intl-tel-input] ######*/
        /* 修正 intl-tel-input 對齊問題 */
        .iti {
            width: 100%;
            display: block;
            position: relative;
        }
        .iti input {
            width: 100%;
            padding-right: 52px;
        }
        .iti__flag-container {
            right: 0;
            position: absolute;
            top: 0;
            bottom: 0;
            z-index: 5;
        }
        
        /* 修正 jQuery validation 錯誤訊息位置，讓它像其他欄位一樣正常顯示 */
        .iti label.error {
            position: static !important;
            display: block !important;
            margin-top: 5px !important;
            width: 100% !important;
        }

    /*###### [Form Utilities] ######*/
        .hide {
            display: none;
        }
        .mobile-input {
            display: flex;
            gap: 10px;
        }
        .mobile-input select {
            width: 120px;
        }
        .other-input {
            margin-top: 10px;
            margin-left: 25px;
        }