@charset "utf-8";
/* font-family: "Noto Serif TC", serif; Regular 400 Medium 500 Bold 700*/
@import url(../fonts/font-NotoSerifTc.css);
/* font-family: "Josefin Sans", sans-serif; Regular 400*/
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap');

/* 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, button { font-family: "Microsoft JhengHei", "微軟正黑體", "Microsoft YaHei", "微软雅黑", sans-serif; color: #333; letter-spacing: .1em; }
input, textarea, select { font-family: "Microsoft JhengHei", "微軟正黑體", "Microsoft YaHei", "微软雅黑", sans-serif; }
h1, h2, h3, h4, h5, h6 { line-height:1.75em; }

.index_title .sub_title, .index_about_box h3, .index_about_box p, #Menu li a, .index_service_items a .text,
.PageTitle h2, h3.articleTitle
{ font-weight: 700; }

/* 共用 */
#Wrap { position: relative; z-index: 1; background-color: #fff; }
a { color:#333; transition: all 0.3s ease; }
a:hover, a:focus { text-decoration:none; color: var(--main_color); }
a:focus, :focus { outline: 2px dashed #fdc147; }
body.fixed { overflow:hidden; }
.imgBox img { max-width: 100%; }
:root {
    --main_color: #c8171f;
    --color1: #013767;
    --color2: #04aaa2;
    --color3: #f6ad00;
}

/* 無障礙樣式設定 */
.guide_title { display: inline-block; font-size:0.75rem; color: #fff; text-decoration:none; position:relative; z-index:9998; }
a.guide_title:hover, a.guide_title:focus { background-color: #f6ad00; color: #fff; }
.skip_to_content { 
	position:absolute; top:0; left:0; width:1px; height:1px; margin:-1px 0 0 -1px; background-color:#fff; z-index:9999; overflow:hidden; 
	line-height:24px; font-size:0.8125rem; color:#000; 
	}
.skip_to_content:focus { width:auto; height:auto; margin:0; overflow:visible; }
.noscript { font-size:0.9375rem; text-align:left; }
#Footer .guide_title { position: absolute; top: 0; left: 0; }
.sr-only { 
	position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); border:0; 
	white-space:nowrap; font-size:0.8125rem; letter-spacing:0.05em; 
	}
.sr-only:focus { width:auto; height:auto; margin:0; overflow:visible; clip:auto; }

.return_form_noscript { margin:20px 0; text-align:center; position:relative; }
.return_form_noscript a { 
	display:inline-block; background-color:var(--color1); font-size: 1.125em; padding: .475em 1em; border-radius: 5px; font-family: "Noto Serif TC", serif; font-weight: 700; line-height: 1.5em;
	text-align:center; color:#fff; text-decoration:none; position:relative; 
	}
.return_form_noscript a:hover, .return_form_noscript a:focus { background-color: var(--main_color); box-shadow:0 0 20px rgba(0,0,0,0.3); }

@media screen and (max-width: 639px) {
	.inner { padding-left: 15px; padding-right: 15px; }
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
	.inner { padding-left: 5%; padding-right: 5%; }
}
@media screen and (min-width: 1280px) {
    .inner { max-width:1600px; margin:0 auto; padding-left: 6vw; padding-right: 6vw; }
}

/*----------------------------------------------------------------------*/
/* 節點頁 */
.SubMenuList { position:relative; }
.SubMenuList dl { display:flex; flex-wrap:wrap; margin:0 -10px; }
.SubMenuList dd { flex:0 1 auto; padding:10px; }
.SubMenuList a { 
	display:flex; align-items:center; justify-content:center; height:100%; background-color:#333; padding:1.25em 10px; 
	line-height:1.25em; color:#fff; font-size:1.125rem; text-decoration:none; 
	}
.SubMenuList span { display:inline-block; padding:0 1em; text-align:center; }
.SubMenuList a:hover, .SubMenuList a:focus { background-color:var(--main_color); }
@media screen and (max-width: 479px) {
.SubMenuList dd { width:100%; }
}
@media screen and (min-width: 480px) and (max-width: 767px) {
.SubMenuList dd { width:50%; }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
.SubMenuList dd { width:33.3333%; }
}
@media screen and (min-width: 1280px) {
.SubMenuList dd { width:25%; }
}

/* 雜湊值頁 */
#Wrap.layoutless #Header > .inner { padding-top: 0; padding-bottom: 0; }
#Wrap.layoutless #Header .logo { margin:0 auto; padding: 7px 0; float: none; }
#Wrap.layoutless #Header .logo h1 { height:inherit; }
#Wrap.layoutless #Header .logo a { height: 50px; }

/*----------------------------------------------------------------------*/
/* Header */
#Header { width:100%; position: relative; z-index: 99; }
#Header::after { content: ''; display: block; clear: both; }
#Header .logo { text-align: center; display: table; }
#Header .logo h1 { display: table-cell; vertical-align: middle; }
#Header .logo a { position: relative; z-index: 5; margin: 0 auto; display: flex; justify-content: center; align-items: center; height: inherit; }
#Header .logo a:hover, #Header .logo a:focus { outline: 2px dashed #fdc147; }
#Header .logo img { max-width: 100%; max-height: 100%; }

@media screen and (max-width: 479px) {
    #Header .logo { margin: 7px 0; }
    #Header .logo h1 { width: 240px; }
}

/* 上方導覽列 */
.header_info { background-color: var(--main_color); }
.header_info .inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
.header_info ul { display: flex; align-items: center; flex-wrap: wrap; font-size: 0.9375em; }
.header_info .left li { margin: 12px 0; }
.header_info .left li:first-child { margin: 0; }
.header_info .left li:first-child a { padding: 0; }
.header_info .left li:nth-child(n+3) { border-left: 1px solid rgba(255,255,255,.4); }
.header_info a { color: #fff; text-decoration: none; display: block; line-height: 1.2em; transition: all .3s ease; padding: 4px 1em; }
.header_info a:hover, .header_info a:focus { background-color: #222; }
.social li { margin: 0 2px; }
.social li a { font-size: 0; width: 30px; height: 30px; padding: 0; border-radius: 5px; }
.social li a::before { content: ''; display: block; width: 30px; height: 30px; background: url(../images/icon_social.png) no-repeat; }
.social li.fb a::before { background-position: 0 0; }
.social li.yt a::before { background-position: 0 50%; }
.social li.ig a::before { background-position: 0 100%; }

/* 全站搜尋 */
.header_search .search_box { height: 36px; line-height: 36px; position: relative; width: 300px; padding-right: 36px; box-sizing: border-box; float: left; margin: 10px 0; }
.header_search .search_box input { border: none; height: 36px; line-height: 36px; }
.header_search .search_box input[type="text"] { box-sizing: border-box; width: 100%; font-size: 1em; font-weight:400; vertical-align: top; color: #333; border-bottom: 1px solid #999; padding: 0 8px; }
.header_search .search_box input[type="text"]::-webkit-input-placeholder { color: #666; }/* Edge */
.header_search .search_box input[type="text"]:-ms-input-placeholder { color: #666; }/* Internet Explorer 10-11 */
.header_search .search_box input[type="text"]::placeholder { color: #666; }
.header_search .search_box input[type="text"]:focus {    
	outline: none; background-color: #eee;
	-webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition:all 0.3s ease;
}
.header_search input[type="text"]:focus ~ .btn button {   
	outline: none; background-color: #eee;
    -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition:all 0.3s ease;
}
.header_search .search_box .btn { height: 100%; position: absolute; right: 0; top: 0; }
.header_search .search_box .btn button {
    position: relative; text-indent: -9999px; height: 36px; width: 36px; vertical-align: top; border-bottom: 1px solid #999; cursor: pointer; background-color: #fff;
    -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease;
}
.header_search .search_box .btn button::before { content: ''; background: url(../images/icon_search.svg) no-repeat; width: 18px; height: 18px; position: absolute; left: calc(50% - 9px); top: calc(50% - 9px); background-size: contain; }
.header_search .search_box .btn button:hover::before,
.header_search .search_box .btn button:focus::before { background: url(../images/icon_search_hover.svg) no-repeat; }
.header_search label { display: none; }

@media screen and (max-width: 1023px) {
    #Wrap { padding-top: 64px; }
    #Header { position: fixed; top: 0; left: 0; z-index: 9990; height: 64px; box-sizing: border-box; box-shadow: 0 4px 4px rgba(0,0,0,.1); background-color: #fff; }
    .header_info, .header_search, .MenuBox { display:none; }
    #Header .logo { margin: 7px auto; }
    #Header .logo a { height: 50px; }
}

@media screen and (min-width: 1024px) {
    .header_info { width: 100%; }
    #Header .logo { float: left; }
    .header_search { justify-content: flex-end; padding-top: 10px; display: flex; flex-wrap: wrap; align-items: center; }
    .header_search::after { content: ''; display: block; clear: both; }
    #Header > .inner { padding-top: 14px; padding-bottom: 12px; }
    #Header > .inner::after { content: ''; display: block; clear: both; }

    /* Menu */
    .MenuBox { float: right; }
    #Menu a { transition:all 0.3s; -moz-transition:all 0.3s; -webkit-transition:all 0.3s; -o-transition:all 0.3s; }
    #Menu { padding-top: 20px; display: flex; justify-content: space-between; }
    #Menu > li { position: relative; line-height: 1.5em; height: 40px; }
    #Menu li a { text-decoration:none; color:#333; display:block; }
    #Menu > li:hover, #Menu > li:focus, #Menu > li.sfHover, #Menu > li > a:focus { outline: 0; }
    #Menu > li > a { padding:0 20px; font-size:1.25em; text-align: center; color: #333; position: relative; font-family: "Noto Serif TC", serif; font-weight: 700; }
    #Menu > li > a:hover, #Menu > li > a:focus { color: var(--main_color); }
    #Menu > li:last-child > a { padding-right: 0; }

    /* 先隱藏子選單,等網頁載入完畢後再顯示 */
    #Menu.superfish { overflow:hidden; position:relative; }
    #Menu.superfish.sf-js-enabled { overflow:visible; }

    /*第二層底下共用*/
    #Menu ul {
        -webkit-box-shadow:0 4px 20px rgba(0,0,0,0.35); 
        -moz-box-shadow:0 4px 20px rgba(0,0,0,0.35);
        box-shadow:0 4px 20px rgba(0,0,0,0.35);
        border-radius: 10px;
    }
    #Menu ul li { position: relative; text-align: center; }
    #Menu ul > li:first-child > a { border-radius: 10px 10px 0 0; }
    #Menu ul > li:last-child > a { border-radius: 0 0 10px 10px; }
    #Menu ul li a { line-height:1.5em; padding:10px 18px; text-decoration:none; font-size: 1rem; }
    #Menu ul li a:hover, #Menu ul li a:focus { background:#ffd44d; outline: 0; }
    #Menu.superfish ul a.sf-with-ul::after { 
        content:''; position:absolute; top:50%; right:10px; width:6px; height:6px; margin-top: -3px; 
        border-top:2px solid #333; border-right:2px solid #333;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
        }

    /*第二層*/
    #Menu > li > ul { display:none; position:absolute; top:40px; left:50%; width:160px; margin-left: -80px; z-index:8884; background-color:#fff; }

    /*第三層*/
    #Menu > li > ul > li > ul { display:none; position:absolute; left:100%; top:0px; width:100%; z-index:8883; background-color:#ffffff; }

    /*第四層*/
    #Menu > li > ul > li > ul li > ul { display:none; position:absolute; left:100%; top:0px; width:100%; z-index:8882; background-color:#ffffff; }

    /* 選單第1個的處理 */
    #Menu.superfish > li:first-child > ul { left:0; margin-left: 0; }

    /* 選單倒數第1個的處理 */
    #Menu.superfish > li:last-child > ul { left:auto; right:0; }
    #Menu.superfish > li:last-child > ul > li > ul { left:auto; right:100%; }
    #Menu.superfish > li:last-child ul a.sf-with-ul::after { 
        left:10px; right:auto; 
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        transform: rotate(-135deg);
        }
}

@media screen and (min-width: 1024px) and (max-width: 1319px) {
	#Menu > li > a { padding: 0 .5vw; font-size: 1.125em; }
    #Header .logo h1 { height: 70px; }
    .MenuBox { float: none; width: 100%; }
    #Menu { width: 100%; }
}
@media screen and (min-width: 1320px) and (max-width: 1599px) {
	#Menu > li > a { padding: 0 .6vw; }
    #Header .logo h1 { height: 126px; }
}

/*----------------------------------------------------------------------*/
/* footer */
#Footer { position: relative; }
#Footer a { -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease; }

.footer_box { background: url(../images/ft_bg.jpg) no-repeat center center; background-size: cover; color: #fff; }
.footer_box a { color: #fff; text-decoration: none; }
.footer_box a:hover { color: var(--color3); }
.footer_box .inner { position: relative; }
.footer_box .ft_logo img { max-width: 100%; max-height: 100%; }

.footer_memu > ul { display: flex; flex-wrap: wrap; }
.footer_memu li { padding: 2px 0; }
.footer_memu > ul > li { width: 25%; margin-top: 25px; margin-bottom: 25px; padding: 0 15px; box-sizing: border-box; position: relative; }
.footer_memu > ul > li::before { content: ''; position: absolute; left: 3px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background-color: var(--main_color); }
.footer_memu > ul > li > a { font-family: "Noto Serif TC", serif; font-weight: 700; }
.footer_memu > ul > li > ul { font-size: .9375em; margin-top: 10px; }

.sites_info .contact li { position: relative; line-height: 1.466666em; padding: 3px 0 3px 40px; font-size: .9375em; margin: 10px 0; }
.sites_info .contact li::before { content: ''; position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background-color: #fff; }
.sites_info .contact li::after { content: ''; position: absolute; left: 0; top: 0; width: 28px; height: 28px; background-image: url(../images/ft_icon.png); }
.sites_info .contact li.address::after { background-position: 0 50%; }
.sites_info .contact li.mail::after { background-position: 0 100%; }
.sites_info .links { display: flex; flex-wrap: wrap; font-size: .875em; }
.sites_info .links li { position: relative; margin: 10px 0; }
.sites_info .links li:not(:first-child) { padding-left: 30px; }
.sites_info .links li:not(:first-child)::before { content: ''; position: absolute; left: 16px; top: 3px; width: 1px; height: 16px; background-color: rgba(255,255,255,.5); transform: rotate(45deg); }

/* footer資訊 */
.footer_info { font-size: .875em; padding: 10px 0; background-color: var(--main_color); color: #fff; }
.footer_info .col_right { display: flex; flex-wrap: wrap; align-items: center; }
.footer_info .accessibility { height: 36px; }
.footer_info .accessibility img { height: 100%; max-width: 100%; }
.footer_info .accessibility a { height: 100%; }
.footer_info .accessibility a:hover, .footer_info .accessibility a:focus { opacity: .7; }

@media screen and (max-width: 639px) {
    .footer_info .col_right { justify-content: space-between; border-top: 1px solid rgba(255,255,255,0.4); margin-top: 5px; padding-top: 5px; }
}
@media screen and (min-width: 640px) {
    .footer_info { line-height: 1.2865em; }
    .footer_info ul { display: flex; flex-wrap: wrap; align-items: center; }
    .footer_info ul li { padding-top: 6px; padding-bottom: 6px; }
    .footer_info .col_right li { margin-right: 12px; padding-left: 12px; }
    .footer_info .col_right li:not(:first-child) { border-left: 1px solid rgba(255,255,255,0.4); }
}
@media screen and (max-width: 1023px) {
    .footer_memu { display: none; }
    .sites_info { padding: 20px 0; max-width: 320px; margin-left: auto; margin-right: auto; }
    .sites_info .links li { margin: 5px 0; }
}
@media screen and (min-width: 1024px) {
    .footer_box .inner { display: flex; }
    .sites_info { width: 35%; padding-top: 60px; padding-right: 35px; padding-bottom: 50px; }
    .sites_info .contact { padding: 35px 10px 25px 10px; }
    .footer_memu { padding-top: 35px; padding-bottom: 35px; padding-left: 40px; width: 65%; }
    .footer_info { padding: 18px 0; }
}
@media screen and (min-width: 1024px) and (max-width: 1599px) {
    .footer_box .inner::before { content: ''; position: absolute; left: 0; top: 0; width: 6vw; height: 100%; background-color: rgba(0, 0, 0, .35); }
    .sites_info { background-color: rgba(0, 0, 0, .35); }
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
	.footer_box .inner::before { width: 5%; }
    .footer_info { text-align: center; }
    .footer_info .col_right { justify-content: center; margin-top: 10px; }
}
@media screen and (min-width: 1280px) {
    .footer_memu { padding-left: 6vw; }
    .footer_info .inner { display: flex; justify-content: space-between; align-items: center; }
}
@media screen and (min-width: 1440px) {
    .sites_info .links { padding-left: 50px; }
}
@media screen and (min-width: 1600px) {
    .footer_memu { padding-right: 50px; padding-left: 130px; }
    .footer_box { position: relative; }
    .footer_box::before { content: ''; position: absolute; left: 0; top: 0; width: 35vw; height: 100%; background-color: rgba(0, 0, 0, .35); }
}

/*----------------------------------------------------------------------*/
/* Btn Top */
.BtnTop { text-align:center; z-index:10001; position:fixed; bottom:10px; right:10px; display:none; }
	.MenuFix .BtnTop { display:block; }
.BtnTop a { 
	display:block; background-color: #333; color:#fff; text-align:center; text-decoration:none; font-weight:600;
	overflow:hidden; position:relative; z-index:9999;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
.BtnTop a::after {
	content:''; position:absolute; top:14px; left:24px; width:7px; height:7px; border-top:2px solid #fff; border-left:2px solid #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
.BtnTop a:hover, .BtnTop a:focus { 
	background-color:var(--main_color);
	}
@media screen and (max-width: 1023px) {
	.BtnTop a { width:40px; padding-top:10px; line-height:30px; font-size:0.75rem; }
	.BtnTop a::after { top:10px; left:16px; width:6px; height:6px; }
}
@media screen and (min-width: 1024px) {
	.BtnTop { bottom:40px; right:15px; }
	.BtnTop a { width:60px; padding-top:10px; line-height:50px; }
	.BtnTop a::after { top:14px; left:24px; width:7px; height:7px; }
}

/*----------------------------------------------------------------------*/
/* bxSlider_list共通設定 */
/* 不顯示子項目 */
.bxSlider_list li { float:left; list-style:none; position:relative; display:none; }
/* 顯示第一筆項目 */  
.bxSlider_list li:first-child { display:block; }
/* 當JS執行時顯示全部 */
.bx-viewport .bxSlider_list li { display:block; }

.bx-wrapper { position:relative; margin:auto; padding:0; zoom:1; }
.bx-viewport { z-index:5555; position:relative; zoom:1; }
.bxSlider_list { clear:both; position:relative; z-index:9999; overflow:hidden; }

/* 修改Key visual圖片載入時Slider高度過高問題 */
.bxSlider_list { position:relative; }
/* 載入時顯示loading動畫,載完後圖片淡入 */
.bxSlider_list { background:url("../../loader.gif") no-repeat center center; overflow:hidden; }
.bxSlider_list li { 
	opacity:0; display:block; 
	/*-webkit-transition: all 2s ease;
	-moz-transition: all 2s ease;
	transition: all 2s ease;*/
	}
.bxSlider_list.show { background-image:none; }
.bxSlider_list.show li { opacity:1; }

/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-controls-direction a.disabled { display:none; }
.bx-wrapper .bx-controls-direction a { 
	display:block; position:absolute; text-indent:-10000px; z-index:9990;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
	
/* PAGER */
.bx-wrapper .bx-pager { position:absolute; z-index:9990; }
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item { display:inline-block; }
.bx-wrapper .bx-pager.bx-default-pager a { display:block; text-indent:10000px; }

/*----------------------------------------------------------------------*/
/* 表單 */
.FormGroup { 
	border: 1px solid #949494; background-color: #fff; padding:30px; margin:40px 0; position:relative;
	}
 	fieldset.FormGroup { max-width:100%; box-sizing:border-box; }
.FormGroup .FormGroupTitle { position:absolute; left:30px; top:-.75em; border-width: 0 1px; border-color: #676767; border-style: solid; padding: 0 5px; background-color: #fff; color: #055583; }
.FormGroup .FormGroupTitle span { padding:0 .5em 0 .65em; display:inline-block; border-width: 0 1px; border-color: #676767; border-style: solid; font-weight: 700; font-size:1.5em; letter-spacing:0.15em; }
	.FormGroup legend.FormGroupTitle { margin:0; padding:0 5px; display:block; }
.FormGroup .last_info { border-top: 1px solid #949494; padding-top: 10px; }

.FormTable { width:100%; margin-bottom:20px; }
.FormTable > tbody > tr > th, .FormTable > tbody > tr > td { font-size:100%; }
.FormTable > tbody > tr > th { line-height:28px; position:relative; color: #055583; letter-spacing: .15em; font-weight: 500; }
.FormTable > tbody > tr > th span { font-weight:bold; }
.FormTable > tbody > tr > td { line-height:35px; }
.FormTable > tbody > tr > th.text-top{ vertical-align:top; }

/* 表單內按鈕 */
.FormElmt input.check_btn { background-color:#333; color:#fff; height:40px; line-height:40px; padding:0 8px; font-size:1rem; -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition:all 0.3s ease; }
.FormElmt input.check_btn:hover { background-color:#1eb9ee; }

.FormElmt .go_btn input { -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px; background-color: #f4a657; width: 60px; height: 46px; line-height: 46px; }
.FormElmt .go_btn input:hover, .FormElmt .go_btn input:focus { background-color: #7e4e2b; }

/* 表單元件 */
.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"] { line-height:35px; height:35px; }

.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 select, .FormElmt textarea { margin-bottom:5px; margin-top: 5px; vertical-align:top; }

.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 textarea, .FormElmt select {
	border: 1px solid #ccc; font-size:1em; box-sizing:border-box; background-color:#fff; color:#222;
    border-radius: 5px;
}
	
.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"] { 
	padding:0 .5em; 
	}
.FormElmt textarea { padding:5px 10px; }
.FormElmt select {
	line-height:26px; padding:5px .25em; height:35px; color:#333; max-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 textarea:focus, .FormElmt select:focus {
	outline: 0; border: 1px solid #aaa; background-color: #faf8e8; box-shadow: 0 0 10px rgba(0,0,0,.3);
	-webkit-transition: border-color ease-in .2s;
	-moz-transition: border-color ease-in .2s;
	transition: border-color ease-in .2s;
	}
	
.FormElmt hr { margin:25px 0; }
.FormElmt input.addr { margin-top:8px; display:block; }
.FormElmt .gender { display:inline-block; }
.FormElmt .gender input[type="radio"] { margin-left:25px; }
.FormElmt .w40 { width:40px; }
.FormElmt .w60 { width:60px; }
.FormElmt .w80 { width:80px; }
.FormElmt .w100 { width:100px; }
.FormElmt .w160 { width:100%; max-width:160px; }
.FormElmt .w200 { width:100%; max-width:200px; }
.FormElmt .w260 { width:100%; max-width:260px; }
.FormElmt .w300 { width:100%; max-width:300px; }
.FormElmt .w400 { width:100%; max-width:400px; }
.FormElmt .w500 { width:100%; max-width:500px; }
.FormElmt .w600 { width:100%; max-width:600px; }
.FormElmt .fullwidth { width:100%; }
.FormElmt .dev-calendar { width:100%; max-width:150px; }
.FormElmt .note { color:#d31f4e; line-height:160%; font-size:0.875em; }
.FormElmt .desc { font-size:0.875em; line-height:160%; vertical-align:middle; }
.FormElmt span.required { font-weight: bold; color: #d31f4e; }
.FormElmt .Foreword { padding: 5px 0; color: #d31f4e; }

.post_info + .FormGroup { margin-top:60px; }

/* checkbox/radio群組 */
.FormElmt .input_group.inline { display:flex; flex-wrap: wrap; }
.FormElmt .input_group.inline > div { margin-right: 15px; }
.FormElmt .input_group input[type="text"] { width: auto; margin-left: 8px; }

/* 驗證碼 */
.FormElmt .randomcode::after { content:''; display:block; clear:both; }
.FormElmt .randomcode { display: flex; flex-wrap: wrap; }
.FormElmt .randomcode > div { margin-right:1em; }
	.FormElmt .randomcode .input input[type="text"] { width:120px; }
	.FormElmt .randomcode .img img { vertical-align:middle; }
    .FormElmt .randomcode .btn { display: flex; flex-wrap: wrap; }
	.FormElmt .randomcode .btn > * { 
		background:url("../images/icon_randomcode.png") no-repeat; border:0; height:40px; line-height:40px; cursor: pointer; padding: 0 12px 0 30px; margin: 0 .5em 8px 0;
		}
    .FormElmt .randomcode .btn input , .FormElmt .randomcode .btn button { font-size: 1em; color: #555; }
    .FormElmt .randomcode .btn a { text-decoration: none; color: #555; }
    .FormElmt .randomcode .btn input:hover, .FormElmt .randomcode .btn a:hover, .FormElmt .randomcode .btn button:hover { background-color: #ffdd98; }
    .FormElmt .randomcode .btn input:focus, .FormElmt .randomcode .btn a:focus, .FormElmt .randomcode .btn button:focus { background-color: #ffdd98; }
	.FormElmt .randomcode .btn .refresh { background-position:10px 3px; }
	.FormElmt .randomcode .btn .play { background-position:8px -33px; }

/* 按鈕 - 內元素只能button或a */
.BtnCommon { display: flex; justify-content: center; flex-wrap: wrap; margin: 20px 0; }
.BtnCommon > div { margin: 10px 20px; }
	.BtnCommon.tl { justify-content: flex-start; }
	.BtnCommon.tr { justify-content: flex-end; }
.BtnCommon button, .BtnCommon a { display:block; }
.BtnCommon button, .BtnCommon a { font-weight: bold; }
	.BtnCommon.large button, .BtnCommon.large a { height:48px; line-height:48px; }
	.BtnCommon.mid button, .BtnCommon.mid a { height:40px; line-height:40px; }
	.BtnCommon.small button, .BtnCommon.small a { height:36px; line-height:36px; }

.BtnCommon div[class] button:before { 
	display:block; position:absolute; top:50%; z-index: 5; width:20px; height:20px; margin-top:-10px; content:''; 
    background-image: url("../images/icon_btn_common.png");
    background-repeat: no-repeat;
	}
	.BtnCommon.large div[class] button:before { left:30px; }
	.BtnCommon.mid div[class] button:before { left:20px; }
	.BtnCommon.small div[class] button:before { left:15px; }

.BtnCommon a, .BtnCommon button {
    background-color:#0071b2; box-shadow: 0 2px 13px rgba(18,41,45,.5);
    color:#fff; box-sizing:border-box; position:relative; z-index:2;
    cursor: pointer; text-decoration: none;
	-webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; transition:all 0.3s ease;
}
	.BtnCommon.large a, .BtnCommon.large button { padding:0 30px; font-size:1.25em; letter-spacing: .15em; }
	.BtnCommon.mid a, .BtnCommon.mid button { padding:0 25px; font-size:1em; }
	.BtnCommon.small a, .BtnCommon.small button { padding:0 15px; font-size:0.9375em; }
	.BtnCommon.large div[class] a, .BtnCommon.large div[class] button { padding-left:58px; }
	.BtnCommon.mid div[class] a, .BtnCommon.mid div[class] button { padding-left:45px; }
	.BtnCommon.small div[class] a, .BtnCommon.small div[class] button { padding-left:40px; }

.BtnCommon button { border:0; margin:0; padding-top:0; padding-bottom:0; }
.BtnCommon button::before { -webkit-transition: background 0.3s ease; -moz-transition: background 0.3s ease; transition: background 0.3s ease; }
	.BtnCommon div.submit button::before { background-position:0 0; }
	.BtnCommon div.submit button:hover::before { background-position:-20px 0; }
	.BtnCommon div.submit button:focus::before { background-position:-20px 0; }
	.BtnCommon div.reset button::before { background-position:0 -20px; }
	.BtnCommon div.reset button:hover::before { background-position:-20px -20px; }
	.BtnCommon div.reset button:focus::before { background-position:-20px -20px; }

.BtnCommon a:hover, .BtnCommon button:hover {
    background-color: #fdc147; color: #0071b2;
}
.BtnCommon a:focus, .BtnCommon button:focus {
    background-color: #fdc147; color: #0071b2; outline: none;
}

/* 表單送出畫面 */
.form_feedback_box { 
	background-color:#f3fbff; padding:40px 30px 30px; max-width:640px; margin:30px auto; line-height:2em; font-size:1.25rem; color:#055583;
	-webkit-box-shadow:0 0 15px rgba(0,0,0,0.25);
	-moz-box-shadow:0 0 15px rgba(0,0,0,0.25);
	box-shadow:0 0 15px rgba(0,0,0,0.25);
	}
.form_feedback_box .icon { 
	width:80px; height:80px; margin:0 auto 20px; 
	background-image:url('../images/icon_form_feedback_box.png'); background-repeat:no-repeat; background-size:100%;
	}
	.form_feedback_box .icon.check { background-position:0 0; }
	.form_feedback_box .icon.xmark { background-position:0 100%; }

/*----------------------------------------------------------------------*/
/* 客製checkbox/radio */
.control { cursor: pointer; position: relative; padding-left: 1.75em; }
.control_indicator { position: absolute; top: 0; left: 0; height: 20px; width: 20px; border: 1px solid #949494; }
.control:hover input ~ .control_indicator { border: 1px solid #333; }
.control input:focus ~ .control_indicator { border: 1px solid #0071b2; }
.control input:disabled ~ .control_indicator { background: #fff; border: 1px solid #ccc; opacity: 0.5; pointer-events: none; }
.control_indicator:after { content: ''; position: absolute; display: none; }
.control input:checked ~ .control_indicator:after { display: block; }

/* checkbox */
.control.control_checkbox input[type="checkbox"] { position: absolute; z-index: -1; opacity: 0; width: 0; height: 0; }
.control_checkbox input[type="checkbox"]:checked ~ .control_indicator {
    background: #0071b2; border: 1px solid #0071b2;
}
.control_checkbox:hover input:not([disabled]):checked ~ .control_indicator,
.control_checkbox input:checked:focus ~ .control_indicator {
    background: #0071b2;
}
.control_checkbox .control_indicator:after {
    left: 6px; top: 2px; width: 5px; height: 10px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
.control_checkbox input:disabled ~ .control_indicator:after {
    border-color: #fff;
}

/* radio */
.control.control_radio input[type="radio"] { position: absolute; z-index: -1; opacity: 0; width: 0; height: 0; }
.control_radio .control_indicator { border-radius: 50%; }
.control_radio:hover input:not([disabled]):checked ~ .control_indicator,
.control_radio input:checked:focus ~ .control_indicator {
    background: #fff;
}
.control_radio input:checked ~ .control_indicator {
    background: #fff; border: 1px solid rgba(0,113,178,.5);
}
.control_radio .control_indicator:after {
    left: 3px; top: 3px; height: 14px; width: 14px; border-radius: 50%; background: #0071b2;
}
.control_radio input:disabled ~ .control_indicator:after {
    background: #0071b2;
}


/*----------------------------------------------------------------------*/
/* datepicker共通設定 */
.ui-datepicker { 
	background-color:#fff; padding:15px 8px 7px 8px; margin-top:5px; position:relative; display:none;
	-webkit-box-shadow: 0 0 5px #b2b2b2;
	-moz-box-shadow: 0 0 5px #b2b2b2;
	box-shadow: 0 0 5px #b2b2b2;
    -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;
	}
.ui-datepicker-prev, .ui-datepicker-next { 
	display:block; position:absolute; top:25px; width:12px; height:12px; background:url("../images/icon_datepicker.png") no-repeat; 
	text-indent:-10000px; cursor:pointer; 
	}
	.ui-datepicker-prev { left:12px; background-position:0 0; }
	.ui-datepicker-next { right:12px; background-position:0 -12px; }
	.ui-datepicker-prev:hover { background-position:-12px 0; }
	.ui-datepicker-next:hover { background-position:-12px -12px; }
.ui-datepicker-title { text-align:center; font-size:0.75rem; font-weight:bold; line-height:30px; }
.ui-datepicker-title select { height:30px; padding:5px; border:1px solid #ccc; -webkit-border-radius:20px; -moz-border-radius:20px; border-radius:20px; }
.ui-datepicker-title select.ui-datepicker-year { margin-right:6px; }
.ui-datepicker-title select.ui-datepicker-month { margin-left:6px; }
.ui-datepicker-calendar { margin-top:5px; }
.ui-datepicker-calendar th, .ui-datepicker-calendar td { width:27px; padding:0; font-family:Arial, Helvetica, "微軟正黑體", sans-serif; text-align:center; }
.ui-datepicker-calendar th { font-size:0.875rem; font-weight:bold; }
.ui-datepicker-calendar td { font-size:0.75rem; }
	.ui-datepicker-calendar th span, .ui-datepicker-calendar td span, .ui-datepicker-calendar td a { display:block; padding:5px 0 5px; }
	.ui-datepicker-calendar td a { text-decoration:none; color:#333; }
	.ui-datepicker-unselectable { color:#cfcfcf; }
	.ui-datepicker-today { background-color: var(--color2); }
		.ui-datepicker-calendar td.ui-datepicker-today a { color:#fff !important; }
		.ui-datepicker-unselectable.ui-datepicker-today { background-color:#f0f0f0; }
	.ui-datepicker-calendar td a.ui-state-default:hover { color:#e60012 }
	.ui-datepicker-current-day a { border:1px solid #21293c; }

/*----------------------------------------------------------------------*/
/* popup box */
.popup_box { 
	display:none; position:fixed; top:0; left:0; width:100%; height:100vh; background-color:rgba(0,0,0,0.7); box-sizing:border-box; z-index:10006; 
	}
	.popup_box.show { display:block; }
.popup_box .box_wrap { 
	background-color:#fff; position:relative; box-sizing:border-box;
	-webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.75);
	-moz-box-shadow: 0 0 20px rgba(0,0,0,0.75);
	box-shadow: 0 0 20px rgba(0,0,0,0.75);
	}
.popup_box .box_wrap > div { overflow-y:auto; overflow-x:hidden; height:100%; box-sizing:border-box; position:relative; }
.popup_box .box_wrap > div::-webkit-scrollbar { -webkit-appearance:none; width:14px; height:14px; }
.popup_box .box_wrap > div::-webkit-scrollbar-thumb { border-radius:8px; border:3px solid #fff; background-color:rgba(0, 0, 0, .3); }
.popup_box .box_wrap > div::-webkit-scrollbar-thumb:hover { background-color:#000; }
.popup_box .cont > *:last-child { margin-bottom:0; }

.popup_box .close { 
	position:absolute; background-color:#bbb; text-indent:-10000px; cursor:pointer; z-index:10000;
	top:8px; right:8px; width:28px; height:28px;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	border-radius:50%;
	}
.popup_box .close::before, .popup_box .close::after { 
	display:block; content:''; position:absolute; top:50%; left:50%; width:2px; height:14px; margin:-7px 0 0 -1px; background-color:#fff; 
	}
.popup_box .close::before {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	}
.popup_box .close::after {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	}
.popup_box .close:hover { background-color:#333; }


/*----------------------------------------------------------------------*/
/* 編輯器 */
.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:2em; letter-spacing:0.1em;
	}
.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 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.5rem; color:#000; overflow:hidden; }
	.editable_content h5 { font-size:1.375rem; color:#222; }
	.editable_content h6 { font-size:1.25rem; color:#222; }
.editable_content blockquote {
    margin:0px 0 35px 0; padding:35px 55px; background: #f5f5f5; border-left:none; overflow:hidden; position: relative; font-family: "Noto Serif TC", serif; font-weight: 500;
    }
.editable_content blockquote::before, .editable_content blockquote::after { 
        display:block; position:absolute; color:var(--main_color); font-size:4rem; line-height:100%; 
        font-family: "Noto Serif TC", serif; font-weight: 400;
    }
	.editable_content blockquote::before { content:'“'; top:20px; left: -10px; }
	.editable_content blockquote::after { content:'”'; bottom:-15px; right: -15px; }
    .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 span, .MsgModule_Link span { white-space:nowrap; font-weight:bold; color: var(--color1); }
.MsgModule_Download + .MsgModule_Download, .MsgModule_Download + .MsgModule_Link, .MsgModule_Link + .MsgModule_Download, .MsgModule_Link + .MsgModule_Link { 
	margin-top:-10px; 
	}
.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:#ebebeb; line-height:150%; }
	.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; }
	.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:1200px; 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:300; color:#636363; line-height:1.5em; text-align:left; 
	}
.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 { font-family: "Noto Serif TC", serif; font-weight: 700; margin-top:25px; margin-bottom: 10px; position:relative; font-size:1.5rem; letter-spacing:0.05em; padding-top: 0; padding-bottom: 0; display: flex; align-items: center; }
h4.ext_title:before { content: ""; flex-shrink: 0; margin-right: 5px; width: 40px; height: 40px; background-image: url(../images/icon_module.png); 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 li { position:relative; padding:6px 0; line-height:1.5em; }
.editable_content ul.ext_list li a { color:#333; text-decoration:none; word-wrap:break-word; }
.editable_content ul.ext_list li a:hover, ul.ext_list li a:focus { color: var(--main_color); }
.editable_content ul.ext_list li span.file_ext { width:24px; height:24px; margin-left:6px; text-indent:-10000px; vertical-align: middle; }

/* 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 #000; border-top:1px solid #000; }
.editable_content .table_style1 > tbody > tr > th, .editable_content .table_style1 > tbody > tr > td { 
	padding:5px 8px; border-right:1px solid #000; border-bottom:1px solid #000; line-height:160%; 
	}
.editable_content .table_style1 > tbody > tr > th { background-color:#dedede; color:#333; white-space:nowrap; }
.editable_content .table_style1 > tbody > tr > td { background-color:#fff; color:#333; }

/*學術單位自訂樣式*/
.row { display: flex; flex-wrap: wrap;	margin-top: 0px; margin-bottom: 30px; }
.acad-r0-12 { width: 47%; margin: 15px; background-color: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 8px; box-sizing: border-box; margin-top: 0 !important;	padding: 0 25px; }
.acad-r0-12 span { font-size: 2em; }
.acad-r0-12 a { text-decoration: none; }
.acad-r0-12 a:hover { text-decoration: underline; }
.acad-r1-6 { margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #dddddd; }
.acad-t1-6 { margin-top: 1.5em !important; margin-bottom: -1em !important; }

@media screen and (max-width: 768px) {
    .row { flex-direction: column; margin-bottom: 15px; }
    .acad-r0-12 { width: 100%;margin: 20px 0 !important; padding: 0 15px; }
    .acad-r0-12 span { font-size: 1.5em; }
}


@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 h4.ext_title { margin-bottom: 10px; }
    #colorbox_thum a { width:120px; height:90px; margin:0 5px 5px; }
}
@media screen and (min-width: 640px) and (max-width: 1279px) {
    .editable_content .imgleft { margin-right:20px; }
    .editable_content .imgright { margin-left:20px; }
}

@media screen and (min-width: 640px) and (max-width: 1023px) {    
    .editable_content ul.ext_list { padding-left: 30px; }
    #colorbox_thum a { width: 160px; height: 120px; margin:0 10px 20px; }
}
@media screen and (min-width: 1024px) {  
    .editable_content ul.ext_list { padding-left: 76px; }
    #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; }
    .editable_content blockquote { font-size: 1.125em; }
}
@media screen and (min-width: 1280px) {
    .editable_content .imgleft { margin-right:25px; }
    .editable_content .imgright { margin-left:25px; }
    .editable_content { font-size: 1.125em; }
    .editable_content ul.ext_list { font-size: 1.25rem; }
}

/*----------------------------------------------------------------------*/
/* 微編輯器 */
.textarea_editor, .textarea_editor p, .textarea_editor li, .textarea_editor dt, .textarea_editor dd, .textarea_editor div, .textarea_editor blockquote { 
	line-height:1.75em; letter-spacing:0.15em;
	}
.textarea_editor div, .textarea_editor table, .textarea_editor iframe { 
	margin-top:1.5em; margin-bottom:1.5em; 
	}
.textarea_editor p, .textarea_editor ul, .textarea_editor ol, .textarea_editor dl, .textarea_editor blockquote { 
	margin-top:1.25em; margin-bottom:1.25em; 
	}
.textarea_editor p { padding:0; }
.textarea_editor h4, .textarea_editor h5, .textarea_editor h6 { margin-bottom:5px; line-height:1.5em; }
.textarea_editor h4 + *:not(h4):not(h5):not(h6),
.textarea_editor h5 + *:not(h4):not(h5):not(h6),
.textarea_editor h6 + *:not(h4):not(h5):not(h6) { margin-top:0.625em; }
.textarea_editor h4 + h4, .textarea_editor h4 + h5, .textarea_editor h4 + h6,
.textarea_editor h5 + h4, .textarea_editor h5 + h5, .textarea_editor h5 + h6,
.textarea_editor h6 + h4, .textarea_editor h6 + h5, .textarea_editor h6 + h6 { margin-top:1.25em; }
	.textarea_editor h4 { font-size:1.375rem; color:#4c7697; overflow:hidden; }
	.textarea_editor h5 { font-size:1.25rem; }
	.textarea_editor h6 { font-size:1.125rem; }
.textarea_editor blockquote { 
	padding:15px 24px; overflow:hidden; position:relative; box-sizing:border-box; 
	}
.textarea_editor blockquote::before, .textarea_editor blockquote::after { 
	display:block; position:absolute; font-family:'Roboto', sans-serif; line-height:100%; color:#384952; font-size:48px; 
	}
	.textarea_editor blockquote::before { content:'“'; left:0; top:0; }
	.textarea_editor blockquote::after { content:'”'; right:0; bottom:-20px; }

.textarea_editor ol { list-style-type:decimal; padding-left:2em; overflow:hidden; }
.textarea_editor ul { list-style-type:disc; padding-left:2em; overflow:hidden; }
	.textarea_editor ul[type="disc"] { list-style-type:disc; }
	.textarea_editor ul[type="circle"] { list-style-type:circle; }
	.textarea_editor ul[type="square"] { list-style-type:square; }
.textarea_editor li { margin-bottom:0.625em; }
.textarea_editor ol ol { list-style-type:lower-alpha; }
.textarea_editor ul ul { list-style-type:circle; }
.textarea_editor ul ul, .textarea_editor ul ol, .textarea_editor ol ul, .textarea_editor ol ol { margin-top:5px; margin-bottom:0; }
.textarea_editor ul li:last-child, .textarea_editor ol li:last-child { margin-bottom:0; }
.textarea_editor dl { overflow:hidden; }
.textarea_editor dl dt { font-weight:bold; margin-bottom:0.625em; }
.textarea_editor dl dd { padding-left:25px; margin-bottom:0.625em; position:relative; }
.textarea_editor 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%; }
	
.textarea_editor dl dl, .textarea_editor dl ul, .textarea_editor dl ol, .textarea_editor ul dl.textarea_editor ol dl { margin-top:5px; margin-bottom:0; }
.textarea_editor dl dd:last-child { margin-bottom:0; }
.textarea_editor hr { margin:1.625em 0; }

/* html編輯區的表格預設樣式 */
.textarea_editor table[align="center"] { margin-left:auto; margin-right:auto; }
.textarea_editor table caption { margin:5px 0; padding:5px 0; font-weight:bold; color:#333; text-align:left; line-height:1.5em; }
.textarea_editor .tableWrap { position:relative; overflow-y:auto; _overflow:auto; width:100%; margin-bottom:1em; -webkit-overflow-scrolling:touch; }
.textarea_editor .tableWrap table { margin:0; }
/*添加IOS下卷軸*/
.textarea_editor .tableWrap::-webkit-scrollbar { -webkit-appearance:none; width:14px; height:14px; }
.textarea_editor .tableWrap::-webkit-scrollbar-thumb { border-radius:8px; border:3px solid #fafafa; background-color:rgba(0, 0, 0, .3); }
.textarea_editor .tableWrap::-webkit-scrollbar-thumb:hover { background-color:#4c7697; }

/* 移除第一個物件的上邊界、上間距避免過大的空白 */
.textarea_editor > *:first-child, .textarea_editor .district > *:first-child, .textarea_editor blockquote > *:first-child, .textarea_editor td > *:first-child { 
	margin-top:0; 
	}
/* 移除最後一個物件的下邊界、下間距避免過大的空白 */
.textarea_editor > *:last-child, .textarea_editor .district > *:last-child, .textarea_editor blockquote > *:last-child, .textarea_editor td > *:last-child { 
	margin-bottom:0; 
	}
/* 避免爆版 */
.textarea_editor iframe, 
.textarea_editor img, 
.textarea_editor div, 
.textarea_editor p, 
.textarea_editor span, 
.textarea_editor ul,
.textarea_editor ol,
.textarea_editor li,
.textarea_editor figure, 
.textarea_editor figcaption { 
	max-width:100%; 
	}
.textarea_editor * { word-wrap:break-word; }
/* 取消圖片的高度設定避免RWD時不等比例縮放 */
.textarea_editor img { height:auto; }

/*----------------------------------------------------------------------*/
/*
    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:140px; 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 { width:220px; height:145px; }
}

/* 
    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 {}
    #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: #f08000; }
.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:160px; }
.ifun_text_menu > ul ul > li:hover > ul { display:block; }
.ifun_text_menu > ul ul li { background-color:rgba(255,255,255,0.75); }
.ifun_text_menu > ul ul a { padding:5px 10px; line-height:180%; font-size:0.875rem; color:#333; }
.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 #333; }
.ifun_text_menu > ul > li:hover > ul { display:block; }
.ifun_text_menu > ul ul ul { top: 0; left: 160px; }
.ifun_text_menu .other { border-top: 1px solid #ccc; }

/*----------------------------------------------------------------------*/
/* RWD */
/* width_narrow */
@media screen and (max-width: 639px) {    
    /* 表單 */
    .FormGroup { padding:25px 12px; margin-bottom:15px; }
    .FormTable, .FormTable > tbody, .FormTable > tbody > tr, .FormTable > tbody > tr > th, .FormTable > tbody > tr > td { display:block; }
    .FormTable > tbody > tr > th { text-align:left; }
    .FormTable > tbody > tr { padding: 5px 10px 0; }

    .input_table li { width:50%; }

    /* 驗證碼 */
    .FormElmt .randomcode .img img { margin-bottom:11px; }

    /* 表單元件 */
    .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"] { line-height:40px; height:40px; }
    .FormElmt select { height:40px; }

    .FormElmt .go_btn input { line-height:40px; height:40px; }
    .form_box.FormElmt .go_btn input { width: 40px; }
    
    /* 按鈕 */
    .BtnCommon.large a, .BtnCommon.large input { padding: 0 15px; font-size: 1em; }
    .BtnCommon.large div[class] a, .BtnCommon.large div[class] input { padding-left: 36px; }
    .BtnCommon.large div[class] span:before { left: 13px; }
    .BtnCommon.btn_form { margin-bottom: 0; }

    /* popup box */
    .popup_box { padding:12px; }
    .popup_box .box_wrap { padding:10px; }
    .popup_box .box_wrap > div { height:calc(100vh - 44px); }
}


/* width_wide */
@media screen and (min-width: 640px) and (max-width: 1023px) {    
    /* 表單 */
    .FormTable > tbody > tr > th, .FormTable > tbody > tr > td { vertical-align:top; }
    .FormTable > tbody > tr > th { width:125px; padding:15px; text-align:right; }
    .FormTable > tbody > tr > th:empty::after { display:none; }
    .FormTable > tbody > tr > td { padding:10px 15px 4px 0; }
    .FormTable.lectureForm > tbody > tr > th { padding:18px 15px 18px 0; }
    .FormTable.lectureForm > tbody > tr > td { padding:14px 15px 7px 0; }

    /* 表單元件 */
    .FormElmt input + input, .FormElmt input + select, .FormElmt select + input, .FormElmt select + select { margin-left:4px; }

    /* 表單元件 */
    .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"] { line-height:40px; height:40px; }
    .FormElmt select { height:40px; }

    .FormElmt .go_btn input { line-height:40px; height:40px; }
    .form_box.FormElmt .go_btn input { width: 40px; }
}

/* width_desktop */
@media screen and (min-width: 1024px) {    
    /* 表單 */
    .FormTable > tbody > tr > th, .FormTable > tbody > tr > td { vertical-align:top; font-size: 1.25rem; }
    .FormTable > tbody > tr > th { width:240px; padding:20px 15px; text-align:right; line-height: 1.5rem; }
    .FormTable > tbody > tr > th:empty::after { display:none; }
    .FormTable > tbody > tr > td { padding:12px 15px 4px 0; line-height: 40px; }

    /* 表單元件 */
    .FormElmt input + input, .FormElmt input + select, .FormElmt select + input, .FormElmt select + select { margin-left:4px; }
    .FormElmt .randomcode { align-items: center; }
    .FormElmt .randomcode .input input[type="text"] { margin-bottom: 0; }
    .FormElmt .randomcode .btn > * { margin-bottom: 0; }
    .control_indicator { top: .225em; }
    .control { padding-left: 1.5em; }

    /* 表單元件 */
    .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"] { line-height:46px; height:46px; }
    .FormElmt select { height:46px; }

    .FormElmt .go_btn input { line-height:46px; height:46px; }
    .form_box.FormElmt .go_btn input { width: 46px; }


    .BtnCommon.large a, .BtnCommon.large button { height:65px; line-height:65px; }
}



/*----------------------------------------------------------------------*/
/* jQuery.mmenu CSS */

#nav ul { display:none; }/*預先隱藏選單*/

@media screen and (min-width: 1024px) {
#nav, #MenuMobile, .switch {
	display: none;
}
}
@media screen and (max-width: 1023px) {
.switch a {
	display: block;	position: fixed; top: 8px; left: 12px;
    font-size: 0;
	z-index:10005;
	background-color: var(--main_color);
	border-radius:10px;
	transition-delay:0.3s;
}
html.mm-opening .switch a { 
	/*opacity:0; */ transition-delay:0s;
	}
.menu-action::after, .menu-action::before, .menu-action > i::before  {
	background:#fff none repeat scroll 0 0;
	content:"";
	height:2px;
	left:0;
	position:absolute;
	border-radius:2px;
    transition: all 0.3s ease;
}
.menu-action, .menu-action > i {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
}
.menu-action::after { bottom:7px; }
.menu-action::before { top:7px; }
.menu-action > i { height:2px; left:0; text-indent:-999px; overflow:hidden; }
.menu-action > i::before { top:0; }

	.mm-opened .menu-action > i { opacity:0; }
	.mm-opened .menu-action::after {
		bottom:14px;
		transform: rotate(45deg);
		}
	.mm-opened .menu-action::before {
		top:14px;
		transform: rotate(-45deg);
		}

.menu-action::after, .menu-action::before, .menu-action > i::before, .menu-action, .menu-action > i { width:30px; }
.menu-action { height:30px; left:50%; margin-left:-15px; }

@media screen and (max-width: 639px) {
.switch a { width: 40px; height: 40px; top: 10px; }
.menu-action::after, .menu-action::before, .menu-action > i::before, .menu-action, .menu-action > i { width: 24px; }
.menu-action { margin-left: -12px; }
}
@media screen and (min-width: 640px) {
.switch a { width: 48px; height: 48px; }
}

.mm-search.mm-listitem { padding:10px; }
.mm-search.mm-listitem::after { inset-inline-start: 0; }
.mm-search .search_box { width:100%; position:relative; }
.mm-search .search_box input[type="text"] { 
	width:100%; height:40px; line-height:40px; padding:0 40px 0 8px; background-color:rgba(0, 0, 0, .05); border:none; font-size:1em; border-radius: 5px;
	}
.mm-search .search_box input[type="text"], .mm-search .search_box input[type="text"]::placeholder { color:#636363; }
.mm-search .search_box .btn { 
	position:absolute; top:-1px; right:-1px; width:40px; height:40px; text-indent:-9999px; overflow:hidden;
	}
.mm-search .search_box .btn::before { 
	content:''; display:block; position:absolute; top:50%; left:50%; width:18px; height:18px; margin:-9px 0 0 -9px; 
	background:url(../images/icon_search.svg) no-repeat 0 0; background-size:100%; 
	}

/* mmenu補丁 */
#mm-1 .mm-navbar { display:none; }
#MenuMobile .mm-navbars--bottom .mm-navbar { padding: 8px 0; background: var(--main_color); }
#MenuMobile .mm-navbars--bottom ul { display: flex; flex-wrap: wrap; }
#MenuMobile .mm-navbars--bottom ul li { padding: 0 8px; margin: 5px 0; }
#MenuMobile .mm-navbars--bottom li a { color: #fff; }
#MenuMobile .mm-navbars--bottom .social li { height: 30px; }
#MenuMobile .mm-navbars--bottom .social li a { padding: 0; }
#MenuMobile .mm-navbars--bottom li:not(:last-child) { border-right: 1px solid #ccc; }

/*!
 * mmenu.js
 * mmenujs.com
 *
 * Copyright (c) Fred Heusschen
 * frebsite.nl
 *
 * License: CC-BY-NC-4.0
 * http://creativecommons.org/licenses/by-nc/4.0/
 */
:root {
    --mm-lineheight: 22px
}

.mm-hidden {
    display: none !important
}

.mm-wrapper {
    overflow-x: hidden;
    position: relative
}

.mm-menu,
.mm-menu *,
.mm-menu :after,
.mm-menu :before {
    -webkit-transition-property: none;
    -o-transition-property: none;
    transition-property: none;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease
}

:root {
    --mm-blocker-visibility-delay: 0.4s;
    --mm-blocker-opacity-delay: 0s
}

.mm-blocker {
    display: block;
    position: absolute;
    bottom: 100%;
    top: 0;
    right: 0;
    left: 0;
    z-index: 3;
    opacity: 0;
    background: var(--mm-color-background);
    -webkit-transition: bottom 0s ease var(--mm-blocker-visibility-delay), width .4s ease, opacity .4s ease var(--mm-blocker-opacity-delay), -webkit-transform .4s ease;
    transition: bottom 0s ease var(--mm-blocker-visibility-delay), width .4s ease, opacity .4s ease var(--mm-blocker-opacity-delay), -webkit-transform .4s ease;
    -o-transition: bottom 0s ease var(--mm-blocker-visibility-delay), width .4s ease, opacity .4s ease var(--mm-blocker-opacity-delay), transform .4s ease;
    transition: bottom 0s ease var(--mm-blocker-visibility-delay), width .4s ease, opacity .4s ease var(--mm-blocker-opacity-delay), transform .4s ease;
    transition: bottom 0s ease var(--mm-blocker-visibility-delay), width .4s ease, opacity .4s ease var(--mm-blocker-opacity-delay), transform .4s ease, -webkit-transform .4s ease
}

.mm-blocker:focus-visible {
    opacity: .75
}

.mm-btn {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    width: 50px;
    padding: 0
}

.mm-btn--next,
[dir=rtl] .mm-btn--prev {
    --mm-btn-rotate: 135deg
}

.mm-btn--prev,
[dir=rtl] .mm-btn--next {
    --mm-btn-rotate: -45deg
}

.mm-btn--next:after,
.mm-btn--prev:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 8px;
    height: 8px;
    margin: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid var(--mm-color-icon);
    border-bottom: none;
    border-right: none;
    -webkit-transform: rotate(var(--mm-btn-rotate));
    -ms-transform: rotate(var(--mm-btn-rotate));
    transform: rotate(var(--mm-btn-rotate))
}

.mm-btn--prev:before {
    inset-inline-start: 23px
}

.mm-btn--next:after {
    inset-inline-end: 23px
}

.mm-btn--close:before {
    content: "×";
    font-size: 150%
}

.mm-btnreset {
    padding: 0;
    background: 0 0;
    border: none;
    cursor: pointer
}

.mm-divider {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    position: -webkit-sticky;
    position: sticky;
    z-index: 2;
    top: 0;
    min-height: var(--mm-lineheight);
    padding: calc((var(--mm-listitem-size) * .65 - var(--mm-lineheight)) * .5) 20px;
    font-size: 75%;
    text-transform: uppercase;
    background: var(--mm-color-background);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--mm-color-background-highlight)), to(var(--mm-color-background-highlight)));
    background-image: -o-linear-gradient(var(--mm-color-background-highlight), var(--mm-color-background-highlight));
    background-image: linear-gradient(var(--mm-color-background-highlight), var(--mm-color-background-highlight));
    opacity: 1;
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity
}

.mm-navbar:not(.mm-hidden)~.mm-listview .mm-divider {
    top: var(--mm-navbar-size)
}

:root {
    --mm-listitem-size: 50px
}

.mm-listitem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    padding: 0;
    margin: 0;
    color: var(--mm-color-text);
    border-color: var(--mm-color-border)
}

.mm-listitem:after {
    content: "";
    border-color: inherit;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    display: block;
    position: absolute;
    inset-inline-start: 20px;
    inset-inline-end: 0;
    bottom: 0
}

.mm-listitem__btn,
.mm-listitem__text {
    padding: calc((var(--mm-listitem-size) - var(--mm-lineheight))/ 2) 0
}

.mm-listitem__text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.mm-listitem__btn {
    display: block;
    position: relative;
    width: auto;
    -webkit-padding-end: 50px;
    padding-inline-end: 50px;
    border-color: inherit;
    background: rgba(3, 2, 1, 0)
}

.mm-listitem__btn:not(.mm-listitem__text) {
    border-left-width: 1px;
    border-left-style: solid
}

.mm-listitem--selected>.mm-listitem__text {
    background: var(--mm-color-background-emphasis)
}

.mm-listitem--opened>.mm-listitem__btn,
.mm-listitem--opened>.mm-panel {
    background: var(--mm-color-background-highlight)
}

.mm-listview {
    list-style: none;
    display: block;
    padding: 0;
    margin: 0
}

.mm-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
    background: var(--mm-color-background);
    border-color: var(--mm-color-border);
    color: var(--mm-color-text);
    line-height: var(--mm-lineheight);
    -webkit-tap-highlight-color: var(--mm-color-background-emphasis);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.mm-menu ::-webkit-input-placeholder {
    color: var(--mm-color-text-dimmed)
}

.mm-menu ::-moz-placeholder {
    color: var(--mm-color-text-dimmed)
}

.mm-menu :-ms-input-placeholder {
    color: var(--mm-color-text-dimmed)
}

.mm-menu ::-ms-input-placeholder {
    color: var(--mm-color-text-dimmed)
}

.mm-menu ::placeholder {
    color: var(--mm-color-text-dimmed)
}

.mm-menu,
.mm-menu * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.mm-menu :focus,
.mm-menu :focus-visible,
.mm-menu:focus,
.mm-menu:focus-visible {
    outline: 0
}

.mm-menu a,
.mm-menu button,
.mm-menu label {
    color: inherit
}

.mm-menu a:focus,
.mm-menu button:focus,
.mm-menu label:focus {
    outline: 0
}

.mm-menu a:focus-visible,
.mm-menu button:focus-visible,
.mm-menu label:focus-visible {
    outline: 2px solid var(--mm-color-focusring);
    outline-offset: -5px
}

.mm-menu input:focus,
.mm-menu input:focus-visible,
.mm-menu select:focus,
.mm-menu select:focus-visible,
.mm-menu textarea:focus,
.mm-menu textarea:focus-visible {
    outline: 2px solid var(--mm-color-focusring);
    outline-offset: 2px
}

.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited {
    text-decoration: none;
    color: inherit
}

:root {
    --mm-navbar-size: 50px
}

.mm-navbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: var(--mm-navbar-size);
    padding-top: env(safe-area-inset-top);
    color: var(--main_color2);
	font-weight: bold;
    text-align: center;
    opacity: 1;
    background: var(--mm-color-background);
    border-bottom: 1px solid var(--mm-color-border);
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
}

.mm-navbar>* {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.mm-navbar__btn {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0
}

.mm-navbar__title {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 20px;
    overflow: hidden
}

.mm-navbar__title[href="#"] {
    pointer-events: none
}

.mm-navbar__title>span {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden
}

.mm-btn.mm-hidden+.mm-navbar__title:not(:last-child) {
    -webkit-padding-start: 60px;
    padding-inline-start: 60px;
    -webkit-padding-end: 10px;
    padding-inline-end: 10px
}

.mm-btn:not(.mm-hidden)+.mm-navbar__title:last-child {
    -webkit-padding-start: 10px;
    padding-inline-start: 10px;
    -webkit-padding-end: 60px;
    padding-inline-end: 60px
}

.mm-panel {
    --mm-panel-child-offset: 100%;
    --mm-panel-parent-offset: -30%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
    overflow-y: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    color: var(--mm-color-text);
    border-color: var(--mm-color-border);
    background: var(--mm-color-background);
    -webkit-transform: translate3d(var(--mm-panel-child-offset), 0, 0);
    transform: translate3d(var(--mm-panel-child-offset), 0, 0);
    -webkit-transition-property: inset-inline-start, -webkit-transform;
    transition-property: inset-inline-start, -webkit-transform;
    -o-transition-property: transform, inset-inline-start;
    transition-property: transform, inset-inline-start;
    transition-property: transform, inset-inline-start, -webkit-transform
}

[dir=rtl] .mm-panel {
    --mm-panel-child-offset: -100%;
    --mm-panel-parent-offset: 30%
}

.mm-panel:after {
    content: "";
    display: block;
    height: var(--mm-listitem-size)
}

.mm-panel:focus {
    outline: 0
}

.mm-panel--opened {
    z-index: 2;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s
}

.mm-panel--parent {
    -webkit-transform: translate3d(var(--mm-panel-parent-offset), 0, 0);
    transform: translate3d(var(--mm-panel-parent-offset), 0, 0);
    z-index: 0
}

.mm-panel--highest {
    z-index: 3
}

.mm-menu--opened .mm-panel--noanimation {
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-transition-duration: 0s !important;
    -o-transition-duration: 0s !important;
    transition-duration: 0s !important
}

.mm-panel__content {
    padding: 20px
}

.mm-panels {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    position: relative;
    height: 100%;
    overflow: hidden;
    background: var(--mm-color-background);
    border-color: var(--mm-color-border);
    color: var(--mm-color-text)
}

.mm-panels:focus {
    outline: 0
}

:root {
    --mm-toggle-size: 34px
}

.mm-toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: center;
    align-self: center;
    -webkit-box-flex: calc(var(--mm-toggle-size) * 1.75);
    -ms-flex: calc(var(--mm-toggle-size) * 1.75) 0 0px;
    flex: calc(var(--mm-toggle-size) * 1.75) 0 0;
    height: var(--mm-toggle-size);
    -webkit-margin-end: 10px;
    margin-inline-end: 10px;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: none !important;
    border-radius: var(--mm-toggle-size);
    border: var(--mm-color-border);
    background: var(--mm-color-border);
    cursor: pointer;
    -webkit-transition-property: background-color;
    -o-transition-property: background-color;
    transition-property: background-color
}

.mm-toggle:before {
    content: "";
    aspect-ratio: 1;
    margin: 2px;
    border-radius: 100%;
    background: var(--mm-color-background);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.mm-toggle:checked {
    background: #4bd963
}

.mm-toggle:checked:before {
    -webkit-transform: translateX(calc(var(--mm-toggle-size) * .75));
    -ms-transform: translateX(calc(var(--mm-toggle-size) * .75));
    transform: translateX(calc(var(--mm-toggle-size) * .75))
}

[dir=rtl] .mm-toggle:checked:before {
    -webkit-transform: translateX(calc(var(--mm-toggle-size) * -.75));
    -ms-transform: translateX(calc(var(--mm-toggle-size) * -.75));
    transform: translateX(calc(var(--mm-toggle-size) * -.75))
}

.mm-listitem--vertical>.mm-panel {
    position: static;
    width: 100%;
    padding: 10px 0 10px 20px;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important
}

.mm-listitem--vertical>.mm-panel:after {
    content: none;
    display: none
}

.mm-listitem--vertical:not(.mm-listitem--opened)>.mm-panel {
    display: none
}

.mm-listitem--vertical>.mm-listitem__btn {
    height: var(--mm-listitem-size);
    bottom: auto
}

.mm-listitem--vertical .mm-listitem:last-child:after {
    border-color: transparent
}

.mm-listitem--opened>.mm-listitem__btn:after {
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    right: 19px
}

:root {
    --mm-size: 80%;
    --mm-min-size: 240px;
    --mm-max-size: 440px
}

.mm-menu--offcanvas {
    position: fixed;
    z-index: 0
}

.mm-page {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 100vh;
    background: inherit
}

:where(.mm-slideout) {
    position: relative;
    z-index: 1;
    width: 100%;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    transition-duration: .4s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-property: width, -webkit-transform;
    transition-property: width, -webkit-transform;
    -o-transition-property: width, transform;
    transition-property: width, transform;
    transition-property: width, transform, -webkit-transform
}

.mm-wrapper--opened,
.mm-wrapper--opened body {
    overflow: hidden
}

.mm-wrapper__blocker {
    background: rgba(0, 0, 0, .4)
}

.mm-wrapper--opened .mm-wrapper__blocker {
    --mm-blocker-visibility-delay: 0s;
    --mm-blocker-opacity-delay: 0.4s;
    bottom: 0;
    opacity: .5
}

.mm-menu {
    --mm-translate-horizontal: 0;
    --mm-translate-vertical: 0
}

.mm-menu--position-left,
.mm-menu--position-left-front {
    right: auto
}

.mm-menu--position-right,
.mm-menu--position-right-front {
    left: auto
}

.mm-menu--position-left,
.mm-menu--position-left-front,
.mm-menu--position-right,
.mm-menu--position-right-front {
    width: clamp(var(--mm-min-size), var(--mm-size), var(--mm-max-size))
}

.mm-menu--position-left-front {
    --mm-translate-horizontal: -100%
}

.mm-menu--position-right-front {
    --mm-translate-horizontal: 100%
}

.mm-menu--position-top {
    bottom: auto
}

.mm-menu--position-bottom {
    top: auto
}

.mm-menu--position-bottom,
.mm-menu--position-top {
    width: 100%;
    height: clamp(var(--mm-min-size), var(--mm-size), var(--mm-max-size))
}

.mm-menu--position-top {
    --mm-translate-vertical: -100%
}

.mm-menu--position-bottom {
    --mm-translate-vertical: 100%
}

.mm-menu--position-bottom,
.mm-menu--position-left-front,
.mm-menu--position-right-front,
.mm-menu--position-top {
    z-index: 2;
    -webkit-transform: translate3d(var(--mm-translate-horizontal), var(--mm-translate-vertical), 0);
    transform: translate3d(var(--mm-translate-horizontal), var(--mm-translate-vertical), 0);
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.mm-menu--position-bottom.mm-menu--opened,
.mm-menu--position-left-front.mm-menu--opened,
.mm-menu--position-right-front.mm-menu--opened,
.mm-menu--position-top.mm-menu--opened {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.mm-wrapper--position-left {
    --mm-translate-horizontal: clamp(var(--mm-min-size),
            var(--mm-size),
            var(--mm-max-size))
}

.mm-wrapper--position-right {
    --mm-translate-horizontal: clamp(calc(-1 * var(--mm-max-size)),
            calc(-1 * var(--mm-size)),
            calc(-1 * var(--mm-min-size)))
}

.mm-wrapper--position-left .mm-slideout,
.mm-wrapper--position-right .mm-slideout {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.mm-wrapper--position-left.mm-wrapper--opened .mm-slideout,
.mm-wrapper--position-right.mm-wrapper--opened .mm-slideout {
    -webkit-transform: translate3d(var(--mm-translate-horizontal), 0, 0);
    transform: translate3d(var(--mm-translate-horizontal), 0, 0)
}

.mm-wrapper--position-bottom .mm-wrapper__blocker,
.mm-wrapper--position-left-front .mm-wrapper__blocker,
.mm-wrapper--position-right-front .mm-wrapper__blocker,
.mm-wrapper--position-top .mm-wrapper__blocker {
    z-index: 1
}

.mm-menu--theme-light {
    --mm-color-background: #fff;
    --mm-color-border: rgb(0 0 0 / 0.1);
    --mm-color-icon: rgb(0 0 0 / 0.4);
    --mm-color-text: rgb(0 0 0 / 0.8);
    --mm-color-text-dimmed: rgb(0 0 0 / 0.4);
    --mm-color-background-highlight: rgb(0 0 0 / 0.05);
    --mm-color-background-emphasis: rgb(255 255 255 / 0.75);
    --mm-color-focusring: #06c
}

.mm-menu--theme-light-contrast {
    --mm-color-background: #f3f3f3;
    --mm-color-border: rgb(0 0 0 / 0.5);
    --mm-color-icon: rgb(0 0 0 / 0.5);
    --mm-color-text: #000;
    --mm-color-text-dimmed: rgb(0 0 0 / 0.7);
    --mm-color-background-highlight: rgb(0 0 0 / 0.05);
    --mm-color-background-emphasis: rgb(255 255 255 / 0.9);
    --mm-color-focusring: #06c
}

.mm-menu--theme-dark {
    --mm-color-background: #333;
    --mm-color-border: rgb(0, 0, 0, 0.4);
    --mm-color-icon: rgb(255, 255, 255, 0.4);
    --mm-color-text: rgb(255, 255, 255, 0.8);
    --mm-color-text-dimmed: rgb(255, 255, 255, 0.4);
    --mm-color-background-highlight: rgb(255, 255, 255, 0.08);
    --mm-color-background-emphasis: rgb(0, 0, 0, 0.1);
    --mm-color-focusring: #06c
}

.mm-menu--theme-dark-contrast {
    --mm-color-background: #333;
    --mm-color-border: rgb(255 255 255 / 0.5);
    --mm-color-icon: rgb(255 255 255 / 0.5);
    --mm-color-text: #fff;
    --mm-color-text-dimmed: rgb(255 255 255 / 0.7);
    --mm-color-background-highlight: rgb(255 255 255 / 0.1);
    --mm-color-background-emphasis: rgb(0 0 0 / 0.3);
    --mm-color-focusring: #06c
}

.mm-menu--theme-white {
    --mm-color-background: #fff;
    --mm-color-border: rgb(0 0 0 / 0.15);
    --mm-color-icon: rgb(0 0 0 / 0.3);
    --mm-color-text: rgb(0 0 0 / 0.8);
    --mm-color-text-dimmed: rgb(0 0 0 / 0.3);
    --mm-color-background-highlight: rgb(0 0 0 / 0.06);
    --mm-color-background-emphasis: rgb(0 0 0 / 0.03);
    --mm-color-focusring: #06c
}

.mm-menu--theme-white-contrast {
    --mm-color-background: #fff;
    --mm-color-border: rgb(0 0 0 / 0.5);
    --mm-color-icon: rgb(0 0 0 / 0.5);
    --mm-color-text: #000;
    --mm-color-text-dimmed: rgb(0 0 0 / 0.7);
    --mm-color-background-highlight: rgb(0 0 0 / 0.07);
    --mm-color-background-emphasis: rgb(0 0 0 / 0.035);
    --mm-color-focusring: #06c
}

.mm-menu--theme-black {
    --mm-color-background: #000;
    --mm-color-border: rgb(255 255 255 / 0.2);
    --mm-color-icon: rgb(255 255 255 / 0.4);
    --mm-color-text: rgb(255 255 255 / 0.7);
    --mm-color-text-dimmed: rgb(255 255 255 / 0.4);
    --mm-color-background-highlight: rgb(255 255 255 / 0.1);
    --mm-color-background-emphasis: rgb(255 255 255 / 0.06);
    --mm-color-focusring: #06c
}

.mm-menu--theme-black-contrast {
    --mm-color-background: #000;
    --mm-color-border: rgb(255 255 255 / 0.5);
    --mm-color-icon: rgb(255 255 255 / 0.5);
    --mm-color-text: #fff;
    --mm-color-text-dimmed: rgb(255 255 255 / 0.6);
    --mm-color-background-highlight: rgb(255 255 255 / 0.125);
    --mm-color-background-emphasis: rgb(255 255 255 / 0.1);
    --mm-color-focusring: #06c
}

.mm-counter {
    display: block;
    -webkit-padding-start: 20px;
    padding-inline-start: 20px;
    float: right;
    color: var(--mm-color-text-dimmed)
}

[dir=rtl] .mm-counter {
    float: left
}

:root {
    --mm-iconbar-size: 50px
}

.mm-menu--iconbar-left .mm-navbars,
.mm-menu--iconbar-left .mm-panels {
    margin-left: var(--mm-iconbar-size)
}

.mm-menu--iconbar-right .mm-navbars,
.mm-menu--iconbar-right .mm-panels {
    margin-right: var(--mm-iconbar-size)
}

.mm-iconbar {
    display: none;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    width: var(--mm-iconbar-size);
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 0 solid;
    border-color: var(--mm-color-border);
    background: var(--mm-color-background);
    color: var(--mm-color-text-dimmed);
    text-align: center
}

.mm-menu--iconbar-left .mm-iconbar,
.mm-menu--iconbar-right .mm-iconbar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.mm-menu--iconbar-left .mm-iconbar {
    border-right-width: 1px;
    left: 0
}

.mm-menu--iconbar-right .mm-iconbar {
    border-left-width: 1px;
    right: 0
}

.mm-iconbar__bottom,
.mm-iconbar__top {
    width: 100%;
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
    overflow-y: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain
}

.mm-iconbar__bottom>*,
.mm-iconbar__top>* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    padding: calc((var(--mm-iconbar-size) - var(--mm-lineheight))/ 2) 0
}

.mm-iconbar__bottom a,
.mm-iconbar__bottom a:hover,
.mm-iconbar__top a,
.mm-iconbar__top a:hover {
    text-decoration: none
}

.mm-iconbar__tab--selected {
    background: var(--mm-color-background-emphasis)
}

:root {
    --mm-iconpanel-size: 50px
}

.mm-panel--iconpanel-0 {
    inset-inline-start: calc(0 * var(--mm-iconpanel-size))
}

.mm-panel--iconpanel-1 {
    inset-inline-start: calc(1 * var(--mm-iconpanel-size))
}

.mm-panel--iconpanel-2 {
    inset-inline-start: calc(2 * var(--mm-iconpanel-size))
}

.mm-panel--iconpanel-3 {
    inset-inline-start: calc(3 * var(--mm-iconpanel-size))
}

.mm-panel--iconpanel-4 {
    inset-inline-start: calc(4 * var(--mm-iconpanel-size))
}

.mm-panel--iconpanel-first~.mm-panel {
    inset-inline-start: var(--mm-iconpanel-size)
}

.mm-menu--iconpanel .mm-panel--parent .mm-divider,
.mm-menu--iconpanel .mm-panel--parent .mm-navbar {
    opacity: 0
}

.mm-menu--iconpanel .mm-panels>.mm-panel--parent {
    overflow-y: hidden;
    -webkit-transform: unset;
    -ms-transform: unset;
    transform: unset
}

.mm-menu--iconpanel .mm-panels>.mm-panel:not(.mm-panel--iconpanel-first):not(.mm-panel--iconpanel-0) {
    border-inline-start-width: 1px;
    border-inline-start-style: solid
}

.mm-navbars {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.mm-navbars .mm-navbar {
    position: relative;
    padding-top: 0;
    border-bottom: none
}

.mm-navbars--top {
    border-bottom: 1px solid var(--mm-color-border)
}

.mm-navbars--top .mm-navbar:first-child {
    padding-top: env(safe-area-inset-top)
}

.mm-navbars--bottom {
    border-top: 1px solid var(--mm-color-border)
}

.mm-navbars--bottom .mm-navbar:last-child {
    padding-bottom: env(safe-area-inset-bottom)
}

.mm-navbar__breadcrumbs {
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 50%;
    flex: 1 1 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 0 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
}

.mm-navbar__breadcrumbs>* {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-padding-end: 6px;
    padding-inline-end: 6px
}

.mm-navbar__breadcrumbs>a {
    text-decoration: underline
}

.mm-navbar__breadcrumbs:not(:last-child) {
    -webkit-padding-end: 0;
    padding-inline-end: 0
}

.mm-btn:not(.mm-hidden)+.mm-navbar__breadcrumbs {
    -webkit-padding-start: 0;
    padding-inline-start: 0
}

.mm-navbar__tab {
    padding: 0 10px;
    border: 1px solid transparent
}

.mm-navbar__tab--selected {
    background: var(--mm-color-background)
}

.mm-navbar__tab--selected:not(:first-child) {
    border-inline-start-color: var(--mm-color-border)
}

.mm-navbar__tab--selected:not(:last-child) {
    border-inline-end-color: var(--mm-color-border)
}

.mm-navbars--top.mm-navbars--has-tabs {
    border-bottom: none
}

.mm-navbars--top.mm-navbars--has-tabs .mm-navbar {
    background: var(--mm-color-background-emphasis)
}

.mm-navbars--top.mm-navbars--has-tabs .mm-navbar--tabs~.mm-navbar {
    background: var(--mm-color-background)
}

.mm-navbars--top.mm-navbars--has-tabs .mm-navbar:not(.mm-navbar--tabs):last-child {
    border-bottom: 1px solid var(--mm-color-border)
}

.mm-navbars--top .mm-navbar__tab {
    border-bottom-color: var(--mm-color-border)
}

.mm-navbars--top .mm-navbar__tab--selected {
    border-top-color: var(--mm-color-border);
    border-bottom-color: transparent
}

.mm-navbars--bottom.mm-navbar--has-tabs {
    border-top: none
}

.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar {
    background: var(--mm-color-background)
}

.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar--tabs,
.mm-navbars--bottom.mm-navbar--has-tabs .mm-navbar--tabs~.mm-navbar {
    background: var(--mm-color-background-emphasis)
}

.mm-navbars--bottom .mm-navbar__tab {
    border-top-color: var(--mm-color-border)
}

.mm-navbars--bottom .mm-navbar__tab--selected {
    border-bottom-color: var(--mm-color-border);
    border-top-color: transparent
}

.mm-searchfield {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: var(--mm-navbar-size);
    padding: 0;
    overflow: hidden
}

.mm-searchfield__input {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.mm-searchfield__input input {
    display: block;
    width: 100%;
    max-width: 100%;
    height: calc(var(--mm-navbar-size) * .7);
    min-height: auto;
    max-height: auto;
    margin: 0;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    border-radius: 4px;
    line-height: calc(var(--mm-navbar-size) * .7);
    font: inherit;
    font-size: inherit
}

.mm-searchfield__input input,
.mm-searchfield__input input:focus,
.mm-searchfield__input input:hover {
    background: var(--mm-color-background-highlight);
    color: var(--mm-color-text)
}

.mm-menu[class*=-contrast] .mm-searchfield__input input {
    border: 1px solid var(--mm-color-border)
}

.mm-searchfield__input input::-ms-clear {
    display: none
}

.mm-searchfield__btn {
    display: none;
    position: absolute;
    inset-inline-end: 0;
    top: 0;
    bottom: 0
}

.mm-searchfield--searching .mm-searchfield__btn {
    display: block
}

.mm-searchfield__cancel {
    display: block;
    position: relative;
    -webkit-margin-end: -100px;
    margin-inline-end: -100px;
    -webkit-padding-start: 5px;
    padding-inline-start: 5px;
    -webkit-padding-end: 20px;
    padding-inline-end: 20px;
    visibility: hidden;
    line-height: var(--mm-navbar-size);
    text-decoration: none;
    -webkit-transition-property: visibility, margin;
    -o-transition-property: visibility, margin;
    transition-property: visibility, margin
}

.mm-searchfield--cancelable .mm-searchfield__cancel {
    visibility: visible;
    -webkit-margin-end: 0;
    margin-inline-end: 0
}

.mm-panel--search {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border: none !important
}

.mm-panel__splash {
    padding: 20px
}

.mm-panel--searching .mm-panel__splash {
    display: none
}

.mm-panel__noresults {
    display: none;
    padding: 40px 20px;
    color: var(--mm-color-text-dimmed);
    text-align: center;
    font-size: 150%;
    line-height: 1.4
}

.mm-panel--noresults .mm-panel__noresults {
    display: block
}

:root {
    --mm-sectionindexer-size: 20px
}

.mm-sectionindexer {
    background: inherit;
    text-align: center;
    font-size: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: var(--mm-sectionindexer-size);
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-end: calc(-1 * var(--mm-sectionindexer-size));
    z-index: 5;
    -webkit-transition-property: inset-inline-end;
    -o-transition-property: inset-inline-end;
    transition-property: inset-inline-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly
}

.mm-sectionindexer a {
    color: var(--mm-color-text-dimmed);
    line-height: 1;
    text-decoration: none;
    display: block
}

.mm-sectionindexer~.mm-panel {
    -webkit-padding-end: 0;
    padding-inline-end: 0
}

.mm-sectionindexer--active {
    right: 0
}

.mm-sectionindexer--active~.mm-panel {
    -webkit-padding-end: var(--mm-sectionindexer-size);
    padding-inline-end: var(--mm-sectionindexer-size)
}

.mm-menu--selected-hover .mm-listitem__btn,
.mm-menu--selected-hover .mm-listitem__text,
.mm-menu--selected-parent .mm-listitem__btn,
.mm-menu--selected-parent .mm-listitem__text {
    -webkit-transition-property: background-color;
    -o-transition-property: background-color;
    transition-property: background-color
}

@media (hover:hover) {
    .mm-menu--selected-hover .mm-listview:hover>.mm-listitem--selected:not(:hover)>.mm-listitem__text {
        background: 0 0
    }

    .mm-menu--selected-hover .mm-listitem__btn:hover,
    .mm-menu--selected-hover .mm-listitem__text:hover {
        background: var(--mm-color-background-emphasis)
    }
}

.mm-menu--selected-parent .mm-listitem__btn,
.mm-menu--selected-parent .mm-listitem__text {
    -webkit-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s
}

@media (hover:hover) {

    .mm-menu--selected-parent .mm-listitem__btn:hover,
    .mm-menu--selected-parent .mm-listitem__text:hover {
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s
    }
}

.mm-menu--selected-parent .mm-panel--parent .mm-listitem:not(.mm-listitem--selected-parent)>.mm-listitem__text {
    background: 0 0
}

.mm-menu--selected-parent .mm-listitem--selected-parent>.mm-listitem__btn,
.mm-menu--selected-parent .mm-listitem--selected-parent>.mm-listitem__text {
    background: var(--mm-color-background-emphasis)
}

:root {
    --mm-sidebar-collapsed-size: 50px;
    --mm-sidebar-expanded-size: var(--mm-max-size)
}

.mm-wrapper--sidebar-collapsed .mm-slideout {
    width: calc(100% - var(--mm-sidebar-collapsed-size));
    -webkit-transform: translate3d(var(--mm-sidebar-collapsed-size), 0, 0);
    transform: translate3d(var(--mm-sidebar-collapsed-size), 0, 0)
}

[dir=rtl] .mm-wrapper--sidebar-collapsed .mm-slideout {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}

.mm-wrapper--sidebar-collapsed:not(.mm-wrapper--opened) .mm-menu--sidebar-collapsed .mm-divider,
.mm-wrapper--sidebar-collapsed:not(.mm-wrapper--opened) .mm-menu--sidebar-collapsed .mm-navbar {
    opacity: 0
}

.mm-wrapper--sidebar-expanded .mm-menu--sidebar-expanded {
    width: var(--mm-sidebar-expanded-size);
    border-right-width: 1px;
    border-right-style: solid
}

.mm-wrapper--sidebar-expanded.mm-wrapper--opened {
    overflow: auto
}

.mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-wrapper__blocker {
    display: none
}

.mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-slideout {
    width: calc(100% - var(--mm-sidebar-expanded-size));
    -webkit-transform: translate3d(var(--mm-sidebar-expanded-size), 0, 0);
    transform: translate3d(var(--mm-sidebar-expanded-size), 0, 0)
}

[dir=rtl] .mm-wrapper--sidebar-expanded.mm-wrapper--opened .mm-slideout {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none
}
}
/* mm-menu 結束 */

/* 針對iPhone的補丁 */
#MenuMobile.mm-menu { opacity:0; }
#MenuMobile.mm-menu.mm-menu--opened { opacity:1; }