.scout-header,
.scout-header * {
	box-sizing: border-box;
}

.scout-header {
	position: relative;
	z-index: 9999;
	width: 100%;
}

.scout-header--sticky {
	position: sticky;
	top: 0;
}

.scout-header__announcement {
	padding: 9px 20px;
	background: #f2c500;
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
}

.scout-header__announcement a {
	color: #06172a;
	text-decoration: none;
}

.scout-header__main {
	min-height: 96px;
	display: flex;
	align-items: center;
	transition: background-color .25s ease, box-shadow .25s ease, color .25s ease;
}

.scout-header__inner {
	width: min(1380px, calc(100% - 48px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 36px;
}

.scout-header__logo {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.scout-header__logo img {
	display: block;
	width: 180px;
	height: auto;
}

.scout-header__logo-solid,
.scout-header__logo-mobile {
	display: none !important;
}

.scout-header__desktop-nav {
	justify-self: center;
}

.scout-header__menu,
.scout-header__menu ul,
.scout-header__mobile-nav,
.scout-header__mobile-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.scout-header__menu {
	display: flex;
	align-items: center;
	gap: 34px;
}

.scout-header__menu li {
	position: relative;
}

.scout-header__menu a {
	color: inherit;
	text-decoration: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}

.scout-header__menu .sub-menu {
	position: absolute;
	top: calc(100% + 18px);
	left: 0;
	min-width: 220px;
	padding: 14px 0;
	background: #fff;
	box-shadow: 0 8px 26px rgba(0,0,0,.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: .2s ease;
}

.scout-header__menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.scout-header__menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	color: #17202a;
}

.scout-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.scout-header__phone,
.scout-header__cta {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	text-decoration: none;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	white-space: nowrap;
}

.scout-header__phone {
	background: #f2c500;
	border: 1px solid #f2c500;
	color: #06172a;
}

.scout-header__cta {
	border: 1px solid currentColor;
	color: inherit;
	background: transparent;
}

.scout-header__toggle {
	display: none;
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	padding: 10px;
	cursor: pointer;
}

.scout-header__toggle span {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: currentColor;
}

.scout-header__mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	background: #fff;
	color: #17202a;
}

.scout-header__mobile-menu.is-open {
	display: block;
}

.scout-header__mobile-menu--drawer {
	left: auto;
	width: min(420px, 100%);
	box-shadow: -10px 0 30px rgba(0,0,0,.14);
}

.scout-header__mobile-menu--dropdown {
	position: absolute;
	top: 100%;
	bottom: auto;
	min-height: 0;
}

.scout-header__mobile-menu-inner {
	position: relative;
	height: 100%;
	overflow-y: auto;
	padding: 84px 28px 34px;
}

.scout-header__close {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 42px;
	height: 42px;
	border: 0;
	background: transparent;
	font-size: 34px;
	cursor: pointer;
}

.scout-header__mobile-nav > li {
	border-bottom: 1px solid #e5e5e5;
}

.scout-header__mobile-nav a {
	display: block;
	padding: 16px 0;
	color: #17202a;
	text-decoration: none;
	font-size: 20px;
	font-weight: 500;
}

.scout-header__mobile-nav .sub-menu {
	padding-left: 18px;
}

.scout-header__mobile-nav .sub-menu a {
	font-size: 16px;
	padding: 11px 0;
}

.scout-header__mobile-actions {
	display: grid;
	gap: 12px;
	margin-top: 28px;
}

.scout-header__mobile-actions .scout-header__phone,
.scout-header__mobile-actions .scout-header__cta {
	width: 100%;
}

/* Presets */
.scout-header--transparent .scout-header__main,
.scout-header--landing .scout-header__main {
	background: transparent;
	color: #fff;
}

.scout-header--transparent,
.scout-header--landing {
	position: absolute;
	top: 0;
	left: 0;
}

.scout-header--white .scout-header__main,
.scout-header--minimal .scout-header__main {
	background: #fff;
	color: #17202a;
}

.scout-header--white .scout-header__logo-transparent,
.scout-header--minimal .scout-header__logo-transparent,
.scout-header.is-scrolled .scout-header__logo-transparent {
	display: none !important;
}

.scout-header--white .scout-header__logo-solid,
.scout-header--minimal .scout-header__logo-solid,
.scout-header.is-scrolled .scout-header__logo-solid {
	display: block !important;
}

.scout-header--dark .scout-header__main {
	background: #06172a;
	color: #fff;
}

.scout-header--minimal .scout-header__phone {
	display: none;
}

.scout-header--minimal .scout-header__main {
	box-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.scout-header.is-scrolled .scout-header__main {
	background: #fff;
	color: #17202a;
	box-shadow: 0 3px 16px rgba(0,0,0,.09);
}

.scout-header--transition {
	transition: transform .25s ease;
}

body.scout-header-menu-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.scout-header__inner {
		width: calc(100% - 32px);
		grid-template-columns: auto 1fr auto;
	}

	.scout-header__desktop-nav,
	.scout-header__actions {
		display: none;
	}

	.scout-header__toggle {
		display: block;
		justify-self: end;
	}

	.scout-header__logo {
		justify-self: start;
	}

	.scout-header__logo img {
		width: 150px;
	}

	.scout-header__logo-mobile {
		display: none !important;
	}

	.scout-header__logo-mobile[src]:not([src=""]) {
		display: block !important;
	}

	.scout-header__logo-mobile[src]:not([src=""]) ~ .scout-header__logo-transparent,
	.scout-header__logo-mobile[src]:not([src=""]) ~ .scout-header__logo-solid {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.scout-header__main {
		min-height: 78px;
	}

	.scout-header__inner {
		gap: 18px;
	}

	.scout-header__logo img {
		width: 132px;
	}

	.scout-header__announcement {
		font-size: 10px;
	}
}

/* v1.1 mobile visibility and submenu improvements */
.scout-header__menu > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease;
}
.scout-header__menu > .menu-item-has-children:hover > a::after,
.scout-header__menu > .menu-item-has-children:focus-within > a::after {
	transform: translateY(2px) rotate(225deg);
}
.scout-header__menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

@media (max-width: 1024px) {
	/* Use only the dedicated mobile logo when one has been selected. */
	.scout-header--has-mobile-logo .scout-header__logo-transparent,
	.scout-header--has-mobile-logo .scout-header__logo-solid {
		display: none !important;
	}
	.scout-header--has-mobile-logo .scout-header__logo-mobile {
		display: block !important;
	}

	/* Keep the hamburger readable over transparent hero imagery. */
	.scout-header--transparent .scout-header__toggle,
	.scout-header--landing .scout-header__toggle,
	.scout-header--dark .scout-header__toggle {
		color: #fff !important;
	}
	.scout-header--white .scout-header__toggle,
	.scout-header--minimal .scout-header__toggle,
	.scout-header.is-scrolled .scout-header__toggle {
		color: #17202a !important;
	}
	.scout-header__toggle span {
		background-color: currentColor !important;
	}

	.scout-header__mobile-menu {
		opacity: 0;
		visibility: hidden;
		display: block;
		pointer-events: none;
		transition: opacity .2s ease, visibility .2s ease;
	}
	.scout-header__mobile-menu.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.scout-header__mobile-menu-inner {
		padding-top: 90px;
	}
	.scout-header__close {
		position: fixed;
		top: 18px;
		right: 20px;
		z-index: 10002;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #17202a !important;
		font-family: Arial, sans-serif;
		font-size: 42px;
		font-weight: 300;
		line-height: 1;
	}
	.scout-header__close:hover,
	.scout-header__close:focus {
		color: #f2c500 !important;
	}

	.scout-header__mobile-nav .menu-item-has-children {
		position: relative;
	}
	.scout-header__mobile-nav .menu-item-has-children > a {
		padding-right: 54px;
	}
	.scout-header__submenu-toggle {
		position: absolute;
		top: 7px;
		right: 0;
		width: 44px;
		height: 44px;
		border: 0;
		background: transparent;
		cursor: pointer;
	}
	.scout-header__submenu-toggle span::before,
	.scout-header__submenu-toggle span::after {
		content: "";
		position: absolute;
		left: 13px;
		top: 21px;
		width: 18px;
		height: 1px;
		background: #17202a;
		transition: transform .2s ease;
	}
	.scout-header__submenu-toggle span::after {
		transform: rotate(90deg);
	}
	.scout-header__mobile-nav .sub-menu {
		display: none;
		padding: 0 0 10px 20px;
	}
	.scout-header__mobile-nav .is-submenu-open > .sub-menu {
		display: block;
	}
	.scout-header__mobile-nav .is-submenu-open > .scout-header__submenu-toggle span::after {
		transform: rotate(0deg);
	}
	.scout-header__mobile-nav .sub-menu li {
		border-top: 1px solid #eeeeee;
	}
}


/* v1.1.1: force correct transparent/solid logo state and neutralize theme button styles */
@media (max-width: 1024px) {
	/*
	 * On mobile, follow the active header state rather than displaying a
	 * separate logo over the transparent logo. This prevents duplicate logos
	 * and ensures the white logo is used over hero imagery.
	 */
	header.scout-header a.scout-header__logo > img {
		position: static !important;
		margin: 0 !important;
		visibility: hidden !important;
		opacity: 0 !important;
		display: none !important;
	}

	header.scout-header.scout-header--transparent:not(.is-scrolled) a.scout-header__logo > img.scout-header__logo-transparent,
	header.scout-header.scout-header--landing:not(.is-scrolled) a.scout-header__logo > img.scout-header__logo-transparent,
	header.scout-header.scout-header--dark a.scout-header__logo > img.scout-header__logo-transparent {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	header.scout-header.scout-header--white a.scout-header__logo > img.scout-header__logo-solid,
	header.scout-header.scout-header--minimal a.scout-header__logo > img.scout-header__logo-solid,
	header.scout-header.is-scrolled a.scout-header__logo > img.scout-header__logo-solid {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* The dedicated mobile logo remains available in Elementor, but the
	   transparent and solid state logos control visibility on the live header. */
	header.scout-header a.scout-header__logo > img.scout-header__logo-mobile {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}

	/* Override global/theme button styling that was turning controls pink. */
	header.scout-header button.scout-header__toggle,
	header.scout-header button.scout-header__close,
	header.scout-header button.scout-header__submenu-toggle {
		-webkit-appearance: none !important;
		appearance: none !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		outline: none !important;
		padding: 0 !important;
		min-width: 0 !important;
		min-height: 0 !important;
	}

	header.scout-header button.scout-header__toggle {
		width: 46px !important;
		height: 46px !important;
		padding: 9px !important;
		color: #fff !important;
	}

	header.scout-header.scout-header--white button.scout-header__toggle,
	header.scout-header.scout-header--minimal button.scout-header__toggle,
	header.scout-header.is-scrolled button.scout-header__toggle {
		color: #17202a !important;
	}

	header.scout-header button.scout-header__toggle span {
		display: block !important;
		width: 100% !important;
		height: 2px !important;
		margin: 6px 0 !important;
		background: currentColor !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	header.scout-header button.scout-header__close {
		position: fixed !important;
		top: 18px !important;
		right: 20px !important;
		z-index: 10003 !important;
		display: flex !important;
		width: 48px !important;
		height: 48px !important;
		align-items: center !important;
		justify-content: center !important;
		color: #17202a !important;
		font-size: 0 !important;
		cursor: pointer !important;
	}

	header.scout-header button.scout-header__close::before,
	header.scout-header button.scout-header__close::after {
		content: "" !important;
		position: absolute !important;
		width: 30px !important;
		height: 1.5px !important;
		background: currentColor !important;
	}

	header.scout-header button.scout-header__close::before {
		transform: rotate(45deg) !important;
	}

	header.scout-header button.scout-header__close::after {
		transform: rotate(-45deg) !important;
	}

	header.scout-header button.scout-header__submenu-toggle {
		position: absolute !important;
		top: 7px !important;
		right: 0 !important;
		width: 48px !important;
		height: 48px !important;
		color: #17202a !important;
		cursor: pointer !important;
	}

	header.scout-header button.scout-header__submenu-toggle span::before,
	header.scout-header button.scout-header__submenu-toggle span::after {
		background: currentColor !important;
	}
}
