/********************************************************/
/*
/*      General CSS
/*
/********************************************************/

	/******************************/
	/* Modifier classes
	/******************************/
	/* Layout */
	.flex											{ display: flex; }
	.flex-column									{ flex-direction: column; }
	.justify-start									{ justify-content: start; }
	.justify-center									{ justify-content: center; }
	.justify-end									{ justify-content: end; }
	.justify-around									{ justify-content: space-around; }
	.justify-between								{ justify-content: space-between; }
	.justify-evenly									{ justify-content: space-evenly; }
	.align-start									{ align-items: start; }
	.align-center									{ align-items: center; }
	.align-end										{ align-items: end; }
	
	/* Color */
	.black,
	.focus-black:is(:hover, :focus) 				{ color: var(--wp--preset--color--black); }
	.mine-shaft-black,
	.focus-mine-shaft-black:is(:hover, :focus) 		{ color: var(--wp--preset--color--mine-shaft-black); }
	.malibu-blue,
	.focus-malibu-blue:is(:hover, :focus) 			{ color: var(--wp--preset--color--malibu-blue); }
	.elephant-blue,
	.focus-elephant-blue:is(:hover, :focus) 		{ color: var(--wp--preset--color--elephant-blue); }
	.astral-blue,
	.focus-astral-blue:is(:hover, :focus) 			{ color: var(--wp--preset--color--astral-blue); }
	.yellow,
	.focus-yellow:is(:hover, :focus)				{ color: var(--wp--preset--color--yellow); }
	.orange-peel,
	.focus-orange-peel:is(:hover, :focus) 			{ color: var(--wp--preset--color--orange-peel); }
	.pampas-white,
	.focus-pampas-white:is(:hover, :focus) 			{ color: var(--wp--preset--color--pampas-white); }
	.white,
	.focus-white:is(:hover, :focus) 				{ color: var(--wp--preset--color--white); }
	
	.bg-black										{ background-color: var(--wp--preset--color--black); }
	.bg-mine-shaft-black							{ background-color: var(--wp--preset--color--mine-shaft-black); }
	.bg-malibu-blue									{ background-color: var(--wp--preset--color--malibu-blue); }
	.bg-elephant-blue								{ background-color: var(--wp--preset--color--elephant-blue); }
	.bg-astral-blue									{ background-color: var(--wp--preset--color--astral-blue); }
	.bg-yellow										{ background-color: var(--wp--preset--color--yellow); }
	.bg-orange-peel									{ background-color: var(--wp--preset--color--orange-peel); }
	.bg-pampas-white								{ background-color: var(--wp--preset--color--pampas-white); }
	.bg-white										{ background-color: var(--wp--preset--color--white); }
	
	
	/* Text */
	.x-small										{ font-size: var(--wp--preset--font-size--x-small); }
	.small											{ font-size: var(--wp--preset--font-size--small); }
	.medium-small									{ font-size: var(--wp--preset--font-size--medium-small); }
	.medium-size									{ font-size: var(--wp--preset--font-size--medium); }
	.medium-large									{ font-size: var(--wp--preset--font-size--medium-large); }
	.large											{ font-size: var(--wp--preset--font-size--large); }
	.x-large										{ font-size: var(--wp--preset--font-size--x-large); }
	.omega											{ font-size: var(--wp--preset--font-size--omega); }
	.thin											{ font-weight: 100; }
	.extra-light									{ font-weight: 200; }
	.light											{ font-weight: 300; }
	.regular										{ font-weight: 400; }
	.medium-weight									{ font-weight: 500; }
	.semibold										{ font-weight: 600; }
	.bold											{ font-weight: 700; }
	.extra-bold										{ font-weight: 800; }
	.heavy											{ font-weight: 900; }
	.uppercase										{ text-transform: uppercase; }
	.lowercase										{ text-transform: lowercase; }
	.underline										{ text-decoration: underline; }
	.text-deco-none,
	.text-deco-none	a								{ text-decoration: none; }
	
	/* Opacity */
	.opacity-full									{ opacity: 1; }
	.opacity-half									{ opacity: .5; }
	.opacity-zero									{ opacity: 0; }
	
	/* Other */
	.user-select-none								{ user-select: none; }
	
	/******************************/
	/* Buttons
	/******************************/
	.wp-block-button,
	.wp-element-button,
	body:not(.wp-admin, .login) .gform_footer {
		max-width: 100%;
	}
	
	.wp-element-button,
	body:not(.wp-admin, .login) .gform_footer {
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		gap: 10px;
		position: relative;
		width: max-content !important;
		min-height: 42px;
		text-align: center;
		color: var(--text-color) !important;
		padding-block: var(--wp--preset--spacing--0-50) !important;
		padding-inline: var(--wp--preset--spacing--3) calc(var(--wp--preset--spacing--3) + 10px + 42px) !important;
		box-sizing: border-box;
		cursor: pointer;
		scale: 1;
		transition: color .3s, scale .1s !important;
	}
	
	.wp-element-button::before,
	.wp-element-button::after,
	body:not(.wp-admin, .login) .gform_footer::before,
	body:not(.wp-admin, .login) .gform_footer::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 0;
		border: 2px solid var(--text-color);
		border-radius: 43px;
		box-sizing: border-box;
		transition: background .3s, border-color .3s !important;
	}
	
	.wp-element-button::before,
	body:not(.wp-admin, .login) .gform_footer::before {
		left: 0;
		width: calc(100% - 10px - 42px);
		height: 100%;
		background: rgba(var(--bg-color), 0);
		z-index: -1;
	}
	
	.wp-element-button::after,
	body:not(.wp-admin, .login) .gform_footer::after {
		right: 0;
		top: calc(50% + 2px);
		translate: 0 -50%;
		width: 42px;
		height: 42px;
		aspect-ratio: 1;
		background: var(--arrow-svg) no-repeat center / 18px, rgba(var(--arrow-bg-color), 0);
		border-radius: 50%;
	}
	
	/* Dark variation (default) */
	.wp-element-button,
	body:not(.wp-admin, .login) .gform_footer {
		--text-color: var(--wp--custom--color--default--text);
		--text-color-active: var(--wp--custom--color--default--bg);
		--bg-color: var(--wp--custom--color--rgb-values--elephant-blue);
		--arrow-svg: url(../images/arrow.svg);
		--arrow-bg-color: var(--wp--custom--color--rgb-values--yellow);
	}
	
	/* Light variation */
	.wp-block-button.is-style-light .wp-element-button {
		--text-color: var(--wp--custom--color--default--accent);
		--text-color-active: var(--wp--custom--color--default--text);
		--bg-color: var(--wp--custom--color--rgb-values--yellow);
		--arrow-svg: url(../images/arrow-light.svg);
		--arrow-bg-color: var(--wp--custom--color--rgb-values--elephant-blue);
	}
	
	/* Hover/focus/active animation */
	.wp-element-button:is(:hover, :focus),
	body:not(.wp-admin, .login) .gform_footer:is(:hover, :focus) {
		color: var(--text-color-active) !important;
	}
	
	body:not(.wp-admin, .login) .gform_footer:is(:hover, :focus) input[type="submit"] {
		color: inherit !important;
	}
	
	.wp-element-button:is(:hover, :focus)::before,
	body:not(.wp-admin, .login) .gform_footer:is(:hover, :focus)::before {
		background: rgba(var(--bg-color), 1);
	}
	
	.wp-element-button:is(:hover, :focus)::after,
	body:not(.wp-admin, .login) .gform_footer:is(:hover, :focus)::after {
		background: var(--arrow-svg) no-repeat center / 18px, rgba(var(--arrow-bg-color), 1);
	}
	
	.wp-element-button:active,
	body:not(.wp-admin, .login) .gform_footer:active {
		scale: .975;
	}
	
	@media (width <= 600px) {
		.wp-element-button,
		body:not(.wp-admin, .login) .gform_footer {
			min-height: 42px;
			padding-inline: var(--wp--preset--spacing--2) calc(var(--wp--preset--spacing--2) + 10px + 42px) !important;
		}
		
		.wp-element-button::before,
		body:not(.wp-admin, .login) .gform_footer::before {
			left: 0;
			width: calc(100% - 10px - 42px);
			height: 100%;
			background: rgba(var(--bg-color), 0);
			z-index: -1;
		}
		
		.wp-element-button::after,
		body:not(.wp-admin, .login) .gform_footer::after {
			right: 0;
			width: 42px;
			height: 42px;
			aspect-ratio: 1;
			background: var(--arrow-svg) no-repeat center / 18px, rgba(var(--arrow-bg-color), 0);
			border-radius: 50%;
		}
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	body:not(.wp-admin, .login) .gform_fields {
		column-gap: var(--wp--preset--spacing--3);
		row-gap: var(--wp--preset--spacing--4-5);
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label,
	body:not(.wp-admin, .login) .gfield .gfield_required::before {
		width: max-content;
		max-width: 100%;
		font-family: var(--wp--preset--font-family--grtsk-peta);
		font-size: var(--wp--preset--font-size--medium-small);
		line-height: 1.143;
		font-weight: 300;
		color: var(--wp--custom--color--default--accent);
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label,
	body:not(.wp-admin, .login) .gfield_validation_message {
		margin-inline-start: 30px;
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label {
		gap: 0;
		margin-block-end: var(--wp--preset--spacing--0-75);
		cursor: pointer;
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_required_text,
	body:not(.wp-admin, .login) .gfield--type-choice input:not(.gchoice_other_control),
	body:not(.wp-admin, .login) .gfield--type-choice .gfield-choice-input:not(:checked) ~ .gchoice_other_control,
	body:not(.wp-admin, .login) .gfield--type-number .gfield_description:not(.gfield_validation_message) {
		display: none;
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_required::before {
		content: '*';
	}
	
	body:not(.wp-admin, .login) :is(input, select, textarea):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"]),
	body:not(.wp-admin, .login) .gfield--type-choice label {
		font-family: var(--wp--preset--font-family--grtsk-peta);
		font-size: var(--wp--preset--font-size--medium-small);
		line-height: 1.143;
		font-weight: 300;
		color: var(--wp--preset--color--white);
	}
	
	body:not(.wp-admin, .login) :is(input, select, textarea):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"], [class*="ui-datepicker"]) {
		width: 100% !important;
		height: 64px;
		padding: 20px 30px 18px;
		background-color: transparent;
		border: 2px solid var(--wp--custom--color--default--accent);
		border-radius: 32px;
		box-sizing: border-box;
		box-shadow: unset !important;
		outline: unset !important;
		resize: none;
	}
	
	body:not(.wp-admin, .login) textarea:not([type="submit"], [type="button"], [type="file"], [class*="adminbar"], [class*="ui-datepicker"]) {
		border-radius: 40px;
	}
	
	/* Form footer */
	body:not(.wp-admin, .login) .gform_footer {
		position: relative;
		width: max-content;
		padding-block: unset !important;
		padding-inline: unset !important;
		margin-block-start: var(--wp--preset--spacing--2-5);
	}
	
	body:not(.wp-admin, .login) .gform_footer input[type="submit"] {
		height: 42px !important;
		font-family: var(--wp--preset--font-family--rebond-grotesque) !important;
		font-size: var(--wp--preset--font-size--small) !important;
		font-weight: 600 !important;
		color: inherit !important;
		background-color: transparent !important;
		padding-block: var(--wp--preset--spacing--0-50) !important;
		padding-inline: var(--wp--preset--spacing--3) calc(var(--wp--preset--spacing--3) + 10px + 42px) !important;
		border: unset !important;
		border-radius: unset !important;
		outline: unset !important;
		box-shadow: unset !important;
	}
	
	/* Form error/confirmation messages & loading icon */
	body:not(.wp-admin, .login) .gform_validation_errors {
		display: none;
	}
	
	body:not(.wp-admin, .login) .gfield_validation_message {
		font-size: var(--wp--preset--font-size--small);
		line-height: normal;
		color: var(--wp--preset--color--orange-peel) !important;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message {
		font-size: var(--wp--preset--font-size--medium) !important;
		font-weight: 500;
		text-align: center;
		color: var(--wp--custom--color--default--accent) !important;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message > * {
		margin-block: unset;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message > h3 {
		font-family: var(--wp--preset--font-family--rebond-grotesque);
	}
	
	body:not(.wp-admin, .login) .gform-loader {
		display: none;
	}
	
	body:not(.wp-admin, .login) .gform_wrapper form:has(.gform-loader) {
		position: relative;
	}
	
	body:not(.wp-admin, .login) .gform_wrapper form:has(.gform-loader)::after {
		content: '';
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 100px;
		height: auto;
		aspect-ratio: 1;
		background: url(../images/loading.svg) no-repeat center;
		background-size: contain;
		filter: var(--wp--custom--color--filter--white);
		translate: -50% 25%;
	}
	
	body:not(.wp-admin, .login) .gform_wrapper form:has(.gform-loader) .gform_fields {
		pointer-events: none;
		opacity: .5;
	}
	
	@media (width <= 450px) {
		body:not(.wp-admin, .login) .gform_fields {
			display: flex;
			flex-direction: column;
		}
	}
	
	/******************************/
	/* Patterns
	/******************************/
	/* Coordinates */
	.coordinates {
		display: grid;
		/* grid-template-areas:
		'addresses 	addresses'
		'emails		phone-numbers'; */
		grid-template-areas:
		'addresses'
		'emails'
		'phone-numbers';
		/* grid-template-columns: repeat(2, minmax(0, 1fr)); */
		grid-template-columns: minmax(0, 1fr);
		grid-auto-rows: max-content;
		column-gap: var(--wp--preset--spacing--7-5);
		row-gap: var(--wp--preset--spacing--2);
	}
	
	.coordinates > .addresses {
		grid-area: addresses;
	}
	
	.coordinates > .phone-numbers {
		grid-area: phone-numbers;
	}
	
	.coordinates > .emails {
		grid-area: emails;
	}
	
	.coordinates p {
		color: var(--wp--custom--color--default--text);
		font-weight: 500;
		margin-block: unset;
	}
	
	.coordinates p:has(> a):is(:hover, :focus) {
		color: var(--wp--custom--color--default--focus);
	}
	
	.coordinates p > a {
		color: inherit;
		font-weight: inherit;
		text-decoration: none;
	}
	
	/* Capsules */
	.capsule {
		width: max-content;
		max-width: 100%;
		background-color: var(--wp--preset--color--yellow);
		padding-block: var(--wp--preset--spacing--1);
		padding-inline: var(--wp--preset--spacing--3);
		border-radius: 40px;
		box-sizing: border-box;
		user-select: none;
	}
	
	.capsule.has-text-align-left {
		padding-inline: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3);
		border-radius: 0 40px 40px 0;
	}
	
	.capsule.has-text-align-right {
		padding-inline: var(--wp--preset--spacing--3) var(--wp--preset--spacing--1-5);
		border-radius: 40px 0 0 40px;
	}
	
	/* Embedded videos */
	.wp-block-post-content > .embed-container {
		aspect-ratio: 16/9;
	}
	
	.wp-block-post-content > .embed-container > iframe {
		width: 100%;
		height: 100%;
	}
	
	/******************************/
	/* ScrollTrigger animations
	/******************************/
	.st:not(.target-before, .target-after, .target-selector),
	.st:not(.target-selector).target-before::before,
	.st:not(.target-selector).target-after::after,
	.st.target-selector .target,
	.st.target-selector.target-before .target::before,
	.st.target-selector.target-after .target::after {
		opacity: var(--st-initial-opacity, 1) !important;
		transform: translate(var(--st-initial-translation-h, 0%), var(--st-initial-translation-v, 0%)) rotate(var(--st-initial-rotation, 0deg)) scale(var(--st-initial-scale, 1)) !important;
		transition-property: unset !important;
		transition-duration: unset !important;
		transition-delay: unset !important;
		transition-timing-function: unset !important;
	}
	
	.st:not(.stay-visible):not(.target-before, .target-after, .target-selector),
	.st:not(.stay-visible):not(.target-selector).target-before::before,
	.st:not(.stay-visible):not(.target-selector).target-after::after,
	.st:not(.stay-visible).target-selector .target,
	.st:not(.stay-visible).target-selector.target-before .target::before,
	.st:not(.stay-visible).target-selector.target-after .target::after {
		visibility: hidden !important;
	}
	
	.st:not(.target-before, .target-after, .target-selector):is(.active, .revealed),
	.st:not(.target-selector).target-before:is(.active, .revealed)::before,
	.st:not(.target-selector).target-after:is(.active, .revealed)::after,
	.st.target-selector:is(.active, .revealed) .target,
	.st.target-selector.target-before:is(.active, .revealed) .target::before,
	.st.target-selector.target-after:is(.active, .revealed) .target::after {
		visibility: visible !important;
		opacity: var(--st-final-opacity, 1) !important;
		transform: translate(var(--st-final-translation-h, 0%), var(--st-final-translation-v, 0%)) rotate(var(--st-final-rotation, 0deg)) scale(var(--st-final-scale, 1)) !important;
		transition-property: opacity, transform !important;
		transition-duration: var(--st-duration, 1250ms) !important;
		transition-delay: var(--st-delay, 0ms) !important;
		transition-timing-function: var(--st-timing-function, cubic-bezier(0.5, 0, 0, 1)) !important;
	}
	
	/******************************/
	/* Other
	/******************************/
	/* Cookie banner/modal styling */
	#moove_gdpr_cookie_info_bar {
		background-color: var(--wp--preset--color--astral-blue) !important;
		border: 1px solid var(--wp--preset--color--elephant-blue) !important;
	}
	
	.moove-gdpr-info-bar-container *,
	#moove_gdpr_cookie_modal * {
		-webkit-font-smoothing: auto !important;
		letter-spacing: 1px !important;
	}	
	
	.moove-gdpr-cookie-notice > p,
	.moove-gdpr-infobar-settings-btn,
	.moove_gdpr_text {
		color: var(--wp--preset--color--white) !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn) {
		color: var(--wp--preset--color--white) !important;
		background-color: var(--wp--preset--color--elephant-blue) !important;
		box-shadow: inset 0 0 0 1px var(--wp--preset--color--elephant-blue) !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn):is(:hover, :focus) {
		color: var(--wp--preset--color--elephant-blue) !important;
		background-color: var(--wp--preset--color--astral-blue) !important;
	}
	
	.moove-gdpr-infobar-settings-btn {
		color: var(--wp--preset--color--elephant-blue) !important;
		background-color: transparent !important;
	}
	
	.moove-gdpr-infobar-settings-btn:is(:hover, :focus) {
		color: var(--wp--preset--color--white) !important;
		background-color: var(--wp--preset--color--elephant-blue) !important;
	}
	
	.moove-gdpr-company-logo-holder img {
		object-fit: contain;
	}
	
	#moove-gdpr-menu li::before,
	#moove_gdpr_cookie_modal .cookie-switch::before,
	#moove_gdpr_cookie_modal .cookie-switch::after {
		display: none;
	}
	
	#moove_gdpr_save_popup_settings_button {
		background-color: var(--wp--preset--color--astral-blue) !important;
		border: 1px solid  var(--wp--preset--color--elephant-blue) !important;
		box-sizing: content-box;
		cursor: pointer;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon svg {
		translate: -.5px .5px;
	}