﻿@charset "utf-8";

#navMenu {
    width: 100%;
	margin: 0 auto;		
}
#navMenu .container {
    width: 100%;
}
.mobileNav {
	position:absolute;
	top:-55px;
	right:0px;
    display: block;
	width:40px;
	height:55px;
	background: none;
	text-indent: -9999em;
	overflow: hidden;
	outline: none !important;
}
.mobileNav span {
	float:right;
	margin:20px 10px 0 0;
	
}
@media screen and (max-width: 420px) {
	.mobileNav {
		width:50px;
		height:55px;
	}
	.mobileNav span {
		float:right;
		margin:20px 15px 0 0;
	}
}
.mobileNav em,
.mobileNav em::after,
.mobileNav em::before {
	/* this is the menu icon */
	display: block;
	position: relative;
	height: 2px;
	width: 22px;
	background: #32872c;
	-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
}
.mobileNav em {
	/* this is the menu central line */
	margin: 6px auto 14px;
	-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:focus em::before,
.mobileNav:focus em::after{background-color: #870000;}

.mobileNav em::before {
	/* this is the menu icon top line */
	-webkit-transform: translateY(-6px);
		-ms-transform: translateY(-6px);
			transform: translateY(-6px);
}
.mobileNav em::after {
	/* this is the menu icon bottom line */
	-webkit-transform: translateY(6px);
		-ms-transform: translateY(6px);
			transform: translateY(6px);
}
.mobileNav.nav-open em {
	/* transform menu icon into a 'X' icon */
	background-color: rgba(255, 255, 255, 0);
}
.mobileNav.nav-open em::before {
	/* rotate top line */
	-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
			transform: rotate(-45deg);
			background:#000
}
.mobileNav.nav-open em::after {
	/* rotate bottom line */
	 -webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
			transform: rotate(45deg);
			background:#000
}
.menu-dropdown a {
	cursor:pointer;
}
.plus .sp-nav-btn:before {
    content: "";
    position: absolute;
    display: block;
    width: 14px;
    height: 2px;
    top: 24px;
    right: 21px;
    margin: -1px 0 0;
    background-color: #fff;
}
.plus .sp-nav-btn:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 14px;
	top: 25px;
	right: 27px;
	margin: -8px 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;
}
.plus .open .sp-nav-btn:after {
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
         -o-transform: rotate(90deg);
            transform: rotate(90deg);
}
@media screen and (min-width: 991px) {
	#navMenu{ float:right; width:auto;}
	.sp-nav-btn {
		display:none;
	}	
}
	
#menuBg{
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	top:0;
	left: 0;
	background:rgba(0, 0, 0, 0.7);
	z-index:99; backdrop-filter: blur(9px) !important;
}

#menuBg.show{ display: block}
#navi {
	display: none;
	float: left;
    width: 100%;
	margin: 0 auto;
    list-style: none;
	background: #32872c;
	font-family: arial
}
#navi.show-on-mobile {
	display: block;
}
#navi > ul  > li {
	position:relative;
    float: left;
	width: 100%;
    padding: 0;
    margin:0 auto;
	border-bottom:1px dotted rgba(0,0,0,0.5);
	border-top:1px dotted rgba(255,255,255,0.5);	
}



#navi > ul  > li:last-child {
	border-bottom: none;
}
#navi > ul  > li > a {
	display: block;
	color:#fff;
	font-size:1.9em;
	padding:15px;
	transition:color 0s
}
#navi > ul  > li > a *{ font-style:normal;}
#navi > ul  > li > a:hover ,
#navi > ul  > li > a:focus {
    background:rgba(0,0,0,.5);
}
#navi > ul  > li > ul{
	display: none;
	float: left;
	width: 100%;    
	padding:0;
	margin: 0;
	list-style: none;
	background: #000;
	box-sizing: border-box;
}

#navi > ul > li > ul{
	display:none; list-style:none;}

#navi > ul  > li > ul > li {
    float: left;
    width: 100%;
}
#navi > ul  > li > ul > li > a{
	position:relative;
	display: block;
    color: #FFF;
	font-size:1.6em;
	line-height:120%;
  }
#navi > ul  > li > ul > li > a:hover{
    color:#FF9;
}
#navi > ul  > li > ul > li > ul > li > a{ position:relative;}

