:root {
	/**
     * CSS Variables
     */
	/* --bold-font-weight */
	/* --normal-font-weight */

	/* --font-family */
	/* --font-size */
	/* --line-height */
	/* --body-font-color */
	/* --body-font-weight */
	/* --body-background-color */
	/* --paragraph-margin-bottom */

	/* Default colors */
	/* --color-black */
	/* --color-blue */
	/* --color-dark-blue */
	/* --color-dark-green */
	/* --color-gray */
	/* --color-green */
	/* --color-grey */
	/* --color-light-blue */
	/* --color-light-gray */
	/* --color-light-green */
	/* --color-light-grey */
	/* --color-orange */
	/* --color-red */
	/* --color-white */
	/* --color-yellow */

	/* Primary color */
	/* --primary-color */
	/* --primary-dark-color */
	/* --primary-light-color */

	/* Secondary color */
	/* --secondary-color */
	/* --secondary-dark-color */
	/* --secondary-light-color */

	/* Links */
	/* --link-font-color */
	/* --link-hover-font-color */
	/* --content-link-font-color */
	/* --content-link-hover-font-color */

	/* Bootstrap breakpoints */
	/* --bs-breakpoint-lg */
	/* --bs-breakpoint-md */
	/* --bs-breakpoint-sm */
	/* --bs-breakpoint-xl */
	/* --bs-breakpoint-xs */
	/* --bs-breakpoint-xxl */

	/* Buttons */
	/* --button-font-family */
	/* --button-font-size */
	/* --button-line-height */
	/* --button-font-weight */
	/* --button-border-radius */
	/* --button-border-width */

	/* --primary-cta-font-family */
	/* --primary-cta-font-size */
	/* --primary-cta-line-height */
	/* --primary-cta-font-weight */
	/* --primary-cta-font-color */
	/* --primary-cta-hover-font-color */
	/* --primary-cta-background-color */
	/* --primary-cta-hover-background-color */
	/* --primary-cta-border-width */
	/* --primary-cta-border-color */
	/* --primary-cta-hover-border-color */

	/* --secondary-cta-font-family */
	/* --secondary-cta-font-size */
	/* --secondary-cta-line-height */
	/* --secondary-cta-font-weight */
	/* --secondary-cta-font-color */
	/* --secondary-cta-hover-font-color */
	/* --secondary-cta-background-color */
	/* --secondary-cta-hover-background-color */
	/* --secondary-cta-border-width */
	/* --secondary-cta-border-color */
	/* --secondary-cta-hover-border-color */

	/* Header */
	/* --header-background-color */
	/* --header-font-color */
	/* --header-link-font-color */
	/* --header-link-hover-font-color */
	/* --heading-font-color */
	/* --heading-font-family */
	/* --heading-font-weight */
	/* --heading-line-height */
	/* --heading-margin-bottom */

	/* Navigation */
	/* --mb-bar-width */
	/* --mb-button-size */

	/* --nav-font-family */
	/* --nav-font-size */
	/* --nav-line-height */
	/* --nav-font-weight */
	/* --nav-item-spacing */
	/* --nav-link-font-color */
	/* --nav-link-active-font-color */
	/* --nav-link-hover-font-color */
	/* --nav-sublink-font-color */
	/* --nav-sublink-active-font-color */
	/* --nav-sublink-hover-font-color */
	/* --nav-background-color */

	/* Slide navigation */
	/* --mm-color-text */
	/* --mm-color-background */
	/* --mm-color-background-emphasis */
	--slide-nav-link-hover-font-color: var(--primary-color);
	--slide-nav-link-active-font-color: var(--color-white);
	--slide-nav-background-emphasis-color: var(--primary-color);

	/* Forms */
	/* --input-accent-color */

	/* Footer */
	/* --footer-font-family */
	/* --footer-font-size */
	/* --footer-line-height */
	/* --footer-font-weight */
	/* --footer-font-color */
	/* --footer-background-color */
	/* --footer-link-font-color */
	/* --footer-link-hover-font-color */
	/* --footer-title-font-color */
	/* --footer-title-font-family */
	/* --footer-title-font-size */
	/* --footer-title-font-weight */
	/* --footer-title-line-height */

	/* Headings */
	/* --h1-font-color */
	/* --h1-font-size */
	/* --h1-font-weight */
	/* --h1-line-height */
	/* --h1-margin-bottom */

	/* --h2-font-color */
	/* --h2-font-size */
	/* --h2-font-weight */
	/* --h2-line-height */
	/* --h2-margin-bottom */

	/* --h3-font-color */
	/* --h3-font-size */
	/* --h3-font-weight */
	/* --h3-line-height */
	/* --h3-margin-bottom */

	/* --h4-font-color */
	/* --h4-font-size */
	/* --h4-font-weight */
	/* --h4-line-height */
	/* --h4-margin-bottom */

	/* --h5-font-color */
	/* --h5-font-size */
	/* --h5-font-weight */
	/* --h5-line-height */
	/* --h5-margin-bottom */

	/* --h6-font-color */
	/* --h6-font-size */
	/* --h6-font-weight */
	/* --h6-line-height */
	/* --h6-margin-bottom */

	/* Column gaps */
	/* --column-gap */
	/* --column-gap-x */
	/* --column-gap-y */

	--column-gap-y__half: round(up, calc(var(--column-gap-y) / 2), 2px);
	--column-gap-x__half: round(up, calc(var(--column-gap-x) / 2), 2px);
	--column-gap-y__third: round(up, calc(var(--column-gap-y) / 3), 2px);
	--column-gap-x__third: round(up, calc(var(--column-gap-x) / 3), 2px);
	--column-gap-y__quarter: round(up, calc(var(--column-gap-y) / 4), 2px);
	--column-gap-x__quarter: round(up, calc(var(--column-gap-x) / 4), 2px);
	--column-gap-y__sixth: round(down, calc(var(--column-gap-y) / 6), 2px);
	--column-gap-x__sixth: round(down, calc(var(--column-gap-x) / 6), 2px);
	--column-gap-y__twelfth: round(down, calc(var(--column-gap-y) / 12), 2px);
	--column-gap-x__twelfth: round(down, calc(var(--column-gap-x) / 12), 2px);

	--content-start: 186px;

	--outline-offset: 0;

	--button-padding-y__offset_top: 2px;
	--button-padding-y__top: calc(var(--button-padding-y) - var(--button-padding-y__offset_top));

	--button-line-height__rounded: round(nearest, calc(var(--button-line-height) * 1em), 2px);

	--primary-cta-line-height: var(--button-line-height__rounded);
	--secondary-cta-line-height: var(--button-line-height__rounded);

	--input-padding-y: var(--button-padding-y__top) var(--column-gap-x__half);
	--input-padding-x: var(--button-padding-y) var(--column-gap-x__half);

	--trans-property: color, opacity, visibility, border-color, background-color, text-decoration;

	--wp--preset--font-size--small: 0.875rem;

	--icon-size: 3rem;
	--icon-size__half: 1.5rem;
	--icon-size__third: 0.5rem;
	--icon-size__quarter: 0.75rem;

	--icon-clickable-size: var(--icon-size);

	--icon-visible-size: var(--icon-size__half);
	--icon-visible-size-small: var(--icon-size__quarter);
	--icon-visible-size-medium: var(--icon-size__third);
}

