﻿.clear{clear:both;}

/***** Start of primary nav ******/
#menu-button{display: none;}
nav.mobile {display:none;}

nav.primary {
	padding:0;
	display:flex;justify-content: flex-end; align-items: stretch; 
	margin:0;
	width:100%;
	position:relative;
}
nav.primary ul {
	margin:0; 
	padding:0;
	display:flex;justify-content: flex-end; align-items: stretch; 
}
nav.primary ul li {
	position: relative; pointer-events: all; 
	display:flex; align-items: stretch; 
	margin:0;
	list-style-type:none; 
	width:auto;
}
nav.primary ul li a {
	position: relative; pointer-events: all; 
	color:#000;font-family: 'rig-sans', sans-serif; 
	font-size:17px;
	text-decoration:none;
	display:flex; justify-content: center; align-items: center; 
	margin:0;
	text-align:center;
	-webkit-transition:.2s ease-in;  
	-moz-transition:.2s ease-in;  
	-o-transition:.2s ease-in;  
	transition:.2s ease-in;	
	font-weight:500;
	padding:0 16px;
	cursor: pointer; 
}	
nav.primary ul li a:hover {
	color: #3356a6; 
}	
nav.primary > ul > li > a:not(.btn-link):before {
	position: absolute; content: ""; bottom: 0; left: 0; width: 100%; height: 3px; 
	background: #3356a6; opacity: 0; transition: .2s ease all; 
}


nav.primary > ul > li > a:not(.btn-link):hover,
nav.primary > ul > li:hover > a:not(.btn-link),
nav.primary > ul > li:hover ul:hover ~ a,
nav.primary > ul > li ul:hover ~ a, 
nav.primary > ul > li:hover > ul:hover ~ a {
	color: #3356a6; 
}

nav.primary > ul > li > a:not(.btn-link):hover:before,
nav.primary > ul > li:hover > a:not(.btn-link):before,
nav.primary > ul > li:hover ul:hover ~ a:before,
nav.primary > ul > li ul:hover ~ a:before, 
nav.primary > ul > li:hover > ul:hover ~ a:before {
	opacity: 1;
}


nav.primary ul li a.btn-link, .nav-div a.btn-link {
	position: relative; padding: 0 32px; margin-left: 16px; 
	background: #3356a6; color: #fff; 
	display: flex; justify-content: center; align-items: center; 
	font-size: 22px; font-weight: 800; text-align: center; 
	text-transform: uppercase; letter-spacing: .8px; 
	transition: .3s ease all; 
}
nav.primary ul li a.btn-link:hover, .nav-div a.btn-link:hover { 
	background: #22376d; color: #fff; text-transform: uppercase; text-decoration: underline; 
}

/* Appearance of the sub-level links */
nav.primary ul li li a { 
	font-size:16px; min-height: 40px; 
	line-height:16px;
	padding:10px;
	color:#fff;justify-content: flex-start; 
	background: #22376d;
	text-align:left;
	border-right:none;
	border-left:none;
	border-bottom: #142140 solid 1px;
}
/* Appearance of the sub-level links on hover */
nav.primary ul li li a:hover { 
	background: #497f3d; color: #fff; text-decoration: underline; 
}

nav.primary ul li li:last-child a {border-bottom: none;}

/* This controls the Primary nav dropdowns for sublinks. Should not have to edit this too muuch */
nav.primary ul ul {
    display: none;
    position: absolute; top: 100%; left: 0; 
	width: unset;
}
nav.primary ul ul ul {
    position: absolute; 
    left: 100%;
    top:0; 
}
nav.primary ul li:hover > ul {  
    display: block;
    line-height:18px; 
    z-index: 100;
}
nav.primary ul ul li {
    float: none; 
	width: 176px; 
    position: relative;
    margin:0;
	display: block;
}

@media only screen and (max-width: 1700px) {
	nav.primary ul li a { padding: 0 12px; }
	nav.primary ul li a.btn-link, .nav-div a.btn-link { font-size: 21px; margin-left: 14px; }
}

@media only screen and (max-width: 1660px) {
	nav.primary ul li a { font-size: 15px; padding: 0 12px; }
	nav.primary ul li a.btn-link, .nav-div a.btn-link { font-size: 20px; padding: 0 28px; margin-left: 12px; }
}

@media only screen and (max-width: 1520px) {
	nav.primary ul li a { padding: 0 10px; }
	nav.primary ul li a.btn-link, .nav-div a.btn-link { font-size: 19px; padding: 0 20px; margin-left: 10px; }
}

/******** End of primary Nav ***************/

@media screen and (min-width: 1421px)  {
		
	.menu-toggle.exit-click{
		display: none !important;
	}
}