#navi > ul  > li > ul > li > a:after,
#navi > ul  > li > ul > li > ul > li > a:after{
	content:"";
	display:block;    
	position:absolute;
    top:50%;
	right:10px;
    width:7px;
    height:7px;
    border-top:2px solid rgba(0,0,0,0.25);
    border-right:2px solid rgba(0,0,0,0.25);
	margin-top:-5px;
    z-index:2;
    -webkit-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
            transform:rotate(45deg);
	-webkit-transition:all 0.4s;
	   -moz-transition:all 0.4s;    
         -o-transition:all 0.4s;
            transition:all 0.4s;
}


#navi > ul  > li > ul > li.plus > a:after{
	width: 16px;
    height: 16px;
    margin-top: -8px;
    right: 5px;
    border: 0 ;
	opacity:0.75;
    background: url(../images/menu_plus_gray.svg) center no-repeat;
    background-size: contain !important;
    -webkit-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
            transform:rotate(45deg);
			}
			
#navi > ul  > li > ul > li.plus > a.open:after{
	background: url(../images/menu_plus_w.svg) center no-repeat;
	-webkit-transform:rotate(0deg);
	    -ms-transform:rotate(0deg);
            transform:rotate(0deg);
	
	}			

#navi > ul  > li > ul > li > a:hover:after, 
#navi > ul  > li > ul > li > a:focus:after{
 	border-top:2px solid #FFC;
    border-right:2px solid #FFC;
}

#navi > ul  > li > ul > li.plus > a:hover:after, #navi > ul  > li > ul > li.plus > a:focus:after{border: 0 ;}

#navi > ul  > li > ul.normal-sub, #navi > ul  > li > ul {
    width: 100%;
	padding:0 10px;
}
#navi > ul  > li > ul.normal-sub > li, #navi > ul  > li > ul > li{
    width: 100%;
}
#navi > ul  > li > ul.normal-sub > li > a, #navi > ul  > li > ul > li > a{
	padding:15px 20px;
	border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
}
#navi > ul  > li > ul.normal-sub > li:last-child > a, #navi > ul  > li > ul > li:last-child >  a{
	border-bottom: none;
}
 
#navi > ul  > li > ul > li > ul{
	display: none; list-style:none;}
	
		 	
