/********************************************************/
/*
/*      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, :active) 				{ color: var(--wp--preset--color--black); }
	.cape-cod-black,
	.focus-cape-cod-black:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--cape-cod-black); }
	.shady-lady-gray,
	.focus-shady-lady-gray:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--shady-lady-gray); }
	.mango-tango-orange,
	.focus-mango-tango-orange:is(:hover, :focus, :active)	{ color: var(--wp--preset--color--mango-tango-orange); }
	.wild-sand-white,
	.focus-wild-sand-white:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--wild-sand-white); }
	.white,
	.focus-bwhiteack:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--white); }
	.bg-black												{ background-color: var(--wp--preset--color--black); }
	.bg-cape-cod-black										{ background-color: var(--wp--preset--color--cape-cod-black); }
	.bg-shady-lady-gray										{ background-color: var(--wp--preset--color--shady-lady-gray); }
	.bg-mango-tango-orange									{ background-color: var(--wp--preset--color--mango-tango-orange); }
	.bg-wild-sand-white										{ background-color: var(--wp--preset--color--wild-sand-white); }
	.bg-white												{ background-color: var(--wp--preset--color--white); }
	
	/* Text */
	.small												{ font-size: var(--wp--preset--font-size--small); }
	.medium-size										{ font-size: var(--wp--preset--font-size--medium); }
	.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-element-button,
	body:not(.wp-admin, .login) .gform_footer {
		display: flex;
		gap: var(--wp--preset--spacing--3);
		justify-content: space-between;
		align-items: center;
		position: relative;
		width: max-content;
		max-width: 100%;
		text-align: left;
		padding-block: var(--wp--preset--spacing--0-50) !important;
		padding-inline: 0 !important;
		margin-inline: var(--wp--preset--spacing--0-50) !important;
		border-block-end-width: 1px !important;
		box-sizing: content-box;
		cursor: pointer;
		translate: calc(var(--wp--preset--spacing--0-50) * -1);
		transition: color .3s, background-color .3s, padding-inline .3s, margin-inline .3s !important;
	}
	
	.wp-element-button::before,
	body:not(.wp-admin, .login) .gform_footer::before,
	.wp-element-button::after,
	body:not(.wp-admin, .login) .gform_footer::after {
		content: '';
		display: inline-block;
		background: url(../images/arrow.svg) no-repeat center;
		width: 10px;
		height: 10px;
		opacity: 1;
		transition: opacity .3s, left .3s;
	}
	
	.wp-element-button::before,
	body:not(.wp-admin, .login) .gform_footer::before {
		order: 2;	
	}
	
	.wp-element-button::after,
	body:not(.wp-admin, .login) .gform_footer::after {
		position: absolute;
		left: 100%;
		top: 50%;
		filter: var(--wp--custom--color--filter--mango-tango-orange);
		translate: -100% -50%;
	}
	
	.wp-element-button::after,
	body:not(.wp-admin, .login) .gform_footer::after {
		filter: var(--wp--custom--color--filter--wild-sand-white);
	}
	
	.wp-element-button:is(:hover, :focus, :active),
	body:not(.wp-admin, .login) .gform_footer > input[type="submit"]:is(:hover, :focus, :active) {
		padding-inline: var(--wp--preset--spacing--0-50) !important;
		margin-inline: 0 !important;
	}
	
	.wp-element-button:is(:hover, :focus, :active)::before,
	body:not(.wp-admin, .login) .gform_footer:has(> input[type="submit"]:is(:hover, :focus, :active))::before,
	.wp-element-button:not(:hover, :focus, :active)::after,
	body:not(.wp-admin, .login) .gform_footer:has(> input[type="submit"]:not(:hover, :focus, :active))::after {
		opacity: 0;
	}
	
	.wp-element-button:is(:hover, :focus, :active)::after,
	body:not(.wp-admin, .login) .gform_footer:has(> input[type="submit"]:is(:hover, :focus, :active))::after {
		left: calc(100% - var(--wp--preset--spacing--0-50));
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) {
		position: relative;
		width: min(var(--wp--custom--viewport-width), calc(var(--wp--style--global--wide-size) + (var(--wp--custom--outer-pad) * 2))) !important;
		max-width: unset !important;
		padding-inline: var(--wp--custom--outer-pad);
		margin-inline-start: calc(var(--wp--custom--outer-pad) * -1) !important;
	}
	
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::before,
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::after {
		content: '';
		display: block;
		position: absolute;
		inset: 0;
		width: var(--wp--custom--viewport-width);
		height: 100%;
	}
	
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::before {
		background-color: var(--wp--preset--color--black) !important;
		opacity: .25;
		z-index: 0 !important;
	}
	
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::after {
		background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
		z-index: 1;
	}
	
	body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
		position: relative;
		margin-inline: var(--wp--custom--inline-start-offset) auto !important;
		z-index: 2;
	}
	
	body:not(.wp-admin, .login) .gform_fields {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--6);
		row-gap: var(--wp--preset--spacing--2);
	}
	
	body:not(.wp-admin, .login) .gform_fields .gfield {
		grid-column: span 2;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	body:not(.wp-admin, .login) .gform_fields .gfield--width-half {
		grid-column: span 1;
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label,
	body:not(.wp-admin, .login) .gfield .gfield_required::before,
	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,
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload {
		font-family: var(--wp--preset--font-family--aeonik-pro);
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.2;
		font-weight: 300;
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label,
	body:not(.wp-admin, .login) .gfield .gfield_required::before {
		width: max-content;
		max-width: 100%;
		color: var(--wp--custom--color--default--bg);
	}
	
	body:not(.wp-admin, .login) .gfield .gfield_label {
		gap: 0;
		line-height: 1em;
		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 {
		color: var(--wp--custom--color--default--accent);
		background-color: transparent;
	}
	
	body:not(.wp-admin, .login) :is(input, select, textarea):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"], [class*="ui-datepicker"]),
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload {
		width: 100% !important;
		padding-block: var(--wp--preset--spacing--0-50);
		padding-inline: unset;
		border-block: 1px solid var(--wp--custom--color--default--accent);
		border-inline: unset;
		border-radius: unset;
		box-sizing: border-box;
		box-shadow: unset !important;
		outline: unset !important;
		resize: none;
	}
	
	body:not(.wp-admin, .login) :is(input, select):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"], [class*="ui-datepicker"]),
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload {
		padding-block-start: unset;
		border-block-start: unset;
	}
	
	/* Custom file upload input */	
	body:not(.wp-admin, .login) .gfield--type-fileupload {
		grid-column: span 1 !important;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload {
		position: relative;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload::before,
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload::after {
		display: block;
		position: absolute;
		top: 50%;
		translate: 0 -50%;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload::before {
		content: 'Téléverser';
		left: 0;
		color: var(--wp--custom--color--default--accent);
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload::after {
		content: '';
		right: 0;
		width: 10px;
		height: auto;
		aspect-ratio: 9/14;
		background: url(../images/arrow-down.svg) no-repeat center;
		background-size: contain;
		rotate: 180deg;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload,
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload input[type="file"]::file-selector-button,
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload * {
		cursor: pointer;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload input[type="file"] {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		padding: unset !important;
		border: unset !important;
		opacity: 0;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload .gform_fileupload_rules {
		display: inline-block;
		font-size: 0;
		margin-block: unset;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload :is(.gfield_fileupload_progress, .ginput_preview_list, .ginput_preview) {
		display: none !important;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .file-name {
		display: block;
		position: absolute;
		bottom: 0;
		left: calc(100% + var(--wp--preset--spacing--0-50));
		font-family: inherit;
		font-size: var(--wp--preset--font-size--small);
		color: var(--wp--custom--color--default--bg);
		pointer-events: none;
	}
	
	/* Form footer */
	body:not(.wp-admin, .login) .gform_footer {
		position: relative;
		width: max-content;
		font-family: var(--wp--preset--font-family--aeonik-fono) !important;
		font-size: var(--wp--preset--font-size--small) !important;
		font-weight: 400 !important;
		line-height: 1 !important;
		color: var(--wp--custom--color--default--accent) !important;
		padding: unset !important;
		margin-block-start: var(--wp--preset--spacing--2) !important;
		margin-inline: unset !important;
		translate: calc(var(--wp--preset--spacing--0-50) * -1) !important;
	}
	
	body:not(.wp-admin, .login) .gform_footer::before,
	body:not(.wp-admin, .login) .gform_footer::after {
		position: absolute;
		top: 50%;
		left: unset !important;
		right: 0;
		translate: -100% -50%;
	}
	
	body:not(.wp-admin, .login) .gform_footer:has(> input[type="submit"]:is(:hover, :focus, :active)) {
		color: var(--wp--custom--color--default--bg) !important;
		background-color: var(--wp--custom--color--default--accent) !important;
	}
	
	body:not(.wp-admin, .login) .gform_footer input[type="submit"] {
		width: 100%;
		height: 100%;
		font-family: inherit !important;
		font-size: inherit !important;
		font-weight: inherit !important;
		line-height: inherit !important;
		color: inherit !important;
		background-color: transparent !important;
		padding-block: var(--wp--preset--spacing--0-50) !important;
		padding-inline: 0 calc(var(--wp--preset--spacing--3) + 10px) !important;
		margin-inline: var(--wp--preset--spacing--0-50) !important;
		border: unset !important;
		border-block-end: 1px solid var(--wp--custom--color--default--accent) !important;
		border-radius: unset !important;
		outline: unset !important;
		transition: inherit !important;
	}
	
	body:not(.wp-admin, .login) .gform_footer input[type="submit"]:is(:hover, :focus, :active) {
		padding-inline: var(--wp--preset--spacing--0-50) calc(var(--wp--preset--spacing--0-50) + var(--wp--preset--spacing--3) + 10px) !important;
		margin-inline: 0 !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) !important;
		line-height: normal;
		font-weight: 400;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message {
		color: var(--wp--custom--color--default--accent) !important;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message > * {
		font-size: var(--wp--preset--font-size--medium) !important;
		margin-block: unset;
	}
	
	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: 50px;
		height: auto;
		aspect-ratio: 1;
		background: url(../images/loading.svg) no-repeat center;
		background-size: contain;
		translate: -50% 25%;
	}
	
	@media (width <= 1600px) {
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
			margin-inline: 50% auto !important;
		}
		
		body:not(.wp-admin, .login) .gform_fields {
			column-gap: var(--wp--preset--spacing--3);
		}
	}
	
	@media (width <= 1400px) {
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
			margin-inline: 40% auto !important;
		}
		
		body:not(.wp-admin, .login) .gform_fields {
			column-gap: var(--wp--preset--spacing--1-5);
		}
	}
	
	@media (width <= 1000px) {
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::after {
			background: linear-gradient(90deg, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, 1) 100%);
		}
		
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
			margin-inline: 30% auto !important;
		}
	}
	
	@media (width <= 850px) {
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
			margin-inline: 20% auto !important;
		}
	}
	
	@media (width <= 750px) {
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper)::after {
			background: linear-gradient(90deg, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, 1) 100%);
		}
		
		body:not(.wp-admin, .login) .wp-block-group:has(> .gform_wrapper) > * {
			margin-inline: 0 auto !important;
		}
	}
	
	@media (width <= 650px) {
		body:not(.wp-admin, .login) .gform_fields .gfield:not(.gfield--type-fileupload) {
			grid-column: span 2 !important;
		}
	}
	
	/******************************/
	/* 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-opacity, 1) !important;
		transform: var(--st-transform, translate(0, 0) rotate(0deg) 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).active,
	.st:not(.target-selector).target-before.active::before,
	.st:not(.target-selector).target-after.active::after,
	.st.target-selector.active .target,
	.st.target-selector.target-before.active .target::before,
	.st.target-selector.target-after.active .target::after {
		visibility: visible !important;
		opacity: 1 !important;
		transform: translate(0, 0) rotate(0deg) 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: cubic-bezier(0.5, 0, 0, 1) !important;
	}
	
	/******************************/
	/* Other
	/******************************/
	/* Cookie banner/modal styling */
	#moove_gdpr_cookie_info_bar {
		background-color: var(--wp--preset--color--mango-tango-orange) !important;
		border: 1px solid var(--wp--preset--color--wild-sand-white) !important;
	}
	
	.moove-gdpr-info-bar-container *,
	#moove_gdpr_cookie_modal * {
		-webkit-font-smoothing: auto !important;
	}	
	
	.moove-gdpr-cookie-notice > p,
	.moove-gdpr-infobar-settings-btn,
	.moove_gdpr_text {
		color: var(--wp--preset--color--wild-sand-white) !important;
	}
	
	.mgbutton {
		font-size: 16px !important;
		font-weight: 300 !important;
		line-height: normal !important;
		opacity: 1 !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn, .moove-gdpr-infobar-settings-btn) {
		border: 1px solid var(--wp--preset--color--wild-sand-white) !important;
		box-shadow: unset !important;
	}
	
	.moove-gdpr-infobar-settings-btn,
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn):is(:hover, :focus, :active) {
		color: var(--wp--preset--color--wild-sand-white) !important;
		background-color: var(--wp--preset--color--mango-tango-orange) !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn),
	.moove-gdpr-infobar-settings-btn:is(:hover, :focus, :active) {
		color: var(--wp--preset--color--mango-tango-orange) !important;
		background-color: var(--wp--preset--color--wild-sand-white) !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--mango-tango-orange) !important;
		border: 1px solid var(--wp--preset--color--wild-sand-white) !important;
		box-sizing: content-box;
		cursor: pointer;
		z-index: 2 !important;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon svg {
		translate: -.5px .5px;
	}