:root {
	--vo-nav-green: #064b39;
	--vo-nav-dark: #03382b;
	--vo-nav-lime: #4d9f32;
	--vo-nav-wash: #eff6f4;
	--vo-nav-line: #cfe0d8;
	--vo-nav-muted: #4e6860;
}

#site-header {
	border-bottom: 1px solid var(--vo-nav-line);
	box-shadow: 0 .8rem 2.8rem rgba(3, 56, 43, .055);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.menu-modal { z-index: 1100; }

.admin-bar #site-header { top: 32px; }

#site-header .header-inner.section-inner {
	max-width: 140rem;
	min-height: 8rem;
	padding: 1.5rem 0;
	width: calc(100% - 4rem);
}

#site-header .header-titles-wrapper { margin-right: clamp(2rem, 4vw, 5rem); }
#site-header .header-titles { margin: 0; }
#site-header .header-titles .site-logo { margin: 0; }
#site-header .site-description { display: none !important; }
#site-header .site-logo img {
	height: auto;
	max-height: 5.2rem;
	max-width: min(34rem, 32vw);
	width: auto;
}

#site-header ul.primary-menu {
	align-items: center;
	flex-wrap: nowrap;
	font-size: 1.5rem;
	font-weight: 750;
	gap: .35rem;
	letter-spacing: -.015em;
	margin: 0;
}

#site-header .primary-menu > li { margin: 0; }
#site-header .primary-menu a {
	border-radius: .8rem;
	color: var(--vo-nav-green) !important;
	line-height: 1.2;
	padding: 1.15rem 1.15rem;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease, transform .16s ease;
	white-space: nowrap;
}

#site-header .primary-menu a:hover,
#site-header .primary-menu a:focus-visible {
	background: var(--vo-nav-wash);
	color: var(--vo-nav-dark) !important;
	text-decoration: none;
}

#site-header .primary-menu a:focus-visible,
#site-header .nav-toggle:focus-visible,
.menu-modal a:focus-visible,
.menu-modal .close-nav-toggle:focus-visible {
	box-shadow: 0 0 0 .3rem rgba(77, 159, 50, .22);
	outline: .2rem solid var(--vo-nav-green);
	outline-offset: .2rem;
}

#site-header .primary-menu li.current-menu-item > a,
#site-header .primary-menu li.current_page_ancestor > a {
	background: var(--vo-nav-green);
	color: #fff !important;
	text-decoration: none;
}

#site-header .primary-menu .menu-item-926 > a {
	background: var(--vo-nav-wash);
	box-shadow: inset 0 0 0 1px var(--vo-nav-line);
}

#site-header .primary-menu .menu-item-926.current-menu-item > a {
	background: var(--vo-nav-green);
	box-shadow: none;
	color: #fff !important;
}

@media (min-width: 1000px) and (max-width: 1199px) {
	#site-header .header-inner.section-inner { width: calc(100% - 3rem); }
	#site-header .header-titles-wrapper { margin-right: 1.8rem; }
	#site-header .site-logo img { max-width: 25rem; }
	#site-header ul.primary-menu { font-size: 1.35rem; gap: .1rem; }
	#site-header .primary-menu a { padding-left: .75rem; padding-right: .75rem; }
}

@media (max-width: 999px) {
	#site-header .header-inner.section-inner {
		min-height: 7.4rem;
		padding: 1.2rem 0;
		width: calc(100% - 3.2rem);
	}

	#site-header .header-titles-wrapper {
		margin: 0;
		max-width: none;
		padding: 0;
		width: 100%;
	}

	#site-header .site-logo img { max-height: 4.2rem; max-width: min(23rem, 62vw); }

	#site-header .nav-toggle {
		background: var(--vo-nav-wash);
		border: 1px solid var(--vo-nav-line);
		border-radius: 999px;
		bottom: auto;
		color: var(--vo-nav-green);
		height: 4.4rem;
		padding: 0 1.35rem;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: auto;
	}

	#site-header .nav-toggle .toggle-inner {
		align-items: center;
		display: flex;
		gap: .8rem;
		height: auto;
		padding: 0;
	}

	#site-header .nav-toggle .toggle-icon { order: 2; }
	#site-header .nav-toggle .toggle-text {
		color: inherit;
		font-size: 1.25rem;
		font-weight: 800;
		order: 1;
		position: static;
		text-decoration: none;
		width: auto;
	}

	.menu-modal { background: rgba(3, 56, 43, .5); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
	.menu-modal-inner { background: transparent; justify-content: flex-end; }
	.menu-modal .menu-wrapper.section-inner {
		background: #fff;
		box-shadow: -2rem 0 6rem rgba(3, 56, 43, .2);
		margin: 0 0 0 auto;
		max-width: 46rem;
		padding: 0 2rem 3rem;
		width: min(100%, 46rem);
	}

	.menu-modal button.close-nav-toggle {
		color: var(--vo-nav-green);
		font-size: 1.45rem;
		font-weight: 800;
		padding: 2.2rem .5rem;
	}

	.menu-modal .modal-menu { left: auto; width: 100%; }
	.menu-modal .modal-menu li { border-color: var(--vo-nav-line); }
	.menu-modal .modal-menu > li:last-child { border-bottom-color: var(--vo-nav-line); }
	.menu-modal .modal-menu a {
		color: var(--vo-nav-dark) !important;
		font-size: clamp(2rem, 6vw, 2.8rem);
		font-weight: 800;
		letter-spacing: -.03em;
		line-height: 1.15;
		padding: 2rem 1.2rem;
		text-decoration: none;
	}

	.menu-modal .modal-menu a:hover,
	.menu-modal .modal-menu a:focus-visible { background: var(--vo-nav-wash); text-decoration: none; }
	.menu-modal .modal-menu li.current-menu-item > .ancestor-wrapper > a,
	.menu-modal .modal-menu li.current_page_ancestor > .ancestor-wrapper > a {
		background: var(--vo-nav-green);
		color: #fff !important;
		text-decoration: none;
	}

	.menu-modal .modal-menu .menu-item-926:not(.current-menu-item) > .ancestor-wrapper > a { color: #287449 !important; }
}

@media (max-width: 782px) {
	.admin-bar #site-header { top: 46px; }
}

@media (max-width: 420px) {
	#site-header .site-logo img { max-width: 19rem; }
	#site-header .nav-toggle { padding: 0 1.1rem; }
}

@media (prefers-reduced-motion: reduce) {
	#site-header .primary-menu a { transition: none; }
}
