﻿@charset "utf-8";
.mobileNav {
	position:absolute;
	top:-70px;
	right:10px;
    display:block;
	width:45px;
	height:45px;
	z-index:99;
}
.mobileNav span {
	display:block;
}
.mobileNav em,
.mobileNav em::after,
.mobileNav em::before {
	/* this is the menu icon */
	display:block;
	position:relative;
	height:3px;
	width:22px;
	background:#000;
	border-radius:0;
	-webkit-backface-visibility:hidden;
			backface-visibility:hidden;
}
.mobileNav em {
	/* this is the menu central line */
	margin:20.5px auto 11px;
	-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(-7px);
		-ms-transform:translateY(-7px);
			transform:translateY(-7px);
}
.mobileNav em::after {
	/* this is the menu icon bottom line */
	-webkit-transform:translateY(7px);
		-ms-transform:translateY(7px);
			transform:translateY(7px);
}
.mobileNav.nav-open em {
	/* transform menu icon into a 'X' icon */
	width:26px;
	margin-left:9px;
	background-color:rgba(255, 255, 255, 0);
}
.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);
}
.mobileNav.nav-open em::before,
.mobileNav.nav-open em::after{
	background-color:#fff;
}
.menu-dropdown a {
	cursor:pointer;
}
.sp-nav-btn:before {
    content:"";
    position:absolute;
    display:block;
    top:24px;
    right:24px;
	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;
}
.sp-nav-btn:after {
	content:"";
	position:absolute;
	display:block;
	top:24px;
	right:30px;
	width:2px;
	height:14px;	
	margin:-7px 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;
}
.open .sp-nav-btn:before {
	right:22px;
	width:18px;
}
.open .sp-nav-btn:after {
	top:22px;
	height:18px;
}
.open .sp-nav-btn:before,
.open .sp-nav-btn:after {
	-webkit-transform:rotate(135deg);
	   -moz-transform:rotate(135deg);
		-ms-transform:rotate(135deg);
		 -o-transform:rotate(135deg);
			transform:rotate(135deg);
}
@media screen and (min-width:991px) {
	.sp-nav-btn {
		display:none;
	}	
}
#menuBg{
	display:none;
	position:fixed;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background:#003366;
	z-index:2;
}
#navi {
	display:none;
    width:100%;
	margin:0 auto;    
}
#navi a:focus{
	border:dashed 2px #F06400;
	outline:none;	
}
#navi.show-on-mobile {
	display:block;
}
#navi > ul {
    list-style:none;
}
#navi > ul > li {
    padding:0;
    margin:0;	
}
#navi > ul > li > a {
	display:block;
	color:#FFF;
	font-size:1.7em;
	font-weight:bold;
	padding:15px;
}
#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 > a.open {
		color:#FFF;
		background:#27629e;
	}
	#navi > ul > li > a.linkBtn:after {
		content:"";
		display:block;    
		position:absolute;
		top:50%;
		right:25px;
		width:7px;
		height:7px;
		border-top:2px solid #FFF;
		border-right:2px solid #FFF;
		margin-top:-5px;
		z-index:2;
		-webkit-transform:rotate(45deg);
			-ms-transform:rotate(45deg);
				transform:rotate(45deg);
		-webkit-transition:all 0.3s;
		   -moz-transition:all 0.3s;    
			 -o-transition:all 0.3s;
				transition:all 0.3s;
	}
	#navi > ul > li > ul {
		width:100%;
		background:#28639d;
	}
	#navi > ul > li > ul > li {
		position:relative;
		width:100%;
		background:#FAF4F0;
		border-bottom:1px dashed #CCC;
	}
	#navi > ul > li > ul > li:last-child {
		border-bottom:none;
	}
	#navi > ul > li > ul > li > a {
		position:relative;
		display:block;
		color:#000;
		font-size:1.7em;
		line-height:120%;
		font-weight:bold;
		padding:15px 15px 15px 35px;
	}
	#navi > ul > li > ul > li > a:hover {
		color:#28639d;
	}
	#navi > ul > li > a span {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 0.5em;
        color: #e6e6b4;
        box-sizing: border-box;
        padding-left: 16px;
    }	
	#navi > ul > li > ul > li > a:after {
		content:'';
		display:block;
		position:absolute;
		left:15px;
		top:50%;		
		width:6px;
		height:6px;
		margin-top:-1px;
		border-top:2px solid #000;
		border-right:2px solid #000;
		transform:rotate(45deg) translate(0,-50%);
		-webkit-transition:all 0.5s ease;
		   -moz-transition:all 0.5s ease;
			 -o-transition:all 0.5s ease;
				transition:all 0.5s ease;
	}
	#navi > ul > li > ul > li > a:hover:after {
		border-color:#28639d;
	}
	#navi > ul > li > ul > li > a.dropBtn {
		position:relative;
	}
	#navi > ul > li > ul > li > a.dropBtn:after {
		content:"";
		display:none;
	}
	#navi > ul > li > ul > li > a.dropBtn span:before {
		content:"";
		position:absolute;
		display:block;
		width:14px;
		height:2px;
		top:24px;
		right:24px;
		margin:-1px 0 0;
		background-color:#000;
		-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 > ul > li > a.dropBtn span:after {
		content:"";
		position:absolute;
		display:block;
		width:2px;
		height:14px;
		top:25px;
		right:30px;
		margin:-8px 0 0;
		background-color:#000;
		-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 > ul > li > a.dropBtn:hover span:before,
	#navi > ul > li > ul > li > a.dropBtn:hover span:after {
		background-color:#28639d;
	}
	#navi > ul > li > ul > li > a.dropBtn.open {
		color:#FFF;
		background:#1a1d26;
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:before {
		right:22px;
		width:18px;
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:after {
		top:23px;
		height:18px;
	}
	#navi > ul > li > ul > li > a.dropBtn.open span:before,
	#navi > ul > li > ul > li > a.dropBtn.open span:after {		
		background-color:#FFF;
		-webkit-transform:rotate(135deg);
		   -moz-transform:rotate(135deg);
			-ms-transform:rotate(135deg);
			 -o-transform:rotate(135deg);
				transform:rotate(135deg);
	}
	#navi > ul > li > ul > li > ul {
		display:none;
		width:100%;    
		padding:0;
		margin:0;
		list-style:none;
		box-sizing:border-box;
	}
	#navi > ul > li > ul > li > ul li {
		width:100%;
		background:#FFF;
		border-bottom:1px dashed #CCC;
	}
	#navi > ul > li > ul > li > ul li:last-child {
		border-bottom:none;
	}
	#navi > ul > li > ul > li > ul li a {
		position:relative;
		display:block;
		color:#1a1d26;
		font-size:1.7em;
		line-height:120%;
		font-weight:bold;
		padding:15px 15px 15px 35px;
	}
	#navi > ul > li > ul > li > ul li a:before {
		content:"";
		display:block;    
		position:absolute;
		top:50%;
		left:15px;
		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.3s;
		   -moz-transition:all 0.3s;    
			 -o-transition:all 0.3s;
				transition:all 0.3s;
	}
	#navi > ul > li > ul > li > ul li a:hover {
		color:#28639d;
	}
	#navi > ul > li > ul > li > ul li a:hover:before {
		border-color:#28639d;
	}

}
/* navMenu */
#navMenu {
    width:100%;
	margin:0 auto;
	box-sizing:border-box;
	background-color:transparent;
	position:relative;
	z-index:2;
}
#navMenu .container {width:100%;}
@media screen and (min-width:991px) {
	#navMenu .container{
		position:relative;
		padding:1px;
		box-sizing:border-box;
	}
	#navMenu .container::before{
		content:"";
		display:block;
		width:100%;
		height:calc(100% + 100px);
		background-image:linear-gradient(180deg, #0866a1 30%, rgba(255,255,255,0) 100%);
		position:absolute;
		top:0;left:0;
	}
	#navMenu .container::after{
		content:"";
		display:block;
		width:17px;
		height:232px;
		background-image:url(../images/nav_shadow.png);
		background-repeat:no-repeat;
		position:absolute;
		right:-17px;top:15px;
	}
	#navMenu::before,
	#navMenu::after{
		content:"";
		display:block;
		width:1px;
		height:160%;
		background-image:linear-gradient(180deg, #0866a1 0%, rgba(255,255,255,0) 100%);
		position:absolute;
		top:0;
		visibility:visible;
	}
	#navMenu::before{left:0;}
	#navMenu::after{right:0;}
	.mobileNav {display:none;}
	.menu-dropdown:before {display:none;}
	#navi{
		width:100%;
		display:block;
		border-top:1px solid #84b3d0;
		position:relative;
		padding-top:15px;
		background-image:url(../images/linebg.png);
		background-repeat:no-repeat;
		background-position:top left;
	}
	
	#navi::before,
	#navi::after{
		content:"";
		display:block;
		width:1px;
		height:100%;
		background-image:linear-gradient(180deg, #84b3d0 50%, rgba(255,255,255,0) 100%);
		position:absolute;
		top:0;
	}
	#navi::before{left:0;}
	#navi::after{right:0;}
	.comWrap #navMenu,
	.comWrap #navMenu .container,
	.comWrap #navMenu .container::before,
	.comWrap #navMenu::before,
	.comWrap #navMenu::after{height:95%;}
	#navi > ul {
		width:100%;
		display:flex;
		flex-direction: column;
		margin:0;
		overflow:hidden;
	}
	#navi > ul > li {
		position:relative;
		display:inline-block;
		width:100%;
		text-align:left;
		margin:0;
		letter-spacing:0px;
		box-sizing:border-box;
		border-bottom:none;
		display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
	}
	#navi > ul > li::before{
		content:"";display:block;
		position:absolute;
		top:0%;left:0%;
		width:0%;
		height:100%;
		background-image:linear-gradient(90deg, #00428d 0%, rgba(255,255,255,0) 100%);
		transition:all 0.4s ease;
	}
	#navi > ul > li:hover::before,
	#navi > ul > li:has(>a:focus)::before{
		width:100%;
	}
	#navi > ul > li > a {
		position:relative;
		color:#fff;
		font-size:1.6em;
		line-height:120%;
		padding:5px 15px;
		text-align:left;
		display:flex;
		flex-wrap:wrap;
		flex-direction: column;
		width:140px;
	}
	#navi.engNav > ul > li > a{
		width:170px;
	}
	#navi > ul > li > a strong{
    	text-shadow: 0 0 3px rgba(50, 50, 50, 0.8);
		position:relative;
		box-sizing:border-box;
		padding-left:16px;
	}
	#navi > ul > li > a strong::before,
	#navi > ul > li > a strong::after{
		content:"";display:block;
		position:absolute;
		top:50%;
	}
	#navi > ul > li > a strong::before{
		width:6px;height:6px;
		border-radius:6px;
		background-color:#8fd8ff;
		left:0;
		margin-top:-3px;
	}
	#navi > ul > li > a strong::after{
		width:50vw;
		height:1px;
		background-color:rgba(255,255,255, 0.3);
		left:-50vw;
	}
	#navi > ul > li > a span{
		font-family:Arial, Helvetica, sans-serif;
		font-size:0.5em;
		color:#e6e6b4;
		box-sizing:border-box;
		padding-left:16px;
	}
	#navi > ul > li:hover > a,
	#navi > ul > li > a.open {color:#ffffff;}
	#navi > ul > li > a:hover,
	#navi > ul > li > a:focus{
		transform: translate3d(5%, 0, 0);
	}
}
@media screen and (min-width:1200px) {
	#navi > ul > li > a {font-size:1.8em;}
	#navi > ul > li > ul > li > a {font-size:1.6em;}
}


@media print {
	#navMenu  {
		display:none!important;
	}  
}