body.mm-wrapper {
	overflow-x: clip;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	letter-spacing: 0.05em;
}

h1,
.h1 {
	line-height: round(nearest, calc(var(--h1-line-height, var(--heading-line-height)) * 1em), 2px);
}

h2,
.h2 {
	line-height: round(nearest, calc(var(--h2-line-height, var(--heading-line-height)) * 1em), 2px);
}

h3,
.h3 {
	line-height: round(nearest, calc(var(--h3-line-height, var(--heading-line-height)) * 1em), 2px);
	letter-spacing: 0.2em;
}

h4,
.h4 {
	line-height: round(nearest, calc(var(--h4-line-height, var(--heading-line-height)) * 1em), 2px);
}

h5,
.h5 {
	line-height: round(nearest, calc(var(--h5-line-height, var(--heading-line-height)) * 1em), 2px);
}

h6,
.h6 {
	line-height: round(nearest, calc(var(--h6-line-height, var(--heading-line-height)) * 1em), 2px);
}

.bg-primary,
.bg-primary-color {
	background-color: var(--primary-color);
}

.bg-primary-light,
.bg-primary-light-color {
	background-color: var(--primary-light-color);
}

.bg-primary-dark,
.bg-primary-dark-color {
	background-color: var(--primary-dark-color);
}

