﻿.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;position: relative; 
	display:flex; justify-content: flex-end; align-items: stretch; 
}
nav.primary ul li {
	display:flex; justify-content: center; align-items: stretch; 
	margin:0;position: relative; 
	list-style-type:none; 
	width:auto;
}
nav.primary > ul > li > a:not(.mm-btn) {position: relative; 
	color:#fff;
	font-size:14px;
	text-decoration:none;
	display:flex; justify-content: center; align-items: center; column-gap: 6px; 
	margin:0;
	text-align:left;
	text-transform:uppercase;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.2s ease-in;  
	-o-transition:.2s ease-in;  
	transition:.2s ease-in;	
	font-weight:700;
	padding:0 15px;
	cursor: pointer; 
}	
nav.primary > ul > li > a:not(.mm-btn):hover {
	color:#ff4402;
}

nav.primary > ul > li > a:not(.mm-btn):after { 
	position: absolute; content: ""; width: 100%; transform: scaleX(0); height: 2px; bottom: 0; left: 0; 
	background-color: #ff4402; transform-origin: bottom right; transition: transform 0.3s ease-out;
}

nav.primary > ul > li > a:not(.mm-btn):hover:after { 
	transform: scaleX(1); transform-origin: bottom left;
}

a.mm-btn {
	position: relative; height: 50px; margin: auto 0; margin-left: 15px; text-align: center; white-space: nowrap; 
	font-weight: 600; line-height: 2; text-transform: uppercase; color:#ff4402; 
	padding: 7px 5px; border: 3px solid #fff; 
}
a.mm-btn:hover {
	color:#fff; border-color: #ff4402; 
}

/* Appearance of the sub-level links */
nav.primary ul li li a {position: relative; display:flex; justify-content: flex-start; align-items: center; column-gap: 6px; 
	font-size:16px; width: 100%; 
	line-height:16px;
	padding:12px 15px;
	color:#02245b; text-transform: none; font-weight: 500; 
	text-align:left;
	border-right:none;
	border-left:none;
	min-width: 210px; min-height: 47px; 
}
/* Appearance of the sub-level links on hover */

nav.primary ul li li a:hover { 
	color: #ff4402; 
}

nav.primary ul li li a:after {
	position: absolute; content: ""; transform: scaleX(0); height: 2px; bottom: 0; 
	background-color: #ff4402; transition: transform 0.3s ease-out;
	width: 20% !important;
    left: 15px !important;
    transform-origin: bottom left !important;
}

nav.primary ul li li a:hover:after {
	transform: scaleX(1); transform-origin: bottom left;
}

/* This controls the Primary nav dropdowns for sublinks. Should not have to edit this too muuch */
nav.primary ul ul {
    display: none; background: #fff; padding: 20px 0;
    position: absolute; top: 100%; left: 0; 
	width: unset; max-width: 824px; 
	border-radius: 4px; border-top-left-radius: 0; border-top-right-radius: 0; 
	box-shadow: 0 6px 12px rgba(0,0,0,.175);
	flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; 
}
nav.primary ul ul ul {
    position: absolute; 
    left: 100%;
    top:0; 
}
nav.primary ul li:hover > ul {  
    display: flex!important;
    line-height:18px; 
    z-index: 100;
}
nav.primary ul ul li {
    float: none; 
    position: relative; 
    margin:0;
	display: block;
}

nav.primary ul ul.is-cats-ul {
	flex-direction: row; flex-wrap: wrap; width: 810px; padding-top: 10px; 
}
nav.primary ul ul.is-cats-ul li {
	width: 33.333333%; 
}
nav.primary ul ul.is-cats-ul li a {
	width: 100%; 
}

@media only screen and (max-width: 1500px) {
	nav.primary > ul > li > a:not(.mm-btn) { padding: 0 11px; }
	a.mm-btn { margin-left: 11px; }
}

@media only screen and (max-width: 1450px) {
	nav.primary > ul > li > a:not(.mm-btn) { font-size: 13px; }
	a.mm-btn { margin-left: 0; }
}

@media only screen and (max-width: 1400px) {
	nav.primary > ul > li > a:not(.mm-btn) { padding: 0 9px; }
}

@media only screen and (max-width: 1350px) {
	nav.primary > ul > li > a:not(.mm-btn) { padding: 0 6px; }
}

@media only screen and (max-width: 1282px) {
	nav.primary > ul > li > a:not(.mm-btn) { font-size: 12px; padding: 0 4px; }
}

