/********************************************************/
/*
/*      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); }
	.off-black,
	.focus-off-black:is(:hover, :focus) { color: var(--wp--preset--color--off-black); }
	.gray,
	.focus-gray:is(:hover, :focus) 		{ color: var(--wp--preset--color--gray); }
	.white,
	.focus-white:is(:hover, :focus) 	{ color: var(--wp--preset--color--white); }
	.orange,
	.focus-orange:is(:hover, :focus) 	{ color: var(--wp--preset--color--orange); }
	.yellow,
	.focus-yellow:is(:hover, :focus) 	{ color: var(--wp--preset--color--yellow); }
	.bg-black							{ background-color: var(--wp--preset--color--black); }
	.bg-off-black						{ background-color: var(--wp--preset--color--off-black); }
	.bg-gray							{ background-color: var(--wp--preset--color--gray); }
	.bg-white							{ background-color: var(--wp--preset--color--white); }
	.bg-orange							{ background-color: var(--wp--preset--color--orange); }
	.bg-yellow							{ background-color: var(--wp--preset--color--yellow); }
	
	/* Text */
	.x-small							{ font-size: var(--wp--preset--font-size--x-small); }
	.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); }
	.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; }
	.line-through						{ text-decoration: line-through; }
	.text-deco-none,
	.text-deco-none > a					{ text-decoration: none; }
	
	/* Opacity */
	.opaque								{ opacity: 1; }
	.opacity-half						{ opacity: .5; }
	.transparent						{ opacity: 0; }
	
	/* Other */
	.user-select-none					{ user-select: none; }
	
	/******************************/
	/* Buttons
	/******************************/
	.wp-block-button {
		max-width: 100%;
	}
	
	.wp-block-button__link,
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss),
	.tribe-common .wp-block-button__link,
	body.single-tribe_events #tribe-events-content button,
	body.paiement .tribe-tickets__commerce-checkout button,
	body.confirmation-achat .tribe-tickets__commerce-order button,
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join) {
		display: flex;
		align-items: center;
		gap: .75rem;
		width: max-content;
		text-align: left;
		max-width: 100%;
		padding-block: .2rem !important;
		padding-inline: .2rem 1.125rem !important;
		border-width: 2px !important;
		border-style: solid !important;
		border-color: var(--wp--custom--default-color--text);
		border-radius: 1.5rem !important;
		transition: color .3s, border-color .3s !important;
		user-select: none;
	}
	
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss) {
		flex: unset !important;
	}
	
	.wp-block-button__link::before,
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss)::before,
	body.single-tribe_events #tribe-events-content button:not(.tribe-tickets__tickets-item-quantity-remove, .ticket-quantity-remove, .tribe-tickets__tickets-item-quantity-add, .ticket-quantity-add, .tribe-modal__close-button, .ar-dialog-close, .tribe-tickets__attendee-tickets-item-remove)::before,
	body.paiement .tribe-tickets__commerce-checkout button::before,
	body.confirmation-achat .tribe-tickets__commerce-order button::before,
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join)::before {
		content: '';
		display: inline-block;
		width: auto;
		height: calc(100% - .5rem);
		min-height: 2rem;
		aspect-ratio: 1;
		background-color: var(--wp--custom--default-color--text);
		mask: url(../images/arrow.svg) center center / 50% no-repeat, linear-gradient(#000 0 0);
		mask-composite: exclude;
		border-radius: 50%;
		transition: background-color .3s;
	}
	
	.wp-block-button__link:is(:hover, :active, :focus),
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss):is(:hover, :active, :focus),
	body.single-tribe_events #tribe-events-content button:is(:hover, :active, :focus),
	body.paiement .tribe-tickets__commerce-checkout button:is(:hover, :active, :focus),
	body.paiement .tribe-tickets__commerce-checkout button:is(:hover, :active, :focus) #button-text,
	body.confirmation-achat .tribe-tickets__commerce-order button:is(:hover, :active, :focus),
	.wp-block-button.is-style-light .wp-block-button__link:is(:hover, :active, :focus),
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join):is(:hover, :active, :focus) {
		color: var(--wp--custom--default-color--focus);
		border-color: var(--wp--custom--default-color--focus);
	}
	
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss):is(:hover, :active, :focus),
	body.single-tribe_events #tribe-events-content button:is(:hover, :active, :focus),
	body.paiement .tribe-tickets__commerce-checkout button:is(:hover, :active, :focus),
	body.paiement .tribe-tickets__commerce-checkout button:is(:hover, :active, :focus) #button-text
	body.confirmation-achat .tribe-tickets__commerce-order button:is(:hover, :active, :focus),
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join):is(:hover, :active, :focus) {
		color: var(--wp--custom--default-color--focus) !important;
		background-color: transparent !important;
		padding: .2rem 1.125rem .2rem .2rem !important;
		border-width: 2px !important;
		border-style: solid !important;
		border-radius: 1.5rem !important;
		border-color: var(--wp--custom--default-color--focus) !important;
	}
	
	.wp-block-button__link:is(:hover, :active, :focus)::before,
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss):is(:hover, :active, :focus)::before,
	body.single-tribe_events #tribe-events-content button:not(.tribe-tickets__tickets-item-quantity-remove, .tribe-tickets__tickets-item-quantity-add):is(:hover, :active, :focus)::before,
	body.single-tribe_events #tribe-events-content button:is(#proceed-to-attendee-registration, #proceed-to-payment):is(:hover, :active, :focus)::before,
	body.paiement .tribe-tickets__commerce-checkout button:is(:hover, :active, :focus)::before,
	body.confirmation-achat .tribe-tickets__commerce-order button:is(:hover, :active, :focus)::before,
	.wp-block-button.is-style-light .wp-block-button__link:is(:hover, :active, :focus)::before,
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join):is(:hover, :active, :focus)::before {
		background-color: var(--wp--custom--default-color--focus);
	}
	
	/* Light variation */
	.wp-block-button.is-style-light .wp-block-button__link,
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss),
	body.single-tribe_events #tribe-events-content button,
	body.paiement .tribe-tickets__commerce-checkout button,
	body.confirmation-achat .tribe-tickets__commerce-order button,
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join) {
		color: var(--wp--custom--default-color--bg);
		border-color: var(--wp--custom--default-color--bg);
	}
	
	.wp-block-button.is-style-light .wp-block-button__link::before,
	:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) :is(button, .wp-element-button):not(.wc-block-components-totals-coupon__button, .wc-block-components-chip__remove, .wc-block-components-notice-banner__dismiss)::before,
	body.single-tribe_events #tribe-events-content button:not(.tribe-tickets__tickets-item-quantity-remove, .tribe-tickets__tickets-item-quantity-add, .tribe-modal__close-button, .ar-dialog-close, .tribe-tickets__attendee-tickets-item-remove, .tribe-tickets__attendee-tickets-submit, #proceed-to-payment)::before,
	body.paiement .tribe-tickets__commerce-checkout button::before,
	body.confirmation-achat .tribe-tickets__commerce-order button::before,
	body[class*="single-sfwd"] main > .wp-block-post-content :is(button, #btn-join)::before {
		background-color: var(--wp--custom--default-color--bg);
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	body:not(.wp-admin, .login) #loginform {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 16px;
		row-gap: 40px;
		position: relative;
	}
	
	body:not(.wp-admin, .login) .gfield,
	body:not(.wp-admin, .login) #loginform > p {
		position: relative;
		margin-block: unset;
	}
	
	body:not(.wp-admin, .login) #loginform > p,
	.wc-block-components-form div:has(> :is(select, input, textarea)) {
		display: flex;
		flex-direction: column;
	}
	
	.wc-block-components-form div:has(> :is(select, input, textarea)) {
		height: auto !important;
		background-color: transparent !important;
		border-radius: unset !important;
	}
	
	body:not(.wp-admin, .login) :is(.gfield_label, .gfield_required, .gform-field-label),
	body.paiement .tribe-tickets__commerce-checkout :is(.tribe-tickets__form-field-label, .tribe-tickets__form-field-description, .tribe-tickets__commerce-checkout-notice-content),
	body.paiement .tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-errors,
	body.paiement .tribe-tickets__commerce-checkout input,
	body:not(.wp-admin, .login) #loginform > p > :is(label, input),
	.wc-block-components-form div:has(> :is(select, input, textarea)) > :is(label, input),
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name input[type="text"] {
		font-family: var(--wp--preset--font-family--gotham) !important;
		font-size: var(--wp--preset--font-size--x-small) !important;
		font-weight: 700 !important;
		color: var(--wp--custom--default-color--text) !important;
		text-transform: uppercase !important;
		margin-block-end: 0;
		-webkit-font-smoothing: auto;
	}
	
	body:not(.wp-admin, .login) #loginform > p > input,
	body.paiement .tribe-tickets__commerce-checkout input,
	.wc-block-components-form div:has(> :is(select, input, textarea)) > input,
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name input[type="text"] {
		font-weight: 400 !important;
		text-transform: initial !important;
	}
	
	.wc-block-components-form div:has(> :is(select, input, textarea)) > label {
		order: -1;
		display: flex;
		gap: 6px;
		position: relative !important;
		top: unset !important;
		left: unset !important;
		max-width: 100% !important;
		line-height: normal !important;
		margin-block-end: var(--wp--preset--spacing--0-25) !important;
		transform: unset !important;
		white-space: normal !important;
		overflow: visible !important;
	}
	
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__form-field-label {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	body:not(.wp-admin, .login) .gform-field-label.gform-field-label--type-sub,
	body:not(.wp-admin, .login) .gfield_list_header .gform-field-label,
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__form-field-description,
	body.paiement .tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-errors {
		font-size: calc(var(--wp--preset--font-size--x-small) * .8);
		font-weight: 500;
		margin-block-start: var(--wp--preset--spacing--0-50);
	}
	
	body:not(.wp-admin, .login) .gfield_label .gfield_required::before,
	body:not(.wp-admin, .login) #loginform > p:is(.login-username, .login-password) > label::after,
	.wc-block-components-form div:has(> input[required]) > label::before {
		order: 1;
		content: '*';
		height: 0;
		font-family: inherit;
		font-size: 1.5rem;
		font-weight: inherit;
		line-height: normal;
		color: inherit;
	}
	
	body:not(.wp-admin, .login) #loginform > p:is(.login-username, .login-password) > label::after {
		margin-inline-start: 6px;
	}
	
	body:not(.wp-admin, .login) .gfield_label :is(.gfield_required_asterisk, .gfield_required_text),
	body:not(.wp-admin, .login) :is(.gform_required_legend, .gfield_visibility_hidden),
	body:not(.wp-admin) .ginput_container_creditcard .StripeElement--card + .gform-field-label--type-sub {
		display: none;
	}
	
	body:not(.wp-admin, .login) :is(input, textarea, select, .ginput_container_fileupload, .tribe-tickets__commerce-checkout-stripe-card-element):not([type="button"], [type="submit"], [class*="adminbar"], [class*="ui-datepicker"]),
	body:not(.wp-admin) .ginput_container_creditcard :is(.StripeElement--card, input),
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name input[type="text"] {
		max-width: unset;
		height: 60px;
		font-size: var(--wp--preset--font-size--x-small) !important;
		color: var(--wp--custom--default-color--text);
		border: 2px solid var(--wp--custom--default-color--text) !important;
		box-sizing: border-box;
	}
	
	body:not(.wp-admin) .ginput_container_creditcard :is(.StripeElement--card, input) {
		color: var(--wp--custom--default-color--text) !important;
	}
	
	body:not(.wp-admin, .login) :is(input, textarea, select, button):focus {
		outline: none !important;
		box-shadow: none !important;
	}
	
	body:not(.wp-admin, .login) textarea {
		height: auto;
		min-height: 300px;
		resize: vertical;
	}
	
	body:not(.wp-admin, .login) :is(input, textarea, .tribe-tickets__commerce-checkout-stripe-card-element):not([type="button"], [type="submit"], [class*="adminbar"], [class*="ui-datepicker"]),
	body:not(.wp-admin) .ginput_container_creditcard :is(.StripeElement--card, input),
	.wc-block-components-form div:has(> :is(select, input, textarea)) > input,
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name input[type="text"] {
		background-color: transparent !important;
		padding: 1.75rem 1.25rem !important;
		border-radius: .5rem;
	}
	
	body:not(.wp-admin, .login) .tribe-tickets__commerce-checkout-stripe-card-element,
	body:not(.wp-admin) .ginput_container_creditcard :is(.StripeElement--card, input) {
		display: flex;
		align-items: center;
		background-color: var(--wp--custom--default-color--bg) !important;
		margin-block-end: unset;
	}
	
	body:not(.wp-admin, .login) .tribe-tickets__commerce-checkout-stripe-card-element > div {
		width: 100%;
	}
	
	body:not(.wp-admin, .login) :is(select, .ginput_container_fileupload):not([class*="ui-datepicker"]),
	.learndash-wrapper select {
		min-height: 60px;
		appearance: none !important;
		font-weight: 600;
		background: url(../images/arrow-circle-down.svg) no-repeat right .5rem center !important;
		background-size: auto calc(100% - 1rem) !important;
		padding: .75rem 5rem .75rem 1.5rem;
		border-radius: 42px;
		cursor: pointer;
	}
	
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]),
	body:not(.wp-admin, .login) .ginput_container_number .instruction,
	.wc-block-components-form label:has(input:is([type="radio"], [type="checkbox"])) svg,
	.wc-block-components-form .wc-blocks-components-select .wc-blocks-components-select__container > svg {
		display: none;
	}
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]) + label,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"])) {
		position: relative !important;
		display: flex;
		align-items: center;
		column-gap: var(--wp--preset--spacing--0-50);
		width: max-content;
		max-width: 100%;
		font-size: var(--wp--preset--font-size--x-small);
		font-weight: 500;
		margin-inline-start: unset;
		cursor: pointer;
	}
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]) + label::before,
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]) + label::after,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"]))::before,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"]))::after {
		display: block !important;
		content: '' !important;
		width: auto;
		aspect-ratio: 1;
		border-radius: .15rem;
		box-sizing: border-box;
	}
	
	body:not(.wp-admin, .login) input[type="radio"] + label::before,
	body:not(.wp-admin, .login) input[type="radio"] + label::after,
	body:not(.wp-admin, .login) label:has(input[type="radio"])::before,
	body:not(.wp-admin, .login) label:has(input[type="radio"])::after {
		border-radius: 50%;
	}
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]) + label::before,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"]))::before {
		height: 2rem;
		border: 2px solid var(--wp--custom--default-color--text);
	}
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]) + label::after,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"]))::after {
		position: absolute;
		top: 50%;
		left: 1rem;
		height: 1rem;
		background-color: transparent;
		translate: -50% -50%;
	}
	
	/* .wc-block-components-form .wc-block-checkout__payment-method :not(.wc-block-components-payment-methods__save-card-info) > label:has(input:is([type="radio"], [type="checkbox"]))::after, */
	body[class*="single-sfwd"] label:has(input:is([type="radio"], [type="checkbox"]))::after {
		left: 2rem !important;
	}
	
	body:not(.wp-admin, .login) input:is([type="radio"], [type="checkbox"]):checked + label::after,
	body:not(.wp-admin, .login) label:has(input:is([type="radio"], [type="checkbox"]):checked)::after {
		background-color: var(--wp--custom--default-color--text);
	}
	
	.wc-block-components-form .wc-block-components-radio-control__label img {
		margin-inline-start: var(--wp--preset--spacing--1);
	}
	
	body:not(.wp-admin, .login) .gfield_list .gfield_list_header {
		margin-block-start: 16px;
	}
	
	body:not(.wp-admin, .login) .gfield_list .gfield_list_group {
		margin-block-end: 16px;
	}
	
	body:not(.wp-admin, .login) .gfield_list button {
		width: 24px !important;
		height: 24px !important;
		background-color: var(--wp--custom--default-color--text) !important;	
	}
	
	body:not(.wp-admin, .login) .gfield_list button::before {
		color: var(--wp--custom--default-color--bg) !important;
	}
	
	body:not(.wp-admin, .login) .gfield--type-section {
		border-color: rgba(7, 54, 75, 1);
	}
	
	body:not(.wp-admin, .login) .gfield--type-section > * {
		margin-block: .5em 0;
	}
	
	body:not(.wp-admin, .login) .ui-datepicker-current-day a {
		background-color: var(--wp--custom--default-color--text) !important;
	}
	
	body:not(.wp-admin, .login) .ginput_container_date {
		cursor: pointer;
	}
	
	body:not(.wp-admin, .login) .ginput_container_date::after {
		font-size: 25px !important;
	}
	
	body:not(.wp-admin, .login) .ginput_container_date::after,
	body:not(.wp-admin, .login) .gform_show_password,
	body:not(.wp-admin, .login) .ginput_container_number input::-webkit-inner-spin-button {
		filter: var(--wp--custom--filter--gray);
	}
	
	body:not(.wp-admin, .login) #gform_fields_2 .gfield--type-product.cke_formations {
		visibility: hidden;
		height: 0;
	}
	
	/* Custom file inputs */
	body:not(.wp-admin, .login) .gfield--type-fileupload {
		display: flex;
		flex-direction: column;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload .ginput_container_fileupload {
		flex: 1;
		position: relative;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload input[type="file"] {
		position: absolute;
		inset: 0;
		border: unset !important;
		opacity: 0;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload :is(.gform_fileupload_rules, .gfield_fileupload_progress, .gform_delete_file) {
		display: none !important;
	}
	
	body:not(.wp-admin, .login) .gfield--type-fileupload :is(.file-name, .gfield_fileupload_filename) {
		display: block;
		position: absolute;
		top: 50%;
		font-family: inherit;
		font-size: var(--wp--preset--font-size--x-small);
		color: var(--wp--custom--default-color--text);
		font-weight: 500;
		translate: 0 -50%;
	}
	
	/* Footer/LearnDash buttons */
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit),
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert),
	.learndash-wrapper .ld-alert > .ld-button {
		display: flex;
		align-items: center;
		gap: .75rem;
		position: relative;
		width: max-content;
		max-width: 100%;
		font-size: var(--wp--preset--font-size--x-small);
		font-weight: 600;
		padding: unset !important;
		border: 2px solid var(--wp--custom--default-color--text);
		border-radius: 1.5rem;
		transition: color .3s, border-color .3s !important;
	}
	
	body:not(.wp-admin, .login) #loginform > p.login-submit {
		flex-direction: row;
		grid-column: 1 / span 2;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit):has(input[type="submit"]:disabled) {
		display: none;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit)::before,
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert)::before {
		content: '';
		display: inline-block;
		width: auto;
		height: calc(100% - .5rem);
		min-height: 2rem;
		aspect-ratio: 1;
		background-color: var(--wp--custom--default-color--text);
		mask: url(../images/arrow.svg) center center / 50% no-repeat, linear-gradient(#000 0 0);
		mask-composite: exclude;
		margin: .2rem;
		border-radius: 50%;
		pointer-events: none;
		transition: background-color .3s;
	}
	
	.learndash-wrapper .ld-alert > .ld-button,
	.learndash-wrapper .ld-alert > .ld-button > .ld-icon {
		color: var(--wp--custom--default-color--text);
	}
	
	.learndash-wrapper .ld-alert > .ld-button {
		display: flex;
		align-items: center;
		font-size: var(--wp--preset--font-size--x-small) !important;
		font-weight: 600 !important;
		padding: calc(0.667em + 2px) calc(1.333em + 2px) !important;
		border: 2px solid var(--wp--custom--default-color--bg) !important;
	}
	
	.learndash-wrapper .ld-alert > .ld-button > .ld-icon.ld-icon-download {
		font-size: 24px;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit):hover,
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert):hover,
	.learndash-wrapper .ld-alert > .ld-button:hover,
	.learndash-wrapper .ld-alert > .ld-button:hover > .ld-icon {
		color: var(--wp--custom--default-color--focus) !important;
		border-color: var(--wp--custom--default-color--focus) !important;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit):hover::before,
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert):hover::before {
		background-color: var(--wp--custom--default-color--focus) !important;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit) input[type="submit"],
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert) > :is(.ld-button, input[type="submit"], input[type="button"]:only-child),
	.learndash-wrapper .ld-alert > .ld-button {
		min-height: calc(2rem + 4px) !important;
		background-color: transparent !important;
		padding-inline: calc(2rem + .75rem + .4rem)  1.125rem !important;
		outline: none !important;
		box-shadow: unset !important;
		opacity: 1 !important;
	}
	
	body:not(.wp-admin, .login) :is(.gform_footer, .login-submit) input[type="submit"],
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert) > :is(.ld-button, input[type="submit"], input[type="button"]:only-child) {
		font-family: inherit !important;
		font-size: inherit !important;
		font-weight: inherit !important;
		letter-spacing: inherit !important;
		line-height: inherit !important;
		text-transform: inherit !important;
		color: inherit !important;
		padding-block: .2rem 0 !important;
		margin-inline-start: calc((2rem + .75rem + .4rem) * -1) !important;
		border: unset !important;
		transition: unset !important;
	}
	
	body:not(.wp-admin, .login) #loginform > p.login-submit > input[type="submit"] {
		font-weight: bold !important;
		cursor: pointer;
	}
	
	/* Form error/confirmation messages & loading icon */
	body:not(.wp-admin, .login) .gform_validation_errors {
		display: none;
	}
	
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-notice {
		background-color: transparent !important;
		padding-block: unset !important;
		margin-block: var(--wp--preset--spacing--2) 0;
	}
	
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-notice::before {
		top: 50%;
		translate: 0 -50%;
		filter: var(--wp--custom--filter--orange);
	}
	
	body:not(.wp-admin, .login) .gfield_validation_message,
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-notice-content,
	body:not(.wp-admin, .login) .login-form-container[data-status="login-failed"] > #loginform::after,
	body:not(.wp-admin) .gfield--type-stripe_creditcard:has(#validation_message_2_41)::after,
	.wc-block-components-form .wc-block-components-validation-error {
		font-size: var(--wp--preset--font-size--x-small) !important;
		color: var(--wp--custom--default-color--focus) !important;
		padding-inline: 0 !important;
		margin-bottom: 0 !important;
		border: none !important;
	}
	
	body:not(.wp-admin, .login) .gfield_validation_message,
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-notice-content,
	body:not(.wp-admin, .login) .login-form-container[data-status="login-failed"] > #loginform::after,
	body:not(.wp-admin) .gfield--type-stripe_creditcard:has(#validation_message_2_41)::after {
		position: absolute;
		top: 100%;
	}
	
	.wc-block-components-form .wc-block-components-validation-error svg {
		fill: var(--wp--custom--default-color--focus) !important;
	}
	
	body:not(.wp-admin, .login) .login-form-container[data-status="login-failed"] > #loginform::after {
		content: "Informations d'identification invalides";
		display: block;
		top: 90px;
		left: 0;
		translate: 0 var(--wp--preset--spacing--1);
		font-weight: 400;
		translate: 0 50%;
	}
	
	body.paiement .tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-notice-content {
		position: relative;
		translate: 0 2px;
	}
	
	body:not(.wp-admin, .login) .gform_confirmation_message {
		color: var(--wp--custom--default-color--focus) !important;
		font-family: var(--wp--preset--font-family--degular-display) !important;
		font-size: var(--wp--preset--font-size--large) !important;
		font-weight: 700 !important;
		line-height: 0.8888888888888888 !important;
		text-align: center;
	}
	
	body:not(.wp-admin, .login) .gform-loader {
		position: absolute;
		top: 50%;
		right: -4rem;
		width: 2rem;
		height: 2rem;
		border-block-start-color: transparent !important;
		border-block-end-color: var(--wp--custom--default-color--focus) !important;
		border-inline-start-color: var(--wp--custom--default-color--focus) !important;
		border-inline-end-color: transparent !important;
		translate: 0 -50%;
	}
	
	/* Dark BG color */
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) :is(input, textarea, select, .ginput_container_fileupload, .file-name, .gfield_fileupload_filename, .gfield_label, .gfield_required, .gform-field-label, .gform_footer):not([type="button"], [type="submit"], [class*="adminbar"]),
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name input[type="text"],
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) input:is([type="radio"], [type="checkbox"]) + label::before,
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) label:has(input:is([type="radio"], [type="checkbox"]))::before,
	body[class*="single-sfwd"] label:has(input:is([type="radio"], [type="checkbox"]))::before,
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) :is(.gform_footer, .login-submit),
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert),
	.learndash-wrapper .ld-alert > .ld-button,
	.learndash-wrapper .ld-alert > .ld-button > .ld-icon,
	body.paiement .tribe-tickets__commerce-checkout :is(input, textarea, select, .tribe-tickets__commerce-checkout-stripe-card-element, .tribe-tickets__form-field-label, .tribe-tickets__form-field-description):not([type="button"], [type="submit"], [class*="adminbar"]),
	.wc-block-components-form div:has(> :is(select, input, textarea)) > label,
	body.paiement .tribe-tickets__commerce-checkout :is(input, textarea, select, .tribe-tickets__commerce-checkout-stripe-card-element):not([type="button"], [type="submit"], [class*="adminbar"]):focus,
	body:not(.wp-admin, .login) #loginform > p > :is(label, input) {
		color: var(--wp--custom--default-color--bg) !important;
		border-color: var(--wp--custom--default-color--bg) !important;
	}
	
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) select option,
	body.paiement .tribe-tickets__commerce-checkout select option,
	body.paiement .tribe-tickets__commerce-checkout select:focus option {
		color: var(--wp--custom--default-color--text) !important;
	}
	
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) input:is([type="radio"], [type="checkbox"]):checked + label::after,
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) label:has(input:is([type="radio"], [type="checkbox"]):checked)::after,
	body[class*="single-sfwd"] label:has(input:is([type="radio"], [type="checkbox"]):checked)::after,
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) :is(.gform_footer, .login-submit)::before,
	.learndash-wrapper :has(> :is(.ld-button, input[type="submit"], input[type="button"]:only-child)):not(.wpProQuiz_listItem, .ld-alert)::before,
	.learndash-wrapper .ld-alert > .ld-button::before,
	body.paiement .tribe-tickets__commerce-checkout input:is([type="radio"], [type="checkbox"]):checked + label::after {
		background-color: var(--wp--custom--default-color--bg) !important;
	}
	
	body:not(.wp-admin, .login) :is(.has-off-black-background-color, .has-black-background-color) .gfield--type-section {
		border-color: rgba(239, 239, 240, 1) !important;
	}
	
	body:not(.wp-admin, .login) .gfield_list button {
		background-color: var(--wp--custom--default-color--bg) !important;
	}
	
	body:not(.wp-admin, .login) .gfield_list button::before {
		color: var(--wp--custom--default-color--text) !important;
	}
	
	@media (max-width: 800px) {
		body:not(.wp-admin, .login) .gfield.gfield--width-half { grid-column: span 12 !important; }
		body:not(.wp-admin, .login) #loginform > p { grid-column: 1 / span 2; }
	}
	
	/******************************/
	/* Animations
	/******************************/
	/* Keyframes for dialog and popover elements */
	@keyframes fadeIn {
	  from { opacity: 0; }
	  to { opacity: 1; }
	}
	@keyframes fadeOut {
	  from { opacity: 1; }
	  to { opacity: 0; }
	}
	
	/******************************/
	/* Other
	/******************************/
	.half-width {
		max-width: 50% !important;
	}
	
	@media (max-width: 700px) {
		.half-width { max-width: calc(100% * (2/3)) !important; }
	}
	
	@media (max-width: 420px) {
		.half-width { max-width: 80% !important; }
	}
	
	@media (max-width: 320px) {
		.half-width { max-width: unset !important; }
	}
	
	/* GFUR Activation template */
	body.gfur-activate {
		min-height: 100vh;
		background-color: var(--wp--preset--color--off-black);
		padding-inline: calc((var(--wp--custom--viewport-width) - min(90rem, var(--wp--custom--max-size))) / 2);
		padding-block: var(--wp--preset--spacing--4);
		box-sizing: border-box;
	}
	
	body.gfur-activate #header,
	body.gfur-activate #header + hr {
		display: none;
	}
	
	body.gfur-activate .custom-logo img {
		width: 220px !important;
		height: auto !important;
		aspect-ratio: 100/39 !important;
	}
	
	body.gfur-activate :is(p, span) {
		color: var(--wp--preset--color--gray);
	}
	
	/* Password reset page */
	body.login-action-lostpassword :is(.language-switcher, .privacy-policy-page-link, #nav) {
		display: none;
	}
	
	/* LearnDash style override */
	.learndash-wrapper :is(.ld-profile-avatar, .ld-closer),
	.learndash-wrapper .ld-item-list-actions > .ld-expand-button,
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-wrapper::before,
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields label,
	.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-list-item-expanded::before,
	.learndash-wrapper .ld-expand-button span {
		display: none !important;
	}
	
	.learndash-wrapper .ld-section-heading :is(h1, h2, h3, h4, h5, h6) {
		text-transform: uppercase !important;
		color: var(--wp--custom--default-color--accent);
		margin-block: unset;
	}
	
	.learndash-wrapper .ld-section-heading h1 {
		font-size: var(--wp--preset--font-size--2-x-large) !important;
		line-height: 1.025 !important;
		font-weight: 800 !important;
	}
	
	.learndash-wrapper .ld-section-heading h2 {
		font-size: var(--wp--preset--font-size--x-large) !important;
		line-height: 1 !important;
		font-weight: 700 !important;
	}
	
	.learndash-wrapper .ld-section-heading h3 {
		font-size: var(--wp--preset--font-size--large) !important;
		line-height: 1.08 !important;
		font-weight: 700 !important;
	}
	
	.learndash-wrapper .ld-section-heading :is(h4, h5, h6),
	.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name {
		font-size: var(--wp--preset--font-size--medium) !important;
		line-height: 1.17 !important;
		font-weight: 700 !important;
	}
	
	.learndash-wrapper :is(.ld-profile-summary, .ld-profile-card, .ld-status-icon) {
		margin-block-start: unset !important;
	}
	
	.learndash-wrapper .ld-expand-button::before {
		font-size: var(--wp--preset--font-size--small) !important;
	}
	
	.learndash-wrapper .ld-progress .ld-progress-heading {
		font-size: var(--wp--preset--font-size--x-small) !important;
	}
	
	.learndash-wrapper .ld-item-details .ld-status-progress {
		line-height: 1em;
	}
	
	.learndash-wrapper .ld-progress .ld-progress-heading :is(.ld-progress-label, .ld-progress-percentage) {
		-webkit-font-smoothing: antialiased;
	}
	
	.learndash-wrapper .ld-item-list .ld-section-heading .ld-search-prompt:is(:hover, .ld-expanded),
	.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name:hover {
		color: var(--wp--custom--default-color--focus) !important;
	}
	
	.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name,
	.learndash-wrapper .ld-expand-button::before {
		color: var(--wp--preset--color--gray) !important;
	}
	
	.learndash-wrapper :is(.ld-item-search-wrapper, .ld-item-list-item, .ld-status-icon, .learndash-wrapper, .ld-expand-button, .ld-progress) {
		background-color: transparent !important;
	}
	
	.learndash-wrapper .ld-expand-button::before {
		content: "\e915" !important;
		font-family: ld-icons !important;
	}
	
	.learndash-wrapper .ld-expand-button.ld-expanded::before {
		rotate: 180deg;
	}
	
	.learndash-wrapper .ld-progress .ld-progress-bar {
		background-color: var(--wp--preset--color--gray) !important;
	}
	
	.learndash-wrapper :is(.ld-item-search-wrapper, .ld-item-list-item) {
		border: 2px solid var(--wp--preset--color--gray);
		border-radius: .5rem !important;
	}
	
	.learndash-wrapper .ld-item-list .ld-item-search .ld-item-search-fields .ld-item-search-name .ld-reset-button {
		top: 50%;
		bottom: unset;
		text-transform: uppercase;
		translate: 0 -50%;
	}
	
	.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name :is(span, .ld-item-title) {
		align-self: center;
		line-height: normal;
		/* translate: 0 2px; */
	}
	
	.learndash-wrapper .ld-item-list .ld-pagination {
		justify-content: center;
		padding-block-end: var(--wp--preset--spacing--2-5);
		margin-block-end: unset;
	}
	
	.learndash-wrapper .ld-item-list .ld-pagination .ld-pages {
		flex: unset !important;
		gap: var(--wp--preset--spacing--2);
		background-color: unset;
	}
	
	.learndash-wrapper .ld-item-list .ld-pagination .ld-pages > * {
		text-transform: initial;
		color: var(--wp--preset--color--gray);
	}
	
	/* Cookie banner/modal styling */
	.moove-gdpr-info-bar-container {
		background-color: var(--wp--preset--color--gray);
		/* border: 2px solid var(--wp--preset--color--off-black); */
	}
	
	.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-black) !important;
	}
	
	.moove-gdpr-infobar-settings-btn {
		border-color: var(--wp--preset--color--off-black) !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--custom--default-color--bg) !important;
		border: 2px solid var(--wp--preset--color--off-black) !important;
		box-sizing: content-box;
		cursor: pointer;
		z-index: 4 !important;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon svg {
		translate: -.5px .5px;
		filter: var(--wp--custom--filter--off-black);
	}
	
	/* Tax notice */
	.tax-notice {
		font-size: var(--wp--preset--font-size--x-small) !important;
		font-weight: 500 !important;
		color: var(--wp--preset--color--orange) !important;
		margin-block-start: var(--wp--preset--spacing--0-50) !important;
		margin-block-end: unset !important;
	}
	
	.tax-notice span {
		font-size: var(--wp--preset--font-size--medium) !important;
		font-weight: inherit !important;
		color: inherit !important;
	}
	
	.gform_wrapper .tax-notice {
		margin-block-start: -32px;
	}
	
	.gfield:is(.taxes) .ginput_product_price_label {
		display: none;
	}
	
	body.fr .gfield:is(.taxes__tps) .ginput_product_price:before  {
		content: 'TPS : ';
	}
	
	body.en .gfield:is(.taxes__tps) .ginput_product_price:before  {
		content: 'GST : ';
	}
	
	body.fr .gfield:is(.taxes__tvq) .ginput_product_price:before  {
		content: 'TVQ : ';
	}
	
	body.en .gfield:is(.taxes__tvq) .ginput_product_price:before  {
		content: 'QST : ';
	}
	
	@media (max-width: 450px) {
		.tax-notice { text-align: center; }
	}
	
	/* Scroll detection */
	//https://www.bram.us/2023/09/16/solved-by-css-scroll-driven-animations-detect-if-an-element-can-scroll-or-not/
	@keyframes detect-scroll {
		from, to {
			--scrollable: ; /* Space = True */
		}
	}
	
	.example {
		/* Use this code with the above animation to have a scoll-dependent CSS toggle */
		--scrollable: initial; /* Initial = False */
		animation: detect-scroll;
		animation-timeline: scroll(self);
		
		/* Usage example */
		--scrollable-value: var(--scrollable) lime;
		--not-scrollable-value: red;
		color: var(--scrollable-value, var(--not-scrollable-value));
	}