/*** HELPERS & GENERAL ***/

:root {
	--primary: #273A2F;
	--sage: #8FAE9A;
	--moss: #4F6F5C;
	--accent: #C9A44C;
	--earth: #7A5C3E;
	--ivory: #F5F3EE;
	--soft: #ECEFE9;

	--white: #ffffff;
	--white-a: rgba(255, 255, 255, .1);
	--white-a-l: rgba(255, 255, 255, .05);
	--black: #000000;
	--black-a: rgba(0, 0, 0, .1);
	--black-a-l: rgba(0, 0, 0, .05);

	--error: #DC3545;
	--error-w: #ED9AA2;
	--error-a-w: #F8D6DA;
	--error-d: #c6313e;
	--success: #198754;
	--success-w: #8CC3A9;
	--success-a-w: #D1E7DD;
	--success-d: #157247;

	--linkedin: #0a66c2;
	--linkedin-d: #0854a1;

	--u-xs: 5px;
	--u-xs-n: -5px;
	--u-sm: 10px;
	--u-sm-n: -10px;
	--u: 20px;
	--u-n: -20px;
	--u-me: 30px;
	--u-me-n: -30px;
	--u-lg: 40px;
	--u-lg-n: -40px;
	--u-xl: 80px;
	--u-xl-n: -80px;
	--u-xxl: 100px;
	--u-xxl-n: -100px;

	--bw: 1px;
	--bw-n: -1px;
	--border: 1px solid var(--black-a);

	--shadow: 0 2px 10px rgba(0, 0, 0, .1);
	--shadow-lg: 0 5px 40px rgba(0, 0, 0, .1);

	--transition: .3s;
	--transition-bezier: .6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

::selection {color: var(--primary); background: rgba(233, 226, 45, .66);}
::-moz-selection {color: var(--primary); background: rgba(233, 226, 45, .66);}

main {
	margin-top: 22.5px;
}

* {outline: none !important;}

/*** COLOR & TYPOGRAPHY ***/

.primary-text, .has-primary-color, .has-primary-color * {color: var(--primary) !important};
.sage-text, .has-sage-color, .has-sage-color * {color: var(--sage) !important};
.moss-text, .has-moss-color, .has-moss-color * {color: var(--moss) !important};
.accent-text, .has-accent-color, .has-accent-color * {color: var(--accent) !important};
.earth-text, .has-earth-color, .has-earth-color * {color: var(--earth) !important};
.ivory-text, .has-ivory-color, .has-ivory-color * {color: var(--ivory) !important};
.soft-text, .has-soft-color, .has-soft-color * {color: var(--soft) !important};

.primary, .has-primary-background-color {background: var(--primary) !important;}
.sage, .has-sage-background-color {background: var(--sage) !important;}
.moss, .has-moss-background-color {background: var(--moss) !important;}
.accent, .has-accent-background-color {background: var(--accent) !important;}
.earth, .has-earth-background-color {background: var(--earth) !important;}
.ivory, .has-ivory-background-color {background: var(--ivory) !important;}
.soft, .has-soft-background-color {background: var(--soft) !important;}

.white, .has-white-background-color {background: var(--white) !important;}
.white-a {background: var(--white-a) !important;}
.black, .has-black-background-color {background: var(--black) !important;}

p, blockquote, b, i, em, strong, span {color: inherit;}

p, blockquote, ol {margin: var(--u) 0;}
p:first-child, blockquote:first-child, ul:first-child, ol:first-child {margin-top: 0;}
p:last-child, blockquote:last-child, ul:last-child, ol:last-child {margin-bottom: 0;}

.center-align {text-align: center;}
.right-align {text-align: right;}
.justify {text-align: justify;}
.pre-line {white-space: pre-line;}

.bold, strong, b {font-weight: 700;}

.uppercase {text-transform: uppercase;}

/*** COMPONENTS ***/

.wp-block-button__link.wp-element-button {
	transition: var(--transition);
	white-space: nowrap;
}

.wp-block-button__link.wp-element-button:hover, .wp-block-button__link.wp-element-button.has-soft-background-color:hover, .wp-block-button__link.wp-element-button.has-ivory-background-color:hover {
	background: var(--sage) !important;
}

.wp-block-button__link.wp-element-button.has-sage-background-color:hover {
	background: var(--soft) !important;
}

#venn {position: relative;}

/* #venn figure:last-child {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 50%;
} */

#cta-porteur {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	bottom: 40px;
	z-index: 99;
}

/*** GRID SYSTEM ***/

/*** HEADER ***/

header {min-height: 92px;}

body.admin-bar header > div.wp-block-group {
	margin-top: 32px;
}

