/*
    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 {
            --red: #e03e2d;
            --black: #2c2c2c;
            --gray-5c: #5c5c5c;
            --gray-70: #707070;
            --gray-99: #999999;
            --gray-c7: #c7c7c7;
            --gray-d7: #d7d7d7; /* border */
            --gray-ef: #efefef;
            --gray-f5: #f5f5f5;

            --main: #67C5C7;
            --main-hover: #46A2A4;
            --main-dark: #3C9092;

            --secondary: #364C86;
            --secondary-hover: #4E67AC;
            --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: 40px;
            --header-sidebar-width: clamp(220px, calc(50px + 15vw), 300px);
            --fs-p: 18px;
            --fs-h1: 36px;
            --fs-h2: 21px;
            --fs-h6: 14px;
        }
        @media ( max-width: 991.98px ){
            :root {
                --header-height: 52px;
                --header-sidebar-width: 0px;
            }
        }
        @media ( max-width: 767.98px ){
            :root {
                --fs-p: 16px;
                --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; position: relative; }
        main { padding-bottom: 100px; flex-grow: 1; min-height: calc(100vh - var(--header-height)); }
        @media (max-width: 991.98px) {
            main { padding-bottom: 70px; min-height: unset; }
        }


    /*###### [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: 992px) {
                .container-lg, .container-md, .container-sm, .container {
                    /* max-width: calc(960px - var(--header-sidebar-width)); */
                    max-width: unset;
                }
            }
            @media (min-width: 1200px) {
                .container-xl, .container-lg, .container-md, .container-sm, .container {
                    /* max-width: calc(1140px - var(--header-sidebar-width)); */
                    max-width: unset;
                }
            }
            @media (min-width: 1400px) {
                .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
                    /* max-width: calc(1320px - var(--header-sidebar-width)); */
                    max-width: unset;
                }
            }
            @media (min-width: 1600px) {
                .container-3xl, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
                    max-width: calc(1580px - var(--header-sidebar-width));
                }
            }
            @media (min-width: 1800px) {
                .container-3xl, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
                    max-width: calc(1760px - var(--header-sidebar-width));
                }
            }
            .container-3xl { width: 100%; padding-right: var(--bs-gutter-x, .75rem); padding-left: var(--bs-gutter-x, .75rem); margin-right: auto; margin-left: auto; }
            @media (min-width: 992px) {
                .container-3xl, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { padding-inline: 2.5rem; }
            }


            @media (min-width: 1600px) {
                .col-3xl { flex: 1 0 0%; }
                .row-cols-3xl-auto > * { flex: 0 0 auto; width: auto; }
                .row-cols-3xl-1 > * { flex: 0 0 auto; width: 100%; }
                .row-cols-3xl-2 > * { flex: 0 0 auto; width: 50%; }
                .row-cols-3xl-3 > * { flex: 0 0 auto; width: 33.33333333%; }
                .row-cols-3xl-4 > * { flex: 0 0 auto; width: 25%; }
                .row-cols-3xl-5 > * { flex: 0 0 auto; width: 20%; }
                .row-cols-3xl-6 > * { flex: 0 0 auto; width: 16.66666667%; }
            }

            /* 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.svg) 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] ######*/


