/********** 2026台灣因果推論研討會Taiwan Causal Inference Symposium(CI)**********/
/********** 未使用的部分**********/
@font-face {
font-family: 'NotoSansTC-Thin';
src: url("../Gfont/TC/NotoSansTC-Thin.otf")format("opentype");
}
@font-face {
font-family: 'NotoSansTC-Light';
src: url("../Gfont/TC/NotoSansTC-Light.otf")format("opentype");
}
@font-face {
font-family: 'NotoSansTC-Regular';
src: url("../Gfont/TC/NotoSansTC-Regular.otf")format("opentype");
}
@font-face {
font-family: 'NotoSansTC-Medium';
src: url("../Gfont/TC/NotoSansTC-Medium.otf")format("opentype");
}
@font-face {
font-family: 'NotoSansTC-Bold';
src: url("../Gfont/TC/NotoSansTC-Bold.otf")format("opentype");
}
@font-face {
font-family: 'NotoSansTC-Black';
src: url("../Gfont/TC/NotoSansTC-Black.otf")format("opentype");
}



.text-primary {
    color: #495591 !important;/*深綠藍*//*#ffeb02黃*/

}
.text-ltgreenblue {
    color: #4fd1c7 !important;/*淺綠藍*/
}

.text-yellow {
    color: #cb9913;/*鵝黃*/
}
.text-grayellow {
    color: #ffc159;/*灰黃*/
}
.text-purple {
    color: #433e76 !important;/*中深灰紫*/
}

