/* =========================================================================
   NS Support — Site Header (pixel-match to Figma redesign 7/22)
   Desktop 1440 / Mobile 375. Scoped under .nsh to avoid legacy header CSS.
   Loaded globally via styles/compound (functions.php), last in the cascade.
   ========================================================================= */

:root {
	--nsh-navy: #00406d;      /* Get Started / Menu pill */
	--nsh-navy-2: #003f73;    /* logo ink */
	--nsh-cyan: #00adee;      /* active pill + active underline */
	--nsh-toggle-bg: #f5f5f5; /* top switcher bar */
	--nsh-grey-text: #444444; /* inactive switcher text */
	--nsh-ink: #000000;       /* nav labels */
	--nsh-divider: #d9d9d9;
	--nsh-notch: 12px;        /* angled bottom-right button corner */
}

/* ---- reset within the header (beats reset.scss / legacy rules) ---- */
.nsh,
.nsh * {
	box-sizing: border-box;
}

.nsh {
	background: #fff;
	width: 100%;
	position: relative;
	z-index: 100;
	font-family: "Source Sans 3", "Source Sans Pro", "Public Sans", Arial, sans-serif;
}

.nsh-container {
	max-width: 1280px;
	margin: 0 auto;
	padding-inline: 20px;
	width: 100%;
}

.gb-container-inside:has(.breadcrumb) {
  width: 100%;
}
.gb-container-content:has(.breadcrumb) {
  max-width: 1280px;
  margin: 0 auto !important;
  padding: 0 20px;
}
.breadcrumb-wrapper {
  padding: 10px 0 10px 0px !important;
  border-bottom: 1px solid #DDD;

}
/* =========================================================================
   Top switcher bar
   ========================================================================= */
.nsh-toggle-bar {
	background: var(--nsh-toggle-bg);
}

.nsh-toggle-bar .nsh-container {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-block: 4px;
	min-height: 36px;
}

.nsh-switch {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsh-switch a,
.nsh-switch-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	border-radius: 5px;
	font-size: 13px;
	font-weight: 600;
	line-height: 24px;
	text-decoration: none;
	color: var(--nsh-grey-text);
	white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}

.nsh-switch a:hover,
.nsh-switch-link:hover {
	text-decoration: none;
	color: var(--nsh-navy);
}

/* the current-audience pill */
.nsh-switch .is-active,
.nsh-switch-link.is-active {
	background: var(--nsh-cyan);
	color: #fff;
}

.nsh-switch .is-active:hover,
.nsh-switch-link.is-active:hover {
	color: #fff;
}
body.video-active {
  top: 0 !important;
}
/* =========================================================================
   Main bar
   ========================================================================= */
.nsh-main .nsh-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 25px;
	min-height: 110px;
}

/* logo */
.nsh-logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	line-height: 0;
}

.nsh-logo img,
.nsh-logo .custom-logo {
	display: block;
	width: 160px;
	max-width: 160px;
	height: auto;
}

/* nav cluster (menu + CTA) on the right */
.nsh-nav-wrap {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	justify-content: flex-end;
}

/* primary menu */
.nsh-menu {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nsh-menu > li {
	position: relative;
	margin: 0;
}

.nsh-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 20px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: var(--nsh-ink);
	text-decoration: none;
	position: relative;
	white-space: nowrap;
}

.nsh-menu > li > a:hover {
	text-decoration: none;
	color: #00406D;
}

/* active underline (cyan) */
.nsh-menu > li.current-menu-item > a,
.nsh-menu > li.current-menu-parent > a,
.nsh-menu > li.current-menu-ancestor > a {
	font-weight: 600;
}

.nsh-menu > li.current-menu-item > a::after,
.nsh-menu > li.current-menu-parent > a::after,
.nsh-menu > li.current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 19px;
	right: 19px;
	bottom: 0;
	height: 4px;
	background: var(--nsh-cyan);
	border-radius: 0;
}

