/********************************************************/
/*
/*      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); }
	.white,
	.focus-white:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--white); }
	.off-white,
	.focus-off-white:is(:hover, :focus, :active) 	{ color: var(--wp--preset--color--off-white); }
	.dark-green,
	.focus-dark-green:is(:hover, :focus, :active)	{ color: var(--wp--preset--color--dark-green); }
	.dark-blue,
	.focus-dark-blue:is(:hover, :focus, :active) 	{ color: var(--wp--preset--color--dark-blue); }
	.blue,
	.focus-blue:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--blue); }
	.san-juan-blue,
	.focus-san-juan-blue:is(:hover, :focus, :active) { color: var(--wp--preset--color--san-juan-blue); }
	.light-blue,
	.focus-light-blue:is(:hover, :focus, :active) 	{ color: var(--wp--preset--color--light-blue); }
	
	.bg-black										{ background-color: var(--wp--preset--color--black); }
	.bg-white										{ background-color: var(--wp--preset--color--white); }
	.bg-off-white									{ background-color: var(--wp--preset--color--off-white); }
	.bg-dark-green									{ background-color: var(--wp--preset--color--dark-green); }
	.bg-dark-blue									{ background-color: var(--wp--preset--color--dark-blue); }
	.bg-blue										{ background-color: var(--wp--preset--color--blue); }
	.bg-san-juan-blue								{ background-color: var(--wp--preset--color--san-juan-blue); }
	.bg-light-blue									{ background-color: var(--wp--preset--color--light-blue); }
	
	/* 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); }
	.xx-large										{ font-size: var(--wp--preset--font-size--2-x-large); }
	.xxx-large										{ font-size: var(--wp--preset--font-size--3-x-large); }
	.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
	/******************************/
	body:not(.wp-admin) button:not(.mgbutton, .moove-gdpr-modal-close),
	body:not(.wp-admin) input:is([type="button"], [type="submit"]),
	body:not(.wp-admin) .gfield--type-fileupload .ginput_container_fileupload,
	.wp-block-button__link {
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--1-5) !important;
		scale: 1.05;
		translate: 2.5%;
		transition: color .3s, background-color .3s, border-color .3s, scale .3s !important;
	}
	
	body:not(.wp-admin) button:active,
	body:not(.wp-admin) input:is([type="button"], [type="submit"]):active,
	body:not(.wp-admin) .gfield--type-fileupload .ginput_container_fileupload:active,
	.wp-block-button__link:active {
		scale: 1;
	}
	
	/* Light blue style */
	.wp-block-button.is-style-light-blue > .wp-block-button__link,
	.wp-block-button__link.light-blue {
		color: var(--wp--preset--color--blue);
		background-color: var(--wp--preset--color--light-blue);
		border-color: var(--wp--preset--color--light-blue);
	}
	
	.wp-block-button.is-style-light-blue > .wp-block-button__link:is(:hover, :focus, :active),
	.wp-block-button__link.light-blue:is(:hover, :focus, :active) {
		color: var(--wp--preset--color--off-white);
		background-color: var(--wp--preset--color--blue);
		border-color: var(--wp--preset--color--blue);
	}
	
	/* Page BG color specific style */
	body:is(.has-light-blue-background-color, .has-off-white-background-color) .wp-block-button > .wp-block-button__link {
		color: var(--wp--preset--color--off-white);
		background-color: var(--wp--preset--color--blue);
		border-color: var(--wp--preset--color--blue);
		
		&:is(:hover, :focus, :active) {
			color: var(--wp--preset--color--blue);
			background-color: var(--wp--preset--color--light-blue);
			border-color: var(--wp--preset--color--light-blue);
		}
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	body:not(.wp-admin) .gform_fields {
		column-gap: var(--wp--preset--spacing--2-5);
		row-gap: var(--wp--preset--spacing--2-5);
	}
	
	body:not(.wp-admin) .gfield .gfield_label,
	body:not(.wp-admin) .gfield .gfield_required::before {
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.291;
		font-weight: 500;
		color: var(--wp--custom--color--default--focus);
	}
	
	body:not(.wp-admin) .gfield .gfield_label {
		gap: 0;
		margin-block-end: var(--wp--preset--spacing--0-50);
	}
	
	body:not(.wp-admin) .gfield .gfield_required_text {
		display: none;
	}
	
	body:not(.wp-admin) .gfield .gfield_required::before {
		content: '*';
		color: var(--wp--custom--color--default--focus);
	}
	
	body:not(.wp-admin) :is(input, select, textarea, .ginput_container_fileupload):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"]) {
		font-family: var(--wp--preset--font-family--fold-grotesque-pro);
		color: var(--wp--custom--color--default--text);
		background: transparent;
	}
	
	body:not(.wp-admin) :is(input, select, textarea):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"]) {
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.3;
		font-weight: 300;
		outline: unset !important;
		box-shadow: unset !important;
		resize: none;
	}
	
	body:not(.wp-admin) :is(input, select):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"]) {
		padding: var(--wp--preset--spacing--1) 0;
		border: unset;
		border-block-end: 1px solid var(--wp--custom--color--default--focus);
		border-radius: unset;
	}
	
	body:not(.wp-admin) :is(textarea, .ginput_container_fileupload) {
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--1-5);
		border: 1px solid var(--wp--custom--color--default--focus);
		border-radius: 8px;
	}
	
	/* Custom file upload input */
	body:not(.wp-admin) .gfield--type-fileupload {
		display: flex;
		flex-direction: column;
	}
	
	body:not(.wp-admin) .gfield--type-fileupload .ginput_container_fileupload {
		flex: 1;
		position: relative;
		width: max-content;
		font-size: var(--wp--preset--font-size--x-small);
		line-height: 1.055;
		font-weight: 400;
		cursor: pointer;
	}
	
	body:not(.wp-admin) .gfield--type-fileupload .ginput_container_fileupload:is(:hover, :focus, :active) {
		color: var(--wp--custom--color--default--focus);
		background: var(--wp--custom--color--default--accent);
	}
	
	body:not(.wp-admin) .gfield--type-fileupload .ginput_container_fileupload::before {
		content: 'Téléverser un fichier';
		pointer-events: none;
	}
	
	body:not(.wp-admin).en .gfield--type-fileupload .ginput_container_fileupload::before {
		content: 'Upload a file';
	}
	
	body:not(.wp-admin) .gfield--type-fileupload input[type="file"] {
		position: absolute;
		inset: 0;
		border: unset !important;
		opacity: 0;
	}
	
	body:not(.wp-admin) .gfield--type-fileupload :is(.gform_fileupload_rules, .gfield_fileupload_progress),
	body:not(.wp-admin) .gfield .gfield_description.charleft {
		display: none !important;
	}
	
	body:not(.wp-admin) .gfield--type-fileupload .file-name {
		display: block;
		position: absolute;
		top: 50%;
		left: 110%;
		font-family: inherit;
		font-size: var(--wp--preset--font-size--x-small);
		color: var(--wp--custom--color--default--focus);
		pointer-events: none;
		translate: 0 -50%;
	}
	
	/* Form footer */
	body:not(.wp-admin) .gform_footer input[type="submit"] {
		font-family: var(--wp--preset--font-family--fold-grotesque-pro) !important;
		font-size: var(--wp--preset--font-size--small) !important;
		line-height: 1.055 !important;
		font-weight: 400 !important;
		color: var(--wp--custom--color--default--text) !important;
		background: transparent !important;
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--1-5) !important;
		border: 1px solid var(--wp--custom--color--default--focus) !important;
		border-radius: 8px !important;
		outline: unset !important;
		scale: 1.05;
		translate: 2.5%;
		transition: color .3s, background-color .3s, border-color .3s, scale .3s !important;
	}
	
	body:not(.wp-admin) .gform_footer input[type="submit"]:is(:hover, :focus, :active) {
		color: var(--wp--custom--color--default--focus) !important;
		background: var(--wp--custom--color--default--accent) !important;
	}
	
	body:not(.wp-admin) .gform_footer input[type="submit"]:active {
		scale: 1;
	}
	
	/* Form error/confirmation messages & loading icon */
	body:not(.wp-admin) .gform_validation_errors {
		display: none;
	}
	
	body:not(.wp-admin) .gform_confirmation_message {
		font-size: var(--wp--preset--font-size--large) !important;
		color: var(--wp--custom--color--default--focus) !important;
		text-align: center;
	}
	
	body:not(.wp-admin) .gform-loader {
		right: -10px;
		width: 20px;
		height: 20px;
		border-block-start-color: transparent !important;
		border-block-end-color: var(--wp--custom--color--default--focus) !important;
		border-inline-start-color: var(--wp--custom--color--default--focus) !important;
		border-inline-end-color: transparent !important;
	}
	
	@media (max-width: 750px) {
		body:not(.wp-admin) .gfield { grid-column: span 12 !important; }
	}
	
	/******************************/
	/* Other
	/******************************/
	/* Cookie banner/modal styling */
	.moove-gdpr-info-bar-container {
		background-color: var(--wp--preset--color--dark-blue);
	}
	
	.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--off-white) !important;
	}
	
	.moove-gdpr-infobar-settings-btn {
		border-color: var(--wp--preset--color--off-white) !important;
	}
	
	.moove-gdpr-infobar-settings-btn:hover {
		color: var(--wp--preset--color--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-infobar-allow-all,
	.moove-gdpr-infobar-reject-btn {
		background-color: var(--wp--preset--color--dark-blue);
	}
	
	#moove_gdpr_save_popup_settings_button {
		background-color: var(--wp--preset--color--blue) !important;
		padding: unset !important;
		cursor: pointer;
		scale: 1 !important;
		translate: unset !important;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon svg {
		translate: -.5px .5px;
	}