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

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

/*--------------------------------------------------------------
# Shared Menu Styles
--------------------------------------------------------------*/
body {
	--menu-height: 3.2rem; /* Change the height of the top level menu */

	/* Top Level Primary Menu Colors - now managed on the block level */
	--wp--preset--color--menu-background: inherit;
	--wp--preset--color--menu-color: var(--white);
	--wp--preset--color--menu-hover-color: var(--white);
	--wp--preset--color--menu-hover-bg: var(--wp--preset--color--color-2);

	/* Sub Menu Colors */
	--wp--preset--color--sub-menu-background: var(--white);
	--wp--preset--color--sub-menu-color: var(--wp--preset--color--primary);
	--wp--preset--color--sub-menu-hover-color: var(--wp--preset--color--primary);
	--wp--preset--color--sub-menu-hover-bg: var(--wp--preset--color--color-3);
}

.fuel6-walker-menu {
	position: static;background: var(--wp--preset--color--menu-background, inherit);
	& .menu-link {display: block;page-break-inside: avoid;cursor: pointer;}
	& .menu-link[aria-expanded]::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;}

	/* Top level styling */
	& > .lvl-1 {
		display: flex;
		& > li {
			flex: 1 1 auto;
			& > .menu-link {
				display: flex;justify-content: center;align-items: center;height: var(--menu-height);color: var(--wp--preset--color--menu-color);
		
				/* Top level hover/focus */
				&[aria-expanded="true"] {color: var(--wp--preset--color--menu-color);background: rgba(255, 255, 255, 0.2);}
			}
		}
	}

	& .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: 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(--wp--preset--color--sub-menu-color);
		& .menu-link {margin-left: -0.4rem;}
		& a:not(.notice, .wp-element-button, .button, .address.cover-link) {color: var(--wp--preset--color--sub-menu-color);}
		& a:is(.menu-link, .back-link) {padding: 0.3rem 0.8rem;}
		& a:is(.menu-link, .back-link):is(:hover, :focus-visible) {background: var(--accent-color);}
	}

	& .sub-menu-content.lvl-2 {z-index: 3;}
	& .sub-menu-content.lvl-3 { padding: 0;}
	& .menu-title {margin: 0.5rem 0 1rem 0.2rem;padding-bottom: 0.6rem;font-weight: bold;font-family: var(--content-font);color: var(--wp--preset--color--sub-menu-color);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); }
	.full-width-content .sub-menu-content { display: block; padding: 0; }
	.full-width-content .sub-menu-content:not(:has(.menu-item:nth-child(2))) .synced-pattern { width: 100%; max-width: unset; }
	& .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);
	}

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

	.fuel6-walker-menu {
		/* Mobile App Bar */
		--sub-menu-lvl-2-inset: auto 0 calc(var(--menu-height) + 0.05rem) 0;

		& li.depth-0:nth-child(n+3) { border-left: 1px solid var(--white); }

		& .depth-0 > .menu-link {
			min-width: 3.5rem;flex-direction: column;
			& > .menu-label-text { display: block; font-size: 0.7rem; }
			&[aria-expanded]::after { display: none; }
		}

	    & > .lvl-1 {
	        & > li {
	            & > .menu-link:is(:hover, :focus-visible), & > .menu-link[aria-expanded="true"] { 
	            	background: var(--accent-color); color: var(--primary-color);
	            	.menu-label-svg svg path { fill: var(--primary-color); }
	            }
			}
		}

		.menu-link, .menu-label-svg svg	path { transition: 300ms ease; }

		/* Submenu */

		/* Submenu button styling */
		& .sub-menu-content .wp-block-group :is(.wp-element-button, .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 :is(.wp-element-button, .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); --sub-menu-max-height: calc(100dvh - var(--menu-height)); overscroll-behavior: contain;
			& .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, .button, .location-section-map-wrapper):is(:hover, :focus-visible) {background: var(--wp--preset--color--accent-50-pct);color: var(--white);}
		}

		& .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; }

		.menu-item-decoration { height: 1.5rem; }
		.menu-notifications svg path {/* fill: var(--accent-color); */}

		/* Search Bar & Buttons */
		.mobile-menu-search {
			.wp-block-button>.wp-block-button__link {background: var(--accent-color);color: var(--primary-color);border: none;}
			.wp-block-button>.wp-block-button__link:is(:hover, :focus-visible) {
				background: var(--white); color: var(--primary-color);
				svg path { fill: var(--primary-color); }
			}
			.wp-block-button>.wp-block-button__link svg { margin-right: 0.2rem; vertical-align: -0.1rem; }		
			.wp-block-buttons, .wp-block-search {max-width: 28rem;}
			.wp-block-search__inside-wrapper {padding: 0;}
			.wp-block-search__input {border-color: var(--accent-color);border-radius: 5px 0px 0px 5px !important;background-color: transparent;color: var(--white);}
			.wp-block-search__button.wp-element-button {border-left: none;border-color: var(--accent-color);color: var(--primary-color);background: var(--accent-color);border-radius: 0 5px 5px 0 !important;margin-left: -0.1rem;}
			.wp-block-search__button.wp-element-button:is(:hover, :focus-visible) {background: var(--white);color: var(--primary-color);}
		}

		.bio-list figure { height: 3rem; }

		.about-quote-text-wrapper { padding-top: 1rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
		.about-quote-text {max-width: 21.2rem;}

		.small-quote-text {
			border-top: 1px solid var(--white);padding-top: 1rem;padding-left: 0 !important;margin-right: 1.5rem !important;margin-left: 1.5rem !important;
			.wp-block-buttons { justify-content: center; }
			.wp-block-button__link { background: var(--accent-color) !important; color: var(--primary-color) !important; border-color: var(--accent-color) !important; }
			.wp-block-button__link:is(:hover, :focus-visible) { background: var(--white) !important; border-color: var(--white) !important; }
		}

		/* Location */
		.synced-pattern-location-section {
    		.location-card > h2.wp-block-heading {color: var(--white) !important;font-size: 1rem;font-family:"Mulish", sans-serif;font-weight: 700;background: rgba(0,0,0,0.15);padding: 0.5rem var(--wp--preset--spacing--50);margin-right: calc(var(--wp--preset--spacing--50) * -1) !important;margin-left: calc(var(--wp--preset--spacing--50) * -1) !important;max-width: 100dvw;}
			.location { justify-content: center; }
			.location-cta {
   				.location .wp-block-image { margin: 0 1rem 1.5rem; }
   				.location .wp-block-image img {width: 88.9dvw;height: 65dvw;margin: 0 auto;}
   			}
    	}
	}
}