/* ---- neutralize legacy header decorations (style.css / ev-combined) ----
   Old rules are scoped under .site-header, which this header still carries.
   Kill the legacy arrow (a::after) and hover bridge (li::before) so only the
   new nsh chevron shows. Does NOT touch our chevron (.nsh-menu a::before). */
.nsh .menu-item-has-children > a::after,
.nsh .page_item_has_children > a::after {
	content: none !important;
	display: none !important;
}

/* restore active underline on parent items that have children */
.nsh-menu > li.menu-item-has-children.current-menu-item > a::after,
.nsh-menu > li.menu-item-has-children.current-menu-parent > a::after,
.nsh-menu > li.menu-item-has-children.current-menu-ancestor > a::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	left: 19px;
	right: 19px;
	bottom: 0;
	height: 4px;
	background: var(--nsh-cyan);
	border-radius: 0;
	transform: none !important;
}

.nsh-menu > li.menu-item-has-children.current-menu-item:hover > a::after,
.nsh-menu > li.menu-item-has-children.current-menu-parent:hover > a::after,
.nsh-menu > li.menu-item-has-children.current-menu-ancestor:hover > a::after {
	content: "" !important;
	display: block !important;
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: -10px;
	height: 4px;
	background: var(--nsh-cyan);
	border-radius: 0;
	transform: none !important;
}

.nsh .menu-item-has-children::before,
.nsh .menu-item-has-children:hover::before {
	content: none !important;
	display: none !important;
}

/* kill the legacy hover box (border/rounded/bg/padding) on parent items */
.nsh .menu-item-has-children:hover {
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	padding-bottom: 9px;
}

/* dropdown chevron on parent items */
.nsh-menu > li.menu-item-has-children > a::before {
	content: "";
	order: 2;
	width: 7px;
	height: 7px;
	margin-left: 1px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-5px);
	transition: transform .2s ease;
	margin-right: 4px;
}

.nsh-menu > li.menu-item-has-children:hover > a::before,
.nsh-menu > li.menu-item-has-children:focus-within > a::before {
	/* transform: rotate(-135deg) translateY(-2px); */
	transform: rotate(-135deg) translateY(2px) translateX(-3px);
}

/* =========================================================================
   Desktop dropdown card
   ========================================================================= */
