@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;500;700&display=swap'); /*font-family: 'Poppins', sans-serif; Light 300 Medium 500 Bold 700*/
/* Font Awesome 5 Pro - light */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:300;font-display:auto;src:url(../fonts/fa-light-300.eot);src:url(../fonts/fa-light-300.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-light-300.woff2) format("woff2"),url(../fonts/fa-light-300.woff) format("woff"),url(../fonts/fa-light-300.ttf) format("truetype"),url(../fonts/fa-light-300.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Pro";font-weight:300}
/* Font Awesome 5 Pro - regular */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-regular-400.woff2) format("woff2"),url(../fonts/fa-regular-400.woff) format("woff"),url(../fonts/fa-regular-400.ttf) format("truetype"),url(../fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Pro";font-weight:400}
/* Font Awesome 5 Pro - solid */
@font-face{font-family:"Font Awesome 5 Pro";font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../fonts/fa-solid-900.woff2) format("woff2"),url(../fonts/fa-solid-900.woff) format("woff"),url(../fonts/fa-solid-900.ttf) format("truetype"),url(../fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Pro";font-weight:900}

/* CSS Reset */
html, body, div, span, applet, object, iframe, form,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, 
em, img, q, strong, sub, sup,
dl, dt, dd, ol, ul, li { margin:0; padding:0; }
img { border:none; vertical-align:top; }
ul, ol { list-style:none; }
body { line-height:1; -webkit-text-size-adjust:none; }
table { border-collapse:collapse; }
p { line-height:1.75em; padding:3px 0; }

select { padding:0; }
select, input { vertical-align:middle; }
input[type="button"], input[type="submit"], input[type="reset"] { padding:1px 4px; *padding:0 4px; *overflow:visible; }/* Remove IE7 Extra Width & Padding */
input[type="text"], textarea { padding:2px; }
input[type="checkbox"], input[type="radio"] { margin:0 3px; padding:0; }
input[type="button"], input[type="submit"], input[type="reset"], select { cursor:pointer; *cursor:hand; outline: none; }
input[type="text"]:disabled { background:#eee; }

/*ios樣式清除*/
input[type="button"], input[type="submit"], input[type="reset"], button {
	background-color:transparent; border:none; margin:0px; border-radius:0px;
	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 );
    -webkit-appearance: none;  /* Safari 和 Chrome，常用於iOS下移除內建樣式 */
    -moz-appearance: none;     /* FireFox */
    appearance: none;
}

/*字型設定*/
body, input, textarea, select { font-family: "Microsoft JhengHei", "微軟正黑體", "Microsoft YaHei", "微软雅黑", sans-serif; color: #333; }
h1, h2, h3, h4, h5, h6 { line-height:180%; color: #222; }

/* 共用 */
a { color:#b50080; }
a:hover, a:focus { text-decoration:none; color: #c77e52; }
a:focus, :focus { outline: none; }
.inner { max-width:1280px; margin:0 auto; padding-left: 15px; padding-right: 15px; }
body { background-color: #541b85; }
body.fixed { overflow:hidden; }
#Wrap { min-height: 100vh; }

/*----------------------------------------------------------------------*/
/* Header */
#Header::after { content: ''; clear: both; display: block; }
#Header .logo { text-align: center; display: table; margin: 0 auto; }
#Header .logo h1 { display: table-cell; vertical-align: middle; height: 76px; width: 280px; }
#Header .logo a { display:block; position: relative; z-index: 5; }
#Header .logo img { max-width: 100%; max-height: 100%; }

/*----------------------------------------------------------------------*/
/* footer */
#Footer { text-align: center; margin-bottom: 25px; }
#Footer .ft_info {
    display: inline-block; color: #fff; text-shadow: 0px 3px 5px rgba(84,27,133,.7); font-size: 0.9375em; letter-spacing: .06em; line-height: 1.5em; padding: 9px 24px;
    -webkit-border-radius:20px; -moz-border-radius:20px; border-radius:20px;
}
#Footer .ft_info > span::before { content: "丨"; }
#Footer .ft_info > span:first-child::before { display: none; }

/*----------------------------------------------------------------------*/
/* Btn Top */
.BtnTop { text-align:center; z-index:9994; position:fixed; bottom:15px; right:15px; display:none; }
.MenuFix .BtnTop { display:block; }
.BtnTop a { display:block; width:50px; height:50px; line-height: 50px; box-sizing: border-box; background-color:#c77e52; position:relative; z-index:9993; border-radius: 50%; color: #fff; text-decoration: none; font-family: 'Poppins', "Microsoft JhengHei", "微軟正黑體", sans-serif; font-weight: 500; letter-spacing: .05em; -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:#fad8be; color: #c77e52; }

/*----------------------------------------------------------------------*/
/* bxSlider_list共通設定 */
/* 不顯示子項目 */
.bxSlider_list li { float:left; list-style:none; position:relative; display:none; }
/* 顯示第一筆項目 */  
.bxSlider_list li:first-child { display:block; }
/* 當JS執行時顯示全部 */
.bx-viewport ul.bxSlider_list li { display:block; }

.bx-viewport { z-index:3330; position:relative; zoom:1; }
.bx-wrapper { position:relative; margin:auto; padding:0; zoom:1; }

.bx-wrapper .bx-controls-direction a.disabled { display:none; }

/*----------------------------------------------------------------------*/
/* 表單 */
.FormGroup { 
	border: 2px solid #eee; background-color: #fff; padding: 40px 18px 30px 18px; margin:30px 0; position:relative; 
	-webkit-border-radius:8px; -moz-border-radius:8px; border-radius:8px;
	-webkit-box-shadow:none; -moz-box-shadow:none; box-shadow:none;
	}
 	fieldset.FormGroup { max-width:100%; box-sizing:border-box; }
.FormGroup .FormGroupTitle {
    position:absolute; left:-2px; top:-2px;
    background-color:#ce3b8f;
    -webkit-border-radius:0 8px 8px 0; -moz-border-radius:10px; border-radius:8px 0 8px 0;
}
.FormGroup .FormGroupTitle span { 
	padding:0 .75em 0 .775em; display:inline-block;
	color:#fff; font-size:1.375em; font-weight: bold; letter-spacing: .06em; line-height:42px;
	}
	.FormGroup legend.FormGroupTitle { margin:0; padding:0; display:block; }
.FormGroup > *:last-child { margin-bottom:0; }	
.FormGroup fieldset { border:1px solid #dfdfdf; margin:0 0 30px 0; padding:19px; }
.FormGroup fieldset legend { padding:0 10px; font-size:0.875em; font-weight:bold; }

.basic + .FormGroup { margin-top: 10px; }

.FormTable { width:100%; margin-bottom:20px; }
.FormTable > tbody > tr > th::after{ content:''; }
.FormTable > tbody > tr > th, .FormTable > tbody > tr > td { font-size:100%; }
.FormTable > tbody > tr > th { line-height:24px; position:relative; }
.FormTable > tbody > tr > th span { font-weight:bold; color:#f2234a; }
.FormTable > tbody > tr > td { line-height:40px; text-align: left; }
.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; letter-spacing:0.125em; -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:36px; height:36px; }

.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:8px; 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 #eee; font-size:1em; box-sizing:border-box; background-color:#eee; color:#222;
    -webkit-border-radius:10px; -moz-border-radius:10px; border-radius:10px;
}
	
.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; background-color:#eee; padding:5px .5em; height:36px; 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;
    box-shadow: 0 0 8px rgba(84,27,133,.5);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	}
	
.FormElmt hr { margin:25px 0; }
.FormElmt input.addr { margin-top:8px; display:block; }
.FormElmt .w40 { width:40px; }
.FormElmt .w60 { width:60px; }
.FormElmt .w80 { width:80px; }
.FormElmt .w100 { width:100px; }
.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 .fullwidth { width:100%; }
.FormElmt .dev-calendar { width:100%; max-width:150px; }
.FormElmt .note { color:#e60000; 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: #b50080; }
.FormElmt .Foreword { border-bottom: 2px solid #eee; padding: 8px 0; line-height: 1.375em; text-align: left; margin: 6px 0 10px; }
.FormElmt .info { color: #555; }
.FormElmt .info::before { content:"\f05a"; font-family:'Font Awesome 5 Pro'; font-weight:900; color: #ce3b8f; margin-right: .245em; }

/* checkbox/radio群組 */
.FormElmt .input_group.inline { display:inline-block; margin-left:10px; }
.FormElmt .input_group > div { display:inline-block; margin-right:8px; position: relative; padding-left: 1.5em; }
.FormElmt .input_group .fullwidth { margin-right:0; }

/* 驗證碼 */
.FormElmt .randomcode::after { content:''; display:block; clear:both; }
.FormElmt .randomcode > div { float: left; margin-right:5px; }
	.FormElmt .randomcode .input input[type="text"] { width:120px; }
    .FormElmt .randomcode .img { width: 100px; height: 30px; margin-left: 10px; margin-top: 5px; }
	.FormElmt .randomcode .img img { vertical-align:middle; max-width: 100%; max-height: 100%; }
	.FormElmt .randomcode .btn { position:relative; margin-top: 5px; }
	.FormElmt .randomcode .btn:before { content:"\f2f1"; font-family:'Font Awesome 5 Pro'; font-weight:900; font-size:1.125em; position:absolute; left:0; top:0; width:30px; height: 30px; line-height: 30px; text-align:center; z-index:1; }
	.FormElmt .randomcode .btn:hover:before { color: #b50080; }
	.FormElmt .randomcode .btn input { border:none; padding:0; margin:0; background-color:transparent; outline:none; width:30px; height:30px; text-indent:-9999px; vertical-align:top; z-index:5; position:relative; }

/* 按鈕 */
.BtnCommon { clear:both; text-align:center; }
	.BtnCommon.tl { text-align:left; }
	.BtnCommon.tr { text-align:right; }
.BtnCommon span, .BtnCommon a, .BtnCommon input { display:block; }
.BtnCommon a, .BtnCommon input { font-weight: bold; }
	.BtnCommon.large a, .BtnCommon.large input { height:50px; line-height:50px; }
	.BtnCommon.mid a, .BtnCommon.mid input { height:40px; line-height:40px; }
	.BtnCommon.small a, .BtnCommon.small input { height:36px; line-height:36px; }

.BtnCommon div { display:inline-block; margin-left:20px; }
.BtnCommon div:first-child { margin-left:0; }
.BtnCommon span { position:relative; z-index:1; box-sizing:border-box; }

.BtnCommon a, .BtnCommon input {
    box-sizing:border-box; position:relative; z-index:2;
    background-color:#541b85; color:#fff; letter-spacing: .06em;
    box-shadow: 0 5px 10px rgba(84,27,133,.3);
    -webkit-border-radius:30px; -moz-border-radius:30px; border-radius:30px;
}
	.BtnCommon.large a, .BtnCommon.large input { padding:0 40px; font-size:1.75em; }
	.BtnCommon.mid a, .BtnCommon.mid input { padding:0 25px; font-size:1em; }
	.BtnCommon.small a, .BtnCommon.small input { padding:0 15px; font-size:0.9375em; }

.BtnCommon a { text-decoration:none; }

.BtnCommon input { border:0; margin:0; padding-top:0; padding-bottom:0; }

.BtnCommon.btn_form { margin-top:15px; margin-bottom:15px; }
.BtnCommon.btn_form div { margin:10px 5px; }

.BtnCommon div.white a, .BtnCommon div.white input { background-color:#fff; color: #541b85; }
.BtnCommon div.white a:hover, .BtnCommon div.white input:hover { background-color:#c77e52; color: #fff; }
.BtnCommon div.dark a, .BtnCommon div.dark input { background-color:#101841; }
.BtnCommon div.dark a:hover, .BtnCommon div.dark input:hover { background-color:#c77e52; color: #fff; }
.BtnCommon a, .BtnCommon input {
	-webkit-transition:all 0.3s ease;
	-moz-transition:all 0.3s ease;
	transition:all 0.3s ease;
}
.BtnCommon a:hover, .BtnCommon input:hover { background-color: #b50080; box-shadow: 0 3px 6px rgba(84,27,133,.4); }
.BtnCommon a:focus, .BtnCommon input:focus { background-color: #b50080; outline: none; }

/*----------------------------------------------------------------------*/
/* 表單驗證樣式 */
.check_msg { clear: both; }
.check_msg_err { position: relative; padding-top: 5px; padding-left: 1.5em; line-height: 1.5em; font-size: 0.9375rem; color: #be2628; }
.check_msg_err::before { content: "\f06a"; font-family:"Font Awesome 5 Pro"; font-weight: 900; margin-right: 5px; position: absolute; top: .375em; left: 0.25em; }

.check_msg_icon { position: absolute; top: 0; right: 0; }
.check_msg_icon > div { line-height: 40px; width: 30px; font-size: 1.125rem; }
.icon_valid::before { content: "\f058"; font-family:"Font Awesome 5 Pro"; font-weight: 900; color: #3bb54a; }

/*----------------------------------------------------------------------*/
/* 客製checkbox/radio */
.control { cursor: pointer; }
.control input {
    position: absolute;
    z-index: -1;
    opacity: 0;
    width: 0;
    height: 0;
}
.control__indicator {
    position: absolute;
    top: 10px;
    left: 0;
    height: 14px;
    width: 14px;
    border: 2px solid #c1c1c1;
    border-radius: 4px;
}
.control--radio .control__indicator {
    border-radius: 50%;
}
.control:hover input ~ .control__indicator {
    /*background: #ccc;*/ border: 2px solid #333;
}
.control input:focus ~ .control__indicator {
    background: #fff;
}
.control input:disabled ~ .control__indicator {
    background: #fff;
    border: 2px 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--checkbox input:checked ~ .control__indicator {
    background: #541b85;
    border: 2px solid #541b85;
}
.control--checkbox:hover input:not([disabled]):checked ~ .control__indicator,
.control--checkbox input:checked:focus ~ .control__indicator {
    background: #541b85;
}
.control--checkbox .control__indicator:after {
    left: 5px; top: 1px; width: 3px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.control--checkbox input:disabled ~ .control__indicator:after {
    border-color: #fff;
}

/* radio */
.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: 2px solid #a98dc2;
}
.control--radio .control__indicator:after {
    left: 3px; top: 3px; height: 8px; width: 8px; border-radius: 50%; background: #541b85;
}
.control--radio input:disabled ~ .control__indicator:after {
    background: #541b85;
}

/*----------------------------------------------------------------------*/
/* 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:#098690; }
		.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; }

/*----------------------------------------------------------------------*/
/*
    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 { overflow:hidden; }
#colorbox_thum a { 
	display:block; float:left; 
	text-align:center; vertical-align:middle; 
	-webkit-transition: transform 0.3s ease;
	-moz-transition: transform 0.3s ease;
	transition: transform 0.3s ease;
	}
#colorbox_thum a:hover { 
	-webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    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%; }

/*#colorbox_thum { overflow:hidden; padding-top:10px; margin-top:0; margin-bottom:30px; }
#colorbox_thum a { 
	display:block; float:left; padding-bottom:50%;
	text-align:center; vertical-align:middle; 
	background-size:cover; background-position:center center; background-repeat:no-repeat;
	-webkit-transition: transform 0.3s ease, box-shadow 0.3s ease;
	-moz-transition: transform 0.3s ease, box-shadow 0.3s ease;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	}
#colorbox_thum a:hover { 
	-webkit-box-shadow: 0 0 8px rgba(0,0,0,0.3);
	-moz-box-shadow: 0 0 8px rgba(0,0,0,0.3);
	box-shadow: 0 0 8px rgba(0,0,0,0.3);
	-webkit-transform: scale(1.02);
    -moz-transform: scale(1.02);
    transform: scale(1.02);
	}
#colorbox_thum a span { display:none; }
#colorbox_thum a img { width:100%; box-sizing:border-box; }*/

/*#colorbox_thum { overflow:hidden; padding-top:10px; margin:-2px 0 0; border-top:2px solid #e0e0e0; }
#colorbox_thum a { 
	display:block; float:left; 
	text-align:center; vertical-align:middle; 
	border:1px solid #e7e7e7; padding:5px;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
	}
#colorbox_thum a:hover { border:1px solid #f77300; }
#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%; }*/

/* 
    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("../../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("../../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("../../colorbox_loading.gif") no-repeat center center; }
        #cboxClose { 
			position:absolute; top:5px; right:5px; display:block; background:url("../../colorbox_controls.png") no-repeat top center; 
			width:38px; height:19px; text-indent:-9999px;
			}
        #cboxClose:hover {background-position:bottom center; }
	
/*----------------------------------------------------------------------*/
/* modal_box */
.modal_box { 
	position:fixed; top:0; left:0; width:100%; height:100%; box-sizing:border-box; z-index:10006;
    background-color:rgba(0,0,0,0.8);
    -webkit-overflow-scrolling: touch;
    opacity:0; visibility:hidden;
    -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; transition: all 0.3s ease;
	}
    .modal_box.open { opacity:1; visibility:visible; }
.modal_box .box_wrap { 
	background-color:#fff; box-sizing:border-box; max-height: calc(100vh - 80px);
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
	-webkit-border-radius:15px; -moz-border-radius:15px; border-radius:15px;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.2);
	-moz-box-shadow: 0 0 20px rgba(0,0,0,0.2);
	box-shadow: 0 0 20px rgba(0,0,0,0.2);
	}
.modal_box .box_wrap > div { overflow-y:auto; overflow-x:hidden; height:100%; box-sizing:border-box; position:relative; }
.modal_box .box_wrap > div::-webkit-scrollbar { -webkit-appearance:none; width:14px; height:14px; }
.modal_box .box_wrap > div::-webkit-scrollbar-thumb { border-radius:8px; border:3px solid #fff; background-color:rgba(0, 0, 0, .3); }
.modal_box .box_wrap > div::-webkit-scrollbar-thumb:hover { background-color:#000; }

.modal_box .close { 
	position:absolute; cursor:pointer; z-index:10000; text-align: center; top:10px; right:15px;
	-webkit-border-radius:50%; -moz-border-radius:50%; border-radius:50%;
}
.modal_box .close::before { content:'\f00d'; font-family: 'Font Awesome 5 Pro'; font-weight: 400; font-size: 23px; color: #2b2b2b; }
.modal_box .close:hover { opacity: .7; }

.modal_title { border-bottom: 2px solid #eee; padding-bottom: 10px; color: #541b85; font-size: 1.875em; font-weight: bold; }
.modal_body { padding: 8px 0; }

/*----------------------------------------------------------------------*/
/*測試用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 > ul > li > a { text-indent:-10000px; width:30px; height:30px; }
.ifun_text_menu > ul ul { display:none; position:absolute; top:30px; left:0; width:120px; }
.ifun_text_menu > ul > li:hover > ul { display:block; } 
.ifun_text_menu > ul > li > ul > li:hover > a { background: #fff; color: #ef570f; }
.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; }