﻿@charset "utf-8";

/**************************************************
= header 上方登入選單
********************/
/*theme-bg 背景色*/
.theme-bg{ background:#f9fbe1;background-image: url(../img/bg.jpg); background-repeat: repeat-y; }

/*模組背景色*/
div#main_top,.breadcrumb,div#left,div#middle,div#main_right,div#main_bottom{ background: #ffffff;}
.center-module-bg{background: #ffffff;}
div#main_top .module,div#left .module,div#middle .module,div#main_right .module,div#main_bottom .module,.module{ background:#ffffff;}

/**************************************************
= header 上方登入選單
********************/
.login .top-space header{ margin-top: 45px;}
header{ background: rgba(255, 255, 255, 0.7);}
/*header a, header button, header .dropdown-content a { background: rgba(255, 255, 255, 0.5)}*/
header>a,header>div{color:#13358c;}
header .fontsize button {color: #13358c; background-color:rgba(255,255,255,0.9); border:1px solid #dadada; border-radius: 50px; box-shadow: none; padding:0; }
header .fontsize button:hover {background-color: #13358c; color: #ffffff; }
header .dropdown svg { fill: #13358c;}
header a:hover,
header>div:hover{ color:#3e463f; }
header .dropdown:hover svg{ fill: #1f0e05;}
header .dropdown-content a:hover{ color: #ffffff; background-color: #173ea0; }
.logo,.logo a { font-size: 2rem;  color: #545454;}
.focusable{ opacity: 0;}
.focusable:focus{ opacity: 1;}

@media screen and (max-width: 767px) {
header, header a, header button, header .dropdown-content a { border-radius: 0px; top:0px; left:0px;}
header>a,header>div{ color:#1f0e05; }
header a:hover, header>div:hover { color: #1f0e05;}
header .dropdown svg{ fill:#1f0e05; }
header .dropdown-content a:hover { color: #bc8ce4; background-color: rgb(246, 235, 255);}
.theme-bg { background-position: -550px 30px;}
}

@media screen and (max-width:520px){
.theme-bg { background-position: -880px 0px;}
}

@media screen and (max-width:767px){
.login .top-space header{ margin-top: 0px;}
}
/**************************************************
= theme 上方主圖
********************/
h1 strong { position: relative;}
h1 strong.picshow { position: absolute; top: -500px;}

/**************************************************
= navbar 橫式選單模組
********************/
.navbar { background-color:#0955a2;}
/* .navbar ul{ max-width: 1500px;} */
.navbar li a{ color:#ffffff; }
.navbar li:hover a {color:#ffffff;}
.navrwd-svg svg { fill: #ffffff;}
.navbar li:hover ul a,.navbar ul li a:focus + .navrwd + .menuhidden{ background-color:#fefeff; color:#1b3e97;}
.navbar li:hover ul a:hover { background-color:#dde839; color:#1b3e97;}
.navbar li ul li a{min-width:max-content;}
.navbar li .menuhidden.navbar-menu a { background-color:#fefeff; color:#1b3e97;}
.navbar li .menuhidden.navbar-menu a:hover { background-color:#dde839; color:#1b3e97;}
.navbar li ul a { border-bottom:1px solid #b9c3dd;}

@media screen and (max-width: 767px) {
.navbar li { width: 100%; background: #13358c;}
.navbar ul { /*background: #fefeff; color: #ffffff;*/}
.navbar li a { /*background: #13358c; */color: #ffffff;}
.navbar ul li{border-bottom: 1px solid #879289;}
.navbar li:hover a{ color: #ffffff;}
.navbar li:hover ul a {  background-color:#fefeff; color:#1b3e97;}	
.navbar li:hover ul a:hover {  background-color:#ffdcdc; color:#1b3e97;}
.navbar li .menuhidden.navbar-menu a{ background-color:#fefeff; color:#1b3e97;}
.navbar li .menuhidden.navbar-menu a:hover { background-color:#ffdcdc; color:#1b3e97;}
.navbar .show-menu{ color: #bc8ce4;background:#ffffff}
.navbar .show-menu .ct-hamburger svg { fill:#13358c;}
.navrwd-svg{ background: rgba(255,255,255,0.8); border: none;}
.navrwd-svg svg{ fill: #13358c;}
.navbar li ul li { border: 0;}
}

@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 #1742b1;}
.breadcrumb-item.active {color:#130701;}
.breadcrumb a{color:#1742b1;}
.breadcrumb a:hover{color:#002121;}

/**************************************************
= footer 最下方聯絡資訊
********************/
.footerbg{ background-color: inherit; color: #321504; background-image: url(../img/footer.png); background-repeat: no-repeat;min-height: 460px; padding-top: 170px;}
.footerbg a {color: #321504;}
.connect-links,.connect .text.connect-explorer{ color: #321504;}
.connect-links:hover{text-decoration: none;color: #321504;}
.copyright { color:#ffffff; background-color:#13358c;}

@media screen and (min-width: 1580px){
.t-set{bottom: 100px; position: absolute;}
}

@media screen and (min-width: 1024px) and (max-width: 1480px){
.t-set{left:15%}
}

/**************************************************
= module title 模組標題
********************/
.module-title { color: #113695;}

/**************************************************
= 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: #1b41a0; background: #f7f7f7; border-color: #f7f7f7 #f7f7f7 #f7f7f7;}
.nav-pills .nav-item a{ border-bottom: 1px solid #f4ffd4;}
.nav-tabs .nav-link:focus,
.nav-tabs .nav-link:hover {  color: #2e4d9e; background: #f4f7c4; border-color: #f4f7c4 #f4f7c4 #ebb6c5;}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {color: #ffffff; background: #0955a2; border-color: #0955a2 #0955a2 #0955a2;}
.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:#d19475;}
.nav-tabs .nav-link.disabled,
.nav-pills .nav-link.disabled {color: #868e96;}
.ct-dropdown-menu { background-color: #fff;  border: 1px solid #d19475;}
.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 #f7f7f7; 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: #57504a; background-color: #ece7dd; border-color: #ffffff; border-bottom: 1px solid #b79e92;}
.ct-table .thead-dark th { color: #ffffff; background-color: #736e64; border-color: #736e64;}
.table-bordered {border-color: #e9ecef;}
.table-bordered th,.table-bordered td {border-color:#ccc;}
.table-hover tbody tr:hover { background-color:#fff9fc;}

@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: #f4f7c4; color: #648214; border-bottom-color: #ffffff;}
.nav-Vertical ul li .sub-menu-item:hover { background:#648214; color: #ffffff;}


.nav-Vertical ul li .sub-menu-item a{color:#154617}
.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:#162f18;}

.nav-Vertical ul li .menu-arrow svg{ fill:#0a1d50;}
.nav-Vertical ul li .menu-arrow:hover svg{ fill: #ffdeec;}
.nav-Vertical ul li ul li .sub-menu-item{ background:#ffffff;border-bottom-color: #d7f5a2;}
.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: #1742b1; border-left-color: #1742b1;}
.vertical-hamburger { background:#ffecec;}
.vertical-hamburger svg { fill:#1f429c;}

.ct-sitemap{background:#ffffff;}
.sitemap-title { background: #1c3c8f; color: #ffffff;}
.sitemap-block { background: #ffffff;}
.sitemap-item a { color: #1c3c8f; border-left-color: #ffc107; background: #f5f5f5;}
.sitemap-item a:hover,
.sitemap-item a:focus{background: #f9fbd7; color: #294899; border-left-color: #aeb353;}
.sitemap-icon svg {fill: #ffffff;}

/*span-color-ga003*/
.span-color-ga003,a.span-color-ga003{color: #13358c;}
a.span-color-ga003:hover,a.span-color-ga003:focus {color:#10ad7d;}

/*span-color-ga007*/
.span-color-ga007,a.span-color-ga007{color: #13358c;}
a.span-color-ga007:hover,a.span-color-ga007:focus {color:#10ad7d;}

/*線上報修button-ga009********************/
.repair-basicset .btn-primary { color: #ffffff;  background-color:#1742b1;  border-color:#1742b1;  fill: #ffffff;}
.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:#006b6c;}
.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:#006b6c;}

/* CGA001 圖文公告換色 ********************/
.ct-focusslider .focus-content .textblock{ background:#fafafa; color: #545454; border-bottom: 4px solid #1f429c;}
.ct-focusslider .focus-content .textblock.notice-color{background:#f5f5f5; color: #545454;  border-bottom: 4px solid #1f429c;}
/*CGA001 圖文公告箭頭顏色*/
.ct-focusslider .focus-controls .focus-arrow{ fill:#1f429c; }
.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:#1742b1; border-color:#1742b1; fill: #ffffff;}
.ct-epaper .btn-primary:hover{color: #ffffff; background-color:#006b6c;  border-color:#006b6c; fill: #ffffff;}
.ct-epaper .yearnav ul li{ background: #f4ffd4; color: #13358c; border-bottom: 1px solid #1f429c;}
.ct-epaper .yearnav ul li:hover { background: #13358c; color: #ffffff;}

/* GA017 全文檢索*******************/
.cmgch-google .btn-all{ color: #ffffff; background-color:#1742b1; border-color:#1742b1; fill: #ffffff;}
.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:#006b6c;  border-color:#006b6c; 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: #676767;  border-color: #676767; fill: #ffffff;}
.cmgch-google .form-group-m input { caret-color:#1742b1;} 
.cmgch-google .form-group-m .bar::before {background:#1742b1;}

/*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: auto; height: 150px;}



:focus {
	outline: 2px solid #000000 !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 #000000 !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;
}


