/**
* Header / main navigation
*/
:root {
	--head--border--color: var(--wp--preset--color--base);
	--head--color--background: transparent;
	--head--color--text: var(--wp--preset--color--base);
	--head--mobile--color: var(--wp--preset--color--base);
	--head--shadow: 0px 8px 24px 0px rgb(0 0 0 / 0%);
	--head--transition: 0.3s ease-in-out;
	--head--top--color--background: color-mix(in sRGB, var(--wp--preset--color--accent-1), transparent 20%);
	--menu--icon--color: var(--head--color--text);
}

:is(body, .is-root-container):has(.entry-content > :not(.wp-block-cover.alignfull, .wp-block-group.alignfull.has-background):first-child),
.wcs-part-head.is-pinned,
.wcs-part-head:has(.wcs-nav-main .is-menu-open)  {
	--head--border--color: transparent;
	--head--color--background: var(--wp--preset--color--base);
	--head--color--text: var(--wp--preset--color--contrast);
	--head--shadow: 0px 8px 24px 0px rgb(0 0 0 / 8%);
	--head--top--color--background: var(--wp--preset--color--accent-1);
}

.wcs-part-head {
	position: fixed;
	inset-block-start: var(--wp--custom--top--offset, 0);
	inset-inline-start: 0;
	block-size: var(--wp--custom--head--dimensions--height);
	inline-size: 100%;
	margin-block-start: 0;
	border-block-start: 8px solid var(--wp--preset--color--accent-1);
	box-shadow: var(--head--shadow);
	z-index: 100;
}

.wcs-part-head .wp-block-button .wp-block-button__link {
	white-space: nowrap;
}

/* Inner */
.wcs-part-head__inner {
	max-inline-size: none;
	padding-inline: 0 !important;
}

:is(.wcs-part-head__top, .wcs-part-head__bottom) {
	margin-block: 0 !important;
}

/* Top nav area */
.wcs-part-head__top {
	display: none;
	background-color: var(--wp--preset--color--accent-1);
	z-index: 2;
}

/* Search */
.wcs-part-head__top .search-modal .wp-block-eh-modal-trigger .wp-block-button__link {
	padding-block: var(--wp--preset--spacing--10);
	padding-inline: 10px;
	background-color: transparent;
}

.wcs-part-head__top .search-modal .wp-block-eh-modal-trigger .wp-block-button__link svg {
	--button--color--icon: var(--wp--preset--color--base);
}

/* Bottom nav area */
.wcs-part-head__bottom {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	padding-block: var(--wp--preset--spacing--20);
	background-color: var(--head--color--background);
	transition: background-color var(--head--transition);
	z-index: 1;
}

.wcs-part-head__bottom > *,
.wcs-part-head__bottom > * > * {
	margin: 0 !important;
}

/* Logo */
.wcs-part-head__logo,
.wcs-part-head__logo a {
	display: block;
	line-height: 0;
}

.wcs-part-head__logo :is(img, svg) {
	block-size: auto;
	max-inline-size: 100%;
}

/* Set logo and text colors */
.wcs-part-head .wcs-part-head__logo a:not(.block-editor-block-list__block),
.wcs-nav-main .wp-block-eh-mega-menu:not(.block-editor-block-list__block) :is(.wp-block-eh-mega-menu__link,.wp-block-eh-mega-menu__button, .wp-block-navigation__submenu-icon) {
	color: var(--head--color--text);
	transition: color var(--head--transition);
}

/* Main nav wrapper */
.wcs-part-head__nav {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	padding: var(--wp--preset--spacing--5) 0 var(--wp--preset--spacing--5) var(--wp--preset--spacing--10);
	background-color: var(--wp--preset--color--accent-1);
	border-radius: var(--wp--custom--border--radius--10);
	color: var(--wp--preset--color--base);
}

.wcs-part-head:has(.wcs-nav-main .is-menu-open) .wcs-part-head__nav {
	--head--mobile--color: var(--wp--preset--color--contrast);

	background-color: transparent;
}

/* Mobile nav */
.wcs-nav-mobile {
	gap: var(--wp--preset--spacing--10) !important;
	z-index: 2;
}

.wcs-nav-mobile > ul {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
}

.wcs-nav-mobile > ul > li {
	flex: 1;
}

