* {
	font-family: "Open Sans", "Microsoft JhengHei", "Helvetica", "Arial", san-serif;
	box-sizing: border-box;
}

body { margin: 0; min-width:1000px; }
body.ec-has-rwd { min-width:auto; }

a        {color: #000099; text-decoration: underline;}
a:hover  {color: #B37F29; text-decoration: none;}
a:linked {color: #000099; text-decoration: underline;}
a.a-none        {color: #000099; text-decoration: none;}
a.a-none:hover  {color: #B37F29; text-decoration: underline;}
a.a-none:linked {color: #000099; text-decoration: none;}

.menu_index {color: #24357d;}

/** 填滿設定 2024/4/2 504271 */
html, body { height:100%; }
.ec-wrapper, .ec-content { min-height:100%; display: flex; flex-direction: column; }
.ec-content, .ec-my-content { flex-grow: 1; }

.ec-header { z-index: 2;}
.ec-content {  }
.ec-footer { z-index: 1; }
body.ec-has-rwd .globalpage { min-width:auto; }

.ec-content { position: relative; width: 100%; min-width:1100px; margin: 30px 0; }
body.ec-has-rwd .ec-content { position: relative; min-width:auto; }

/** Header 2024/4/1 504271 */
.ec-header{ 
	z-index:900;
	position:fixed!important; top:0; width:100%;
	background-color: #3A4885;
}
.ec-header-content { display:flex; align-items: center; height:100%; padding: 10px 10px;}
.ec-header-wartermark { position:absolute; top:0; right:15%; }
.ec-header-info { margin-left:auto; text-align:right; align-self:end; }

.ec-header, .ec-navbar { height:60px; }
.ec-web-brand { display: flex; flex-wrap: wrap; align-items: center; margin-right: auto; }
.ec-web-brand#link_home { margin-right: 0; }
.ec-web-brand#link_local_home { margin-left: 1rem; }
.ec-top-menu { display:none; }
.ec-header .ec-navbar .ec-header-btn { min-width:60px;}
.ec-header-btn:focus { box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); }
.ec-header-btn {
	padding: 0.25rem 0.75rem;
	display: inline-block;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    outline: none;
    vertical-align: middle;
    cursor: pointer;
    border: none;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.ec-header-text-muted { color: #6c757d; }
.ec-header .d-none { display:none; }
.ec-header .ec-btn-primary { color: #FFFFFF; background-color: #3A4885; border-color: #3A4885; }
.ec-header .ec-btn-primary:hover { color: #FFFFFF !important; background-color: #1D275F !important; border-color: #1D275F !important; }
.ec-header .ec-btn-warning { color: #FFFFFF; background-color: #D19D39; border-color: #D19D39; }
.ec-header .ec-btn-warning:hover { color: #FFFFFF !important; background-color: #96641C !important; border-color: #96641C !important; }

.ec-user-box #btn_user_box i { display:none; }
.ec-user-box[data-ec-login=true] #btn_user_box { background-color:#91ACC9; }
.ec-user-box[data-ec-login=true] #btn_user_box .fa-user-circle { display: unset; }
.ec-user-box[data-ec-login=false] #btn_user_box .fa-user { display: unset; }

.ec-user-box[data-ec-login=true] .user-is-login { display:block; }
.ec-user-box[data-ec-login=false] .user-is-login { display:none; }
.ec-user-box[data-ec-login=true] .user-is-logout { display:none; }
.ec-user-box[data-ec-login=false] .user-is-logout { display:block; }

.ec-simulated-mode { z-index:910; position:fixed; top:60; width:100%; display: flex; }
.ec-simulated-mode .badge { 
	display: inline-block;
	width: 100%;
	margin: 0 1rem;
	padding: 0.35em 0.65em;
	font-size: 26px;
	font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-wrap: wrap;
    vertical-align: baseline;
	opacity: 80%;
	background-color: #C43A3A;
	border-bottom-right-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
}

.ec-pop-bubble-msg { z-index:800; position:fixed; top:60; width:100%; }
.ec-pop-bubble-msg .container-xxl { 
	display: flex;
	justify-content: end;
	max-width: 1320px;
	margin-left: auto;
	margin-right:auto;
}
.ec-pop-bubble-msg .alert { 
	position: relative;
    border: 1px solid transparent;
    border-radius: 0.25rem;
	margin-top: 1rem;
    margin-bottom: 0;
    padding: 0.375rem 3rem 0.375rem 1rem;
	color: #1D275F;
    background-color: #DCE4F8;
    border-color: #3A4885;
}
.ec-pop-bubble-msg .alert-dismissible .btn-close {
    position: absolute; top: 0; right: 0;
    z-index: 2;
    padding: 0.375rem 1rem;
    background: transparent;
    border: 0;
    cursor: pointer;
}

/** Footer 2024/4/2 504271 */
.ec-footer { 
	display: flex; justify-content: center;
	text-align:center; font-size: 12px;
	padding: 10px 0;
	border-top: 1px solid #adb5bd;
}
.ec-alert-cookies-alert {
    position: fixed; right: 0; bottom: 0; left: 0;
    z-index: 1030;
    background-color: rgba(37, 39, 41, 0.9019607843);
    color: #fff;
    padding: 3rem 10px;
}
.ec-alert-cookies-alert .container{
	display: flex;
	max-width: 1320px;
	margin-left: auto;
	margin-right:auto;
	max-width: 1320px;
}
#btn_cookie_manage_preferences[aria-expanded="true"]{ display: none; }
.collapse:not(.show){ display: none; }

/** Navbar 2024/5/20 504271 */
.ec-navbar {
	display: flex;
	max-width: 1320px;
	margin-left: auto;
	margin-right:auto;
	padding: 0;
	background-color: #3A4885;
}
.dpdown { position: relative; display: inline-block; vertical-align: middle; }
.dpdown-menu {
	display: none;
	position: absolute;
	min-width: 250px;
	margin: 0;
	padding: 0.5rem 0;
	background: #FFFFFF;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 0.25rem;
    box-shadow: 0px 2px 3px 2px #040C2B4d;
    list-style: none;
}
.dpdown-menu.dpdown-menu-end {
    right: 0;
}
.dpbtn, .normalbtn {
    background: none;
    color: white;
    height:100%;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
}
.dpbtn:hover, .normalbtn:hover {
    color: #FFFFFF !important;
    background-color: #1D275F !important;
    border-color: #1D275F !important;
}
.dpdown-toggle::after {
	display: inline-block;
    margin-left: 0.255em;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f0d7";
    border: 0;
    vertical-align: 0;
}
.dpmenu-card { padding: 1rem; }
.dpmenu-row { display: grid; grid-template-columns: repeat(3, 1fr); }
.dpmenu-col-auto { flex: 0 0 auto; width: auto; }
.dpmenu-column {
    width: 240px;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.dpitem-first { color: #3A4885; font-weight: 700; border-bottom: 1px solid #DCE4F8; margin-bottom: 0.5rem; }
.dplist-second ul { margin-top: 0; padding-left: 0; list-style: none; }
.dplist-second ul > li { padding: 0.25rem 0; }
.dpitem-second { display: block; color: #252729; line-height: 1; text-decoration: none; }
.dpitem-second:hover { color: #B37F29; }
.dpitem-second > i.fa-lock-alt { color: #adb5bd; font-size: 10px; }

.dpdown-menu.show {
	display: block;
}

.ec-user-box,.ec-menu-box { border-left: 1px solid #FFFFFF; border-right: 1px solid #FFFFFF; }
.ec-user-box .dpdown-toggle::after { display: none; }
.dpdown-divider { border-top: 1px solid rgba(0,0,0,.15); }
.dpdown-item {
	display: block;
    width: 100%;
    padding: 0.25rem 1rem;
    color: #212529;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
}
.dpdown-item:hover, .dpdown-item:active {
    color: #3A4885;
    background-color: #DCE4F8;
}


/** 小畫面offcanvas */
.offcvs {
	position: fixed;
    bottom: 0;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    visibility: hidden;
    background-color: #fff;
    background-clip: padding-box;
    outline: 0;
    transition: transform .3s ease-in-out;
    
    top: 0;
    right: 0;
    width: 400px;
    border-left: 1px solid rgba(0,0,0,.2);
    transform: translateX(100%);
}
.offcvs.show { visibility: visible; transform: none; }
#offcanvas_menu .btn-close {
    z-index: 2;
    padding: 0.5rem;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.offcvs-header {
	display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1rem;
}
.offcvs-body {
	flex-grow: 1;
    padding: 1rem 1rem;
    overflow-y: auto;
}

/** modal */
.mdl-backdrop {
	display: none;
	position: fixed;
    top: 0;
    left: 0;
    z-index: 1040;
    width: 100vw;
    height: 100vh;
}
.mdl-backdrop.show { display: block; opacity:0.5; background-color: #000;  }

.mdl {
	position: fixed; top: 0; left: 0; z-index: 1060;
    display: none; width: 100%; height: 100%; overflow: hidden;
    outline: 0;
}
.mdl .d-none { display:none; }
.mdl.show { display: block;}
.mdl-dialog {
    position: relative; width: auto; margin: 0.5rem; pointer-events: none;
}
.mdl-header {
	display: flex; flex-shrink: 0; align-items: center; justify-content: space-between;
}
.mdl-title {
	margin-bottom: 0; line-height: 1.5; color: #3A4885; 
}
.mdl-content {
	position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto;
    background-color: #fff; background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2); border-radius: 0.3rem;
    outline: 0;
    padding: 1rem 2rem;
}
.mdl-footer {
	display: flex; flex-wrap: wrap; flex-shrink: 0; align-items: center; justify-content: flex-end;
    border-top: 1px solid #dee2e6;
	padding: 0.5rem 0;
	border-color: #90A1DA;
}
.mdl-footer>* { margin: .25rem; }
.mdl-btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
}
.mdl-btn-primary {
   	color: #FFFFFF;
    background-color: #3A4885;
    border-color: #3A4885;
}
.mdl-btn-primary:hover {
    color: #FFFFFF !important;
    background-color: #1D275F !important;
    border-color: #1D275F !important;
}
.mdl-btn-text-dark {
   	color: #252729;
    background-color: #e9ecef;
    border-color: #dee2e6;
}
.mdl-btn-text-dark:hover {
	color: #252729 !important;
    background-color: #dee2e6 !important;
    border-color: #dee2e6 !important;
}

.frm-check {
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: 0.125rem;
}
.frm-check .frm-check-input {
    float: left;
    margin-left: -1.5em;
}
.frm-check-input:disabled~.frm-check-label, .frm-check-input[disabled]~.frm-check-label {
    opacity: .5;
}
.frm-check-input {
    width: 1em;
    height: 1em;
    margin-top: .25em;
}

.accd-item { background-color: #fff; border: 1px solid rgba(0,0,0,.125); border-right: 0; border-left: 0; }
.accd .accd-item:first-child { border-top: 0; }
.accd .accd-item:last-child { border-bottom: 0; }
.accd-header { margin: 0; }
.accd-button, .accd-link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    overflow-anchor: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;

	font-weight: 600;
	cursor: pointer;
}
.accd .accd-button::after { margin-left: auto; font-family: "Font Awesome 5 Pro"; font-weight: 400; content: "\f067"; }
.accd .accd-button:not(.collapsed)::after { font-family: "Font Awesome 5 Pro"; font-weight: 400;content: "\f068"; }
.accd .accd-button.d-none-icon.collapsed::after { content: none; }
.accd .accd-button:not(.collapsed) { color: #3A4885; background-color: #DCE4F8; box-shadow: none; }
.accd .accd-button:not(.collapsed) { color: #3A4885; background-color: #DCE4F8; box-shadow: none; }
.accd-collapse:not(.show){ display: none; }
.accd-body { padding: 1rem 1.25rem; }
.accd-row { display: grid; grid-template-columns: repeat(1, 1fr); }
.accd-col-12 { width:100%; }


/** Table 2022/02/17 504271 */
.ec-table1 {
    margin-bottom: 1rem;
    background-color: transparent;
    border: 1px solid #A4A4A4;
    border-collapse: collapse;
}
.ec-table1>tbody>tr>td, .ec-table1>thead>tr>th { border: 1px solid #A4A4A4; }
.ec-table-flush th,.ec-table-flush td { border: none; border-bottom: 1px solid #A4A4A4; }
.ec-table-flush tr:last-child td { border: none; }
.ec-table-none td { border: none; }
.ec-table1.ec-align-top>tbody, .ec-table1.ec-align-top>thead { vertical-align: top; }
.ec-table1.ec-align-bottom>tbody, .ec-table1.ec-align-bottom>thead { vertical-align: bottom; }
.ec-align-top { vertical-align: top; }
.ec-align-bottom { vertical-align: bottom; }

/** Other 2022/03/29 504271 */
.ec-d-none { display: none; }
.ec-pointer { cursor: pointer; }
.list-unstyled { padding-left: 0; list-style: none; }
.opacity-0 { opacity: 1; }
.ms-3, .mx-3 {margin-left: 1rem;}
.me-3, .mx-3 {margin-right: 1rem;}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.mdl-dialog { max-width: 500px; margin: 1.75rem auto; }
}
/*  Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
}
/*  Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	.mdl-lg, .mdl-xl { max-width: 800px; }
}
/*  X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	.ec-top-menu { display:flex; }
	.ec-menu-box { display:none; }
}
/*  XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
}