/*
Fuel6 Theme: Fuel6 Walker Menu
Version: 6.4.0
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Shared Menu Styles
# Mobile Menu
# Desktop Menu
# Notifications Menu
# Open/Close Sub-Menus
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Shared Menu Styles
--------------------------------------------------------------*/

.fuel6-walker-menu {
	--menu-height: 3.2rem;margin-right: 0 !important;position: static;max-width: none !important;
	
	/* Change the height of the top level menu */
	& .menu-link {display: block;page-break-inside: avoid;cursor: pointer;position: relative;}
	& .menu-link::before {content: '';background: var(--primary-color);position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 0;border-radius: 0.2rem 0.2rem 0 0;transform: scale(1,0);transform-origin: bottom;transition: 300ms ease;}
	& .menu-item-has-children > .menu-link::after { content: ''; display: inline-block;background: currentColor;clip-path: url(#menu_chevron);margin-left: 0.5rem;margin-top: 0.3rem;width: 0.6rem;height: 0.4rem;transition: transform 0.3s;}
	& .menu-link .menu-label-svg, & .menu-link .menu-label-text {z-index: 1;}

	/* Top level styling */
    & > .lvl-1 {
        display: flex; justify-content: center;       
        & > li > .menu-link {display: flex;justify-content: center;align-items: center;height: 2rem;color: var(--accent-color);background: var(--primary-transparent);}
    }

	& .sub-menu.lvl-2 {
		display: grid;position: absolute;inset: var(--sub-menu-lvl-2-inset, auto 0);z-index: 1;visibility: hidden;clip-path: rect(0 100% 0 0);transition: clip-path 0.5s ease, visibility 0.5s ease;overflow: auto;max-height: var(--sub-menu-max-height, calc(100vh - 12rem));background-color: var(--wp--preset--color--sub-menu-background);
		& .menu-link { display: flex;justify-content: space-between;align-items: center;}
		& .menu-label-text {flex: 1 1 auto;}
	}

	& .sub-menu-content {
		grid-area: 1 / 1; position: relative;padding: 2rem 1rem;color: var(--white);background: var(--primary-color);		
		& .menu-link {margin-left: -0.4rem;}	
		& a:not(.notice, .wp-element-button) {color: var(--white);}
		& a:is(.menu-link, .back-link) {padding: 0.3rem 0.8rem;}
		& a:is(.menu-link, .back-link):is(:hover, :focus-visible) {background: rgba(255,255,255,0.15);}
	}

	& .sub-menu-content.lvl-2 {z-index: 3;}
	& .menu-title {margin: 0.5rem 0 1rem 0.2rem;padding-bottom: 0.6rem;font-weight: bold;font-family: var(--content-font);color: var(--white);font-size: var(--wp--preset--font-size--content);border-bottom: 1px solid;}
	& .sub-menu-content.lvl-2, & .sub-menu-content.lvl-3 .sub-menu {display: grid;grid-auto-flow: column;align-content: flex-start;justify-content: center;gap: 0 clamp(1rem, -21rem + 40vw, 3rem);transition: height 0.5s, visibility 0.5s;}
	& .sub-menu-content:not(:has(.menu-item:nth-child(2))) .synced-pattern {width: 59rem;max-width: calc(100vw - 3rem);}
	& .sub-menu-content.lvl-3 .sub-menu {height: 0;overflow: hidden;visibility: hidden;opacity: 0;transform: translateX(var(--distance, 1.5rem));transition: visibility 0s ease .6s, opacity .3s ease-in-out, transform .6s ease-in-out;padding-left: var(--contain-padding);padding-right: var(--contain-padding);}
	& .sub-menu-content.lvl-3 .sub-menu > *:not(.back-link) {grid-area: 2 / auto;}

	/* Hide empty lists - when sub menu only has sycned blocks, also hide SVGs inside back link */
	& .sub-menu-content-column:has(> li:nth-child(2):empty) {display: none;}
}








/*--------------------------------------------------------------
# Mobile Menu
--------------------------------------------------------------*/
@media (max-width: 68.49em) {
	body {
        /* Reverses menu colors from desktop */
        --wp--preset--color--sub-menu-background: var(--primary-color);
        --wp--preset--color--sub-menu-color: var(--white);
    }

	.wp-block-group:has( > .fuel6-walker-menu) {position: fixed;inset: auto 0 0;padding-bottom: env(safe-area-inset-bottom) !important;z-index: 20;box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.2);border-top: 1px solid vaR(--white);}

	.fuel6-walker-menu {
		.lvl-1 > li {width: 100%;max-width: 6rem;}

		/* Mobile App Bar */--sub-menu-lvl-2-inset: auto 0 calc(var(--menu-height) - 0.15rem) 0;background: var(--primary-color);
		& li.depth-0:nth-child(n+3) {border-left: 1px solid var(--white);}

		& li.depth-0:last-of-type {border-right: 1px solid var(--white);}

		& .depth-0 > .menu-link {
			flex-direction: column;padding: 1.5rem 0;

            &:is(:hover, :focus-visible, [aria-expanded="true"]) { background: var(--accent-color); color: var(--primary-color); }	
			& > .menu-label-text {display: block;font-size: 0.6rem;}
			&[aria-expanded]::after {display: none;}
    	}

		/* Submenu */
		& .sub-menu-content.lvl-2::before, & .sub-menu-content.lvl-3 .sub-menu::before {content: url('data:image/svg+xml,<svg width="46" height="30" viewBox="0 0 46 30" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M45.9702 2.25074H29.0668V15.844L28.7984 15.3702L23.5515 6.33761L20.0337 0V26.15H9.65911V22.5074H16.6053V18.6871H9.65911V6.04146H17.5891V2.25074H6.1711V18.7167H0L2.20609 22.537H6.1711V26.5054C6.1711 28.2527 7.45301 29.6742 9.12249 29.9408V30H23.5515V15.2813L29.0668 24.462V30H32.5846V6.04146H37.593V29.9704H41.1108V6.04146H46V2.25074H45.9702Z" fill="white"/></svg>');background: var(--wp--preset--color--sub-menu-background);display: block;width: fit-content;margin: 0 auto 0.5rem;pa;padding: 0.8rem 0.5rem 0;position: relative;z-index: 1;}
		& .sub-menu-content.lvl-2::after,
		& .sub-menu-content.lvl-3 .sub-menu::after {content: '';height: 1px;width: calc(100% - 2rem);background: var(--wp--preset--color--sub-menu-color);position: absolute;inset: 1.45rem 0 auto 0;margin: auto;}

		/* Submenu button styling */
		& .sub-menu-content .wp-block-group .wp-element-button {color: var(--accent-color);background: var(--wp--preset--color--sub-menu-color);border: 1px solid var(--wp--preset--color--sub-menu-color);}
		
		/* Submenu button hover styling */
		& .sub-menu-content .wp-block-group .wp-element-button:is(:hover, :focus-visible) { color: var(--wp--preset--color--sub-menu-color); background: var(--wp--preset--color--sub-menu-background); border-color: var(--wp--preset--color--sub-menu-color); }
		& .sub-menu.lvl-2 {
			clip-path: rect(100% 100% 100% 0) !important; --sub-menu-max-height: calc(100dvh - var(--menu-height));
			& .menu-title {margin: 1rem 0 0;padding: 0.5rem 1rem;background: rgba(0, 0, 0, 0.15);border: none;}
			& .menu-link {
				padding: 0.3rem 1rem 0.3rem 1.8rem;display: flex;justify-content: space-between;align-items: center;
				.menu-label-text { flex: 1 1 auto;}
				&[aria-expanded]::after {transform: rotate(270deg);background: currentColor;}
			}
			& a:not(.wp-element-button):is(:hover, :focus-visible) {background: rgba(255, 255, 255, 0.15);}
		}

		/* Menu CTAs */
		.wp-block-group:has(.menu-CTA) {	
			.menu-CTA {font-size: clamp(1.5rem,4.4vw,2.4rem) !important;padding-top: 1rem;padding-right: 1.5rem;}
			.wp-block-buttons .wp-block-button__link { color: var(--content-color); background: var(--accent-color); border-color: var(--accent-color); }
			.wp-block-buttons .wp-block-button__link:is(:hover, :focus-visible) {color: var(--accent-color);background: none;}
			.wp-block-buttons .wp-block-button__link:is(:hover, :focus-visible):before { background-image: url('data:image/svg+xml,<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 5.5L-3.98811e-09 11L4.76837e-07 -2.62268e-07L6 5.5Z" fill="%23EFE6C7"/></svg>'); }
		}

		/* Menu Button(s) */
		.menu-btn.wp-block-buttons {
			max-width: 24rem;			
			& .wp-element-button { background: var(--accent-color); color: var(--primary-color); border-color: var(--accent-color); }
			& .wp-element-button:before {display: none;}
			& .wp-element-button svg { vertical-align: -0.05rem; }
		}

		/* Menu Search */
		.synced-pattern-menu-search .wp-block-search {
		    max-width: 24rem;border-radius: 0;
		    .wp-block-search__input { border-color: var(--accent-color); }
		    .wp-element-button {background: var(--accent-color);color: var(--search-button-bg, white);padding-right: 1.2rem;border-color: var(--accent-color);}
		    .wp-element-button:before {display: none;}
		}

		& .sub-menu-content:not(:has(.menu-item:nth-child(2))) .synced-pattern {max-width: 100vw;}
		& .sub-menu-content:is(.lvl-2, .lvl-3), & .sub-menu-content.lvl-3 .sub-menu { display: flex;flex-direction: column;padding: 0;overflow: hidden;}

		/* Add line above sycned pattern group block */
		& .sub-menu-content.lvl-3 .wp-block-group::before {content: '';display: block;height: 1px;background-color: rgba(255,255,255,0.5);margin-bottom: 1rem;width: calc(100% - 1rem);}
	}
}














/*--------------------------------------------------------------
# Desktop Menu
--------------------------------------------------------------*/
@media (min-width: 68.5em) {

	.menu-styling-wrapper { margin-right: 4.3rem !important;margin-left: 24vw !important; }
	.menu-styling-wrapper:before { content: ''; position: fixed; inset: 0; width: 100%; height: 100%; margin: auto; background: rgba(0, 0, 0, 0); transition: background-color 0.3s; pointer-events: none; z-index: 0; }
	.menu-styling-wrapper:has(.menu-link[aria-expanded=true]):before { background: rgba(0, 0, 0, 0.5); pointer-events: unset; }

	.fuel6-walker-menu {
	    & > .lvl-1 {
	    	justify-content: space-between; 
    	    & > li > .menu-link {
    	    	color: var(--primary-color);
    	    	border-radius: 0.2rem 0.2rem 0 0;
    	    	background: var(--primary-transparent);
    	    	padding: 0 1.5rem;
    	    	
    	    	
    	    	
    	    	
				&:is(:hover, :focus-visible, [aria-expanded="true"]) {color: var(--white);}
				&:is(:hover, :focus-visible, [aria-expanded="true"])::before {transform: scale(1,1);}
			}
  		}

		/* Submenu single column positioning */
		& .menu-single .sub-menu {min-width: 12rem;width: calc(100% - 0.9rem);max-width: 25rem;}
		& .menu-single .sub-menu-content.lvl-2 {display: block;}
	
		/* Position sub-menu based on new position-anchor property */
		@supports (anchor-name: --notices) {
			& .menu-single .sub-menu.depth-0 {position-anchor: var(--name);position-area: bottom span-right;}
		}
	
		/* Fallback sub-menu positioning if position-anchor not supported */
		@supports not (anchor-name: --notices) {
			& .menu-single .sub-menu.depth-0 {--sub-menu-lvl-2-inset: auto;transform: translateX(-18.7rem);}
		}

		/* Sub-menu chevron */
		& .depth-0 .menu-link[aria-expanded=true]::after {transform: rotate(-180deg);}
		& .depth-0 > .menu-link > .menu-label-svg {font-size: 1.4rem;min-width: 1rem;}
		& .sub-menu.lvl-2 {width: 100dvw;right: -4.3rem !important;left: auto;}
		& .sub-menu.lvl-2 .menu-item-has-children > .menu-link::after { background: var(--white) !important; }
		& .sub-menu.lvl-2 .menu-link[aria-expanded]::after {background: var(--wp--preset--color--sub-menu-color);transform: rotate(270deg);}
		& .sub-menu.lvl-2 .menu-link[aria-expanded]:hover::after {transform: translateX(0.3rem) rotate(270deg);}
		& .back-link {width: fit-content;margin-bottom: 1rem;margin-left: -0.8rem;}    
		& .sub-menu-content.lvl-3 .sub-menu .sub-menu-content-column {column-count: 3;column-gap: 2rem;}
		& .sub-menu-content.lvl-3 .sub-menu .menu-title {column-span: all;}
		& .hide-label .menu-link::after, & .hide-label .menu-link .menu-label-text, & .menu-item:not(.hide-label) .menu-label-svg {display: none;}
	}

	/* Bio Grid Custom Loop */
	.sub-menu-content {
		.bio-list { display: flex; flex-wrap: wrap; gap: 1rem; }
		.bio-list .bio-box {display: grid;grid-template-areas:"img label";justify-content: start;}
		.bio-list .bio-image {grid-area: img;width: 5rem;height: 5rem;margin-right: 0.75rem;overflow: hidden;}
		.bio-list img {width: 100%;height: 100%; transition: 300ms ease;}
		.bio-list .bio-label {grid-area: label;line-height: normal;display: flex;flex-wrap: wrap;align-content: center;color: var(--primary-color);gap: 0.8rem;}
		.bio-list .bio-label span {flex: 1 1 100%;}
		.bio-list .bio-name {font-size: 0.9rem;}
		.bio-list .bio-cred {font-size: 0.7rem;}
		.bio-label-svg {background: var(--primary-transparent-2);position: absolute;inset: 0 0 0 auto;width: 1.1rem;display: flex;justify-content: center;align-items: center;margin: 0;transition: 300ms ease;}
		.bio-label-svg svg path {transition: 300ms ease;}
		.bio-list .bio-box {padding: 0 1.2rem 0 0;width: calc(100% + 2rem);background: var(--white);}
		.bio-list .bio-box:not(:hover, :focus-visible):nth-child(even) {background: var(--white);}
		.bio-list .bio-box {padding: 0 1.1rem 0 0 !important;}

		/* Hover State */
		.bio-box:is(:hover, :focus-visible) {
			.bio-image img { transform: scale(1.2); }
			.bio-label-svg {background: var(--accent-color);}
			.bio-label-svg svg path { stroke: var(--primary-color); }
		}
	}

	@media (min-width: 50em) { /* 800px */
		.sub-menu-content {
			.bio-list {justify-content: flex-start;gap: 1.5rem 1.5rem;}
		}
	}

	@media (min-width: 68.5em) {
		.sub-menu-content {
			.bio-list {justify-content: flex-start;gap: 1.5rem;}
			.bio-list .bio-box {max-width: calc((100% / 3) - 1rem);}
			.bio-list .bio-name {font-size: 1rem;position: relative;}
			.bio-list .bio-name:after {content: '';width: 1.6rem;height: 1px;position: absolute;inset: auto 0 -0.35rem -0.4rem;background-color: var(--primary-color);}
			.bio-list .bio-cred {font-size: 0.8rem;}
		}
	}

	/* Menu CTAs */
	.menu-CTA {font-size: 2.4rem !important;max-width: 15.7rem;margin-top: 2.3rem !important;}

	.synced-pattern-menu-cta-services > .wp-block-group {
		.menu-CTA {font-size: 1.2rem !important;letter-spacing: 4px;}
		.wp-block-heading { font-size: 2.4rem !important; color: var(--white); margin: 0; }	
	}

	/* Services Submenu CTAs */
	.wp-block-group:has(>.menu-CTA):has(.wp-block-buttons) {
		.menu-CTA {font-size: 1.2rem !important;max-width: 14rem;margin-top: 0 !important;}
		.wp-block-buttons .wp-block-button__link { color: var(--content-color); background: var(--accent-color); border-color: var(--accent-color); }
		.wp-block-buttons .wp-block-button__link:is(:hover, :focus-visible) {color: var(--accent-color);background: none;}
		.wp-block-buttons .wp-block-button__link:is(:hover, :focus-visible):before { background-image: url('data:image/svg+xml,<svg width="6" height="11" viewBox="0 0 6 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 5.5L-3.98811e-09 11L4.76837e-07 -2.62268e-07L6 5.5Z" fill="%23EFE6C7"/></svg>'); }
	}


	/* Services */
	#menu-item-4025 .sub-menu-content-column { column-count: 2; }


	/* Sticky Menu */
	.menu-styling-wrapper {top: -1px;margin-top: -2rem !important;z-index: 99999;margin: 0;position: sticky;max-width: 77.25rem;transition: 300ms ease;}
	#menu-item-5031 { display: none;}

	.menu-styling-wrapper.is-pinned {
		background: var(--white);max-width: 100%;margin: 0 !important;padding: 0 !important;border-bottom: 1px solid var(--primary-color);
		.fuel6-walker-menu {padding: 0.8rem 1.6rem 0;}
		.menu-home, .menu-search, .menu-notifications { width: auto; }
		#menu-item-5031 {
			display: block; height: 2.75rem; margin-top: -0.75rem; /* background: pink; */ align-content: center;
			.menu-link {background: none;border-radius: 0;width: 3rem;height: 2rem;transition: 300ms ease;background-image: url('data:image/svg+xml,<svg width="61" height="40" viewBox="0 0 61 40" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M60.9605 3.00099H38.545V21.1254L38.1892 20.4936L31.2314 8.45015L26.5664 0V34.8667H12.8088V30.0099H22.0201V24.9161H12.8088V8.05528H23.3247V3.00099H8.18341V24.9556H0L2.92547 30.0494H8.18341V35.3406C8.18341 37.6703 9.88334 39.5656 12.0972 39.921V40H31.2314V20.3751L38.545 32.616V40H43.21V8.05528H49.8516V39.9605H54.5165V8.05528H61V3.00099H60.9605Z" fill="%23204C6E"/></svg>');}
			.menu-link:is(:hover, :focus-visible) {transform: scale(1.1);/* background: none !important; */}
			.menu-link:before { display: none; }
		}
		#menu-item-4007 { display: none;}
		& .sub-menu.lvl-2 { 
			border-top: 1px solid var(--primary-color); 
		}
	}
}