/* Parents mega menu */
.wcs-part-head .parents-announcement :is(.wp-block-heading.has-xx-small-font-size, .wp-block-eh-kicker) {
	display: flex;
	gap: var(--wp--preset--spacing--10);
}

.wcs-part-head .parents-announcement :is(.wp-block-heading.has-xx-small-font-size, .wp-block-eh-kicker)::before {
	--decoration--color: var(--wp--preset--color--accent-4);
	--decoration--block-size: 4px;
	--decoration--inline-size: 0.75em;

	display: block;
	flex: 0 0 auto;
	block-size: var(--decoration--block-size);
	inline-size: var(--decoration--inline-size);
	margin-block-end: var(--wp--preset--spacing--20);
	clear: both;
	translate: 0 0.4375em;
	background-color: var(--decoration--color, inherit);
	content: '';
	transition: inline-size var(--wp--custom--transition--hover-slow);
	will-change: inline-size;
}

/* CTA button */
.wcs-part-head .parents-announcement .wp-block-button .wp-block-button__link {
	--button--border--color: var(--wp--preset--color--accent-4);
	--button--color--background: var(--wp--preset--color--accent-4);
	--button--color--background-hover: var(--wp--preset--color--accent-2);
	--button--color--text: var(--wp--preset--color--contrast);
	--button--color--text-hover: var(--wp--preset--color--base);

	justify-content: space-between;
	gap: 1rem;
}

.wcs-part-head .parents-announcement .wp-block-button .wp-block-button__link::after {
	display: block;
	block-size: 16px;
	inline-size: 16px;
	translate: 0 0;
	background-color: currentColor;
	border-radius: 50%;
	content: '';
	transition: all var(--wp--custom--transition--hover);
	mask: var(--wp--custom--icons--arrow-right) center center no-repeat;
	mask-size: contain;
}

.wcs-part-head .parents-announcement .wp-block-button .wp-block-button__link:is(:active, :hover)::after {
	translate: 8px 0;
}


/* Parents modal */
.wcs-nav-mobile .wp-block-eh-modal-trigger .wp-block-button .wp-block-button__link {
	--button--color--icon: var(--head--mobile--color);
	--button--color--text: var(--head--mobile--color);
	--button--color--text-hover: var(--head--mobile--color);
	--button--color--background-hover: var(--wp--prest--color--accent-2);
}

.wcs-nav-mobile .parents-modal .wp-block-eh-modal-trigger .wp-block-button .wp-block-button__link {
	--button--color--background: var(--wp--preset--color--accent-3);
	--button--color--background-hover: var(--wp--preset--color--accent-2);
	--button--color--text: var(--wp--preset--color--base);
	--button--color--text-hover: var(--wp--preset--color--base);

	padding: var(--wp--preset--spacing--10);
	border-radius: 100px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: uppercase;
}

.wcs-nav-mobile .parents-modal .wp-block-eh-modal__content {
	display: flex;
	flex-direction: column-reverse;
	gap: var(--wp--preset--spacing--10);
}

/* @media ( height < 720px) {
	.wcs-nav-mobile .parents-modal .wp-block-eh-modal__content {
		padding-block-end: var(--wp--preset--spacing--70);
	}
} */

/* Modal heading */
.wcs-nav-mobile .parents-modal .wp-block-eh-modal__content > .wp-block-heading {
	order: 1;
	margin-block-end: var(--wp--preset--spacing--10);
}

/* Columns */
.wcs-nav-mobile .parents-modal .wp-block-eh-modal__content > .is-layout-grid {
	display: block;
}

.wcs-nav-mobile .parents-modal .wp-block-eh-modal__content > .is-layout-grid > .wp-block-group:last-child {
	display: none;
}


.wcs-nav-mobile .parents-modal .is-style-card :is(.wp-block-heading.has-xx-small-font-size, .wp-block-eh-kicker) {
	font-size: 10px;
}

/* Truncate text */
.wcs-nav-mobile .parents-modal .is-style-card p {
	display: -webkit-box;
	margin-block-end: 0;
	font-size: 12px;
	line-height: 1.2;
	overflow: hidden;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Hide all but first paragraph */
.wcs-nav-mobile .parents-modal .is-style-card p:not(:first-of-type) {
	display: none;
}

.wcs-nav-mobile .parents-modal .is-style-card p a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--base);
}

.wcs-nav-mobile .parents-modal .is-style-card :is(.wp-block-buttons, .wp-block-button) {
	inline-size: 100%;
}