.nsh-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 176px;
	margin: 6px 0 0;
	padding: 6px 0;
	list-style: none;
	background: var(--White, #fff);
	border-radius: 5px;
	border: 1px solid var(--Grey-Borders, #c2c2c2);
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
	z-index: 40;
}

.nsh-menu > li.menu-item-has-children:hover > .sub-menu,
.nsh-menu > li.menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.nsh-menu .sub-menu li {
	margin: 0;
}

.nsh-menu .sub-menu a {
	display: block;
	padding: 10px 20px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: var(--nsh-ink);
	text-decoration: none;
	white-space: nowrap;
}

.nsh-menu .sub-menu a:hover {
	background: var(--nsh-toggle-bg);
	text-decoration: none;
}

/* =========================================================================
   Get Started CTA (angled bottom-right notch)
   ========================================================================= */
.nsh-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin-left: 10px;
	padding: 8px 40px;
	font-family: inherit;
	font-size: 18px;
	line-height: 24px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	background: #00406D;
	border: 1px solid transparent;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0 10px;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.nsh-cta:hover {
	background: #fff;
	color: #00406D;
	border-color: #00406D;
	text-decoration: none;
}

/* =========================================================================
   Mobile menu-toggle (Menu pill) — hidden on desktop
   ========================================================================= */
.nsh .mobile-navigation {
	display: none;
}

.nsh .mobile-navigation .menu-toggle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 6px 18px !important;
	background: var(--Navy, #00406D);
	color: #fff;
	border: 0;
	cursor: pointer;
	font-size: 18px !important;
	font-weight: 600;
	line-height: 24px !important;
	border-radius: 0 10px !important;
}

.nsh .mobile-navigation .menu-toggle span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

/* show only the correct state span (self-contained; not reliant on legacy rules) */
.nsh .mobile-navigation .menu-toggle .mt-close {
	display: none;
}

.nsh .mobile-navigation.toggle-active .menu-toggle .mt-open {
	display: none;
}

.nsh .mobile-navigation.toggle-active .menu-toggle .mt-close {
	display: inline-flex;
}

.nsh .mobile-navigation .menu-toggle .mt-label {
	display: inline-flex;
	align-items: center;
	font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 18px;
	line-height: 24px;
	    transform: translateY(1px) translateX(1px);
}

.nsh .mobile-navigation .menu-toggle .mt-icon {
	display: block;
	flex: 0 0 auto;
	height: 12px;
}

/* tighten nav item padding on narrow desktop so the menu doesn't overlap the logo */
@media (min-width: 1025px) and (max-width: 1150px) {
	.nsh-menu > li > a {
		padding: 10px 0.6rem;
	}
}

/* =========================================================================
   Responsive — tablet / mobile (<= 1024px)
   ========================================================================= */
@media (max-width: 1024px) {
	.nsh-container {
		padding-inline: 20px;
	}

	/* stacked switcher, full width, centered */
	.nsh-toggle-bar .nsh-container {
		justify-content: center;
		padding-block: 4px;
	}

	.nsh-switch {
		flex-direction: column;
		gap: 0;
		width: 100%;
	}

	.nsh-switch li,
	.nsh-switch a,
	.nsh-switch-link {
		width: 100%;
	}

	.nsh-switch a,
	.nsh-switch-link {
		font-size: 12px;
	}

	/* main bar: logo left, Menu pill right */
	.nsh-main .nsh-container {
		padding-block: 12px;
		min-height: 74px;
		gap: 0;
	}

	.nsh-logo img,
	.nsh-logo .custom-logo {
		width: 134px;
		max-width: 134px;
	}

	/* hide desktop nav + CTA, show Menu toggle */
	.nsh-nav-wrap {
		flex: 0 0 auto;
	}

	.nsh-menu,
	.nsh-nav-wrap > .nsh-cta {
		display: none;
	}

	.nsh .mobile-navigation {
		display: inline-flex;
		margin-left: auto;
		/* neutralize legacy full-width blue wrapper (navigation.scss) — the
		   .menu-toggle button is the navy pill, the wrapper stays transparent */
		width: auto !important;
		padding: 0 !important;
		background: transparent !important;
		text-align: left;
	}
}

/* =========================================================================
   Mobile drawer (reuses .drawer / #drawer-navigation markup + theme JS)
   ========================================================================= */
@media (max-width: 1024px) {
	.drawer-wrap {
		position: absolute;
		width: 100%;
		top: 125px;
		left: 0;
		height: auto;
	}
}

@media (max-width: 1024px) {
	.nsh + .drawer-wrap .drawer,
	.drawer-wrap .drawer.drawer-menu-explore {
		background: #fff;
		padding: 0;
		font-size: 16px;
		height: auto;
	}

	#drawer-navigation .menu,
	#drawer-navigation ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#drawer-navigation .menu > li {
		border-bottom: 1px solid var(--nsh-divider);
		margin: 0;
		position: relative;
	}

	#drawer-navigation .menu > li > a {
		display: block;
		padding: 16px 20px 15px;
		font-size: 16px;
		line-height: 24px;
		color: var(--nsh-ink);
		text-decoration: none;
	}

	/* accordion toggle button (appended by theme JS) */
	#drawer-navigation .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	#drawer-navigation .menu-item-has-children > a {
		flex: 1 1 auto;
		order: 0;
	}

	/* override legacy .toggle-sub (grey box / PNG arrow) — show only the SVG chevron */
	#drawer-navigation .toggle-sub {
		order: 1;
		position: static;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: auto;
		height: auto;
		background: none;
		background-image: none;
		border: 0;
		padding: 16px 20px;
		cursor: pointer;
		color: var(--nsh-ink);
		line-height: 1;
	}

	#drawer-navigation .toggle-sub:focus:not(:focus-visible) {
		outline: none;
	}

	#drawer-navigation .toggle-sub-icon {
		display: block;
		transition: transform .2s ease;
	}

	/* cancel the legacy button rotation; rotate only the icon on open */
	#drawer-navigation .menu-item-has-children.drop-open > .toggle-sub {
		transform: none;
	}

	#drawer-navigation .menu-item-has-children.drop-open > .toggle-sub .toggle-sub-icon {
		transform: rotate(180deg);
	}

	/* nested children — indented, light grey */
	#drawer-navigation .sub-menu {
		order: 2;
		flex: 1 1 100%;
		width: 100%;
		display: none;
		background: #f2f2f2;
	}

	#drawer-navigation .sub-menu.drop-active {
		display: block;
	}

	#drawer-navigation .sub-menu li {
		border-top: 1px solid var(--nsh-divider);
	}

	#drawer-navigation .sub-menu a {
		display: block;
		padding: 16px 20px 16px 40px;
		font-size: 16px;
		line-height: 24px;
		color: var(--nsh-ink);
		text-decoration: none;
	}

	/* Get Started inside the drawer */
	.nsh-drawer-cta {
		display: block;
		width: calc(100% - 40px);
		margin: 10px 20px;
		padding: 7px 40px;
		text-align: center;
		font-family: inherit;
		font-size: 16px;
		font-weight: 600;
		color: #fff;
		text-decoration: none;
		background: var(--Navy, #00406D);
		border: 0;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
		border-radius: 0 10px;
		z-index: 55;
    height: 36.4px;
	}


/***********/
/* .site-header .menu-item-has-children > a {
    cursor: pointer;
}

.drawer-navigation .menu-item,
.drawer-navigation .sub-menu,
.nsh-menu .menu-item,
.nsh-menu .sub-menu {
    -webkit-tap-highlight-color: transparent;
}

.drawer-navigation a,
.nsh-menu a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.12);
} */
.drawer-navigation,
.drawer-navigation *,
.nsh-menu,
.nsh-menu * {
    -webkit-tap-highlight-color: transparent;
}

.drawer-navigation .menu-item > a,
.nsh-menu .menu-item > a {
    display: block;
    transition: background-color 0.15s ease;
}

.drawer-navigation .menu-item > a:active,
.nsh-menu .menu-item > a:active {
    background-color: rgba(0, 64, 109, 0.12);
    transition: none;
}

}
/****************/
.nscb-card-gray__accent {
  color: inherit !important;
}