/*--------------------------------------------------------------
# Notifications Menu
--------------------------------------------------------------*/ 	
#notification_content { display: block; }
.menu-notifications li { margin-bottom: 0.4rem; }

/* Notifications Mobile Menu */
@media (max-width: 68.49em) {
	.menu-notifications .menu-title {display: none;}
	.menu-notifications li { background: var(--wp--preset--color--menu-hover-bg);}
}

/* Notification Desktop Menu */
@media (min-width: 68.5em) {	
	.menu-home, .menu-search, .menu-notifications {flex: none;min-width: 0;}
	#notification_content { padding: 2rem;}
	.menu-notifications li {background-color: var(--wp--preset--color--sub-menu-color);color: var(--white);}
	.menu-notifications li::before {left: 0.9rem;z-index: 2;}
	.linkIcon {background: var(--wp--preset--color--menu-hover-bg);}
	.menu-notifications a {overflow: hidden;}
	.menu-notifications a::after {content: '';width: 100%;height: 100%;background-color: var(--wp--preset--color--menu-hover-bg);position: absolute;top: 0;left: calc(100% - 1rem);z-index: -1;transition: left 300ms;}
	.menu-notifications a:is(:hover, :focus-visible)::after {left: 0;}
	#notices a {z-index: 1;position: relative;}
	#notices a:hover {color: var(--wp--preset--color--sub-menu-background);background-color: var(--wp--preset--color--sub-menu-color);}
}