@media (min-width: 48.875em) and (max-width: 68.49em) { /* 782px - 1095px */
	.fuel6-walker-menu {
		/* Location */
		.synced-pattern-location-section {
			.location {position: relative;padding-top: 3.5rem;}
			.location-card > h2.wp-block-heading {position: absolute;inset: 0 0 auto 0;padding: 0.5rem 3rem;margin-left: 0 !important;}
			.location-cta .location-card {order: 1;position: initial;}
    	}
	}
}






/*--------------------------------------------------------------
# Desktop Menu
--------------------------------------------------------------*/
@media (min-width: 68.5em) {
	.fuel6-walker-menu {
		/* Submenu single column positioning */
		& .menu-single .sub-menu { width: 25rem; }
		& .menu-single .sub-menu-content.lvl-2 { display: block; }

		/* Two column layout for Submenu column */
		& .menu-span-2 { column-count: 2; }
		& .menu-span-2 .menu-title { column-span: all; }
	
		/* 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; position: fixed; }
		}
	
		/* 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 hover/focus */
		& .depth-0 .menu-link:is(:hover, :focus-visible) { color: var(--wp--preset--color--menu-color); background: rgba(255,255,255,0.2); }
		
		/* Sub-menu chevron */
		& .depth-0 .menu-link[aria-expanded=true]::after { transform: rotate(-180deg); }
		& .depth-0 > .menu-link > .menu-label-svg svg { font-size: 1.4rem; max-width: none; }
		& .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 { position: absolute; opacity: 0; height: 0; width: 0; }

		/* Search Bar */
		.mobile-menu-search {
			.wp-block-search {max-width: 32rem;}
			.wp-block-search__inside-wrapper {padding: 0;}
			.wp-block-search__input { border-color: var(--primary-color); border-radius: 5px 0px 0px 5px !important; }
			.wp-block-search__button.wp-element-button {border: 1px solid var(--primary-color);border-left: none;color: var(--primary-color);background: var(--accent-color);border-radius: 0 5px 5px 0 !important;margin-left: -0.1rem;}
			.wp-block-search__button.wp-element-button:is(:hover, :focus-visible) {background: var(--primary-color);color: var(--white);}
		}

		.about-quote-text-wrapper { padding-top: 1rem; padding-right: 1.5rem; padding-bottom: 1.5rem; padding-left: 1.5rem; }
		.about-quote-text {max-width: 21.2rem;margin-top: 2rem !important;}


		/* Location */
		.synced-pattern-location-section {
			.location-cta {
				.location {
					justify-content: center;padding-top: 5rem;padding-bottom: 4.8rem;gap: 0 1.5rem;position: relative;
					&:before {content: 'Norfolk, VA';font-size: 1rem;font-weight: 700;position: absolute;inset: 2rem calc(50% - 25rem) auto;border-bottom: 1px solid var(--primary-color);}
				}
				.location-card {
					order: 1; width: fit-content; padding: 0 !important;
					h2.wp-block-heading {display: none;}
					& > .wp-block-group {display: flex;gap: 0 1.5rem;margin-top: 0;}
					& > .wp-block-group > .wp-block-group { width: fit-content; }
				}
				.location .location-section-map-wrapper { align-content: center; width: fit-content; }
				.location .location-section-map-wrapper .wp-block-image {width: 24rem;height: 14.5rem;align-self: center;border: 1px solid var(--primary-color);}
			}	
    	}
	}
}



	