.text-ltpurple {
    color: #cad1ee !important;/*淺灰紫*/
}
.text-ltgray {
    color: #d2d2d4 !important;/*淺灰*/
}
.text-grblue {
    color: #6487a1 !important;/*灰藍*/
}
.text-pink {
    color: #f5a6a6 !important;/*深粉紅*//*#ffeb02黃*/
}
.text-color {
  background: linear-gradient(90deg, #ff8fc7 0%, #ffe680 45%, #ffffff 75%, #5c93e5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}/*彩色漸層，粉紅、黃、白、天藍*/

.text-gold-gradient {
    background: linear-gradient(
        90deg,
        #aa771c 0%,
        #fcf6ba 45%,
        #bf953f 70%,
        #aa771c 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}/*金色漸層*/

.text-gold-gradient2 {
    background: linear-gradient(
        122deg,
        #e4c48c 0%,
        #faf8e3 25%,
        #fcf6ba 45%,
        #bf953f 70%,
        #aa771c 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}/*金色漸層(較淡)*/


.text-m-small {
    font-size: 0.8em;
}
.text-small {
    font-size: 0.7em;
}
.text-smaller {
    font-size: 0.6em;
}
.text-Interbold700{
     font-family: 'Inter', sans-serif; font-weight: 700;
}

.text-justify {
    text-align: justify;
  }

.btn-primary {
    background-color: #f9a6a5 !important;
    border-color: #f9a6a5;
} 
.btn-reg {
    background-color:#DBD26B;
    background: linear-gradient(337deg,rgba(219, 210, 107, 0.58) 0%, rgba(249, 166, 165, 0.91) 81%);
    border-color: #e5d69c91;
    font-weight: 700;
    transition: .5s;
    color: #3f0f44;
} 

.btn-activity{
   font-size: 1.1rem;
   font-weight: bold;
   text-decoration: none;
   color: #f0ecec;
    background-color: #6a7198;
    border-radius: 30rem !important;
    padding: 0px 15px 8px 15px;
    display: inline-block;
}
.btn-activity .smaller{
 font-size: 0.8rem;
}
.bg-gold{
    background: linear-gradient(105deg,rgba(73, 56, 62, 1) 0%, rgba(176, 131, 53, 1) 24%, rgba(252, 239, 186, 1) 42%, rgba(156, 129, 101, 1) 66%, rgba(73, 56, 62, 1) 82%, rgba(105, 86, 63, 1) 100%);
}
.bg-gold-2{
    background:linear-gradient(135deg, #bf953f, #fcf6ba, #b38728, #49383e, #aa771c);
}
.bg-gold-3{
    background:linear-gradient(90deg, #49383e 0%, #aa771c 25%, #fcf6ba 50%, #f4eebd 55%, #bf953f 80%, #49383e 100%);/*垂直角度(90deg)*/
}

.bg-purple {
    background-color: #755daf !important;
}  
.bg-lipurple {
    background-color: #e3e9fd !important;
}
.bg-secondary {
    background-color: #54a4ba !important; 
}   
.bg-dark {
    background-color: #4a436a !important;/*藍灰綠*/
}
.bg-gray {
    background-color: #8b8484 !important;
}
/*淺藍* #b1bfdc  #a9b9e4/
.bg-miblue {
    background-color: #e5eaf9 !important;
}
/*淺粉紅*/
.bg-pink {
    background-color: #EEAECA !important;
}

.bg-light {
    background-color: #7cc3c7 !important;/*淺藍綠*/
}
.bg-green {
    background-color: #2bad1a !important;/*綠*/
}
.bg-blgreen {
    background-color: #17bf92 !important;/*藍綠*/
}
.bg-dkblue {
    background-color: #0f47bf !important;/*深藍*/
}
.bg-miblue {
    background-color: #8db2bb !important;/*淺藍*/
}

.bg-cloudblue {
    background-color: #80b9fd !important;/*天藍*/
}

.bg-dkro {
    background-color: #e0503a !important;/*深橘紅*/
}
.bg-or {
    background-color: #ff8040 !important;/*深橘*/
}
.bg-pink {
    background-color: #fd85be !important;/*粉紅*/
}
.bg-yellow {
    background-color: #d78f2b !important;/*鵝黃*/
}
.bg-brown{
    background-color: #8e613f !important; /*土咖*/
}
.bg-transp{
    background-color: #ffffff00 !important; /*土咖*/
}




.bg-lightgradient {
    --bs-bg-opacity: 1;
    background: radial-gradient(circle,rgba(238, 174, 202, 1) 27%, rgba(148, 222, 233, 1) 100%);
}
.bg-lightgradient-2 {
    --bs-bg-opacity: 1;
    background: linear-gradient(to top, #f8f9fa 70%, #6a555d 100%) !important;
}
.bg-lightgradient-3{
    background:linear-gradient(180deg, rgb(233 174 193) 0%, rgb(194 175 208) 22%, rgb(255 255 255) 45%, rgb(252 247 236) 75%);
}

.bg-darkgradient{
    background:linear-gradient(180deg,rgba(198, 131, 167, 1) 0%, rgba(187, 158, 187, 1) 11%, rgba(175, 186, 208, 1) 22%, rgba(240, 252, 255, 1) 49%, rgba(255, 255, 255, 1) 55%);
}

.bg-lightgradient-4 {
    --bs-bg-opacity: 1;
    background: radial-gradient(circle, rgb(251 248 237) 27%, rgb(141 178 187) 100%);
}

.bg-lightgradient-5 {
    --bs-bg-opacity: 1;
    background: radial-gradient(circle, rgb(251 248 237) 27%, #cc9f9f 100%);
}




.border-primary {
    border-color: #e2ce46 !important;/* 金黃 */
}
.border-secondary {
    border-color: #4e578a !important;
}
.border-third {
    border-color: #2e8296 !important;
}

.icon-red {
    color: #b66f6f; /* 灰暗紅 */
}
.icon-dkred {
    color: #b22222; /* 深紅 */
}

.icon-orange {
    color: #d2691e; /* 橘褐 */
}

.icon-yellow {
    color: #d4a017; /* 金黃 */
}

.icon-green {
    color: #2e8b57; /* 海綠 */
}

.icon-teal {
    color: #008080; /* 藍綠 */
}

.icon-blue {
    color: #1e6fd9; /* 藍色 */
}

.icon-navy {
    color: #26314e; /* 深藍 */
}

.icon-purple {
    color: #755daf; /* 紫色 */
}

.icon-pink {
    color: #d87093; /* 粉玫瑰 */
}

.icon-brown {
    color: #8b5e3c; /* 棕色 */
}

/**********  CSS **********/
body {
    background-color: #2f2d44;
}
a {
    color: #d0726c;/*紅*/ /*#fddf0d黃*/
}
a:hover {
    color: #d77c1e;
}
p {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

:root {
    --primary: #f9a6a5;/*粉紅*/  /*#ffeb02黃色*/
    --secondary: #FFF0E6; /*膚色*/
    --light: #F8F8F9;   /*淡灰藍色*/
    --dark: #001D23;    /*深灰藍色*/
    --ltpurple:#cad1ee;/*淺紫色*/
    --purple:#6a749bb5 ;/*中紫灰*/
    --dkpurple:#42324a ;/*紫深*/
    --seccess: #FF6F0F;  /*橘色*/
}

.back-to-top {
    position: fixed;
    display: none;
    right: 30px;
    bottom: 30px;
    z-index: 99;
}

.brand-title { 
    font-family: 'Saira', sans-serif;
    font-weight: 700;
    letter-spacing: .04em; 
    line-height: 1.2;
}
.navbar-brand{
    padding: 0px; 
}
.site-nav__year {
    color: #e98d88;
}
.site-nav__name {
    color: #fff;
    margin-left: .35rem;
}

/*粗分隔線 中間*/
.section-divider { 
    width: 72px; 
    height: 3px; 
    margin: 0 auto 1.5rem; 
    background: #e1b131; 
    border-radius: 999px; 
}

/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}


/*** Button ***/
.btn {
    font-weight: 500;
    transition: .5s;
}

.btn.btn-primary,
.btn.btn-outline-primary:hover {
    color: #5b509b;
}

.btn.btn-primary:hover {
    color: var(--primary);
    background: transparent;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

/* ========================================
   TCIS Custom Buttons
   ======================================== */

/* Common button style */
.btn-tcis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 1.9em;
    padding: 0 0.75em;
    /*min-height: 1.85em;按鈕高度需連同字體大小一起設定*/
    /*padding: 0.05em 0.7em;按鈕高度需連同字體大小一起設定*/
    font-size: 0.95em;/*按鈕高度需連同字體大小一起設定*/
    font-weight: 600;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    border-radius: 50em;
    transition: all 0.2s ease;
}


/* Gold Gradient */
.btn-tcis-gold {
    color: #3f3040;
    border: 1px solid #7376a566;
    background: linear-gradient(
        105deg,
        #aa771c 0%,
        #bf953f 25%,
        #fcf6ba 50%,
        #bf953f 75%,
        #aa771c 100%
    );
}

.btn-tcis-gold:hover {
    color: #2f2d44;
    filter: brightness(1.08);
}


/* Purple */
.btn-tcis-purple {
    color: #ffffff;
    border: 1px solid #8d77bd;
    background: linear-gradient(
        135deg,
        #755daf 0%,
        #5c4b8d 100%
    );
}

.btn-tcis-purple:hover {
    color: #ffffff;
    filter: brightness(1.1);
}


/* Pink */
.btn-tcis-pink {
    color: #49383e;
    border: 1px solid #f9a6a5;
    background: linear-gradient(
        135deg,
        #f9a6a5 0%,
        #f4c4bd 100%
    );
}

.btn-tcis-pink:hover {
    color: #49383e;
    filter: brightness(1.05);
}



/*** Navbar ***/
.fixed-top {
    transition: .5s;
}



.top-bar {
    height: 25px;
    border-bottom: 1px solid #9b7137;
    background: linear-gradient(
        135deg,
        #a1cece 0%,   /* 左上角基調 */
        #a1cece 25%,  /* 暗面沉澱 */
        #e5f1f1 45%,  /* 強烈高光反射點 1 */
        #bbdada 55%,  /* 中度暗面 */
        #8db2bb 70%,  /* 次級高光反射點 2 */
        #4d5083 100%  /* 右下角深色陰影 */
    );
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;
}

.navbar .navbar-nav .nav-link {
    margin-right: 30px;
    padding: 30px 0 10px; /*25px 0*/
    color: #FFFFFF;
    font-weight: 500;
    outline: none;
}

.navbar .navbar-nav .nav-link:hover {
    border-bottom: 5px  solid #e2ce46;
}
.nav-link.active {
     border-bottom: 5px  solid #e2ce46;

}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
    color: var(--ltpurple);

}
.navbar{
    font-family: 'Noto Sans TC', sans-serif;
    background-color: #3e487ade; 
    }

@media (max-width: 991.98px) {
    .navbar .navbar-nav {
        margin-top: 10px;
        border-top: 1px solid rgba(0, 0, 0, .07);
        background: var(--purple);
    }

    .navbar .navbar-nav .nav-link {
        padding: 10px 0;
        border-bottom: 2px #6e546e dotted;
    }
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        transition: .5s;
        opacity: 0;
    }

    .navbar .nav-item:hover .dropdown-menu {
        transform: rotateX(0deg);
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}


/*****2026新選單********/
 .nav-toggle {
            display: none;
        }
        .nav-toggle-btn {
            display: none;
            margin-left: auto;
            margin-right: 1rem;
            color: #fff;
            font-size: 1.5rem;
            line-height: 1;
            cursor: pointer;
            user-select: none;
        }
        @media (max-width: 991.98px) {
            .navbar {
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                padding-top: .05rem;
                padding-bottom: .05rem;
            }
            .nav-toggle-btn {
                display: block;
            }
            .navbar-collapse {
                display: none !important;
                width: 100%;
                padding: 0px;
                background: rgb(226 163 162);
                text-align: center;
            }
            .nav-toggle:checked ~ .navbar-collapse {
                display: block !important;
            }
            .navbar-nav {
                display: block;
                padding: 0 !important;
            }
            .navbar-nav .nav-link {
                display: block;
                padding: .75rem 0;
            }
        }
        @media (min-width: 992px) {
            .navbar {
                display: flex;
                align-items: center;
            }
            .navbar-collapse {
                display: flex !important;
                flex-basis: auto;
            }
        }


/*** Header ***/
.carousel-caption {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    /*background: rgb(142 103 122 / 26%);  灰暗紅*/
    z-index: 1;
    padding-bottom: 0.25rem;
}

.carousel-control-prev,
.carousel-control-next {
    width: 15%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
    background-color: var(--dark);
    border: 12px solid var(--dark);
    border-radius: 3rem;
}

.carousel-caption h1{
    font-family: 'Noto Sans TC', sans-serif;
    font-weight: 900;
    font-style: italic;
}

.carousel-caption h2{
     font-family: 'Saira', sans-serif;
    font-weight: 900;
}
.carousel-caption h3{
    font-family: 'Noto Sans TC','Saira', sans-serif;
    font-weight: 500;
    color: #FF6F0F;
}
/* 4. 大型桌上型電腦 (1200px 以上)：設定螢幕高度的 75% */
@media (min-width: 1200px) {
    #header-carousel .carousel-item img {
        height: 75vh; /* vh = viewport height */
        object-fit: cover;
    }
}

 /* 3. 筆記型電腦與平板 (768px 到 1199px)：設定固定高度 */
@media (min-width: 768px) and (max-width: 1199px) {
    #header-carousel .carousel-item img {
        height: 500px; /* 您可以依需求調整此固定數值 */
        object-fit: cover;
    }
}


/*平板尺寸*/
@media (max-width: 768px) {
    #header-carousel .carousel-item {
        position: relative;
        min-height: 480px;
    }
    
    #header-carousel .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .carousel-caption h3{
        font-size: 15pt;
    }
}

.page-header {
    padding-top: 12rem;
    padding-bottom: 6rem;
    background: linear-gradient(rgba(0, 29, 35, .8), rgba(0, 29, 35, .8)), url(../img/carousel-1.jpg) center center no-repeat;
    background-size: cover;
}

.page-header .breadcrumb-item+.breadcrumb-item::before {
    color: #999999;
}


/* 確保影片填滿滿版寬度，並透過 cover 屬性維持比例裁切不變形 */
#header-carousel .carousel-item video {
    width: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 行動裝置預設高度 */
#header-carousel .carousel-item video {
    height: 450px;
}

/* 平板與標準筆記型電腦固定高度 */
@media (min-width: 768px) and (max-width: 1199px) {
    #header-carousel .carousel-item video {
        height: 500px;
    }
}

/* 桌上型電腦設定為瀏覽器可視高度的 75% */
@media (min-width: 1200px) {
    #header-carousel .carousel-item video {
        height: 75vh;
    }
}

/* ========================================
   News 最新消息
   ======================================== */
.bg-news {
    background-color: #88b2ba;
    background-image:
        url("../img/dot-bg-BW.png"),
        linear-gradient(
            174deg,
            rgba(42, 123, 155, 1) 0%,
            rgba(149, 189, 196, 1) 52%,
            rgba(159, 207, 194, 1) 100%
        );
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
}





/*** About ***/
.about {
    background-color: #1c1a1a;
}
.about p{
    font-size: 15pt;
    color: #FFFFFF;
}


/*** Causes ***/
.causes-item .progress {
    height: 5px;
    border-radius: 0;
    overflow: visible;
}

.causes-item .progress .progress-bar {
    position: relative;
    overflow: visible;
    width: 0px;
    border-radius: 0;
    transition: 5s;
}

.causes-item .progress .progress-bar span {
    position: absolute;
    top: -7px;
    right: 0;
    width: 40px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    background: var(--primary);
    color: #FFFFFF;
}

.causes-item .causes-overlay {
    position: absolute;
    width: 100%;
    height: 0;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .5);
    overflow: hidden;
    opacity: 0;
    transition: .5s;
}

.causes-item:hover .causes-overlay {
    height: 100%;
    opacity: 1;
}


/*** Service ***/
.service-item {
    box-shadow: 0 0 45px rgba(0, 0, 0, .06);
}


/*** program ***/
.program {
    /*background: #76c6cbd4;*/
}

.btn-group .btn-light:hover,
.btn-group input[type="radio"]:checked+label {
    color: var(--primary);
    border-color: var(--primary);
}

.program .table td {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: #CCC;
    
    color: #08609f;
    padding: 3px 0px;
    vertical-align: middle;
    text-align: center;
}
.cleartd {
    border-bottom-style: none;
}
.program a{
    color: #d7620b;
    text-decoration:none;

}
.program a:hover{
    color: #a3450b;
    font-weight: bolder;
    text-decoration:underline;
}
/*開場來賓單位*/
.org-label {
  display: inline-block;
  background: #e9ecef;
  color: #555;
  font-size: 0.6em;
  font-weight: 500;
  padding: 2px 6px;
  border-radius: 4px;
  margin-bottom: 4px;
}


/*** reg***/
.person-data{
    padding: 10px 30px;  
}
.person-data p{
    text-align: left;
    padding: 0px 50px;
    font-size: 0.9em;    
}
.regtable tr {
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #bfb6d5;
}
.regtable td {
    font-size: 1em;
    color: #2a1756;
    padding: 3px 5px;
    vertical-align: middle;
}

.regtable input[type=text] {
  border: 1px solid #e9d910;
  border-radius: 8px;
}

@media (max-width: 768px) {
    .regtable td {
     font-size: 0.9em;
     font-weight: bold;
     color: #071f56;
     padding: 3px 3px;
     vertical-align: middle;
     }
     
    .person-data p{
     padding: 0px;    
     }
}

@media (max-width: 576px) {
    .regtable td {
     font-size: 0.8em;
     color: #0c0816;
     }
}


/*** Team ***/
.team-item img {
    position: relative;
    top: 0;
    transition: .5s;
    padding: 15px;
}

.team-item:hover img {
    top: -30px;

}

.team-item .team-text {
    position: relative;
    height: 100%;
    transition: .5s;
}

.team-item .team-text h5{
    color: #5f3a75;
    font-weight: 700;
    font-size: 1.1em;
    margin-bottom: 0.1rem;
}
.speaker-position{
    font-weight: bolder;
    font-size: 10pt;
    margin-bottom: 0.2rem;
    color: #a36d24; /*#f4bc71 淺黃金*/
    /*text-shadow:1px 0px 2px #43353b;*/
}

.speaker-country{
    font-size: 9pt;
}


.team-item:hover .team-text {
    margin-top: -30px;/*原來-60PX*/
    height: 160px;
}

.team-item .team-text .team-social {
    opacity: 0;
    transition: .5s;
}

.team-item:hover .team-text .team-social {
    opacity: 1;
}

.team-item .team-social .btn {
    display: inline-flex;
    color: var(--primary);
    background: #FFFFFF;
    border-radius: 40px;
}

.team-item .team-social .btn:hover {
    color: #FFFFFF;
    background: var(--primary);
}

.team-item2{
    background-color: #ffeeee;
}

/*** 與會嘉賓***/
/**background: #f7fefe;/*淺淺淺藍綠*//**/
#speakers{
    
    background-color: #a9b9e4;
    background-image: url("../img/dot-bg.png");
    
    /* 
    background-color: #e4f6f9d4;
    background-image: radial-gradient(#fdfdfd 1px, transparent 1px);
    background-size: 24px 24px; 控制網格間距 */

}
/*bg-gold漸層色*/
#speakers .overflow-hidden {
    background: #565d8c;
    background:linear-gradient(180deg, #4e578a 20%, #b6bdd4de 64%, #f5a6a6a3 100%);/*深藍紫-灰白-暗粉紅*/
    /*咖啡金漸層background: linear-gradient(105deg,rgba(73, 56, 62, 1) 0%, rgba(176, 131, 53, 1) 24%, rgba(252, 239, 186, 1) 42%, rgba(156, 129, 101, 1) 66%, rgba(73, 56, 62, 1) 82%, rgba(105, 86, 63, 1) 100%);*/
}
/*灰藍-灰白-暗粉紅 linear-gradient(180deg,rgba(137, 163, 179, 1) 20%, rgba(182, 189, 212, 0.87) 64%, rgba(245, 166, 166, 0.64) 100%);*/


