﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Huninn&display=swap');

* {
  font-family: "Huninn", sans-serif;
}

/**************************************************
= header 上方登入選單
********************/
/*theme-bg 背景色*/
.theme-bg{ background:#ffffff;background-image: url(../img/bg.jpg); background-repeat: repeat; position: relative;}

/*模組背景色*/
div#main_top,.breadcrumb,div#left,div#middle,div#main_right,div#main_bottom,.module{ background: #fff;}
.center-module-bg{background: #fff;}

/*div#main_top .module,div#left .module,div#middle .module,div#main_right .module,div#main_bottom .module,.module{ background:#ffffff; box-shadow: 0px 0px 5px 0px #e0dadc; border-radius: 0px;}
:not(.module-content).module-padding.module-bg { background:#ffffff; box-shadow: 0px 0px 5px 0px #e0dadc; border-radius: 0px;}*/

#ct-content {overflow-x: hidden;}

/**************************************************
= header 上方登入選單
********************/
.login .top-space header{ margin-top: 45px;}
header{ background: unset ;border: none; top: 5px; z-index: 2; padding-right: 40px;}
header>a,header>div{color:#113285; position: relative;}
header>a::after {position: absolute; content:""; width: 4px; height: 4px; border-radius: 50%; background-color: #FC9F4D; top: 50%; right: 0; transform: translateY(-50%);}
header>a {padding: 0px 20px; }
header .fontsize button {color: #113285; background-color:unset/*rgba(251, 244, 233, 0.9)*/; border:1px solid #113285; border-radius: 2px; box-shadow: none; padding:0; border-radius: 50%; }
header .fontsize button:hover {background-color: #F7C242; color: #113285; }
header .dropdown svg { fill: #113285;}
header a:hover,
header>div:hover{ color:#D34300; }
header .dropdown:hover svg{ fill: #FC9F4D;}
header .dropdown-content a:hover{ color: #ffffff; background-color: #113285; }
.logo,.logo a { font-size: 2rem;  color: #113285;}
.focusable{ opacity: 0;}
.focusable:focus{ opacity: 1;}

@media screen and (max-width: 1199px) {
header{ padding-right: 0;}
}

@media screen and (max-width: 767px) {
.login .top-space header{ margin-top: 0px;}
header {display: none;}
.theme-bg { background-position: -550px 30px;}
}

@media screen and (max-width:520px){
.theme-bg { background-position: -880px 0px;}
}

/**************************************************
= theme 上方主圖
********************/
h1 strong { position: relative; display: none;}
h1 strong.picshow { position: absolute; top: -600px;}

/*正式站 LOGO 圖上下各留約 23% 空白，桌機版放寬高度讓內容跟測試站一樣大*/
@media screen and (min-width: 768px) {
.logo img { max-width: 435px; max-height: 116px;}
}

/*20200702 hamburger收合模式*/
@media screen and (max-width: 767px) {
.theme { height: 80px; background: #fff; z-index: 99; }
.logo { height: 80px; padding: 0; top: 0;}
.logo img, .logo strong {max-height: 60px; max-width: 90%; padding: 5px 10px;}
.logo strong { top: -5px;}
.theme+div { right: 0;  height: 80%; z-index: 99; }
.logo h1 {margin: 0 !important;}

/*登入狀態*/
.top-space .theme { top: 45px; } 
.top-space .theme+div {  height: 70%}
}

/**************************************************
= navbar 橫式選單模組
********************/
.navbar { background-color: #113285 }
.navbar ul{ max-width: 1500px; border-bottom: 4px solid #F7C242; }
.navbar ul li ul {box-shadow: 0 2px 5px rgba(0,0,0,0.15); padding-bottom: 15px;}
.navbar li a{ color:#ffffff; }
.navbar li:hover a {color:#dedede;}
.navrwd-svg svg { fill: #ffffff;}
.navbar li:hover ul a,.navbar ul li a:focus + .navrwd + .menuhidden{ background-color:#ffffff; color:#113285; line-height: 30px;}
.navbar li:hover ul a:hover::after { width: 100%;}
.navbar li:hover ul a:hover {background-color: transparent !important; color: #D34300 !important; font-weight: 700;}
.navbar li .menuhidden.navbar-menu a { background-color:#ffffff; color:#113285;}
.navbar li .menuhidden.navbar-menu a:hover { background-color:#113285; color:#fffcfc;}
.navbar li ul li { padding: 0 16px; }
.navbar li ul li a{ position: relative; display: block; transition: 0.3s; padding-left: 0 !important; padding-right: 0 !important; text-align: left; }
.navbar li ul li a::after {position: absolute; content: ""; width: 0; height: 1px; background-color: #FC9F4D; bottom: 0; left: 0; transition: 0.3s;}
.navbar .menuhidden {max-width: inherit !important; width: fit-content;}
.navbar .menu-web {white-space: nowrap;}

@media screen and (max-width: 767px) {
.navbar li { width: 100%; background: #113285;}
.navbar ul { /*background: #ffffff; color: #ffffff;*/}
.navbar li a { /*background: #113285; */color: #ffffff; width: 85%;}
.navbar ul li{border-bottom: 1px solid rgba(255,255,255,0.1);}
.navbar li:hover a{ color: #dedede;}
.navbar li:hover ul a {  background-color:#ffffff; color:#113285;}	
/* .navbar li:hover ul a:hover {  background-color:#113285; color:#fffcfc;} */
.navbar li .menuhidden.navbar-menu a{ background-color:#ffffff; color:#113285;}
.navbar li .menuhidden.navbar-menu a:hover { background-color:#113285; color:#fffcfc; padding: 20px 10px;}
.navbar .show-menu{ color: #fff;background: unset; text-align: right; }
.navbar .show-menu .ct-hamburger svg { fill:#113285; width: 30px; height: 30px}
.navrwd-svg{ background: rgba(255,255,255,0.8); border: none;}
.navrwd-svg svg{ fill: #113285;}
.navbar li ul li { border: 0;background-color: #fff;}

/*20200702 hamburger收合模式*/
.navbar input[type=checkbox]:checked~#menu { background: unset; position: absolute; overflow-y: auto; display: block; height: 100%; min-width: 300px; width: auto; right: 0;}
/* #menu {width: 70%;float: right;} */
#menu .menu-web a {display: none;}
#main_top { position: inherit;}
.navbar { background-color: unset; }
.ct-sitemap {margin-top: 100px;}
.navbar ul li a:hover+.navrwd+.menuhidden, .navbar .menuhidden:hover {display: inline;}
}

@media screen and (min-width: 1680px){
.navbar>ul>li { padding: 0 18px;}
}

@media screen and (min-width: 992px) and (max-width: 1679px){
.navbar>ul>li {padding: 0 8px;}
}

@media screen and (min-width: 768px) and (max-width: 991px){
.navbar>ul>li {padding: 0 5px;}
}

/**************************************************
= breadcrumb 麵包屑
********************/
.breadcrumb-item + .breadcrumb-item::before {border-left: 8px solid #F7C242;}
.breadcrumb-item.active {color:#D34300;}
.breadcrumb a{color:#C15716;}
.breadcrumb a:hover{color:#ce6422;}

/**************************************************
= footer 最下方聯絡資訊
********************/
.footerbg{ background: #113285; color: #fff9f6; background-repeat: no-repeat;min-height: 280px; padding-top: 0px; border-radius: 24px 24px 0 0;}
.footerbg a {color: #fff9f6;}
.connect-links,.connect .text.connect-explorer{ color: #fff9f6;}
.connect-links:hover{text-decoration: none;color: #fff9f6;}
.copyright { color: #ffffff; background-color: #113285;}

.rwd-show {padding-top: 10px; display: none;}
.rwd-show a {text-decoration: underline;}

@media screen and (max-width: 767px){
.rwd-show {display: block;}
}

/**************************************************
= module title 模組標題
********************/
.module-title { color: #113285; font-weight: normal;}

/**************************************************
= color
********************/

/* tab頁簽 ********************/
.nav-tabs {border-bottom-color:#ffffff;}
.nav-tabs .nav-item,.nav-pills .nav-item{margin-right: 2px;}
.nav-tabs .nav-item a,
.nav-pills .nav-item a{ color: #113285; background: #F1F3F8; border-color: transparent ;border-radius: 100px;}
.nav-pills .nav-item a{ border-bottom: 1px solid #f4ffd4;}
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {  color: #113285; background: #FC9F4D; border-color: transparent;}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {color: #ffffff; background: #D34300; border-color: transparent; border-radius: 100px;}
.nav-pills .nav-link:focus,
.nav-pills .nav-link:hover { color: #ffffff; background-color: #ed96af;}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {color: #fff;background-color:#113285;}
.nav-tabs .nav-link.disabled,
.nav-pills .nav-link.disabled {color: #868e96;}
.ct-dropdown-menu { background-color: #fff;  border: 1px solid #113285;}
.ct-dropdown-item { color: #3a92e9;}
.nav-tabs .nav-item .ct-dropdown-item, .nav-tabs .nav-item .ct-dropdown-item{ border: 0; background: #ffffff; border-top: 1px solid #ededed; color: #9a654a;}
.nav-tabs .nav-item .ct-dropdown-item:focus,
.nav-tabs .nav-item .ct-dropdown-item:hover { color: #ed96af; background-color: #fdf1f4;}



/* table表格 ********************/
.ct-table th,.ct-table td {border-top-color:#ccc;}
.ct-table tbody + tbody {border-top-color:#ccc;}
.table-striped tbody tr:nth-of-type(odd) { background-color:#f3f3f4;}
.ct-table .thead-light th { color: #113285; background-color: #F7C242; border-color: #ffffff; border-bottom: 1px solid #ffffff; font-weight: normal;}
.ct-table .thead-dark th { color: #ffffff; background-color: #113285; border-color: #113285;}
.table-bordered {border-color: #e9ecef;}
.table-bordered th,.table-bordered td {border-color:#ccc;}
.table-hover tbody tr:hover { background-color:#FC9F4D;}

@media only screen and (max-width: 575px){
.table-responsive .ct-table  td:before,
.table-responsive .ct-table th:before{color:#2d67a0;}
}

/* nav-Vertical 直式選單 ********************/
.nav-Vertical ul li .sub-menu-item{ background: #ffffff; color: #113285; border-bottom-color: #b79696;}
.nav-Vertical ul li .sub-menu-item:hover { background:#113285; color: #ffffff;}


.nav-Vertical ul li .sub-menu-item a{color:#113285;}
.nav-Vertical ul li .sub-menu-item a:hover,
.nav-Vertical ul li .sub-menu-item a:focus,
.nav-Vertical ul li .sub-menu-item a:active,
.nav-Vertical ul li .sub-menu-item .active{color:#545454;}
.nav-Vertical ul li .sub-menu-item:hover a{color:#ffffff;}

.nav-Vertical ul li .menu-arrow svg{ fill:#113285;}
.nav-Vertical ul li .menu-arrow:hover svg{ fill: #ffffff;}
.nav-Vertical ul li ul li .sub-menu-item:hover a{color:#113285;}
/* .nav-Vertical ul li ul li .sub-menu-item{ background:#F6F8FF;border-color: 1px solid #d9dee8 !important;} */
.nav-Vertical ul li ul li ul li .sub-menu-item{ background:#eefefd;}
/* .nav-Vertical ul li ul li .sub-menu-item:hover, */
.nav-Vertical ul li ul li ul li .sub-menu-item:hover { background: #ffffff; color: #113285; border-width: 1px;}
.vertical-hamburger { background:#113285;}
.vertical-hamburger svg { fill:#ffffff;}

.ct-sitemap{background:#ffffff;}
.sitemap-title { background: #113285; color: #ffffff;}
.sitemap-block { background: #ffffff;}
.sitemap-item a { color: #505050; border-left-color: #F7C242; background: #f5f5f5;}
.sitemap-item a:hover,
.sitemap-item a:focus{background: #fdfaf0; color: #3c2117; border-left-color: #f2c685;}
.sitemap-icon svg {fill: #ffffff;}

/*span-color-ga003*/
.span-color-ga003,a.span-color-ga003{color: #113285;}
a.span-color-ga003:hover,a.span-color-ga003:focus {color:#10ad7d;}

/*span-color-ga007*/
.span-color-ga007,a.span-color-ga007{color: #113285;}
a.span-color-ga007:hover,a.span-color-ga007:focus {color:#10ad7d;}

/*線上報修button-ga009********************/
.repair-basicset .btn-primary { color: #113285;  background-color:#F7C242;  border-color:#F7C242;  fill: #113285;}
.repair-basicset .btn-primary svg {fill: #113285;}
.repair-basicset .btn-primary:hover,.repair-basicset .btn-primary:focus,.repair-basicset .btn-primary:active,.repair-basicset .btn-primary.active,.repair-basicset .open .ct-dropdown-toggle.btn-primary,.repair-basicset .btn-primary:active:focus,.repair-basicset .btn-primary:active:hover,.repair-basicset .btn-primary.active:hover,.repair-basicset .btn-primary.active:focus{background:#113285; border-color: #113285; color: #fff;}
.repair-basicset .btn-primary.active.focus,.repair-basicset .btn-primary.active:focus,.repair-basicset .btn-primary.active:hover,.repair-basicset .btn-primary:active.focus,.repair-basicset .btn-primary:active:focus,.repair-basicset .btn-primary:active:hover,.repair-basicset .open>.ct-dropdown-toggle.btn-primary.focus,.repair-basicset .open>.ct-dropdown-toggle.btn-primary:focus,.repair-basicset .open>.ct-dropdown-toggle.btn-primary:hover{ background:#113285;border-color: #113285; color: #fff;}
.repair-basicset .btn-primary:hover svg,.repair-basicset .btn-primary:focus svg,.repair-basicset .btn-primary:active svg,.repair-basicset .btn-primary.active svg,.repair-basicset .open .ct-dropdown-toggle.btn-primary svg,.repair-basicset .btn-primary:active:focus svg,.repair-basicset .btn-primary:active:hover svg,.repair-basicset .btn-primary.active:hover svg,.repair-basicset .btn-primary.active:focus svg {fill: #fff}
.repair-basicset .btn-primary.active.focus svg,.repair-basicset .btn-primary.active:focus svg,.repair-basicset .btn-primary.active:hover svg,.repair-basicset .btn-primary:active.focus svg,.repair-basicset .btn-primary:active:focus svg,.repair-basicset .btn-primary:active:hover svg,.repair-basicset .open>.ct-dropdown-toggle.btn-primary.focus svg,.repair-basicset .open>.ct-dropdown-toggle.btn-primary:focus svg,.repair-basicset .open>.ct-dropdown-toggle.btn-primary:hover svg {fill: #fff;}

/* CGA001 圖文公告換色 ********************/
.ct-focusslider .focus-content .textblock{ background:#FFFAED; color: #545454; position: relative; border-radius: 0 0 20px 20px; overflow: hidden;}
.ct-focusslider .focus-content .textblock.notice-color{background:#FFFAED; color: #545454;}
.ct-focusslider .focus-content .textblock::after {position: absolute; content: ""; width: 100%; height: 4px; background-color: #F7C242; left: 0; bottom: 0;}
/*CGA001 圖文公告箭頭顏色*/
.ct-focusslider .focus-controls .focus-arrow{ fill:#F7C242; }
.ct-focusslider .focus-controls .focus-arrow:hover { fill: #ebb700;}
.ct-focusslider .focus-controls .focus-arrow.focus-end{ fill: rgba(175, 175, 175, 1);}
/*CGA004、CGA008、CGA009電子報系列*/
.ct-epaper .btn-primary{color: #ffffff; background-color:#4b77a7; border-color:#4b77a7; fill: #ffffff;}
.ct-epaper .btn-primary:hover{color: #ffffff; background-color:#0d62c0;  border-color:#0d62c0; fill: #ffffff;}
.module .ct-epaper .epaper-list.ct-row { background: #ffffff; padding: 0;}
.ct-epaper .yearnav ul li{ background: #113285; color: #fff; border-bottom: 1px solid #113285;}
.ct-epaper .yearnav ul li a { color: #fff;}
.ct-epaper .yearnav ul li:hover { background: #113285; color: #ffffff;}
.ct-epaper .yearnav ul li:hover a {color: #fff;}
.ct-epaper button.btn-primary { background-color: #113285; border-color: #113285;}
.ct-epaper button.btn-primary:hover { background-color: #113285; border-color: #113285;}

/* GA017 全文檢索*******************/
.cmgch-google .btn-all{ color: #113285; background-color:#ffffff; border-color:#113285; fill: #ffffff; border-radius: 2px;}
.cmgch-google .btn-all:hover,.cmgch-google .btn-all:focus,.cmgch-google .btn-all:active,.cmgch-google .btn-all.active,.cmgch-google .btn-all:active:focus,.cmgch-google .btn-all:active:hover,.cmgch-google .btn-all.active:hover,.cmgch-google .btn-all.active:focus { color: #ffffff; background-color:#113285;  border-color:#113285; fill: #ffffff;}
.cmgch-google .btn-advanced{ color: #ffffff; background-color: #797979; border-color: #797979; fill: #ffffff;}
.cmgch-google .btn-advanced:hover,.cmgch-google .btn-advanced:focus,.cmgch-google .btn-advanced:active,.cmgch-google .btn-advanced.active,.cmgch-google .btn-advanced:active:focus,.cmgch-google .btn-advanced:active:hover,.cmgch-google .btn-advanced.active:hover,.cmgch-google .btn-advanced.active:focus { color: #ffffff; background-color: #113285;  border-color: #113285; fill: #ffffff;}
.cmgch-google .form-group-m input { caret-color:#113285;} 
.cmgch-google .form-group-m .bar::before {background:#113285;}

/*ALT+C 導盲磚 *******************/
.text-secondary {color: #656769;}

/*freeze btn overflow *******************/
#noticeview_to_print .ct-btn {white-space: normal;}

/*權限scrollbar *******************/
.select-menu-container.select-visible .select-menu {overflow-y: scroll; height: 150px;}

/* thin */
@media screen and (min-width: 1200px) { .ctSize {width: 90%; margin-left: 5%;}}

.navbar li .menuhidden.navbar-menu a {line-height: 30px;}
.navbar li:hover ul a, .navbar ul li a:focus+.navrwd+.menuhidden {line-height: 30px}
.nav-link { padding: 12px 16px;}
.ct-table th, .ct-table td { padding: 12px;}

.module table .download_rect, .module table .link_rect {height: auto;}

.module .lfcenter a.lfaimg {height: auto; padding: 3px; border: 1px solid #113285; border-radius: 12px;}
.module .lfcenter a.lfaimg>img {border-radius: 8px;}


:focus {
	outline: 2px solid #113285 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffffff !important;
}

/* 這 3 條模組規則自己就帶 !important，!important 之間比權重、同權重再比
   順序，而模組注入在後 —— 故需嚴格高於其 (0,3,1)，前綴 html 補一個型別
   選擇器成為 (0,3,2)。 */
html .ct5abf2dafaa93092cee58cec0 .form-group-m input:focus,
html .ct5c0e1defb295a734beb37b2f .form-group-m input:focus,
html .ct5e03008ec7e4096ac7f18008 a.dishName:focus {
	outline: 2px solid #113285 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffffff !important;
}

/* 焦點環改掛在子元素上的少數情況。
   有些模組的 <a> 沒有設 display（＝預設 inline）卻包著 block 內容，例如
   GA004 相簿：<a role="button" tabindex="0"><div class=imgResponsiveShow>…
   inline 元素包 block 時自己的框會被切成破碎片段，outline／box-shadow
   幾乎畫不出東西 —— 模組作者當初就是因此把框畫在子元素上。通則掛在 <a>
   身上對這種結構無效，只能跟著改掛子元素，順便把模組原本的橘色點虛線
   （2px dotted #d26800，對白底僅 3.67:1、對彩色縮圖更低）換成雙色環。 */
.abimgs a:focus > .imgResponsiveShow,
.abimgs a:focus > .imgResponsiveShow_item,
.month-simple a:focus .day {
	outline: 2px solid #000000 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffffff !important;
}

/* 焦點環不可被模組的 transition:all 帶著動 —— box-shadow 與 outline-* 都是
   可動畫屬性。模組在 .ct-focusslider .imgblock img (all .5s)、.focus-arrow
   (all .3s)、.imgResponsiveShow_item (all .15s)，版型自己在 header>a
   (all 200ms) 都用了 transition:all，結果焦點環會淡入，失焦後還淡出留下
   白色殘影。
   ※ 必須在「非聚焦」狀態也生效：殘影發生在焦點已經移走之後，那時 :focus
     規則早就不套用了，是元素回到自己的 transition:all 把環淡出的。
   ※ CSS 沒有「all 扣掉某幾個」的寫法，只能用白名單取代 all。清單是掃過
     全站 102 個 transition:all 選擇器的 hover/focus 態實際改動屬性後列全的
     （border-radius 42、width 26、left 26、padding-right 12… 都要保留，
     否則搜尋框展開、滑動那類效果會變成瞬間跳），實際只排除 box-shadow
     與 outline-*。清單列太長無害，不可動畫的值會被瀏覽器忽略。
   ※ 代價：全站有 5 處模組是刻意用 transition:all 去動 box-shadow 的，
     那 5 處的陰影動畫會變成瞬間切換。 */
a, button, input, select, textarea, summary,
[tabindex], [role="button"], [role="link"] {
	transition-property:
		transform, opacity, filter, visibility,
		color, background, background-color, background-image,
		background-position, background-size,
		fill, stroke,
		border-color, border-width, border-radius,
		width, height, min-width, min-height, max-width, max-height,
		top, right, bottom, left,
		margin, margin-top, margin-right, margin-bottom, margin-left,
		padding, padding-top, padding-right, padding-bottom, padding-left,
		font-size, font-weight, letter-spacing, line-height, text-shadow,
		flex-basis, gap, z-index !important;
}

/**************************************************
= 輪播：環改畫在容器上（:focus-within）

   輪播的投影片本身是一個被圖片填滿的連結：
     <a class="imgblock"><img …></a>            CGA001 圖文輪播
     <button class="carousel-item">…</button>   BGA001 大橫幅
   在它身上畫環兩條路都不通：
     外側環 → 被祖先容器的 overflow:hidden 裁掉，只剩一條邊
     內側環 → inset box-shadow 畫在背景層、在內容之下，被填滿的 <img> 蓋住
              （outline 不受影響，所以只看得到深紅那圈、白色不見）
   換 px 數沒有用，這是繪製層級問題不是尺寸問題。

   解法：環改畫在輪播容器自己身上。元素**自己的** overflow:hidden 只裁子孫、
   不裁自己的 outline，所以容器上的外側雙色環可以完整顯示，與全站一致。
   也不能改用 overflow:visible —— .focus-content 的 overflow:hidden 正是用來
   藏住畫面外的投影片，放開會整排噴出來。

   代價：框住的是整個輪播而不是單一張投影片（對「整張圖就是一個連結」的
   輪播而言視覺上等價），且 Tab 到左右箭頭時也會框整個輪播。要把箭頭分開
   需要 :has()（Chrome 105+）。

   ※ 只用在 BGA001 大橫幅。CGA001 圖文公告不要走這條 —— 它的
     .focus-content 是四張卡整排的框，套上去會變成「框住四張卡」，看不出
     焦點在哪一張。那裡外側環本來就可行：.imgblock 自己的 overflow:hidden
     不裁自己的 outline，.item 又沒有設 overflow，所以交給全站通則即可，
     只有最左／最右那張的外側邊會被 .focus-content 的邊界裁到。
********************/
.carousel:focus-within {
	outline: 2px solid #000000 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #ffffff !important;
}

/* 頁籤列一律用內側環：頁籤列都會把 overflow 關起來（橫向捲動用），外側環
   四邊會被裁掉。
     GA006 .tab-scroll-container  SCSS !important + <ul> inline style 雙重
                                  設 overflow-x/y:hidden，且 display:flex
                                  緊貼頁籤高度
     GA002 .nav-tabs             <ul> inline style overflow:hidden，只留
                                  paddingTop:2px，環的上緣會露出一小條、
                                  其餘三邊被裁 —— 比全裁掉更難看
   不能改用容器 :focus-within（會變成框住整排頁籤，看不出焦點在哪一個），
   只能把環畫在頁籤內側。.nav-link 內距 0.5rem（8px），4px 的環不壓到文字。
   直接掛在共用的 .nav-tabs 上，兩個模組與其他頁籤一併涵蓋，也讓全站頁籤
   的焦點樣式一致，不必逐個模組補。 */
.nav-tabs :focus,
.tab-scroll-container :focus {
	outline: 2px solid #000000 !important;
	outline-offset: -2px !important;
	box-shadow: inset 0 0 0 4px #ffffff !important;
}

/* 大橫幅的投影片本身不再自己畫環：畫了也是被裁掉或被圖片蓋住，留著只會在
   容器環之外多一條殘缺的邊。 */
.carousel-item:focus,
.bgabannerpicimg:focus,
.bgabannerpicimgPhone:focus {
	outline: none !important;
	box-shadow: none !important;
}

.gd-offset-lg1 {
  margin: 0;
}

.gd-lg10 {
  width: 100%;
}

.marquee-container {
  box-shadow: none;
  border-radius: 0 0 20px 20px;
}

.carousel.slide {
  border-radius: 0 0 40px 40px;
}

.viewbox-border {
  box-shadow: none !important;
  border: 2px solid #DCDCDC;
}

.list-complete-item {
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  .list-complete-item {
    padding: 0;
  }
}

.ct-table th:first-child {
  border-radius: 16px 0 0 0;
}

.ct-table th:last-child {
  border-radius: 0 16px 0 0;
}

.ct-table tr:last-child td:first-child {
  border-bottom-left-radius: 16px;
}

.ct-table tr:last-child td:last-child {
  border-bottom-right-radius: 16px;
}

.radius-xs {
  border-radius: 8px;
}

.ct-btn {
  border-radius: 8px;
}

.imgblock {
  background-color: #FFFAED !important;
  border-radius: 20px 20px 0 0;
}

.imgblock img {
  border-radius: 20px;
}

.nav-tabs ul {
  margin-top: 12px;
}

.nss-embed {
  border-radius: 24px;
  overflow: hidden;
}

.ct-alerts {
  border-radius: 24px;
  overflow: hidden;
}

.ct-alerts .a-block1 {
  background-color: #D34300 !important;
  color: #fff !important;
}

.ct-alerts .alert-time {
  color: #fff !important;
}

@media screen and (max-width: 768px) {
  .marquee-container {
    position: static !important;
    top: inherit;
  }
}

.icon {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.icon * {
  box-sizing: border-box;
}

.icon-item {
  width: calc(100% / 6);
  padding: 0 12px;
}

.icon-item a {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #F6F8FF;
  transition: 0.3s;
  gap: 4px;
  text-decoration: none;
}

.icon-item a svg {
  width: 40px;
  height: 40px;
}

.icon-item a svg path {
  transition: 0.3s;
}

.icon-item a span {
  font-size: 1em;
  color: #000;
  transition: 0.3s;
}

.icon-item a:hover {
  background-color: #F7C242;
}

.icon-item a:hover svg path {
  fill: #fff;
}

.icon-item a:hover span {
  color: #000;
}

@media screen and (max-width: 1199px) {
.icon-item {
    width: 33.3333%;
  }
  .icon-item a {
    margin: 0 auto 24px;

  }
}

@media screen and (max-width: 767px) {
  .icon-item {
    width: 50%;
  }
}

#main_top .list-complete-item:first-child {
  padding: 0;
}

#main_top .list-complete-item:first-child .module {
  margin: 0;
}

#main_top .list-complete-item:first-child .module-title-bg {
  display: none;
}

#main_top .list-complete-item:first-child .module-content {
  padding: 0;
}

.ftrs-search-text {
  background-color: #eff3f9;
    height: 48px;
    border-radius: 100px;
    margin-right: 12px !important;
    display: flex;
    align-items: center;
    padding: 0 12px;
    width: calc(100% - 64px - 12px) !important;
}

.ftrs-search-text .svg-inline {
  margin: 0 !important;
}

.ct-circle-icon svg {
  fill: #FC9F4D;
}

.ftrs-search-text .search-inline .bar {
  display: none;
}

.cmgch-google .ct-row:first-child {
  align-items: center;
}

.cmgch-google .btn-all {
  border-radius: 100px;
  background-color: #F7C242;
  color: #113285;
  width: 64px;
  height: 48px;
  border: 0;
}

.ct-table td {
  color: #333 !important;
}

.ct-table td * {
  color: #333 !important;
}

.ct5e02bfbdc7e4096ac7f18002 .table-download-link-text {
  color: #000 !important;
}

.dropdown-item-m.selected {
  background-color: #F7C242 !important;
}

.dropdown-item-m {
  color: #333 !important;
}

.dropdown-item-m a {
  color: #333 !important;
}

.svg-inline svg {
  margin: 0 !important;
}

.imgResponsiveShow {
  border-radius: 20px;
}

.imgResponsiveShow:before {
  right: 35px !important;
  left: 35px !important;
}

.imgResponsiveShow:after {
  right: 30px !important;
  left: 24px !important;
}

.ct-calendar:not(.calendar-search-list) {
  padding: 24px;
  background-color: #F6F8FF !important;
  border-radius: 24px;
}

.ct-calendar.calendar-search-list .ct-calendar {
  padding: 0;
}

.ct-calendar .btn-group .btnleft {
  border-radius: 12px 0 0 12px !important;
}

.ct-calendar .btn-group .btnright {
  border-radius: 0 12px 12px 0 !important;
}
.nav-Vertical {
  margin-top: -12px;
}
.nav-Vertical>ul>li>.sub-menu-item {
  padding: 16px;
  border: 1px solid #d9dee8;
  border-radius: 100px;
  margin-top: 12px;
}

.nav-Vertical>ul>li>.drop-down>.sub-menu-item {
  padding: 16px;
  border: 1px solid #d9dee8;
  border-radius: 100px;
  margin-bottom: 12px;
}

.nav-Vertical ul li .sub-menu-item:hover {
  border-color: #113285;
}

.nav-Vertical ul li ul li .sub-menu-item {
  display: block;
  position: relative;
  border: 0 !important;
  padding: 0 16px !important;
  background-color: transparent !important;
}

.nav-Vertical ul li .drop-down ul li .sub-menu-item {
  padding: 8px 16px !important;
}

.nav-Vertical ul li .drop-down ul li:first-child {
  padding-top: 8px;
}

.nav-Vertical ul li .drop-down ul li:last-child {
  padding-bottom: 8px;
}

.nav-Vertical ul li .drop-down ul li .sub-menu-item::after {
  position: absolute;
  content: "";
  width: 0;
  height: 1px;
  background-color: #D34300;
  left: 16px;
  bottom: 0;
  transition: 0.3s;
}

.nav-Vertical ul li .drop-down ul li .sub-menu-item:hover {
  color: #D34300 !important;
}

.nav-Vertical ul li ul li .sub-menu-item:hover a {
  color: #D34300 !important;
}

.nav-Vertical ul li .drop-down ul li .sub-menu-item:hover::after {
  width: calc(100% - 32px);
}

.nav-Vertical ul li ul {
  position: static !important;
  width: 100% !important;
  /* padding: 4px 16px; */
  border-radius: 16px;
  background-color: #F6F8FF;
  /* border: 1px solid #d9dee8; */
  /* margin-bottom: 16px; */
}

.nav-Vertical .drop-down>ul {
  margin-top: 4px;
}

.nav-Vertical>ul>.bga003-drop-down>.bga003-drop-down-left {
  margin-top: 4px;
}

.nav-Vertical ul li ul li .sub-menu-item a {
  float: inherit;
  padding: 12px 0;
  /* display: block; */
}

.bga003-drop-down:first-child {
  padding-top: 8px;
}

.bga003-drop-down:last-child {
  padding-bottom: 8px;
}

.bga003-drop-down .menu-arrow {
  transform: rotate(90deg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ct-resource .date-block .day {
  border-radius: 12px;
}

.ct-focusslider .focus-content .imgblock {
  border-radius: 20px;
}

.lunchData .ct-row {
  border-radius: 20px;
  overflow: hidden;
}

.mask {
  border-radius: 20px;
}

.imgResponsiveShow {
  border-radius: 16px !important;
}

.svg-inline {
  margin-top: 4px !important;
}

.navrwd-svg {
  padding: 0;
}