@media (min-width: 82.5em) {
	.fuel6-walker-menu {
		/* Location */
		.synced-pattern-location-section {
			.location-cta {
				.location { gap: 0 4.5rem; }
				.location:before { inset: 2rem calc(50% - 28rem) auto; }
				.location-card {
					& > .wp-block-heading, & > .wp-block-group {flex-wrap: nowrap;gap: 0 4.5rem;}
				}
			}	
    	}
	}
}






/*--------------------------------------------------------------
# Notifications Menu
--------------------------------------------------------------*/ 	
#notification_content {display: block;padding: 0 0.4rem;}
.menu-notifications li { margin-bottom: 0.4rem; }
.menu-notifications a.notice:is(:hover, :focus-visible) {color: var(--primary-color) !important;background: var(--accent-color) !important;}

/* Notifications Mobile Menu */
@media (max-width: 68.49em) {
	.menu-notifications .menu-title { display: none; }
	.menu-notifications li {background: var(--white);}
	.menu-notifications .notice { color: var(--primary-color); }
	.menu-notifications .linkIcon { background: var(--accent-color); }
}

/* Notification Desktop Menu */
@media (min-width: 68.5em) {	
	#notification_content { padding: 2rem; }
	.menu-notifications li {background-color: var(--wp--preset--color--sub-menu-color);color: var(--white) !important;}
	.menu-notifications li::before { left: 0.9rem; z-index: 2; }
	.linkIcon {background: var(--accent-color);}
	.menu-notifications a { overflow: hidden; }
	.menu-notifications a::after {content: '';width: 100%;height: 100%;background-color: var(--accent-color);position: absolute;top: 0;left: calc(100% - 1rem);z-index: -1;transition: left 300ms;}
	.menu-notifications a:is(:hover, :focus-visible)::after { left: 0; }
	.menu-notifications .notice {color: var(--white) !important;}
	.menu-notifications .notice .linkIcon svg { color: var(--primary-color); }
	#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); 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;background: var(--wp--preset--color--sub-menu-background); }

@media (min-width: 68.5em) {
	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 */ { padding-top: 2rem; padding-bottom: 2rem; }
}

/* 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 .depth-0 > .menu-link[aria-expanded=true]) .entry-content:before { background: rgba(0, 0, 0, 0.5); pointer-events: unset; }













