body {
    background: url(image/MenuBack2.png) center center fixed no-repeat;
    ;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    margin: 0px;
    padding: 0px;
    filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image/MenuBack2.png', sizingMethod='scale');
    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image/MenuBack2.png', sizingMethod='scale')";
}
#AnnounceBlock{
    background-image:linear-gradient(to bottom, rgba(255,241,158, 0.5),  rgba(255, 255, 255, 0));
}
#LineShow{
    position: absolute;
    top:1px;
    left:1px;
    width:99%;
    height:99%;
    overflow:hidden auto;
}
.LineNumRoad{
    width:400px;
    height:45px;
    margin-bottom: 2px;
    margin-left: 6px;
    border-radius:6px;
}
.LineNumCity{
    width:580px;
    height:60px;
    margin-bottom: 2px;
    margin-left: 6px;
    border-radius:6px;
}
.UniLineIcon{
    width:430px;
    height:45px;
    margin-bottom: 2px;
    margin-left: 6px;
    margin-right: 6px;
    border-radius:6px;
}
.LineIcon{
    width:580px;
    height:60px;
    margin-bottom: 2px;
    margin-left: 10px;
}
.LineSchool{
    width:580px;
    height:60px;
    margin-bottom: 2px;
    margin-left: 10px;
}
.box{
    border: 2px solid red;
}
.unbox{
    opacity:0.5;
}
.LineMap{
    height:790px;
    width:auto;
    margin: 0px auto;
}
.TimeTable{
    position: absolute;
    top:20px;
    left:90px;
    height:900px;
    width:auto;
    margin: 0px auto;
}
.TTIcon{
    width:720px;
    height:auto;
    margin-bottom: 2px;
    margin-left: 10px;
}
.LMIcon{
    width:auto;
    height:400px;
    margin-bottom: 2px;
}
.TTIconS{
    width:160px;
    height:auto;
    margin-bottom: 2px;
    margin-left: 10px;
}
.Cash{
    position: absolute;
    top:200px;
    left:220px;
    height:800px;
    width:auto;
    margin: 0px auto;
}
#ShowScreen{
    position: absolute;
    top: 30px;
    left:5px;
    width:100%;
    height: 100%;
}
.RuleTable{
    width:1440px;
    height:auto;
}
.KindTable{
    width:1620px;
    height:auto;
}
#Arrow{
    background-image:url('image/Icons/change3.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 60px;
    width: 60px;
    transform:rotate(30deg);
    z-index:100;
}
#Loading{
    position: absolute;
    top:0px;
    left:0px;
    background:rgba(0,0,0,0.6);
    height: 89%;
    width: 99%;
    z-index:200;
}
#BlockPriceList{
    position: absolute;
    top:60px;
    left:360px;
    width:1120px;
    height:800px;
    background:rgba(250,250,250,1);
    overflow: auto;
}

/* menu icon */
#Road{
    position: absolute;
    bottom: 1px;
    Left:330px;
}
#City{
    position: absolute;
    bottom: 1px;
    Left:510px;
}

#Home{
    position: fixed;
    bottom: 1px;
    Left:160px;
}
#UpStair{
    position: fixed;
    bottom: 1px;
    Left:160px;
}
#Maps{
    position: absolute;
    bottom: 1px;
    Left:330px;
}
#Clocks{
    position: absolute;
    bottom: 1px;
    Left:500px;
}
#Cashs{
    position: absolute;
    bottom: 1px;
    Left:670px;
}
#PageUp{
    position: absolute;
    top:200px;
    right:60px;
}
#PageDown{
    position: absolute;
    top:330px;
    right:60px;
}
#Pages{
    position: absolute;
    top:280px;
    right:50px;
    width:80px;
    height:30px;
}
#num{
    position: absolute;
    top:5px;
    right:10px;
}
.MenuIcon{
    height: 400px;
    width: 400px;
    -webkit-filter: drop-shadow(12px 12px 7px rgba(120, 120, 120, 0.5));
}
.MenuIconS{
    height: 200px;
    width: 200px;
}
.updown{
    height: 80px;
    width:80px;
}
.cash_Stop{
    width:40px;
    height:150px;
    border-radius:6px;
}
.SelectBox{
    box-shadow: 5px 5px 2px rgba(255, 120, 120, 0.8);
}

