/**
 * Main nav: Bootstrap navbar + standard dropdowns (no mega panel CSS).
 *
 * @package applied-policy-4
 */

/* Do not use d-lg-block on .dropdown-menu — it forces display:block and menus stay open. Mobile uses accordion markup instead. */
@media ( max-width: 991.98px ) {

	.ap4-masthead__nav .ap4-main-nav__desktop-submenu {
		display: none !important;
	}
}

/* Top-level row: section links + split dropdown caret (see ap4_main_nav_dropdown_parent()). */
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item.ap4-main-nav__dropdown {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret {
	position: relative;
	color: var( --ap4-blue, #1779ba ) !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	transition: color 0.2s ease;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret {
	padding-left: 0.2rem;
	margin-left: -0.15rem;
	box-shadow: none !important;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link::before {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	bottom: calc( 0.35rem - 10px );
	background-color: var( --ap4-dark-blue, #263552 );
	opacity: 0;
	transform: scaleX( 0 );
	transform-origin: left center;
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: none;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:hover,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:focus-visible,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret:hover,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret:focus-visible {
	color: var( --ap4-dark-blue, #263552 ) !important;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:focus,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:focus-visible,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret:focus,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret:focus-visible {
	outline: 0 !important;
	box-shadow: none !important;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:hover::before,
.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link:focus-visible::before {
	opacity: 1;
	transform: scaleX( 1 );
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link.active {
	color: var( --ap4-dark-blue, #263552 ) !important;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link.active::before {
	opacity: 1;
	transform: scaleX( 1 );
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret.active {
	color: var( --ap4-dark-blue, #263552 ) !important;
}

.ap4-masthead__nav.ap4-masthead__nav .ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret.dropdown-toggle::after {
	border-top-color: currentcolor;
}

.ap4-logo-mark__img {
	display: block;
	width: auto;
	max-width: min(277px, 72vw);
	height: auto;
	max-height: 52px;
}

@media ( max-width: 991.98px ) {
	.ap4-main-nav__list > .nav-item > a.nav-link,
	.ap4-main-nav__list > .nav-item > button.nav-link {
		padding-left: 0;
		padding-right: 0;
	}

	.ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link,
	.ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret {
		white-space: normal;
	}
}

@media ( min-width: 992px ) {
	.ap4-main-nav .navbar-nav > .nav-item > a.nav-link.ap4-main-nav__section-link,
	.ap4-main-nav .navbar-nav > .nav-item > button.nav-link.ap4-main-nav__dropdown-caret {
		white-space: nowrap;
	}
}

/* Dropdown menus: light blue links, py-2 per row, dashed divider (not under last item), gold text on hover. */
.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li:not( :last-child ) {
	border-bottom: 1px dashed var( --ap4-light-blue, #cfe9f6 );
}

.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li .dropdown-item {
	padding-top: 0;
	padding-bottom: 0;
	color: var( --ap4-blue, #1779ba ) !important;
	background-color: transparent;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li .dropdown-item:hover,
.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li .dropdown-item:focus-visible {
	color: var( --ap4-gold, #c88b11 ) !important;
	background-color: transparent;
}

.ap4-masthead__nav .ap4-main-nav .dropdown-menu > li .dropdown-item.active {
	color: var( --ap4-dark-blue, #263552 ) !important;
}

/* Mobile: left drawer width; desktop: responsive offcanvas is static in-flow inside navbar. */
.ap4-main-nav-offcanvas.offcanvas-lg {
	--bs-offcanvas-width: min( 22rem, 92vw );
}

@media ( max-width: 991.98px ) {

	.ap4-main-nav-offcanvas .offcanvas-body {
		padding-bottom: 1.5rem;
	}

	.ap4-main-nav__dropdown {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	.ap4-main-nav__dropdown > a.nav-link.ap4-main-nav__section-link {
		flex: 1 1 auto;
		min-width: 0;
	}

	.ap4-main-nav__mobile-collapse {
		flex: 0 0 100%;
		border-color: rgba( 38, 53, 82, 0.2 ) !important;
	}

	.ap4-main-nav__mobile-sub-link {
		color: var( --ap4-blue, #1779ba ) !important;
		font-weight: 500;
	}

	.ap4-main-nav__mobile-sub-link:hover,
	.ap4-main-nav__mobile-sub-link:focus-visible {
		color: var( --ap4-dark-blue, #263552 ) !important;
	}

	.ap4-main-nav__dropdown-caret--mobile[aria-expanded="true"] .ap4-main-nav__mobile-chevron {
		transform: rotate( -180deg );
	}

	.ap4-main-nav__mobile-chevron {
		display: block;
		transition: transform 0.2s ease;
		font-size: 1.125rem;
		line-height: 1;
	}
}

@media ( min-width: 992px ) {

	.ap4-masthead__nav > .container > .ap4-main-nav-offcanvas.offcanvas-lg {
		display: flex !important;
		flex-grow: 1;
		flex-basis: auto;
		align-items: center;
	}

	.ap4-main-nav-offcanvas.offcanvas-lg .offcanvas-body {
		overflow: visible;
		flex: 1 1 auto;
		padding-block: 0;
		padding-inline: 0;
	}
}