@media (min-width: 992px) {
  .speaker-row .speaker-col {
    flex: 0 0 auto;
    width: 14.285714%;
  }
}

@media (max-width: 768px) {
    h5, .h5{
        font-size: 1rem;
        line-height: 1em;
    }
    .small{
        margin-bottom: 0.2rem;
        font-size: 0.8rem;
    }
}
 @media (max-width: 767px) {
            .speaker-avatar { height: 150px; font-size: 1.8rem; }
            .team-text { min-height: 150px; }
            .carousel-caption { padding: 1rem; }
            .program-table { font-size: .9rem; }
        }




/* 新增：Speakers 使用獨立 grid，避免覆蓋 Bootstrap row/col 與 .team-item */
#speakers .speakers-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    max-width: 1180px;
    margin: 0 auto 1.75rem;
}

/* 新增：無照片版 speaker 卡片 */
#speakers .speaker-info-card {
    position: relative;
    min-height: 190px;
    padding: 1.35rem 1.25rem 1.2rem;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 20px;
    overflow: hidden;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, .96) 0%, rgba(241, 244, 250, .94) 58%, rgba(225, 234, 240, .92) 100%);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* 新增：低調光暈，提升質感 */
#speakers .speaker-info-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 12%, rgba(249, 166, 165, .34), transparent 34%),
        radial-gradient(circle at 88% 86%, rgba(117, 93, 175, .20), transparent 32%);
    pointer-events: none;
}

