@charset "utf-8";
@import url(../fonts/font-montserrat.css);/*Montserrat,font-family:'Montserrat', sans-serif; font-weight:300(Light),400(Regular),500(Medium),700(Bold),800(ExtraBold)*/
@import url(../fonts/font-playfair-display.css);/*PlayfairDisplay,font-family:'Playfair Display', sans-serif; font-weight:400(Regular),500(Medium),700(Bold);font-style: italic;font-style: normal;*/
@import url(../fonts/font-NotoSerifTc.css);/* font-family: "Noto Serif TC", serif; Regular 400 Medium 500 Bold 700*/
@import url(../fonts/font-NotoSansTc.css);/*Noto Sans TC,font-family:'Noto Sans TC', sans-serif; font-weight:300(Light),400(Regular),500(Medium),700(Bold)*/
@import url(mmenu.css);


/* Font Awesome 5 Brands */
@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-brands-400.woff2) format("woff2"),url(../fonts/fa-brands-400.woff) format("woff"),url(../fonts/fa-brands-400.ttf) format("truetype")}.far{font-family:"Font Awesome 5 Brands";font-weight:400}
/* Font Awesome 5 Pro - light */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:300;font-display:auto;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype")}.far{font-family:"Font Awesome 5 Pro";font-weight:300}
/* Font Awesome 5 Pro - regular */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype")}.far{font-family:"Font Awesome 5 Pro";font-weight:400}
/* Font Awesome 5 Pro - solid */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype")}.fa,.fas{font-family:"Font Awesome 5 Pro";font-weight:900}


/* CSS Reset */
html, body, div, span, applet, object, iframe, form,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, 
em, img, q, strong, sub, sup,
dl, dt, dd, ol, ul, li { margin:0; padding:0; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, textarea, input, button, header, footer, section, nav, main, figcaption, figure { box-sizing:border-box; }
img { border:0; }
ul, ol { list-style:none; }
table { border-collapse:collapse; border-spacing:0; }

select, input, textarea, button { font-size:1rem; }
input[type="checkbox"], input[type="radio"] { margin-right:5px; margin-left:0; vertical-align:middle; }
input[type="button"], input[type="submit"], input[type="reset"], input[type="file"], select, button { cursor:pointer; }
input:not([type="checkbox"]), input:not([type="radio"]), input:not([type="file"]) { padding:0; }
button { padding:0; transition:all 0.3s ease; }
/*ios樣式清除*/
input[type="button"], input[type="submit"], input[type="reset"], button {
	background-color:transparent; border:none; margin:0px;
	background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 100%);
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 );
}

/*字型設定*/
body { font-family: 'Playfair Display', 'Noto Serif TC',  '微軟正黑體', sans-serif; color: #222; letter-spacing: .05rem; }
input, textarea, select, button { font-family: 'Montserrat', 'Noto Sans TC', '微軟正黑體', sans-serif; }
h1, h2, h3, h4, h5, h6 { line-height:1.75em; font-family: 'Playfair Display', 'Noto Serif TC',  '微軟正黑體', sans-serif; }

/* 共用 */
:root {
    --color_light_blue: #cbebfe;
    --color_blue: #0058a6;
    --color_dark_blue: #00437f;
    --color_light_greenblue: #e6fbfa;
    --color_greenblue: #2ec8c0;
    --color_dark_greenblue: #04b4ab;
    --color_yellow: #f6d62d;
    --color_gold: #d48702;
    --color_white: #fff;
    --color_white_a25: rgba(255,255,255,0.25);
    --color_white_a50: rgba(255,255,255,0.5);
    --color_white_a75: rgba(255,255,255,0.75);
    --color_white_a90: rgba(255,255,255,0.9);
    --color_black: #222;
    --color_black_a50: rgba(0,0,0,0.5);
    --color_dark_gray: #333;
    --color_gray: #666;
    --color_light_gray: #f5f5f5;
    --color_border: #ddd;
    --color-tr-even: #f6fbff;
    --color-tr-even: #f2f9ff;
    --color-tr-odd: #e2f4ff;
    --main-text-shadow: 0px 0px 15px rgba(0,0,0,0.5);
}
#Wrap { position: relative; z-index: 1; }
a { color: var(--color_blue); text-decoration: none; transition: all 0.3s ease; }
a:hover, a:focus { text-decoration:none; text-underline-offset: 4px; }
a:focus, :focus { outline: none; }
body.fixed { overflow:hidden; }
.imgBox img { max-width: 100%; }
img.img-fluid-w{ width:100%; height:auto;}
.IconOnly{ font-size: 0;}


/*----------------------------------------------------------------------*/
/* button, lines */
.moreLink{ color: var(--color_blue); position: relative;  display: inline-block;  font-size: 0.875rem;  font-family:'Montserrat', sans-serif;  font-weight: 500; letter-spacing: .2rem; text-transform: uppercase; text-decoration: none; height: 1.875rem} 
.moreLink:after{ content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 2px; background-color:  var(--color_blue); transition: transform .5s cubic-bezier(.17,.67,.39,1.01); transform-origin: center left;}
.moreLink:hover{ color: var(--color_dark_blue); }
.moreLink:hover:after{ transform: scaleX(0); transform-origin: center right;}
@media screen and (max-width: 1023px) {
    .moreLink{ font-size: .75rem; font-weight: 600; height: 1.75rem}    
}    
/*----------------------------------------------------------------------*/
/* Fix Button */
.FixedBtns { text-align:center; z-index:9999; position:fixed; bottom:120px; left: 0; }
.FixedBtns li { position: relative; }
/* .FixedBtns li:not(:first-child)::before { content: ''; position: absolute; top: 0; left: 0; z-index: 10000; width: 50px; height: 1px; background-color: var(--color_white_a50); } */
.FixedBtns a { 
    display: flex; justify-content: center; align-items: center; 
    background: var(--color_blue); color: var(--color_white);
    text-align:center; text-decoration:none;    
	box-shadow: 0 0 7px 2px rgba(43, 43, 43, .3);
    width: 60px; height: 60px;;
	border-radius: 0 10px 10px 0;	
	transition: all 0.3s ease;
    border: 1px solid var(--color_white_a25);
    border-left: 0;
}
.FixedBtns a:before{display: inline-block; width: 24px; height: 24px; font-size: 24px;}
.FixedBtns a.btn_facebook:before{content: "\f082"; font-family: "Font Awesome 5 Brands"; font-weight: 400;}
.FixedBtns a.btn_location:before{content: "\f3c5"; font-family: "Font Awesome 5 Pro"; font-weight: 900;}
.FixedBtns a:hover, .FixedBtns a:focus { width: 140px; background: var(--color_dark_greenblue); justify-content: flex-start; padding: 0 10px;}
.FixedBtns a > span{display: none; transition-delay: .25s; transition: all 0.3s ease;}
.FixedBtns a:hover > span, .FixedBtns a:focus > span{display: inline-block; font-size: 16px; white-space: nowrap; margin-left: .5rem; }

@media screen and (max-width: 1600px) {
    .FixedBtns a{ width: 40px; height: 40px;}
    .FixedBtns a:before{font-size: 20px; width:20px; height: 20px;}
    .FixedBtns a:hover > span, .FixedBtns a:focus > span{font-size: 14px;}
}

@media screen and (max-width: 1023px) {
  /* 搬進mm-menu */
  .FixedBtns{display:none;}
}
/*----------------------------------------------------------------------*/
/* BtnTop */
.BtnTop { text-align:center; z-index:9999; position:fixed; bottom:40px; left: 0; visibility: visible; opacity: 1; transition: .5s;}
.BtnTop.hide { visibility: hidden; opacity: 0; transition: .5s;}
.BtnTop a { 
    display: flex; justify-content: center; align-items: center; flex-direction: column;
    background: #999999; color: var(--color_white);
    text-align:center; text-decoration:none;    
	box-shadow: 0 0 7px 2px rgba(43, 43, 43, .3);
    width: 60px; height: 60px;;
	border-radius: 0 10px 10px 0;	
	transition: all 0.3s ease;
}
.BtnTop a:hover, .BtnTop a:focus { background: var(--color_dark_greenblue); }
.BtnTop a span{ font-size: 14px; letter-spacing: 2px; text-transform: uppercase;}
.BtnTop a:before{ display: inline-block; width: 24px; height: 20px; font-size: 20px; margin-bottom:0px; content: "\f077"; font-family: "Font Awesome 5 Pro"; font-weight: 300; }

@media screen and (max-width: 1600px) {
    .BtnTop{bottom: 60px;}
    .BtnTop a{ width: 40px; height: 40px;}
    .BtnTop a:before{font-size: 14px; height: 14px;}
    .BtnTop a span{font-size: 12px;}
}
@media screen and (max-width: 1023px) {
        .BtnTop{bottom: 40px;}
}
/*----------------------------------------------------------------------*/
/* Menu */
/* 先隱藏子選單,等網頁載入完畢後再顯示 */
#Header .MenuBox{display: flex; align-items: center; justify-content: center;}
#Header .MenuBox #Menu { display:flex; border-bottom:0px solid yellow;}
#Header .MenuBox{position:absolute; top:0; left:0; width:100%; height:7rem; z-index:4; }
#Menu .superfish { /*overflow:hidden;*/ z-index:10002; }
#Menu .menu_list{width: 100%; max-width:1600px; display: flex; flex-wrap:wrap; justify-content: center; align-items: center; margin: 2rem auto 2rem auto;}
#Menu .menu_list > li { position:relative;}
#Menu .menu_list > li:first-child { margin-left: 0}
#Menu .menu_list > li:last-child { margin-right: 0}
#Menu .menu_list > li a {  position: relative;display:inline-block;  text-align:center; color:var(--color_white); text-shadow:var(----main-text-shadow); font-weight:500; letter-spacing:1px; text-decoration:none; }
#Menu .menu_list > li > a:before{ background: none repeat scroll 0 0 transparent;  bottom: -10px;  content: "";  display: block;  height: 2px;  left: 50%;  position: absolute;  background: #fff;  transition: width 0.3s ease 0s, left 0.3s ease 0s;  width: 0;}
#Menu .menu_list > li > a.has_submenu:after{ display: inline-block; margin-left: 5px; width: 1.25rem; height: 1.25rem; font-size:0.875rem; content: "\f078"; font-family: "Font Awesome 5 Pro"; font-weight: 400;     }
#Menu .menu_list > li:not(.MenuLogo) > a:hover, #Menu .menu_list > li > a.active{ text-shadow: 0 0 12px var(--color_yellow);}
#Menu .menu_list > li:not(.MenuLogo) > a:hover:before, #Menu .menu_list > li > a.active:before{width: 100%;   left: 0; }  
#Menu .menu_list .topLogo{display:block; width: 240px; height: 46px; aspect-ratio: 240 / 46; background: url('../images/top-logo-white.svg') no-repeat center center; background-size: 100% auto;}
#Menu .menu_list > li > a .globe_icon:after{display: inline-block; margin-right: .5rem; content: "\f0ac"; font-family: "Font Awesome 5 Pro"; font-weight: 300;}

/* SubMenu */
#Menu .menu_list ul { width: 15rem; position:absolute; display:none; background-color:var(--color_black_a50); box-shadow:0 0 10px rgba(0,0,0,0.25); background: transparent;}
#Menu .menu_list > li > ul { left:50%; top: calc(100% + 1.25rem); transform: translateX(-50%);}
#Menu .menu_list > li > ul ul { top:0; }	
#Menu li.MenuLang ul{ width: 10rem; }
#Menu .menu_list ul li { position:relative; text-align:center;}
#Menu .menu_list ul li::before { content:''; display:block; position:absolute; top:0; left:15px; width:calc(100% - 30px); border-top:1px solid var(--color_white); }
#Menu .menu_list ul li:first-child::before { display:none; }
#Menu .menu_list ul a { letter-spacing: 0.1rem; font-size:1.375rem; padding:15px 15px; line-height:1.375em; text-align:center; font-weight:400; position:relative; text-transform:none; width:100%; background-color:var(--color_black_a50);
background-color:var(--color_black_a50);}
#Menu .menu_list ul a:hover, #Menu .menu_list ul a:focus {  color: var(--color_white); background: var(--color_blue);}