.wcs-nav-mobile .parents-modal .is-style-card .wp-block-button .wp-block-button__link {
	padding: 8px 16px !important;
	font-size: 14px;
}

.wcs-nav-mobile .parents-modal .is-style-card .wp-block-button .wp-block-button__link svg {
	--icon--width: 16px;
	--icon--height: 16px;
}

.wcs-nav-mobile .parents-modal .wp-block-buttons.is-style-navigation .wp-block-button__link {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.wcs-nav-mobile .parents-modal .wp-block-buttons.is-style-navigation .wp-block-button:first-child {
	border-block-start: 0;
}

.wcs-nav-mobile .parents-modal .wp-block-buttons.is-style-navigation .wp-block-button:last-child {
	border-block-end: 0;
}

/* Search modal */
.wcs-nav-mobile .search-modal .wp-block-button .wp-block-button__link {
	padding: var(--wp--preset--spacing--10);
}

.wcs-nav-main .wp-block-navigation__responsive-container-content {
	gap: 0;
}

/* Menu button */
.wcs-nav-main :is(.wp-block-navigation__responsive-container-close, .wp-block-navigation__responsive-container-open) {
	display: flex;
	align-items: center;
	justify-content: center;
	block-size: 32px;
	inline-size: 32px;
}

.wcs-part-head__bottom :is(.wp-block-navigation__responsive-container-close, .wp-block-navigation__responsive-container-open) svg {
	block-size: 16px;
	inline-size: 16px;
}

/* Hide menu button if menu is open */
.wcs-nav-main .wp-block-navigation__responsive-container-open:has(+ .is-menu-open) {

	/* display: none !important; */
	translate: 0 -200%;
	visibility: hidden;
}

/* Close button */
.wcs-nav-main .wp-block-navigation__responsive-container-close {
	--menu--icon--color: var(--wp--preset--color--contrast);

	position: fixed;
	inset-block-start: calc(var(--wp--custom--top--offset) + (var(--wp--custom--head--dimensions--height) / 2) - 11px);
	inset-inline-end: 26px;
}

/* Desktop navigation width */
@media (width >= 1200px) {
	.wcs-part-head {
		border-block-start: 0;
	}

	.wcs-nav-mobile {
		display: none !important;
	}

	.wcs-part-head :is(.wp-block-navigation, .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-dialog, .wp-block-navigation__container) {
		position: static !important;
	}

	.wcs-part-head__inner {
		display: flex;
		flex-direction: column;
	}

	:is(.wcs-part-head__top, .wcs-part-head__bottom) .wp-block-navigation__container,
	.wcs-part-head__top > .wp-block-navigation {
		gap: var(--wp--preset--spacing--40);
	}

	.wcs-part-head :is(.wp-block-eh-mega-menu__link, .wp-block-eh-mega-menu__button) {
		text-align: center;
	}

	/* Utility nav */
	.wcs-part-head__top {
		display: flex;
		align-items: stretch;
		order: 1;
		block-size: var(--wp--custom--head--dimensions--top-height);
		background-color: var(--head--top--color--background);
		color: var(--wp--preset--color--base);
		font-size: var(--wp--preset--font-size--x-small);
		transition: background-color var(--head--transition);
	}

	.wcs-part-head__top .wp-block-navigation {
		block-size: 100%;
	}

	.wcs-part-head__top > .wp-block-navigation {
		gap: var(--wp--preset--spacing--10);
	}

	.wcs-part-head__top ul.wp-block-navigation {
		align-items: stretch;
	}

	/* Mega menu */
	.wcs-part-head__top .wp-block-eh-mega-menu.wp-block-navigation-item {
		background-color: var(--wp--preset--color--accent-3);
	}

	.wcs-part-head__top .wp-block-navigation  .wp-block-eh-mega-menu .wp-block-navigation__submenu-icon {
		block-size: 16px;
		inline-size: 16px;
		background-color: var(--wp--preset--color--accent-4);
		border-radius: 50%;
		color: var(--wp--preset--color--contrast);
	}

	.wcs-part-head__top .wp-block-eh-mega-menu .wp-block-navigation__submenu-icon::before {
		translate: 0 1px;
		transform-origin: center;
		clip-path: path('M3.59656 4.81693C3.81971 5.06102 4.18208 5.06102 4.40522 4.81693L7.83265 1.06767C8.05578 0.823565 8.05578 0.427162 7.83265 0.18307C7.6095 -0.0610234 7.24713 -0.0610234 7.02398 0.18307L4 3.49102L0.976008 0.185022C0.752871 -0.05907 0.390494 -0.05907 0.167354 0.185022C-0.0557847 0.429116 -0.0557847 0.825527 0.167354 1.06962L3.59478 4.81888L3.59656 4.81693Z');
	}

	.wcs-part-head__top .wp-block-eh-mega-menu__button {
		--eh--mega-menu--typography--font-size: var(--wp--preset--font-size--x-small);
		--eh--mega-menu--spacing--padding: 0 var(--wp--preset--spacing--30);

		block-size: 100%;
		color: var(--wp--preset--color--base);
		font-size: inherit;
		font-weight: 600;
		text-transform: uppercase;
	}

	.wcs-part-head__top .wp-block-eh-mega-menu__panel > .hide\@nav + .wp-block-group {
		margin-block-start: 0;
	}

	.wcs-part-head__top a.wp-block-navigation-item__content {
		font-weight: 600;
	}

	/* Main nav */
	.wcs-part-head__nav {
		position: static;
		padding: 0;
		background-color: unset;
		border-radius: 0;
		color: unset;
	}

	.wcs-part-head__bottom {
		order: 2;
		gap: var(--wp--preset--spacing--60);
		block-size: var(--wp--custom--head--dimensions--bottom-height);
	}

	.wcs-nav-main .wp-block-button__link,
	.wcs-nav-main :is(.wp-block-eh-mega-menu__link, .wp-block-eh-mega-menu__button) {
		font-size: clamp(0.875rem, -0.0625rem + 1.25vw, 1rem);
	}

	.wcs-part-nav__bottom-buttons.wp-block-buttons.is-small .wp-block-button__link {
		padding-inline: clamp(1rem, -0.3617rem + 2.1277vw, 1.5rem);
	}

	.wcs-nav-main .wp-block-navigation__responsive-container-content {
		gap: var(--wp--preset--spacing--30);
	}

	.wcs-part-head.wp-block-eh-mega-menu .wp-block-navigation__submenu-container > * {
		max-inline-size: var(--wp--custom--width--full) !important;
		margin-inline: auto;
		padding-block: var(--wp--preset--spacing--90) var(--wp--preset--spacing--120) !important;
		padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right);
	}

	.wcs-part-head :is(.wp-block-eh-mega-menu__link, .wp-block-eh-mega-menu__button, .wcs-part-head__bottom .wp-block-navigation-link > .wp-block-navigation-item__content) {
		position: relative;
	}

	.wcs-part-head :is(.wp-block-eh-mega-menu__link, .wp-block-eh-mega-menu__button, .wcs-part-head__bottom .wp-block-navigation-link > .wp-block-navigation-item__content):has(+ .wp-block-navigation__submenu-icon) {
		--icon--offset: calc(var(--wp--preset--spacing--10) + 10px);
	}

	/* Bottom buttons */
	.wcs-part-nav__bottom-buttons.wp-block-buttons.is-small {
		padding-inline-start: var(--wp--preset--spacing--30);
		border-inline-start: 1px solid var(--head--border--color);
	}

	.wcs-part-nav__bottom-buttons.wp-block-buttons.block-editor-block-list__block.is-small {
		border-inline-start-color: currentColor;
	}

	/* Bottom line */
	.wcs-nav-main .wp-block-navigation-submenu__toggle::after {
		position: absolute;
		inset: 0;
		inset-block-start: calc(100% + 36px);
		inset-inline-start: 0;
		block-size: 8px;
		inline-size: calc(100% + var(--icon--offset));
		scale: 0 1;
		transform-origin: center top;
		background-color: var(--wp--preset--color--accent-1);
		content: '';
		cursor: default;
		transition: scale 0.33s ease;
	}

	/* Hover effects */
	.wcs-nav-main .wp-block-navigation-submenu__toggle:focus-visible::after,
	.wcs-nav-main .wp-block-eh-mega-menu:hover .wp-block-navigation-submenu__toggle::after,
	.wcs-nav-main .wp-block-navigation-submenu__toggle[aria-expanded='true']::after {
		scale: 1 1;
	}

	.wcs-nav-main .wp-block-navigation-submenu__toggle:focus {
		outline-offset: 4px;
	}

	/* Navigation menu hover */
	.wcs-part-head__inner:has(.wcs-part-head__bottom [aria-expanded='true']) {
		--head--color--background: var(--wp--preset--color--base);
		--head--color--text: var(--wp--preset--color--contrast);
		--head--top--color--background: var(--wp--preset--color--accent-1);
	}

	.wp-block-buttons.wcs-part-nav__util-buttons {
		display: none;
	}

	/* Hide menu button on desktop */
	.wcs-part-head__bottom .wp-block-navigation__responsive-container-open {
		display: none;
	}
}

