/* custom_nav_main_partial.html - global */
.navigation {
	--surface-mobile-nav: #333f48;
	--surface-highlight: #333f48;
	--text: var(--white);
	--text-alt: var(--white);
}

.nav-container {
	display: flex;
	justify-content: flex-end;
	height: 100%;
}

.navigation a {
	display: flex;
	align-items: center;
	font-family: var(--font-body);
	font-size: 18px;
	font-weight: 700;
	color: var(--white);
	width: fit-content;
	max-width: 460px;
	text-decoration: none;
	white-space: normal;
	padding: 7px 0;
}

.navigation .nav-item.level-1 > .nav-item-control > a {
	font-family: var(--font-display);
}

.navigation a:hover {
	background-color: unset;
	color: var(--white);
}

.navigation a:focus {
	text-decoration: none;
	outline: none;
}

.navigation .nav-item .nav-item-control {
	display: flex;
	justify-content: flex-start;
	color: var(--text-alt);
}

.navigation .nav-item .dropdown-toggle {
	margin: 0;
	padding: 5px 10px;
	color: var(--light-teal);
	background-color: transparent;
	font-size: 15px;
}

.navigation .nav-item .dropdown-toggle:focus {
	outline: 1px dashed rgba(255,255,255,0.4);
	outline-offset: -1px;
}

.navigation .nav-item.open > .nav-item-control i.open, 
.navigation .nav-item > .nav-item-control i.close {
	display: block;
}

.navigation .nav-item.open > .nav-item-control i.close, 
.navigation .nav-item > .nav-item-control i.open {
	display: none;
}



/*-------*/
/*MOBILE*/
/*-----*/

/*General Styles*/
.navigation.primary.mobile {
	padding: 4px 0;
}
.navigation.secondary.mobile {
	padding: 9px 0;
	border-top: 1px solid rgba(57, 76, 98, 0.75);
}

.navigation.footer.mobile {
	padding: 7px 0;
}

.navigation.mobile .nav-item .dropdown-menu { 
	background-color: var(--dark-navy);
	padding: 7px 0;
}
.navigation.mobile .nav-item .dropdown-menu.level-2 { background-color: var(--nav-lvl-2); }
.navigation.mobile .nav-item .dropdown-menu.level-3 {
	background-color: var(--dark-blue);
	padding-left: var(--space-20);
}

.navigation.mobile .nav-item.level-2 > .nav-item-control > a {
	padding-left: 40px;
}

.navigation.mobile .nav-item.level-3 > .nav-item-control > a {
	padding-left: 60px;
}

/*PRIMARY*/
.navigation.primary.mobile .nav-item.level-1 > .nav-item-control > a {
	font-size: 32px;
	line-height: 40px;
	padding: 8px 2px 8px 20px;
}

.navigation.primary.mobile .nav-item.level-1 > .nav-item-control > .dropdown-toggle {
	font-size: 19px;
    margin-left: 6px;
}

/*SECONDARY*/
.navigation.secondary.mobile .level-1.nav-item > .nav-item-control > a {
	padding: 10px 4px 10px 20px;
}

.navigation.secondary.mobile .nav-item.level-1 > .nav-item-control > .dropdown-toggle {
	font-size: 18px;
    margin-left: 7px;
	padding-bottom: 7px;
}

.navigation.footer.mobile a {
	padding: 7.5px 0 7.5px 20px;
}

/* custom_nav_main_partial.html - desktop */
.navigation.desktop {
	display: none;
}

@media (min-width: 64em) {
	.navigation.desktop {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		height: 100%;
	}

	.navigation.desktop a {
		padding: 7.5px 10px;
		margin-bottom: unset;
		font-size: calc(18px + (15 - 18) * ((100vw - 1025px) / (1440 - 1025)));
	}

	.navigation.desktop .nav-item .dropdown-toggle {
		font-size: 14px;
		padding: 5px;
    	margin: 0 0 0 6px;
	}

	.navigation.desktop .nav-item.level-3 > .nav-item-control > a { padding-left: 30px; }
	.navigation.desktop .nav-item.level-4 > .nav-item-control > a { padding-left: 51px; }

	.navigation.desktop .nav-item.level-3 > .dropdown-menu,
	.navigation.desktop .nav-item.level-2 > .dropdown-menu {
		position: relative;
		padding: 0;
	}
	
	.navigation.primary.desktop > .nav-item.level-1 > .nav-item-control > a {
		font-size: calc(30px + (54 - 30) * ((100vw - 1025px) / (1440 - 1025)));
		padding: 12.5px 10px;
		line-height: 1em;
	}

	.navigation.primary.desktop .level-1.nav-item > .nav-item-control > .dropdown-toggle {
		font-size: calc(22px + (27 - 22) * ((100vw - 1025px) / (1440 - 1025)));
		padding: 7px 0 0 0;
		margin: 0 0 0 5px;
	}
	
	.navigation.secondary.desktop > .nav-item.level-1 > .nav-item-control > a {
		font-size: calc(20px + (24 - 20) * ((100vw - 1025px) / (1440 - 1025)));
		padding: 7px 10px;
	}
	
	.navigation.footer a {
		padding-top: var(--space-1);
		padding-bottom: var(--space-1);
	}

	.navigation.secondary.desktop .level-1.nav-item > .nav-item-control > .dropdown-toggle {
		font-size: 20px;
		font-weight: 400;
		color: var(--light-teal);
		padding: var(--space-1) var(--space-2);
		margin: 0 0 0 2px;
	}

	.navigation.desktop .dropdown-menu {
		opacity: 0;
		pointer-events: none;
		transition: opacity 100ms cubic-bezier(0,0,0.3,1);
		z-index: 30;
		padding-top: var(--space-5);
		padding-bottom: var(--space-5);
	}
	
	.navigation.desktop .dropdown-menu.open {
		display: block !important;
	}

	.navigation.desktop .level-1.nav-item > .nav-item-control {
		align-items: center;
		height: 100%;
		color: var(--text);
	}

	.navigation.desktop .nav-item .dropdown-menu .nav-item.level-2.open > .nav-item-control > a {
		color: var(--mint);
	}

	.navigation.desktop .nav-item .dropdown-menu.dropdown-menu.level-3 > .nav-item-control > a {
		padding: 7px 10px;
	}

	.navigation.desktop .level-2.nav-item > .nav-item-control > .dropdown-toggle {
		font-family: var(--font-body);
		font-size: 14px;
		padding: unset;
		margin: 0;
	}
}

@media (min-width: 1440px) {
	.navigation.desktop a {
		font-size: 18px;
	}
	.navigation.primary.desktop > .nav-item.level-1 > .nav-item-control > a {
		font-size: 54px;
	}

	.navigation.secondary.desktop > .nav-item.level-1 > .nav-item-control > a {
		font-size: 24px;
	}
}