.wp-block-site-logo.is-default-size img {min-width: 80px;}

header > div.wp-block-group {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 999;
	background: rgba(245, 243, 238, .5);
	backdrop-filter: blur(10px);
}

header .custom-logo-link {outline: none;}

header .wp-block-navigation__container > li > .wp-block-navigation-item__content {
	outline: none;
	text-decoration: none !important;
	border-bottom: 2px solid transparent;
	transition: var(--transition);
	margin-bottom: -2px;
}

header .wp-block-navigation__container > li > .wp-block-navigation-item__content:hover {
	border-bottom: 2px solid var(--primary);
}

header .wp-block-navigation__submenu-container, footer .wp-block-navigation__submenu-container {
	top: 35px !important;
	padding: var(--u-sm) 0;
	border-radius: 10px;
/*	overflow: hidden !important;*/
	border: 0 !important;
}

header .wp-block-navigation__submenu-container::before, footer .wp-block-navigation__submenu-container::before {
	content: '';
	display: block;
	position: absolute;
	background: transparent;
	width: 100%;
	height: 10px;
	top: -10px;
}

header .wp-block-navigation__submenu-container li, footer .wp-block-navigation__submenu-container li {
	background: transparent !important;
}

header .wp-block-navigation__submenu-container li a, footer .wp-block-navigation__submenu-container li a {
/*	background: rgba(255, 255, 255, .5);*/
/*	backdrop-filter: blur(10px);*/
	outline: none;
}

/*** HOME ***/

/*** PAGES ***/

/*** SINGLES ***/

/*** WP CONTENT ***/

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline: none !important;
	white-space: nowrap;
}

.wp-container-content-16d1eb73 {max-height: 20px !important;}

.wp-block-accordion-heading__toggle-icon {
	font-size: 0rem;
	width: 15px;
}

.wp-block-accordion-heading__toggle-icon::after {
	content: '›';
	font-size: 1.6rem;
}

.wp-block-accordion-item.is-open>.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(90deg);
}

/*** FOOTER ***/

footer {margin-top: 0;}

/*** FLUENT FORMS ***/

main .ffc_conv_wrapper.ffc_inline_form {
	border-radius: var(--u-sm) !important;
	border: var(--border) !important;
	border-color: var(--primary) !important;
	overflow: hidden !important;
}

main .ffc_inline_form.ffc_conv_wrapper .ff_conv_app .vff .ff_conv_section_wrapper {min-height: 50vh;}

main .ffc_inline_form.ffc_conv_wrapper .ff_conv_app {background: transparent !important;}

main [class*=ff_conv_app_] .q-inner .o-btn-action {
	border-radius: var(--u-xl) !important;
	font-weight: 600 !important;
	outline: none !important;
}

main .ff_conv_input .o-btn-action::after {border-radius: var(--u-xl) !important;}

main [class*=ff_conv_app_] .q-inner .o-btn-action, main [class*=ff_conv_app_] .footer-inner-wrap .f-nav, main [class*=ff_conv_app_] .vff-footer .f-progress-bar-inner, main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li.f-selected .f-key, main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li.f-selected .f-key-hint {
	background: var(--primary) !important;
}

main [class*=ff_conv_app_] .q-inner .o-btn-action:focus::after {
	box-shadow: var(--sage) 0px 0px 0px 2px;
}

main [class*=ff_conv_app_] .f-answer input:focus, main [class*=ff_conv_app_] .f-answer textarea:focus {box-shadow: var(--sage) 0px 2px !important;}

main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li.f-selected .f-key {border-color: var(--primary) !important}

main [class*=ff_conv_app_] .f-enter .f-enter-desc, main [class*=ff_conv_app_] .ffc-counter-div span, main [class*=ff_conv_app_] .fh2 .f-text, main [class*=ff_conv_app_] .f-label-wrap, main [class*=ff_conv_app_] .f-answer {color: var(--primary) !important;}

main [class*=ff_conv_app_] .f-answer input, main [class*=ff_conv_app_] .f-answer textarea {
	color: var(--primary) !important;
	box-shadow: var(--sage) 0px 2px !important;
}

main ::placeholder {
	font-family: inherit;
	font-weight: 400;
}

main .ff-custom_html small {
	font-size: 1rem;
	line-height: 100%;
}

main .ff-custom_html hr {
	border: 0;
	background: var(--primary);
	height: 1px;
}

main [class*=ff_conv_app_] .f-answer textarea {
	font-size: 1rem !important;
	max-height: 200px;
}