@media screen and (max-width: 990px) {
	#navi{ max-height: calc(100vh - 55px); overflow-y: auto;  scrollbar-width: none; }
	#navi.m_top{ max-height: calc(100vh - 55px - 70px); margin-top: 70px; transition: all 0.5s}
	
	#navi::-webkit-scrollbar {   display: none;}
	
	#navi > ul > li  a { line-height: 1.33}
	#navMenu {
		width: 100%;
		margin: 0 auto;
		top: 55px;
		position: absolute;
	}
	
	#navi > ul  > li > ul > li.plus > a:after{right: 20px;}	

	 #navi > ul  > li > ul > li > a, 
	#navi > ul  > li > ul > li > ul > li > a {
		padding-right:30px;}
	#navi > ul  > li > ul > li > a:after, 
	#navi > ul  > li > ul > li > ul > li > a:after{
		right:25px;
		border-top:2px solid rgba(255,255,255,0.5);
    border-right:2px solid rgba(255,255,255,0.5);
	}
	#navi > ul > li > ul > li > a.open{ color: #ff9; background-color: #002600}

	#navi > ul  > li > a.open {
		background:rgba(0,0,0,.3);  
	}	
	#navi > ul  > li > ul.normal-sub, #navi > ul  > li > ul {
		padding:0;
	}

	#navi > ul  > li > ul > li > ul{
		background-color:rgba(255,255,255,0.2);
		border-top: 1px dotted rgba(255, 255, 255, 0.5);
		}
	#navi > ul  > li > ul > li > ul	> li{
		border-bottom: 1px dotted rgba(255, 255, 255, 0.5);
	}

	#navi > ul  > li > ul > li > ul > li > a{
		font-size:1.5em;
		padding:15px  25px;
		padding-right:30px;
		color:#fff; display:block}

	#navi > ul  > li > ul > li > ul > li > a:hover{
		background-color:rgba(255,255,255,0.2)}		
	
	.sp-nav-btn.nomore:after{
		content: "";
        display: block;
        width: 8px;
        height: 8px;
        position: absolute;
        right: 25px;
        top: 50%;
        margin-top: -4px;
        border-right: 2px solid rgba(255, 255, 255, 0.8);
        border-bottom: 2px solid rgba(255, 255, 255, 0.8);
        transform: rotate(-45deg);}
	#navi > ul > li > a{
		padding-right: 40px
	}
		 	
}
@media screen and (min-width: 991px) {

	 .mobileNav {
		display: none;
	}
	.menu-dropdown:before {
		display: none;
	}
	#navi {
		display:block;
 		list-style: none;
 		box-sizing:border-box;
		padding-right:54px;
		text-align:right;
 		width:auto;
		position: absolute;
		top: 0;
		right: 0;
		padding: 55px 94px 15px 85px;
		z-index: 1;
		background: #32872C;
		border-bottom-left-radius: 200px;
	}
	#navi > ul {
		position: relative;
		z-index: 20
	}
	#navi > ul  > li {	
		width: auto !important;	
		border-bottom:none;
		border-top:0;
		display:inline-block;
		float:none;
		padding: 0 5px
	}
	#navi > ul  > li:hover > ul{
		display:block !important;}


	#navi > ul  > li > a {
		color: #000;				
		font-size:1.55em;
 		padding:8px 20px;
		text-align:center;
		letter-spacing: 0em;
		color: #fff;
		border-radius: 30px;
		background-color: rgba(0,0,0,0.2);
		font-family: arial
	}
	#navi > ul  > li.plus > a { padding-right: 30px; background-image: url(../images/menu-v.-wsvg.svg); background-position: calc(100% - 15px) center; background-repeat: no-repeat; background-size: auto 6px}
	
	#navi > ul  > li > a:hover, #navi > ul  > li > a:focus{background-color: #1b6395 !important ; color: #fff !important; }  

    /*縮短*/
	#navi > ul  > li > a em{
		font-style: normal;
	}
	/*短得先隱藏*/
	#navi > ul  > li > a em.s_tit{ display: none}

	/*定位效果*/
	#navi > ul  > li.on > a{ color: #FFEF1D;}

	#navi > ul  > li > a:hover,
	#navi > ul  > li > a:focus,
	#navi > ul  > li:hover > a,
	#navi > ul  > li > a.open {
		color:#FFED00;
 	 }

	#navi > ul  > li > ul {	
		position: absolute;
		left: 50%;
		transform:translate(-50%,0);
		background:#fff;
		text-align:left;
		padding:13px;
		z-index:2;
		box-shadow: 0 5px 5px rgba(0,0,0,0.5)
	 }

	#navi > ul  > li > ul:before{
		content:'';
		display:block;
		position:absolute;
		left: 50%;
		top: -10px;
		width: 0;
		height: 0;
		margin-left: -15px;
		border-style: solid;
		border-width: 0 10px 11px 10px;
		border-color: transparent transparent #fff transparent;
		z-index: 1;}

	#navi > ul  > li:last-child > ul:before{left: 55%;}	

	#navi > ul  > li > ul > li > a {
		font-size:1.6em;
		color:#000;		
	}

	#navi > ul  > li > ul > li > a:focus, #navi > ul  > li > ul > li > a:hover,  #navi > ul  > li > ul > li > a.open{
		color:#fff; font-weight:bold; background-color:#1b6395; border-radius: 10px
		}


	#navi > ul  > li > ul > li > a:after {
		content:"";
	}	
	#navi > ul  > li > ul.normal-sub , #navi > ul  > li > ul{
		width:250px;
		padding:0
	}
	#navi > ul  > li > ul.normal-sub{
		visibility: hidden;
		display:block;
		opacity: 0;
		-webkit-transition:all 0.2s ease;
		   -moz-transition:all 0.2s ease;
			 -o-transition:all 0.2s ease;
				transition:all 0.2s ease;
				}

	#navi > ul  > li > ul.normal-sub.focu-show{
		height:inherit;
		visibility:visible;
		opacity: 1;}


	#navi > ul  > li > ul.normal-sub > li a, #navi > ul  > li > ul > li a {
		padding: 10px; 
		padding-right:25px;
		border: none
 	}
	
	
	#navi > ul > li > ul > li {
		position:relative;
		display:block;
		width:100%;
		border-bottom:1px solid #ccc;
	}
	#navi > ul > li > ul > li:last-child{border-bottom:0;}
	#navi > ul > li > ul > li:has(a:hover),
	#navi > ul > li > ul > li:has(a:focus),
	#navi > ul > li > ul > li:has(+ li a:hover),
	#navi > ul > li > ul > li:has(+ li a:focus){ border-color:transparent;}
	
	#navi > ul  > li > ul.normal-sub > li:lastchild a, #navi > ul  > li > ul > li:lastchild a { border-bottom: none}
	
	#navi > ul  > li > ul > li{ position:relative;}
	
	#navi > ul  > li > ul > li:hover > ul{display:block !important;}

	#navi > ul  > li > ul > li:hover > ul > li{ display:block; border-bottom:1px dashed rgba(255,255,255,0.5);}

	#navi > ul  > li > ul > li:hover > ul > li > a{font-size:1.5em; color:#fff; padding:15px;}	
	
	#navi > ul > li > ul > li > ul > li > a{display:block; padding:15px 20px;} 	
}

