/********************************************************/
/*
/*      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); }
	.gray,
	.focus-gray:is(:hover, :focus)		{ color: var(--wp--preset--color--gray); }
	.off-gray,
	.focus-off-gray:is(:hover, :focus)	{ color: var(--wp--preset--color--off-gray); }
	.white,
	.focus-white:is(:hover, :focus)		{ color: var(--wp--preset--color--white); }
	.dark-green,
	.focus-dark-green:is(:hover, :focus){ color: var(--wp--preset--color--dark-green); }
	.lime-green,
	.focus-lime-green:is(:hover, :focus){ color: var(--wp--preset--color--lime-green); }
	.blue,
	.focus-blue:is(:hover, :focus)		{ color: var(--wp--preset--color--blue); }
	.bg-black							{ background-color: var(--wp--preset--color--black); }
	.bg-gray							{ background-color: var(--wp--preset--color--gray); }
	.bg-off-gray						{ background-color: var(--wp--preset--color--off-gray); }
	.bg-white							{ background-color: var(--wp--preset--color--white); }
	.bg-dark-green						{ background-color: var(--wp--preset--color--dark-green); }
	.bg-lime-green						{ background-color: var(--wp--preset--color--lime-green); }
	.bg-blue							{ background-color: var(--wp--preset--color--blue); }
	
	/* Text */
	.helvetica-now-display				{ font-family: var(--wp--preset--font-family--helvetica-now-display) !important; }
	.fraunces							{ font-family: var(--wp--preset--font-family--fraunces) !important; }
	.cooper					{ font-family: var(--wp--preset--font-family--cooper) !important; }
	.x-small							{ font-size: var(--wp--preset--font-size--x-small) !important; }
	.small								{ font-size: var(--wp--preset--font-size--small) !important; }
	.medium-size						{ font-size: var(--wp--preset--font-size--medium) !important; }
	.large								{ font-size: var(--wp--preset--font-size--large) !important; }
	.x-large							{ font-size: var(--wp--preset--font-size--x-large) !important; }
	.xx-large							{ font-size: var(--wp--preset--font-size--2-x-large) !important; }
	.omega								{ font-size: var(--wp--preset--font-size--omega) !important; line-height: .8 !important; }
	.thin								{ font-weight: 100 !important; }
	.extra-light						{ font-weight: 200 !important; }
	.light								{ font-weight: 300 !important; }
	.regular							{ font-weight: 400 !important; }
	.medium-weight						{ font-weight: 500 !important; }
	.semibold							{ font-weight: 600 !important; }
	.bold								{ font-weight: 700 !important; }
	.extra-bold							{ font-weight: 800 !important; }
	.heavy								{ font-weight: 900 !important; }
	.uppercase							{ text-transform: uppercase !important; }
	.lowercase							{ text-transform: lowercase !important; }
	.text-transform-none				{ text-transform: none !important; }
	.underline							{ text-decoration: underline !important; }
	.text-deco-none						{ text-decoration: none !important; }
	.text-center						{ text-align: center !important; }
	.text-end							{ text-align: end !important; }
	.text-start							{ text-align: start !important; }
	
	/* Opacity */
	.opaque								{ opacity: 1; }
	.opacity-half						{ opacity: .5; }
	.transparent						{ opacity: 0; }
	
	/* Other */
	.user-select-none					{ user-select: none; }
	
	/******************************/
	/* Buttons
	/******************************/
	:is(.wp-block-button__link, .gform_footer) {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
		color: var(--wp--custom--default-color--text);
		background-color: transparent;
		padding: .6rem 6rem .6rem 1rem !important;
		transition: color .3s, background-color .3s !important;
	}
	
	:is(.wp-block-button__link, .gform_footer):hover {
		color: var(--wp--custom--default-color--bg);
		background-color: var(--wp--custom--default-color--text);
	}
	
	:is(.wp-block-button__link, .gform_footer)::before,
	:is(.wp-block-button__link, .gform_footer)::after {
		content: '';
		display: block;
		position: absolute;
		right: .4rem;
		top: 50%;
		width: auto;
		height: calc(100% - .6rem);
		aspect-ratio: 1;
		background: url(../images/fleche.svg) no-repeat;
		background-size: auto 100%;
		translate: 0 -50%;
		opacity: 1;
		transition: opacity .3s;
	}
	
	:is(.wp-block-button__link, .gform_footer)::before {
		filter: var(--wp--custom--filter--dark-green);
	}
	
	:is(.wp-block-button__link, .gform_footer)::after {
		filter: var(--wp--custom--filter--off-gray);
	}
	
	:is(.wp-block-button__link, .gform_footer):hover::before,
	:is(.wp-block-button__link, .gform_footer):not(:hover)::after {
		opacity: 0;
	}
	
	/* Light style */
	.wp-block-button.is-style-light .wp-block-button__link {
		color: var(--wp--custom--default-color--focus);
		border-color: var(--wp--custom--default-color--focus);
	}
	
	.wp-block-button.is-style-light .wp-block-button__link:hover {
		color: var(--wp--custom--default-color--text);
		border-color: var(--wp--custom--default-color--focus);
		background-color: var(--wp--custom--default-color--focus);
	}
	
	.wp-block-button.is-style-light .wp-block-button__link::before {
		filter: var(--wp--custom--filter--lime-green);
	}
	
	.wp-block-button.is-style-light .wp-block-button__link::after {
		filter: var(--wp--custom--filter--dark-green);
	}
	
	/* Round style */
	.wp-block-button.is-style-round .wp-block-button__link {
		padding: .125rem !important;	
	}
	
	.wp-block-button.is-style-round .wp-block-button__link::before,
	.wp-block-button.is-style-round .wp-block-button__link::after {
		display: none;
	}
	
	.wp-block-button.is-style-round .wp-block-button__link i {
		width: auto;
		height: 1em;
		aspect-ratio: 1;
		font-size: var(--wp--preset--font-size--medium);
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gfield_label,
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gfield_label > .gfield_required::before {
		font-size: var(--wp--preset--font-size--medium) !important;
		line-height: 1.17 !important;
		letter-spacing: 1px !important;
		font-weight: 500 !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gfield_label > .gfield_required::before {
		content: '*';
		color: var(--wp--custom--default-color--text);
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gfield_label .gfield_required_text {
		display: none;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :is(input, textarea):not([type="checkbox"], [type="radio"], [type="submit"], [type="button"])  {
		padding: 1.45rem 6rem 1.45rem 1rem !important;
		border: 2px solid var(--wp--preset--color--blue) !important;
	}

	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :is(input, select, textarea):not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]) {
		font-size: var(--wp--preset--font-size--x-small) !important;
		line-height: 1.2 !important;
		font-weight: 500 !important;
		background-color: transparent !important;
		border-radius: 1.5rem !important;
		box-shadow: unset !important;
		color: var(--wp--preset--color--black);
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) select {
		appearance: none;
		background: url(../images/fleche-down.svg) no-repeat;
		background-size: auto 75%;
		background-position: right .25rem top 50%;
		padding: .66rem 6rem .66rem 1rem !important;
		border: 2px solid var(--wp--preset--color--dark-green) !important;
		cursor: pointer;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gform_footer {
		position: relative;
		width: max-content;
		padding: 0 !important;
		border-color:  var(--wp--preset--color--dark-green) !important;
		border-radius: 2rem !important;
		/* overflow: hidden; */
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gform_footer::before,
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gform_footer::after {
		pointer-events: none;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gform_footer input[type="submit"] {
		font-family: var(--wp--preset--font-family--helvetica-now-display) !important;
		font-size: var(--wp--preset--font-size--x-small) !important;
		line-height: 1 !important;
		font-weight: 700 !important;
		color: inherit !important;
		background: transparent !important;
		padding: .6rem 6rem .6rem 1rem !important;
		border: 2px solid var(--wp--preset--color--dark-green) !important;
		border-radius: 2rem !important;
		box-shadow: unset !important;
		transition: unset !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) .gform-loader {
		position: absolute !important;
		top: 50%;
		right: -3rem;
		width: 1.5rem;
		height: 1.5rem;
		translate: 0 -50%;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper :is(.gform_validation_errors, .gfield_validation_message) {
		width: max-content;
		max-width: 100%;
		text-align: center;
		background-color: var(--wp--preset--color--dark-green) !important;
		padding: .5rem 1.5rem !important;
		border: none !important;
		border-radius: 1.5rem !important;
		box-shadow: unset !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_validation_errors h2,
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_validation_errors .gform-icon,
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gfield_validation_message {
		color: var(--wp--preset--color--lime-green) !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_validation_errors h2,
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_confirmation_message {
		font-size: var(--wp--preset--font-size--medium) !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_validation_errors .gform-icon {
		width: 2.25rem;
		height: 2.25rem;
		aspect-ratio: 1;
		font-size: var(--wp--preset--font-size--large) !important;
		background-color: transparent !important;
		margin-inline: auto;
		border-color: var(--wp--preset--color--lime-green) !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gfield_validation_message {
		font-size: var(--wp--preset--font-size--small) !important;
	}
	
	:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gform_confirmation_message {
		text-align: center;
	}
	
	@media screen and (max-width: 900px) {
		:is(.wp-site-blocks, .edit-post-visual-editor, .editor-styles-wrapper) :not(.newsletter-widget) > .gform_wrapper .gfield { grid-column: span 12 !important; }
	}
	
	/******************************/
	/* Other
	/******************************/	
	
	/* Cookie banner/modal styling */
	#moove_gdpr_save_popup_settings_button,
	#moove_gdpr_save_popup_settings_button:hover {
		background-color: var(--wp--preset--color--dark-green) !important;
		z-index: 9 !important;
	}
	
	/* #moove_gdpr_save_popup_settings_button {
		background-color: var(--wp--preset--color--dark-green);
	} */
	
	/* .cky-btn-revisit-wrapper {
		background-color: var(--wp--preset--color--dark-green) !important;
		border: 2px solid var(--wp--preset--color--off-gray) !important;
		box-sizing: border-box;
		z-index: 3 !important;
	}
	
	body:has(#burger-menu-toggle:checked) .cky-btn-revisit-wrapper {
		display: none !important;
	}
	
	.cky-btn-revisit-wrapper .cky-btn-revisit {
		box-shadow: none !important;
	}
	
	.cky-btn-revisit-wrapper img {
		filter: var(--wp--custom--filter--off-gray) !important;
	}
	
	:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn {
		background-color: var(--wp--preset--color--white) !important;
		border-color: var(--wp--custom--default-color--text) !important;
	}
	
	:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn, button.cky-show-desc-btn:not(:hover):not(:active) {
		color: var(--wp--custom--default-color--text) !important;
	}
	
	:is(.cky-notice-btn-wrapper, .cky-prefrence-btn-wrapper) .cky-btn.cky-btn-accept {
		background-color: var(--wp--custom--default-color--text) !important;
		color: var(--wp--preset--color--white) !important;
	} */