/******** End of primary Nav ***************/

@media screen and (min-width: 1201px)  {
		
	.menu-toggle.exit-click{
		display: none !important;
	}
}

@media screen and (max-width: 1200px)  {
	
	.mobile + .menu-toggle.exit-click{
		position: fixed!important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 1004;
		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: center;
		 
		position: relative;
		z-index: 1005; /* needs to be lower than nav.mobile, adjust as needed */
	}
	#menu-button a {
		color:#fff; background: #ff5e14; 
		font-size: 22px; display: flex; justify-content: center; align-items: center; width: 40px; height: 35px; 
		text-decoration: none; border-radius: 4px; 
		cursor: pointer; 
	}
	
	nav.mobile {
		display: block;
		position: fixed;
		top: 0;
		right: -300px;
		height: 100vh;
		width: min(100%, 300px);
		
		background: #02245b;
		z-index: 1006; /* needs to be higher than #menu-button, adjust as needed */
		overflow:auto;
	}

	/* MENU HEADER STYLES */
	nav.mobile .mobile_top {
		position: relative;
		display:flex; height: 10px;
		padding: 0;
		margin:50px 0 10px 0;
		color: #999;
		font-size: 18px;
		font-weight: 400;
	}

	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle:not(.exit-click) {
		position: absolute;
		width: 50px; height: 50px; display: flex; justify-content: center; align-items: center; 
		font-size: 50px;
		line-height: 1;
		border: 1px solid #fff; 
		color: #fff;
		text-decoration: none;
		top: -38px;
		right: 13px;
		cursor: pointer; 
	}
	nav.mobile .menu-toggle:not(.exit-click):hover { /* Menu close button on hoveer */
		background: #fff;
		color: #000;
	}

	/* MENU LIST STYLE */
	nav.mobile ul {
		list-style: none;
		margin:0;
		padding:0;
	}
	nav.mobile ul li {
		position:relative;
	}

	/* FIRST LEVEL */
	nav.mobile ul li a:not(.mm-btn) {
		position: relative;
		cursor: pointer; text-transform: uppercase; 
		display: flex; justify-content: flex-start; align-items: center; column-gap: 12px; min-height: 52px; 
		font-size: 15px;
		padding: 15px min(50px, 5vw);
		color: #fff;
		text-decoration: none;
		text-align: left;
	}
	nav.mobile ul li a i { transition: .25s ease all; }
	nav.mobile ul li a:not(.mm-btn):hover {
		color: #ff5e14; 
	}
	
nav.mobile > ul > li > a:not(.mm-btn):after { 
	position: absolute; content: ""; width: 70%; transform: scaleX(0); height: 2px; bottom: 0; left: 0; 
	background-color: #ff4402; transform-origin: bottom right; transition: transform 0.3s ease-out;
}

nav.mobile > ul > li > a:not(.mm-btn):hover:after { 
	transform: scaleX(1); transform-origin: bottom left;
}

	/* SECOND LEVEL */
	nav.mobile ul li li a {
		background: rgba(0, 0, 0, .1);
		position: relative;
		display: flex; justify-content: flex-start; align-items: center; column-gap: 12px; min-height: 52px; 

		text-decoration: none;
	}
	nav.mobile ul li li a:hover {}
	
nav.mobile ul li li a:after {
	position: absolute; content: ""; transform: scaleX(0); height: 2px; bottom: 0; 
	background-color: #ff4402; transition: transform 0.3s ease-out;
	width: 20% !important;
    left: 15px !important;
    transform-origin: bottom left !important;
}

nav.mobile ul li li a:hover:after {
	transform: scaleX(1); transform-origin: bottom left;
}

	/* THIRD LEVEL */
	nav.mobile ul li li li a {
		background: rgba(0, 0, 0, .2);
		position: relative;
		display: flex; justify-content: flex-start; align-items: center; column-gap: 12px; min-height: 52px; 
		text-decoration: none;
	}
	nav.mobile ul li li li a:hover {}

	nav.mobile ul li .click.open i {
		transform: rotate(180deg);
	}
	
	nav.mobile ul li.mm-btn-holder { display: flex; justify-content: center; align-items: center; }
	
	nav.mobile .mm-btn { width: unset; display: flex; height: 58px!important; margin: 16px auto!important; padding: 15px!important; }

	.nav-footer {
		color:#777; 
		position:relative; 
		text-align:center; 
		font-size:14px; 
		line-height:16px; 
		padding:15px 0;
	}
}