/*######### [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_1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden; }
            .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-d7); 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-d7); }
            .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-d7); }
            .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; }
            }

            /* 後台有<table>時，會在後台編輯器加上 tablescroll (橫向捲動)、fixedThScope (第一個td固定) */
            @media screen and (max-width: 991.98px) {
                .tablescroll { overflow-x: auto; }
                .tablescroll > table { width: max-content; max-width: 1156px; }
            }
            @media screen and (max-width: 991.98px) {
                .fixedThScope table > thead > tr > *:first-child,
                .fixedThScope table > tbody > tr > *:first-child { position: sticky; left: 0; z-index: 1; }
            }


        /*=== 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-d7); }
            .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, calc(18vw - (var(--header-sidebar-width) * 0.18)), 220px); display: flex; align-items: center; justify-content: center; color: white; text-shadow: 0 0 4px #333, 0 0 7px #666; }

            .main_title { font-family: 'Noto Sans'; font-size: clamp(18px, calc(3.5vw - (var(--header-sidebar-width) * 0.035)), 36px); margin-bottom: 0; font-weight: bold; opacity: 0; transform: translateY( calc(1em + 50px) ); animation: 1s titleSlideDown forwards;}
            .main_title_year { font-family: 'Roboto'; 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 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; }
            }



/*######### [Pages] #########*/
    /*###### [Include Pages] ######*/
        /*=== header.html ===*/
            header { position: sticky; top: 0; background-color: white; z-index: 10; /*font-family: "Noto Sans", "Noto Sans TC", "Microsoft JhengHei";*/ }
            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; padding-block: 0; min-height: var(--header-height); }

            /* menu */
            header .navbar-light .navbar-toggler { padding: 0; width: 40px; height: 40px; min-height: 40px; background-color: #F5F5F5; color: var(--main) ; font-size: 20px; }
            header .navbar-brand { margin-right: 0.25rem; padding-right: 0.25rem; }
            header .header_logo_m { width: 218px; }
            header .navbar-nav { display: flex; align-items: center; background-color: var(--main); margin: 0; list-style: none; margin-left: auto; }
            header .navbar-nav > .nav-item { position: relative; width: 100%; background-color: var(--main); }
            header .navbar-nav a { height: 40px; color: #fff; padding: 2px 14px; font-size: 16px; font-weight: bold; line-height: 1.05; display: flex; align-items: center; justify-content: start; position: relative; cursor: pointer; text-decoration: none; transition: color .25s; }
            header .navbar-nav a > ._tw_en { display: flex; flex-direction: column; align-items: center; justify-content: center;}
            header .navbar-nav a > ._tw_en > small { letter-spacing: -0.2px; }
            header .navbar-nav a.accordion-toggle { justify-content: space-between; }
            header .navbar-nav .accordion-toggle::after { content: '\f107'; display: block; font-size: 1em; font-family: 'Font Awesome 5 Free'; font-weight: bold; transition: transform 0.35s ease;  }
            header .navbar-nav .accordion-toggle.active::after { transform: rotate(180deg); }
            header .navbar-nav .accordion_menu { list-style: none; }
            header .navbar-nav [accordion-level='1'] > .accordion_menu { background-color: var(--main-hover); padding-left: 0; }
            header .navbar-nav [accordion-level='1'] > .accordion_menu > .nav-item > a { padding-left: 1.75em; }
            header .navbar-nav [accordion-level='2'] > .accordion_menu { background-color: var(--main-dark); padding-left: 0; }
            header .navbar-nav [accordion-level='2'] > .accordion_menu > .nav-item > a { padding-left: 2.5em; }

            header .nav_menu .nav-item > a:hover,
            header .nav_menu .nav-item > a.active { color: #fff; background-color: rgba(0,0,0,0.08); }
            header .nav_menu .nav_logo { z-index: 2; flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1/1; background-color: white; }
            header .nav_menu .nav_logo > a { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5% }
            header .nav_menu .nav_logo > a > img.header_logo { width: calc(var(--header-sidebar-width) - 40%); }
            header .nav_menu .nav_logo_sm { z-index: 1; align-self: start; position: fixed; top: 0; background: #fff; padding-block: 2px; height: 44px; width: calc(var(--header-sidebar-width) - 7px); /* scrollbar */ }

            header .navbar-expand-lg .nav_menu { flex-direction: column; }
            @media (min-width: 992px) { /* PC */
                header ~ main,
                header ~ footer,
                header ~ .footer_top { padding-left: var(--header-sidebar-width); }
                header .nav_menu_sidebar { position: absolute; left: 0; top: 0; z-index: 1; }
                header .nav_menu { position: fixed; height: 100vh; width: var(--header-sidebar-width); z-index: 1; border-right: 1px solid var(--gray-d7); overflow: auto; background: var(--main); z-index: 1; padding-bottom: 16px; }
                header .nav_menu::-webkit-scrollbar { width: 6px; }
                header .nav_menu::-webkit-scrollbar-track { background: transparent; }
                header .nav_menu::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.3); border-radius: 3px; }
                header .nav_menu::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.5); }
                header .nav_menu .nav_logo_sm ~ .nav-item { z-index: 0; }
                header .nav_topRight { background-color: transparent; margin-left: auto; }
                header .nav_topRight li > a { color: #1E336B; }
                header .nav_topRight li > a:hover,
                header .nav_topRight li > a:focus,
                header .nav_topRight li > a.active { color: #1E336B; opacity: 0.6; }
                header .nav_topRight .nav_login > a,
                header .nav_topRight .nav_lang > a { display: flex; align-items: center; }
                header .nav_topRight .nav_lang > a { cursor: pointer; }
                header .nav_topRight .nav_lang > a #languageLabel { transition: all 0.2s ease; }
                header .nav_topRight .nav_lang > a:hover #languageLabel { transform: scale(1.1); }
            }
            @media (max-width: 991.98px) { /* M */
                header #header_menu { margin-inline: calc(-1 *  var(--bs-gutter-x, .75rem)); max-height: calc(100vh - var(--header-height)); overflow: auto; }
                header::after { height: 10px; }
                header .nav_menu .nav_logo,
                header .nav_menu .nav_logo_sm { display: none; }
                header .navbar-nav { display: block; }
                header .navbar-nav a { padding-inline: 18px; font-size: 16px; white-space: nowrap; }
                header .navbar-nav a:hover,
                header .navbar-nav a:focus,
                header .navbar-nav a.active { color: white; }
                header .navbar-nav a > ._tw_en { align-items: start; text-align: start; }
                header .navbar-nav a > ._tw_en > small { letter-spacing: 0px; }
            }

            [aria-expanded=false] .aria-expanded-true { display: none; }
            [aria-expanded=true] .aria-expanded-false { display: none; }


        /*=== footer.html ===*/
            footer { position: relative; background: #1E336A; z-index: 9; font-size: 16px; border-top: 1px solid var(--gray-d7); color: white; }
            .footer_top { position: sticky; bottom: 0; width: 100%; max-width: 1650px; margin: 0 auto; }
            /* .footer_top.mostBottom { position: absolute; top: 0; left: 0; right: 0; bottom: auto; } */
            .footer_info_cate { font-weight: 700; }
            .footer_info_title { font-weight: 700; font-size: 20px; margin-bottom: 10px; }
            .footer_info_block { display: flex; padding: 20px; background: #fff; color: var(--black); border-radius: 20px 0; }

            .footer_contact { padding-block: 20px; }
            .footer_contact_list { padding: 0; margin-bottom: 0; list-style: none; padding-top: 2px; }
            .footer_contact_list > li { display: flex; align-items: center; gap: 10px; word-break: break-all; line-height: 1.2; }
            .footer_contact_list > li + li { margin-top: 10px; }
            .footer_copyright { margin-top: 20px; }

            #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; font-size: 20px; line-height: 1.25; box-shadow: 0 0 4px #ccc; border-radius: 100vmax; }
            @media (max-width: 767.98px) {
                .footer_contact { padding-block: 30px; }
            }



    /*###### [Current Pages] ######*/
        /*=== index.html ===*/
            /* legend_title */
            fieldset.legend_title { padding: 0; border: none; border-top: 2px solid; color: var(--gray-5c); }
            fieldset.legend_title > legend { 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.legend_title > legend > * + * { margin-left: 10px; }
            fieldset.legend_title._left > legend { margin-left: 0; padding-left: 0; }
            @media (min-width: 992px) {
                fieldset.legend_title._lg_left > legend { margin-left: 0; padding-left: 0; }
            }

            /* banner */
            .index_section_banner { position: relative; }
            .index_banner_height { aspect-ratio: 3/1; }
            @media (max-width: 575.98px) {
                .index_banner_height { aspect-ratio: 3/2; }
            }

            /* index_section1 */
            .index_section1 { padding-block: 12px; }
            .index_section1_bgBlock { height: 100%; border-radius: 12px; text-align: center; padding: 30px 8px; background: #1E336B; }
            .index_section1_bgBlock_title { color: #fff; margin-bottom: 16px; letter-spacing: 2px; font-size: 20px; }

            /* 倒數計時 */
            .index_countdown_block { background: linear-gradient(to right, #FF57B1, #A40B5D, #3E0423, #A40B5D, #FF57B1); background-size: 200% 100%; animation: countdownBg 3s ease-in-out alternate forwards infinite; }
            .index_countdown { display: flex; align-items: center; justify-content: center; text-align: center; gap: 8px; }
            .index_countdown ._time > ._value { color: #A40B5D; font-weight: 300; display: flex; align-items: center; justify-content: center; min-width: 72px; font-size: 48px; padding: 12px 15px; line-height: 1; margin-bottom: 4px; background: #fff; border-radius: 20px; }
            .index_countdown ._time > ._unit { color: #fff; font-size: 16px; }
            .index_countdown ._time > ._unit ._unit_short { display: block; font-weight: bold; }
            .index_countdown ._time > ._unit ._unit_full { display: none; font-size: 14px; margin-top: 2px; opacity: 0.9; }
            @keyframes countdownBg {
                0% { background-position: 0% 0; }
                100% { background-position: 100% 0; }
            }

            /* 快速連結 */
            .index_quickLink_block { background: #1E336B; }
            .index_quickLink_row { padding-inline: 32px; }
            .index_quickLink { width: 100%; font-size: 24px; font-weight: 400; gap: 10px; padding-inline: 8px; border-radius: 12px; height: 100px; }
            .index_quickLink > * { transition: 0.25s all; }
            .index_quickLink:hover > * { transform: translateY(-2px); }
            .index_quickLink > img { width: 48px; aspect-ratio: 1/1; }
            @media (min-width: 1200px) {
                /* 大螢幕：顯示完整單字，隱藏縮寫 */
                .index_countdown ._time > ._unit ._unit_short { display: none; }
                .index_countdown ._time > ._unit ._unit_full { display: block; }
            }
            @media (max-width: 1199.98px) {
                .index_countdown ._time > ._value { font-size: 36px; border-radius: 12px; padding: 8px 12px; }
                /* 中等螢幕：顯示縮寫，隱藏完整單字 */
                .index_countdown ._time > ._unit ._unit_short { display: block; }
                .index_countdown ._time > ._unit ._unit_full { display: none; }
                .index_quickLink_row { padding-inline: 15px; }
                .index_quickLink { height: 76px; font-size: var(--fs-h2); }
                .index_quickLink > img { width: 40px; }
            }
            @media (max-width: 767.98px) {
                .index_section1 { max-width: 540px; margin-inline: auto; }
            }
            @media (max-width: 575.98px) {
                .index_section1_bgBlock { padding: 15px 8px; }
                .index_section1_bgBlock_title { font-size: 18px; margin-bottom: 8px; }
                .index_countdown ._time > ._value { font-size: 32px; border-radius: 12px; }
                .index_countdown ._time > ._unit { font-size: 14px; }
                /* 小螢幕：顯示縮寫，隱藏完整單字 */
                .index_countdown ._time > ._unit ._unit_short { display: block; }
                .index_countdown ._time > ._unit ._unit_full { display: none; }
                .index_quickLink_row { padding-inline: 8px; }
                .index_quickLink { height: 50px; }
                .index_quickLink > img { width: 36px; }
            }

            .index_section2 { padding-block: 30px; }
            .index_section2_flex { display: flex; flex-direction: column; gap: 40px; } 
            @media (max-width: 767.98px) {
                .index_section2_flex { gap: 30px; } 
            }

            /* 重要日程 */
            .index_date_card { --height: 84px; display: flex; width: 100%; height: var(--height); background: #FFF8CA; gap: 15px; padding-right: 15px; border-radius: 100vmax; }
            .index_date_card > ._icon { display: flex; align-items: center; justify-content: center; height: var(--height); aspect-ratio: 1/1; padding: 20px; background: #FCDA0F; border-radius: 100vmax; }
            .index_date_card > ._icon::after { content: ''; flex-shrink: 0; display: block; width: 100%; height: 100%; background: url(../img/index/icon_date.svg) center center no-repeat; background-size: contain; }
            .index_date_card > ._content { display: flex; flex-direction: column; justify-content: center; }
            .index_date_card > ._content > ._date { font-weight: bold; }
            .index_date_card > ._content > ._text { font-weight: bold; }
            @media (max-width: 767.98px) {
                .index_date_card { --height: 50px; gap: 10px; padding-right: 10px; }
                .index_date_card > ._icon { padding: 8px; }
                .index_date_card > ._content { flex-direction: row; align-items: center; gap: 8px; }
            }

            /* 最新消息 */
            .index_news_card { display: flex; flex-direction: column; gap: 8px; background: var(--gray-f5); border-radius: 20px 0; padding: 30px; }
            .index_news_card > ._date { color: var(--gray-99); }
            .index_news_card > ._title { font-size: 20px; font-weight: bold; }
            .index_news_card > ._desc { }
            .index_news_card > ._more { font-size: 14px; align-self: flex-end; color: var(--gray-5c); margin-top: 4px; }
            @media (max-width: 1399.98px) {
                .index_news_card { padding: 20px; }
            }
            @media (max-width: 1199.98px) {
                .index_news_card { padding: 15px; }
            }


            /* 主題演講 */
            .index_speakers_block { display: flex; flex-direction: column; gap: 15px; text-align: center; }
            .index_speakers_block ._avatar { --def: url(../img/avatar_default.png); --bg: url(); flex-shrink: 0; margin-inline: auto; border-radius: 100vmax; width: 150px; aspect-ratio: 1/1; background: var(--bg), var(--def); background-size: cover; }
            .index_speakers_block ._name { font-size: 18px; font-weight: bold; }
            .index_speakers_block ._desc { font-size: 14px; margin-top: 4px; }
            .index_speakers_block ._more { font-size: 14px; margin-top: 12px; display: inline-block; color: var(--gray-5c); }
            @media (max-width: 575.98px) {
                .index_speakers_block { flex-direction: row; align-items: center; text-align: left; }
                .index_speakers_block ._avatar { width: 100px; }
                .index_speakers_block ._more { margin-left: auto; }
            }

            /* 合作單位 */
            fieldset.index_coop_legend_title { color: white; }
            .index_section_coop_bg { background-image: url(../img/index/organizer_bg.png); }
            .index_coop_row { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin-top: 16px; }
            .index_coop_block { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; width: 250px; padding: 15px 12px; background: #fff; border-radius: 20px 0; }
            .index_coop_block > ._icon { flex-shrink: 0; width: 80px; aspect-ratio: 1/1; display: flex; align-items: center; }
            .index_coop_block ._text > ._name { font-size: 18px; font-weight: bold; }
            .index_coop_block ._text > ._name_en { font-size: 14px; }
            .index_coop_main_row { display: flex; align-items: center; flex-wrap: wrap; }

            .index_coop_marquee { width: 100%; padding: 20px 40px; overflow: hidden; background: #fff; border-radius: 20px 0; }
            .index_coop_marquee .js-marquee { display: flex; }
            .index_coop_marquee ._content { display: flex; height: 100px; gap: 10px; margin-left: 30px; }
            .index_coop_marquee ._content > img { height: 100%; width: auto; object-fit: contain; }
            @media (max-width: 767.98px) {
                .index_coop_marquee { padding: 10px 15px; }
                .index_coop_marquee ._content { height: 90px; }
            }
            @media (max-width: 575.98px) {
                .index_section_coop_bg { background: #364C86; }
                fieldset.index_coop_legend_title > legend { margin-left: 0; padding-left: 0; }
                .index_coop_row { justify-content: flex-start; gap: 0px; margin-top: 12px; }
                .index_coop_block { width: 100%; flex-direction: row; background: transparent; gap: 15px; text-align: start; padding: 10px 0; color: white; }
                .index_coop_block > ._icon { margin-bottom: 0px; }
                .index_coop_marquee ._content { height: 80px; }
            }
            @media (min-width: 576px) {
                fieldset.index_coop_legend_title { border: 0; }
            }

            /* 立即報名 */
            .index_join_block { padding: 30px 0; background: linear-gradient(90deg, #A40B5D 0%, #2E328E 100%); color: white; }
            .index_join_block ._tw { font-size: 40px; }
            .index_join_block ._en { font-size: 30px; }
            .index_join_block ._btn { padding: 12px 24px; font-size: 20px; border-radius: 10px; white-space: nowrap; }
            @media (max-width: 1199.98px) {
                .index_join_block ._tw { font-size: 32px; }
                .index_join_block ._en { font-size: 24px; }
            }
            @media (max-width: 575.98px) {
                .index_join_block ._tw { font-size: 24px; text-align: center; }
                .index_join_block ._en { font-size: 20px; text-align: 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; }
            }


        /*=== 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); }


        /*=== contact_us.html ===*/
            .contactUs_row > * { max-width: 720px; margin-inline: auto; padding-block: .25rem; }
            .contactUs_mainTitleBlock { display: flex; align-items: center; justify-content: center; border-radius: 100vmax; padding: 1.5rem 0.5rem; text-align: center; color: white; height: 100%; background: url(../img/footer.png) center center no-repeat; background-size: cover; }
            .contactUs_listBlock > ._title { display: flex; align-items: center; border-radius: 100vmax 0 0 100vmax; padding: 4px; background: linear-gradient(90deg, #E9E9E9 0%, #FFF 100%); }
            .contactUs_listBlock > ._title > ._title-img { flex-shrink: 0; width: 80px; aspect-ratio: 1/1; border-radius: 100vmax; object-fit: contain; margin-right: 1rem; }
            .contactUs_listBlock > ._title > ._title-txt { flex-grow: 1; font-size: 18px; font-weight: bold; }
            .contactUs_listBlock > ._list { padding-left: 100px; }
            .contactUs_listBlock > ._list > ._list-item { display: flex; gap: 1rem; padding-block: 15px; }
            .contactUs_listBlock > ._list > ._list-item + ._list-item { border-top: 1px solid var(--gray-c7); }
            .contactUs_listBlock > ._list > ._list-item > *:first-child { width: 40%; }
            .contactUs_listBlock > ._list > ._list-item > *:last-child { width: 60%; word-break: break-all; }
            @media (max-width: 767.98px){
                .contactUs_listBlock > ._list { padding-inline: 8px; }
            }
            @media (max-width: 575.98px){
                .contactUs_mainTitleBlock { border-radius: 8px; }
                .contactUs_listBlock > ._title > ._title-img { width: 66px; }
                .contactUs_listBlock > ._list > ._list-item { padding-block: 12px; }
            }


        /*=== 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-d7); }

                .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% ); }
            }
            @media (max-width: 575.98px) {
                .news_table > thead > tr > th,
                .news_table > tbody > tr > td { font-size: 16px; }
            }


        /*=== 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-d7); 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-d7); 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); }

            .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-d7); 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-d7); } */
                .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;
}