.bg-secondary,
.bg-secondary-color {
	background-color: var(--secondary-color);
}

.bg-secondary-light,
.bg-secondary-light-color {
	background-color: var(--secondary-light-color);
}

.bg-secondary-dark,
.bg-secondary-dark-color {
	background-color: var(--secondary-dark-color);
}

.text-white,
.text-white-color {
	color: var(--color-white);
}

.text-primary-color {
	color: var(--primary-color);
}

.text-primary-light-color {
	color: var(--primary-light-color);
}

.text-primary-dark-color {
	color: var(--primary-dark-color);
}

.text-secondary-color {
	color: var(--secondary-color);
}

.text-secondary-light-color {
	color: var(--secondary-light-color);
}

.text-secondary-dark-color {
	color: var(--secondary-dark-color);
}

.fill-visible-height {
	min-height: round(up, calc(100vh - var(--content-start)), 1px);
}

/* Tables */
table {
	width: auto;
	margin: 0 calc(var(--column-gap-x__sixth) * -1);
	border: 0 none;
	border-spacing: 0;
	border-collapse: collapse;
}

table tr th,
table tr td {
	width: auto;
	padding: 0 var(--column-gap-x__sixth);
}

/**
 * Header
 */
body:where(:not(.home)) .site-header {
	border-bottom: 1px solid var(--primary-light-color);
}

.header-top {
	--padding-font-correction: 0.125rem;

	color: var(--color-white);
	padding: calc(var(--column-gap-y__sixth) - var(--padding-font-correction)) 0 calc(var(--column-gap-y__sixth) + var(--padding-font-correction)) 0;
	font-weight: 300;
	line-height: 2.25;
	letter-spacing: 0.05em;
	background-color: var(--primary-color);
}

.header-area {
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: flex-end;
}

.header-area .header-item .vanimedia-theme-icon {
	padding: 0;
	align-items: flex-end;
	padding-bottom: var(--column-gap-y__sixth);
}

.header-area .header-item .vanimedia-theme-icon svg {
	width: var(--icon-size__half);
	height: var(--icon-size__half);
}

.header-area .header-item:first-child .vanimedia-theme-icon {
	padding-right: var(--column-gap-x__sixth);
	justify-content: flex-end;
}

.header-area .header-item:last-child .vanimedia-theme-icon {
	padding-left: var(--column-gap-x__sixth);
	justify-content: flex-start;
}

