/*
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.2.0
Text Domain: fuel6
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Custom Properties
# Fuel Normalize
# Custom Elements
# WordPress Blocks
# Forms
## Search Form
# Header
# Content
# Footer
# Location Section
# 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 - for use outside on 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);
	--black: var(--wp--preset--color--black);
	--darkblue: var(--wp--preset--color--darkblue);

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

	--transparent-blue: var(--wp--preset--color--transparent-blue);
	--transparent-purple: var(--wp--preset--color--transparent-purple);
	--transparent-green: var(--wp--preset--color--transparent-green);
	--secondary-hero-gradient: var(--wp--preset--color--secondary-hero-gradient);


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

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


/*--------------------------------------------------------------
# Fuel Normalize
--------------------------------------------------------------*/
*, *::before, *::after {box-sizing: border-box;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
html { font-size: 125%; line-height: 1.5; -webkit-text-size-adjust:100%; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; scrollbar-gutter: stable; position: relative; min-width: 18rem; }
ul, ol { padding-left: clamp(1.5rem, 3vw, 2rem); }
li { margin: 1em 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 {--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 !important;}
.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 { float: left; margin: 0 1em 0.2em 0; }
#main .alignright { float: right; margin: 0 0 0.2em 1em; }
.entry-content *:has(.alignright, .alignleft) { display: flow-root; }

@media (min-width: 37.5em) { 
	.alignleft, .alignright { max-width: 48% }
}

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

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


/*--------------------------------------------------------------
# Forms
- Moved to css/gravity-forms.css
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {position: relative;z-index: 9999;background: #C9D3DC;}
.header .wp-block-columns.contain {--contain-padding: clamp(2rem, 8.3vw, 6.6rem);}
.header-logo {padding-top: clamp(1.4rem, 4.1vw, 2.7rem);padding-bottom: clamp(1.6rem, 3.4vw, 2.2rem);}
.header-logo svg, .footer-logo svg {transition: transform 0.3s ease;height: auto;}
.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;margin: auto !important;}
	.header-right { display: none; }
}

.header-right { text-align: right; }
.header-quicklinks { flex-wrap: nowrap; }
.header-quicklinks .wp-block-fuel-menu-wrapper { gap: 0 0.8rem; }
.header-quicklinks .menu-item { margin-top: 0.45rem; }
.header-quicklinks .menu-label {background: var(--primary-color);color: var(--white);padding: 0.3rem 0.9rem;font-size: clamp(0.9rem, 2vw - 0.5rem, 1rem);font-family: var(--title-font);border-bottom-left-radius: 3px;border-bottom-right-radius: 3px;line-height: 1.364;}
.header-quicklinks .menu-label:is(:hover, :focus-visible) {background: var(--accent-color);color: var(--primary-color);}
.header-quicklinks .menu-item:first-of-type .menu-label {background: none;color: var(--content-color);}
.header-quicklinks .menu-item:first-of-type .menu-label:is(:hover, :focus-visible) {background: var(--accent-color);color: var(--primary-color);}
.header-quicklinks svg { width: 1rem; height: 1rem; margin-right: 0.3rem; transform: translateY(-0.1rem); }

/* Delete this CSS and block if not using header phone number */ 
.header-number {font-size: clamp(1rem, 3vw, 2rem);font-family: var(--title-font);margin-top: 0.9rem !important;display: inline-block;color: var(--content-color);font-weight: bold;}
.header-number svg { width: 2rem; height: 2rem; margin-right: 0.4rem; }

@media (min-width: 82.5em) { 
	.header-number { margin-top: 1.6rem !important; }
}

/* 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 strong { flex: auto; position: relative; overflow: hidden; }
.phone-tree a strong::after { content: ''; position: absolute; bottom: 0.15rem; 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; }


/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
.wp-site-blocks { margin: auto; }
#main { margin: 0 0 2em; 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: 2rem;height: 3rem;margin-right: 0.5rem;overflow: hidden;}
.bio-list img { width: 100%; height: 100%; }
.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%; }
.bio-list .bio-cred { 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: 1rem; align-items: flex-start; margin-top: 1rem; }
	.bio-list .bio-box { grid-template-areas: "img" "label"; flex: 0 1 calc(25% - 1rem); min-width: 7.5rem; /* Adjust to prevent names from wrapping */ text-align: 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; border-bottom: 0.4rem solid var(--primary-color); 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 { 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, 3rem);max-width: 100%;margin: 0;}
.footer .location-list-detailed {gap: 0 2rem;}
.location-list-detailed .location-box {min-width: 15rem;flex: 1 1 calc(33.3% - 2rem);container-type: inline-size;container-name: loc-box;}
.location-box .loc-left { margin: 0; }
#main .location-list-detailed .location-box {padding: 1.3rem clamp(1.2rem, 2.2vw, 2rem) 2.3rem;}
#main .location-box .loc-title { border-bottom: 1px solid var(--wp--preset--color--h-3); padding-bottom: 0.9rem; margin-top: 0; }
#main .location-list-detailed a {color: var(--content-color);background: linear-gradient(0deg, var(--content-color), var(--content-color)) no-repeat 0 bottom / 0 2px;transition: background-size 350ms;background-position-x: 1.6rem;width: fit-content;text-decoration: none;}
#main .location-list-detailed a:is(:hover, :focus-visible) {background-size: 100% 2px;font-weight: bold;}
.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: 1rem;height: 1rem;transform: translateY(0.2rem);}
#main .location-box svg {color: var(--primary-color);}
#main .location-box img { box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.25); }

