﻿@charset "utf-8";

/** navMenu **/
#navMenu {
    width:100%;
	background:#004097; /* Old browsers */
	background:linear-gradient(to right,  rgba(21,65,153,0.85) 0%,rgba(33,155,166,1) 99%,rgba(33,155,166,1) 100%);
	margin:0 auto;
	transition:all 0.4s ease;
	box-sizing:border-box;
}
#navMenu .container {
    width:100%;
}
.mobileNav {
	position:absolute;
	top:7.5px;
	right:7.5px;
    display:block;
	width:45px;
	height:45px;
	z-index:99;
}
.mobileNav span {
	display:flex;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
}
@media screen and (min-width:991px) {
	#navMenu {
		display:inline-block;
		background:none;
		width:auto;
		margin:0;
	}
	#header.flex #navMenu {
		margin-right:50px;
	}
}
.mobileNav em,
.mobileNav em::after,
.mobileNav em::before {
	/* this is the menu icon */
	display:block;
	position:relative;
	height:2px;
	width:22px;
	background:#000;
	border-radius:5px;
	-webkit-backface-visibility:hidden;
			backface-visibility:hidden;
}
.mobileNav em {
	/* this is the menu central line */
	-webkit-transition:background-color .2s;
	        transition:background-color .2s;
}
.mobileNav em::before,
.mobileNav em::after {
	position:absolute;
	content:'';
	left:0;
	-webkit-transition:-webkit-transform .2s;
	        transition:-webkit-transform .2s;
	        transition:transform .2s;
	        transition:transform .2s, -webkit-transform .2s;
}
.mobileNav em::before {
	/* this is the menu icon top line */
	-webkit-transform:translateY(-8px);
		-ms-transform:translateY(-8px);
			transform:translateY(-8px);
}
.mobileNav em::after {
	/* this is the menu icon bottom line */
	-webkit-transform:translateY(8px);
		-ms-transform:translateY(8px);
			transform:translateY(8px);
}
.mobileNav.nav-open em {
	/* transform menu icon into a 'X' icon */
	width:26px;
	background:none;
}
.mobileNav.nav-open em::before {
	/* rotate top line */
	width:26px;
	-webkit-transform:rotate(-45deg);
		-ms-transform:rotate(-45deg);
			transform:rotate(-45deg);
}
.mobileNav.nav-open em::after {
	/* rotate bottom line */
	width:26px;
	 -webkit-transform:rotate(45deg);
		 -ms-transform:rotate(45deg);
			 transform:rotate(45deg);
}
#menuBg{
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:rgba(0, 0, 0, 0.6);
	backdrop-filter:blur(3px);
	z-index:90;
}


