/*
Theme Name: Fuel6
Theme URI: https://fuelmedical.com
Author: Fuel Medical
Description: A Fuel Medical block theme (2023)
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 8.0
Version: 6.1.1
Text Domain: fuel6
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Custom Properties
# Fuel Normalize
# Custom Elements
# WordPress Blocks
# Forms
## Search Form
# Header
# Content
# Footer
# Map
# Animations
## Page Transition
# print
# Safari 15.3 fallbacks
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Custom Properties
--------------------------------------------------------------*/
body {
	/**
	 * Note: WordPress declares its variables in the body, so do the same to avoid scope issues.
	 */
	
	 /* Structure - 1100px */
	--mobile-padding: 1rem;
	--desktop-padding: 19rem;
	--contain-padding: clamp(var(--mobile-padding), calc(50vw - 29.93rem), var(--desktop-padding));

	/* Design - Change in theme.json */
	--primary-color: var(--wp--preset--color--primary);
	--accent-color: var(--wp--preset--color--accent);
	--white: var(--wp--preset--color--white);
	--grey: var(--wp--preset--color--grey);
	--black: var(--wp--preset--color--black);

	--color-1: var(--wp--preset--color--color-1);
	--color-2: var(--wp--preset--color--color-2);
	--color-3: var(--wp--preset--color--color-3);

	--cta-1: var(--wp--preset--color--cta-1);
	--cta-2: var(--wp--preset--color--cta-2);
	--cta-3: var(--wp--preset--color--cta-3);

	/* Custom Colors */
	--maroon: var(--wp--preset--color--maroon);
	--transparent: var(--wp--preset--color--transparent);
	--primary-75-opacity: var(--wp--preset--color--primary-75-opacity);
	--primary-85-opacity: var(--wp--preset--color--primary-85-opacity);
	--soft-grad-right: var(--wp--preset--color--soft-grad-right);
	--soft-grad-left: var(--wp--preset--color--soft-grad-left);

	/* Top Level Primary Menu Colors */
	--wp--preset--color--menu-background: var(--primary-color);
	--wp--preset--color--menu-color: var(--primary-color);
	--wp--preset--color--menu-hover-color: var(--primary-color);
	--wp--preset--color--menu-hover-bg: var(--wp--preset--color--color-2);

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

	/* Text */
	--title-font: var(--wp--preset--font-family--title);
	--title-color: var(--primary-color);
	--content-font: var(--wp--preset--font-family--content), sans-serif;
	--content-color: var(--wp--preset--color--content);
	--wp--preset--color--h-1: var(--white);
	--wp--preset--color--h-2: var(--wp--preset--color--color-1);
	--wp--preset--color--h-3: var(--primary-color);
	--wp--preset--color--footer: var(--white);

	/* Misc. */
	--sub-menu-max-height: 27.7rem;
}