@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 10rem; }
	.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) { 
	.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); margin: 0;}
#foot_content { padding-top: clamp(1.2rem, 5.9vw, 3.2rem); }
.footer a, .footer h3 { color: var(--white); }
.footer a, .location-list-names a {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: 0.9rem;}
.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: 0.9rem;gap: 1rem 6%;}
#foot_content .wp-block-column {flex: 0 1 auto;flex-basis: fit-content !important;margin-bottom: 1rem;}

.footer .footer-logo:is(:hover, :focus-visible) { background-size: 0; }
.footer-logo path { fill: var(--white); }
.social-menu {justify-content: space-between;}
.footer-socials a { transition: transform 0.3s ease; }
.footer-socials a:is(:hover, :focus) { background: none; transform: scale(1.2); }

.footer .wp-block-heading {font-size: 1rem;margin: 0 0 1.8rem;position: relative;}
.footer .wp-block-heading:after {content: '';background: var(--white);height: 1px;width: 2.5rem;position: absolute;right: auto;bottom: -0.8rem;left: 0;margin: auto;}
.footer #footer-locations {flex: 1 0 auto;}
#footer-locations .hours-note { font-style: italic; font-size: clamp(0.7rem, 1.3vw, 0.9rem); }
#footer-quick-links .wp-block-navigation { margin: 0; }

@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: 37.5em) { /* 600px */
	.footer #footer-locations {}
	#footer-locations .location-box .loc-left, #footer-locations .location-box > .hours {flex: 0 0 auto;/* background: lime; */margin: 0 0 1rem;}
}

