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

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Fuel Normalize
# Helper Classes
# WordPress Blocks
# Header
# Content
# Footer
# Interactive Map
# Contact Section
# Animations
# Print
# Safari 15.3 fallbacks
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Custom Properties
  Note: WordPress declares its variables in the body, so do the same to avoid scope issues.
--------------------------------------------------------------*/

body {
	/* Structure - 1100px - for use outside of contain class */
	--contain-padding: clamp(1rem, calc(50vw - 29.93rem), 19rem);

	/* 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);
	--ltgrey: var(--wp--preset--color--ltgrey);
	--black: var(--wp--preset--color--black);
	--ninety-pct-white: var(--wp--preset--color--ninety-pct-white);
	--primary-transparent: var(--wp--preset--color--primary-transparent);
	--primary-transparent-2: var(--wp--preset--color--primary-transparent-2);

	/* 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(--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);
}


/*--------------------------------------------------------------
# Fuel Normalize
--------------------------------------------------------------*/
*, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html {font-size: clamp(125%, 1vw, 240%);line-height: 1.5;-webkit-text-size-adjust: 100%;scroll-behavior: smooth;scrollbar-gutter: stable;min-width: 15rem;}
iframe, img, svg, audio, video, embed {vertical-align: middle;max-width: 100%;}
img {object-fit: cover;}
img:not([src*=".png"], [src*=".gif"], [src*=".svg"]) { background: var(--grey); }
a, button {text-decoration: none;color: var(--accent-color);transition: color 300ms ease, background-color 300ms ease;}
a[href^="tel:"] { white-space: nowrap; }
a:hover { color: var(--primary-color); }
[hidden] { display: none; }

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


/*--------------------------------------------------------------
# Helper Classes
--------------------------------------------------------------*/
.contain { --contain-padding: clamp(var(--mobile-padding, 1rem), calc(50vw - 29.93rem), var(--desktop-padding, 19rem)); 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: 68.5em) { 
	.mobile-only { display: none !important; }
}

@media (max-width: 68.49em) { 
	.desktop-only { display: none !important; }
	body { --center-on-mobile: center; }
	.text-center-on-mobile { text-align: var(--center-on-mobile); }
	.center-on-mobile { justify-content: var(--center-on-mobile); }
}

.zebra > *:not(tbody):nth-child(odd) { background-color: var(--zebra, var(--grey)); }

/* Use on query loops to help change the order every other column */ 
.stagger > :nth-child(odd) .wp-block-columns { flex-direction: row-reverse; }

/* Use to make link fill entire block - use when you can't wrap blocks with anchor tag */ 
.cover-link {position: absolute !important;inset: 0;width: 100%;z-index: 1;background: none !important;transition: 1200ms ease;}
:has(> .cover-link) { position: relative; }


/*--------------------------------------------------------------
# WordPress Blocks
--------------------------------------------------------------*/
.wp-site-blocks:has(.header) {/* overflow: hidden; */}

@media (min-width: 37.5em) {
	:where(.alignleft, .alignright):not(.wp-block-query .wp-block-post-featured-image) { max-width: 48%; }
}

@media (min-width: 68.5em) {
	.is-position-sticky {top: 3.5rem;}
}

/* Button Styles */
:root :where(.wp-element-button, .wp-block-button__link) { padding-right: 1.2rem; }
:root :where(.wp-element-button, .wp-block-button__link):is(:hover, :focus-visible) {background-color: var(--white);color: var(--content-color);}

/* Button, is Outline */
.wp-block-button.is-style-outline .wp-element-button {background: none;color: var(--accent-color);border-width: 1px;padding-top: 0.75rem;padding-right: 1.9rem;padding-bottom: 0.75rem;padding-left: 1.2rem;}
.wp-block-button.is-style-outline .wp-element-button:before {transition: 300ms ease;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>');}
.wp-block-button.is-style-outline .wp-element-button:is(:hover, :focus-visible) { background: var(--accent-color); color: var(--primary-color); }
.wp-block-button.is-style-outline .wp-element-button: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="%23204c6e"/></svg>'); }

/* Button w/ Right Caret Styles */
.has-right-caret .wp-element-button, .has-right-caret .wp-block-button__link {position: relative;padding-right: 1.9rem;overflow: hidden;background-color: var(--accent-color);color: var(--content-color);z-index: 1;}
.wp-element-button:before, .wp-block-button__link:before {content: '';width: 0.3rem;height: 0.55rem;position: absolute;inset: 0 1.1rem 0 auto;z-index: 1;margin: auto;background-repeat: no-repeat;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="%234A4A4A"/></svg>');}
.wp-element-button:after, .wp-block-button__link:after, .wp-block-post-excerpt__more-text .wp-element-button:after {content: '';background: var(--white);position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: -1;transform: scale(0);transition: 500ms ease-in-out;}
.has-right-caret .wp-element-button:hover:after, .has-right-caret .wp-block-button__link:hover:after {transform: scale(1);}

@media (max-width: 68.49em) {
	.entry-content .wp-block-buttons {justify-content: var(--center-on-mobile); /* Center buttons on mobile but not in menu */}
}

/* Search Block */
@media (max-width: 68.49em) {
	.wp-block-search {--search-white: var(--white);--search-button-bg: var(--primary-color);}
}

.wp-block-search__input {padding-left: 1rem;border-color: var(--search-white, currentColor);color: var(--search-white, currentColor);background: none;outline: 0;}
.wp-block-search__button {margin-left: -0.1rem;border-top-left-radius: 0 !important;border-bottom-left-radius: 0 !important;background: var(--search-white, var(--accent-color));color: var(--search-button-bg, white);border-color: var(--search-white, var(--accent-color));}
.wp-block-search__button:is(:hover, :focus-visible) {background: var(--search-button-bg, var(--white));color: var(--search-white, var(--accent-color));}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
@media (max-width: 68.49em) {
	.header {position: relative;z-index: 998;}
	.hdr-top-menu-container { display: none; }
	.hdr-columns {padding-top: 0;padding-bottom: 0;border-bottom: 1px solid var(--primary-color);}
	.hdr-main-logo {margin: 0 auto;}
}

@media (min-width: 68.5em) {
	.header:not(.block-editor-block-list__block) {position: sticky;top: -6.1rem;z-index: 9999;}
	.hdr-columns {padding-top: 0.3rem;padding-bottom: 0.3rem;border-bottom: 1px solid var(--primary-color);}
}

.hdr-main-logo {max-width: fit-content;}
.header-logo svg, .footer-logo svg {transition: transform 0.3s ease;}
.header-logo a:is(:hover, :focus-visible) svg, .footer-logo:is(:hover, :focus-visible) svg {transform: scale(1.05);}
.header-quicklinks a {color: var(--white);position: relative;}
.header-quicklinks a:is(:hover, :focus-visible) {color: var(--primary-color);}
.header-quicklinks a:before {content: '';background: var(--accent-color);position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: 0;transform: scale(1, 0);transform-origin: bottom;transition: 300ms ease;}
.header-quicklinks a:is(:hover, :focus-visible):before { transform: scale(1,1); }
.header-quicklinks a svg, .header-quicklinks a p { z-index: 1; } 
.header-quicklinks a svg path { transition: 300ms ease; }
.header-quicklinks a:is(:hover, :focus-visible) svg path { fill: var(--primary-color); }


/* Phone Drop Down - Mobile */
.mobile-call-dropdown {
	ul {max-width: 32rem;margin: 0 auto;padding-right: var(--wp--style--root--padding-right);padding-left: var(--wp--style--root--padding-left);}
	ul .wp-block-post { margin-top: 0; }
	.wp-block-post-title {color: var(--white);font-size: 0.9rem;font-weight: bold;margin-bottom: 0.4rem;}
	.phone {display: block;font-size: 0.9rem;background: rgba(0, 0, 0, 0.15);padding: 0.4rem 0.8rem;margin-bottom: 0.4rem;color: var(--accent-color) !important;}
	.phone svg {width: 1rem;margin-right: 0.25rem;}
}

/* Phone Drop Down - Desktop */
.desktop-call-dropdown {
	.wp-block-fuel-dialog-block {background: var(--primary-color);width: 100%;max-width: 60rem;}
	ul {margin: 0 auto;display: flex;flex-wrap: wrap;gap: 1rem;}
	ul .wp-block-post {margin-top: 0;background: rgba(0, 0, 0, 0.15);padding: 0.4rem 0.8rem;width: calc(33.3% - 0.7rem);}
	.wp-block-post-title {color: var(--white);font-size: 0.9rem;font-weight: bold;margin: 0 0 0.4rem;}
	.phone {display: block;font-size: 0.9rem;margin-bottom: 0.4rem;color: var(--accent-color) !important;backgr;width: fit-content;}
	.phone svg {width: 1rem;margin-right: 0.25rem;}
	.close-dialog:focus-visible, .close-dialog:hover {
	    background: var(--accent-color);
	    svg path {fill: var(--primary-color);}
	}
}


/* Sticky Menu */
@media (min-width: 68.5em) {
	.hdr-main-logo,
	.hdr-main-logo svg {transition: transform 1s ease;}
	.lvl-1 > .sticky-menu-logo > .menu-link { display: none !important; background: none !important; padding: 0 1.5rem !important; }

	.header.is-pinned {
		background: var(--white);
		.hdr-main-logo { height: 5rem; }
		.hdr-main-logo svg { transform: scale(0); }
		.lvl-1 > .sticky-menu-logo > .menu-link {display: inline-block !important;padding: 0rem 0 0rem !important;transition: 300ms ease;height: fit-content;margin-top: -0.25rem;}
		.lvl-1 > .sticky-menu-logo > .menu-link:before { display: none; }
		.lvl-1 > .sticky-menu-logo > .menu-link:is(:hover, :focus-visible) {transform: scale(1.2);}
	    .menu-styling-wrapper {max-width: none;margin-left: 4.3rem !important;margin-top: -2.2rem !important; }	
		.fuel6-walker-menu > .lvl-1 > li > .menu-link { height: 2.2rem; }
	}
}


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.wp-block-template-part {margin: 0;}
#main {margin: 0;font-size: var(--wp--preset--font-size--content);}
.entry-content .wp-block-list li {margin: 1em 0 0 0;}
.entry-content .wp-block-list li::marker {color: var(--wp--preset--color--primary);}

/* Titles, Underlined */
.underlined-title {color: var(--primary-color);margin-bottom: clamp(1.6rem, 4.8vw, 2.6rem);position: relative;}
.underlined-title:after {content: '';height: 1px;width: 1.5rem;background: var(--primary-color);position: absolute;right: 0;bottom: -0.45rem;left: 0;margin: auto;} 
.underlined-title.underlined-title-left:after { right: auto; }

@media (min-width: 68.5em) {
	.underlined-title:after { width: 2rem; bottom: -0.65rem; }
}

/* Location card loop - Used in content, and menu */
/* If a grid has only one column, make it full width */
.location-cta .wp-block-post-template.is-layout-grid:not(:has(li:nth-child(2))) {grid-template-columns: 1fr;}

/* If a grid has three columns, make it flex */
.location-cta .wp-block-post-template.is-layout-grid:has(li:nth-child(3)) {
	display: flex;flex-wrap: wrap;
	& .wp-block-post {flex: 1 1 15rem;}
}

.location-card svg {vertical-align: bottom;}

.sub-menu .location-card {
	background: none !important;padding-top: 0 !important;
	& .wp-block-post-title {padding-bottom: 0.5rem;font-size: var(--wp--preset--font-size--content);font-family: var(--content-font);font-weight: bold;}
	& > .wp-block-group:first-of-type {margin-top: 1.3rem;}
}

@media (max-width: 68.49em) {
	.sub-menu { 
		& .location-cta svg {color: var(--white);}
		& .location h3 {margin-left: -1rem !important;width: calc(100% + 2rem);}
	}
}

/* Bio grid custom loop */
.bio-list-container .wp-block-heading { margin-bottom: 2.6rem; }
.bio-list-container .wp-block-heading:not(:first-of-type) { margin-top: 3.2rem; }
.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;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.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;}
#main .bio-list .bio-box {padding: 0 1.2rem 0 0;width: calc(100% + 2rem);background: rgba(0, 0, 0, 0.1);}
.sub-menu .bio-list .bio-box:not(:hover, :focus-visible):nth-child(even) {background: rgba(255, 255, 255, 0.1);}
.sub-menu .bio-list .bio-box.bio-box {padding: 0.2rem 1rem;}

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

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

@media (min-width: 68.5em) {
	.bio-list {justify-content: flex-start;gap: 1.5rem;}
	#main .bio-list .bio-box {max-width: calc((100% / 3) - 1rem);}
	.bio-list .bio-name {font-size: 1rem;}
	.bio-list .bio-cred {font-size: 0.8rem;}
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer-background {padding-top: 1.2rem !important;position: relative;}
.foot-content-container {padding-right: 1rem;padding-left: 1rem;margin-top: 0;}
.footer a {display: block;width: fit-content;background: linear-gradient(0deg, var(--accent-color), var(--accent-color)) no-repeat 0 bottom / 0 1px;transition: background-size 350ms;}
.footer a.icon-item {background-position-x: 1.6rem;}
.footer a:not(.footer-logo):is(:hover, :focus-visible) {background-size: 100% 1px;color: var(--white);}
.footer-socials a {transition: transform 0.3s ease;font-size: 1.2rem;}
.footer-socials a:is(:hover, :focus) {background: none;transform: scale(1.2);}
.footer-col-title { margin-bottom: 2rem; position: relative; }
.footer-col-title:after {content: '';height: 1px;width: 2rem;background: var(--white);position: absolute;right: auto;bottom: -0.8rem;left: 0;margin: auto;}
.footer .location-list-names a {position: relative;margin-bottom: 0.5rem;margin-left: 1rem;}
.footer .location-list-names a:before {content: '';width: 0.3rem;height: 0.3rem;background: var(--accent-color);position: absolute;inset: 0 auto 0 -1rem;margin: auto;}
.bg-footer-logo {position: absolute;bottom: 3.1rem;left: 0;z-index: 0;width: 60%;max-width: 28.4rem;height: initial;}

@media (min-width: 37.5em) { /* 600px */
	.footer .location-list-names { column-count: 2; }
}

@media (min-width: 68.5em) {
	.footer-background { padding-top: 3.2rem !important; }
	#foot_content { gap: 0 3rem; }
	#menu-footer li a {margin-bottom: 0.5rem;}
	.bg-footer-logo { bottom: 0; }
}

@media (min-width: 82.5em) {
	#foot_content { max-width: 60rem; gap: 0 5.6rem; }
	.foot-content-container { padding-right: 0; padding-left: 0; } 
}


/* 850px - Mobile breakpoint for copyright section */
@media only screen and (max-width: 53.125em) {
	.copyright-wrapper {flex-direction: column;text-align: center;}
	.policy-menu {justify-content: center;}
}

/* Policy menu */
.policy-menu li:nth-child(n+1):not(:last-child)::before {content: '|';position: absolute;right: -0.6rem;}

@media (min-width: 82.5em) {
	.copyright-wrapper { max-width: 60rem; }
}


/*--------------------------------------------------------------
# Interactive Map
--------------------------------------------------------------*/
 #location_section { overflow: hidden; }
.wp-block-fuel-interactive-map {height: 35.4rem;border: 1px solid var(--primary-color);position: relative;}
.wp-block-fuel-interactive-map:before {content: '';width: 1.2rem;height: 1.2rem;position: absolute;top: -0.45rem;left: -0.45rem;border-top: 2px solid var(--primary-color);border-left: 2px solid var(--primary-color);transform: translate(-1rem, -1rem);opacity: 0;transition: 500ms ease;transition-delay: 300ms;}
.wp-block-fuel-interactive-map:after {content: '';width: 1.2rem;height: 1.2rem;position: absolute;right: -0.45rem;bottom: -0.45rem;border-right: 2px solid var(--primary-color);border-bottom: 2px solid var(--primary-color);transform: translate(1rem, 1rem);opacity: 0;transition: 500ms ease;transition-delay: 300ms;}
.js-intersected .wp-block-fuel-interactive-map:before, .js-intersected .wp-block-fuel-interactive-map:after { transform: translate(0, 0); opacity: 1; }
.wp-block-fuel-interactive-map details { border: none !important; }
.map-nav-item {display: flex;border: none;position: relative;}
.map-nav-item:before {content: '';position: absolute;top: 0;right: 0.6rem;bottom: 0;z-index: 1;width: 1rem;height: 100%;align-self: initial;background-position: center;background-repeat: no-repeat;background-image: url('data:image/svg+xml,<svg width="7" height="13" viewBox="0 0 7 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.06055 1.06067L6.06055 6.06067L1.06055 11.0607" stroke="%23EFE6C7" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"></path></svg>');}
.map-nav-item:nth-child(odd) { background: linear-gradient(90deg, rgba(255, 255, 255, 0.10) 0%, rgba(255, 255, 255, 0.00) 100%); }
.map-nav-item-btn {padding: 0.4355rem 1rem;font-size: 0.8rem;}
.map-info .hours-row { display: block; }
.map-info .hours-note { font-style: italic; }

.map-back {
    color: var(--primary-color);
    svg path { fill: var(--primary-color); transition: 300ms ease; }

    &:is(:hover,:focus-visible) { 
        color: var(--accent-color);
    	svg path { fill: var(--accent-color); }
    }
}

.map-mobile-view-bar {
    color: var(--white);background: rgba(0, 0, 0, 0.15);
    &:is(:hover,:focus-visible) {
        color: var(--primary-color);
        background: var(--accent-color);
    }
}

.map-quick-links {
	background: rgba(255,255,255,0.1);
	a:is(:hover,:focus-visible) svg {color: var(--white);}
}

.infoPanel-padding .icon-item svg path {fill: var(--accent-color);}

.map-loc-info .provider-list {
	a {padding: 0;margin: 0 0 0.5rem;position: relative;}
	&>a:is(:hover,:focus-visible) {
		background: var(--accent-color); text-decoration: none;	 
		.bio-label { color: var(--primary-color) !important; text-decoration: none; }
	}
	a:before {content: '';position: absolute;top: 0;right: 0;bottom: 0;z-index: 1;width: 1rem;height: 100%;align-self: initial;background-position: center;background-repeat: no-repeat;background-image: url('data:image/svg+xml,<svg width="7" height="13" viewBox="0 0 7 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.06055 1.06067L6.06055 6.06067L1.06055 11.0607" stroke="%23204C6E" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"></path></svg>');}
	a:after {content: '';background: rgba(255,255,255,0.7);position: absolute;top: 0;right: 0;bottom: 0;width: 1rem;}
	.bio-image { margin-left: 0; }
}

.map-loc-footer {
	margin-bottom: 2rem;
	.button {background-color: var(--wp--preset--color--accent);border-radius: 0px;margin-bottom: 10rem;border-color: var(--wp--preset--color--accent);border-width: 1px;border-style: solid;color: var(--wp--preset--color--content) !important;font-family: inherit;font-size: inherit;font-weight: 700;line-height: normal;padding-top: 0.75rem;padding-right: 1.9rem;padding-bottom: 0.75rem;padding-left: 1.2rem;text-decoration: none;position: relative;}
	.button:before { content: '';width: 0.3rem;height: 0.55rem;position: absolute;inset: 0 1.1rem 0 auto;z-index: 1;margin: auto;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="%234A4A4A"/></svg>'); }
	.button:is(:hover, :focus-visible) {background-color: var(--white) !important;color: var(--content-color) !important;}
}

@media (max-width: 37.49em) { /* 599px */
	.map-nav-item-btn { padding: 0.516rem 1rem; }
}

@media (min-width: 50em) { /* 800px */
	.map-nav-item-btn { padding: 0.5825rem 1rem; }
}

@media (min-width: 68.5em) {
	.wp-block-fuel-interactive-map:before {width: 2rem;height: 2rem;top: -1.25rem;left: -1.25rem;}
	.wp-block-fuel-interactive-map:after {width: 2rem;height: 2rem;right: -1.25rem;bottom: -1.25rem;}
}

/* Map Filters */
.map-filter-panel summary {/* display: block !important; */}
.map-filter-panel summary:after {clip-path: unset;width: 1.2rem;height: 1.2rem;background-color: transparent;background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="12" fill="%23EFE6C7"/><path d="M7 12H17" stroke="%23204C6E" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/><path d="M12 7V17" stroke="%23204C6E" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/></svg>');transition: 300ms ease;}
.map-filter-panel summary:is(:hover, :focus-visible):after, 
.map-filter-panel[open] summary:after {background-color: transparent !important;clip-path: unset;background-image: url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="12" fill="white"/><path d="M7 12H17" stroke="%23204C6E" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="round"/></svg>');}
.map-nav-item:has(.marker-distance) {height: auto;}
.marker-distance { display: block; width: fit-content; background: var(--accent-color); color: var(--primary-color); padding: 0.1rem 0.2rem; }

.filter-contents {
    display: flex;flex-wrap: wrap;justify-content: center;padding: 0.5rem 1.5rem 0.5rem;margin: 0;
    .filter-controls.distance { 
    	width: 100%; 
    	.get-my-location {font-size: 0.8rem;color: var(--content-color);font-weight: 700;padding: 0.25rem 1.4rem 0.25rem 0.8rem;background: var(--accent-color);border: 1px solid var(--accent-color);margin: 0 auto 0.5rem;position: relative;}
    	.get-my-location:is(:hover, :focus-visible) { background: var(--white); }
    	.get-my-location:before {content: '';width: 0.2rem;height: 0.35rem;position: absolute;inset: 0 0.75rem 0 auto;z-index: 1;margin: auto;background-size: contain;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="%234A4A4A"/></svg>');}
    }
    .filter-controls.Providers, .filter-controls.Services {width: 11.6rem;}
    .filter-controls.filter label { font-size: 0.8rem; }
}

@media (min-width: 37.5em) and (max-width: 49.99em) { /* 600px - 799px */
	.map-nav-item-btn { font-size: 0.9rem; }
	.map-nav-item-btn:has(.marker-distance) {display: flex;justify-content: space-between;padding: 0.45rem 1.5rem;}
	.marker-distance { display: inline-block; }
}

@media (min-width: 62.5em) { /* 1000px */
	.filter-contents {
		display: flex;flex-wrap: wrap;gap: 0.5rem 1rem;justify-content: space-between;padding: 1rem 1.5rem;
		.filter-controls.Providers, .filter-controls.Services { width: calc(50% - 0.5rem); }
	}
}

@media (min-width: 82.5em) {
	.wp-block-fuel-interactive-map .map-filter-panel:not(.wp-block-fuel-fuel-toggle-block) summary {padding: 0.3rem 1.5rem 0.3rem 1rem;}
	.map-nav-item-btn:has(.marker-distance) {display: flex;justify-content: space-between;padding: 0.386rem 1.5rem 0.386rem 1rem;font-size: 0.85rem;}
	.marker-distance { display: inline-block; }
}


/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
#contact_section {padding-top: 2rem;padding-bottom: 0;}
.contact-section-columns {max-width: none;gap: 3.9rem 0;}
.contact-section-col-left, .contact-section-col-right {max-width: 20rem;position: relative;font-size: clamp(0.9rem, 1.9vw, 1rem);margin: 0 auto !important;}
.contact-section-col-left:before {content: '';height: 1px;width: 50vw;background: var(--primary-color);position: absolute;right: 50vw;bottom: -1.5rem;}
.contact-section-col-left:after {content: '';height: 0.35rem;width: 0.35rem;background: var(--primary-color);position: absolute;right: calc(50vw - 0.3rem);bottom: -1.65rem;}
.contact-section-title { margin-bottom: clamp(1.2rem, 2.8vw, 1.5rem); }

@media (min-width: 38.5em) { /* 616px */
	.contact-section-col-left:before { right: calc(50vw - 5rem); }
	.contact-section-col-left:after { right: calc(50vw - 5.3rem); }
}

@media (min-width: 48.875em) { /* 782px */
	#contact_section {padding-top: 3.2rem;padding-bottom: 3.6rem;}
	#contact_section:before {content: '';width: 0.35rem;height: 0.35rem;background: var(--primary-color);position: absolute;top: 6.8rem;right: 0;left: 0;z-index: 1;margin: auto;transform: scale(0);transform-origin: center;transition: 500ms;transition-delay: 300ms;}
	#contact_section:after {content: '';width: 1px;background: var(--primary-color);position: absolute;top: 6.8rem;bottom: 6.8rem;right: 0;left: 0;margin: auto;transform: scaleY(0);transform-origin: top;transition: 500ms;transition-delay: 600ms;}
	.js-intersected#contact_section:before, .js-intersected#contact_section:after {transform: scaleY(1);}
	.contact-section-columns {gap: 0 3rem;max-width: 52rem;}
	.contact-section-col-left, .contact-section-col-right {margin: 0 !important;}
	.contact-section-col-left:before, .contact-section-col-left:after { display: none;}	
	.contact-section-col-right .gform_wrapper.gravity-theme .gform_footer {padding: 1.6rem 0 0;margin: 0;}
	.contact-section-col-right .gform_wrapper.gravity-theme .gform_footer button { margin: 0; }
}

@media (min-width: 58.5em) {
	.contact-section-columns {gap: 0; justify-content: space-between;}
}

@media (min-width: 68.5em) {
	#contact_section {padding-top: 8.7rem;padding-bottom: 8.7rem;}
	.contact-section-columns {/* gap: 0 5.6rem; */}
	.contact-section-col-left, .contact-section-col-right { padding: 0; }
}


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

@keyframes fadein {
	0% {opacity: var(--o1, 0);transform: translate(var(--x1, 0), var(--y1, 5rem));}
	100% {opacity: var(--o2, 1);transform: translate(var(--x2, 0), var(--y2, 0));}
}

@keyframes fade {
	0% {opacity: var(--o1, 0);}
	100% {opacity: var(--o2, 1);}
}

@keyframes fadeout {
	0% {opacity: var(--o2, 1);transform: translate(var(--x2, 0), var(--y2, 0));}
	100% {opacity: var(--o1, 0);transform: translate(var(--x1, 0), var(--y1, 5rem));}
}

@keyframes point {
	0% {transform: translate(0, 0);}
	50% {transform: translate(var(--x, 1rem), var(--y, 0));}
	100% {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) {

	/* Transition Delay */
	.delay-200 { --delay: 200ms; }
	.delay-300 { --delay: 300ms; }
	.delay-400 { --delay: 400ms; }
	.delay-500 { --delay: 500ms; }
	.delay-600 { --delay: 600ms; }
	.delay-750 { --delay: 750ms; }
	.delay-800 { --delay: 800ms; }
	.delay-900 { --delay: 900ms; }
	.delay-1000 { --delay: 1000ms; }
	.delay-1200 { --delay: 1200ms; }
	.delay-1500 { --delay: 1500ms; }

	/* Transition Time */
	.time-300 { --time: 300ms; }
	.time-500 {--time: 500ms;}
	.time-750 { --time: 750ms; }
	.time-1000 { --time: 1000ms; }
	.time-1500 { --time: 1500ms; }


	/* Add to wrappers to animate children */
	.popin>* {transform: scale(0.5);opacity: 0;}
	body:not(.js-active) .js-intersect.popin>*, /* NO JS */ .popin.js-intersected>* {--delay: calc(var(--i, 0) * 200ms);animation: popAnimation 400ms ease var(--delay) forwards; }
	.fadein-items>* {opacity: 0;/* transform: translateY(0); */}
	body:not(.js-active) .js-intersect.fadein-items>*, /* NO JS */.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);--y1: 0;}
	.fade {opacity: 0;}
	.fadeup {opacity: 0;transform: translateY(5rem);}
	.fadedown {opacity: 0;transform: translateY(-5rem);--y1: -5rem;}
	.fadeleft {opacity: 0;transform: translateX(-5rem);--x1: -5rem;--y1: 0;}
	.faderight {opacity: 0;transform: translateX(5rem);--x1: 5rem;--y1: 0;}

	body:not(.js-active) .js-intersect:is(.fadein, .fadeup, .fadedown, .fadeleft, .faderight), 
	/* NO JS */.js-intersected:is(.fadein, .fadeup, .fadedown, .fadeleft, .faderight) {animation: fadein var(--time, 500ms) var(--easing, ease) var(--delay, 0s) forwards}

}

/* Used to make images in links grow when link is hovered - simply add .hover-img-grow to link or image block */
figure.hover-img-grow, .hover-img-grow figure {overflow: hidden; }
.hover-img-grow img {transition: transform var(--time, 0.3s);}
a:has(+ .hover-img-grow):is(:hover, :focus-visible)+figure img, a:has(.hover-img-grow):is(:hover, :focus-visible) img, a.hover-img-grow:is(:hover, :focus-visible) img {transform: scale(var(--scale, 1.1));}


/*--------------------------------------------------------------
# Print
--------------------------------------------------------------*/
@media print {
	* {
	background: transparent !important;color: initial !important;--wp--preset--color--white: initial !important;}
	.main-header {all: unset;}
	.main-title {margin: 1rem auto !important;padding-bottom: 1rem;border-bottom: 2px solid #000;}
	nav, #sidebar, .header, .footer, .pagination, .wp-prev-next, .main-header img, .wp-block-cover__image-background, .wp-block-cover__background, main + * {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);}
	}
}

/* 
* iPhone bug fix for buttons
* https://www.notion.so/fueldigital/iPhone-button-contrast-fix-47918141a741472fbc1fba3aa5919ca4 
*/

@supports (-webkit-touch-callout: none) {
	.entry-content a.wp-block-button__link { transition: none;}
}