#speakers .speaker-info-card:hover {
    transform: translateY(-5px);
    border-color: rgba(249, 166, 165, .46);
    box-shadow: 0 24px 52px rgba(0, 0, 0, .24);
}

#speakers .speaker-info-title,
#speakers .speaker-info-name,
#speakers .speaker-info-affiliation,
#speakers .speaker-info-country {
    position: relative;
    z-index: 1;
}

#speakers .speaker-info-title {
    display: inline-block;
    margin-bottom: .65rem;
    padding: .18rem .62rem;
    border-radius: 999px;
    background: rgba(123, 82, 143, .11);
    color: #755daf;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#speakers .speaker-info-name {
    margin-bottom: .55rem;
    color: #2b2b4a;
    font-family: 'Saira', 'Inter', Arial, sans-serif;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.2;
}

#speakers .speaker-info-affiliation {
    margin-bottom: .85rem;
    color: #5c5870;
    font-size: .9rem;
    font-style: italic;
    line-height: 1.45;
}

#speakers .speaker-info-country {
    margin-bottom: 0;
    color: #9a6b0d;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
}

@media (max-width: 991.98px) {
    #speakers .speakers-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    #speakers .speakers-grid {
        grid-template-columns: 1fr;
        gap: .85rem;
    }

    #speakers .speaker-info-card {
        min-height: auto;
        padding: 1.1rem 1rem;
    }
}