@media only screen and (min-width: 68.5em) { 
	#foot_content {background-image: url('data:image/svg+xml,<svg width="424" height="358" viewBox="0 0 424 358" fill="none" xmlns="http://www.w3.org/2000/svg"> <g opacity="0.1"> <path d="M475.61 421.274H0V-54H475.61V421.274ZM15.2195 406.065H460.391V-38.7912H15.2195V406.065Z" fill="white"/> <path d="M279.278 276.791C275.474 274.509 268.625 275.27 254.927 279.832C241.23 284.395 216.117 286.676 205.464 274.509C201.447 270.356 198.731 265.122 197.65 259.448C196.568 253.774 197.168 247.909 199.376 242.571C199.601 241.802 199.649 240.993 199.517 240.203C199.385 239.413 199.077 238.663 198.615 238.008C196.332 236.487 195.571 234.966 194.049 234.966C192.959 234.982 191.9 234.607 191.062 233.909C190.225 233.212 189.665 232.238 189.483 231.164C188.875 229.879 188.552 228.477 188.536 227.055C188.519 225.634 188.81 224.225 189.388 222.926C189.965 221.627 190.817 220.467 191.884 219.527C192.951 218.586 194.209 217.887 195.571 217.476C195.303 216.786 194.894 216.158 194.37 215.635C193.846 215.111 193.218 214.702 192.527 214.435C191.201 214.275 189.94 213.769 188.871 212.968C187.803 212.167 186.964 211.1 186.439 209.872C184.917 206.83 183.395 203.028 186.439 199.986C189.483 196.945 191.766 190.101 188.722 187.059C185.678 184.017 187.961 184.777 183.395 184.017C180.118 183.509 176.99 182.294 174.23 180.455C171.47 178.616 169.145 176.199 167.415 173.371C166.148 170.733 165.76 167.76 166.308 164.886C166.855 162.012 168.31 159.389 170.459 157.402C175.025 153.6 193.288 130.786 194.049 125.463C196.915 116.303 196.915 106.487 194.049 97.3271C187.509 69.0667 191.287 39.4012 204.703 13.6789C199.481 2.28623 194.907 -9.39247 191.005 -21.3013H151.434C146.108 -9.8947 146.868 4.55363 145.347 15.9602C144.685 20.2901 145.749 24.7067 148.31 28.2613C150.871 31.8159 154.725 34.225 159.044 34.9712C152.264 48.3688 144.639 61.3224 136.215 73.7535L134.693 76.0348C115.668 100.369 123.278 111.015 123.278 111.015C124.011 114.344 125.898 117.307 128.605 119.38C130.127 120.901 129.366 122.422 129.366 124.703C128.88 126.954 127.833 129.047 126.322 130.786C125.117 132.809 123.572 134.61 121.756 136.109L99.6879 164.246C97.4626 166.82 95.8868 169.889 95.0924 173.197C94.298 176.504 94.3082 179.954 95.1221 183.257C97.405 190.101 109.581 193.903 111.864 194.663C114.146 195.424 116.429 196.184 117.19 197.705C114.805 202.743 113.262 208.137 112.625 213.674C112.697 216.426 113.343 219.133 114.522 221.621C115.702 224.109 117.388 226.323 119.473 228.122H120.234C120.234 228.883 120.234 228.883 120.995 228.883L124.039 231.164C122.857 231.559 121.779 232.212 120.882 233.077C119.985 233.941 119.293 234.995 118.855 236.161C118.417 237.326 118.246 238.575 118.353 239.816C118.46 241.056 118.843 242.257 119.473 243.331C119.473 243.331 120.234 251.696 120.995 254.738C121.756 257.78 125.561 263.863 124.039 266.905C119.937 272.055 118.024 278.609 118.712 285.155C118.491 291.161 120.573 297.025 124.533 301.548C128.494 306.071 134.033 308.912 140.02 309.489C154.186 310.769 168.412 311.276 182.634 311.01C187.961 310.25 203.181 311.01 200.898 326.219C199.753 332.062 200.056 338.097 201.78 343.796C203.504 349.496 206.598 354.687 210.791 358.918C215.97 365.593 220.078 373.033 222.966 380.971C223.859 383.935 224.37 387.002 224.488 390.096H318.088C316.129 350.362 303.225 311.942 280.8 279.072L279.278 276.791Z" fill="white"/> <path d="M316.566 130.026C316.566 130.026 302.869 121.661 292.215 130.026C281.561 138.391 300.586 110.254 314.283 120.14C327.981 130.026 321.132 136.109 321.132 136.109L316.566 130.026Z" fill="white"/> <path d="M292.215 144.474C292.215 144.474 304.391 130.786 306.674 139.912C308.956 149.037 307.434 165.767 303.63 169.569L299.825 174.131C299.825 174.131 304.391 151.318 299.825 148.277L292.215 144.474Z" fill="white"/> <path d="M292.976 170.329C292.976 170.329 283.083 186.299 290.693 190.101C298.303 193.903 318.849 181.736 321.893 165.006C324.937 148.277 325.698 155.881 325.698 155.881V185.538C325.698 185.538 302.869 208.351 288.41 204.549C285.559 204.34 282.802 203.436 280.381 201.917C277.961 200.398 275.949 198.309 274.522 195.833C273.096 193.357 272.298 190.57 272.199 187.715C272.099 184.86 272.701 182.024 273.952 179.455C277.756 168.809 294.498 166.527 294.498 166.527L292.976 170.329Z" fill="white"/> <path d="M444.41 393.138H29.678V-25.1033H444.41V393.138ZM35.7658 387.054H439.083V-19.7802H35.7658V387.054Z" fill="white"/> <path d="M442.888 343.709L439.844 328.5C436.815 329.439 434.154 331.3 432.235 333.824C425.529 340.233 416.882 344.234 407.653 345.198C398.424 346.162 389.136 344.033 381.249 339.147C348.527 319.375 327.981 280.593 330.264 257.78C331.025 253.978 331.786 248.654 332.547 242.571C339.396 191.622 344.722 135.349 323.415 113.296C313.246 103.859 302.577 94.9743 291.454 86.6811C255.688 57.7845 200.898 14.4395 197.093 -20.5406V-22.0615H181.873V-18.2593C186.439 22.8043 241.991 66.9097 282.322 98.8481C292.924 106.646 303.086 115.023 312.761 123.943C330.264 142.954 321.893 208.351 317.327 240.29C316.566 246.373 315.805 252.457 315.044 256.259C312 287.437 338.635 331.542 373.64 352.074C382.527 357.644 392.828 360.547 403.318 360.439C418.018 360.131 432.096 354.449 442.888 344.47L444.41 342.949L442.888 343.709Z" fill="white"/> </g> </svg>');background-repeat: no-repeat;background-position: right center;background-size: contain;}
	.footer-socials {margin: 1.8rem 0 2rem;}
	#footer-locations .hours-note {display: inline-block;margin-top: 1rem;white-space: nowrap;position: absolute;right: 0;}
}