/*--------------------------------------------------------------
# Fuel Normalize
--------------------------------------------------------------*/
body { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html {font-size: 125%;line-height: 1.78;-webkit-text-size-adjust:100%;-webkit-overflow-scrolling: touch;scroll-behavior: smooth;position: relative;min-width: 18rem;}
ul, ol { padding-left: clamp(1.5rem, 3vw, 2rem); }
li {margin: 0.5rem 0 0 0;}
iframe, img, svg, audio, canvas, video, object, embed {vertical-align: middle;max-width: 100%;}
img {object-fit: cover;}
img[src*=".jpg"] { background: var(--grey); }
blockquote, figcaption { font-style: italic; }
small { font-size: 0.75em; }
sub, sup { font-size: 0.75em; line-height: 0; }
a {text-decoration: none;color: var(--primary-color);transition: color 300ms, background-color 300ms;}
a[href^="tel:"] { white-space: nowrap; }
a:hover { color: var(--primary-color); }

@media only screen and (min-width: 68.5em) { 
	*[id] {scroll-margin-top: 3rem;}
}


/*--------------------------------------------------------------
# Custom Elements
--------------------------------------------------------------*/
.contain {display: block;position: relative;margin: auto;padding-right: var(--contain-padding);padding-left: var(--contain-padding);width: 100%;}
.icon-item { display: block; position: relative; margin: 1em 0; padding: 0 0 0 1.8em; }
.icon-item svg { position: absolute; top: 0.15em; left: 0; width: 1.2em; height: 1.2em; }

@media (min-width: 38.5em) { 
	.list-col-2 { column-count: 2; column-gap: 2em; margin-left: 1rem; }
}


/*--------------------------------------------------------------
# WordPress Blocks
--------------------------------------------------------------*/
.alignleft, .alignright { width: 100% }
#main .alignleft, #main p:has(.alignleft) {float: left;margin: 0 1rem 0.2rem 0;}
#main .alignright, #main p:has(.alignright) {float: right;margin: 0 0 0.2rem 1rem;}
#main .aligncenter, #main p:has(.aligncenter) {margin: 0 auto 1rem;}
.entry-content *:has(.alignright, .alignleft) { display: flow-root; }

@media (min-width: 37.5em) { /* 600px */
	.alignleft, .alignright {max-width: 12.8rem;}
}

.wp-block-cover__inner-container { position: relative; }
.entry-content { container-type: inline-size; container-name: content; }

@container content (max-width: 25rem) { /* 400px */
	#main .alignright, #main .alignleft { float: none; margin: 1.5em 0 0.2em; min-width: 100%; }
}


/* Button block */ 
.button, .wp-block-file__button, .wp-block-post-excerpt__more-link, .wp-block-buttons .wp-element-button, .wp-block-buttons .wp-block-button__link.wp-block-button__link {background-color: var(--primary-color);color: var(--white);border: 0;border-radius: 0;font-weight: 400;line-height: normal;padding: 0.65rem 1rem 0.85rem;font-family: var(--title-font);font-size: 1.2rem;min-width: 14.2rem;outline-color: var(--white);outline-width: 1px;outline-style: solid;outline-offset: -0.3rem;position: relative;overflow: hidden;z-index: 1;transition: 300ms ease;text-align: center;!i;!;}
.button:after, .wp-block-file__button:after, .wp-block-post-excerpt__more-link:after, .wp-block-buttons .wp-element-button:after, .wp-block-buttons .wp-block-button__link.wp-block-button__link:after {content: '';height: 4.5rem;position: absolute;right: 0;bottom: -0.5rem;left: 0;background-image: url('data:image/svg+xml,<svg width="300" height="61" viewBox="0 0 300 61" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="300" height="61" fill="%23FF9A3C"/></svg>');background-position: top;transform: scale(1, 0);transform-origin: bottom;transition: 500ms ease-in-out;z-index: -1;}
.button:is(:hover, :focus-visible):after, .wp-block-file__button:is(:hover, :focus-visible):after, .entry-content .wp-block-post-excerpt__more-link:is(:hover, :focus-visible):after, .wp-block-buttons .wp-element-button:is(:hover, :focus-visible):after, .wp-block-buttons .wp-block-button__link.wp-block-button__link:is(:hover, :focus-visible):after {transform: scale(1, 1);}
.button:is(:hover, :focus-visible), .wp-block-file__button:is(:hover, :focus-visible), .wp-block-post-excerpt__more-link:is(:hover, :focus-visible), .wp-block-buttons .wp-element-button:is(:hover, :focus-visible), .wp-block-buttons .wp-block-button__link.wp-block-button__link:is(:hover, :focus-visible) {color: var(--white);}

/* Button block - outline */ 
.is-style-outline.is-style-outline.wp-block-button .wp-block-button__link { background: var(--white); color: var(--accent-color); border: 1px solid var(--accent-color); padding: 0.5em 1em; }
.wp-block-button.is-style-outline .wp-element-button:is(:hover, :focus-visible) { background: var(--accent-color); border-color: var(--accent-color); color: var(--white); }


/* * iPhone bug fix * https://www.notion.so/fueldigital/iPhone-button-contrast-fix-47918141a741472fbc1fba3aa5919ca4 */ 
@supports (-webkit-touch-callout: none) { 
	.entry-content a.wp-block-button__link{ transition: none; }
}

/* Quote block */ 
body .wp-block-quote {border-left: 1px solid var(--black);padding-right: 0.5rem;padding-left: clamp(2rem, 1vw, 2.9rem);position: relative;margin: 3rem 1rem !important;}
.wp-block-quote::before {content: '';background: var(--white) url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(%23clip0_4457_4292)"> <path d="M15.625 12.5C14.7597 12.5 13.9138 12.2434 13.1944 11.7627C12.4749 11.282 11.9142 10.5987 11.583 9.79924C11.2519 8.99982 11.1653 8.12015 11.3341 7.27148C11.5029 6.42282 11.9196 5.64326 12.5314 5.03141C13.1433 4.41956 13.9228 4.00288 14.7715 3.83407C15.6201 3.66526 16.4998 3.7519 17.2992 4.08303C18.0987 4.41416 18.782 4.97492 19.2627 5.69438C19.7434 6.41385 20 7.25971 20 8.125L20.02 8.75C20.02 9.89907 19.7937 11.0369 19.3539 12.0985C18.9142 13.1601 18.2697 14.1247 17.4572 14.9372C16.6447 15.7497 15.6801 16.3942 14.6185 16.8339C13.5569 17.2737 12.4191 17.5 11.27 17.5V15C12.0911 15.0022 12.9045 14.8416 13.6632 14.5275C14.4219 14.2134 15.1108 13.752 15.69 13.17C15.9151 12.9453 16.1228 12.7038 16.3113 12.4475C16.0842 12.4832 15.8548 12.5011 15.625 12.5013V12.5ZM4.375 12.5C3.50971 12.5 2.66385 12.2434 1.94438 11.7627C1.22492 11.282 0.664162 10.5987 0.333029 9.79924C0.00189565 8.99982 -0.084744 8.12015 0.0840664 7.27148C0.252877 6.42282 0.669555 5.64326 1.28141 5.03141C1.89326 4.41956 2.67282 4.00288 3.52148 3.83407C4.37015 3.66526 5.24982 3.7519 6.04924 4.08303C6.84867 4.41416 7.53195 4.97492 8.01268 5.69438C8.49341 6.41385 8.75 7.25971 8.75 8.125L8.77 8.75C8.77 11.0706 7.84813 13.2962 6.20719 14.9372C4.56624 16.5781 2.34065 17.5 0.020002 17.5V15C0.841125 15.0022 1.65454 14.8416 2.41321 14.5275C3.17188 14.2134 3.86076 13.752 4.44 13.17C4.66513 12.9453 4.87282 12.7038 5.06125 12.4475C4.83424 12.4832 4.6048 12.5011 4.375 12.5013V12.5Z" fill="black"/> </g> <defs> <clipPath id="clip0_4457_4292"> <rect width="20" height="20" fill="%23000000"/> </clipPath> </defs> </svg>') center no-repeat;position: absolute;inset: 0rem auto auto -0.9rem;width: 1.8rem;height: 1.8rem;border: 1px solid var(--black);border-radius: 50%;}
.wp-block-quote cite { display: block; font-size: clamp(0.9rem, 4vw, 1rem); font-weight: bold; text-align: right; line-height: 1.5; }


/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.gfield {overflow: hidden !important;background: var(--white);line-height: normal;box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.25);}
.gfield:focus-within { outline: 2px auto -webkit-focus-ring-color; }
.gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 1.2rem; }
.gform_wrapper.gravity-theme .gfield {min-height: 3.4rem;}
.gfield .gfield_label.gform-field-label {color: var(--content-color);font-weight: normal;font-size: 0.8rem;font-style: italic;margin-bottom: 0;padding-left: 0.6rem;}
.gform_wrapper.gravity-theme .contact-reason-dropdown {min-height: 2rem;display: flex;align-items: center;}
.gfield .medium, .gfield .large {padding: 0 0.6rem 0.35rem !important;color: var(--content-color);background: var(--white);outline: none;border: 0 !important;}
.gform_wrapper.gravity-theme .gform_footer {margin: 1.5rem 0 0;padding: 0;position: relative;justify-content: center;}
.gform_wrapper.gravity-theme .gform_footer button {transition: color 0.3s, background-color 0.3s;margin-bottom: 0;}
.gform_ajax_spinner { position: absolute; top: 0; right: 0.5rem; bottom: 0; margin: auto; border: 0.2em solid rgba(0, 0, 0, 0.4); border-left: 0.2em solid #07B084; border-radius: 50%; width: 1.2em; height: 1.2em; animation: spin 1.1s infinite linear; }
.gform_confirmation_message {font-family: inherit;font-size: 1.1em;font-weight: normal;background: rgba(255,255,255,0.85);text-align: center;padding: 1rem 1rem 1.5rem;border: 5px dashed seagreen;border-radius: 0.75rem;color: seagreen;}
.gform_fileupload_rules { padding: 0 1rem 1rem; font-style: italic; }

@media (min-width: 58.5em) {
	.gform_wrapper.gravity-theme .gform_footer { margin: 2.9rem 0 0; }
}

/* Validation styling */ 
.gform_wrapper .gform_validation_errors .gform_submission_error { border: none; margin: 0; }
.gform_validation_errors p { margin: 0; }
.gfield_error { border-color: #c02b0a; }
.gfield_validation_message { border-left: none !important; border-right: none !important; border-bottom: none !important; }
.gform_required_legend, #contact_section .sidebar-form-content { display: none; }

/* Full width contact form */ 
.wp-block-template-part:has(#contact_section) {margin: 0;position: relative;z-index: 1;}
#contact_section { --contain-padding: clamp(var(--mobile-padding), calc(50vw - 20rem), 26.3rem); padding-top: 8.5rem; padding-bottom: clamp(4.8rem, 14.1vw, 9.3rem); }
#contact_section .wp-block-cover__inner-container {/* background: rgba(255,255,255,0.9); *//* padding: 1.25rem clamp(1.2rem, 10vw, 7.5rem) 3.25rem; */}
#gform_wrapper_1 {margin: 0 auto;max-width: 21.8rem;}
#contact_section .gform_title {text-align: center;margin: 0 0 3rem;position: relative;}
#contact_section .gform_title:after {content: ''; height: 1px; width: 6.4rem; background: var(--content-color); position: absolute; right: 0; bottom: -1.15rem; left: 0; margin: auto;}
#contact_section .gform_description {font-size: clamp(0.7rem, 3vw, 0.9rem);text-align: center;margin: 0 auto 3.2rem;max-width: 26.3rem;}
#contact_section .contact-emergency { display: block; margin-bottom: 1rem; }

@media (prefers-reduced-motion:no-preference) { 
	#contact_section .wp-block-cover__inner-container { opacity: 0; transform: translateY(2rem); transition: transform 0.6s, opacity 0.6s; }
	#contact_section.js-intersected .wp-block-cover__inner-container { opacity: 1; transform: translateY(0); }
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {position: relative;/* z-index: 0; */}
.header .wp-block-columns.contain {--contain-padding: clamp(2rem, 5vw, 3rem);padding-top: 0;padding-bottom: 0;justify-content: center;}
.header-logo {padding-top: clamp(0.8rem, 3vw, 1.5rem);padding-bottom: clamp(0.8rem, 3vw, 1.5rem);}
.header-logo svg, .footer-logo svg { transition: transform 0.3s ease; height: clamp(4.26rem, 6vw, 5.5rem); }
.header-logo a:is(:hover, :focus-visible) svg, .footer-logo:is(:hover, :focus-visible) svg { transform: scale(1.05); }

@media (max-width: 68.49em) { 
	.header { z-index: 998; }
	.header-logo { text-align: center; }
	.header-right { display: none; }
}


.header-right { text-align: right; }
.header-quicklinks li:last-of-type .menu-label {padding: 0.5rem 1.4rem;background: var(--maroon);margin: 0;}
.header-quicklinks .menu-label {display: block;color: var(--white);padding: 0.5rem 2rem;font-size: clamp(0.9rem, 2vw - 0.5rem, 1.1rem);line-height: 2rem;font-family: var(--content-font);}
.header-quicklinks .menu-label:is(:hover, :focus-visible) {color: var(--white);}
.header-quicklinks .menu-label {position: relative;overflow: hidden;z-index: 1;} 
.header-quicklinks .menu-label:after {content: '';height: 4.5rem;position: absolute;right: 0;bottom: -0.5rem;left: 0;background-image: url('data:image/svg+xml,<svg width="300" height="61" viewBox="0 0 300 61" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="300" height="61" fill="%23FF9A3C"/></svg>');background-position: top;transform: scale(1, 0);transform-origin: bottom;transition: 500ms ease-in-out;z-index: -1;} 
.header-quicklinks .menu-label:is(:hover, :focus-visible):after, .header-quicklinks .menu-label[aria-expanded=true]:after { transform: scale(1, 1); }
.header-quicklinks svg { width: 1rem; height: 1rem; margin-right: 0.3rem; transform: translateY(-0.1rem); }
.header-quicklinks li:last-of-type svg {width: 1.2rem;height: 1.2rem;margin-right: 0;}

.hdr-menu-search .sub-menu {right: 0;bottom: auto;padding: 2rem 0rem 3rem;width: 100%;max-width: 30rem;box-shadow: none;} 
.hdr-menu-search .sub-menu .sub-animate {justify-content: center;}
.hdr-menu-search .sub-menu .tablist {padding: 0;opacity: 1 !important;transform: translateY(0) !important;}
.hdr-menu-search .sub-menu .tablist .wp-block-search {opacity: 1;transform: translateX(0);padding: 0;} 
.hdr-menu-search .sub-menu .wp-block-search__inside-wrapper { border: none; padding: 0; }
.hdr-menu-search .sub-menu .wp-block-search__input {padding: 0 0 0 0.5rem;min-width: 15rem;}
.hdr-menu-search .sub-menu .wp-block-search__button {margin: 0;background: var(--color-2);padding: 0.5rem 1rem;}
.hdr-menu-search .sub-menu .wp-block-search__button:is(:hover, :focus-visible) { background: var(--accent-color); }

/* Delete this CSS and block if not using header phone number */ 
.header-number {font-size: clamp(1rem, 3vw, 2rem);font-size: 1.5rem;font-family: var(--title-font);/* margin-top: clamp(0.9rem, 4vw - 2rem, 1.5rem) !important; */display: block;background: var(--primary-color);width: 100%;max-width: 284px;max-width: 240px;padding: 0.4rem;color: lime;}
.header-number svg { width: 2rem; height: 2rem; margin-right: 0.4rem; }

/* Phone Tree - delete CSS and block if not using phone tree */ 
.header-right .dialog-trigger {display: none; /* change to block to unhide *//* transform: translateY(1.5rem); */}
.dialog-box .phone-tree { --wp--style--global--content-size: 24rem; max-width: var(--wp--style--global--content-size); width: 90vw; }
.phone-tree a {display: flex;color: var(--primary-color);margin-bottom: 0.8rem;text-align: left;}
.phone-tree a:last-child { margin-bottom: 0; }
.phone-tree a:nth-child(even) {justify-content: flex-end;font-style: italic;}
.phone-tree a:is(:hover, :focus-visible) { text-decoration: underline; }
.phone-tree a strong {flex: auto;position: relative;overflow: hidden;}
.phone-tree a strong::after {content: '';position: absolute;bottom: 0.35rem;height: 1em;width: 100%;margin-left: 0;background: radial-gradient(var(--primary-color) 1px,transparent 0) left bottom/8px 8px repeat-x;}
.phone-tree a svg { margin-right: .3rem; margin: 0.4rem 0.3rem 0 0.45rem; }
.close-dialog {border: none;background: var(--accent-color);}
.close-dialog:is(:hover, :focus-visible) {background: #c02b0a;color: var(--white);}

/* Custom Styles */
@media (min-width: 48.875em) { /* 782px */
	.header .wp-block-columns .header-logo.wp-block-column {max-width: fit-content;}
}

@media (min-width: 68.5em) {
	.header .wp-block-columns.contain {border-top: 0;padding-top: 3rem;position: relative;justify-content: space-between;}
	.header-logo {padding-top: 0.5rem;padding-bottom: 1rem;}
	.header-right.wp-block-column {flex-basis: auto;max-width: fit-content;max-height: fit-content;margin-top: 2.4rem;text-align: center;}
	.header-right .dialog-trigger {display: block;margin-right: auto !important;background: var(--primary-color);color: var(--white);font-family: var(--title-font);position: relative;/* background: lime; */width: 100%;width: clamp(10.2rem, 17.8vw, 14.2rem);min-height: 3rem;display: flex;justify-content: center;align-items: center;z-index: 1;position: relative;overflow: hidden;z-index: 0;transition: 300ms ease;outline-color: rgba(255, 255, 255, 0.75);outline-width: 1px;outline-style: solid;outline-offset: -0.35rem;transform: translateX(2rem);transition: 300ms ease;}
	.header-right .dialog-trigger:is(:hover, :focus-visible), .header-right .dialog-trigger:is(:hover, :focus-visible) > span { background: var(--color-2); }
	.header-right .dialog-trigger > span {background: var(--primary-color);position: absolute;right: 0;bottom: 0.3rem;left: 0;margin: auto;width: 1.1rem;height: 0.65rem;display: flex;padding: 0.2rem;transition: 300ms ease;}
	.header-quicklinks {position: absolute;top: 0;right: 0;left: 0;max-width: none;background: var(--primary-color);z-index: 999;}
	.header-quicklinks .wp-block-fuel-menu-wrapper {gap: 0;}
}

@media (min-width: 100em) {
	.header .wp-block-columns.contain { padding-right: 4.8rem; padding-left: 4.8rem; }
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.wp-site-blocks { max-width: 96rem; margin: auto; }
#main { margin: 0 0 0; font-size: var(--wp--preset--font-size--content); }

/* Bio grid loop */ 
.bio-list .bio-box {display: grid;grid-template-areas: "img label";justify-content: start;}
.bio-list .bio-image {grid-area: img;width: 3rem;height: 3rem;margin-right: 0.5rem;overflow: hidden;}
.bio-list .bio-label { grid-area: label; line-height: normal; display: flex; flex-wrap: wrap; align-content: center; }
.bio-list .bio-label span {flex: 1 1 100%;color: var(--content-color);}
.bio-list .bio-label .bio-name { font-weight: 600; }
.bio-list .bio-cred, .bio-list .bio-posi { font-size: 0.8rem; }

@media (max-width: 68.49em) { 
	#main .bio-list .bio-box { padding: 0.3rem 1rem; margin-left: -1rem; width: calc(100% + 2rem); }
	#main .bio-list .bio-box:nth-child(odd) { background: rgba(0,0,0,0.1); }
}

@media (min-width: 68.5em) { 
	.bio-list {display: flex;flex-wrap: wrap;gap: 2.2rem 1rem;align-items: flex-start;margin-top: 1rem;}
	.bio-list .bio-box {grid-template-areas:"img" "label";flex: 0 1 calc(33.3% - 1rem);min-width: 7.5rem; /* Adjust to prevent names from wrapping */text-align: center;justify-content: center;}
	.bio-list.bio-list .bio-box:is(:hover, :focus-visible) {background: none;}
	.bio-list .bio-image {width: 100%;height: auto;aspect-ratio: 1 / 1.2;margin-bottom: 0.8rem;}
	.bio-list .bio-image img {transition: transform 0.3s;}
	.bio-list .bio-box:is(:hover, :focus-visible) .bio-image img {transform: scale(1.1);}
	.bio-list .bio-cred, .bio-list .bio-posi { color: var(--content-color); }
}

/* Location card loop - Used in footer, content, and menu */ 
body .location-list-detailed {display: flex;flex-wrap: wrap;justify-content: center;align-items: flex-start;gap: clamp(0.8rem, 4vw, 2.3rem);max-width: 100%;margin: 0;}
.footer .location-list-detailed {gap: 3.5rem 2rem;}
.location-list-detailed .location-box {min-width: 11.7rem;flex: 1 1 calc(33.3% - 2rem);container-type: inline-size;container-name: loc-box;=:center;}
.location-box .loc-left { margin: 0; }
#main .location-list-detailed .location-box {padding: 0;}
#main .location-box .loc-title {padding-bottom: 0.65rem;margin-top: 0;margin-bottom: 1rem;color: var(--primary-color);font-size: clamp(1.2rem,3vw,1.6rem);position: relative;}
#main .location-box .loc-title:after {content: '';height: 1px;width: 11.7rem;background: var(--content-color);position: absolute;/* right: 0; */bottom: 0rem;left: 0;margin: auto;}
#main .location-list-detailed a {color: var(--content-color);background: linear-gradient(0deg, var(--accent-color), var(--accent-color)) no-repeat 0 bottom / 0 2px;transition: background-size 350ms;background-position-x: 1.6rem;width: fit-content;text-decoration: none;margin: 0 0 1rem;}
#main .location-list-detailed a:is(:hover, :focus-visible) { background-size: 100% 2px; }
.location-box p, .location-box .icon-item { margin-top: 0; font-style: normal; }
.sub-menu .location-box a.icon-item {margin-left: -0.5rem;padding-left: 2.3rem !important;}
.sub-menu .location-box a.icon-item svg { left: 0.5rem }
.location-box svg {width: 1.2rem;height: 1.2rem;transform: translateY(0.1rem);}
#main .location-box svg { color: var(--accent-color); }
#main .location-box img {width: 100%;}
.hours-row { flex-wrap: wrap; }
.hours-day { width: 100%; }

@media only screen and (min-width: 37.5em) { 
	.location-box { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0 1rem; }
	.location-box .loc-title { flex: 0 0 100%; }
	.location-box:only-child .loc-left { flex: 0 0 12rem; }
	.location-box .loc-left {flex: 0 0 12rem;}
	.location-box .hours { flex: 0 0 13rem; }
	.location-box .map-link {flex: 1 0 10rem;}
}

/* Apply styles when there is only one locations-card */ 
.location-list-detailed .location-box:only-child { justify-content: start; }
.location-list-detailed .location-box:only-child img { width: 100% }

@media (min-width: 51.25em) { /* 820px */
	.location-list-detailed .location-box:only-child .map-link { width: calc(100% - 25rem) }
}

/* Location Card Animations */ 
@media (prefers-reduced-motion:no-preference) { 
	#main .location-list-detailed > .location-box { opacity: 0; transform: translateY(0); }
	#main .location-list-detailed.js-intersected > .location-box { --delay:calc(var(--i, 0) * 200ms); animation: fadein var(--time, 400ms) ease var(--delay) forwards }
	.location-box:nth-child(1) { --i: 0; }
	.location-box:nth-child(2) { --i: 1; }
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {color: var(--white);background: var(--primary-color);padding-top: clamp(1.2rem, 5.5vw, 3rem);margin: 0;position: relative;}
.footer a, .footer h3 { color: var(--white); }
ime {text-decoration: none;display: block;width: fit-content;background: linear-gradient(0deg, var(--white), var(--white)) no-repeat 0 bottom / 0 2px;transition: background-size 350ms;font-size: var(--wp--preset--font-size--footer);}
.footer a.icon-item { background-position-x: 1.6rem; }
.footer a:is(:hover, :focus-visible) { background-size: 100% 2px; }
#foot_content {justify-content: space-between;font-size: var(--wp--preset--font-size--footer);gap: 6%;z-index: 1;}
#foot_content .wp-block-column {flex: 0 1 auto;flex-basis: fit-content !important;margin-bottom: 2.8rem;}
.footer .footer-logo {max-width: 13.3rem;margin: 0 auto 1.5rem;}
.footer .footer-logo:is(:hover, :focus-visible) { background-size: 0; }
.footer-logo path { fill: var(--white); }
.footer-socials {display: flex;justify-content: center;}
.footer-socials a { transition: transform 0.3s ease; }
.footer-socials a:is(:hover, :focus) {background: none;transform: scale(1.2);color: var(--white);}
.footer-socials a .menu-label-svg svg {vertical-align: -0.4rem;margin-right: 0.2rem;height: 1.5rem;}
.footer-socials a .menu-label-text {font-size: 0.9rem;}
.footer-socials .social-menu {justify-content: center;gap: 1rem 2rem;}
.footer .wp-block-search {max-width: 18rem;}
.footer .wp-block-search__label { display:none; }
.footer .wp-block-search__inside-wrapper {  }
.footer .wp-block-search__input {padding: 0 0 0 0.75rem;border: none;}
.footer .wp-block-search__input:is(:focus-visible) { outline-style: none; }
.footer .wp-block-search__input::placeholder { color: #fff; font-family: 'Jura', sans-serif; opacity: 1; }
.footer .wp-block-search__input::-ms-input-placeholder { color: #fff; font-family: 'Jura', sans-serif; }
.footer .wp-block-search__button { padding: 0.1rem 0.75rem; border: 0; margin: 0; background: var(--content-color); font-size: 0.01px; min-width: 1.9rem; min-height: 2rem; position: relative; }
.footer .wp-block-search__button:before {content: '';background-image: url('data:image/svg+xml,<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"><path stroke="%23ffffff" stroke-width="2" d="M12.7 12.7 19 19M7.75 14.5a6.75 6.75 0 1 0 0-13.5 6.75 6.75 0 0 0 0 13.5Z"/></svg>');background-repeat: no-repeat;background-position: center;min-width: 1.9rem;min-height: 2rem;position: absolute;top: 0;right: 0;}
.footer .wp-block-search__button:is(:hover, :focus-visible) {background: var(--color-2);}
.footer .wp-block-heading {font-size: clamp(1.1rem, 2vw, 1.2rem);border-bottom: 1px solid var(--white);padding-bottom: 0.6rem;margin: 0;text-align: center;}
.footer .wp-block-heading + * { margin-top: 1rem; }
.footer #footer-locations { flex: 1 0 auto; }
.footer .location-list-detailed .location-box { padding: 0 2rem; }
#footer-quick-links .wp-block-navigation__container {display: block;gap: 0 2.8rem;}

@media only screen and (max-width: 68.49em) { 
	#foot_content { flex-wrap: wrap !important; justify-content: center; }
	#footer-locations { flex-basis: 100% !important; }
	#footer-quick-links { display: none; }
}

@media only screen and (min-width: 34.375em) { /* 550px */
	.footer .location-list-detailed .location-box { padding: 0; }
}

@media only screen and (min-width: 52.812em) { /* 845px */
	.footer .wp-block-heading { text-align: left; }
}

@media only screen and (min-width: 68.5em) {
	.footer:after {content: '';background-image: url('data:image/svg+xml,<svg width="524" height="319" viewBox="0 0 524 319" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M313.16 195.214C316.393 203.408 320.466 208.221 322.923 208.221C326.996 208.221 327.837 206.595 344.13 170.565L431.351 -37.3519C463.679 -114.419 488.378 -189.014 488.378 -211.126C488.378 -227.58 481.912 -232.457 458.248 -237.14C439.498 -241.237 436.2 -242.017 436.2 -247.806C436.2 -253.594 440.274 -256 449.132 -256H460.511C486.374 -254.374 489.865 -254.374 497.236 -254.374H530.598C541.747 -254.041 552.905 -254.302 564.026 -255.155H573.013C579.478 -255.155 582 -252.683 582 -248.651C582 -244.619 579.543 -242.148 573.853 -239.676C545.275 -229.01 541.202 -223.222 519.219 -167.487L321.306 298.489C315.617 312.407 310.703 318 305.789 318C299.323 318 294.41 312.212 288.72 297.449L86.6047 -172.04C67.8544 -215.548 56.4103 -227.84 29.5134 -233.563C2.6164 -239.286 1 -238.961 1 -246.7C1 -251.578 5.07334 -254.049 11.6036 -254.049C15.6926 -254.088 19.7784 -253.806 23.8236 -253.203L103.674 -252.423C117.575 -252.423 139.558 -253.203 153.395 -254.049C156.895 -254.663 160.445 -254.946 163.998 -254.894C171.369 -254.894 175.442 -252.423 175.442 -246.7C175.442 -243.383 172.985 -240.912 167.231 -238.441C146.088 -230.246 142.791 -226.994 142.791 -213.857C142.791 -199.094 145.248 -191.745 159.925 -157.277L313.16 195.214Z" stroke="url(%23paint0_linear_4773_8)"/> <defs> <linearGradient id="paint0_linear_4773_8" x1="99.0438" y1="-169.336" x2="572.428" y2="-115.534" gradientUnits="userSpaceOnUse"> <stop stop-color="%23FCEFD0"/> <stop offset="1" stop-color="%23F7BD96"/> </linearGradient> </defs> </svg>');background-repeat: no-repeat;background-position: top right;position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 0;}
	#foot_content, .footer .location-list-detailed {gap: clamp(2rem,4vw,3.2rem);}
	#foot_content .wp-block-column { margin-bottom: 0; }
	.footer-socials .social-menu {justify-content: flex-start;gap: 1.2rem;}
	#footer-quick-links a { word-break: keep-all; }
}

@media only screen and (min-width: 82.5em) {
	#footer-quick-links .wp-block-navigation__container { column-count: 2; }
}


/* Copyright */
.copyright-wrapper {padding-top: 1.2rem;padding-bottom: 5rem;background: var(--content-color);text-align: center;z-index: 1;}
.policy-menu { gap: calc(1.2rem - 1px); }
.policy-menu li { margin: 0; }
.policy-menu li:nth-child(n+1):not(:last-child)::before {content: '|';position: absolute;right: -0.8rem;}
.policy-menu a { font-size: var(--wp--preset--font-size--copyright); }

@media (min-width: 48.875em) { /* 782px */
	.copyright-wrapper { text-align: left; }
}

@media only screen and (min-width: 68.5em) { 
	.copyright-wrapper { text-align: left; padding-bottom: 1.2rem; }
	.policy-menu { justify-content: end; }
}


/*--------------------------------------------------------------
# Map
--------------------------------------------------------------*/
.fm-map { position: relative; width: 100%; height: 30rem; max-height: calc(90vh - 3.2rem); background: var(--grey); margin-bottom: 2rem; }
.map-list-button { font-size: 1rem; }
.map-list-button, .map-show-list, .map-show-map { background: none; }
.map-show-map, .map-show-list { font-size: 0.8rem; }
[hidden] { display: none; }

/* Locations */
#location_section { display: none; }


/*--------------------------------------------------------------
# Animations
--------------------------------------------------------------*/
@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(var(--spin-rotation, 360deg)); }
}

@keyframes fadein {
	0% { opacity: var(--fadein-opacity, 0); transform: translate(var(--x, 0), var(--y, 5rem)); }
	100% { opacity: 1; transform: translate(0, 0); }
}

/* popAnimation Example: https://jsfiddle.net/KTC_88/8xkLv520/ */
@keyframes popAnimation {
    0% {transform: scale(0.5); opacity: 0;}
    80% {transform: scale(1.1)}
    100% {transform: scale(1); opacity: 1}
}


/**
 * Animation helper classes.
 */
@media (prefers-reduced-motion:no-preference) {
	.delay-100 { --delay: 100ms; }
	.delay-150 { --delay: 150ms; }
	.delay-200 { --delay: 200ms; }
	.delay-250 { --delay: 250ms; }
	.delay-300 { --delay: 300ms; }
	.delay-350 { --delay: 350ms; }
	.delay-400 { --delay: 400ms; }
	.delay-450 { --delay: 450ms; }
	.delay-500 { --delay: 500ms; }
	.delay-600 { --delay: 600ms; }
	.delay-700 { --delay: 700ms; }
	.delay-750 { --delay: 750ms; }
	.delay-800 { --delay: 800ms; }
	.delay-900 { --delay: 900ms; }
	.delay-1000 { --delay: 1000ms; }
	.delay-1100 { --delay: 1100ms; }
	.delay-1200 { --delay: 1200ms; }
	.delay-1300 { --delay: 1300ms; }
	.delay-1400 { --delay: 1400ms; }
	.delay-1500 { --delay: 1500ms; }
	.delay-1600 { --delay: 1600ms; }

	.transition-500 { --time: 500ms; }
	.transition-750 { --time: 750ms; }
	.transition-1000 { --time: 1000ms; }
	.transition-12000 { --time: 12000ms; }

	/* Add to wrappers to animate children */
	.popin > * { transform: scale(0.5); opacity: 0; }
	.popin.js-intersected > * {--delay:calc(var(--i, 0) * 200ms);animation: popAnimation 400ms ease var(--delay) forwards;}
	.fadein-items > * { opacity: 0; transform: translateY(0); }
	.fadein-items.js-intersected > * { --delay:calc(var(--i, 0) * 200ms); animation: fadein var(--time, 400ms) ease var(--delay) forwards }

	/* Add directly to element that will be affected */ 
	.fadein { opacity: 0; transform: translateY(0); --y: 0; }
	.fadeup { opacity: 0; transform: translateY(5rem); }
	.fadedown { opacity: 0; transform: translateY(-5rem); --y: -5rem; }
	.fadeleft { opacity: 0; transform: translateX(-5rem); --x: -5rem; --y: 0; }
	.faderight { opacity: 0; transform: translateX(5rem); --x: 5rem; --y: 0; }
	.js-intersected:is(.fadein, .fadeup, .fadedown, .fadeleft, .faderight)  {animation: fadein var(--time, 500ms) var(--easing, ease) var(--delay, 0s) forwards;}

	.collagefade { opacity: 0; transform: scale(0.8) translateY(5rem); transition: 500ms ease-in-out; }
	.js-intersected.collagefade { opacity: 1; transform: scale(1) translateY(0); }
}


/*--------------------------------------------------------------
## Page Transition
# @see https://css-tricks.com/animating-with-clip-path/
# @see https://www.uplabs.com/posts/clip-path-generator
--------------------------------------------------------------*/

.page-transition { display: none; }


/*
 * Page transition bug:
 * Mobile, page transition: Something to take note on. Whenever I click to a page, 
 * then press back on my iPhone, the page transition is locked and I only see the green background color over my whole screen. 
 * I can’t navigate from that point at all anymore.
 */

/*
@media (prefers-reduced-motion:no-preference) {
	.page-transition {
		display: block;
		will-change: transform;
		background-color: var(--wp--preset--color--menu-hover-bg);
		pointer-events: none;
	}

	.transition-in {
		animation: 0.3s slidein-left forwards;
	}

	.transition-out {
		animation: 0.3s slideout-right 0.3s  forwards;
	}

	@keyframes slidein-left {
		0% { clip-path: inset(0% 100% 0% 0%); }
		100% { clip-path: inset(0% 0% 0% 0%); }
	}

	@keyframes slideout-right {
		0% { clip-path: inset(0% 0% 0% 0%); }
		100% { clip-path: inset(0% 0% 0% 100%); }
	}
}
*/

/*--------------------------------------------------------------
# Print
--------------------------------------------------------------*/
@media print {
	@page { margin: 0.5cm; }
	* { background: transparent !important; color: black !important; text-shadow: none !important; -webkit-filter: none !important; filter: none !important; -ms-filter: none !important; }
	a, a:visited { color: #444 !important; text-decoration: underline; }
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	p, h1, h2, h3 { orphans: 3; widows: 3; }
	h1, h2, h3 { page-break-after: avoid; }
	.main-header { padding-top: 0 !important; padding-bottom: 0 !important; }
	.main-title { margin: 0; padding-bottom: 1rem; border-bottom: 2px solid var(--black); }
	.primary-menu, #sidebar, .header, .footer, .page-navigation, .pagination, .wp-prev-next, .respond-form { display: none !important; }
}


/*--------------------------------------------------------------
# Safari 15.3 fallbacks
  Safari 15.3 and under bug fixes - welcome to the new IE
--------------------------------------------------------------*/
@media not all and (min-resolution: 0.001dpcm) {
	@supports (-webkit-appearance: none) { /* Hide Dialog (not supported) */ dialog { 
		display: none; background-color: var(--white); z-index: 9999; }
		dialog[open] { display: block; }
		
		/* menu fixes */ 
		.js-active .sub-menu-trigger[aria-expanded=true] + .sub-menu .sub-animate > * { background: var(--white); }
		.primary-menu .menu-label:hover { color: var(--white); }
	}
}











