/*** Dynamic color system ***/

:root {
}
/*** Divi toggle ***/

/* Divi 5 (2026-10-23, v2026.2): the "sticky at the bottom" setting of the home's Customer / Non customer bar
   is no longer applied (Divi 4 module in compatibility mode). Same behaviour as Divi 4 on phones:
   fixed at the bottom of the screen, with room left under the page so the bar never hides its end.
   Tablets left as they are: the bar already covered the whole screen there under Divi 4. */
@media only screen and (max-width: 767px) {
	.et_pb_section.et_pb_sticky_module:has(> .et_pb_row.mobile_cta) {
		position: fixed !important;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
	}
	body:has(.et_pb_sticky_module > .et_pb_row.mobile_cta) #page-container {
		padding-bottom: 217px;
	}
}

.dipl_switch {
    -webkit-box-shadow: inset 0px 0px 10px 1px rgb(0 0 0 / 50%);
    box-shadow: inset 0px 0px 10px 1px rgb(0 0 0 / 50%);
}
.dipl_toggle_button_wrapper {
    margin-bottom: 0 !important;
}
/*** gform ***/

.gfield_label {
	color:var(--et_global_color-1);
}
.gform_wrapper.gravity-theme input,
.gform_wrapper.gravity-theme textarea {
	background: linear-gradient(90deg, rgba(var(--et_global_color-rgbval-1),0.15) 0%, rgba(var(--et_global_color-rgbval-1),0.15) 100%), linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 100%);
	border: 3px solid #ddd;
	border-radius: 0;
}

.gform_wrapper.gravity-theme .gform_footer.top_label {
	width: 100%;
}

/*** REMOVE LABEL ON FIELDS USING PLACEHOLDER ***/
.gform_wrapper .top_label .gfield_label,
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
	/* display: none; */
}
/*** FIELD STYLING ***/
.gform_wrapper.gravity-theme input[type=text],
.gform_wrapper.gravity-theme input[type=email],
.gform_wrapper.gravity-theme input[type=tel],
.gform_wrapper.gravity-theme input[type=url],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme .gfield select {
    font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
    background: #ccc;
    border: 2px solid #ccc;
    border-radius: 0;
    color: #999 !important;
    font-size: 20px;
    height: 3em;
}

.gform_wrapper.gravity-theme input[type=text]::placeholder,
.gform_wrapper.gravity-theme input[type=email]::placeholder,
.gform_wrapper.gravity-theme input[type=tel]::placeholder,
.gform_wrapper.gravity-theme input[type=url]::placeholder,
.gform_wrapper.gravity-theme textarea::placeholder,
.gform_wrapper.gravity-theme .gfield select::placeholder {
	font-size: 20px;
	color: #333;
}

.gform_wrapper.gravity-theme input[type=text]:hover,
.gform_wrapper.gravity-theme input[type=email]:hover,
.gform_wrapper.gravity-theme input[type=tel]:hover,
.gform_wrapper.gravity-theme input[type=url]:hover,
.gform_wrapper.gravity-theme textarea:hover,
.gform_wrapper.gravity-theme .gfield select:hover {
	background: #eee;
	border-color:#2ea3f2;
	color: #999 !important;
}
.gform_wrapper.gravity-theme input[type=text]:hover::placeholder,
.gform_wrapper.gravity-theme input[type=email]:hover::placeholder,
.gform_wrapper.gravity-theme input[type=tel]:hover::placeholder,
.gform_wrapper.gravity-theme input[type=url]:hover::placeholder,
.gform_wrapper.gravity-theme textarea:hover::placeholder,
.gform_wrapper.gravity-theme .gfield select::placeholder {
	color: #aaa;
}
.gform_wrapper.gravity-theme input[type=text]:focus,
.gform_wrapper.gravity-theme input[type=email]:focus,
.gform_wrapper.gravity-theme input[type=tel]:focus,
.gform_wrapper.gravity-theme input[type=url]:focus,
.gform_wrapper.gravity-theme textarea:focus,
.gform_wrapper.gravity-theme .gfield select:focus {
	background: #fff;
	border-color: #2ea3f2;
	font-weight: 500;
	font-size: 20px;
	color: #000000!important;
}
.gform_wrapper.gravity-theme input[type=text]:focus::placeholder,
.gform_wrapper.gravity-theme input[type=email]:focus::placeholder,
.gform_wrapper.gravity-theme input[type=tel]:focus::placeholder,
.gform_wrapper.gravity-theme input[type=url]:focus::placeholder,
.gform_wrapper.gravity-theme textarea:focus::placeholder,
.gform_wrapper.gravity-theme .gfield select:focus::placeholder {
	color: #aaa;
	font-weight:400;
}
.gform_wrapper.gravity-theme .gfield_required {
	color: #2ea3f2;
	display: inline-block;
	font-size: 50px;
	padding-left: 0.05em;
	line-height: 0;
	vertical-align: bottom;
}
.gform_wrapper.gravity-theme .field_sublabel_above .description, .gform_wrapper.gravity-theme .field_sublabel_above .gfield_description, .gform_wrapper.gravity-theme .field_sublabel_above .gsection_description {
	margin: 0 0 -8px 0 !important;
}
.gform_delete_file {
	color: #2ea3f2;
	vertical-align: text-bottom;
}
.gform_wrapper.gravity-theme .gfield-choice-input+label {
	color: #FFF;
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 300;
	font-size: 18px;
}
.gform_wrapper.gravity-theme .gform_drop_area {
	background: rgb(46 163 242 / 10%);
	border: 1px dashed #2ea3f2;
	color: #fff;
}
.gform_wrapper.gravity-theme .gform_drop_area button {
	position: relative;
	z-index: 1;
	background: #2ea3f2;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
	border: 0px;
	padding: 0.5em 2em;
	border-radius: 4px;
}