.GroupBoxRoad{
    width: 400px;
    border-radius:10px;
    border: 2px solid midnightblue;
}
.GroupBoxUni{
    width: 440px;
    border-radius:10px;
    border: 2px solid midnightblue;
}
.GroupBoxCity{
    width: 590px;
    border-radius:10px;
    border: 2px solid midnightblue;
    margin-left: 10px;
}
.hashTag{
    position: relative;
    top:-20px;
    left:20px;
    width: 260;
    height: 40;
    background-color: white;
    border-left:2px solid midnightblue;
    border-right:2px solid midnightblue;
    margin-bottom: -15px;
}
.platTag{
    position: relative;
    top:-20px;
    left:120px;
    width: 60;
    height: 40;
    background-color: white;
    border-left:2px solid midnightblue;
    border-right:2px solid midnightblue;
    margin-bottom: -15px;
}

.TagColorBlue1{
    background-image: linear-gradient(rgba(78,172,219, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(78,172,219, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorBlue2{
    background-image: linear-gradient(rgba(192,214,228, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(192,214,228, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorGreen1{
    background-image: linear-gradient(rgba(131,228,188, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(131,228,188, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorGreen2{
    background-image: linear-gradient(rgba(102,205,170, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(102,205,170, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorTan{
    background-image: linear-gradient(rgba(210,180,140, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(210,180,140, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorPink{
    background-image: linear-gradient(rgba(255,192,203, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(255,192,203, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorPurple{
    background-image: linear-gradient(rgba(212,181,255, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(212,181,255, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorYellow{
    background-image: linear-gradient(rgba(229,224,168, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(255,246,143, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}
.TagColorRed{
    background-image: linear-gradient(rgba(200,160,160, 0.2) 50%, transparent 0), linear-gradient(90deg ,rgba(128,0,0, 0.2) 50%, transparent 0);
    background-size: 30px 30px;
}

table {
    border-collapse: collapse;
}
/*tr, td, th {padding: 0px;margin: 0px;}*/

p{
    clear:both;
    margin:0;
}
ul{
    clear:both;
    list-style:none;
}
a{
    text-decoration:none;
    clear:both;
    margin:0;
}
a:hover{
    border-bottom:1px dashed #111;
}

/*文字顏色*/
.cbord{
    font-weight:bold;
}
.ctitle{
    font-size:32px;
    font-family:"標楷體";
}
.ctitle2{
    font-size:28px;
    font-family:"標楷體";
}
.rtitle{
    font-size:34px;
    font-family:"標楷體";
}
.rword{
    font-size:28px;
    font-family:"標楷體","微軟正黑體";
    line-height: 28px;
}
.rword2{
    font-size:26px;
    font-family:"標楷體","微軟正黑體";
    line-height: 26px;
}
.rword3{
    font-size:24px;
    font-family:"標楷體","微軟正黑體";
    line-height: 24px;
}
.rword4{
    font-size:20px;
    font-family:"標楷體","微軟正黑體";
    line-height: 20px;
}
.rword5{
    font-size:16px;
    font-family:"標楷體","微軟正黑體";
    line-height: 16px;
}
.oword{
    font-size:28px;
    font-family:"標楷體","華康中圓體","微軟正黑體";
}
.oword2{
    font-size:26px;
    font-family:"標楷體","華康中圓體","微軟正黑體";
}
.oword3{
    font-size:24px;
    font-family:"標楷體","華康中圓體","微軟正黑體";
}
.oword4{
    font-size:20px;
    font-family:"標楷體","華康中圓體","微軟正黑體";
}
.oword5{
    font-size:16px;
    font-family:"標楷體","華康中圓體","微軟正黑體";
}
.chead{
    font-size:18px;
    font-family:"標楷體","微軟正黑體";
}
.chead2{
    font-size:18px;
    font-family:"標楷體";
}
.cword{
    font-size:16px;
    font-family:"微軟正黑體";
}
.cword2{
    font-size:16px;
    font-family:"標楷體";
}
.mword{
    font-size:14px;
    font-family:"微軟正黑體";
}
.sword{
    font-size:12px;
    font-family:"微軟正黑體";
}
.tword{
    text-decoration:line-through;
}
.pword{
    font-size:32px;
    font-family:"翩翩體-簡","標楷體";
}
.pword2{
    font-size:28px;
    font-family:"翩翩體-簡","標楷體";
}
.pword3{
    font-size:24px;
    font-family:"翩翩體-簡","標楷體";
}
.pword4{
    font-size:20px;
    font-family:"翩翩體-簡","標楷體";
}

.cblack{
    color:black;
}
.cblue{
    color:blue;
}
.cgreen{
    color:dodgerblue;
}
.cgr{
    color:green;
}
.cred{
    color:red;
}
.cgray{
    color:gray;
}
.cwhite{
    color:white;
}
.ccrimson{
    color:crimson;
}
.ccfblue{
    color:cornflowerblue;
}
.cpowderblue{
    color:powderblue;
}
.clightpink{
    color:lightpink;
}
.ctan{
    color:tan;
}
.cyellow{
    color:mediumorchid;
}
.clightcoral{
    color:lightcoral;
}
.clightyellow{
    color:lightyellow;
}
.clightgreen{
    color:lightgreen;
}
.cchoco{
    color:chocolate;
}

.wcn{
    text-align:center;
}
.wln{
    text-align:left;
    padding-left: 10px;
}
.wln2{
    text-align:left;
    padding-left: 20px;
}
.wrn{
    text-align:right;
}

/*清除浮動放在外框用*/
.clearfix{
    display:inline-block;
}
.clearfix:after{
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}

/*底色*/
.textbox{
    background-color:gray;
}
.textboxb{
    background-color:blue;
}
.textboxccf{
    background-color:cornflowerblue;
}
.textboxdg{
    background-color:darkseagreen;
}
.textboxg{
    background-color:palegreen;
}
.textboxle{
    background-color:lemonchiffon;
}
.textboxlg{
    background-color:lightgray;
}
.textboxlgg{
    background-color:#e7e7e7;
}
.textboxls{
    background-color:lightsalmon;
}
.textboxlv{
    background-color:lavender;
}
.textboxp{
    background-color:lightpink;
}
.textboxpa{
    background-color:papayawhip;
}
.textboxpw{
    background-color:powderblue;
}
.textboxr{
    background-color:lightcoral;
}
.textboxrm{
    background-color:#70A7E0;
}
.textboxlr{
    background-color:#ffcccc;
}
.textboxt{
    background-color:tan;
}
.textboxth{
    background-color:thistle;
}
.textboxy{
    background-color:linen;
}
.textboxwh{
    background-color:wheat;
}
.textboxw{
    background-color:white;
}

.TimeListSelect{
    border:1px solid midnightblue;
}
.TimeListNoSelect{
    border-bottom: 1px solid midnightblue;
}
/*background-position: center center;*/
/*background-position: bottom center;*/

.scroll-image {
    background-position: top center;
    background-size: cover;
    transition: background-position 1s ease;
    float:left;
    width: 95%;
    height:935px;
    box-sizing: content-box;
    border:1px solid #ccc;
}

.map-image{
    position: absolute;
    top:0px;
    left:0px;
    padding:10px;
    height:88%;
    width:99%;
    overflow:auto;
    letter-spacing: 2px;
    line-height: 24px;
}

.img1 {
    background-image: url(image/AllMap.jpg);
}

.back_img1:after {
    content : "";
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    background-image: url(image/Icons/backPaper1.jpg);
    width: 99.8%;
    height: 90%;
    opacity : 0.35;
    z-index: -100;
}


.blink {
    animation-duration: 1s;
    animation-name: blink;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
}
@keyframes blink {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

#showTime{
    position: absolute;
    bottom: 2px;
    left:2px;
    width:150px;
    height:66px;
    padding-top: 6px;
    background-image: linear-gradient(to right, #ffecd2 0%, #fcb69f 100%);
}

.slider_container {
    margin: 5px auto;
    width: 1660px;
    height: 930px;
    position: relative;
    border: 10px solid;
    border-color: #fff;
    background-color: #f5f5f5;
    box-shadow: #666 0 0 5px;
}

.slider_container div {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    filter: alpha(opacity=0);
}

.autoscale{
    width:380px;
    height:45px;
    margin-bottom:5px;
    margin-left:6px;
    border-radius:6px;
    border:1px solid #e5e7eb;
    background:#fff;
    display:flex;
    align-items:center;            /* 垂直置中 */
    justify-content:flex-start;                  /* ⬅️ 改成靠左 */
    padding:0 10px;
}
.autoscale > .fittext{
    white-space:nowrap;
    line-height:1;
} /* 你的 span */

.route{
    --bg1:#f3f4f6;           /* 預設背景漸層色1（會被主題覆蓋） */
    --bg2:#eef2f7;           /* 預設背景漸層色2（會被主題覆蓋） */
    --border:#cbd5e1;        /* 邊框色（會被主題覆蓋） */
    --ink:#111827;           /* 文字色 */

    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:0 10px;
    color:var(--ink);
    border:1px solid var(--border);
    background:linear-gradient(135deg, var(--bg1), var(--bg2));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
    text-align:left;
}

/* 主題色：O=橘、B=藍、G=綠、Y=黃（淡色） */
.route--O{ /* 原 101 */
    --bg1:#f7dfd6;
    --bg2:#f3cfc3;
    --border:#e9b9a3;
}
.route--B{ /* 原 102 */
    --bg1:#edf4fb;
    --bg2:#e1ecf7;
    --border:#c6d5e6;
}
.route--G{ /* 原 103 */
    --bg1:#eef2e8;
    --bg2:#e6ebdf;
    --border:#c2ccb8;
}
.route--Y{ /* 原 201 */
    --bg1:#f6ead2;
    --bg2:#f0ddb9;
    --border:#dec391;
}

/* ===== 時刻表專用樣式（安全前綴 tt-） ===== */

/* 捲動容器、表格底色都給實心白，避免透出底層 */
.tt-scroll, .tt-table {
    background:#fff;
}

/* 表格統一設定（保留你原本的 separate/spacing） */
.tt-table{
    border-collapse:separate;
    border-spacing:0;
    table-layout:fixed;
}
.tt-table th, .tt-table td{
    border:1px solid #d1d5db;
    padding:6px 8px;
    background-clip:padding-box;     /* sticky + 邊框時避免滲色 */
}

/* 表頭：一定給實心底色 + z-index，避免看起來透明 */
.tt-table thead th{
    background-color:#f8fafc;
    position:sticky;
    z-index:3;
}
.tt-table thead tr:nth-child(2) th{
    top:0;
}               /* 第一層欄位標頭 */
.tt-table{
    --tt-head1-h:36px;
}
.tt-table thead tr:nth-child(3) th{
    top:var(--tt-head1-h);
    z-index:2;
}  /* 第二層（平日/假日） */
.tt-table thead th[rowspan]{
    z-index:4;
}  /* 跨列(rowspan)的 th 疊在最上層 */

/* 斑馬紋：改套在 <td>，不要套在整個 tr（避免影響 sticky th） */
.tt-table tbody tr td{
    background-color:#fff;
}
.tt-table tbody tr:nth-child(even) td{
    background-color:#fafafa;
}

.tt-title{
    padding:8px 10px;
    background:#fff7ed;            /* 柔和橘底 */
    border:1px solid #fde68a;
    border-radius:6px;
    margin:6px 0;
}
.tt-hint{
    color:#2563eb;
}
.tt-warn{
    color:#b91c1c;
}
.tt-zebra tbody tr:nth-child(even){
    background:#fafafa;
}
.tt-col-route{
    width:6%;
    white-space:nowrap;
}
.tt-col-via  {
    width:8%;
    white-space:nowrap;
}
.tt-station  {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.text_hline{
    margin-left : 3.5em;
    text-indent : -3.5em ;
}
.text_oline{
    margin-left : 2em;
    text-indent : -2em;
}
.text_oline-2{
    margin-left : 2.3em;
    text-indent : -2.3em;
}
.text_oline-3 {
    margin-left: 0.9em;
    text-indent: -0.7em;
}
.text_oline_sec{
    margin-left : 5em;
    text-indent : -3em ;
}
.text_oline_sec-2 {
    margin-left: 4.5em;
    text-indent: -2.6em;
}
.text_oline_trd{
    margin-left : 6em;
    text-indent : -1em ;
}
.text_fline{
    margin-left : 2em;
}
.text_year{
    border-bottom: 3px #ffaaaa double;
    margin-right: 5px;
}
.store-area {}

.store-area__title {
	position: relative;
	background-color: #e9f3f4;
	padding: 12px 15px 9px 15px;
	font-size: 28px;
	text-align: center;
}

.store-area__body {
	padding: 15px;
}

.store-area__link {
	display: block;
	margin-bottom: 5px;
	font-size: 18px;
}

.store-area__card {
	padding: 10px 15px 8px;
	background-color: #f7f7f7;
	margin-bottom: 10px;
}

.store-area__icon {
	font-size: 20px;
	margin-right: 8px;
}

.store-area__card-title{
	font-size:20px;
}

.store-area__card-text{
	margin-bottom: 0;
}