main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li:hover, main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li:focus, main [class*=ff_conv_app_] .f-label-wrap .f-key-hint, main .vff ul.f-radios li span.f-key, main [class*=ff_conv_app_] .f-label-wrap .f-key {
	background: var(--sage) !important;
	border-color: var(--primary) !important;
	border-width: 1px !important;
}

main [class*=ff_conv_app_] .f-answer input::placeholder, main [class*=ff_conv_app_] .f-answer textarea::placeholder {color: #9491ac !important;}

main [class*=ff_conv_app_] .ffc-counter-div {
	font-size: 1.5rem;
	font-weight: 600;
}

main [class*=ff_conv_app_] .ffc-counter-div .counter-value span {
	position: relative;
	top: -1px;
}

main [class*=ff_conv_app_] .ffc-counter-div .counter-value span::before {content: 'Q';}

main [class*=ff_conv_app_] .ffc-counter-div .counter-value span::after {content: '.';}

main [class*=ff_conv_app_] .ffc-counter-div .counter-icon-span {
	top: -4px;
	position: relative;
}

main [class*=ff_conv_app_] .ffc-counter-div .counter-icon-span svg, main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li.f-selected svg {fill: var(--primary) !important;}

main [class*=ff_conv_app_] .vff-footer .f-progress-bar {background: var(--primary) !important;}

main .vff .f-invalid, main .vff .text-alert, main .vff .f-required {color: var(--error) !important;}

main [class*=ff_conv_app_] .f-answer .f-radios-wrap ul li {
	background: var(--ivory) !important;
	border: var(--border) !important;
}

main .ff-default .ff-el-input--label label {
	font-size: 1rem;
}

main .ff-default .ff-el-form-control {
	border-radius: var(--u-xs) !important;
	border: var(--border) !important;
	background: transparent;
	font-weight: 500;
	color: var(--grey);
	font-family: inherit;
}

main .ff-default textarea.ff-el-form-control {
	line-height: 1.3rem;
}

main form.fluent_form_4 .ff-btn-submit:not(.ff_btn_no_style) {
	background: var(--primary);
	font-size: var(--wp--preset--font-size--small);
	border-radius: 30px;
	padding-top: 1rem;
	padding-right: 2.25rem;
	padding-bottom: 1rem;
	padding-left: 2.25rem;
}

main .ff-default .ff-el-form-check:last-child label.ff-el-form-check-label {font-size: 1rem;}

main .fluentform .ff-el-tooltip svg {fill: var(--sage);}

main .ff-default .ff-el-form-control:focus {border-color: var(--primary) !important;}

main .ff-el-group.ff-el-is-error .ff-el-form-control {border-color: var(--error) !important;}

main .ff-el-group.ff-el-is-error .error.text-danger, main .fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
	background: transparent !important;
	color: var(--error) !important;
}

main form.fluent_form_1 .ff-btn-submit:not(.ff_btn_no_style) {
	background: var(--primary) !important;
	font-weight: 600 !important;
	border-radius: var(--u-lg) !important;
	font-size: 1.25rem;
}

/*main .ff-btn:focus:not(.ff_btn_no_style) {*/
/*	box-shadow: var(--primary) 0px 0px 0px 2px !important;*/
/*}*/

main .fc_image_holder {
	background: var(--sage);
}

main .fc_image_holder img {
	mix-blend-mode: luminosity;
}

main .ff-el-input-checkboxes-container .ff-el-input--content {
	display: flex;
	gap: var(--u-sm);
}

main .ff-el-input-checkboxes-container .ff-el-input--content .ff-el-form-check {
	width: 33%;
}

main .ff-el-input-checkboxes-container .ff-el-input--content .ff-el-form-check label {
	border: var(--border);
	padding: var(--u-sm);
	font-size: 1rem;
	border-radius: var(--u-xs) !important;
	width: 100%;
	display: flex;
	align-content: center;
	transition: .3s;
}

main .ff-el-input-checkboxes-container .ff-el-input--content .ff-el-form-check label:hover {
	border-color: var(--sage);
}

main .ff-el-input-checkboxes-container .ff-el-input--content .ff-el-form-check .ff-el-form-check-label:has(input:checked) {
	border-color: var(--primary);
	background: var(--soft);
}

main .ff-el-input-checkboxes-container .ff-el-input--content .ff-el-form-check .ff-el-form-check-input {
	top: initial;
	margin-right: var(--u-xs);
}

main .ff_submit_btn_wrapper {margin-bottom: 0 !important;}

[name="cf-turnstile-response"] {mix-blend-mode: darken;}

.ff-message-success {
	border: 0;
	box-shadow: none;
	padding: var(--u);
	background: var(--soft);
}