/* =========================================================
   SWT 2026 Schedule
   Independent component: does NOT use Bootstrap .table classes.
   Safe with Bootstrap 5.3.8 and the site's existing style.css.
   ========================================================= */
#schedule.swt-schedule {
  --swt-time: #595757;
  --swt-title: #5A7CB6;
  --swt-day: #495591;
  --swt-doubleday: #5ba5a5;
  --swt-empty: #E9E9E9;
  --swt-session: #dbe2ff;
  --swt-opening: #FF875E;
  --swt-photo: #ED8C6B;
  --swt-workshop: #b1949e;
  --swt-committee: #D7EEF7;
  --swt-break: #c3c5ca;
  --swt-text: #25335f;
  --swt-grid: rgba(255, 255, 255, .72);
  --swt-yellow: #e2d493;
  --swt-green: #90cd91;
  --swt-red: #f0b6c8;
  
  position: relative;
}

#schedule .swt-schedule__wrap {
  width: 100%;
  padding: 1rem 0 3rem;
}

#schedule .swt-schedule__heading {
  max-width: 500px;
  margin: 0 auto 1rem;
  text-align: center;
}

#schedule .swt-schedule__scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
}

#schedule .swt-schedule__table {
  width: 100%;
  min-width: 1050px;
  margin: 0;
  border-collapse: separate;
  border-spacing: 1px;
  table-layout: fixed;
  background: #cfd3db;
  color: var(--swt-text);
  font-size: .94rem;
  line-height: 1.4;
}

