/*------->>> TABLE OF CONTENTS <<<-------
	1. PRIMARY NAVIGATION
    2. MEGAMENU
	2. BREAD CRUMBS [Secondary navigation at top of interior pages]
	
/*------->>> COLOR PALETTE <<<-------
	#880000 rgb(0,128,148) - Primary Color [Logo Teal Blue]
	#0c232f rgb(12,35,47) - Secondary Color [Dark Slate Blue]
	#550000 rgb(23,61,82) - Tertiary Color [Medium Slate Blue]
	#62727b rgb(98,114,123) - Support Color [Slate Gray]
	#cee6ea rgb(206,230,234) - Support #2 Color [Light White Blue]
	#0d4751 rgb(13,71,81) - Support #3 Color [Dark Teal]
    #C93C38 rgb(201,60,56) - Support #4 [Orange]
	
/*------->>> FONT STACKS & TYPOGRAPHY <<<-------
	Font Family: 'Montserrat', sans-serif; [Primary Font | Google Fonts | 400 & 700]
	Font Family: 'Montserrat', sans-serif; [Secondary Font | Google Fonts | 400 & 700]
	Font Family: FontAwesome [Icon Font]
		SAMPLE CSS USAGE: fortawesome.github.io/Font-Awesome/cheatsheet/
		.myDiv {
			font-family:"FontAwesome";
			content:"\f111";
		}
		SAMPLE HTML USAGE: fortawesome.github.io/Font-Awesome/examples/
		<span class="fa-stack fa-lg">
			<i class="fa fa-square-o fa-stack-2x"></i>
			<i class="fa fa-twitter fa-stack-1x"></i>
		</span>
*/

