@keyframes border_anim {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
/* makes sizing simpler */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
/* remove default spacing */
/* force styling of type through styling, rather than elements */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}
/* dark mode user-agent-styles */
/* improves punctuation in supported browsers */
html {
  color-scheme: dark light;
  hanging-punctuation: first last;
}
/* min body height */
body {
  min-height: 100svh;
  position: relative;
}
body > main {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}
/* responsive images/videos */
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}
/* Improved heading in supported browsers */
h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}
/* improve readability with max-width on paragraphs and lists */
/* prevent orphans in supported browsers */
p {
  max-width: 65ch;
  text-wrap: pretty;
}
html {
  font-size: 16px;
}
html body {
  color: #1c1c1a;
  font-family: 'Lexend', 'Open Sans', sans-serif;
  font-size: 16px;
  min-height: 100vh;
  margin: 0px;
  position: relative;
  background: #ffffff;
  overflow: hidden;
  overflow-y: scroll;
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5 {
  color: #363633;
  text-transform: uppercase;
  margin-bottom: 22.5px;
  font-weight: 900;
}
html body .titre_container {
  margin-bottom: 22.5px;
}
html body .titre_container h1,
html body .titre_container h2,
html body .titre_container h3,
html body .titre_container h4,
html body .titre_container h5 {
  margin-bottom: 0px;
}
html body a,
html body a:link,
html body a:visited {
  transition: all 400ms;
  color: #ffffff;
  text-decoration: none;
}
html body a.a--block,
html body a:link.a--block,
html body a:visited.a--block {
  display: block;
}
html body a.a--inline-block,
html body a:link.a--inline-block,
html body a:visited.a--inline-block {
  display: inline-block;
}
html body a.a--border-btn,
html body a:link.a--border-btn,
html body a:visited.a--border-btn {
  border-bottom: 1px solid #dc0e17;
  padding: 5px 0;
}
html body a:hover,
html body a:link:hover,
html body a:visited:hover {
  transition: all 400ms;
  color: #ffffff;
}
html body a.btn,
html body a.btn:link,
html body a.btn:visited,
html body button {
  background-color: #ffffff;
  color: #1c1c1a;
  margin: 0px;
}
html body a.btn:hover,
html body a.btn:link:hover,
html body a.btn:visited:hover,
html body button:hover {
  background-color: #ffffff;
  color: #1c1c1a;
}
html body a.btn-spca {
  display: inline-block;
  background-image: linear-gradient(to bottom right, #ffffff, #ffffff);
  border-radius: 60px;
  padding: 30px 60px;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: bold;
}
@media only screen and (min-width: 992px) {
  html body a.btn-spca {
    font-size: 1.6em;
  }
}
html body a.btn-spca:hover {
  background-image: linear-gradient(to bottom right, #ffffff, #ffffff);
}
html body .format_50_50 button[type="submit"] {
  display: inline-block;
  background-image: linear-gradient(to bottom right, #ffffff, #ffffff);
  border-radius: 60px;
  padding: 26px 60px;
  color: #ffffff;
  text-transform: uppercase;
  font-weight: bold;
}
@media only screen and (min-width: 992px) {
  html body .format_50_50 button[type="submit"] {
    font-size: 1.2em;
  }
}
html body .format_50_50 button[type="submit"]:hover {
  background-image: linear-gradient(to bottom right, #ffffff, #ffffff);
}
html body p {
  display: block;
  margin-bottom: 15px;
}
html body p:last-of-type {
  margin-bottom: 30px;
}
html body .format_50_50 {
  position: relative;
}
@media only screen and (min-width: 992px) {
  html body .format_50_50 {
    display: flex;
    justify-content: space-between;
    gap: 30px;
  }
  html body .format_50_50 > * {
    width: 50%;
  }
}
html body .format_50_50 > * {
  position: relative;
}
html body .format_50_50 > * img {
  max-width: 100%;
}
html body .format_single_line {
  position: relative;
  display: flex;
  gap: 30px;
  align-items: center;
}
html body .format_single_line.simple_flex label {
  width: auto;
}
html body .consent {
  margin-bottom: 26px;
}
label {
  width: 100%;
  display: inline-block;
  margin-bottom: 10px;
  text-transform: uppercase;
}
label.loading::after {
  content: '';
  position: absolute;
  top: 5px;
  right: 5px;
  /*margin-top: -30px;*/
  /*margin-left: -30px;*/
  width: 5px;
  height: 5px;
  border-radius: 50px;
  border: 4px solid #b4b4b4;
  border-top-color: #dc0e17;
  animation: loading 500ms linear infinite;
}
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
label span {
  font-family: Kanit, 'Lexend', 'Open Sans', sans-serif;
  font-size: 14px;
  margin-bottom: 5px;
  display: block;
  color: #b4b4b4;
}
label span.no_margin_bottom {
  margin-bottom: 0px;
}
.requiredField {
  color: #8d1b1b;
}
a.btn,
a.btn:link,
a.btn:visited,
button {
  color: #1c1c1a;
  background: #ffffff;
  font-family: Kanit, 'Lexend', 'Open Sans', sans-serif;
  font-size: 14px;
  border: none;
  border-radius: 4px;
  margin-bottom: 1px;
  transition: all 400ms;
  cursor: pointer;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  padding: 10px;
  justify-content: space-between;
  gap: 1rem;
}
a.btn:hover,
a.btn:link:hover,
a.btn:visited:hover,
button:hover {
  color: #1c1c1a;
  background: #ffffff;
}
input[type=text],
input[type=url],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=time],
input[type=date],
input[type=datetime-local],
textarea,
select {
  color: #2a2a2a;
  font-family: Kanit, 'Lexend', 'Open Sans', sans-serif;
  font-size: 14px;
  background: #ffffff 0% 0% no-repeat padding-box;
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  padding: 15px 15px;
  -webkit-box-sizing: border-box;
  /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;
  /* Firefox, other Gecko */
  box-sizing: border-box;
  /* Opera/IE 8+ */
  margin-bottom: 1px;
  width: 100%;
  transition: all 400ms;
}
input[type=text]:focus,
input[type=url]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=time]:focus,
input[type=date]:focus,
input[type=datetime-local]:focus,
textarea:focus,
select:focus {
  border-color: #dc0e17;
}
input[type=text]:disabled,
input[type=url]:disabled,
input[type=email]:disabled,
input[type=password]:disabled,
input[type=tel]:disabled,
input[type=number]:disabled,
input[type=time]:disabled,
input[type=date]:disabled,
input[type=datetime-local]:disabled,
textarea:disabled,
select:disabled {
  cursor: not-allowed;
}
input[type=text]::placeholder,
input[type=url]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=time]::placeholder,
input[type=date]::placeholder,
input[type=datetime-local]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #000000;
  font-weight: bold;
  text-transform: uppercase;
}
input[type=text]::placeholder,
input[type=url]::placeholder,
input[type=email]::placeholder,
input[type=password]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=time]::placeholder,
input[type=date]::placeholder,
input[type=datetime-local]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #c5c5c5;
  opacity: 1;
}
select {
  padding: 15px 15px;
  height: 62px;
  color: #c5c5c5;
  font-weight: bold;
  text-transform: uppercase;
  font-family: Kanit, 'Lexend', 'Open Sans', sans-serif;
}
select option {
  color: #000000;
  font-weight: normal;
  text-transform: none;
}
select option[value=""] {
  display: none;
}
.custom-file-upload {
  display: inline-block;
  padding: 15px 0px;
  cursor: pointer;
  width: auto;
  color: #737373;
}
.custom-file-upload > i {
  font-size: 32px;
}
.custom-file-upload:hover {
  color: #ffffff;
}
i.fa-file-pdf {
  font-size: 32px;
}
input[type=file] {
  display: none;
}
.custom-file-upload {
  display: inline-block;
  padding: 15px 0px;
  cursor: pointer;
  width: auto;
  color: #737373;
  margin: 0px;
}
.custom-file-upload > i {
  font-size: 32px;
}
.custom-file-upload:hover {
  color: #ffffff;
}
.custom-file-upload__actions {
  display: flex;
  gap: 15px;
}
.uploaded-files {
  display: inline-block;
  margin-left: 14px;
}
.file_preview {
  display: flex;
  position: relative;
  height: 150px;
  align-items: center;
  gap: 120px;
  margin-bottom: 30px;
}
.file_preview > div {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.file_preview > div > div {
  height: calc(100% - 1em);
  display: flex;
}
.file_preview > div > div img {
  max-height: 100%;
}
.group-link a {
  text-decoration: none;
  color: #ffffff;
}
.group-link a:hover {
  color: #f22b34;
}
.groupe-switch {
  position: relative;
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  width: 100%;
  /* Rounded sliders */
}
.groupe-switch.round .switch {
  border-radius: 34px;
}
.groupe-switch.round .switch:before {
  border-radius: 50%;
}
.groupe-switch input {
  display: none;
}
.groupe-switch .switch {
  cursor: pointer;
  background-color: #b4b4b4;
  -webkit-transition: .4s;
  transition: .4s;
  width: 50px;
  height: 20px;
  margin: 0px;
  position: relative;
}
.groupe-switch .switch:before {
  position: absolute;
  content: "";
  height: 15px;
  width: 15px;
  left: 3px;
  bottom: 2.5px;
  background-color: #ffffff;
  -webkit-transition: .4s;
  transition: .4s;
}
.groupe-switch input:checked + .switch {
  background-color: #dc0e17;
}
.groupe-switch input:focus + .switch {
  box-shadow: 0 0 1px #dc0e17;
}
.groupe-switch input:checked + .switch:before {
  -webkit-transform: translateX(30px);
  -ms-transform: translateX(30px);
  transform: translateX(30px);
}
.groupe-checkbox {
  cursor: pointer;
  position: relative;
}
.groupe-checkbox.disabled {
  cursor: not-allowed;
}
.groupe-checkbox--w100 {
  width: 100%;
}
.groupe-checkbox input {
  display: none;
}
.groupe-checkbox input:checked + span {
  /*color: @color-main;*/
}
.groupe-checkbox input:checked + span:before {
  color: #dc0e17 !important;
  border-color: #dc0e17 !important;
}
.groupe-checkbox input:checked + span:after {
  color: #dc0e17;
  border-color: #dc0e17;
}
.groupe-checkbox span {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 0px;
}
.groupe-checkbox span.checkbox:not([position]):before {
  font: var(--fa-font-regular);
  content: '\f00c';
  font-weight: 900;
  color: #ffffff;
  background: #ffffff;
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.groupe-checkbox span.checkbox[position=top],
.groupe-checkbox span.checkbox[position=top-center] {
  display: block;
}
.groupe-checkbox span.checkbox[position=top]:after,
.groupe-checkbox span.checkbox[position=top-center]:after {
  font: var(--fa-font-regular);
  content: '\f00c';
  font-weight: 900;
  color: #ffffff;
  background: #ffffff;
  border: 1px solid #b4b4b4;
  border-radius: 4px;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5px;
}
.groupe-checkbox span.checkbox[position=top-center] {
  text-align: center;
}
.groupe-checkbox span.checkbox[position=top-center]:after {
  margin: 5px auto 0 auto;
}
.groupe-checkbox__no_text {
  display: flex;
  justify-content: center;
}
.groupe-checkbox__no_text span {
  margin-bottom: 0px;
}
.groupe-radio {
  cursor: pointer;
  position: relative;
}
.groupe-radio input {
  display: none;
}
.groupe-radio input:checked + span {
  color: #dc0e17;
}
.groupe-radio input:checked + span:before {
  color: #dc0e17;
  border-color: #dc0e17;
}
.groupe-radio span {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}
.groupe-radio span:before {
  font: var(--fa-font-regular);
  content: '\f111';
  font-weight: 900;
  color: #ffffff;
  background: #ffffff;
  border: 1px solid #b4b4b4;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.groupe-radio.squared {
  display: inline-block;
  padding: 5px 10px;
  cursor: pointer;
}
.groupe-radio.squared input {
  display: none;
}
.groupe-radio.squared span {
  position: relative;
  line-height: 22px;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 22px;
}
.groupe-radio.squared span:before,
.groupe-radio.squared span:after {
  content: '';
}
.groupe-radio.squared span:before {
  border: 1px solid #222021;
  background: white;
  width: 20px;
  height: 20px;
  display: inline-block;
  border-radius: 0px;
}
.groupe-radio.squared span:after {
  content: '';
  background: #dc0e17;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 4px;
  left: 3px;
  transition: 300ms;
  opacity: 0;
}
.groupe-radio.squared input:checked + span:after {
  opacity: 1;
}
.groupe-input {
  position: relative;
}
.groupe-input--suffix input {
  padding-right: 30px;
}
.groupe-input__suffix {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  background: transparent;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.groupe-input__monnaitaire {
  text-align: right;
}
.groupe-input-recherche_with_title {
  display: flex;
  justify-content: space-between;
}
.groupe-input-recherche_without_title {
  display: flex;
  justify-content: center;
  gap: 5px;
}
.groupe-input-recherche_without_title_input_container {
  position: relative;
}
.groupe-input-recherche_btn_infos {
  display: flex;
}
body {
  position: relative;
}
body::after {
  content: '';
  position: absolute;
  top: 0px;
  background-color: #000000;
  height: 100%;
  width: 100%;
  transition: 0.4s;
  opacity: 0;
  visibility: hidden;
}
body.mobile-nav-is-toggled::after {
  opacity: 0.75;
  visibility: visible;
}
.site_header {
  position: relative;
  width: 100%;
  z-index: 5;
}
.site_header a {
  font-weight: bold;
  font-size: 1.1em;
}
@media only screen and (min-width: 992px) {
  .site_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.site_header__logo {
  width: 100%;
  position: relative;
  background-color: #ffffff;
  z-index: 99;
}
.site_header__logo img {
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .site_header__logo {
    width: auto;
  }
}
.site_header__menu {
  text-transform: uppercase;
  position: relative;
  width: 100%;
}
.site_header__menu ul {
  list-style: none;
}
.site_header__menu__desktop {
  display: none;
  position: relative;
  padding: 15px 5%;
}
.site_header__menu__desktop > a img {
  max-width: 200px;
}
@media only screen and (min-width: 1200px) {
  .site_header__menu__desktop > a img {
    max-width: 300px;
  }
}
.site_header__menu__desktop > ul {
  display: flex;
}
.site_header__menu__desktop > ul > li {
  list-style: none;
  display: inline-block;
  position: relative;
}
.site_header__menu__desktop > ul > li:not(:first-of-type) {
  transition: all 400ms;
}
.site_header__menu__desktop > ul > li form {
  height: 100%;
}
.site_header__menu__desktop > ul > li a,
.site_header__menu__desktop > ul > li button {
  display: flex;
  border-radius: 0px;
  align-items: center;
  padding: 37.5px 7.5px;
  height: 100%;
  background-color: transparent;
  transition: background-color 0.3s linear, color 0.3s linear;
  color: #000000;
}
@media only screen and (min-width: 992px) {
  .site_header__menu__desktop > ul > li a,
  .site_header__menu__desktop > ul > li button {
    padding: 37.5px 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .site_header__menu__desktop > ul > li a,
  .site_header__menu__desktop > ul > li button {
    padding: 37.5px 30px;
  }
}
.site_header__menu__desktop > ul > li a:hover,
.site_header__menu__desktop > ul > li button:hover {
  color: #dc0e17;
  transition: all 400ms;
}
.site_header__menu__desktop > ul > li > ul {
  visibility: hidden;
  width: 100%;
  position: absolute;
  border-top: 5px solid #dc0e17;
}
.site_header__menu__desktop > ul > li > ul a {
  text-transform: lowercase;
  display: block;
  text-align: center;
  margin: 0px auto;
  padding: 15px;
  background-color: transparent;
  color: #1c1c1a;
}
.site_header__menu__desktop > ul > li > ul a:hover {
  background-color: #1c1c1a;
}
.site_header__menu__desktop > ul > li > ul a::first-letter {
  text-transform: capitalize;
}
.site_header__menu__desktop > ul > li > ul > li:last-of-type a {
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
}
.site_header__menu__desktop > ul > li:hover > ul {
  visibility: visible;
}
@media only screen and (min-width: 992px) {
  .site_header__menu__desktop {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: space-between;
  }
}
.site_header__menu__mobile {
  position: relative;
}
.site_header__menu__mobile__header {
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 30px 15px;
  display: flex;
  background-color: #ffffff;
  z-index: 99;
  width: 100%;
}
.site_header__menu__mobile__header > div:first-of-type img {
  max-width: 200px;
}
.site_header__menu__mobile__header__hamburgler {
  width: 20px;
  height: 15px;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
}
.site_header__menu__mobile__header__hamburgler > span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #000000;
  border-radius: 3px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.site_header__menu__mobile__header__hamburgler > span:nth-child(1) {
  top: 0px;
}
.site_header__menu__mobile__header__hamburgler > span:nth-child(2),
.site_header__menu__mobile__header__hamburgler > span:nth-child(3) {
  top: 6px;
}
.site_header__menu__mobile__header__hamburgler > span:nth-child(4) {
  top: 12px;
}
.site_header__menu__mobile__header__hamburgler.open > span:nth-child(1),
.site_header__menu__mobile__header__hamburgler.open > span:nth-child(4) {
  top: 6px;
  width: 0%;
  left: 50%;
}
.site_header__menu__mobile__header__hamburgler.open > span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.site_header__menu__mobile__header__hamburgler.open > span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.site_header__menu__mobile__nav {
  display: flex;
  width: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transition: 0.45s;
  transform: translateY(-200%);
  z-index: 98;
  position: absolute;
}
.site_header__menu__mobile__nav > ul {
  flex: 0 0 100%;
  background-color: #ffffff;
}
.site_header__menu__mobile__nav > ul > li:not(:last-child) {
  border-bottom: solid 1px #000000;
}
.site_header__menu__mobile__nav > ul > li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.site_header__menu__mobile__nav > ul > li a:hover > div {
  color: #dc0e17;
}
.site_header__menu__mobile__nav > ul > li a > div {
  padding: 15px;
  background-color: #ffffff;
  color: #1c1c1a;
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: 300;
}
.site_header__menu__mobile__nav > ul > li a > div.link-arrow {
  background-color: #ffffff;
  color: #ffffff;
}
.site_header__menu__mobile__nav > ul > li a > div.link-arrow:hover {
  background-color: #ffffff;
}
.site_header__menu__mobile__nav > ul > li a.nav-back-link > div.link-arrow {
  flex-grow: 1;
}
.site_header__menu__mobile__nav__expandable__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateX(100%);
  background-color: #ffffff;
  transition: 0.3s;
  visibility: hidden;
}
.site_header__menu__mobile__nav__expandable__content > li:not(:last-child) {
  border-bottom: solid 1px #000000;
}
.site_header__menu__mobile__nav__expandable__content > li > a {
  background-color: #ffffff;
}
.site_header__menu__mobile__nav__expandable__content > li > a.nav-back-link {
  background-color: #ffffff;
  color: #ffffff;
}
.site_header__menu__mobile__nav__expandable__content > li > a.nav-back-link:hover {
  background-color: #ffffff;
}
.site_header__menu__mobile__nav__expandable.expanded .site_header__menu__mobile__nav__expandable__content {
  transform: translateX(0);
  visibility: visible;
}
.site_header__menu__mobile__nav.toggled {
  transform: translateY(0);
}
@media only screen and (min-width: 992px) {
  .site_header__menu__mobile {
    display: none;
  }
}
.site-footer {
  width: 100%;
  margin-top: auto;
  position: relative;
  background-image: linear-gradient(to bottom right, #dc0e17, #f55b62);
}
.site-footer__menu {
  margin-bottom: 30px;
}
.site-footer__menu > a > img {
  max-height: 100px;
  max-width: 500px;
}
.site-footer__menu > ul {
  display: flex;
  gap: 30px;
  flex-direction: column;
  padding-top: 30px;
}
.site-footer__menu > ul > li:first-of-type img {
  display: inline-block;
}
.site-footer__menu > ul > li > a,
.site-footer__menu > ul > li button {
  text-transform: uppercase;
  font-weight: bold;
  background: transparent;
  padding: 0px;
  font-size: 16px;
}
.site-footer__menu > ul ul {
  margin-top: 15px;
}
.site-footer__menu > ul li {
  list-style: none;
  text-align: center;
}
.site-footer__menu > ul li span {
  display: block;
}
.site-footer__menu > ul li ul a span::first-letter {
  text-transform: capitalize;
}
.site-footer__menu > ul li form {
  display: flex;
  justify-content: space-around;
}
.site-footer__menu > ul a,
.site-footer__menu > ul button {
  color: #ffffff !important;
}
.site-footer__menu > ul a:hover,
.site-footer__menu > ul button:hover {
  color: #ffffff !important;
}
@media only screen and (min-width: 992px) {
  .site-footer__menu {
    margin-bottom: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
  }
  .site-footer__menu > ul {
    flex-direction: row;
    justify-content: space-evenly;
    padding-top: 90px;
  }
  .site-footer__menu > ul li {
    padding-top: 0.5em;
  }
  .site-footer__menu__socials {
    padding-top: 0px !important;
  }
}
.site-footer__menu__socials a {
  font-size: 2em !important;
}
.site-footer__copyright {
  text-align: center;
  font-size: 12px;
  color: #ffffff;
  padding: 45px 0px;
  position: relative;
}
.site-footer__copyright > div {
  margin-bottom: 1em;
}
.site-footer__copyright a {
  text-decoration: none;
  color: #ffffff !important;
}
.site-footer__copyright a:hover {
  color: #f22b34 !important;
}
@media only screen and (min-width: 992px) {
  .site-footer__copyright {
    display: flex;
    justify-content: space-between;
  }
  .site-footer__copyright > div {
    margin-bottom: 0px;
  }
}
.site-footer .section_iframe {
  display: flex;
  justify-content: center;
}
.site-footer .section_iframe iframe {
  width: 100%;
  height: 543px;
}
@media only screen and (min-width: 992px) {
  .site-footer .section_iframe iframe {
    width: 566px;
  }
}
#cookies-policy.cookies {
  font-size: 16px;
  position: fixed;
  bottom: 0;
  right: 0;
  max-height: 100%;
  max-width: 100%;
  overflow: auto;
  z-index: 9999;
  transition: transform 200ms ease-out, opacity 200ms ease-out;
}
#cookies-policy.cookies--closing {
  opacity: 0;
  transform: translateY(10px);
}
#cookies-policy.cookies--show .cookies__btn--customize {
  border-top: none;
  border-bottom: 1px solid #E7E8E9;
}
#cookies-policy.cookies--show .cookies__btn svg {
  transform: rotate(180deg);
}
#cookies-policy.cookies--no-js .cookies__section .cookies__expandable,
#cookies-policy.cookies--no-js .cookies__expandable:target {
  height: auto;
  visibility: visible;
  opacity: 1;
  transition: height 300ms ease-out, opacity 300ms ease-out;
}
#cookies-policy.cookies--no-js .cookies__details {
  display: none;
}
#cookies-policy.cookies--no-js .cookies__sections {
  max-height: fit-content;
}
#cookies-policy.cookies--no-js svg {
  display: none;
}
#cookies-policy .cookies__expandable {
  display: block;
  overflow: hidden;
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: height 300ms ease-out, opacity 300ms ease-out, visibility 0s 300ms linear;
}
#cookies-policy .cookies__expandable--open {
  height: auto;
  visibility: visible;
  opacity: 1;
  transition: height 300ms ease-out, opacity 300ms ease-out;
}
#cookies-policy .cookies__alert {
  width: 22em;
  max-width: 90%;
  max-height: 90%;
  margin: 4%;
  background: #fff;
  border-radius: 8px;
  border: 1px solid #E7E8E9;
  -webkit-box-shadow: 0px 12px 12px -8px rgba(0, 0, 0, 0.08), 0px 0px 4px rgba(0, 0, 0, 0.04);
  -moz-box-shadow: 0px 12px 12px -8px rgba(0, 0, 0, 0.08), 0px 0px 4px rgba(0, 0, 0, 0.04);
  box-shadow: 0px 12px 12px -8px rgba(0, 0, 0, 0.08), 0px 0px 4px rgba(0, 0, 0, 0.04);
}
#cookies-policy .cookies__container {
  display: block;
  overflow: hidden;
  height: auto;
  visibility: visible;
  opacity: 1;
  transition: height 300ms ease-out, opacity 300ms ease-out, visibility 0s 100ms linear;
}
#cookies-policy .cookies__container--hide {
  height: 0;
  visibility: hidden;
  opacity: 0;
  transition: height 300ms ease-out, opacity 300ms ease-out, visibility 0s 300ms linear;
}
#cookies-policy .cookies__wrapper {
  padding: 1em 1.5em;
}
#cookies-policy .cookies__title {
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 0.8em;
  color: #2C2E30;
}
#cookies-policy .cookies__intro {
  font-weight: 450;
  font-size: 0.875em;
  line-height: 1.4em;
  color: #2C2E30;
}
#cookies-policy .cookies__intro p {
  margin-top: 1em;
}
#cookies-policy .cookies__intro p:first-child {
  margin-top: 0;
}
#cookies-policy .cookies__intro a {
  transition: color 200ms ease-out;
}
#cookies-policy .cookies__actions {
  margin-top: 1em;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 4px;
}
#cookies-policy .cookies__btn--customize {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  font-size: 0.875em;
  line-height: 1em;
  text-decoration: none;
  color: #2C2E30;
  position: relative;
  padding: 1.125em 24px;
  border-top: 1px solid #E7E8E9;
}
#cookies-policy .cookies__btn svg {
  transition: transform 200ms ease-out;
}
#cookies-policy .cookies__sections {
  max-height: 450px;
  overflow-y: scroll;
}
#cookies-policy .cookies__section {
  padding: 0 1.5em;
}
#cookies-policy .cookies__section + .cookies__section {
  border-top: 1px solid #eee;
}
#cookies-policy .cookies__category,
#cookies-policy .cookies__box {
  display: block;
  position: relative;
  overflow: hidden;
}
#cookies-policy .cookies__category input {
  position: absolute;
  display: block;
  top: 0;
  right: 105%;
  padding: 0;
  margin: 0;
}
#cookies-policy .cookies__box {
  padding: 1em 3em 1em 0;
  line-height: 1.4em;
  cursor: pointer;
}
#cookies-policy .cookies__box:before,
#cookies-policy .cookies__box:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  border-radius: 1.4em;
}
#cookies-policy .cookies__box:after {
  right: 0;
  width: 2.5em;
  height: 1.4em;
  margin-top: -0.7em;
  background: #E7E8E9;
  z-index: 0;
  transition: background 200ms ease-out, opacity 200ms ease-out;
}
#cookies-policy .cookies__box:before {
  right: 0.75em;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  background: #fff;
  z-index: 1;
  transform: translateX(-0.55em);
  transition: transform 200ms ease-out;
}
#cookies-policy .cookies__category input:checked + .cookies__box:after {
  background: #ffffff;
  opacity: 1;
}
#cookies-policy .cookies__category input:disabled + .cookies__box:after {
  opacity: 0.6;
}
#cookies-policy .cookies__category input:checked + .cookies__box:before {
  transform: translateX(0.55em);
}
#cookies-policy .cookies__label {
  font-size: 0.875em;
  font-weight: 600;
  color: #2C2E30;
}
#cookies-policy .cookies__info {
  font-weight: 450;
  font-size: 0.875em;
  line-height: 1.4em;
  color: #2C2E30;
}
#cookies-policy .cookies__details {
  display: block;
  color: #ffffff;
  font-size: 0.875em;
  margin: 0.625em 0 0.9em;
  transition: color 200ms ease-out;
}
#cookies-policy .cookies__details:hover,
#cookies-policy .cookies__details:focus {
  color: #ffffff;
}
#cookies-policy .cookies__definitions {
  font-size: 0.875em;
  line-height: 1.2em;
  padding-top: 1em;
  padding-top: 0.8em;
  color: #676767;
}
#cookies-policy .cookies__cookie + .cookies__cookie {
  margin-top: 1em;
}
#cookies-policy .cookies__name {
  display: inline;
  font-weight: 600;
  line-height: 22px;
  color: #8A8E92;
}
#cookies-policy .cookies__duration {
  display: inline;
  text-align: right;
  color: #8A8E92;
}
#cookies-policy .cookies__description {
  padding-top: 0.3em;
  display: block;
  width: 100%;
  line-height: 120%;
  text-align: left;
  color: #8A8E92;
}
#cookies-policy .cookies__save {
  border-top: 1px solid #E7E8E9;
  padding: 0.75em 1.5em;
  margin-top: 0.4em;
  display: flex;
  justify-content: flex-end;
}
#cookies-policy .cookiesBtn {
  width: 100%;
}
#cookies-policy .cookiesBtn__link {
  display: block;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 4px;
  margin: 0;
  padding: 0.86em 1em;
  line-height: 1em;
  text-align: center;
  text-decoration: none;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  transition: opacity 200ms ease-out;
}
#cookies-policy .cookiesBtn__link:hover,
#cookies-policy .cookiesBtn__link:focus {
  opacity: 0.8;
}
.flash-message {
  font-weight: normal;
  position: relative;
  padding: .75rem 1.25rem;
  margin-bottom: 1rem;
  border: 3px solid transparent;
  border-radius: .25rem;
}
.flash-message__success {
  color: #288d1b;
  background-color: #ddfad9;
  border-color: #288d1b;
}
.flash-message__danger,
.flash-message__error {
  color: #8d1b1b;
  background-color: #f8d7da;
  border-color: #8d1b1b;
}
.flash-message__warning {
  color: #856404;
  background-color: #fff3cd;
  border-color: #856404;
}
.flash-message__infos {
  color: #0c5460;
  background-color: #d1ecf1;
  border-color: #0c5460;
}
.validation_message li {
  color: #8d1b1b;
  margin-bottom: 15px;
  list-style: none;
}
.demo.home h1,
.demo.home h2,
.demo.home h3,
.demo.home h4,
.demo.home p,
.demo.home a,
.demo.home button,
.demo.home small,
.demo.home input,
.demo.home textarea {
  font-family: 'Galano Grotesque', 'Open Sans', sans-serif;
}
.demo.home h1 {
  font-size: 2.2em;
}
.demo.home h2 {
  font-size: 2em;
}
.demo.home h3 {
  font-size: 1.2em;
}
.demo.home a.red,
.demo.home a.red:link,
.demo.home a.red:visited {
  color: #dc0e17 !important;
}
.demo.home a.red:hover,
.demo.home a.red:link:hover,
.demo.home a.red:visited:hover {
  color: #f22b34 !important;
}
.demo.home .index-header-empreinte-patte-droite,
.demo.home .index-header-empreinte-patte-gauche {
  position: absolute;
  width: 200px;
}
@media only screen and (min-width: 992px) {
  .demo.home .index-header-empreinte-patte-droite,
  .demo.home .index-header-empreinte-patte-gauche {
    width: auto;
  }
}
.demo.home .index-header-empreinte-patte-droite {
  top: 30px;
  right: 0px;
}
.demo.home .index-header-empreinte-patte-gauche {
  top: 50%;
  transform: translateY(-50%);
  left: 0px;
}
.demo.home input,
.demo.home textarea {
  border: 2px solid #dc0e17;
  border-radius: 30px;
  margin-bottom: 15px;
}
.demo.home .btn,
.demo.home button[type="submit"] {
  padding: 1.5em 4em;
  border: 2px solid #dc0e17;
  border-radius: 100px;
  display: inline-block;
  font-weight: bold;
  color: #1c1c1a;
}
.demo.home .btn:hover,
.demo.home button[type="submit"]:hover {
  color: #dc0e17;
}
.demo.home button[type="submit"] {
  background-color: #dc0e17;
  color: white;
}
.demo.home button[type="submit"]:hover {
  border: 2px solid #f22b34;
  color: white;
  background-color: #f22b34;
}
.demo.home section {
  padding: 30px 0px;
}
.demo.home .section1 {
  position: relative;
}
.demo.home .section1 .inner_section {
  padding: 0px 5%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  position: relative;
}
.demo.home .section1 .inner_section > div {
  z-index: 2;
}
.demo.home .section1 .inner_section p {
  color: #dc0e17;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .demo.home .section1 .inner_section {
    flex-direction: row;
  }
  .demo.home .section1 .inner_section > div {
    width: calc(50% - 7.5px);
    z-index: 2;
  }
}
.demo.home .section2 {
  display: flex;
  flex-direction: column;
  color: white;
  margin-bottom: 180px;
}
.demo.home .section2 h2 {
  color: white;
}
.demo.home .section2 > div:first-of-type {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.demo.home .section2 > div:first-of-type img {
  width: 100%;
  max-width: 1000px;
}
@media only screen and (min-width: 992px) {
  .demo.home .section2 > div:first-of-type img {
    width: 50%;
  }
}
.demo.home .section2 > div:first-of-type i {
  position: absolute;
  left: calc(50% - 19px);
  top: calc(50% - 19px);
  font-weight: bold;
  color: white;
  font-size: 3em;
}
.demo.home .section2 .inner_section {
  padding: 0px 5%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  position: relative;
  background-color: #dc0e17;
}
.demo.home .section2 .inner_section > div {
  width: 100%;
  position: relative;
}
.demo.home .section2 .inner_section > div:first-of-type {
  padding: 60px 0px 0px 0px;
}
.demo.home .section2 .inner_section > div:first-of-type .btn {
  margin-top: 60px;
}
.demo.home .section2 .inner_section > div:last-of-type {
  padding: 60px 0px 180px 0px;
}
.demo.home .section2 .inner_section > div:last-of-type img {
  position: absolute;
  bottom: 0px;
  width: 100%;
  max-width: 863px;
  transform: translateY(50%);
}
@media only screen and (min-width: 768px) {
  .demo.home .section2 .inner_section {
    flex-direction: row;
    align-items: start;
  }
  .demo.home .section2 .inner_section > div {
    position: relative;
    width: calc(50% - 7.5px);
    padding: 60px 0px 180px 0px;
  }
  .demo.home .section2 .inner_section > div:last-of-type,
  .demo.home .section2 .inner_section > div:first-of-type {
    padding: 60px 0px 180px 0px;
  }
  .demo.home .section2 .inner_section > div:last-of-type img {
    bottom: -75px;
  }
}
.demo.home .section3 .inner_section {
  padding: 0px 5%;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media only screen and (min-width: 992px) {
  .demo.home .section3 .inner_section {
    flex-direction: row;
    align-items: center;
  }
  .demo.home .section3 .inner_section > div {
    width: calc(50% - 15px);
  }
}
.demo.home .section4 {
  margin-bottom: 30px;
}
.demo.home .section4 h2 {
  text-align: center;
}
.demo.home .section4 .inner_section {
  padding: 0px 5%;
  display: flex;
  flex-direction: column;
}
.demo.home .section4 .inner_section .advantages_listing {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(1, 1fr);
}
@media only screen and (min-width: 768px) {
  .demo.home .section4 .inner_section .advantages_listing {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .demo.home .section4 .inner_section .advantages_listing {
    grid-template-columns: repeat(3, 1fr);
  }
}
.demo.home .section4 .inner_section .advantages_listing > article {
  padding: 30px;
  background-color: #f3f0f0;
}
.demo.home .section4 .inner_section .advantages_listing > article p {
  margin: 0px;
}
.demo.home .section4 .inner_section .advantages_listing > article > div:first-of-type {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-bottom: 15px;
}
.demo.home .section4 .inner_section .advantages_listing > article > div:first-of-type > img {
  max-width: 85px;
}
.demo.home .section4 .inner_section .advantages_listing > article > div:first-of-type > div {
  flex-grow: 1;
}
.demo.home .section5 {
  background-color: #cccbbe;
  position: relative;
}
.demo.home .section5 h2 {
  text-align: center;
}
.demo.home .section5 .inner_section {
  padding: 0px 5%;
  z-index: 2;
  position: relative;
}
.demo.home .section5 .inner_section > div > div:first-of-type img {
  max-height: 250px;
  margin: 15px auto;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article h3 {
  margin: 0px;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div > *:first-child {
  width: 85px;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div > *:first-child > img {
  max-width: 85px;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div > *:last-child {
  flex-grow: 1;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div:last-child {
  margin-top: 15px;
}
.demo.home .section5 .inner_section > div > div:last-of-type > article > div:last-child > *:first-child {
  display: none;
}
.demo.home .section5 .inner_section > div > div:last-of-type .btn {
  margin-top: 60px;
}
@media only screen and (min-width: 768px) {
  .demo.home .section5 .inner_section > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
  }
  .demo.home .section5 .inner_section > div > div {
    width: calc(50% - 15px);
  }
  .demo.home .section5 .inner_section > div > div:first-of-type img {
    max-height: 550px;
  }
}
.demo.home .section6 {
  margin: 60px 0px;
}
.demo.home .section6 .desktop-only {
  display: none;
}
@media only screen and (min-width: 768px) {
  .demo.home .section6 .mobile-only {
    display: none;
  }
  .demo.home .section6 .desktop-only {
    display: block;
  }
}
.demo.home .section6 form label {
  display: block;
}
.demo.home .section6 form .flex {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  align-items: center;
  margin-bottom: 15px;
}
.demo.home .section6 button {
  margin-top: 60px;
}
.demo.home .section6 .inner_section {
  padding: 0px 5%;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.demo.home .section6 .inner_section > div:first-of-type > div {
  margin-bottom: 30px;
}
.demo.home .section6 .inner_section > div:first-of-type > div img {
  width: 150px;
}
.demo.home .section6 .inner_section > div:first-of-type > div h2 {
  margin: 0px;
}
.demo.home .section6 .inner_section > div p.midsection {
  margin: 30px 0px;
}
.demo.home .section6 .inner_section a > img {
  width: 200px;
}
@media only screen and (min-width: 768px) {
  .demo.home .section6 .inner_section {
    flex-direction: row;
  }
  .demo.home .section6 .inner_section > div {
    width: calc(50% - 15px);
  }
  .demo.home .section6 .inner_section form div.divided_half {
    display: grid;
    gap: 15px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 992px) {
  .demo.home .section6 .inner_section > div:first-of-type > div:first-of-type {
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
  }
}
.demo.home .site-footer img {
  width: 100%;
}
.demo.privacy_policy section {
  padding: 30px 5%;
}