/* Search */
#Header .MenuBox .global_search_open { display: flex; justify-content: flex-end; align-items: center; cursor: pointer;}
#Header .MenuBox .global_search_open:before{ color:Var(--color_white); display: inline-block; width: 1.25rem; height: 1.25rem; font-size:1.125rem; content: "\f002"; font-family: "Font Awesome 5 Pro"; font-weight: 300; }
#Header .MenuBox .global_search_open:hover{text-shadow: 0 0 12px var(--color_gold);}

/* Menu RWD */
#Menu .menu_list > li a { font-size:1.375rem;  }
#Menu .menu_list li ul a { font-size:1.125rem;  }
#Menu .menu_list > li { margin: 0 20px;}
#Menu .menu_list > li.MenuLogo{ margin: 0 30px; }
#Menu .menu_list > li > a .globe_icon:after, #Menu .menu_list > li > a.has_submenu:after{ width: 1.25rem; height: 1.25rem;}
#Menu .menu_list > li > a .globe_icon:after{font-size: 1.125rem;}
#Header .MenuBox .global_search_open{ margin-left:40px; margin-right: 100px;}
@media screen and (max-width: 1819px){
    #Header .MenuBox .global_search_open{ margin-left:40px; margin-right: 60px;}
}
@media screen and (max-width: 1679px){
    #Menu .menu_list > li { margin: 0 10px;}
    #Menu .menu_list > li.MenuLogo{ margin: 0 15px; }
    #Header .MenuBox .global_search_open{ margin-left:20px; margin-right: 80px;}
}
@media screen and (max-width: 1599px){
    #Menu .menu_list > li a { font-size:1.125rem;  }
    #Menu .menu_list li ul a { font-size:1.125rem;  }
    #Menu .menu_list > li { margin: 0 20px;}
    #Menu .menu_list > li.MenuLogo{ margin: 0 30px; }
    #Header .MenuBox .global_search_open{ margin-left:40px; margin-right: 80px;}
}
@media screen and (max-width: 1529px){
    #Menu .menu_list > li { margin: 0 10px;}
    #Menu .menu_list > li.MenuLogo{ margin: 0 15px; }
    #Header .MenuBox .global_search_open{ margin-left:20px; margin-right: 80px;}
}
@media screen and (max-width: 1399px){
    #Menu .menu_list .topLogo{width: 200px; }
    #Header .MenuBox .global_search_open{ margin-left:20px; margin-right: 20px;}
}
@media screen and (max-width: 1289px){
    #Menu .menu_list ul { width: 12rem;}
    #Menu li.MenuLang ul{ width: 9rem; }
    #Menu .menu_list > li a { font-size:0.9rem;  }
    #Menu .menu_list li ul a { font-size:0.9rem;  }
    #Menu .menu_list > li { margin: 0 10px;}
    #Menu .menu_list > li.MenuLogo{ margin: 0 15px; }
    #Menu .menu_list .topLogo{width: 160px; }

    #Header .MenuBox .global_search_open{ margin-left:20px; margin-right: 20px;}
    #Menu .menu_list > li > a .globe_icon:after, #Menu .menu_list > li > a.has_submenu:after{ width: 0.875rem; height: 0.875rem;}
    #Menu .menu_list > li > a .globe_icon:after{font-size: 0.875rem;}    
}
@media screen and (max-width: 1099px) {
    #Header .MenuBox .pcMenu{display:none;}
    #Header .MenuBox { height: 50px;}
    #Header .MenuBox .MenuLogo{ margin: 5px auto 0 auto;}
    #Menu .menu_list .topLogo{width: 160px; }
    #Menu .menu_list{margin: 0 auto;}
}
/* Menu 浮動效果 */