/** navi **/
#navi {
	display:none;
    width:100%;
	margin:0 auto;    
}
#navi.show-on-mobile {
	display:block;
	margin-top:60px;
}
#navi > ul {
    list-style:none;
}
#navi > ul > li {
    padding:0;
    margin:0;	
}
#navi > ul > li > a {
	display:block;
	color:#FFF;
	font-size:2.1em;
	font-weight:bold;
	padding:15px 50px 15px 20px;
}
#navi > ul > li > ul {
	display:none;
	width:100%;    
	padding:0;
	margin:0;
	list-style:none;
	box-sizing:border-box;
}
@media screen and (max-width:990px) {
	#navi > ul {
		width:100%;
		margin:0 auto;
	}
	#navi > ul > li {
		position:relative;
		border-bottom:1px solid rgba(255,255,255,.3);
	}
	#navi > ul > li:last-of-type {
		border-bottom:none;;
	}
	#navi > ul > li > a {
		position:relative;
	}
	#navi > ul > li > a.open {
		color:#FFF;
		background:#004097;
	}
	#navi > ul > li a:after {
		content:"";
		display:block;    
		position:absolute;
		top:20px;
		right:27px;
		width:8px;
		height:8px;
		border-top:2px solid #FFF;
		border-right:2px solid #FFF;
		z-index:2;
		-webkit-transform:rotate(45deg);
			-ms-transform:rotate(45deg);
				transform:rotate(45deg);
		-webkit-transition:all 0.5s;
		   -moz-transition:all 0.5s;    
			 -o-transition:all 0.5s;
				transition:all 0.5s;
	}
	#navi > ul > li a.dropBtn:after {
		display:none;
	}
	#navi > ul > li a.dropBtn span:before,
	#navi > ul > li a.dropBtn span:after {
		content:"";
		position:absolute;
		display:block;
		top:26px;
		right:23.5px;
		width:14px;
		height:2px;
		margin:-1px 0 0;
		background-color:#fff;
		-webkit-transition:-webkit-transform .2s linear;
		   -moz-transition:-moz-transform .2s linear;
			-ms-transition:-ms-transform .2s linear;
			 -o-transition:-o-transform .2s linear;
				transition:transform .2s linear;
	}
	#navi > ul > li a.dropBtn span:after {
		-webkit-transform:rotate(90deg);
		   -moz-transform:rotate(90deg);
			-ms-transform:rotate(90deg);
			 -o-transform:rotate(90deg);
				transform:rotate(90deg);
	}
	#navi > ul > li a.dropBtn.open span:before,
	#navi > ul > li a.dropBtn.open span:after {
		right:21.5px;
		width:18px;
	}
	#navi > ul > li a.dropBtn.open span:before {
		-webkit-transform:rotate(135deg);
		   -moz-transform:rotate(135deg);
			-ms-transform:rotate(135deg);
			 -o-transform:rotate(135deg);
				transform:rotate(135deg);
	}
	#navi > ul > li a.dropBtn.open span:after {
		-webkit-transform:rotate(225deg);
		   -moz-transform:rotate(225deg);
			-ms-transform:rotate(225deg);
			 -o-transform:rotate(225deg);
				transform:rotate(225deg);
	}
	#navi > ul > li a.link:after,
	#navi > ul > li a.download:after {
		content:"";
		display:block;
		top:16.5px;
		right:22.5px;
		width:15px;
		height:15px;
		border:0;
		background-color:#666;
		background-position:50% 50%;
		background-repeat:no-repeat;
		background-size:cover;
		-webkit-mask-size:100% 100%;
				mask-size:100% 100%;
		-webkit-transform:rotate(0deg);
			-ms-transform:rotate(0deg);
				transform:rotate(0deg);
		-webkit-transition:all 0.5s;
		   -moz-transition:all 0.5s;    
			 -o-transition:all 0.5s;
				transition:all 0.5s;
	}
	#navi > ul > li a.link:after {
		-webkit-mask-image:url(../images/nav-icon-link.svg);
				mask-image:url(../images/nav-icon-link.svg);
	}
	#navi > ul > li a.download:after {
		-webkit-mask-image:url(../images/nav-icon-download.svg);
				mask-image:url(../images/nav-icon-download.svg);
	}
	#navi > ul > li > ul {
		width:100%;
		background:#f0f5fa;
	}
	#navi > ul > li > ul > li {
		position:relative;
		width:100%;
		border-bottom:1px dashed #CCC;
	}
	#navi > ul > li > ul > li:last-of-type {
		border-bottom:none;
	}
	#navi > ul > li > ul > li > a {
		position:relative;
		display:block;
		color:#000;
		font-size:1.9em;
		line-height:120%;
		font-weight:bold;
		padding:15px 45px 15px 20px;
	}
	#navi > ul > li > ul > li > a:hover,
	#navi > ul > li > ul > li > a:focus {
		color:#004097;
	}
	#navi > ul > li > ul > li > a:after {
		border-color:#666;
	}
	#navi > ul > li > ul > li > a:hover:after,
	#navi > ul > li > ul > li > a:focus:after {
		border-color:#004097;
	}
	#navi > ul > li > ul > li > a.link:hover:after,
	#navi > ul > li > ul > li > a.link:focus:after,
	#navi > ul > li > ul > li > a.download:hover:after,
	#navi > ul > li > ul > li > a.download:focus:after {
		background-color:#004097;
	}
	#navi > ul > li > ul > li > a.dropBtn span:before,
	#navi > ul > li > ul > li > a.dropBtn span:after {
		background-color:#666;
	}
	#navi > ul > li > ul > li > a.dropBtn:hover span:before,
	#navi > ul > li > ul > li > a.dropBtn:focus span:before,
	#navi > ul > li > ul > li > a.dropBtn:hover span:after,
	#navi > ul > li > ul > li > a.dropBtn:focus span:after {
		background-color:#004097;
	}
	#navi > ul > li > ul > li > a.dropBtn.open {
		color:#FFF;
		background:#1a1d26;
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:before,
	#navi > ul > li > ul > li > a.dropBtn.open span:after {
		background-color:#FFF;
	}
	#navi > ul > li > ul > li > ul {
		display:none;
		width:100%;    
		padding:0;
		margin:0;
		list-style:none;
		background:#FFF;
	}
	#navi > ul > li > ul > li > ul li {
		width:100%;
		border-bottom:1px dashed #CCC;
	}
	#navi > ul > li > ul > li > ul li:last-of-type {
		border-bottom:none;
	}
	#navi > ul > li > ul > li > ul li a {
		position:relative;
		display:block;
		color:#1a1d26;
		font-size:1.9em;
		line-height:120%;
		font-weight:bold;
		padding:15px 15px 15px 40px;
	}
	#navi > ul > li > ul > li > ul li a:before {
		content:"";
		display:block;    
		position:absolute;
		top:50%;
		left:20px;
		width:7px;
		height:7px;
		border-top:2px solid #1a1d26;
		border-right:2px solid #1a1d26;
		margin-top:-5px;
		z-index:2;
		-webkit-transform:rotate(45deg);
			-ms-transform:rotate(45deg);
				transform:rotate(45deg);
		-webkit-transition:all 0.5s;
		   -moz-transition:all 0.5s;    
			 -o-transition:all 0.5s;
				transition:all 0.5s;
	}
	#navi > ul > li > ul > li > ul li a:after {
		display:none;
	}
	#navi > ul > li > ul > li > ul li a:hover,
	#navi > ul > li > ul > li > ul li a:focus {
		color:#CC4E00;
	}
	#navi > ul > li > ul > li > ul li a:hover:before,
	#navi > ul > li > ul > li > ul li a:focus:before {
		border-color:#CC4E00;
	}
	#navi > ul > li > ul > li > ul li a.link:after,
	#navi > ul > li > ul > li > ul li a.download:after {
		display:inline-block;
		position:relative;
		right:inherit;
		top:inherit;
		margin-left:10px;
	}
	#navi > ul > li > ul > li > ul li a.link:hover:after,
	#navi > ul > li > ul > li > ul li a.link:focus:after,
	#navi > ul > li > ul > li > ul li a.download:hover:after,
	#navi > ul > li > ul > li > ul li a.download:focus:after {
		border-color:#CC4E00;
	}
}
@media screen and (min-width:991px) {
	.mobileNav {display:none;}
	.menu-dropdown:before {display:none;}
	#navi {
		display:block;
		width:auto;
		text-align:right;
		margin:5px 0;
	}
	#header.flex #navi {margin:10px 0;}	
	#navi > ul {
		list-style:none;		
	}
	#navi > ul > li {
		display:inline-block;
		width:auto;
		text-align:left;
		margin:0;
		letter-spacing:0px;
		box-sizing:border-box;
		border-bottom:none;
		position:relative;
	}
	#navi > ul > li + li {
		margin-left:2vw;
	}
	#navi > ul > li > a {
		position:relative;
		color:#333333;
		font-family:"PingFang TC Semibold", "微軟雅黑", "Microsoft YaHei";
		font-size:1.9em;
		line-height:25px;
		padding:7.5px 0;
		text-align:center;
		transition:all 0s ease;
		z-index:1;
	}
	#navi > ul > li:hover > a,
	#navi > ul > li > a.open {
		color:#004097;
	}
	#navi > ul > li > a:active {
		color:#004097;
	}
	#navi > ul > li:hover > a:after,
	#navi > ul > li > a.open:after {
		content:"";
		display:block;    
		position:absolute;
		left:0;
		bottom:0;
		width:100%;
		height:100%;
		border-radius:0;
		z-index:-1;
	}
	#navi > ul > li > a:active:after {display:none;}
	/* 一階分類 */
	#navi > ul > li > ul {
		position:absolute;
		display:block;
		left:50%;
		width:200px;
		height:0;
		padding:0;
		letter-spacing:-9px;
		margin-left:-100px;
		background:#FFF;
		box-sizing:border-box;
		visibility:hidden;
		opacity:0;
		-webkit-border-radius:10px;
		   -moz-border-radius:10px;
				border-radius:10px;
	}
	#navi > ul > li:last-of-type > ul {
		left:0;
	}
	#navi > ul > li > ul.focu-show {
		height:inherit;
		opacity:1;
		visibility:visible;
		box-shadow:0 5px 15px rgba(0,0,0,0.3);
	}
	#navi > ul > li > ul > li {
		position:relative;
		display:inline-block;
		width:100%;
		z-index:1;
		letter-spacing:0;
		padding:0;
		margin:0;
		box-sizing:border-box;
		vertical-align:top;
	}
	#navi > ul > li > ul > li + li{
		border-top:1px solid rgba(0,0,0, 0.3);
	}
	#navi > ul > li > ul > li > a {
		position:relative;
		display:block;
		color:#333333;
		font-size:1.9em;
		line-height:125%;
		font-weight:bold;
		padding:10px 30px 10px 10px;
		z-index:1;
	}
	#navi > ul > li > ul > li:first-of-type > a {
		-webkit-border-radius:10px 10px 0 0;
		   -moz-border-radius:10px 10px 0 0;
				border-radius:10px 10px 0 0;
	}
	#navi > ul > li > ul > li:last-of-type > a {
		-webkit-border-radius:0 0 10px 10px;
		   -moz-border-radius:0 0 10px 10px;
				border-radius:0 0 10px 10px;
	}
	#navi > ul > li > ul > li:only-of-type > a {
		-webkit-border-radius:10px;
		   -moz-border-radius:10px;
				border-radius:10px;
	}
	#navi > ul > li > ul > li > a.open,
	#navi > ul > li > ul > li > a:hover,
	#navi > ul > li > ul > li > a:focus {
		color:#FFF;
	}
	#navi > ul > li > ul > li > a:before {
		position:absolute;
		content:"";
		width:0;
		left:0;
		bottom:0;
		height:100%;
		background:#004097;
		z-index:-1;
		-webkit-transition:width .3s ease-out;
			 -o-transition:width .3s ease-out;
				transition:width .3s ease-out;
	}
	#navi > ul > li > ul > li:first-of-type > a:before {
		-webkit-border-radius:10px 10px 0 0;
		   -moz-border-radius:10px 10px 0 0;
				border-radius:10px 10px 0 0;
	}
	#navi > ul > li > ul > li:last-of-type > a:before {
		-webkit-border-radius:0 0 10px 10px;
		   -moz-border-radius:0 0 10px 10px;
				border-radius:0 0 10px 10px;
	}
	#navi > ul > li > ul > li:only-of-type > a:before {
		-webkit-border-radius:10px;
		   -moz-border-radius:10px;
				border-radius:10px;
	}
	#navi > ul > li > ul > li > a.open:before,
	#navi > ul > li > ul > li > a:hover:before,
	#navi > ul > li > ul > li > a:focus:before {
		width:100%
	}
	#navi > ul > li > ul > li > a:after {
		content:"";
		display:block;    
		position:absolute;
		right:20px;
		top:22px;
		width:9px;
		height:9px;
		border-top:1px solid #004097;
		border-right:1px solid #004097;
		z-index:2;
		transform:rotate(45deg);
		transition:all 0.5s;
	}
	#navi > ul > li > ul > li > a.open:after,
	#navi > ul > li > ul > li > a:hover:after,
	#navi > ul > li > ul > li > a:focus:after {
		border-color:#FFF;
	}
	#navi > ul > li > ul > li > a.link:after,
	#navi > ul > li > ul > li > a.download:after {
		right:15px;
		top:19px;
		width:15px;
		height:15px;
		border:none;
		background-position:50% 50%;
		background-repeat:no-repeat;
		background-size:cover;
		background-color:#004097;
		-webkit-mask-size:100% 100%;
				mask-size:100% 100%;
		-webkit-transform:rotate(0deg);
			-ms-transform:rotate(0deg);
				transform:rotate(0deg);
		-webkit-transition:all 0.5s;
		   -moz-transition:all 0.5s;    
			 -o-transition:all 0.5s;
				transition:all 0.5s;
	}
	#navi > ul > li > ul > li > a.link:after {
		-webkit-mask-image:url(../images/nav-icon-link.svg);
				mask-image:url(../images/nav-icon-link.svg);
	}
	#navi > ul > li > ul > li > a.download:after {
		-webkit-mask-image:url(../images/nav-icon-download.svg);
				mask-image:url(../images/nav-icon-download.svg);
	}
	#navi > ul > li > ul > li > a.link:hover:after,
	#navi > ul > li > ul > li > a.link:focus:after,
	#navi > ul > li > ul > li > a.download:hover:after,
	#navi > ul > li > ul > li > a.download:focus:after {
		background-color:#FFF;
	}
	#navi > ul > li > ul > li > a.dropBtn:after {
		top:15px;transform:rotate(135deg);
		display:none;
	}
	#navi > ul > li > ul > li > a.dropBtn.open { color:#fff; }
	#navi > ul > li > ul > li > a.dropBtn.open:before { width:100%; }
	#navi > ul > li > ul > li > a.dropBtn {
		position:relative;
	}
	#navi > ul > li > ul > li > a.dropBtn span {
		position:absolute;
		right:15px;
		top:20px;
		width:15px;
		height:15px;
	}
	#navi > ul > li > ul > li > a.dropBtn span:before,
	#navi > ul > li > ul > li > a.dropBtn span:after{
		content:"";
		display:block;
		position:absolute;
		right:0;
		top:6px;
		width:15px;
		height:1px;
		background-color:#004097;
		transition:all 0.4s ease;
	}
	#navi > ul > li > ul > li > a.dropBtn span:after{
		transform:rotate(90deg);
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:before,
	#navi > ul > li > ul > li > a.dropBtn.open span:after{
		right:-1px;
		width:17px;
		background-color:#fff;
		transform:rotate(135deg);
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:after{
		transform:rotate(225deg);
	}
	/* 二階分類 */
	#navi > ul > li > ul > li ul {
		position:absolute;
		display:block;
		left:-200px;
		top:0;
		width:200px;
		height:0;
		padding:0;
		letter-spacing:-9px;
		background:#FFF;
		box-sizing:border-box;
		visibility:hidden;
		opacity:0;
		-webkit-border-radius:10px;
		   -moz-border-radius:10px;
				border-radius:10px;
	}
	#navi > ul > li > ul > li ul.focu-show {
		height:inherit;
		opacity:1;
		visibility:visible;
		box-shadow:0px 5px 15px rgba(0,0,0,0.3);
	}
	#navi > ul > li > ul > li ul li {
		position:relative;
		display:inline-block;
		width:100%;
		letter-spacing:0;
		padding:0;
		margin:0;
		box-sizing:border-box;
		vertical-align:top;
	}
	#navi > ul > li > ul > li ul li + li {
		border-top:1px solid rgba(0,0,0,0.3);
	}
	#navi > ul > li > ul > li ul li a {
		position:relative;
		display:block;
		color:#333333;
		font-size:1.9em;
		line-height:125%;
		font-weight:bold;
		padding:10px 10px 10px 30px;
		z-index:1;
	}
	#navi > ul > li > ul > li ul li:first-of-type a {
		-webkit-border-radius:10px 10px 0 0;
		   -moz-border-radius:10px 10px 0 0;
				border-radius:10px 10px 0 0;
	}
	#navi > ul > li > ul > li ul li:last-of-type a {
		-webkit-border-radius:0 0 10px 10px;
		   -moz-border-radius:0 0 10px 10px;
				border-radius:0 0 10px 10px;
	}
	#navi > ul > li > ul > li ul li a:hover,
	#navi > ul > li > ul > li ul li a:focus {
		color:#004097;
		background:#f0f5fa;
	}
	#navi > ul > li > ul > li ul li a:before {
		content:"";
		display:block;  
		position:absolute;
		left:15px;
		top:21px;		
		width:7px;
		height:2px;
		background-color:#999;
		z-index:2;
		transition:all 0.5s;
	}
	#navi > ul > li > ul > li ul li a:hover:before ,
	#navi > ul > li > ul > li ul li a:focus:before {
		background-color:#004097;
	}
	#navi > ul > li > ul > li ul li a.link:after,
	#navi > ul > li > ul > li ul li a.download:after {
		content:"";
		display:inline-block;
		width:15px;
		height:15px;
		margin-left:7px;
		background-position:50% 50%;
		background-repeat:no-repeat;
		background-size:cover;
		background-color:#9fa3a6;
		-webkit-mask-size:100% 100%;
				mask-size:100% 100%;
		-webkit-transform:rotate(0deg);
			-ms-transform:rotate(0deg);
				transform:rotate(0deg);
		-webkit-transition:all 0.5s;
		   -moz-transition:all 0.5s;    
			 -o-transition:all 0.5s;
				transition:all 0.5s;
	}
	#navi > ul > li > ul > li ul li a.link:after {
		-webkit-mask-image:url(../images/nav-icon-link.svg);
				mask-image:url(../images/nav-icon-link.svg);
	}
	#navi > ul > li > ul > li ul li a.download:after {
		-webkit-mask-image:url(../images/nav-icon-download.svg);
				mask-image:url(../images/nav-icon-download.svg);
	}
	#navi > ul > li > ul > li ul li a.link:hover:after,
	#navi > ul > li > ul > li ul li a.link:focus:after,
	#navi > ul > li > ul > li ul li a.download:hover:after,
	#navi > ul > li > ul > li ul li a.download:focus:after {
		background-color:#004097;
		opacity:.5;
	}
}
@media screen and (min-width:1200px) {
	#navi > ul > li > a {
		font-size:2.1em;
		padding:10px 0;
	}
	#navi > ul > li > ul {
		-webkit-border-radius:15px;
		   -moz-border-radius:15px;
				border-radius:15px;
	}
	#navi > ul > li > ul > li > a {
		font-size:1.8em;
		padding:15px 30px 15px 15px;
	}
	#navi > ul > li > ul > li:first-of-type > a,
	#navi > ul > li > ul > li:first-of-type > a:before {
		-webkit-border-radius:15px 15px 0 0;
		   -moz-border-radius:15px 15px 0 0;
				border-radius:15px 15px 0 0;
	}
	#navi > ul > li > ul > li:last-of-type > a,
	#navi > ul > li > ul > li:last-of-type > a:before {
		-webkit-border-radius:0 0 15px 15px;
		   -moz-border-radius:0 0 15px 15px;
				border-radius:0 0 15px 15px;
	}
	#navi > ul > li > ul > li:only-of-type > a,
	#navi > ul > li > ul > li:only-of-type > a:before {
		-webkit-border-radius:15px;
		   -moz-border-radius:15px;
				border-radius:15px;
	}
	#navi > ul > li > ul > li ul {
		-webkit-border-radius:15px;
		   -moz-border-radius:15px;
				border-radius:15px;
	}
	#navi > ul > li > ul > li ul li a {
		font-size:1.9em;
		padding:15px 15px 15px 30px;
	}
	#navi > ul > li > ul > li ul li:only-of-type a {
		-webkit-border-radius:15px;
		   -moz-border-radius:15px;
				border-radius:15px;
	}
	#navi > ul > li > ul > li ul li:first-of-type a {
		-webkit-border-radius:15px 15px 0 0;
		   -moz-border-radius:15px 15px 0 0;
				border-radius:15px 15px 0 0;
	}
	#navi > ul > li > ul > li ul li:last-of-type a {
		-webkit-border-radius:0 0 15px 15px;
		   -moz-border-radius:0 0 15px 15px;
				border-radius:0 0 15px 15px;
	}
	#navi > ul > li > ul > li ul li a:before {
		top:26px;
	}
}
@media screen and (min-width:1540px) {
	#navi > ul > li + li {
		margin-left:40px;
	}
}


@media print {
	#navMenu  {
		display:none!important;
	}  
}