#schedule .swt-schedule__table th,
#schedule .swt-schedule__table td {
  box-sizing: border-box;
  padding: .25rem .15rem;
  border: 0;
  vertical-align: middle;
  text-align: center;
  overflow-wrap: anywhere;
}

#schedule .swt-schedule__table p {
  margin: 0;
}

#schedule .swt-schedule__time-col { width: 10%; }
#schedule .swt-schedule__day-col { width: 18%; }

/* Cell palette */
#schedule .swt-cell--time {
  background-color: var(--swt-time);
  color: #fff;
  font-weight: 700;
}

#schedule .swt-cell--title {
  background-color: var(--swt-title);
  color: #fff;
  font-weight: 700;
}

#schedule .swt-cell--day {
  background-color: var(--swt-day);
  color: #fff;
  font-weight: 700;
}
#schedule .swt-cell--doubleday {
  background-color: var(--swt-doubleday);
  color: #fff;
  font-weight: 700;
}

#schedule .swt-cell--empty {
  background-color: var(--swt-empty);
  color: var(--swt-text);
}

#schedule .swt-cell--session {
  background-color: var(--swt-session);
  color: var(--swt-text);
}

#schedule .swt-cell--opening {
  background-color: var(--swt-opening);
  color: #fff;
  font-weight: 600;
}

#schedule .swt-cell--photo {
  background-color: var(--swt-photo);
  color: #fff;
  font-weight: 600;
}
#schedule .swt-green {
  background-color: var(--swt-green);
  color: var(--swt-text);
}
#schedule .swt-cell--workshop {
  background-color: var(--swt-workshop);
  color: #fff;
}

#schedule .swt-cell--committee {
  background-color: var(--swt-committee);
  color: var(--swt-text);
}