@media screen and (min-width: 1100px){
    .MenuFix #Header .MenuBox{
        position:fixed; top:0; left:0; width:100%; height:60px; box-shadow:0 10px 10px rgba(0,0,0,0.15);
        animation:header 0.5s ease 1;
        background-color: rgba(255,255,255,1);
    }
    .MenuFix #Menu .menu_list ul li::before{ border-color:var(--color_black);}
    .MenuFix #Menu .menu_list > li a{ color: var(--color_dark_blue); font-weight: 600; letter-spacing:1px;}
    .MenuFix #Menu .menu_list ul a:not(:hover){ color: var(--color_dark_blue); font-weight: 600; background: var(--color_white_a90);}
    .MenuFix #Menu .menu_list ul a:hover{ color: var(--color_white); font-weight: 600; background: var(--color_dark_greenblue);}
    .MenuFix #Menu .menu_list > li:not(.MenuLogo) > a:hover, .MenuFix #Menu .menu_list > li > a.active{ text-shadow: none; color:var(--color_dark_greenblue);}
    .MenuFix #Menu .menu_list > li:not(.MenuLogo) > a:before, .MenuFix #Menu .menu_list > li > a:before{background: var(--color_dark_greenblue); bottom: -5px;}      
    .MenuFix #Header .MenuBox .global_search_open:before{ color: var(--color_dark_blue);}
    .MenuFix #Menu .menu_list .topLogo{background: url('../images/top-logo-blue.svg') no-repeat center center; background-size: 100% auto; }
}   
@media screen and (min-width: 1290px){
    .MenuFix #Menu .menu_list .topLogo{ width: 200px; }
}
@media screen and (max-width: 1289px){
    .MenuFix #Menu .menu_list .topLogo{ width: 160px; padding: 0;}
}

@-webkit-keyframes header{		0%{ top:-70px;}        100%{ top:0; }	}


/* 全站搜尋 GlobalSearchOverlay 出現 */
body.disable-scroll { overflow: hidden;}
.GlobalSearchOverlay {
  display: block;  position:fixed;  top: 0;  width: 100%;  height: 50vh; min-height:300px; padding: 57px 60px 65px; background-color: rgba(0, 0, 0, .75);  pointer-events: none;  visibility: hidden;
  transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1),    visibility 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
  z-index: 999;  -webkit-transform: translateY(-100%);  transform: translateY(-100%);
}
.GlobalSearchOverlay.show {  visibility: visible;  pointer-events: auto;  -webkit-transform: translateY(0);  transform: translateY(0);}
.GlobalSearchOverlay > .inner{ display:flex; justify-content: center; align-items: center; width:100%; height:100%;}
.GlobalSearchOverlay > .inner .search_box { display:flex; position:relative; width:75%; }
.search_box input[type="text"] { font-size: 1rem; letter-spacing: .1rem; padding-left: 4px; border: 0; width: 100%; margin:0; border-bottom: 1px solid #fff; background-color: transparent; height:4rem; vertical-align: top;}
.search_box input[type="text"]::placeholder{color: var(--color_white_a50);}
.search_box input[type="text"]:focus { outline:none; }
.search_box input[type="text"], .search_box button{ color:var(--color_white); border-radius:0; height:4rem;  }
.search_box button { position: absolute; right: 0px; bottom:0.5rem; height:3rem; padding:0 1rem; font-size: 1rem; letter-spacing: .1rem; display:flex; justify-content: flex-start; align-items: center;}
.search_box button:before{margin-right: .5rem; display: inline-block; width: 1rem; height: 1rem; font-size:1rem; content: "\f002"; font-family: "Font Awesome 5 Pro"; font-weight: 300; }
.search_box button:focus, .search_box button:hover { outline:none; background-color: var(--color_white_a50); color: var(--color_black); transition: 0.3s;}
.GlobalSearchOverlay > .inner .global_search_close{position:absolute; right:50px; top: 50px; display: flex; justify-content: center; align-items: center; cursor: pointer;}
.GlobalSearchOverlay > .inner .global_search_close:before{ color:Var(--color_white); display: flex; align-items: center; justify-content: center;width: 2rem; height: 2rem; font-size:2rem; content: "\f00d"; font-family: "Font Awesome 5 Pro"; font-weight: 300; 
    transform: rotate(0deg); transition: 0.5s; transform-origin: center;}
.GlobalSearchOverlay > .inner .global_search_close:hover:before{ transform: rotate(180deg); transition: 0.5s; transform-origin: center;}
.GlobalSearchOverlay > .inner .global_search_close:hover{text-shadow: 0 0 12px var(--color_gold);}

/*----------------------------------------------------------------------*/
#nav ul { display:none; }/*預先隱藏選單*/
/*----------------------------------------------------------------------*/
/* 手機板選單 */
/* mmenu補丁 */
#MenuMobile { --mm-color-background:#fff; }

.mm-wrapper--opened .mm-wrapper__blocker { opacity:1; --mm-blocker-opacity-delay:0s; box-shadow:0 0 10px rgba(0,0,0,.5); }
#mm-1 .mm-navbar { display:none; }
.mm-btn--next:after, .mm-btn--prev:before { border-left:2px solid var(--color_dark_blue); border-top:2px solid var(--color_dark_blue); width: 12px; height: 12px;}
.mm-navbar__title { justify-content:flex-start; }
.mm-menu a.mm-navbar__title{ color: var(--color_black); font-weight: 900;}
.mm-navbar .mm-btn--prev:before{ border-color: var(--color_black);}

.mm-listitem{ color: var(--color_blue); letter-spacing: .05rem; font-size: 1.125rem; font-weight: 700; border-color: var(--color_border);}
.mm-listitem:after { inset-inline-start: 20px; inset-inline-end: 20px; }
.mm-listitem__btn:not(.mm-listitem__text){border-left: none; margin-right: 10px; }
.mm-listitem__text { text-overflow:inherit; white-space:normal; overflow:hidden;}

.mm-home, .mm-navbar{height: 60px;}
.mm-home .topLogo{ display:block; width: 180px; aspect-ratio: 240 / 46; background: url('../images/top-logo-blue.svg') no-repeat center center; background-size: 100% auto;}
.mm-home{border-color: transparent; background: var(--color_light_gray);}
.mm-btn:not(.mm-hidden) + .mm-navbar__title:last-child { padding-inline-start: 0px; }

/* 用 mm-close close 選單 */
.mm-wrapper--opened #nav .switch a{ display:none;}
.mm-close { padding:0;  position: absolute; top:20px; right: 22px; height: 26px; width:26px;  cursor: pointer; display: flex; align-items: center; justify-content: center;}
.mm-close .mm-close-icon{ border:0px solid red; height: 100%; width:100%; display:block;  position: absolute; overflow: hidden; }
.mm-close-icon::after, .mm-close-icon::before { content: ""; position: absolute; left: 0; width: 24px; height: 2px; border-radius: 4px; background: var(--color_dark_blue) none repeat scroll 0 0; transition: all 0.3s ease; }
.mm-close-icon::before { top: 11px; transform: rotate(-45deg); }
.mm-close-icon::after { top: 11px; transform: rotate(45deg); }

.mm-lang .globe_icon:after{display: inline-block; margin-right: .5rem; width: 1.25rem; height: 1.25rem; font-size:1.125rem; content: "\f0ac"; font-family: "Font Awesome 5 Pro"; font-weight: 300;}
.mm-social section, .mm-social section ul{ width:100%; }
.mm-social section ul{display:flex; align-items: center; justify-content: flex-start; width: 100%; padding:10px 20px;}
.mm-social section ul li{width: 50%;}
.mm-social section ul li a{ font-weight:400; font-size:1rem; width: 100%; height: 100%;     display: flex;    align-items: center; justify-content: flex-start;}
.mm-social .fb_icon, .mm-social .location_icon{margin-right:8px; }
.mm-social .fb_icon:after, .mm-social .location_icon:after{ display: flex; justify-content: center; align-items: center; margin-right: 0; width: 100%; height: 100%; font-size:1.125rem; }
.mm-social .fb_icon:after{content: "\f082"; font-family: "Font Awesome 5 Brands"; font-weight: 400;}
.mm-social .location_icon:after{content: "\f3c5"; font-family: "Font Awesome 5 Pro"; font-weight: 900;}

.mm-search:after{display: none;}
.mm-search { padding:10px 20px; }
.mm-search .search_box { display:block; width:100%; position:relative; }
.mm-search .search_box input[type="text"] { width:100%; height:48px; line-height:48px; padding:0 45px 0 2px; background-color:#fff; border-bottom:1px solid var(--color_black); font-size:0.875rem; color: var(--color_black);	}
.mm-search .search_box input[type="text"] { color:var(--color_black); }
.mm-search .search_box input[type="text"]::placeholder { color:var(--color_gray); }
.mm-search .search_box .btn { position:absolute; top:0px; right:0px; width:40px; height:48px; font-size: 0rem; letter-spacing: 0;
    display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; 
	}
.mm-search .search_box .btn::before { 
    margin: 0 0; color: var(--color_black); display: inline-block; width: 1.25rem; height: 1.25rem; font-size:1.125rem; content: "\f002"; font-family: "Font Awesome 5 Pro"; font-weight: 300; 
	}
@media screen and (min-width: 1100px){
    #nav, #MenuMobile, .switch { display:none; }
}
@media screen and (max-width: 1099px){
    html.mm-open { overflow:hidden; }
    #nav .switch a {
        display:block; position:fixed; top:0; left:0; width:50px; height:50px; z-index:99999; background-color: rgba(0,0,0,0); transition-delay:0.3s;
        }
    
    .menu-action { height:30px; left:50%; margin-left:-13px; overflow:hidden; }
    .menu-action::after, .menu-action::before, .menu-action > i::before, .menu-action, .menu-action > i { width:26px; }
    .menu-action::after, .menu-action::before, .menu-action > i::before {
        content:""; position:absolute; left:0; height:3px; background: var(--color_white_a90) none repeat scroll 0 0; transition:all 0.3s ease;
        }
    .menu-action, .menu-action > i { position:absolute; top:50%; transform:translateY(-50%); }
    .menu-action::after { bottom:6px; }
    .menu-action::before { top:6px; }
    .menu-action > i { height:3px; left:0; text-indent:-999px; overflow:hidden; }
    .menu-action > i::before { top:0; }

    .mm-wrapper--opened .menu-action > i { opacity:0; }
    .mm-wrapper--opened .menu-action::after { bottom:13px; transform:rotate(45deg); }
    .mm-wrapper--opened .menu-action::before { top:14px; transform:rotate(-45deg); }

    .mm-wrapper--opened .mm-wrapper__blocker { opacity:0.8; }
    /* 手機版浮動header */
    /* .MenuFix #nav .switch a{ background: rgba(255,255,255,0.9);}
    .MenuFix .menu-action::after, .MenuFix .menu-action::before, .MenuFix .menu-action > i::before{background-color: var(--color_blue);} */

    .MenuFix .menu-action::after, .MenuFix .menu-action::before, .MenuFix .menu-action > i::before{background-color: var(--color_blue);}
    .MenuFix #Header .MenuBox{
        position:fixed; top:0; left:0; width:100%; height:50px; box-shadow:0 10px 10px rgba(0,0,0,0.15);
        background-color: rgba(255,255,255,1);
    }
    .MenuFix #Menu .menu_list .topLogo{background-image: url(../images/top-logo-blue.svg);}
}
/* 小手機 */
@media screen and (max-width: 349px) {
    .mm-home .topLogo{width: 170px;}
    .mm-social section ul li a{font-size: 14px;}
}
/* 針對iPhone的補丁 */
#MenuMobile.mm-menu { opacity:0; }
#MenuMobile.mm-menu.mm-menu--opened { opacity:1; }
/*----------------------------------------------------------------------*/
/* 表單元件 */
.FormElmt input[type="text"], .FormElmt input[type="password"], .FormElmt input[type="file"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"],
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"] { 
	line-height:40px; height:40px; 
	}