/*------->>> 1. PRIMARY NAVIGATION <<<--------*/
.primary-nav {
	display:block;
    width:100vw;
	margin-left:auto;
    margin-right:auto;
	position:absolute;
    top:100%;
    left:0;
    right:0;
	z-index:1;
}
.flexnav,
.flexnav ul {
	list-style:none;
} 
.flexnav {
	width:100%;	
	max-height:0;
	overflow:hidden;
	position:absolute;
	top:100%;	
	margin:0 auto;
	padding:0;
    -webkit-box-shadow:0px 25px 50px 0px rgba(0,0,0,0.15);
    -moz-box-shadow:0px 25px 50px 0px rgba(0,0,0,0.15);
    box-shadow:0px 25px 50px 0px rgba(0,0,0,0.15);
	-webkit-transform-style:preserve-3d;
	transform-style:preserve-3d;
	-webkit-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all .5s cubic-bezier(0.77, 0, 0.175, 1);
}  
.flexnav.opacity {
	opacity:1;
}
.flexnav.flexnav-show {
	opacity:1;
	padding:0;	
	max-height:2000px;
	-webkit-transition:all 5s cubic-bezier(0.77, 0, 0.175, 1);
	-moz-transition:all 5s cubic-bezier(0.77, 0, 0.175, 1);
	-ms-transition:all 5s cubic-bezier(0.77, 0, 0.175, 1);
	transition:all 5s cubic-bezier(0.77, 0, 0.175, 1);
}
.flexnav.one-page {
	max-width:200px;
	position:fixed;
	top:50px;
	right:5%;
}
.flexnav li {
	overflow:hidden;
	position:relative;
	font-size:100%;
}
.flexnav > li:has(.flexnav-btn-link),
.flexnav > li:has(form) {
    background:#ffffff;
	border-top:1px solid #eee;
}
.flexnav > li:has(.flexnav-btn-link) {
    padding:0.563rem 1.25rem 0.25rem;
}
.flexnav > li:has(form) {
	padding:1rem 1.25rem;
}
.flexnav li::before {
    display:none; /* Reset from base styles */
}
.flexnav li a {
	background:#ffffff;
	display:block;
	position:relative;
	overflow:hidden;
	padding:1.188rem 1.25rem;
	margin:0;
	font-size:0.875rem;
	font-weight:400;
	/*color:#550000;*/
	color:#434343;
	text-align:left;
	line-height:1.2;
	border-top:1px solid #eee;
	z-index:2;
}
.flexnav > li > a {
    font-size:1rem;
    font-weight:600;
}
.flexnav > li a.flexnav-btn-link {
    background:#880000;
	display:inline-block;
    padding:0.625rem 1.25rem;
	font-weight:700;
	color:#fff;
	text-align:center;
	text-decoration:none;
	text-transform:uppercase;
	line-height:1.1;
    border-top:0;
	border-radius:10px;
}
.flexnav .navOnlyLink {
    cursor:default;
} 
/*- nested UL -*/
.flexnav li ul { 
	
	margin:0;
	width:100%;
	padding:0;
}
.flexnav li ul li {
	position:relative;
	overflow:hidden;
    padding:0;
	font-size:100%;
    float:none;
}
.flexnav li ul.flexnav-show li {
	overflow:visible;
}
.flexnav li ul li a {
	padding-left:2.5rem;
    border-style:dotted;
}
/*- Third Level -*/
.flexnav li ul li ul li a {
	padding-left:3.5rem;
}
/*- Fourth Level
.flexnav li ul li ul li ul a {
	padding-left:4.5rem;
} -*/
/*- drop down arrows -*/
.flexnav .touch-button {
	display:inline-block;
	width:50px; /* width of menu button */
	height:64px; /* height of li */
	position:absolute;
	top:0;
	right:0;
	background:transparent;
	z-index:999;
}
.flexnav .touch-button .touch-button-svg {
	fill:#550000;
	width:25px;
	height:25px;
	position:absolute;
    inset:0;
    margin:auto;
	-webkit-transition:all 0.2s ease-in-out;
	transition:all 0.2s ease-in-out;
}
.flexnav .touch-button.active .touch-button-svg {
	transform:rotate(180deg);
}
.flexnav .touch-button:hover {
	cursor:pointer;
}
.flexnav .touch-button .navicon {
	display:none;
}
/*- menu button -*/
.menu-button {
	display:block;
    width:57px;
    height:45px;
    position:relative;
    font-size:1rem;
    color:#550000;
    line-height: 1;
    cursor:pointer;
    z-index: 10000;
}
.menu-button.one-page {
	position:fixed;
	top:0;
	right:5%;
	padding-right:45px;
}
.menu-button .touch-button {
    height:100%;
    width:36px;
    position:absolute;
    right:0;
    top:0;
}
.menu-button .touch-button .navicon {
	background-color:#550000;
    width:100%;
    height:3px;
    position:absolute;
    inset:0;
    margin:auto;
    transition:background 0.2s;
    border-radius:5px;
}
.menu-button .touch-button .navicon::before,
.menu-button .touch-button .navicon::after {
	background-color:#550000;
	content:"";
	display:block;
	width:calc(100% + 6px);
	height:3px;
	position:absolute;
	left:auto;
    right:0;
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:.3, 0s;
	border-radius:5px;
}
.menu-button .touch-button .navicon::before {
	top:-10px;
	-webkit-transition-property:top, -webkit-transform;
	transition-property:top, transform;
}
.menu-button .touch-button .navicon::after {
    bottom:-10px;
	-webkit-transition-property:bottom, -webkit-transform;
	transition-property:bottom, transform;
}
.menu-button .touch-button.active .navicon {
	background:transparent;
}
.menu-button .touch-button.active .navicon::before,
.menu-button .touch-button.active .navicon::after {
	-webkit-transition-duration:.3s, .3s;
	transition-duration:.3s, .3s;
	-webkit-transition-delay:.3s, 0s;
	transition-delay:0s, 0.3s;
}
.menu-button .touch-button.active .navicon::before {
	top:0;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
.menu-button .touch-button.active .navicon::after {
	bottom:0;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
@media all and (min-width:1024px) {
	.primary-nav {
        width:100%;
        margin-left:0;
        margin-right:0;
        position:static;
        top:initial;
        left:initial;
        right:initial;
	}
	.flexnav {
		position:relative;
		top:auto;
		max-width:none;
		height:100%;
		max-height:100%;
		margin:0 auto 0 auto !important;
		overflow:visible;
		background:transparent;
		display:-webkit-box;
		display:-moz-box;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-moz-box-pack:justify;
		-ms-flex-pack:justify;
		-webkit-justify-content:space-around;
		justify-content:space-around;
		-ms-flex-line-pack:center;
		-webkit-align-content:center;
		align-content:center;
		box-shadow:none;
		border-radius:0;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
		transition:all 0.3s ease;
	}
	body.one-page {
		padding-top:70px;
	}
	.flexnav.opacity {
		opacity:1;
	}
	.flexnav.one-page {
		max-width:1080px;
		top:0;
		right:auto;
	}
	.flexnav li {
		display:block;
		position:relative;
		list-style:none;
		float:left;
		overflow:visible;
		flex-grow:1;
		height:100%;
	}
	.flexnav > li > a {
		padding:0.5rem 0 1.5rem;
		display:-webkit-flex;
		display:flex;
		-webkit-align-items:center;
		align-items:center;
		-webkit-justify-content:center;
		justify-content:center;
		background:transparent;
        font-size:1.125rem;
        text-transform:uppercase;
		/*text-align:center;*/
		-webkit-transition:all 0.3s ease;
		transition:all 0.3s ease;
		border:0 !important;
	}
    .flexnav > li > a:hover,
    .flexnav > li:has(.flexnav-show) > a {
        background: linear-gradient(180deg, #FFF 0%, #EEE 100%);
    }
    .flexnav li a:hover,
	.flexnav li a:active,
    .flexnav > li:has(.flexnav-show) > a {
		/*color:#880000;*/
	
	}
	.flexnav li a:is(:active, :focus, :focus-visible) {
		text-decoration:none;
	}
	.flexnav li a:is(:focus, :focus-visible) {
		outline:0;
		border:0;
	}
	/*- nested UL -*/
	.flexnav li ul {
		display:none;
        -webkit-box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
        -moz-box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
        box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
	}
	.flexnav li > ul {
		width:210px;
		position:absolute;
		top:100%;
		right:-100%;
		left:-100%;
		margin:0 auto;
		/*background:#fff;*/
		background: #434343; /*changed*/
		padding:0.75rem;
	}
    .flexnav > li:nth-of-type(3) > ul {
        width:290px;
    }
	.flexnav > li:nth-of-type(5) > ul {
        width:240px;
    }
    .flexnav li ul li {
        overflow:visible; /* show dropshadow for ::focus-visible */
    }
	.flexnav li > ul li {
		width:100%;
		height:auto;
	}
	.flexnav li > ul li a {
		padding:0.313rem 0.625rem !important;
		color: #FFFFFF;
		background:transparent;
        font-size:1rem;
		
		/*text-align:center;*/
        border-top:0;
	}

	/*- Third Level -*/
	.flexnav li > ul li ul {
		top:-0.5rem; /* adjust for padding on ul */
		right:auto;
		left:100%;
	}
	/*- drop down arrows -*/
	.flexnav .touch-button {
		display:none;
	}
	.touch .flexnav .touch-button {
		display:block; 
	}
	.flexnav .touch-button {
		width:25px;
		height:14px;
		margin:0 auto;
		top:auto;
		left:0;
		right:0;
		bottom:0.188rem;
	}
	.item-with-ul .item-with-ul .touch-button { /* Second Level Touch Button */
		margin:0;
		top:50%;
		left:auto;
		right:0;
		bottom:auto;
		top:50%;
		-webkit-transform:translateY(-50%);
		transform:translateY(-50%);
	}
	.item-with-ul .item-with-ul .touch-button .touch-button-svg {
		transform:rotate(-90deg);
	}
	.item-with-ul .item-with-ul .touch-button.active .touch-button-svg {
		transform:rotate(90deg);
	}
	/*- menu button -*/
	.menu-button {
		display:none;
	}
}
/*------->>> 2. MEGAMENU <<<-------*/
.megamenu {
}
.megamenu__row {
}
.megamenu__columns {
}
@media all and (min-width:64rem) {
    .flexnav li.has-megamenu {
        /*position:static;*/
    }
	.megamenu {
		background:#fff;
		position:absolute;
		top:100%;
		right:-225px;
		left:-225px;
		margin:0 auto;
        width:550px;
		max-height:0;
		overflow:hidden;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
        -webkit-box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
        -moz-box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
        box-shadow:0px 7px 18px 0px rgba(0,0,0,0.25);
		z-index:2;
	}
	.megamenu.flexnav-show {
		overflow:visible;
		max-height:20000px;
	}
	.megamenu__row,
    .megamenu__row > .megamenu__columns,
    .megamenu__row.collapse > .megamenu__columns {
        padding-right:0.75rem;
        padding-left:0.75rem;
	}
	.megamenu__row > .megamenu__columns,
	.megamenu__row.collapse > .megamenu__columns {
		position:relative;
	}
    .megamenu__row .megamenu__columns > ul,
    .megamenu__row .megamenu__columns ul > li > ul {
		box-shadow:none;
    }
	.megamenu.flexnav-show .megamenu__row .megamenu__columns > ul {
		display:block;
	}
	.megamenu__row .megamenu__columns ul > li > ul {
		display:flex;
        flex-direction:row;
        flex-wrap:wrap;
		width:100%;
		position:relative;
		top:auto;
		right:auto;
		left:auto;
		background:transparent;
        padding:0;
        margin:0 0 1.5rem;
	}
    .megamenu__row .megamenu__columns ul > li > ul > li {
        flex:0 0 100%;
    }    
    .megamenu__row .megamenu__columns--for-spaces ul > li > ul > li {
        flex: 0 0 50%;
    }
	.megamenu li > ul li {
		padding:0 !important;
	}
	.megamenu__row .megamenu__columns ul li a {
		padding:0.25rem 0 !important;
	}
    .megamenu__row .megamenu__columns ul li a.megamenu__link {
        border-top:0;
    }
	.megamenu__row .megamenu__columns ul li a.megamenu__link.megamenu__link--top-level {
        padding-top:0.938rem !important;
        padding-bottom:0.5rem !important;
    }
	.megamenu ul li a.megamenu__link--top-level {
		font-weight:600;
        border-bottom:1px solid #eeeeee;
        font-size:1rem;
        margin-top:1rem;
        margin-bottom:0.5rem;
	}
    li:has(> a.lg\:megamenu__link--top-level-xtra-space-bottom) {
        margin-bottom:2rem;
    }
}
/*------->>> 3. BREAD CRUMBS <<<-------*/
.primaryContent .bread-crumbs {
	margin:0.5rem 0 2.5rem;
	font-family:'Montserrat', sans-serif;
	font-weight:400;
	font-size:0.75rem;
	color:#0c232f;
}
.primaryContent .bread-crumbs a {
	font-family:'Montserrat', sans-serif;
	font-weight:400 !important;
	color:#0c232f;
	text-transform:uppercase;
}
.primaryContent .bread-crumbs a:last-child {
	font-weight:700 !important;
}
.primaryContent .bread-crumbs a:hover {
	color:#880000;
	text-decoration:underline;
}
.primaryContent .bread-crumbs span {
	display:inline-block;
	margin:0 0.188rem;
}
.primaryContent .subNav div div p {
	margin-top:0rem;
}

.primaryContent .subNav div div h5 {
	margin:0rem;
	font-family:'Montserrat', sans-serif;
	font-weight:700 !important;
	text-transform: capitalize;
	color:#0c232f;
	display: inline-block !important;
	font-size:0.75rem !important;
}
.primaryContent .subNav div.show-for-large.textCenter.small-12.columns {
	margin-bottom: 0.50rem !important;
}
.primaryContent .subNav a {
	color:#880000;
	font-family:'Montserrat', sans-serif;
	text-transform:uppercase;
	font-weight:700 !important;
	font-size:0.75rem !important;
}
.primaryContent .subNav a.more {
	font-weight:400 !important;
}

.primaryContent .subNav a.current {
	border-bottom: 4px solid #880000 !important;
	padding-bottom: 0.20rem !important;
}