.ff-message-success *:first-child {margin-top: 0;}

.ff-message-success *:last-child {margin-bottom: 0;}

/*** JS ***/

.anime-picto video {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
	mix-blend-mode: darken;
}

.anime-picto.is-visible video {
	opacity: 1;
}

#hero {
	position: relative;
}

#hero #hero-photos {
	z-index: 2;
	position: relative;
	pointer-events: none;
}

#hero #particles-home {
	position: absolute;
	bottom: -70px;
	right: -70px;
	width: 65%;
	height: 100%;
	z-index: 1;
}

/*** CHEATS ***/

.margin-u {margin: var(--u) 0 !important;}
.margin-u-xs {margin: var(--u-xs) 0 !important;}
.margin-u-sm {margin: var(--u-sm) 0 !important;}
.margin-u-me {margin: var(--u-me) 0 !important;}
.margin-u-lg {margin: var(--u-lg) 0 !important;}
.margin-u-xl {margin: var(--u-xl) 0 !important;}
.margin-t-u {margin-top: var(--u) !important;}
.margin-b-u {margin-bottom: var(--u) !important;}
.margin-t-u-xs {margin-top: var(--u-xs) !important;}
.margin-t-u-sm {margin-top: var(--u-sm) !important;}
.margin-t-u-me {margin-top: var(--u-me) !important;}
.margin-t-u-lg {margin-top: var(--u-lg) !important;}
.margin-t-u-xl {margin-top: var(--u-xl) !important;}
.margin-t-u-xxl {margin-top: var(--u-xxl) !important;}
.margin-b-u-xs {margin-bottom: var(--u-xs) !important;}
.margin-b-u-sm {margin-bottom: var(--u-sm) !important;}
.margin-b-u-me {margin-bottom: var(--u-me) !important;}
.margin-b-u-lg {margin-bottom: var(--u-lg) !important;}
.margin-b-u-xl {margin-bottom: var(--u-xl) !important;}
.margin-b-u-xxl {margin-bottom: var(--u-xxl) !important;}
.margin-u-n {margin: var(--u-n) 0 !important;}
.margin-t-u-n {margin-top: var(--u-n) !important;}
.margin-b-u-n {margin-bottom: var(--u-n) !important;}
.margin-t-u-xs-n {margin-top: var(--u-xs-n) !important;}
.margin-t-u-sm-n {margin-top: var(--u-sm-n) !important;}
.margin-t-u-me-n {margin-top: var(--u-me-n) !important;}
.margin-t-u-lg-n {margin-top: var(--u-lg-n) !important;}
.margin-t-u-xl-n {margin-top: var(--u-xl-n) !important;}
.margin-t-u-xxl-n {margin-top: var(--u-xxl-n) !important;}
.margin-b-u-xs-n {margin-bottom: var(--u-xs-n) !important;}
.margin-b-u-sm-n {margin-bottom: var(--u-sm-n) !important;}
.margin-b-u-me-n {margin-bottom: var(--u-me-n) !important;}
.margin-b-u-lg-n {margin-bottom: var(--u-lg-n) !important;}
.margin-b-u-xl-n {margin-bottom: var(--u-xl-n) !important;}
.margin-b-u-xxl-n {margin-bottom: var(--u-xxl-n) !important;}

.no-margin {margin: 0 !important;}
.no-margin-t {margin-top: 0 !important;}
.no-margin-b {margin-bottom: 0 !important;}