@media screen and (max-width: 1420px)  {
	.nav-div a.btn-link { margin-left: 0; }
	
	
	.mobile + .menu-toggle.exit-click{
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 499;
		pointer-events: none;
		background: rgba(36,32,33,0.33);
		opacity: 0;	
		transition: ease opacity 0.3s;
	}
	.mobile.open + .menu-toggle.exit-click{
		pointer-events: auto;
		opacity: 1;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
/*==============================
	Mobile Nav Styles			
================================*/	
	nav.primary{display:none;} 
	
	#menu-button { 
		display: flex; justify-content: flex-end; align-items: stretch; 
		position: relative;pointer-events: none; 
		z-index: 400; /* needs to be lower than nav.mobile, adjust as needed */
	}
	#menu-button a {
		color:#000;pointer-events: all; padding: 0 40px; 
		display: flex; justify-content: center; align-items: center; column-gap: 12px; 
		font-size: 24px;
		text-decoration: none;
		cursor: pointer; transition: .2s ease all; 
	}
	#menu-button a:before {
		position: absolute; content: ""; bottom: 0; left: 0; width: 100%; height: 3px; 
	background: #3356a6; opacity: 0; transition: .2s ease all; 
	}
	#menu-button a span { font-family: 'rig-sans', sans-serif; font-size:17px; font-weight:500;}
	#menu-button a:hover { color: #3356a6; }
	#menu-button a:hover:before { opacity: 1; }
	
	
	nav.mobile {
		display: block;pointer-events: all; 
		position: fixed;
		top: 0;
		left: -300px;
		width: min(100%, 300px);
		height: 100%;
		background: #142140;
		z-index: 500; /* needs to be higher than #menu-button, adjust as needed */
		overflow:auto;
	}

	/* MENU HEADER STYLES */
	nav.mobile .mobile_top {
		position: relative;
		display:block;
		padding: 0;
		margin:50px 0 12px 0; height: 10px;
		color: #999;
		font-size: 18px;
		font-weight: 400;
	}

	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle:not(.exit-click) {
		position: absolute; width: 46px; height: 46px; display: flex; justify-content: center; align-items: center; 
		padding: 3px 8px 3px;
		font-family: Arial, sans-serif;
		font-size: 30px;
		font-weight: bold;
		line-height: 1;
		background: #f0f0f0;
		color: #000;
		text-decoration: none;
		top: -38px;
		right: 13px;
		cursor: pointer; 
	}
	nav.mobile .menu-toggle:not(.exit-click):hover { /* Menu close button on hoveer */
		background: #497f3d;
		color: #fff;
	}

	/* MENU LIST STYLE */
	nav.mobile ul {
		list-style: none;
		margin:0;
		padding:0;
		/*background: #22376d;*/
	}
	nav.mobile ul li {
		border-bottom: 1px solid #0d162b;
		position:relative;
	}
	nav.mobile > ul > li:first-child {
		border-top: 1px solid #0d162b;
	}
	/*nav.mobile ul li li {
		border-bottom: 1px solid #070c18;
		position:relative;
	}
	nav.mobile ul li li li {
		border-bottom: 1px solid #000;
		position:relative;
	}*/

	/* FIRST LEVEL */
	nav.mobile ul li a {
		position: relative;font-family: 'rig-sans', sans-serif; 
		cursor: pointer; 
		display: flex; justify-content: space-between; align-items: center; min-height: 50px;
		font-size: 18px; font-weight:500;
		padding: 10px 14px 10px 10px;
		color: #fff;
		text-decoration: none;
		text-align: left;
	}
	nav.mobile ul li a.is-listed span { color: #d0daf1!important; } 
	nav.mobile ul li a.is-listed:hover i, nav.mobile ul li a.is-listed:hover span { color: #fff!important; } 
	nav.mobile ul li a:hover {
		background: #497f3d;
		color: #fff; 
	}
	nav.mobile ul li a:not(.click):hover {
		text-decoration: underline; 
	}
	nav.mobile ul li a.click:hover span {
		text-decoration: underline; 
	}
	nav.mobile ul li a i, nav.mobile ul li a i:before, nav.mobile ul li a:hover i, nav.mobile ul li a:hover i:before, 
	nav.mobile ul li:hover a i, nav.mobile ul li:hover a i:before {
		/*text-decoration: none!important; text-decoration-color: rgba(0, 0, 0, 0)!important;*/
	}

	/* SECOND LEVEL */
	nav.mobile ul li li a {
		background: #22376d;
		/*background: rgba(0, 0, 0, .25);*/
		position: relative;
		display: flex; justify-content: space-between; align-items: center; min-height: 50px;
		padding: 10px 14px 10px 15px;
		text-decoration: none;
	}
	nav.mobile ul li li a:hover {}

	/* THIRD LEVEL */
	nav.mobile ul li li li a {
		background: #3356a6;
		/*background: rgba(0, 0, 0, .5);*/
		position: relative;
		display: flex; justify-content: space-between; align-items: center; min-height: 50px;
		padding: 10px 14px 10px 25px;
		text-decoration: none;
	}
	nav.mobile ul li li li a:hover {}

	nav.mobile i, nav.mobile ul li a:hover i, nav.mobile i:before, nav.mobile ul li a:hover i:before, 
	nav.mobile i:after, nav.mobile a:hover i:after,
	nav.mobile ul li .click i, nav.mobile ul li .click:hover i{
		text-decoration-color: transparent!important;
		text-decoration: none!important; 
	}

	nav.mobile ul li .click.open i:before{
		content: "\f068";
		text-decoration: none!important; 
		text-decoration-color: rgba(0, 0, 0, 0)!important;
	}

	.nav-footer {
		color:#777; 
		position:relative; 
		text-align:center; 
		font-size:14px; 
		line-height:16px; 
		padding:24px 0;
	}
	.nav-footer img { 
		filter: brightness(0) saturate(100%) invert(87%) sepia(8%) saturate(666%) hue-rotate(188deg) brightness(101%) contrast(89%); 
		opacity: .5; 
		padding: 0 16px; max-width: 200px; 
		object-fit: contain; object-position: center; 
	}
}

@media only screen and (max-width: 550px) {
	nav.mobile { width: 100%; left: -100%; }
}

@media only screen and (max-width: 250px) {
	#menu-button, #menu-button a { width: 100%; }
}