/*修正電腦版選單文字太長*/
#navi > ul  > li > a em.s_tit2{ display: none}
@media screen and (max-width: 1627px) {
	
	#navi > ul  > li > a em.s_tit{ display: block}
	#navi > ul  > li > a em.l_tit{ display: none}
}
@media screen and (max-width: 1248px) {
	
	#navi > ul  > li > a em.s_tit2{ display: block}
	#navi > ul  > li > a em.l_tit2{ display: none}
}
@media screen and (max-width: 990px) {
	
	#navi > ul  > li > a em.s_tit{ display: none}
	#navi > ul  > li > a em.l_tit{ display: block}
	#navi > ul  > li > a em.s_tit2{ display: none}
	#navi > ul  > li > a em.l_tit2{ display: block}
}

@media screen and (min-width: 1700px) {
	#navi > ul  > li > a {font-size:1.8em;}
}
@media screen and (min-width: 1500px) {
	#navi > ul  > li > a {font-size:1.7em;}
}
@media screen and (min-width: 1200px) {
	#navi {
 	}	
	#navi > ul  > li {		
 		border-bottom:none;
	}
 
				
}
@media screen and (max-width: 1199px) {
 
	#navi > ul  > li > a {			
		font-size:1.6em;
	}	
}

 
 
 

/*浮動選單設定*/
@media screen and (min-width:991px) {
#navi > ul > li > ul > li > ul > li:last-child{
	border-bottom:0;}
	
#navi > ul > li > ul > li > ul > li > a:hover{
	color:#FF6; font-weight:bold; background-color:#000;}	

/*主選單浮動動態*/			
#navi > ul > li > ul{
	display:block; visibility:hidden; opacity:0;  z-index:11; transform: translate(-50%,30px) ; transition:all 0.4s; padding: 13px; border-radius: 15px }	
#navi > ul > li > ul.focu-show{
	 visibility: visible; opacity:1; transform: translate(-50%, 10px) ;}
	 
	 	
#navi > ul > li > ul > li > ul{ 
	display:block; visibility:hidden; opacity:0; transition:all 0.4s;transition:all 0.4s; 
	position:absolute; left:calc(100% + 13px); top:0; width:250px; background-color:rgba(0,0,0,0.6);backdrop-filter: blur(5px); 
	border-radius: 15px; line-height: 1.5;max-height: 60vh;overflow: auto;}
	
#navi > ul > li#navm5 > ul > li > ul, #navi > ul > li#navm6 > ul > li > ul{
	left: auto;  right: 100%;}	
	
	
		
 
#navi > ul > li > ul > li > ul.focu-show{ visibility: visible; opacity:1;}

#navi > ul > li > ul > li > ul > li{ border-bottom:1px dotted rgba(255,255,255,0.4)} 
#navi > ul > li > ul > li > ul > li:last-child{ border-bottom:0;}
#navi > ul > li > ul > li > ul > li > a{
	color:#fff; font-size:1.5em; line-height: 1.5}
#navi > ul > li > ul > li > ul > li > a:hover, #navi > ul > li > ul > li > ul > li > a:focus{
	outline:none; color:#FF6; background-color:#000;}
	
#navi > ul > li > ul > li > a:hover, #navi > ul > li > ul > li > a:focus{
	outline:none; color:#FF6; }		
	
	#navi > ul > li > ul > li > ul > li > a{ padding-right: 30px !important;}
	 
	#navi > ul  > li > ul > li > ul > li > a:after{
		border-top:2px solid rgba(255,255,255,0.5);
		border-right:2px solid rgba(255,255,255,0.5);
		right: 15px}
		
}
 

/*.fixed_nav #header{
	position:fixed;
	top:0;
	box-shadow:0 3px 6px rgba(0,0,0,0.3);
	transition:all 0.8s;
	-webkit-animation:ease-in-out fixed .8s alternate ;
    animation: ease-in-out  fixed .8s alternate;}
 
@media screen and (min-width:991px) and (max-width:1250px){
	#navi{ padding:0 60px 0 15px !important; margin-top:0 !important; background-color:#f1f1f1 !important;}
	#navi, #navi > ul, #navMenu	{ width:100% !important; }
	 #navi > ul > li{ width:calc(100% / 6)}
	#navi > ul > li > a{ width:auto !important;}
 }*/
 
 	





@media print {
	#navMenu  {display:none!important;	}  
}