.nscb-card-gray__link .nscb-card-gray__link-text:has(+ .nscb-card-gray__link-icon--external-link),
.nscb-card-gray__link .nscb-card-gray__link-text:has(+ .nscb-card-gray__link-icon--arrow-right),
.nscb-card-gray__link .nscb-card-gray__link-icon--external-link + .nscb-card-gray__link-text,
.nscb-card-gray__link .nscb-card-gray__link-icon--arrow-right + .nscb-card-gray__link-text {
  text-decoration: none;
}

.nscb-card-gray__link:hover .nscb-card-gray__link-text:has(+ .nscb-card-gray__link-icon--external-link),
.nscb-card-gray__link:hover .nscb-card-gray__link-text:has(+ .nscb-card-gray__link-icon--arrow-right),
.nscb-card-gray__link:hover .nscb-card-gray__link-icon--external-link + .nscb-card-gray__link-text,
.nscb-card-gray__link:hover .nscb-card-gray__link-icon--arrow-right + .nscb-card-gray__link-text {
  text-decoration: underline;
}


.download-link .eplus-styles-uid-05311d {
  border: 0px solid #00adee !important;
  position: relative;
  text-decoration: underline;

	text-decoration-color: #002454 !important;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	transition: text-decoration-color 0.3s ease, text-decoration-thickness 0.3s ease, text-underline-offset 0.3s ease;

}