#schedule .swt-cell--break {
  background-color: var(--swt-break);
  color: #232536;
  font-weight: 600;
}

#schedule .swt-cell--lunch {
  background-color: var(--swt-title);
  color: #fff;
}
#schedule .swt-red {
  background-color: var(--swt-red);
  color: #fff;
}

/* Keep the time column visible while horizontally scrolling on smaller screens. */
#schedule .swt-schedule__table .swt-cell--time {
  position: sticky;
  left: 0;
  z-index: 2;
  box-shadow: 1px 0 0 rgba(255,255,255,.35);
}

#schedule .swt-schedule__table thead .swt-cell--time {
  z-index: 4;
}

#schedule .swt-schedule__table i {
  margin-top: .28rem;
}

#schedule .swt-schedule__note {
  display: none;
  margin: .5rem 0 0;
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  text-align: center;
}

@media (max-width: 1199.98px) {
  #schedule .swt-schedule__table {
    min-width: 980px;
    font-size: .9rem;
  }
  #schedule .swt-schedule__note { display: block; }
}

@media (max-width: 575.98px) {
  #schedule .swt-schedule__wrap { padding-bottom: 2rem; }
  #schedule .swt-schedule__table {
    min-width: 900px;
    font-size: .82rem;
  }
  #schedule .swt-schedule__table th,
  #schedule .swt-schedule__table td {
    padding: .5rem .42rem;
  }
}


/*** agenda***/
.agenda { align-items: stretch; }
.agenda .table-responsive-sm { height: 100%; }
.agenda .program-table { height: 100%; margin-bottom: 0; box-shadow: 0 18px 40px rgba(10, 22, 51, .14); }
.agenda .program-table th { 
    background: #e68b68; 
 } /*第一列*/
.agenda .day-card { height: 100%; border-radius: 16px; overflow: hidden; background: #ffffff; }
.agenda .speaker-item { margin: .35rem 0; line-height: 1.45; }
.agenda .speaker-item .small { display: inline-block; min-width: 48px; color: #6f79bb; font-weight: 700; }
.agenda .session-cell { background: #e5eaf4; }
.agenda .talk-cell { background: #EAF0F2; }
.agenda .break-cell { background: #f2efe8; }
.agenda .lunch-cell { background: #9da3c5; }
.agenda .subject-cell { background: #d9dff2; }
.agenda .session-cell { background: #5ba5a5; }
.agenda .speaker-title { 
    font-weight: 700;
    color: #534c5a;
    font-style: oblique;
 }
.agenda-note { color: #c9d6ff; max-width: 860px; margin: 0 auto; }

/*新增*/

#agenda .program-day-label,
      #agenda .program-location { display: block; margin-top: .2rem; font-size: .78rem; font-weight: 600; }
      #agenda .program-location { color: rgba(255,255,255,.72); }


/*** Testimonial ***/
.testimonial-carousel::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

.testimonial-carousel::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

@media (min-width: 768px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {
        width: 200px;
    }
}

@media (min-width: 992px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {
        width: 300px;
    }
}

.testimonial-carousel .owl-item .testimonial-text {
    background: var(--light);
    transform: scale(.8);
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-text {
    background: var(--primary);
    transform: scale(1);
}

.testimonial-carousel .owl-item .testimonial-text *,
.testimonial-carousel .owl-item .testimonial-item img {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-text * {
    color: var(--light) !important;
}

.testimonial-carousel .owl-item.center .testimonial-item img {
    background: var(--primary) !important;
} 

.testimonial-carousel .owl-nav {
    position: absolute;
    width: 350px;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    opacity: 0;
    transition: .5s;
    z-index: 1;
}

.testimonial-carousel:hover .owl-nav {
    width: 300px;
    opacity: 1;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    position: relative;
    color: var(--primary);
    font-size: 45px;
    transition: .5s;
}

.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover {
    color: var(--dark);
}

/*** map ***/
.bg-map{
    background: linear-gradient(0deg, rgba(64, 32, 79, 0.639093137254902) 0%, rgba(85, 85, 139, 0.7763480392156863) 49%, rgb(255 255 255 / 24%) 100%), url(../img/carousel-1.jpg) no-repeat center top / cover;
}




/* =========================
   Call for Poster Section
   ========================= */
#poster {
        background: linear-gradient(189deg, rgb(52 29 62 / 89%) 0%, rgba(85, 85, 139, 0.7763480392156863) 49%, rgb(255 255 255 / 24%) 100%), url(../img/carousel-1.jpg) no-repeat center top / cover;;
    /*background-color: #2f2d44;*/
}

#poster .poster-heading {
    max-width: 880px;
}

#poster .poster-lead {
    color: #cad1ee;
    font-size: 0.8rem;
    line-height: 1.75;
}

#poster .poster-panel {
    padding: 1.1rem;
    border-top: 4px solid #e2ce46;
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff 0%, #f4f5f8 100%);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .16);
    color: #433e76;
}

#poster .poster-panel-title {
    margin-bottom: .35rem;
    color: #5f3a75;
    font-size: 1.25rem;
    font-weight: 700;
}

#poster .poster-timezone {
    margin-bottom: 1rem;
    color: #8b6b38;
    font-size: .9rem;
    font-weight: 600;
}

/* Important Dates: each row is independent for easy future expansion. */
#poster .poster-date-list {
    display: grid;
    gap: .75rem;
}

#poster .poster-date-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid #ddd9e7;
}

#poster .poster-date-item:last-child {
    border-bottom: 0;
}

#poster .poster-date-label {
    color: #433e76;
    font-weight: 600;
}

#poster .poster-date-value {
    flex: 0 0 auto;
    color: #9a6b0d;
    font-weight: 700;
    text-align: right;
}