@media only screen and (min-width: 100em) { 
	#foot_content { gap: 0 3.8rem; padding-right: calc(50% - 32.45rem); }
	.footer #footer-locations {padding-right: 2.6rem;}
	#footer-locations .hours-note { right: auto; }
}


.copyright-wrapper { padding-top: 1.2rem; padding-bottom: 5rem; background: rgba(0,0,0,0.1); text-align: center; }
.policy-menu li { margin: 0; }
.policy-menu li:nth-child(n+1):not(:last-child)::before { content: '|'; position: absolute; right: -0.6rem; }
.policy-menu a { font-size: var(--wp--preset--font-size--copyright); }

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


/*--------------------------------------------------------------
# Location Section
--------------------------------------------------------------*/
#location_section {padding-top: 7.7rem;padding-bottom: 5rem;}
.location-section-columns {max-width: none;}
.location-section-map-column {position: relative;height: fit-content;}
.location-section-map-column:after {content: '';background-image: url(./images/map-tricolor-bar.webp);background-size: contain;background-repeat: no-repeat;background-position: top right;height: 0.9rem;width: 100%;position: absolute;right: 0;bottom: -0.9rem;}
.location-section-columns .location-section-map-column .wp-block-image { margin: 0; }
.location-section-text-column { padding-top: 2.65rem; }
.location-section-title {text-align: center;position: relative;margin: 0 0 2.6rem;} 
.location-section-title:after { content: ''; background: var(--black); height: 1px; width: 2.5rem; position: absolute; right: 0; bottom: -1.25rem; left: 0; margin: auto; }
.location-section-text-column .hours-note {display: inline-block;margin-top: 0.8rem;font-style: italic;font-size: clamp(0.8rem,3.6vw,0.9rem);}

@media (min-width: 37.5em) {/* 600px */
    .location-section-text-column .location-list-detailed .location-box { justify-content: center; }
}

@media (min-width: 48.875em) { /* 782px */
    .location-section-columns { flex-wrap: wrap !important; }
    .location-section-columns .location-section-map-column.wp-block-column, .location-section-columns .location-section-text-column.wp-block-column { flex-basis: auto; }
}

@media (min-width: 68.5em) {
    #location_section {margin-top: 0;padding-top: 9.6rem;padding-bottom: 9.6rem;}
    .location-section-columns {gap: 0 clamp(2rem,5.4vw,4.25rem);padding-right: var(--contain-padding);}
    .location-section-columns .location-section-map-column.wp-block-column { flex-basis: 0; }
    .location-section-columns .location-section-map-column.wp-block-column .wp-block-image img { width: 100%; }
    .location-section-columns .location-section-text-column.wp-block-column {flex-basis: 0;width: fit-content;max-width: 17.5rem;}
    .location-section-map-column:after {right: 0;}
    .location-section-title { text-align: left; }
    .location-section-title:after { right: auto; }
    .location-section-text-column .location-list-detailed .location-box {flex-wrap: wrap;justify-content: start;padding: 0 !important;}
    .location-section-text-column .location-box .loc-left,
    .location-section-text-column .location-box .hours {width: 100%;max-width: none;flex: auto;margin-bottom: 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 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) {

	.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-1000 { --delay: 1000ms; }
	.delay-1500 { --delay: 1500ms; }
	
	.easing-300 { --easing: 300ms; }
	.easing-500 { --easing: 500ms; }
	.easing-750 { --easing: 750ms; }


	/* 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); --y1: 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; }
	.js-intersected:is(.fadein, .fadeup, .fadedown, .fadeleft, .faderight)  {animation: fadein var(--time, 500ms) ease var(--delay, 0s) forwards;}	
}


/*--------------------------------------------------------------
## 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 #000; }
	.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); }
	}
}