/*--------------------------------------------------------------
# Open/Close Sub-Menus
--------------------------------------------------------------*/

/* Main sub menu opener (opens wrapper that contains all sub-menus) */
body.js-active .fuel6-walker-menu .menu-link[aria-expanded=true] + .sub-menu, /* JS */
body:not(.js-active) .fuel6-walker-menu ul.lvl-1 > li:has(:target) > .sub-menu /* NO JS*/ {visibility: visible;clip-path: rect(0 100% 110% 0) !important;overflow-x: hidden;}

/* Close sub menus inside main sub menu wrapper */
body:not(.js-active) .fuel6-walker-menu .sub-menu-content:not(:target, :has(.sub-menu:target)) /* NO JS*/ { visibility: hidden;z-index: -1;}

/* Pre-Animate lvl-2 sub-menu on open - fade down*/
body.js-active .fuel6-walker-menu .sub-menu-content.lvl-2 {opacity: 0;transform: translateY(var(--fadein-direction,-1.5rem));transition: opacity .6s ease 0s,transform .6s ease 0s;}

/* Animate lvl-2 sub-menu on open - fade down*/
body.js-active .fuel6-walker-menu .sub-menu-content.lvl-2.active {opacity: 1;transform: translateY(0);transition: opacity .6s ease .3s,transform .6s ease .3s;}