.download-link:hover .eplus-styles-uid-05311d {
  border: 0px solid #00adee !important;
  position: relative;
  text-decoration: underline;

	text-decoration-color: #00adee !important;
	text-underline-offset: 5px;
	text-decoration-thickness: 2px;
	transition: text-decoration-color 0.3s ease, text-decoration-thickness 0.3s ease, text-underline-offset 0.3s ease;

}



.download-link:hover .eplus-styles-uid-05311d {
  border-color:  #00adee !important;
}

.nsh-menu .sub-menu a:hover {
  background: none;
  color: #00406D;
}

 /***********/

 /* === Mobile drawer — accordion open/close ===============================
   Single source of truth for the drawer's motion. Replaces the earlier
   grid-template-rows approach, which fought with max-height for control of
   the same height and made the close transition unreliable.

   max-height needs a number larger than the menu's real height; 800px covers
   5 items + sub-menu + CTA with room to spare. Overshoot only affects the
   perceived easing, not the resting height.
   ======================================================================= */
@media (max-width: 1024px) {
	#drawer-navigation .menu-item-has-children.drop-open {
		background: #f2f2f2 !important;
	}
	/* ---- Put the drawer back in normal document flow ---- */

	/* Dissolve the nav wrapper so its children become direct flex items of
	   .nsh-container, letting the drawer take a full row of its own. */
	.nsh-main .nsh-nav-wrap {
		display: contents;
	}

	/* Empty on mobile (its <ul> is hidden) — take it out of the flex line. */
	.nsh-main .nsh-nav {
		display: none;
	}

	/* Keeps the two flex lines together instead of spreading the spare height
	   from min-height:74px between them. */
	.nsh-main .nsh-container {
		flex-wrap: wrap;
		row-gap: 0;
		align-content: center;
	}

	.nsh .drawer-wrap,
	.nsh-main .drawer-wrap {
		position: static;
		top: auto;
		left: auto;
		flex: 1 1 100%;
		order: 99;
		min-height: 0;

		/* Break out of the container's 20px inline padding so the panel stays
		   edge-to-edge, as it looked while absolutely positioned. */
		width: calc(100% + 40px);
		margin-inline: -20px;
		margin-bottom: -12px; /* cancels .nsh-container's bottom padding */
	}

	/* ---- The panel ---- */

	/* style.css keeps `.drawer { display: none }` and mobile.scss sets
	   `height: 100vh` below 768px — both have to be released here. */
	.drawer-wrap .drawer.drawer-menu-explore {
		display: block;
		height: auto;
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		transition:
			max-height .32s cubic-bezier(.4, 0, .2, 1),
			visibility 0s linear .32s;
	}

	.drawer-wrap .drawer.drawer-menu-explore.is-open {
		max-height: 800px;
		visibility: visible;
		transition:
			max-height .32s cubic-bezier(.4, 0, .2, 1),
			visibility 0s linear 0s;
	}

	/* ---- Sub-menus ---- */

	/* Keyed off .drop-active, which the theme JS already puts on the <ul>. */
	#drawer-navigation .sub-menu {
		display: block;
		max-height: 0;
		overflow: hidden;
		transition: max-height .28s cubic-bezier(.4, 0, .2, 1);
	}

	#drawer-navigation .sub-menu.drop-active {
		max-height: 400px;
	}

	#drawer-navigation .toggle-sub-icon {
		transition: transform .28s ease;
	}

	#drawer-navigation .menu-item-has-children.drop-open .toggle-sub-icon {
		transform: rotate(180deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.drawer-wrap .drawer.drawer-menu-explore,
	.drawer-wrap .drawer.drawer-menu-explore.is-open,
	#drawer-navigation .sub-menu,
	#drawer-navigation .toggle-sub-icon {
		transition: none;
	}
}
/* === End mobile drawer ================================================= */