/* =========================================
   
   全域調整
   
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

/* 設定頁首為固定樣式 */
#masthead {
	position: fixed !important;
    top: 0px;
    left: 0;
    width: 100%; 
    z-index: 9999;
    background-color: #ffffff !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); 
    transition: all ease 0.3s;
}

/* 登入後 WordPress Admin Bar 的遮擋問題 */
body.admin-bar #masthead {
    top: 32px;
    background-color: #ffffff !important;
}
@media screen and (max-width: 921px) {
    /* --- 修正手機版選單位置 --- */
    .ast-header-break-point .main-navigation .stack-on-mobile li {
        text-align: center;
    }
    .ast-builder-layout-element.ast-header-html-1 {
        padding: 20px 0 30px 0;
        justify-content: center;
    }
}
@media screen and (max-width: 782px) {
    body.admin-bar #masthead {
        top: 46px;
    }
}

/* (選用) 強制手機版 Admin Bar 固定在頂部 */
@media screen and (max-width: 600px) {
    #wpadminbar {
        position: fixed !important;
    }
}
body #masthead .menu-item {
    position: relative;
}
body #masthead .menu-item-220::after {
    content: "For International Participants Only";
    position: absolute;
    display: block;
    bottom: -25px;
    padding: 5px 8px;
    font-size: 12px;
    width: 200px;
    text-align: center;
    left:calc(50% - 100px);
    color: #fff;
    background: rgba(0,0,0,0.5);
    line-height: 100%;
    display: none;
    pointer-events: none;
}
body #masthead .menu-item-220:hover::after {
    display: block;
}
@media screen and (max-width: 921px) {
    body #masthead .menu-item-220::after {
        position: relative;
        display: block;
        bottom: auto;
        background: none;
        color:#333;
        top:-12px;
        width: 100%;
        left: 0;
        transition: all 0.3s ease;
    }
    body #masthead .menu-item-220:hover::after {
        background: var(--ast-global-color-5);
    }
}
@media screen and (min-width: 921px) {
    body #masthead .menu-link {
        font-size: 22px;
    }
    body.home #masthead {
        background: rgba(255,255,255,0) !important;
    }
    body.home #masthead .menu-link {
        color:#fff;
    }
    body.home #masthead .menu-link:hover {
        color:#4097ed
    }
    body.home #masthead.show-nav {
        background: rgba(255,255,255,0.7) !important;
    }
    body.home #masthead.show-nav .menu-link {
        color:#024991;
    }
    body.home #masthead.show-nav .menu-link:hover {
        color:#045cb4;
    }
    body.home #masthead.show-nav:hover {
        background: rgba(255,255,255,1) !important;
    }
}



.nav-hover-check {
    position: fixed;
    width: 100vw;
    height: 60px;
    left: calc( 50% - 50vw);
    top:0;
    left:0;
}

/* --- 隱藏頁首標題 --- */
.ast-logo-title-inline .ast-site-title-wrap {
    display: none;
}


/* 全域容器滿版 */
.site-content .ast-container {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
}

/* 自訂頁面容器滿版 */
.site-content .ast-container .custom-content {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    font-family:"Roboto","Noto Sans HK","Microsoft JhengHei",Arial;
}
.site-content .ast-container .custom-content .custom-container{
	position: relative;
    display: block;
    width: 90%;
    max-width: 1100px;
	margin: 0 auto;
}
.site-content .ast-container #primary {
    padding: 0 !important;
    margin: 0 !important;
}
@media screen and (max-width: 544px) {
    .site-content .ast-container {
        padding: 0 !important;
        margin: 0 !important;
    }
}
.site-footer {
    z-index: 99;
}

/* =========================================
   
   報名頁
   
   ========================================= */

.custom-content.home-content {
    background: #07005C;
}
.custom-content.home-content h2 {
    color: #fff;
}