/*** BUTTON STYLING ***/
.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer button.button {
	background: #fff !important;
	font-family: 'Big Shoulders Display',display  !important;
	color: #2ea3f2 !important;
	letter-spacing: 1px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 26px;
	border: 2px solid #2ea3f2 !important;
	padding: 0.5em !important;
	line-height: 140% !important;
	width: 100% !important;
}

/*** BUTTON HOVER STYLING ***/
.gform_wrapper .gform_footer input.button:hover,
.gform_wrapper .gform_footer button.button:hover {
	background: #2ea3f2 !important;
	font-family: 'Big Shoulders Display',display !important;
	color: #fff !important;
	border-color: #2ea3f2 !important;
}
/*** GF Notice ***/

.gf_notice {
	color: #FFF;
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 300;
	font-size: 20px;
	border-radius: 2px;
	padding: 1em;
}
.gf_notice:has(.info) {
	color: #FFF;
	border: 2px solid rgb(255 255 255 / 25%);
}
.gf_notice:has(.process) {
    /*color: var(--et_global_color-2);
    border: 2px solid rgba(var(--et_global_color-rgbval-2), 0.25);
    background-color: rgba(var(--et_global_color-rgbval-2), 0.1);*/
	background-color:rgba(255 255 255 / 5%);
	color:rgb(255 255 255 / 50%);
}
.gf_notice div p {
	display: inline-block;
	width: calc(100% - 3em - 2em);
	vertical-align: middle;
}
.gf_notice div:before {
	font-family: "Material Icons";
	font-size: 3em;
	margin-right: 0.25em;
	display: inline-block;
	vertical-align: middle;
	color: var(--et_global_color-2);
}
.gf_notice .info:before {
	content: "\e88e";
}
.gf_notice .process:before {
	content: "\ec20";
	animation: spin-animation 5s infinite;
	color:rgb(255 255 255 / 50%);
}

@keyframes spin-animation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
/*** page de remerciement ***/

.gform_confirmation_wrapper div {
	color: #FFF;
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 300;
	font-size: 20px;
}
.gform_confirmation_wrapper div h3 {
	font-size: 26px;
	font-weight: 700;
	padding: 8px 0;
	display: block;
	margin: 0;
	font-family: 'Big Shoulders Display',display;
	color: #fff;
	letter-spacing: 1px;
}


/*** IMG Choice ***/
/*
.image-choices-field div.image-choices-choice {
    margin: 0 1em 0 0 !important;
}
.image-choices-field .image-choices-choice .gfield-choice-input+label {
    border: 2px solid rgba(255, 255, 255, 0.25) !important;
    margin: 0 !important;
    border-radius: 2px;
    padding: 3px !important;
    width: 12ch !important;
}
.image-choices-field .image-choices-choice-selected .gfield-choice-input+label {
    border: 2px solid rgba(var(--et_global_color-rgbval-2), 1) !important;
    background-color: rgba(var(--et_global_color-rgbval-2), 0.25) !important;
}
.image-choices-field .image-choices-choice-image-wrap {
	width: 30px !important;
	height: 30px !important;
}
.image-choices-field .image-choices-choice .image-choices-choice-text {
    color: var(--et_global_color-2) !important;
    color: rba(255, 255 255, 0.5);
    font-weight: 300;
}
.image-choices-field .image-choices-choice-selected .image-choices-choice-text {
    color: rba(255, 255 255, 1);
    font-weight: 700;
}
*/
/*** CUSTOM Checkbox to Toggle STYLING ***/
.gf_toggle-switch {
    border: 1px solid gray !important;
    border-radius: 8px;
    padding: 1em 2em 0em 2em !important;
 }