#poster .poster-guidelines {
    padding-left: 1.2rem;
    color: #4f4a64;
}

#poster .poster-guidelines li {
    margin-bottom: .55rem;
    line-height: 1.55;
}

#poster .poster-guidelines li:last-child {
    margin-bottom: 0;
}

#poster .poster-submission {
    border-top: 4px solid transparent;
    border-image: linear-gradient(
        90deg,
        #49383e 0%,
        #aa771c 25%,
        #fcf6ba 50%,
        #bf953f 80%,
        #49383e 100%
    ) 1;
    /*border-top-color: #f9a6a5;*/

}

#poster .poster-submission p {
    color: #4f4a64;
    line-height: 1.6;
}

/* Call for Poster responsive adjustments */
@media (max-width: 767.98px) {
    #poster .poster-panel {
        padding: 1.2rem;
    }

    #poster .poster-date-item {
        display: block;
    }

    #poster .poster-date-value {
        display: block;
        margin-top: .25rem;
        text-align: left;
    }
}


/*** Committee  ***/

#Organizer {
    background-image: url(../img/carousel3.jpg);
    background-size: cover;
    background-position: center;
}

.dklink a {
    color: #fddf0d;/*黃*/ 
}

/*** event-promote  ***/
.event-card {
  cursor: pointer;
}

.event-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.event-card:hover .event-overlay {
  opacity: 1;
}

.event-card img {
  transition: transform 0.3s ease;
}

.event-card:hover img {
  transform: scale(1.05);
}


/*** Footer ***/

.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    color: rgba(255,255,255,0.5);
    font-weight: normal;
    text-transform: capitalize;
    transition: .3s;
}

.footer .btn.btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: rgba(255,255,255,0.5);
    margin-right: 10px;
}

.footer .btn.btn-link:hover {
    color: var(--light);
    letter-spacing: 1px;
    box-shadow: none;
}

.footer .btn.btn-square {
    color: rgba(255,255,255,0.5);
    border: 1px solid rgba(255,255,255,0.5);
}

.footer .btn.btn-square:hover {
    color: var(--secondary);
    border-color: var(--light);
}

.footer .copyright {
    padding: 25px 0;
    font-size: 15px;
    border-top: 1px solid rgba(256, 256, 256, .1);
}

.footer .copyright a {
    color: var(--secondary);
}

.footer .copyright a:hover {
    color: var(--primary);
}

.speaker-card { height: 100%; box-shadow: 0 14px 30px rgba(0,0,0,.16); }

/*
.carousel-caption { background: linear-gradient(90deg, rgba(8, 18, 44, .86), rgba(8, 18, 44, .52)); border-radius: 22px; padding: 2rem; }
<style>
        body { font-family: "Inter", Arial, sans-serif; }
        h1, h2, h3, h4, h5, .navbar-brand { font-family: "Saira", "Inter", Arial, sans-serif; }
        
        .speaker-card { height: 100%; box-shadow: 0 14px 30px rgba(0,0,0,.16); }
        .speaker-avatar {
            height: 210px; display: flex; align-items: center; justify-content: center;
            background: radial-gradient(circle at 30% 20%, #8ea7d8, #22345f 68%, #16223f);
            color: #f8d66d; font-size: 2.35rem; font-weight: 700; letter-spacing: .05em;
        }
        .team-text { min-height: 230px; }
        .team-text h5 { margin-bottom: .45rem; }
        .speaker-email { word-break: break-word; line-height: 1.25; }
        
        .program-table { margin-bottom: 2rem; border-radius: 14px; overflow: hidden; }
        .program-table td, .program-table th { border-color: rgba(255,255,255,.22); }
        .program-table h5 { color: #ffffff; }
        .badge.bg-gray { background: rgba(255,255,255,.16); color: #d8e2ff; }
        
    </style>
*/