.kv-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    left: calc(50% - 50vw);
    height: calc(100vh - 60px);
    min-height: 40vw;
}
.kv-container .kv-title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33%;
    height: 100%;
}
.kv-container-form {
    height: 30vw;
    padding: 60px 0 0 0;
}
.kv-container-form .kv-title {
    width: 25%;
}
.kv-container .kv-title .kv-title-img {
    width: 100%;
    height: 100%;
    left: 0;
    top:0;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
}
.kv-container .kv-title .kv-title-img img {
    position: absolute;
    top:calc(50% - 13vw)
}
@media screen and (max-width: 921px) {
    .kv-container {
        height: 100vw;
    }
    .kv-container .kv-title {
        width: 60%;
        height: calc(100% - 60px);
        top:60px;
        position: absolute;
    }
    .kv-container .kv-title .kv-title-img img {
        position: absolute;
        top: calc(50% - 25vw);
    }
    .kv-container-form {
        height: 60vw;
    }
    .kv-container-form .kv-title {
        width: 40%;
        height: calc(100% - 60px);
        top:60px;
        position: absolute;
    }
    .kv-container-form .kv-title img {
        position: absolute;
        top: calc(50% - 15vw);
    }
}
.kv-container .kv-bg1 {
    position: fixed;
    display: block;
    width: 45%;
    height: 100%;
    background: url('https://tigc.tw/wp-content/uploads/2026/01/kv_bg1.jpg') no-repeat 0 0;
    background-size: contain;
    left: 0;
    top:0;
}
.kv-container .kv-bg2 {
    position: fixed;
    display: block;
    width: 75%;
    height: 100%;
    background: url('https://tigc.tw/wp-content/uploads/2026/01/kv_bg2.jpg') no-repeat bottom right;
    background-size: contain;
    right: 0;
    bottom: -10vw;
}
.intro-container {
    position: relative;
    display: block;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 60px;
}
.intro-container h3 {
    font-size: 24px;
    line-height: 150%;
    margin-bottom: 5px;
    font-weight: 700;
    background: none;
    color:#fcc038;
}
.intro-container p {
    font-size: 20px;
    line-height: 180%;
    color: #fff;
    
}
.intro-container p.intro-textbox {
    padding: 0 0 0 20px;
}
.intro-container p .yellow {
    color:#fcc038;
    position: absolute;
    left: 0px;
    font-size: 12px;
}

/* 外容器樣式 */
.info-container {
    color: #ffffff;
    padding: 40px;
    max-width: 600px;
    margin: 20px auto;
    text-align: center;
    border-radius: 8px;
    font-size: 16px;
}

/* 標題 (Day 1, Day 2) */
.info-title {
    font-size: 2em;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 1px;
    color:#fff;
}

/* 資訊內容量 (日期與時間) */
.info-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.7em;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

/* 日期強調色 */
.info-date {
    color: #f1d365; /* 金黃色 */
    font-size: 2em;
    font-weight: 700;
}
.info-container-en .info-date{
    font-size: 1.5em;
}

/* 星期樣式 (圓圈外框) */
.info-weekday {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1.8em;
    height: 1.8em;
    background:  #f1d365;
    border-radius: 50%;
    font-size: 1.2em;
    font-weight: 700;
    vertical-align: middle;
    margin: 0 10px 0 0;
    color: #07005c;
}

/* 時間樣式 */
.info-time {
    font-size: 1.8em;
    font-weight: 700;
}

/* 分隔線 */
.info-divider {
    border: none;
    border-top: 1px solid #ffcc45;
    margin: 30px 0;
    width: 100%;
}

/* 地點樣式 */
.info-location {
    font-size: 1.5em;
    margin: 0;
    letter-spacing: 0.5px;
    line-height: 150%;
}
.info-note-en{
    font-size: 1.2em;
}
.info-location-en {
    font-size: 1.2em;
}

/* 手機版適應 */
@media (max-width: 782px) {
    .info-container {
        font-size: 2.3vw;
    }
    .info-location-en {
        font-size: 1em;
        letter-spacing: 0;
    }
    .info-note-en{
        font-size: 1em;
        letter-spacing: 0;
    }
}