.gf_toggle-switch .gfield_consent_description {
    overflow-y: hidden !important;
    height: fit-content !important;
    max-height: fit-content !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.gf_toggle-switch .ginput_container {
    align-items: center;
    padding: 0 10em 0 10em;
    display: inline-grid;
    margin: 0 auto;
}
.gf_toggle-switch .ginput_container label {
    cursor: pointer;
    width: 3em;
    height: calc(1em + 8px);
    background: lightgrey;
    display: inline-grid;
    border-radius: 24px;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em;
    font-size: 200%;
    margin: 0;
}
.gf_toggle-switch .ginput_container  * {
	transition: all 150ms ease-in-out;
}
.gf_toggle-switch .ginput_container input[type=checkbox] {
    height: 0;
    width: 0;
    visibility: hidden;
    display: none;
}
.gf_toggle-switch .ginput_container  input[type=checkbox] + label {
	-webkit-box-shadow: inset 0px 0px 20px 5px rgba(0,0,0,0.5); 
	box-shadow: inset 0px 0px 20px 5px rgba(0,0,0,0.5);
}
.gf_toggle-switch .ginput_container  input[type=checkbox]:checked + label {
	background: #2ea3f2;
	-webkit-box-shadow: inset 0px 0px 20px 5px #05304d;
	box-shadow: inset 0px 0px 20px 5px #05304d;
}
.gf_toggle-switch .ginput_container  input[type=checkbox]:checked + label::after {
	left: calc(100% - 4px);
	transform: translateX(-100%);
}
.gf_toggle-switch .ginput_container label::after {
	content:"";
	position: absolute;
	top: 4px;
	left: 4px;
	width: 1em;
	height: 1em;
	background: white;
	border-radius: 1em;
	transition: 0.3s;
}

/*** V2 FR ***/
.gf_toggle-switch .ginput_container::before {
	text-transform: uppercase;
	font-size: 16px;
	display: inline-grid;
	text-align: left;
	vertical-align: middle;
	font-weight: 600;
	color: #fff;
	bottom: calc((0em + 3ch + 1px) * -1);
	left: calc((12ch + 2em) * -1);
	position: relative;
	width: 14ch;
}
.gf_toggle-switch.sw_fr .ginput_container::before  {
	content: "Mode express";
}
.gf_toggle-switch.sw_en .ginput_container::before  {
	content: "Express mode";
}

/*** V2 EN ***/
.gf_toggle-switch .ginput_container::after  {
    text-transform: uppercase;
    font-size: 16px;
    display: inline-grid;
    text-align: left;
    vertical-align: middle;
    font-weight: 600;
    color: #fff;
    bottom: calc((0em + 3ch + 4px) * 1);
    left: 12ch;
    position: relative;
    width: 16ch;
}
.gf_toggle-switch.sw_fr .ginput_container::after  {
	content: "Mode avancé";
}
.gf_toggle-switch.sw_en .ginput_container::after  {
	content: "Advanced mode";
}

/*** EXTRA STYLING ***/
.gform_wrapper.gravity-theme .gfield:not(.spacer):not(.image-choices-use-images) {
	margin-bottom: 1em;
}

.gform_wrapper.gravity-theme .gfield_label {
	font-size: 26px;
	font-weight: 700;
	padding: 8px 0;
	display: block;
	margin: 0;
	font-family: 'Big Shoulders Display',display;
	color: #fff;
	letter-spacing: 1px;
}
.calendar_time_slots .slot_large {
	width: 25%;
}
.gform_required_legend {
	padding-bottom:1em !important;
}
.gfield_required.gfield_required_asterisk {
	font-size: 20px !important;
	line-height: 1.25 !important;
}

/*** Custom mobile ***/

@media all and (max-width: 767px) {
	.gf_toggle-switch {
	border: 0 solid gray;
	border-width: 1px 0 0 0 !important;
	border-radius: 0;
	padding: 2em 0em 0em 0em !important;
	margin: 1em 0 0 0 !important;
	}
	.gf_notice {
	color: #FFF;
	font-family: 'Lato',Helvetica,Arial,Lucida,sans-serif;
	font-weight: 300;
	font-size: 20px;
	}
	.gf_toggle-switch .ginput_container {
	align-items: center;
	padding: 0 6.75em 0 5.5em;
	display: inline-grid;
	margin: 0 auto;
	}
	.gf_toggle-switch .ginput_container label {
	cursor: pointer;
	width: 4em;
	height: calc(1em + 8px);
	background: lightgrey;
	display: inline-grid;
	border-radius: 24px;
	position: relative;
	padding-left: 0.5em;
	padding-right: 0.5em;
	font-size: 200%;
	margin: 0;
	}
	.gf_toggle-switch .ginput_container::before {
	font-size: 14px;
	bottom: calc((1em + 2ch + 0px) * -1);
	left: calc((6ch + 2em + 0px) * -1);
	width: 9ch;
	}
	.gf_toggle-switch.sw_fr .ginput_container::before {
	content: "Express";
	}
	.gf_toggle-switch.sw_en .ginput_container::before {
	content: "Express";
	}
	.gf_toggle-switch .ginput_container::after {
	font-size: 14px;
	bottom: calc((1em + 2ch + 0px) * 1);
	left: 16.25ch;
	width: 10ch;
	}
	.gf_toggle-switch.sw_fr .ginput_container::after {
	content: "Avancé";
	}
	.gf_toggle-switch.sw_en .ginput_container::after {
	content: "Advanced";
	}
}