/* Open sub menus inside main sub menu wrapper */
body.js-active .fuel6-walker-menu .active, /* JS */
body.js-active .fuel6-walker-menu.lvl-2 .sub-menu-content:has(.active), /* JS */
body:not(.js-active) .fuel6-walker-menu .sub-menu-content:has(:target, .sub-menu:target) /* NO JS */ { visibility: visible;}

/* 3rd level fade-in-right animation when 3rd level opened */
body.js-active .fuel6-walker-menu .sub-menu-content.lvl-3 .sub-menu.active, /* JS */
body:not(.js-active) .fuel6-walker-menu .sub-menu-content.lvl-3 :target /* NO JS */ {opacity: 1;height: 100%;transform: translateX(0);visibility: visible;transition: visibility 0s ease 0s, opacity .3s ease-in-out, transform .6s ease-in-out;position: relative;z-index: 3;}

/* 2nd level fade-in-left animation when 3rd level closed */
body.js-active .fuel6-walker-menu .sub-menu.lvl-2 .sub-menu-content.lvl-2 > * { opacity: 1;transform: translateX(0);transition: visibility 0s ease 0s, opacity .3s ease-in-out, transform .6s ease-in-out;}

/* When 3rd level open, make 2nd level content hidden and setup for fade-in-left animation when 3rd level closed */
body.js-active .fuel6-walker-menu .sub-menu.lvl-2:has(.sub-menu-content.lvl-3 .active) .sub-menu-content.lvl-2 > * { opacity: 0;height: 0;overflow: hidden;visibility: hidden;transform: translateX(var(--distance, -1.5rem));transition: visibility 0s ease .6s, opacity .3s ease-in-out, transform .6s ease-in-out;}


/* Blanket when menu open */
.entry-wrapper .entry-content:first-child:before,
main > .entry-content:first-child:before {/* content: ''; */position: fixed;inset: 0;width: 100%;height: 100%;margin: auto;background: rgba(0, 0, 0, 0);transition: background-color 0.3s;pointer-events: none;z-index: 19;}
body:has(.fuel6-walker-menu .menu-link[aria-expanded=true]) .entry-content:before {background: rgba(0, 0, 0, 0.5);pointer-events: unset;}



