.form-content {
    position: relative;
	margin: 20px 0;
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    z-index: 9;
}
.form-term-box {
	position:relative;
	padding:20px;
	background:#f1f1f1;
	width:100%;
	margin: 30px auto 0 auto;
	border:1px solid #eee;
	border-radius:10px;
	max-height: 350px;
	overflow-y: scroll;
}
.form-term-box h4 {
	font-size:18px;
	line-height:150%;
	margin: 0 0 15px 0;
}
.form-term-box h5 {
	font-size:15px;
	line-height:150%;
	font-weight:500;
}
.form-term-box p {
	font-size:13px;
	line-height:180%;
	font-weight:400;
}
.form-additional-option1 .ff-el-input--label::after,
.form-additional-option2 .ff-el-input--label::after,
.form-additional-option3 .ff-el-input--label::after {
	position: relative;
	display: block;
	font-size: 13px;
	line-height: 150%;
}
.form-additional-option1 .ff-el-input--label::after {
	content: "Full.";
    color:#ff0000;
}
.form-additional-option3 .ff-el-input--label::after {
	content: "Full.";
    color:#ff0000;
}
.form-note-content {
    padding: 35px 0px;
    width: 90%;
    margin: 0 auto;
}
.form-note-content h4 {
    padding: 0 0 8px 0;
}
.form-note-container {
    font-size: 13px;
    line-height: 180%;
    position: relative;
    margin-left: 15px;
}
.form-note-content li {
    margin: 0 0 5px 0;
}
.form-additional-option1 .ff-el-input--content {
    display: none;
}
.form-additional-option3 .ff-el-input--content {
    display: none;
}
.frm-fluent-form .ff-t-container[data-name='ff_cn_id_2'] {
    flex-direction: column;
    gap:0;
    margin-bottom: 20px;
}
.fluentform .ff-el-group.cgs_field .ff-el-input--content{
    display: none;
}
.fluentform .ff-el-group.cgs_field::after {
    content: "額滿";
    color:#ff0000;
}
.ff-t-container[data-name='ff_cn_id_2']::before {
    content: "2. Conventional Geothermal System (CGS) Workshop Speaker (March 27) (Please select a maximum of two topics.)";
    display: block;
    font-weight: 500;
    line-height: inherit;
    margin-bottom: 0;
    color: #111827;
    font-size: 14px;
}
.ff-t-container[data-name='ff_cn_id_2'] .ff-t-cell::before {
    content: "Full.";
    position: relative;
	display: block;
	font-size: 13px;
	line-height: 150%;
    padding-bottom: 5px;
    color:#ff0000;
}
.ff-t-container[data-name='ff_cn_id_2'] .ff-el-group {
    margin-bottom: 0px;
    display: none;
}
.ff-t-container[data-name='ff_cn_id_2'] .ff-el-group.has-conditions {
    margin-bottom: 10px;
}

/* 外容器 */
.addition-container {
    color: #ffffff;
    padding: 60px 20px;
    text-align: center;
}

/* 上方時間區 */
.addition-header {
    margin-bottom: 40px;
    line-height: 1.8;
}

.addition-time-row {
    font-size: 24px;
    display: block;
    letter-spacing: 1px;
}

.addition-label {
    font-weight: bold;
    margin-right: 15px;
}

/* 卡片群組佈局 */
.addition-card-group {
    /*display: flex;*/
    display: none;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto 40px auto;
}