.padding-u {padding: var(--u) 0 !important;}
.padding-u-xs {padding: var(--u-xs) 0 !important;}
.padding-u-sm {padding: var(--u-sm) 0 !important;}
.padding-u-me {padding: var(--u-me) 0 !important;}
.padding-u-lg {padding: var(--u-lg) 0 !important;}
.padding-u-xl {padding: var(--u-xl) 0 !important;}
.padding-t-u {padding-top: var(--u) !important;}
.padding-b-u {padding-bottom: var(--u) !important;}
.padding-t-u-xs {padding-top: var(--u-xs) !important;}
.padding-t-u-sm {padding-top: var(--u-sm) !important;}
.padding-t-u-me {padding-top: var(--u-me) !important;}
.padding-t-u-lg {padding-top: var(--u-lg) !important;}
.padding-t-u-xl {padding-top: var(--u-xl) !important;}
.padding-t-u-xxl {padding-top: var(--u-xxl) !important;}
.padding-b-u-xs {padding-bottom: var(--u-xs) !important;}
.padding-b-u-sm {padding-bottom: var(--u-sm) !important;}
.padding-b-u-me {padding-bottom: var(--u-me) !important;}
.padding-b-u-lg {padding-bottom: var(--u-lg) !important;}
.padding-b-u-xl {padding-bottom: var(--u-xl) !important;}
.padding-b-u-xxl {padding-bottom: var(--u-xxl) !important;}
.padding-u-n {padding: var(--u-n) 0 !important;}
.padding-t-u-n {padding-top: var(--u-n) !important;}
.padding-b-u-n {padding-bottom: var(--u-n) !important;}
.padding-t-u-xs-n {padding-top: var(--u-xs-n) !important;}
.padding-t-u-sm-n {padding-top: var(--u-sm-n) !important;}
.padding-t-u-me-n {padding-top: var(--u-me-n) !important;}
.padding-t-u-lg-n {padding-top: var(--u-lg-n) !important;}
.padding-t-u-xl-n {padding-top: var(--u-xl-n) !important;}
.padding-t-u-xxl-n {padding-top: var(--u-xxl-n) !important;}
.padding-b-u-xs-n {padding-bottom: var(--u-xs-n) !important;}
.padding-b-u-sm-n {padding-bottom: var(--u-sm-n) !important;}
.padding-b-u-me-n {padding-bottom: var(--u-me-n) !important;}
.padding-b-u-lg-n {padding-bottom: var(--u-lg-n) !important;}
.padding-b-u-xl-n {padding-bottom: var(--u-xl-n) !important;}
.padding-b-u-xxl-n {padding-bottom: var(--u-xxl-n) !important;}

.padding-l-u {padding-left: var(--u) !important;}
.padding-r-u {padding-right: var(--u) !important;}
.padding-l-u-xs {padding-left: var(--u-xs) !important;}
.padding-l-u-sm {padding-left: var(--u-sm) !important;}
.padding-l-u-me {padding-left: var(--u-me) !important;}
.padding-l-u-lg {padding-left: var(--u-lg) !important;}
.padding-l-u-xl {padding-left: var(--u-xl) !important;}
.padding-l-u-xxl {padding-left: var(--u-xxl) !important;}
.padding-r-u-xs {padding-right: var(--u-xs) !important;}
.padding-r-u-sm {padding-right: var(--u-sm) !important;}
.padding-r-u-me {padding-right: var(--u-me) !important;}
.padding-r-u-lg {padding-right: var(--u-lg) !important;}
.padding-r-u-xl {padding-right: var(--u-xl) !important;}
.padding-r-u-xxl {padding-right: var(--u-xxl) !important;}
.padding-u-n {padding: var(--u-n) 0 !important;}
.padding-l-u-n {padding-left: var(--u-n) !important;}
.padding-r-u-n {padding-right: var(--u-n) !important;}
.padding-l-u-xs-n {padding-left: var(--u-xs-n) !important;}
.padding-l-u-sm-n {padding-left: var(--u-sm-n) !important;}
.padding-l-u-me-n {padding-left: var(--u-me-n) !important;}
.padding-l-u-lg-n {padding-left: var(--u-lg-n) !important;}
.padding-l-u-xl-n {padding-left: var(--u-xl-n) !important;}
.padding-l-u-xxl-n {padding-left: var(--u-xxl-n) !important;}
.padding-r-u-xs-n {padding-right: var(--u-xs-n) !important;}
.padding-r-u-sm-n {padding-right: var(--u-sm-n) !important;}
.padding-r-u-me-n {padding-right: var(--u-me-n) !important;}
.padding-r-u-lg-n {padding-right: var(--u-lg-n) !important;}
.padding-r-u-xl-n {padding-right: var(--u-xl-n) !important;}
.padding-r-u-xxl-n {padding-right: var(--u-xxl-n) !important;}

.no-padding {padding: 0 !important;}
.no-padding-t {padding-top: 0 !important;}
.no-padding-b {padding-bottom: 0 !important;}

.hide, *.hide {display: none !important;}

.o-10 {opacity: .1;}
.o-20 {opacity: .2;}
.o-50 {opacity: .5;}

.border-radius-u-sm {border-radius: var(--u-sm);}
.border-radius-u {border-radius: var(--u);}
.border-radius-u-lg {border-radius: var(--u-lg);}
.border-radius-u-xl {border-radius: var(--u-xl);}

.o-hidden {overflow: hidden;}
.o-x-hidden {overflow-x: hidden;}

.absolute {position: absolute;}
.abs-bottom-left {bottom: 0; left: 0;}
.abs-bottom-right {bottom: 0; right: 0;}
.abs-top-left {top: 0; left: 0;}
.abs-top-right {top: 0; right: 0;}

.darken {mix-blend-mode: darken;}
.lighten {mix-blend-mode: lighten;}