.eh-scroll-bug {
	position: absolute;
	inset-block-start: var(--wp--custom--head--dimensions--height);
	inset-inline-start: 0;
	block-size: var(--wp--custom--head--dimensions--height);
	inline-size: 5px;
	z-index: 9999;
	pointer-events: none;
}

/* Override default transition */
@keyframes overlay-menu__fade-in-animation {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}


/* Mobile nav only */
@media (width < 1200px) {

	/* Logo */
	.wcs-part-head__logo {
		block-size: 40px;
		inline-size: 152px;
	}

	.wcs-nav-main ul.wp-block-navigation,
	.wcs-nav-main .wp-block-navigation__responsive-container-content,
	.wp-block-eh-mega-menu {
		inline-size: 100%;
	}

	.wcs-nav-main .wp-block-navigation__responsive-container-content {
		position: relative;
		align-items: stretch;
		inline-size: calc(100% + var(--wp--style--root--padding-left) * 2) !important;
		margin-inline-start: calc(var(--wp--style--root--padding-left) * -1) !important;
	}

	.wcs-nav-main .wp-block-navigation__responsive-container.is-menu-open {
		padding-block-start: calc(var(--wp--custom--head--dimensions--height) + var(--wp--custom--top--offset)) !important;
		overflow: visible;
	}

	.wcs-nav-main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		inset-block-start: 0;
		max-block-size: calc(100dvh - var(--wp--custom--head--dimensions--height) - var(--wp--custom--top--offset));
		overflow-y: auto;
		padding-block-start: 0;
	}

	.wcs-part-head__bottom .wp-block-navigation__responsive-container.is-menu-open {
		z-index: 1 !important;
	}

	.wcs-nav-main .wp-block-button.wp-block-button.is-style-plain .wp-block-button__link {
		justify-content: flex-start;
	}

	.wcs-part-head__bottom:has(.is-menu-open)::before,
	.wcs-part-head__bottom:has(.is-menu-open)::after {
		position: absolute;
		inset-block-start: 0;
		inset-inline-start: 0;
		inline-size: 100%;
		content: '';
	}

	/* Background */
	.wcs-part-head__bottom:has(.is-menu-open)::before {
		block-size: 100vh;
		background: inherit;
		z-index: -1;
	}

	/* Shadow */
	.wcs-part-head__bottom:has(.is-menu-open)::after {
		block-size: calc(var(--wp--custom--head--dimensions--height) - 8px);
		box-shadow: var(--head--shadow);
		pointer-events: none;
		z-index: 2;
	}

	.wcs-part-head__bottom .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		gap: 0;
		background: transparent;
	}

	.wcs-part-head__bottom:has(.is-menu-open) .wp-block-navigation__responsive-container {
		z-index: -1;
	}

	.wcs-nav-main .wp-block-navigation__responsive-container-content > ul {
		padding-block-start: 0 !important;
	}

	/* Bottom buttons */
	.wcs-part-nav__bottom-buttons.wp-block-buttons {
		order: -1;
		inline-size: 100%;
		padding: var(--wp--preset--spacing--30);
		background-color: var(--wp--preset--color--base-3);
	}

	.wcs-part-nav__bottom-buttons.wp-block-buttons .wp-block-button {
		flex: 1;
	}

	/* Utility buttons */
	.wp-block-buttons.wcs-part-nav__util-buttons {
		order: 3;
		inline-size: 100%;
		padding: var(--wp--preset--spacing--30);
	}
}


/** Override WordPress mobile navigation breakpoint */
@media (width >= 601px) and (width <= 1200px) {
	.wcs-part-head .wp-block-navigation .wp-block-navigation__responsive-container-open:not(.always-shown),
	.wcs-part-head .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open {
		display: flex;
	}

	.wcs-part-head .wp-block-navigation .wp-block-navigation__responsive-container {
		display: none;
	}
}