/* Navigation */
mm-burger {
	--mb-bar-width: var(--icon-visible-size);
	--mb-bar-height: 1px;
	--mb-bar-spacing: 0.5rem;
	--mb-bar-spacing: calc((var(--icon-visible-size)) / 3);

	float: none;
	width: var(--icon-clickable-size);
	height: var(--icon-clickable-size);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

mm-burger:hover,
mm-burger:focus-visible {
	color: var(--primary-color);
}

.header-nav > ul {
	--nav-spacing: round(down, calc(var(--nav-item-spacing) / 2 * -1), 1px);

	margin-left: var(--nav-spacing);
	margin-right: var(--nav-spacing);
}

.mm-listitem__text {
	text-transform: uppercase;
}

/**
 * Icons
 */
.vanimedia-theme-icon,
.vanimedia-theme-icon-size-small,
.vanimedia-theme-icon-size-medium {
	color: inherit;
	width: var(--icon-clickable-size);
	height: var(--icon-clickable-size);
	padding: 0;
	display: flex;
	font-size: 0;
	line-height: 0;
}

.vanimedia-theme-icon svg,
.vanimedia-theme-icon-size-small svg,
.vanimedia-theme-icon-size-medium svg {
	color: inherit;
	stroke: currentColor;
}

.vanimedia-theme-icon-size-small {
	padding: var(--icon-visible-size-small);
}

.vanimedia-theme-icon-size-medium {
	padding: var(--icon-visible-size-medium);
}

/**
 * Backdrop overlay
 */
.vanimedia-theme-backdrop-overlay,
.vanimedia-theme-backdrop-overlay[aria-hidden='true'] {
	inset: 0;
	border: 0;
	padding: 0;

	position: fixed;

	opacity: 0;
	z-index: 10;
	display: block;
	visibility: hidden;
	pointer-events: none;

	background-color: var(--backdrop-color, rgba(0, 0, 0, 0.45));

	transition-property: opacity, visibility;
	transition-duration: var(--trans-duration);
	transition-timing-function: var(--trans-timing-function);
}

.vanimedia-theme-backdrop-overlay:not([aria-hidden]),
.vanimedia-theme-backdrop-overlay[aria-hidden='false'] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/**
 * Collapse
 */
:has(> :where(.vanimedia-theme-collapse-wrapper [aria-controls][data-apply-styling='true'])) {
	border-top: 1px solid var(--primary-light-color);
}

.vanimedia-theme-collapse-wrapper:has(> :where([aria-controls][data-apply-styling='true'])) {
	border-bottom: 1px solid var(--primary-light-color);
}

:where([aria-controls][data-apply-styling='true']),
button:where([aria-controls][data-apply-styling='true']) {
	width: 100%;
	color: var(--primary-dark-color);
	margin: 0;
	border: 0 none;
	display: flex;
	padding: round(nearest, clamp(0.5rem, 100vw, var(--column-gap-y__quarter)), 1px) 0;
	align-items: center;
	border-bottom: 1px solid var(--primary-light-color);
	text-transform: uppercase;
	justify-content: space-between;
}

.vanimedia-theme-collapse-wrapper > :where([aria-controls][data-apply-styling='true']) {
	border-bottom: 0 none;
}

button:where([aria-controls][data-apply-styling='true']) {
	background: none;
}

:where([aria-controls][data-apply-styling='true'])::after {
	width: 1.25rem;
	height: 1.25rem;
	content: '';
	transform: rotate(0deg);
	background-size: 1.25rem;
	background-image: var(--theme-icon-chevron-right);
	transition-property: transform;
	transition-duration: var(--trans-duration);
	transition-timing-function: var(--trans-timing-function);
}

:where([aria-expanded='true'][data-apply-styling='true'], [aria-selected='true'][data-apply-styling='true'])::after {
	transform: rotate(90deg);
}

.vanimedia-theme-collapse-target[aria-hidden='true'] {
	display: none;
}

/* Search */
.search-collapse {
	top: 0;
	gap: var(--column-gap-x__quarter);
	left: 0;
	width: 100%;
	opacity: 0;
	display: flex;
	z-index: 150;
	padding: var(--column-gap-y__half) var(--column-gap-x__half);
	position: fixed;
	transform: translateY(-100%);
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	background-color: var(--sticky-header-background-color);
	transition-property: opacity, transform;
	transition-duration: var(--trans-duration);
	transition-timing-function: var(--trans-timing-function);
}

.admin-bar .search-collapse {
	top: 32px;
}

.search-collapse:not([aria-hidden]),
.search-collapse[aria-hidden='false'] {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0s;
}

.search-collapse-trigger {
	color: inherit;
	margin: 0;
	border: 0 none;
	padding: 0;
	display: flex;
	background: unset;
	transition-property: color;
	transition-duration: var(--trans-duration);
	transition-timing-function: var(--trans-timing-function);
}

.search-collapse-trigger:hover {
	color: var(--header-link-hover-font-color);
}

/**
 * Forms
 */
label {
	line-height: 1.5;
}

select,
textarea,
input[type='tel'],
input[type='date'],
input[type='text'],
input[type='email'],
input[type='search'],
input[type='number'],
input[type='password'] {
	border: var(--input-border-width, var(--button-border-width)) solid var(--primary-color);
	border-radius: 0;
}

button:focus-visible,
.button:focus-visible,
a.button:focus-visible,
select:focus-visible,
textarea:focus-visible,
input[type='tel']:focus-visible,
input[type='date']:focus-visible,
input[type='text']:focus-visible,
input[type='email']:focus-visible,
input[type='search']:focus-visible,
input[type='number']:focus-visible,
input[type='password']:focus-visible {
	--outline-offset: 2px;
}

.button,
a.button,
.wp-element-button,
a.wp-element-button,
input[type='submit'],
input[type='button'],
input[type='submit'].button,
input[type='button'].button,
input[type='submit'].wp-element-button,
input[type='button'].wp-element-button,
.site-wrapper .button,
.site-wrapper a.button,
.site-wrapper .wp-element-button,
.site-wrapper a.wp-element-button,
.site-wrapper input[type='submit'],
.site-wrapper input[type='button'],
.site-wrapper input[type='submit'].button,
.site-wrapper input[type='button'].button,
.site-wrapper input[type='submit'].wp-element-button,
.site-wrapper input[type='button'].wp-element-button {
	--padding-y: var(--button-padding-y__top) var(--button-padding-x);
	--padding-x: var(--button-padding-y) var(--button-padding-x);
	--button-line-height: var(--button-line-height__rounded);
}

.button-xl {
	--button-xl-font-size: round(nearest, calc(var(--button-font-size) * 1.25), 2px);
}

.button-xl button,
.button-xl .button,
.button-xl a.button {
	--button-font-size: var(--button-xl-font-size);
}

select {
	background-size: 1.5rem;
	background-image: var(--theme-icon-chevron-down);
}

.mc4wp-response {
	gap: 1rem;
	display: inline-flex;
	text-align: center;
	padding-top: 1rem;
	flex-direction: column;
}

.mc4wp-alert {
	color: var(--primary-dark-color);
	border: 1px solid var(--primary-dark-color);
	padding: var(--column-gap-y__quarter) var(--column-gap-x__quarter);
	font-weight: var(--bold-font-weight);
	border-radius: 1rem;
}

.mc4wp-alert.mc4wp-success {
	color: var(--color-green);
	border-color: var(--color-green);
}

.mc4wp-alert.mc4wp-error {
	color: var(--color-red);
	border-color: var(--color-red);
}

.vanimedia-newsletter {
	display: inline-flex;
	flex-wrap: wrap;
}

.site-footer .mc4wp-response,
.site-footer .vanimedia-newsletter {
	width: 70%;
	display: flex;
}

.vanimedia-newsletter > div {
	width: 100%;
}

.vanimedia-newsletter input::placeholder {
	text-transform: lowercase;
}

.vanimedia-newsletter:focus-within {
	outline: var(--outline-width, 1px) solid rgba(0, 0, 0, 0.25);
	outline-offset: 1px;
}

.vanimedia-newsletter:focus-within input,
.vanimedia-newsletter:focus-within button {
	outline: 0 none;
}

.vanimedia-newsletter:focus-within input:focus-visible {
	background-color: rgba(180, 180, 180, 0.15);
}

.vanimedia-newsletter input:not([type='radio'], [type='button'], [type='checkbox']) {
	flex-grow: 1;
}

/**
 * WPBakery
 */
.content hr,
.content .vc_separator .vc_sep_holder .vc_sep_line {
	opacity: 1;
	border-color: var(--primary-light-color);
}

.wpb_wrapper {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
}

/**
 * Footer
 */
footer {
	clear: both;
}

.site-footer,
.site-copyright {
	border-top: 1px solid var(--primary-light-color);
}

.site-footer {
	--icon-clickable-size: var(--icon-size__half);

	margin-top: -1px;
}

.site-footer h2,
.site-footer .h2 {
	margin: 0;
	font-size: var(--footer-title-font-size);
	font-family: var(--footer-title-font-family);
}

.site-footer a:where(:has(.vanimedia-theme-icon)) {
	--footer-link-font-color: var(--primary-dark-color);
}

/**
 * Modal popup
 */
html .vanimedia-theme-modal-popup {
	top: 50%;
	left: 50%;
	border: 0;
	opacity: 0;
	z-index: 20;
	display: flex;
	position: fixed;
	transform: translate(-50%, -50%);
	visibility: hidden;
	align-items: center;
	pointer-events: none;
	justify-content: center;
	transition-property: opacity, visibility;
	transition-duration: var(--trans-duration);
	transition-timing-function: var(--trans-timing-function);
}

.vanimedia-theme-modal-popup:not([aria-hidden]),
.vanimedia-theme-modal-popup[aria-hidden='false'] {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.vanimedia-theme-modal-popup:focus,
.vanimedia-theme-modal-popup:focus-visible {
	outline: 0 none;
}

.vanimedia-theme-modal-popup__inner {
	width: clamp(320px, var(--ch-length, 50ch), calc(100vw - var(--column-gap-x)));
	padding: var(--column-gap-y__half) var(--column-gap-x__half);
	flex-grow: 1;
	min-width: 320px;
	background-color: var(--color-white);
}

.vanimedia-theme-modal-popup__close-button {
	--padding-font-correction: 0.125rem;

	top: calc(var(--padding-font-correction) * -1);
	position: relative;
	font-size: round(up, var(--button-font-size, 1rem), 2px);
	text-transform: lowercase;
}

/**
 * Store Locator
 */
.content .vanimedia-store-locator {
	--vanimedia-store-locator-color-emphasis: var(--primary-color);

	gap: 0;
	min-height: var(--vanimedia-store-locator-map-height);
}

.vanimedia-store-locator .vanimedia-store-locator__list a,
.vanimedia-store-locator .vanimedia-store-locator__list a:hover,
.vanimedia-store-locator .vanimedia-store-locator__list a:focus-visible {
	text-decoration: none;
}

.vanimedia-store-locator .vanimedia-store-locator__info-window {
	line-height: var(--line-height);
	font-family: var(--font-family);
	font-weight: var(--normal-font-weight);
}

.vanimedia-store-locator .vanimedia-store-locator__form {
	align-items: stretch;
}

.vanimedia-store-locator .vanimedia-store-locator__button {
	min-height: unset;
}

/**
 * WPForms
 */
div.wpforms-container-full .wpforms-form ul {
	position: relative;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-weight: inherit;
}

/**
 * Contact Form 7
 */
.aligncenter .wpcf7 p {
	position: relative;
}

.aligncenter .wpcf7 .wpcf7-spinner {
	top: 50%;
	position: absolute;
	transform: translateY(-50%) !important;
}

.content .wpcf7 .wpcf7-form .wpcf7-turnstile,
.content .wpcf7 .wpcf7-form .wpcf7-response-output {
	margin-bottom: round(up, calc(var(--column-gap-y) / 2), 1px);
}

.content .aligncenter .wpcf7 .wpcf7-form .wpcf7-turnstile {
	display: flex;
	justify-content: center;
}