.FormElmt input[type="text"], .FormElmt input[type="password"], .FormElmt input[type="file"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"],
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"],
.FormElmt select, .FormElmt textarea { 
	max-width:100%; vertical-align:top; font-size:1rem; color:#333; 
	}
	.FormElmt input::placeholder { color:#888; letter-spacing: 1px;}
.FormElmt input[type="text"], .FormElmt input[type="password"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"], 
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"],
.FormElmt select, .FormElmt textarea {
	background-color:#fff; border:1px solid #dddddd; box-sizing:border-box; border-radius: 0px;
	}
.FormElmt input[type="text"], .FormElmt input[type="password"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"],
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"] { 
	padding:0 10px; 
	}
.FormElmt textarea { padding:10px; }
.FormElmt select { padding-left:8px; padding-right:8px; height:40px; max-width:100%;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' width='24px' viewBox='0 0 24 24'  fill='%23666666'%3E%3Cpath d='M24 24H0V0h24v24z' fill='none' opacity='1'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z'/%3E%3C/svg%3E");
    background-position: right 10px center;    
    background-repeat: no-repeat;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
}
.FormElmt input[type="radio"], .FormElmt input[type="checkbox"] { width:16px; height:16px; accent-color:var(--main_color2); }
.FormElmt input[type="radio"] + label, .FormElmt input[type="checkbox"] + label { margin-right:4px; }
.FormElmt input[type="text"], .FormElmt input[type="password"], .FormElmt input[type="email"] { width: 100%; }

.FormElmt input[type="text"]:focus, .FormElmt input[type="password"]:focus, .FormElmt input[type="file"]:focus, 
.FormElmt input[type="number"]:focus, .FormElmt input[type="date"]:focus, .FormElmt input[type="month"]:focus,
.FormElmt input[type="week"]:focus, .FormElmt input[type="time"]:focus, .FormElmt input[type="datetime-local"]:focus,
.FormElmt input[type="email"]:focus, .FormElmt input[type="search"]:focus, .FormElmt input[type="tel"]:focus, .FormElmt input[type="url"]:focus,
.FormElmt input[type="color"]:focus, .FormElmt input[type="hidden"]:focus, .FormElmt input[type="range"]:focus,
.FormElmt textarea:focus, .FormElmt select:focus {
	outline:none; border-color:var(--color_blue); transition:all ease-in-out .15s;
	}
.FormElmt input[disabled], .FormElmt textarea[disabled], .FormElmt select[disabled] { 
	background-color:#eee; 
	}
	.FormElmt select[disabled] { cursor:default; }
	.FormElmt input[type="file"][disabled] { border:0; background:none; }
	.FormElmt input[type="radio"][disabled] + label, .FormElmt input[type="checkbox"][disabled] + label { color:#b3b3b3; }

@media screen and (max-width: 639px) {
.FormElmt input[type="text"], .FormElmt input[type="password"], .FormElmt input[type="file"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"],
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"],
.FormElmt select, .FormElmt textarea { 
	font-size:0.9375rem;
	}
.FormElmt input[type="file"] { width:100%; }
.FormElmt input[type="text"], .FormElmt input[type="password"], 
.FormElmt input[type="number"], .FormElmt input[type="date"], .FormElmt input[type="month"],
.FormElmt input[type="week"], .FormElmt input[type="time"], .FormElmt input[type="datetime-local"],
.FormElmt input[type="email"], .FormElmt input[type="search"], .FormElmt input[type="tel"], .FormElmt input[type="url"],
.FormElmt input[type="color"], .FormElmt input[type="hidden"], .FormElmt input[type="range"] {
	padding:0 10px;
	}
}

/*----------------------------------------------------------------------*/
/* Footer */
#Footer{ background: var(--color_light_gray); width: 100%;}
#Footer .copyright{ font-family:'Montserrat', sans-serif; font-size: 0.75rem; color: var(--color_white); background: var(--color_dark_blue); width:100%; height:2.5rem; display:flex; align-items: center; justify-content: center; text-align: center; }

.FooterMarkBox, .FooterContentBox{padding: 36px;}
.FooterMarkBox {padding-bottom: 0px; }
.FooterMarkBox .ft-markdesc{ font-weight:500; font-size:1.2rem; letter-spacing: 0.015rem; color: var(--color_dark_gray); text-align: center; display:flex; align-items: center; justify-content: center;}
.FooterMarkBox .ft-markdesc > span{display: flex; align-items: center; justify-content: center; }
.FooterMarkBox .ft-markdesc > span:before{ display: block; content: ''; margin:0 8px 0 14px; width: 4px; height: 4px; border-radius: 8px; background: var(--color_dark_gray); }
.FooterMarkBox .ft-mark{ margin-top: 24px; padding-bottom:36px; border-bottom: 1px solid var(--color_gray); display:flex; align-items: center; justify-content: center; }
.FooterMarkBox .ft-mark .mylogo{height: 70px; width: auto; aspect-ratio: 365/70; background: url(../images/top-logo-blue.svg) no-repeat center center; background-size: auto 100%;}
.FooterMarkBox .ft-mark .mymark1{transform: translateY(.5rem); height: 48px; width: auto; margin-left: 40px; aspect-ratio: 148/48; background: url(../images/footer-mark1.png) no-repeat center center; background-size: auto 100%;}
.FooterMarkBox .ft-mark .mymark2, .FooterMarkBox .ft-mark .mymark3{height: 74px; width: auto; margin-left: 20px; aspect-ratio: 1/1;background: url(../images/footer-mark2.png) no-repeat center center; background-size: auto 100%;}
.FooterMarkBox .ft-mark .mymark3{background-image: url(../images/footer-mark3.png);}


.FooterContentBox{ display: flex; align-items: stretch; justify-content: center; }
.FooterContentBox > div{  width: 33.3%; display: flex; align-items: center; justify-content: center; }
.FooterContentBox > div .inner{ height:100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-start;  }
.FooterContentBox .ft-touch, .FooterContentBox .ft-contact{ border-right: 1px solid var(--color_gray); }
.FooterContentBox .title{font-weight:500; font-size:1.75rem; letter-spacing: 0.015rem; color: var(--color_blue); margin-bottom: 44px;}
.FooterContentBox .ft-touch .title{margin-bottom: 28px;}
.FooterContentBox .ft-touch .inner{max-width: 349px;}
.FooterContentBox .ft-touch ul li{text-align: center; margin-bottom:14px; font-size: 1.125rem; letter-spacing: .025rem; font-family:'Montserrat', sans-serif; font-weight: 400; line-height: 1.2; color: var(--color_blue);}
.FooterContentBox .ft-touch ul li{display:flex; align-items: center; justify-content: center;}
.FooterContentBox .ft-touch ul li a:hover{ color: inherit; text-decoration: underline; transition: .5s;}
.FooterContentBox .ft-touch ul li.phone:before, .ft-touch ul li.mail:before{ font-size: 1rem; }
.FooterContentBox .ft-touch ul li.phone:before{content: "\f879"; font-family: "Font Awesome 5 Pro"; font-weight: 900; margin-right: 4px;}
.FooterContentBox .ft-touch ul li.mail:before{content: "\f0e0"; font-family: "Font Awesome 5 Pro"; font-weight: 900; margin-right: 10px;}
.FooterContentBox .ft-touch ul li .smalltxt{font-size: 0.875rem; line-height: 1.5;}
.FooterContentBox .ft-touch ul li:last-child{margin-bottom: 0;}
.FooterContentBox .ft-contact .inner{ width: 80%;}
.FooterContentBox .ft-contact .emailbox{width: 100%;}
.FooterContentBox .ft-contact .emailbox input{height: 3.5rem; font-size: 1.123rem; padding: 0 16px; border:0;}
.FooterContentBox .ft-contact .emailbox .input-txt .shortPlaceHolder{display: none;}
.FooterContentBox .ft-contact .emailbox .input-txt{position:relative; box-shadow: 0 0 12px rgba(0,0,0,0.05);}
.FooterContentBox .ft-contact .emailbox .input-txt .btn-submit{ position:absolute; right:0; top:0; height:100%; padding: 0 16px; background-color: var(--color_light_blue); color: var(--color_dark_blue); text-transform: uppercase;}
.FooterContentBox .ft-contact .emailbox .input-txt .btn-submit > span{font-size: 0.875rem; letter-spacing: .2rem; font-weight: 500;}
.FooterContentBox .ft-contact .emailbox .input-txt .btn-submit:hover{ background: var(--color_blue); color: var(--color_white);}

.FooterContentBox .ft-follow ul{display:flex; align-items: center; justify-content: center;}
.FooterContentBox .ft-follow ul li:first-child{ margin-right:20px;}
.FooterContentBox .ft-follow ul li a{font-size: 0; display:flex; align-items: center; justify-content: space-around; width: 50px; height: 50px; border-radius: 25px; background-color: var(--color_blue);}
.FooterContentBox .ft-follow ul li a:before{ font-size: 24px; color: var(--color_white); width:100%; text-align: center;}
.FooterContentBox .ft-follow ul li a.facebook:before{content: "\f082"; font-family: "Font Awesome 5 Brands"; font-weight: 400;}
.FooterContentBox .ft-follow ul li a.location:before{content: "\f3c5"; font-family: "Font Awesome 5 Pro"; font-weight: 900;}
.FooterContentBox .ft-follow ul li a:hover, .FooterContentBox .ft-follow ul li a:focus {   background-color: var(--color_dark_greenblue);}

@media screen and (max-width: 1399px) {
    .FooterMarkBox .ft-markdesc{ flex-wrap: wrap;}
    .FooterMarkBox .ft-markdesc > span{ width: 100%; margin-bottom: 4px;}
    .FooterMarkBox .ft-mark .mylogo{height: 50px;}
    .FooterMarkBox .ft-mark .mymark1{height: 44px;}
    .FooterMarkBox .ft-mark .mymark2, .FooterMarkBox .ft-mark .mymark3{height: 50px;}    
    .FooterContentBox{flex-wrap: wrap; padding: 36px 36px 50px 36px;}
    .FooterContentBox .ft-touch{width: 100%;}
    .FooterContentBox .ft-contact, .FooterContentBox .ft-follow{width: 50%;}
    .FooterContentBox .ft-touch .inner{max-width:none;}
    .FooterContentBox .ft-touch{border: none; border-bottom: 1px solid var(--color_gray); padding-bottom: 30px; margin-bottom: 30px;}
}
@media screen and (max-width: 1023px) {
    .FooterMarkBox .ft-markdesc{font-size: 1rem;}
    .FooterContentBox .title{font-size: 1.25rem;}
    .FooterContentBox .ft-touch ul li{font-size: 0.875rem;}
    .FooterContentBox .ft-touch .title, .FooterContentBox .ft-contact .title, .FooterContentBox .ft-follow .title{margin-bottom: 28px;}
    .FooterContentBox .ft-contact .emailbox input{font-size: 1rem;}
    .FooterContentBox .ft-contact{ width: 480px; }
    .FooterContentBox .ft-follow{ width: calc(100% - 480px); }

}
@media screen and (max-width: 767px) {
    .FooterMarkBox .ft-mark{padding-bottom: 20px; margin-top: 10px;}
    .FooterContentBox{padding: 24px 24px 50px 24px;}
    .FooterContentBox .ft-touch, .FooterContentBox .ft-contact, .FooterContentBox .ft-follow{ width: 100%; border: none; }
    .FooterContentBox .ft-contact .inner{width:100%;}
    .FooterContentBox .ft-contact .emailbox input{height: 44px;}
    .FooterContentBox .ft-contact .emailbox input{font-size:14px;}
    .FooterContentBox .ft-contact .emailbox .input-txt .btn-submit > span{font-size: 14px; letter-spacing: 1px;}
    .FooterContentBox .ft-touch, .FooterContentBox .ft-contact{ border-bottom: 1px solid var(--color_gray); padding-bottom: 30px; margin-bottom: 24px;}
}
@media screen and (max-width: 639px) {
    .FooterMarkBox .ft-markdesc{padding-left: .5rem;}
    .FooterMarkBox{padding-left: 24px; padding-right: 24px;}
    .FooterMarkBox .ft-markdesc > span{width: 100%;font-size: 14px;text-align: left; align-items: flex-start; justify-content: flex-start;}
    .FooterMarkBox .ft-markdesc > span:before{margin-top: 10px; margin-left: 0;}
    .FooterMarkBox .ft-mark{ flex-wrap: wrap; }
    .FooterMarkBox .ft-mark > a{width: 100%; display:flex; justify-content: center;}

    .FooterMarkBox .ft-mark .mylogo{height: 36px;}
    .FooterMarkBox .ft-mark .mymark1{margin-left: 0;height: 32px;}
    .FooterMarkBox .ft-mark .mymark2, .FooterMarkBox .ft-mark .mymark3{height: 36px;}
    .FooterContentBox .ft-follow ul li a{width: 36px; height: 36px;}
    .FooterContentBox .ft-follow ul li a:before{font-size: 20px;}
    .FooterContentBox .ft-contact .emailbox .input-txt .shortPlaceHolder{display: block;}
    .FooterContentBox .ft-contact .emailbox .input-txt .longPlaceHolder{display: none;}
    #Footer .copyright{ height:auto; padding: 10px 0; line-height: 1.5;}    
    #Footer .copyright > .inner{ max-width: 16rem;}
}
/*----------------------------------------------------------------------*/
/* 編輯器 */
.editable_content { padding-top: 10px; }
.editable_content.content { margin-top:20px; margin-bottom:30px; }

/* 為文字上稿區可能出現的元素做設定 */
.editable_content, .editable_content p, .editable_content li, .editable_content dt, .editable_content dd, .editable_content div, .editable_content blockquote { 
	line-height:1.5em; font-size: 1.125rem; color:var(--color_black); font-weight: 500; letter-spacing: 0;
	}
.editable_content .district, .editable_content div, .editable_content table, .editable_content iframe, .editable_content blockquote { 
	margin-top:2.25em; margin-bottom:2.25em; 
	}
.editable_content p, .editable_content ul, .editable_content ol, .editable_content dl { 
	margin-top:1.25em; margin-bottom:1.25em; 
	}
.editable_content p { padding:0; }
.editable_content a{text-decoration: underline; text-underline-offset: 3px;}
.editable_content a:hover{text-decoration: none; text-underline-offset: 3px;}
.editable_content h4, .editable_content h5, .editable_content h6 { margin-bottom:5px; line-height:1.5em; }
.editable_content h4 + *:not(h4):not(h5):not(h6),
.editable_content h5 + *:not(h4):not(h5):not(h6),
.editable_content h6 + *:not(h4):not(h5):not(h6) { margin-top:0.625em; }
.editable_content h4 + h4, .editable_content h4 + h5, .editable_content h4 + h6,
.editable_content h5 + h4, .editable_content h5 + h5, .editable_content h5 + h6,
.editable_content h6 + h4, .editable_content h6 + h5, .editable_content h6 + h6 { margin-top:1.25em; }
.editable_content h4 { font-size:1.875rem; color:var(--color_dark_blue); overflow:hidden; letter-spacing: .015rem; margin-bottom: 20px;}
.editable_content h5 { font-size:1.5rem; color:var(--color_black); }
.editable_content h6 { font-size:1.25rem; color:var(--color_black); }
.editable_content blockquote {
    margin:0px 0 35px 0; padding:4rem 55px; background: var(--color_light_greenblue); border-left:none; overflow:hidden; position: relative; 
    }
.editable_content blockquote p{line-height:1.8; font-style: italic; font-weight: 500;  letter-spacing: .025rem; }    
.editable_content blockquote::before, .editable_content blockquote::after { 
        width: 24px; height: 24px; background: url(../images/quote-icon.svg) no-repeat center center; background-size: 100% auto; display:block; content: ''; position: absolute; 
    }
.editable_content blockquote::before { left: 24px; top: 24px; }
.editable_content blockquote::after { right: 24px; bottom: 24px; transform: rotate(180deg); }
.editable_content .district .imgleft ~ blockquote, .editable_content .district .imgright ~ blockquote { margin-left:0; margin-right:0; }

.editable_content ol { list-style-type:decimal; padding-left:2em; overflow:hidden; }
.editable_content ul { list-style-type:disc; padding-left:2em; overflow:hidden; }
	.editable_content ul[type="disc"] { list-style-type:disc; }
	.editable_content ul[type="circle"] { list-style-type:circle; }
	.editable_content ul[type="square"] { list-style-type:square; }
.editable_content li { margin-bottom:0.625em; }
.editable_content ol ol { list-style-type:lower-alpha; }
.editable_content ul ul { list-style-type:circle; }
.editable_content ul ul, .editable_content ul ol, .editable_content ol ul, .editable_content ol ol { margin-top:5px; margin-bottom:0; }
.editable_content ul li:last-child, .editable_content ol li:last-child { margin-bottom:0; }
.editable_content dl { overflow:hidden; }
.editable_content dl dt { font-weight:bold; margin-bottom:0.625em; }
.editable_content dl dd { padding-left:25px; margin-bottom:0.625em; position:relative; }
.editable_content dl dd::before {  
	content:''; display:block; position:absolute; top:1em; left:6px; width:6px; height:6px; margin-top:-3px; background-color:#333; border-radius:50%; }
	
.editable_content dl dl, .editable_content dl ul, .editable_content dl ol, .editable_content ul dl.editable_content ol dl { margin-top:5px; margin-bottom:0; }
.editable_content dl dd:last-child { margin-bottom:0; }
.editable_content hr { margin:1.875em 0; }

/* 影片、相關連結、相關檔案 */
.MsgModule_Download, .MsgModule_Link{font-family:'Montserrat', sans-serif; color: var(--color_black);}
.MsgModule_Download span, .MsgModule_Link span { white-space:nowrap; font-weight:bold; ; }
.MsgModule_Download + .MsgModule_Download, .MsgModule_Download + .MsgModule_Link, .MsgModule_Link + .MsgModule_Download, .MsgModule_Link + .MsgModule_Link { 
	margin-top:-10px; 
	}
.MsgModule_Download a, .MsgModule_Link a{text-decoration: underline; text-underline-offset: 4px;transition: 0.3s; font-weight: 400;}      
.MsgModule_Download a:hover, .MsgModule_Link a:hover{text-decoration: none; transition: 0.3s;}   
.editable_content .MsgModule_Download span.file_hashes { margin-left:4px; }
	
    .editable_content .MsgModule_Media { margin-left:auto; margin-right:auto; width:560px; }
	.editable_content .MsgModule_Media.left { margin-left:0; }
	.editable_content .MsgModule_Media.right { margin-right:0; }
	.editable_content .MsgModule_Media.landscape { width:560px; }
	.editable_content .MsgModule_Media.portrait { width:315px; }
.editable_content .MsgModule_Media .media_wrap { margin-top:0; margin-bottom:0; padding-bottom:56.25%; text-align:left; position:relative; overflow:hidden; }
	.editable_content .MsgModule_Media.landscape.ratio_16by9 .media_wrap { padding-bottom:56.25%; }
	.editable_content .MsgModule_Media.portrait.ratio_16by9 .media_wrap { padding-bottom:177.77%; }
	.editable_content .MsgModule_Media.landscape.ratio_4by3 .media_wrap { padding-bottom:75%; }
	.editable_content .MsgModule_Media.portrait.ratio_4by3 .media_wrap { padding-bottom:133.33%; }
	.editable_content .MsgModule_Media .media_wrap iframe,
	.editable_content .MsgModule_Media .media_wrap object,
	.editable_content .MsgModule_Media .media_wrap embed { position:absolute; top:0; left:0; width:100%; height:100%; border:0; margin:0; }
.editable_content .MsgModule_Media .describe { text-align:left; margin:0; padding:20px; background-color:#e2f4ff; line-height:150%; font-family:'Montserrat', sans-serif;}
	.editable_content .MsgModule_Media .describe span { display:block; }
	.editable_content .MsgModule_Media .describe .title { margin-bottom:10px; }
	.editable_content .MsgModule_Media .describe .desc { font-size:0.9375rem; font-weight: 400;}
	.editable_content noscript div.ytlink { padding:0; margin:0; line-height:1.25em; }/* no script時影片區塊顯示的訊息 */
	
.editable_content .MsgModule_Media video  { display:block; width:100%; }

/* 文繞圖設定 */
.editable_content .district::after { content:''; display:block; clear:both; }
.editable_content .district > *:first-child { margin-top:0; }
.editable_content .district > *:last-child { margin-bottom:0; }
.editable_content .img_bg { margin-bottom:20px; text-align:center; }
.editable_content .img_bg figure { display:inline-block; margin:0; }
.editable_content .imgleft { float:left; }
.editable_content .imgright { float:right; }
.editable_content .imgcenter { clear:both; text-align:center; max-width:1400px; margin-left:auto; margin-right:auto; }
.editable_content .imgleft, .editable_content .imgright { max-width:50%; }
.editable_content .img_bg figcaption, .editable_content .img_bg span { 
	display:block; padding:0 0 0 14px; margin:0 auto; position:relative;
	font-size:0.875rem; font-weight:400; color:#555; line-height:1.5em; text-align:left; font-family:'Montserrat', sans-serif;
	}
.editable_content .img_bg figcaption::after, .editable_content .img_bg span::after { 
	content:''; display:block; position:absolute; top:9px; left:0;
	border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:5px solid #999;
	}
	
/* 單篇延伸區塊 */
.editable_content h4.ext_title { color:var(--color_blue); font-family:'Montserrat', sans-serif; margin-top:50px; margin-bottom: 20px; position:relative; font-size:1.5rem; letter-spacing: 1px; padding-top: 0; padding-bottom: 0; display: flex; align-items: center; border-left: 0; padding-left: 0; }
h4.ext_title:before { content: ""; flex-shrink: 0; margin-right: 12px; width: 36px; height: 36px; background-image: url(../images/icon_module.svg); background-repeat: no-repeat; background-size: 100%; }
	h4.icon_file:before { background-position: 0 0; }
	h4.icon_link:before { background-position: 0 50%; }
	h4.icon_photo:before { background-position: 0 100%; }
.editable_content+h4.ext_title { margin-top:30px; }
.prevNextLink+h4.ext_title { margin-top:30px; }

.editable_content ul.ext_list { margin:0 0 2em 0; list-style-type:none; overflow:hidden; }
.editable_content ul.ext_list li { position:relative; margin-bottom:6px; line-height:1.8em; padding-left: 16px;}
	.editable_content ul.ext_list li:last-child { margin-bottom:0; }
.editable_content ul.ext_list li::after { 
	content: "\f054"; font-family: "Font Awesome 5 Pro"; font-weight: 300; font-size:14px; display:block; position:absolute; top:0; left:0px; margin-top:0px; 
	}
.editable_content ul.ext_list li > a { display:inline-block; color:var(--color_black); text-decoration: underline;  word-wrap:break-word;  text-underline-offset: 4px; transition: 0.3s; font-family:'Montserrat', sans-serif;}
.editable_content ul.ext_list li > a:hover, .editable_content ul.ext_list li > a:focus { color:var(--color_blue); text-decoration: none; transition: 0.3s;}
.editable_content ul.ext_list li span.file_ext { margin-left:6px; width:24px; height:24px; }
.editable_content ul.ext_list li span.file_hashes { margin-left:0px; width:24px; height:24px; }
.editable_content ul.ext_list li span.file_hashes a { background-position:right 0; }
.editable_content ul.ext_list li span.file_hashes a:hover,
.editable_content ul.ext_list li span.file_hashes a:focus { background-position:right 100%; }

/* html編輯區的表格預設樣式 */
.editable_content table[align="center"] { margin-left:auto; margin-right:auto; }
.editable_content table caption { margin:5px 0; padding:5px 0; font-weight:bold; color:#333; text-align:left; line-height:1.5em; }
.editable_content .tableWrap { position:relative; overflow-y:auto; _overflow:auto; width:100%; margin-bottom:1em; -webkit-overflow-scrolling:touch; }
.editable_content .tableWrap table { margin:0; }
/*添加IOS下卷軸*/
.editable_content .tableWrap::-webkit-scrollbar { -webkit-appearance:none; width:14px; height:14px; }
.editable_content .tableWrap::-webkit-scrollbar-thumb { border-radius:8px; border:3px solid #fafafa; background-color:rgba(0, 0, 0, .3); }
.editable_content .tableWrap::-webkit-scrollbar-thumb:hover { background-color: var(--main_color); }

/* 移除第一個物件的上邊界、上間距避免過大的空白 */
.editable_content > *:first-child, .editable_content blockquote > *:first-child, .editable_content td > *:first-child { 
	margin-top:0; 
	}
/* 移除最後一個物件的下邊界、下間距避免過大的空白 */
.editable_content > *:last-child, .editable_content blockquote > *:last-child, .editable_content td > *:last-child { 
	margin-bottom:0; 
	}
/* 避免爆版 */
.editable_content iframe, 
.editable_content img, 
.editable_content div, 
.editable_content p, 
.editable_content span, 
.editable_content ul,
.editable_content ol,
.editable_content li,
.editable_content figure, 
.editable_content figcaption { 
	max-width:100%; 
	}
.editable_content * { word-wrap:break-word; }
/* 取消圖片的高度設定避免RWD時不等比例縮放 */
.editable_content img { height:auto; }

/* html編輯區的表格外框樣式 */
.editable_content .table_style1 { width:100%; border-left:1px solid #fff; border-top:1px solid #fff; }
.editable_content .table_style1 > tbody > tr > th, .editable_content .table_style1 > tbody > tr > td { 
	padding:16px 24px; border-right:1px solid #fff; border-bottom:1px solid #fff; line-height:160%; 
	}
.editable_content .table_style1 > tbody > tr > th { background-color:var(--color_blue); color:#fff; white-space:nowrap; }
.editable_content .table_style1 > tbody > tr > td { background-color:var(--color-tr-odd); color:#333; }
.editable_content .table_style1 > tbody > tr:nth-child(2n+3)  > td{background-color:var(--color-tr-even);}
@media screen and (max-width: 639px) {
    
    .editable_content .district .imgleft, .editable_content .district .imgright { float:none; clear:both; max-width:100%; text-align:center; margin-left:auto; margin-right:auto; }
    .editable_content blockquote { padding: 50px 20px 55px; }
    .editable_content blockquote::before { top: 18px; }
    .editable_content blockquote::after { bottom: 18px; }        
    .editable_content h4, .editable_content h4.ext_title { margin-bottom: 20px; }
    .editable_content h4.ext_title{ font-size: 1.25rem;}
    .editable_content ul.ext_list{padding-left: 0; }
    .MsgModule_Download a, .MsgModule_Link a, .editable_content ul.ext_list li > a{font-size: 1rem; line-height: 1.5;}    
    h4.ext_title:before { margin-right: .5rem; width: 1.75rem; height: 1.75rem;   }
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
    .editable_content .imgleft { margin-right:40px; }
    .editable_content .imgright { margin-left:40px; }
}

@media screen and (min-width: 1280px) {
    .editable_content .imgleft { margin-right:50px; }
    .editable_content .imgright { margin-left:50px; }
    .editable_content { font-size: 1.125em; }
    .editable_content ul.ext_list { font-size: 1.125rem; }
}
/*----------------------------------------------------------------------*/
/*
    ColorBox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper { position:absolute; top:0; left:0; z-index:10001; overflow:hidden; }
#cboxOverlay { position:fixed; width:100%; height:100%; }
#cboxMiddleLeft, #cboxBottomLeft { clear:left; }
#cboxContent { position:relative;font-size:14px; text-align:center; }
#cboxLoadedContent { overflow:auto;padding:30px 5px 60px 5px; }
#cboxTitle { margin:0; }
#cboxLoadingOverlay, #cboxLoadingGraphic { position:absolute; top:0; left:0; width:100%; height:100%; }
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor:pointer; }
.cboxPhoto { float:left; margin:auto; border:0; display:block; max-width:none; }
.cboxIframe { width:100%; height:100%; display:block; border:0; }
#colorbox, #cboxContent, #cboxLoadedContent { box-sizing:content-box; }

#colorbox_thum { display:flex; align-items:center; flex-wrap:wrap; }
#colorbox_thum a { display:block; text-align:center; vertical-align:middle; }
#colorbox_thum a:hover { 
    transform: scale(1.02);
	}
#colorbox_thum a * { vertical-align:middle; }
#colorbox_thum a span { display:inline-block; height:100%; }
#colorbox_thum a img { max-width:100%; max-height:100%; }

@media screen and (max-width:399px) {
    #colorbox_thum { margin-left:-5px; margin-right:-5px; }
    #colorbox_thum a { padding:5px; }
}
@media screen and (min-width: 400px) {
    #colorbox_thum { margin-left:-10px; margin-right:-10px; }
    #colorbox_thum a { padding:10px; }
}

@media screen and (max-width: 639px) {
    #colorbox_thum a { width:160px; height:100px; }
}
@media screen and (min-width: 640px) and (max-width: 1199px) {
    #colorbox_thum a { width:180px; height:120px; }
}
@media screen and (min-width: 1200px) {
    #colorbox_thum a { height:145px; }
}

@media screen and (min-width: 1024px) {  
    #colorbox_thum a { margin-bottom: 20px; margin-left: calc(20px * 6 / 5); width: calc(100% / 6 - 20px);  }
    #colorbox_thum a:nth-child(6n+1) { margin-left: 0; }
}
/* 
    User Style:
    Change the following styles to modify the appearance of ColorBox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay { background:#000; }
#colorbox { font-family:'Montserrat', sans-serif; }
    #cboxContent { margin-top:20px; }
        .cboxIframe { background:#fff; }
        #cboxError { padding:50px; border:1px solid #ccc; }
        #cboxLoadedContent { border:5px solid #000; background:#000; }
        #cboxTitle { position:absolute; bottom:10px; *bottom:20px; left:0; width:100%; padding:0 10px; box-sizing:border-box; color:#fff; line-height:18px; }
        #cboxCurrent { position:absolute; top:-20px; right:0px; color:#ccc; }
        #cboxSlideshow { position:absolute; top:-20px; right:90px; color:#fff; }
        #cboxPrevious { 
			position:absolute; top:50%; left:5px; margin-top:-32px; background:url("../images/colorbox_controls.png") no-repeat top left; 
			width:28px; height:65px; text-indent:-9999px;
			}
        #cboxPrevious:hover { background-position:bottom left; }
        #cboxNext { 
			position:absolute; top:50%; right:5px; margin-top:-32px; background:url("../images/colorbox_controls.png") no-repeat top right; 
			width:28px; height:65px; text-indent:-9999px;
			}
        #cboxNext:hover { background-position:bottom right; }
        #cboxLoadingOverlay { background:#000; }
        #cboxLoadingGraphic { background:url("../images/colorbox_loading.gif") no-repeat center center; }
        #cboxClose { 
			position:absolute; top:5px; right:5px; display:block; background:url("../images/colorbox_controls.png") no-repeat top center; 
			width:38px; height:19px; text-indent:-9999px;
			}
        #cboxClose:hover {background-position:bottom center; }	

/*----------------------------------------------------------------------*/
/*測試用menu*/
.ifun_text_menu { position:fixed; top:0; left:0; z-index:10004; }
.ifun_text_menu a { display:block; text-decoration:none; }
.ifun_text_menu a:hover { color: yellow; }
.ifun_text_menu li { position: relative; }
.ifun_text_menu > ul > li > a { text-indent:-10000px; width:30px; height:30px; }
.ifun_text_menu > ul ul { display:none; position:absolute; top:30px; left:0; width:240px; }
.ifun_text_menu > ul ul > li:hover > ul { display:block; }
.ifun_text_menu > ul ul li { background-color:rgba(0,0,0,0.75); }
.ifun_text_menu > ul ul a, .ifun_text_menu > ul ul span { padding:5px 10px; line-height:180%; font-size:0.875rem; color:#fff; }
.ifun_text_menu > ul ul span{ opacity: 0.5;}
.ifun_text_menu li.with::after { content: ''; position: absolute; right: 5px; top: 13px; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 7px; border-color: transparent transparent transparent #fff; }
.ifun_text_menu > ul > li:hover > ul { display:block; }
.ifun_text_menu > ul ul ul { top: 0; left: 240px; }
.ifun_text_menu .other { border-top: 1px solid #ccc; }
.ifun_text_menu{font-family: 'Noto Sans TC', '微軟正黑體', sans-serif; font-size: 18px; } 
.ifun_text_menu a.notReady, .ifun_text_menu a.notReady:hover{opacity:0.5; cursor: default; color: #999;}  

/*----------------------------------------------------------------------*/
@keyframes myPulseDown {
  0% {
            transform: translate(0, -5px); }
  50% {

            transform: translate(0, 5px); }
  100% {
            transform: translate(0, -5px); } }

@keyframes myPulseRight {
  0% {
            transform: translate(0, 0); }
  50% {
            transform: translate(10px, 0); }
  100% {
            transform: translate(0, 0); } }
            