/* 單一黃色卡片樣式 */
.addition-card {
    background-image: linear-gradient(to right, #ffbec9 0%, #ffcbbd  51%, #FFAFBD  100%);
    color: #000033; /* 深藍黑色文字 */
    padding: 25px 30px;
    min-width: 280px;
    flex: 1;
    border-radius: 4px;
    cursor: pointer;
}
.addition-card:hover {
    background-image: linear-gradient(to right, #ffbec9 0%, #ffeee9  51%, #FFAFBD  100%);
}

.addition-card-room {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 10px;
}
.page-id-134 .addition-card-room {
    font-size: 24px;
}
.addition-card-topic {
    font-size: 20px;
    font-weight: bold;
    white-space: nowrap;
}
/*
.addition-schedule {
    display: none;
}
.addition-schedule.active {
    display: block;
}*/

.addition-schedule .schedule-content{
    text-align: left;
}
.addition-schedule .schedule-row .schedule-org {
    line-height: 180%;
    font-size: 1em;
}
.schedule-row sub{
    font-size: 0.8em;
    line-height: 1em;
    margin-top: 0.5em;
    font-weight: 500;
}
.schedule-row .panelists {
    font-size: 1em;
    display: block;
    width: 100%;
}
.schedule-row .panelists .panelist {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}
.schedule-row .panelists .panelist span {
    display: inline-block;
}
.schedule-row .panelists .panelist .t1{
    width: 1.5em;
}
.schedule-row .panelists .panelist .t2{
    width: calc(100% - 1.5em);
}
.addition-schedule-close-btn {
    position: absolute;
    right: 15px;
    top:32px;
    width: 30px;
    height: 30px;
    background: #333;
    color:#fff;
    border-radius: 3px;
    cursor: pointer;
    display: none;
}

/*.addition-schedule .schedule-grid {
    display: none;
}
.addition-schedule[data-schedule="1"] .schedule-grid1 {
    display: flex;
}
.addition-schedule[data-schedule="2"] .schedule-grid2 {
    display: flex;
}
.addition-schedule[data-schedule="3"] .schedule-grid3 {
    display: flex;
}*/

/* 下方備註區 */
.addition-footer {
    display: block;
    padding-bottom: 5px;
    margin-top: 20px;
}

.addition-note {
    font-size: 15px;
    color: #b6def2;
    margin: 0;
    letter-spacing: 0.5px;
    text-align: center;
}

/* RWD 手機版調整 */
@media (max-width: 768px) {
    .addition-card {
        min-width: 100%;
    }
    .addition-time-row {
        font-size: 20px;
    }
    .addition-card-topic {
        white-space: normal;
        font-size: 18px;
    }
}

/* 外容器 */
.map-container {
    color: #ffffff;
    padding: 60px 20px;
    text-align: center;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}
.map-container iframe {
    width: 100%;
    max-width: 1000px;
}
.map-text {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 15px 0;
}
.map-container-en .map-text {
    flex-direction: column;
}
.map-text .t1 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 45px;
    line-height: 150%;
    margin: 0 10px;
}
.map-text .t1::before {
    content: "";
    position: relative;
    display: block;
    width: 25px;
    height: 45px;
    background:url('https://tigc.tw/wp-content/uploads/2026/01/map_icon.png') no-repeat center center;
    background-size: contain;
    margin: 0 10px 0 0;
}
.map-container-en .t1 {
    font-size: 1.2rem;
}
.map-container-en .t2 {
    font-size: 1rem;
}
.map-text .t2 {
    position: relative;
    display: block;
    font-size: 30px;
    line-height: 100%;
    padding: 15px 0;
    line-height: 150%;
}
@media (max-width: 900px) {
    .map-text .t1::before {
        display: none;
    }
    .map-text {
        flex-direction: column;
    }
    .map-text .t1 {
        font-size: 35px;
    }
    .map-text .t2 {
        font-size: 25px;
    }
}
@media (max-width: 500px) {
    .map-text .t1 {
        font-size: 25px;
    }
    .map-text .t2 {
        font-size: 18px;
    }
}

.logo-container {
    position: relative;
    display: block;
    width: 100vw;
    left: calc(50% - 50vw);
    padding: 80px 0;
    background: #fff;
    z-index: 99;
}
.logo-img {
    position: relative;
    display: block;
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}
.logo-container dl{
    position: relative;
    display: none;
    justify-content: flex-start;
    align-items: flex-start;
}
.logo-container dl dt {
    color: #fff;
    padding: 0 10px 0 0;
    flex: 0 0 130px;
    font-weight: 300;
    border-right: 1px solid #fff;
}
.logo-container dl dt span {
    position: relative;
    display: block;
}
.logo-container dl dt .t1 {
    font-size: 25px;
    line-height: 100%;
}
.logo-container dl dt .t2 {
    font-size: 15px;
    line-height: 100%;
    margin: 3px 0 0 0;
}
.logo-container dl dd {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 0 0 0 15px;
    
}
.logo-container dl dd span {
    position: relative;
    display: block;
    margin: 0 35px 30px 10px;
}
.logo-container dl dd img {
    height: 50px;
    width: auto;
}
.logo-container-en dl dt .t1{
    display: none;
}
.logo-container-en dl dt .t2 {
    font-size: 20px;
}
@media (max-width: 800px) {
    .logo-container {
        padding: 10vw 0;
    }
    .logo-container dl{
        margin: 0 auto;
        
    }
    .logo-container dl dt{
        border-right: 0px;
        border-bottom:1px solid #fff;
        margin: 0 0 30px 0;
        padding-bottom: 10px;
    }
    .logo-container dl dd {
        margin: 0 0 20px 0;
    }
    .logo-container dl dd span {
        width: 40%;
        height:40px;
        margin: 0 5% 30px 5%;
    }
    .logo-container dl.logo-block1 dd span {
        width: 90%;
    }
    .logo-container dl dd img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

/* 容器基本設定 */
.schedule-container {
    color: #222; /* 白字 */
    line-height: 1.5;
    padding: 20px 0;
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    border-radius: 20px;
    font-weight: 500;
    line-height: 180%;
    font-size: 16px;
}

.schedule-container * {
    box-sizing: border-box;
}

/* 頁首 */
.sub-header-title {
    text-align: center;
    margin-bottom: 10px;
    padding: 10px;
    font-size: 24px;
    color: #ffffff;
    font-weight: 500;
}

/* 標題條樣式 */
.schedule-section-bar {
    background-image: linear-gradient(to right, #ffbec9 0%, #ffcbbd  51%, #FFAFBD  100%);
    color: #000000; /* 黑字 */
    text-align: center;
    font-weight: 700;
    padding: 15px;
    font-size: 22px;
    margin-bottom: 3px;
    border-radius: 8px;
}

.main-title-bar {
    font-size: 2.5rem;
    margin-bottom: 5px;
    font-weight: 900;
    background: none;
    color:#fcc038;
    text-align: center;
}

/* 議程網格系統 (通用) */
.schedule-grid {
    display: flex;
    flex-direction: column;
    margin-bottom: 3px;
    background: #fff;
    border-radius: 8px;
    font-size: 18px;
}

.schedule-row {
    display: flex;
    padding: 20px 0;
    width: calc(100% - 30px);
    margin: 0 auto;
    border-bottom: 1px solid #e6b7d4;
}
.schedule-row:last-child {
    border-bottom:0px;
}
/* 時間欄位 */
.schedule-time {
    flex: 0 0 140px; /* 固定寬度 */
    font-weight: bold;
}

/* 內容欄位 */
.schedule-content {
    flex: 1; /* 佔據剩餘空間 */
    padding-right: 20px;
}

/* 機構/講者欄位 */
.schedule-org {
    flex: 0 0 300px; /* 固定寬度 */
    text-align: right;
}

.schedule-full-width {
    flex: 1;
}

/* 主題一特殊佈局 (左邊一個時間，右邊多行列表) */
.schedule-topic-one-grid {
    display: flex;
    flex-direction: row;
    padding: 10px 15px;
}

.schedule-time-column {
    flex: 0 0 140px;
    font-weight: bold;
    justify-content: flex-start;
    align-items: center;
    display: flex;
}

.schedule-list-column {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.schedule-list-item {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #e6b7d4;
    padding: 20px 0;
}
         
.schedule-list-item:last-child {
    border-bottom:0px;
}

.schedule-list-item .schedule-topic {
    flex: 1;
}

.schedule-list-item .schedule-org {
    text-align: right;
    flex: 0 0 300px;
}

/* 中場休息 */
.schedule-break-line {
    border-top: 1px solid rgba(255,255,255,0.5);
    border-bottom: 1px solid rgba(255,255,255,0.5);
    padding: 15px;
    text-align: center;
    margin: 5px 0;
    display: flex;
    justify-content: center;
    color:#fff;
}
.schedule-break-time {
    flex: 0 0 140px;
    text-align: left;
}
.schedule-break-content {
    display: block;
    text-align: center;
    flex: 1 0 auto;
}

/* RWD 響應式設計 (手機版) */
@media (max-width: 768px) {
    .schedule-header h1 {
        font-size: 1rem;
    }

    /* 將橫向排列改為直向堆疊 */
    .schedule-row {
        flex-direction: column;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        padding: 15px;
        border-bottom:1px solid #ccc;
    }

    .schedule-time {
        margin-bottom: 5px;
        color: #aaa; 
        font-size: 0.9rem;
		flex:0 0 30px;
    }
    
    .schedule-content {
        margin-bottom: 5px;
        font-weight: bold;
        padding-right: 0;
    }

    .schedule-org {
        text-align: left; /* 手機版靠左對齊 */
        font-size: 0.9rem;
        color: #aaaaaa;
    }

    /* 主題一的手機版調整 */
    .schedule-topic-one-grid {
        flex-direction: column;
    }
    
    .schedule-time-column {
        margin-bottom: 10px;
        border-bottom: 1px dashed rgba(255, 255, 255, 0.2);
        padding-bottom: 5px;
		flex:0 0 30px;
    }

    .schedule-list-item {
        flex-direction: column;
        margin-bottom: 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 10px;
    }
    
    .schedule-list-item:last-child {
        border-bottom: none;
    }
	.schedule-org {
		flex: 0 0 auto;
	}
    .schedule-list-item .schedule-org {
        text-align: left;
        margin-top: 5px;
        flex: 0 0 auto;
    }
	.schedule-break-line {
		flex-direction: column;
		gap:0;
	}
	.schedule-break-time {
		flex: 0 0 30px;
	}
	.schedule-break-content {
		text-align: left;
	}
}



/* =========================================
   
   報名驗證欄位
   
   ========================================= */
.registration-lookup-container {
	padding:20px 0 !important;
}
.registration-lookup-box {
	margin:0 0 20px 0;
}
.registration-lookup {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
}
.registration-lookup input {
	flex:1 0 300px;
	margin:0 15px 0 0;
}
.registration-lookup button {
	width:100px;
	margin:15px 0;
}
#lookup-result {
	margin-top:20px;
}
@media screen and (max-width: 600px) {
	.registration-lookup-box {
		display:block !important;
	}
	.registration-lookup-box .is-layout-flex {
		flex-direction:column;
	}
	.registration-lookup {
		display:block;
		position:relative;
		width:100%;
	}
	.registration-lookup input {
		width:100%;
		margin:0;
	}
	.registration-lookup button {
		position: relative;
		margin: 15px auto;
		display: block;
	}
}

.ff-message-success {
    background: #cef;
}
#footer-thankyou {
    display: none !important;
}

                 
.sign-up-box {
    position: relative;
    display: block;
    width: 100vw;
    left: calc(50% - 50vw);
    /*background-image: linear-gradient(to right, #24C6DC 0%, #514A9D  51%, #24C6DC  100%);*/
    padding: 50px 0;
    display: none;
}
          
.sign-up-btn {background-image: linear-gradient(to right, #DD5E89 0%, #F7BB97  51%, #DD5E89  100%)}
.sign-up-btn {
    margin: 50px auto;
    width: 280px;
    padding: 25px 45px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;            
    border-radius: 10px;
    display: block;
    font-size: 1.5rem;
    font-weight: 500;
    box-shadow: 2px 5px 5px rgba(0, 0, 0, 0.3);
}

.sign-up-btn:hover {
    background-position: right center; /* change the direction of the change here */
    color: #fff;
    text-decoration: none;
}

.side-cta-box {
    position: fixed;
    right: 10px;
    bottom: 10vw;
    z-index: 99;
    display: none;
}
.side-cta {background-image: linear-gradient(to right, #DD5E89 0%, #F7BB97  51%, #DD5E89  100%)}
.side-cta {
    width: 80px;
    padding: 15px;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s;
    background-size: 200% auto;
    color: white;
    border-radius: 10px;
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 130%;
    box-shadow: 2px 5px 5px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.side-cta:hover {
    background-position: right center; /* change the direction of the change here */
    color: #fff;
    text-decoration: none;
}
.side-cta-box-en .side-cta{
    width: 120px;
    font-size: 1em;
}


/* --- KV 主視覺進場初始狀態 --- */
.kv-bg1 { transform: translateX(-50px); opacity: 0; transition: all 1.2s ease-out; }
.kv-bg2 { transform: translateX(50px); opacity: 0; transition: all 1.2s ease-out; }
.kv-t1 { transform: translateX(-30px); opacity: 0; transition: all 0.8s ease-out 0.4s; }
.kv-t2 { transform: translateX(30px); opacity: 0; transition: all 0.8s ease-out 0.6s; }
.kv-t3 { transform: translateY(30px); opacity: 0; transition: all 0.8s ease-out 0.8s; }
.kv-t4 { transform: translateY(60px); opacity: 0; transition: all 0.8s ease-out 1.0s; }

/* KV 進場後狀態 */
.kv-container.is-visible .kv-bg1,
.kv-container.is-visible .kv-bg2 { transform: translateX(0); opacity: 1; }
.kv-container.is-visible .kv-t1,
.kv-container.is-visible .kv-t2,
.kv-container.is-visible .kv-t3,
.kv-container.is-visible .kv-t4 { transform: translateY(0); opacity: 1; }

/* --- 滾動淡入通用樣式 --- */
.reveal-hidden {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.reveal-active {
    opacity: 1 !important;
    transform: translateY(0) !important;
}


/* --- 404 --- */
body.error404 #masthead {
    display: none !important;
}
body.error404 .site-footer {
    display: none !important;
}



.logolist-container {
    position: relative;
    display: block;
    width: 90vw;
    left: calc(50% - 45vw);
    padding: 80px 0;
    z-index: 99;
    padding: 3em 0;
    font-size: 16px;
}
.logolist-maintitle {
    position: relative;
    font-size: 1.5em;
    line-height: 150%;
    color: #fcc038;
    text-align: center;
    font-weight: 500;
}
.logolist-content {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 1100px;
    margin: 1em auto 0 auto;
    font-size: 1em;
    flex-wrap: wrap;
    gap: 1.5em;
    background: #fff;
    flex-direction: column;
    border-radius: 1em;
    padding: 2em;
}
.logolist {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}

.logolist .logolist-title {
    position: relative;
    height: 4em;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 18px;
    line-height: 130%;
    color: #222;
    flex-direction: column;
    padding: 0 0.7em 0 0.7em;
    flex: 0 0 170px;
}
.logolist .logolist-title::after {
    content: "";
    position: absolute;
    display: block;
    width: 3px;
    height: 2.4em;
    background: #47ace1;
    right: 0;
    top:calc(50% - 1.2em);
}
.logolist .logolist-title .t1 {
    font-size: 1em;
    text-align: right;
}
.logolist .logolist-title .t2 {
    font-size: 1em;
    text-align: right;
}
.logolist .logolist-imgs {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5em;
    flex-wrap: wrap;
    padding: 0 0 0 1em;
}
.logolist .logolist-img img{
    position: relative;
    width: auto;
    height: 4em;
    -webkit-transition: -webkit-transform 0.2s ease;
    transition: transform 0.2s ease;
    -webkit-transform: scale(1);
    transform: scale(1);
    
}
.logolist .logolist-img.l-img img{
    height: 5em;
}
.logolist .logolist-img:hover img{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

@media (max-width: 1100px) {
    .logolist-content {
        padding: 1em 1em 1em 0;
    }
    .logolist .logolist-title {
        flex: 0 0 150px;
        font-size: 0.9em;
        height: 3em;
    }
    .logolist .logolist-img img{
        height: 3em;
    }
    .logolist .logolist-img.l-img img{
        height: 3.5em;
    }
}
@media (max-width: 800px) {

}

.live-container{
    margin: 60px auto;
    font-weight: 500;
}
.live-container a{color: #f1d365;}
.live-container h3 span {
    font-size: 0.8em;
}
.live-container .info-content .info-date{
    font-size: 1.4em;
}