@charset 'utf-8';
/*
 * import variables from json file
 * opts:
 *   hash: allow hash access to nested variables
 *         cf. stylus-lang.com/docs/hashes.html
 *   leave-strings: don't interpret data types
 * alt.: vars = json(...)
 */
/*
 * import js plugin
 * cf. stylus-lang.com/docs/bifs.html#usepath
 */
/*
 * Theme variables
 */
/* Gamme Habitat */
/* Gamme Piscine */
/* Gamme Jardin */
/* Autres */
/*
 * Normalized and default style
 */
/* Document
 * ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
:where(html) {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%; /* 2 */
}
/* Sections
 * ========================================================================== */
/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
  font-size: 2em;
  margin-block-end: 0.67em;
  margin-block-start: 0.67em;
}
/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
  margin-block-end: 0;
  margin-block-start: 0;
}
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Correct the inheritance of border color in Firefox.
 */
:where(hr) {
  box-sizing: content-box; /* 1 */
  color: inherit; /* 2 */
  height: 0; /* 1 */
}
/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
  font-weight: bolder;
}
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, pre, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}
/**
 * Add the correct font size in all browsers.
 */
:where(small) {
  font-size: 80%;
}
/* Tabular data
 * ========================================================================== */
/**
 * 1. Correct table border color in Chrome, Edge, and Safari.
 * 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
  border-color: currentColor; /* 1 */
  text-indent: 0; /* 2 */
}
/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
  margin: 0;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(button) {
  text-transform: none;
}
/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, input:is([type="button" i], [type="reset" i], [type="submit" i])) {
  -webkit-appearance: button;
}
/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
  vertical-align: baseline;
}
/**
 * Remove the inheritance of text transform in Firefox.
 */
:where(select) {
  text-transform: none;
}
/**
 * Remove the margin in Firefox and Safari.
 */
:where(textarea) {
  margin: 0;
}
/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where(input[type="search" i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2rem; /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}
/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:where(button, input:is([type="button" i], [type="color" i], [type="reset" i], [type="submit" i]))::-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Remove the additional :invalid styles in Firefox.
 */
:where(:-moz-ui-invalid) {
  box-shadow: none;
}
/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}
:where(dialog:not([open])) {
  display: none;
}
/*
 * Add the correct display in all browsers.
 */
:where(summary) {
  display: list-item;
}
*,
::before,
::after {
  background-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  box-sizing: inherit;
}
::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}
html {
  box-sizing: border-box;
  cursor: default;
  scroll-behavior: smooth;
}
body {
  margin: 0;
  cursor: default;
}
[id] {
  scroll-margin-top: calc(var(--menu-header-height) + 20rem);
}
nav ol,
nav ul {
  list-style: none;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
::-moz-selection {
  background-color: rgba(99,84,89,0.75);
  color: #fff;
  text-shadow: none;
}
::selection {
  background-color: rgba(99,84,89,0.75);
  color: #fff;
  text-shadow: none;
}
code {
  cursor: text;
}
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}
figure {
  margin: 0;
}
figure img,
figure video,
figure object,
figure embed {
  max-width: 100%;
  height: auto;
}
svg {
  transition: fill 0.3s ease;
  color: inherit;
  fill: currentColor;
}
table {
  border-collapse: collapse;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
label,
button,
input[type=file],
input[type=radio],
input[type=reset],
input[type=submit],
input[type=button],
input[type=checkbox] {
  cursor: pointer;
}
button[disabled],
input[disabled] {
  cursor: default;
}
input:focus,
select:focus {
  outline: 0;
}
textarea {
  resize: vertical;
  font-family: inherit;
  line-height: inherit;
  font-size: inherit;
}
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  touch-action: manipulation;
}
:link,
:visited {
  cursor: pointer;
  color: #679ab6;
  transition: 0.3s ease;
  transition-property: opacity, color, background-color;
  -webkit-tap-highlight-color: rgba(103,154,182,0.15);
}
:link:hover,
:visited:hover,
:link:active,
:visited:active {
  color: #000;
}
a[href="tel"] {
  text-decoration: underline;
}
[aria-busy="true"] {
  cursor: progress;
}
[aria-controls] {
  cursor: pointer;
}
[aria-hidden="false"][hidden]:not(:focus) {
  position: absolute;
  display: inherit;
  clip: rect(0, 0, 0, 0);
}
[aria-disabled] {
  cursor: default;
}
/*
 * Helpers and mixins
 */
/*
 * Fonts
 */
@font-face {
  font-family: 'Poppins';
  src: url("fonts/Poppins/poppins-latin-300-normal.woff2") format('woff2'), url("fonts/Poppins/Poppins-Light.ttf") format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url("fonts/Poppins/poppins-latin-400-normal.woff2") format('woff2'), url("fonts/Poppins/Poppins-Regular.ttf") format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url("fonts/Poppins/poppins-latin-500-normal.woff2") format('woff2'), url("fonts/Poppins/Poppins-Medium.ttf") format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url("fonts/Poppins/poppins-latin-600-normal.woff2") format('woff2'), url("fonts/Poppins/Poppins-SemiBold.ttf") format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url("fonts/Poppins/poppins-latin-700-normal.woff2") format('woff2'), url("fonts/Poppins/Poppins-Bold.ttf") format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Caveat';
  src: url("fonts/Caveat/Caveat-VariableFont-opti.woff2") format("woff2") tech("variations"), url("fonts/Caveat/Caveat-VariableFont-opti.woff2") format("woff2-variations");
  font-weight: 400 700;
  font-display: swap;
}
/*
 * Elements
 */
.accordion-group details.accordion-item {
  border-top: 1px solid #d4d4d4;
}
.accordion-group details.accordion-item:last-of-type {
  border-bottom: 1px solid #d4d4d4;
}
.accordion-group .overlay-content {
  display: none;
}
details.accordion-item summary {
  position: relative;
  line-height: 1.5;
  font-size: 18rem;
  font-weight: 500;
  padding: 20rem 0;
  padding-inline-end: 30rem;
}
details.accordion-item summary::marker {
  content: none;
}
details.accordion-item summary::after {
  content: '';
  position: absolute;
  right: 0;
  top: 20rem;
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect stroke='%23000' fill='none' width='23' height='23' x='.5' y='.5' rx='11.5'/%3E%3Cpath d='M12.7 5.7v12.6h-1.4V5.7h1.4Z'/%3E%3Cpath d='M5.7 11.3h12.6v1.4H5.7v-1.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect stroke='%23000' fill='none' width='23' height='23' x='.5' y='.5' rx='11.5'/%3E%3Cpath d='M12.7 5.7v12.6h-1.4V5.7h1.4Z'/%3E%3Cpath d='M5.7 11.3h12.6v1.4H5.7v-1.4Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  width: 24rem;
  height: 24rem;
  margin-left: auto;
}
details.accordion-item[open] summary::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect fill='none' stroke='%23000' width='23' height='23' x='.5' y='.5' rx='11.5'/%3E%3Cpath d='M5.7 11.3h12.6v1.4H5.7v-1.4Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Crect fill='none' stroke='%23000' width='23' height='23' x='.5' y='.5' rx='11.5'/%3E%3Cpath d='M5.7 11.3h12.6v1.4H5.7v-1.4Z'/%3E%3C/svg%3E");
}
.action-card {
  background-color: #f7f4f2;
  color: #000;
  text-align: center;
  border-radius: 10rem;
  padding: 30rem 45rem;
}
.action-card > svg {
  margin-bottom: 20rem;
}
.action-card .card-title,
.action-card .card-suptitle {
  color: inherit;
}
.action-card img {
  max-width: 100%;
}
.action-card p {
  font-weight: 300;
  margin-bottom: 30rem;
}
.action-card .button-picto {
  padding-left: 55rem;
}
.action-card-large {
  display: flex;
  text-align: left;
  overflow: hidden;
  padding: 0;
}
.action-card-large figure {
  display: flex;
  justify-content: center;
}
.action-card-large figure img,
.action-card-large figure svg,
.action-card-large figure video,
.action-card-large figure object,
.action-card-large figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.action-card-large figure img,
.action-card-large figure svg,
.action-card-large figure video,
.action-card-large figure object,
.action-card-large figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.action-card-large > div > svg {
  width: 30rem;
  height: 30rem;
  color: #c2143a;
  margin-bottom: 20rem;
}
.action-card-large > div .card-suptitle {
  text-transform: uppercase;
  margin-bottom: 20rem;
}
.action-card-large > div p {
  font-weight: 300;
  margin-bottom: 20rem;
}
.action-card-contact {
  background-color: #c2143a;
  color: #fff;
}
.action-card-contact > svg,
.action-card-contact > div > svg {
  color: #fff;
}
.action-card-contact .button {
  color: #c2143a;
}
.action-card-contact .button:hover {
  color: #fff;
}
.action-card-contact .button:hover svg {
  color: #fff;
}
.action-card-contact .contact-green-number {
  display: none;
  max-width: 280rem;
  width: 100%;
  margin: 6rem 0;
}
.action-card-contact .contact-green-number > img {
  max-width: 100%;
}
.action-card-contact.contact-showinfos .button-shownumber {
  display: none;
}
.action-card-contact.contact-showinfos .contact-green-number {
  display: inline-block;
}
.action-card-red {
  background-color: #c2143a;
  color: #fff;
}
.action-card-red > svg,
.action-card-red > div > svg {
  color: #fff;
}
.action-card-red .button {
  color: #c2143a;
}
.action-card-red .button:hover {
  color: #fff;
}
.action-card-red .button:hover svg {
  color: #fff;
}
.contact-card {
  border-radius: 10rem;
  text-align: center;
  overflow: hidden;
  padding: 30rem 25rem;
}
.contact-card:last-child {
  margin-bottom: 0;
}
.contact-card figure {
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.contact-card figure img,
.contact-card figure svg,
.contact-card figure video,
.contact-card figure object,
.contact-card figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.contact-card figure img,
.contact-card figure svg,
.contact-card figure video,
.contact-card figure object,
.contact-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.contact-card figure img {
  width: 100%;
}
.contact-card h2,
.contact-card h3 {
  color: inherit;
  margin-bottom: 10rem;
}
.contact-card > svg {
  width: 30rem;
  height: 30rem;
  margin-bottom: 10rem;
}
.contact-card h2 {
  line-height: 1.5;
  font-size: 18rem;
}
.contact-card h3 {
  line-height: 1.5;
  font-size: 14rem;
}
.contact-card p {
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 300;
  margin-bottom: 20rem;
}
.contact-card .button {
  margin-bottom: 10rem;
}
.contact-card .button:last-child {
  margin-bottom: 0;
}
.contact-card .button-shownumber {
  padding-left: 52rem;
  margin-bottom: 0;
}
.contact-card .button-shownumber svg {
  width: 20rem;
  height: 20rem;
}
.contact-card .contact-green-number {
  display: none;
  max-width: 280rem;
  width: 100%;
  margin: 6rem 0;
}
.contact-card .contact-green-number > img {
  max-width: 100%;
}
.contact-card.contact-showinfos .button-shownumber {
  display: none;
}
.contact-card.contact-showinfos .contact-green-number {
  display: inline-block;
}
.contact-ask {
  background-color: var(--color-theme);
  color: #fff;
}
@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
@keyframes bounce-pin-down {
  0% {
    transform: translate(0, 0) scale(1, 1);
  }
  25% {
    transform: translate(0, -20%) scale(1, 1);
  }
  60% {
    transform: translate(0, 5%) scale(1, 0.9);
  }
  80% {
    transform: translate(0, -10%) scale(1, 1);
  }
  100% {
    transform: translate(0, 0) scale(1, 1);
  }
}
aside.summary details {
  background-color: rgba(255,255,255,0.85);
  border-radius: 5rem;
  box-shadow: 0 0 10rem rgba(0,0,0,0.1);
  transition: background-color 1s ease;
}
aside.summary details[open] {
  background-color: #fff;
}
aside.summary details[open] summary {
  margin-bottom: 20rem;
}
aside.summary details[open] summary::after {
  transform: rotate(90deg);
}
aside.summary summary {
  display: flex;
  justify-content: space-between;
  color: #c2143a;
  font-size: 20rem;
  margin-bottom: 0;
  list-style-type: none;
  cursor: pointer;
}
aside.summary summary::after {
  content: '';
  display: inline-block;
  width: 30rem;
  height: 30rem;
  font-size: 20rem;
  background-image: url("medias/arrow-short.svg");
  background-position: center;
  margin-left: 10rem;
  vertical-align: middle;
  transition: 0.3s ease;
  transform: rotate(-90deg);
  transform-origin: center center;
}
aside.summary ol {
  list-style: none;
  margin: 0;
}
aside.summary ol li {
  margin-top: 10rem;
  padding-top: 10rem;
}
aside.summary ol li a {
  color: #635459;
  text-decoration: none;
}
aside.summary ol li a:hover {
  color: #c2143a;
}
aside.summary ol.summary {
  padding-left: 0;
  counter-reset: item;
}
aside.summary ol.summary > li::before {
  display: inline-block;
  content: counter(item) ". ";
  counter-increment: item;
  width: 1em;
  margin-right: 0.5em;
  text-align: right;
}
aside.summary ol.summary > li + li {
  border-top: 1px solid #d4d4d4;
}
aside.summary ol.summary > li > ol {
  margin-top: 10rem;
  padding-left: 30rem;
  counter-reset: subitem;
}
aside.summary ol.summary > li > ol > li {
  padding-top: 0;
}
aside.summary ol.summary > li > ol > li::before {
  display: inline-block;
  content: counter(item) "." counter(subitem) ". ";
  counter-increment: subitem;
  width: 1em;
  margin-right: 1em;
  text-align: right;
}
aside.summary.summary-folder {
  position: fixed;
  z-index: 9;
  top: 246rem;
}
aside.summary.summary-folder details {
  margin: 0;
  padding: 0;
  border-radius: 8rem 0 0 8rem;
  box-shadow: none;
  background: #fff;
  position: relative;
  overflow: hidden;
}
aside.summary.summary-folder details .inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: calc(100dvh - 302rem);
}
aside.summary.summary-folder details .summary-folder-info {
  padding: 0 64rem 0 32rem;
  flex: 0 0 auto;
  position: relative;
}
aside.summary.summary-folder details .summary-folder-info h3 {
  color: #7d0d25;
  font-size: 14rem;
  font-weight: 600;
  line-height: 130%;
  margin-bottom: 3rem;
}
aside.summary.summary-folder details .summary-folder-info p {
  color: #484848;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  margin-bottom: 16rem;
}
aside.summary.summary-folder details .summary-folder-info:after {
  content: "";
  display: block;
  width: calc(100% - 64rem);
  height: 1px;
  background: #d4d4d4;
  position: absolute;
  bottom: 0;
  left: 32rem;
}
aside.summary.summary-folder details ol.summary {
  padding: 0 32rem;
  height: 100%;
  overflow-y: auto;
  flex: 1 1 auto;
}
aside.summary.summary-folder details ol.summary > li {
  position: relative;
}
aside.summary.summary-folder details ol.summary > li > ol {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}
aside.summary.summary-folder details ol.summary > li > ol.active {
  max-height: none;
}
aside.summary.summary-folder details ol.summary > li a.active {
  font-weight: 600;
  color: #000;
}
aside.summary.summary-folder details ol.summary > li a.active:hover {
  color: #000;
}
aside.summary.summary-folder details ol.summary > li::after {
  content: "";
  display: block;
  width: 5rem;
  height: calc(100% + 10rem);
  background: transparent;
  position: absolute;
  top: 0;
  left: -32rem;
  transition: background 0.3s ease-in-out;
}
aside.summary.summary-folder details ol.summary > li.active ol {
  max-height: none;
}
aside.summary.summary-folder details ol.summary > li.active::after {
  background: #7d0d25;
}
aside.summary.summary-folder details ol.summary > li:hover ol {
  max-height: none;
}
aside.summary.summary-folder details ol.summary li.active::before {
  font-weight: 600;
  color: #000;
}
aside.summary.summary-folder details .icon-close {
  display: none;
}
aside.summary.summary-folder details[open] {
  display: flex;
  flex-direction: column;
  padding: 32rem 0 20rem;
  box-shadow: 0 6rem 25rem 10rem rgba(0,0,0,0.15);
  width: 285rem;
  max-height: calc(100dvh - 250rem);
}
aside.summary.summary-folder details[open] summary {
  position: absolute;
  background: transparent;
  margin: 0;
  right: 20rem;
  top: 26rem;
  z-index: 1;
}
aside.summary.summary-folder details[open] summary svg {
  color: #000;
}
aside.summary.summary-folder details[open] .icon-close {
  display: block;
}
aside.summary.summary-folder details[open] .icon-summary {
  display: none;
}
aside.summary.summary-folder details[open] .summary-title {
  display: none;
}
aside.summary.summary-folder details summary {
  border-radius: 8rem 0 0 8rem;
  background: #7d0d25;
  padding: 16rem 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5rem;
  cursor: pointer;
  font-size: 10rem;
  font-weight: 400;
  color: #fff;
}
aside.summary.summary-folder details summary::after {
  display: none;
}
.avbadge-local {
  font-size: 1rem;
  width: 150em;
  height: 150em;
  position: relative;
  background-image: url("medias/avis-verifies-bg.png");
  background-size: contain;
  color: #fff;
}
.avbadge-local a {
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.avbadge-local .avbadge-rate,
.avbadge-local .avbadge-reviews {
  display: block;
  text-align: center;
  width: 100%;
}
.avbadge-local .avbadge-rate {
  padding: 0.4285em 0 0;
  line-height: 1.25;
  font-size: 35em;
  font-weight: 500;
  font-family: sans-serif;
}
.avbadge-local .avbadge-stars {
  display: flex;
  width: 70%;
  height: 17.5em;
  justify-content: space-between;
  margin: 3.5rem auto 2.5rem;
}
.avbadge-local .avbadge-star {
  flex: 0 17.5em;
  position: relative;
  box-shadow: inset 0 0 10rem rgba(242,142,35,0.5);
  clip-path: polygon(50% 0%, 65% 35%, 100% 40%, 75% 65%, 80% 100%, 50% 80%, 20% 100%, 25% 65%, 0% 40%, 35% 35%);
}
.avbadge-local .avbadge-star::before,
.avbadge-local .avbadge-star::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  height: 100%;
}
.avbadge-local .avbadge-star::before {
  width: 100%;
}
.avbadge-local .avbadge-star::after {
  z-index: 1;
  width: var(--avstar-width);
  background-color: #f28e23;
}
.avbadge-local .avbadge-reviews {
  font-size: 10em;
}
ul.breadcrumb {
  display: block;
}
ul.breadcrumb li {
  color: #8c8c8c;
  display: inline-block;
  transition: opacity 0.75s ease, color 0.3s ease;
}
ul.breadcrumb li::before {
  content: '';
  display: inline-block;
  width: 6.5rem;
  height: 6.5rem;
  border: 1px solid currentcolor;
  border-width: 1px 1px 0 0;
  margin: 0 10rem;
  transform: translate(-10%, -5%) scale(0.85, 1) rotate(45deg);
}
ul.breadcrumb li:first-child::before {
  content: none;
}
ul.breadcrumb a {
  color: inherit;
  text-decoration: none;
  line-height: 1.5;
  font-size: 12rem;
  font-weight: 400;
}
ul.breadcrumb a:hover {
  color: #635459;
  color: var(--color-theme);
}
nav.breadcrumb ul {
  display: flex;
  justify-content: center;
  gap: 10rem;
  width: 100%;
}
nav.breadcrumb li {
  display: flex;
  align-items: center;
  gap: 10rem;
  color: #8c8c8c;
}
nav.breadcrumb li::after {
  content: '';
  width: 6rem;
  height: 9rem;
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9'%3E%3Cpath fill='none' stroke='black' d='m.354.354 4 4-4 4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='9' viewBox='0 0 6 9'%3E%3Cpath fill='none' stroke='black' d='m.354.354 4 4-4 4'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
}
nav.breadcrumb li:last-child::after {
  content: none;
}
nav.breadcrumb a,
nav.breadcrumb span {
  color: inherit;
  line-height: 1.5;
  font-size: 12rem;
  font-weight: 400;
}
nav.breadcrumb a {
  text-decoration: none;
}
nav.breadcrumb a:hover {
  color: var(--color-theme);
}
.button,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label,
input[type=reset],
input[type=submit],
input[type=button] {
  display: inline-block;
  width: auto;
  min-height: 40rem;
  background-color: #635459;
  background-color: var(--color-theme);
  color: #fff;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  line-height: 1.2;
  font-size: 12rem;
  font-weight: 600;
  padding: 12.5rem 20rem;
  border: 2rem solid #635459;
  border-color: var(--color-theme);
  border-radius: 4rem;
  transition: 0.3s ease;
  transition-property: border-color, background-color, color, opacity;
  text-decoration: none;
  cursor: pointer;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
.button:hover,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label:hover,
input[type=reset]:hover,
input[type=submit]:hover,
input[type=button]:hover {
  background-color: #635459;
  color: #fff;
  background-color: var(--color-theme-dark);
  border-color: var(--color-theme-dark);
}
.button:active,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label:active,
input[type=reset]:active,
input[type=submit]:active,
input[type=button]:active {
  box-shadow: none;
}
.button[disabled],
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label[disabled],
input[type=reset][disabled],
input[type=submit][disabled],
input[type=button][disabled] {
  background-color: #d4d4d4;
  color: #fff;
  border-color: #d4d4d4;
  pointer-events: none;
}
.button svg path,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label svg path,
input[type=reset] svg path,
input[type=submit] svg path,
input[type=button] svg path,
.button svg rect,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label svg rect,
input[type=reset] svg rect,
input[type=submit] svg rect,
input[type=button] svg rect,
.button svg polygon,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label svg polygon,
input[type=reset] svg polygon,
input[type=submit] svg polygon,
input[type=button] svg polygon {
  fill: currentcolor;
}
button {
  border: none;
}
button.nav-arrow {
  width: 65rem;
  height: 65rem;
  background-color: #fff;
  color: #635459;
  border: none;
  border-radius: 50%;
  overflow: hidden;
  padding: 0;
}
button.nav-arrow svg {
  width: 13rem;
  vertical-align: baseline;
  fill: var(--color-theme);
}
.button-small,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label {
  font-size: 12rem;
  min-height: 34rem;
  padding: 8rem 16rem;
}
.button-large,
input[type=reset].button-large,
input[type=submit].button-large,
input[type=button].button-large {
  font-size: 16rem;
  min-height: 51rem;
  padding: 14rem 24rem;
}
.button-outline,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label {
  background-color: transparent;
  color: #635459;
  color: var(--color-theme);
}
.button-outline:hover,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label:hover {
  background-color: #635459;
  color: #fff;
  background-color: var(--color-theme);
  border-color: #635459;
  border-color: var(--color-theme);
}
.button-outline-white,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label-white {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.button-outline-white:hover,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label-white:hover {
  background-color: #fff;
  color: #635459;
  color: var(--color-theme);
  border-color: #fff;
}
.button-outline.button-red,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label.button-red {
  background-color: transparent;
  color: #c2143a;
}
.button-outline.button-red:hover,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label.button-red:hover {
  background-color: #c2143a;
  color: #fff;
  border-color: #c2143a;
}
.button-white {
  color: #635459;
  background-color: #fff;
  color: var(--color-theme);
  border-color: #fff;
}
.button-white:hover {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}
.button-red {
  background-color: #c2143a;
  color: #fff;
  border-color: #c2143a;
}
.button-red:hover {
  background-color: #7d0d25;
  color: #fff;
  border-color: #7d0d25;
}
.button-picto {
  position: relative;
}
.button-picto svg {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.button-default {
  background-color: #635459;
  color: #fff;
  border-color: #635459;
}
.button-default:hover {
  background-color: #473d40;
  color: #fff;
  border-color: #473d40;
}
.button-arrow::after {
  content: '';
  display: flex;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath fill='%23fff' d='M11.2228 5.83325L10.1728 6.89406L12.5351 9.25626H5V10.7436H12.5351L10.1728 13.1058L11.2228 14.1666L15.3894 10L11.2228 5.83325Z'/%3E%3C/svg%3E");
  background-size: contain;
}
.carousel-arrow {
  display: flex;
  width: 65rem;
  height: 65rem;
  padding: 0;
  background-color: var(--color-theme);
  border-radius: 50%;
  overflow: hidden;
  transition: 0.3s ease;
  transition-property: opacity, background-color;
}
.carousel-arrow::after {
  content: '';
  width: 100%;
  height: 100%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 11 9'%3E%3Cpath fill='white' d='M6.5,0.3L5.5,1.4l2.4,2.4H0.3v1.5h7.5L5.5,7.6l1,1.1l4.2-4.2L6.5,0.3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='9' viewBox='0 0 11 9'%3E%3Cpath fill='white' d='M6.5,0.3L5.5,1.4l2.4,2.4H0.3v1.5h7.5L5.5,7.6l1,1.1l4.2-4.2L6.5,0.3z'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 14rem 11.5rem;
  mask-size: 14rem 11.5rem;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: #fff;
}
.carousel-arrow.disabled {
  opacity: 0.75;
  cursor: default;
}
.carousel-arrow:hover {
  background-color: var(--color-theme-dark);
}
.carousel-arrow-white {
  background-color: #fff;
  opacity: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.carousel-arrow-white::after {
  background-color: var(--color-theme);
}
.carousel-arrow-white:hover {
  opacity: 0.7;
  background-color: #fff;
}
.carousel-dots {
  line-height: 0;
  display: flex;
  gap: 10rem;
  flex-flow: wrap;
  justify-content: center;
}
.carousel-dots button {
  width: 10rem;
  height: 10rem;
  padding: 0;
  border-radius: 50%;
  background-color: #8c8c8c;
  border: none;
  cursor: pointer;
  transform: scale(0.8);
  transition: transform 0.3s ease;
}
.carousel-dots button.dot-active {
  background-color: var(--color-theme);
  transform: scale(1);
}
.carousel-prev {
  transform: rotate(180deg);
}
.content-placeholder {
  position: relative;
  z-index: 7;
}
.content-placeholder .placeholder-disclaimer {
  text-align: center;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
figure.figure-video {
  position: relative;
  cursor: pointer;
  background-color: #f7f4f2;
}
figure.figure-video.type-embed::before,
figure.figure-video.type-embed::after {
  z-index: 5;
  position: absolute;
  left: 50%;
  top: 50%;
  cursor: pointer;
}
figure.figure-video.type-embed::before {
  background-color: #fff;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: box-shadow 0.3s ease;
  box-shadow: 0 0 6rem -2rem var(--color-theme-dark);
}
figure.figure-video.type-embed::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  border-inline-start-color: var(--color-theme);
  transform: translate(-40%, -50%);
  transition: border-color 0.3s ease;
}
figure.figure-video.type-embed:hover::before {
  box-shadow: 0 0 10rem 0 var(--color-theme-dark);
}
figure.figure-video.type-embed:hover::after {
  border-inline-start-color: var(--color-theme-dark);
}
figure.figure-video.type-embed.figure-cover::before,
figure.figure-video.type-embed.figure-cover::after {
  content: '';
}
figure.figure-video.type-embed:not(.figure-cover).video-allowed:not(.video-ready)::before,
figure.figure-video.type-embed:not(.figure-cover).video-allowed:not(.video-ready)::after {
  content: none !important;
}
figure.figure-video.type-embed:not(.figure-cover).video-allowed:not(.video-ready) .iframe-preview {
  display: none;
}
figure.figure-video.type-embed:not(.figure-cover).video-ready:not(.video-playing)::before,
figure.figure-video.type-embed:not(.figure-cover).video-ready:not(.video-playing)::after {
  content: '' !important;
}
figure.figure-video.type-embed:not(.figure-cover).video-playing::before,
figure.figure-video.type-embed:not(.figure-cover).video-playing::after {
  content: none !important;
}
figure.figure-video.type-embed:not(.figure-cover).video-playing .iframe-preview {
  display: none;
}
figure.figure-video iframe,
figure.figure-video .content-placeholder {
  flex: 1;
  height: 100%;
  aspect-ratio: 16/9;
}
figure.figure-video .iframe-preview {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.video-modal {
  position: fixed;
  z-index: -1;
  left: 0;
  top: var(--menu-header-offset);
  width: 100vw;
  height: 100vh;
  background-color: rgba(17,17,17,0.933);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  display: flex;
  justify-content: center;
  align-items: center;
}
.video-modal .modal-close {
  position: absolute;
  z-index: 10;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background-color: var(--color-theme);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' stroke='white' stroke-linecap='round' stroke-width='2'%3E%3Cline x1='1' y1='1' x2='19' y2='19'/%3E%3Cline x1='19' y1='1' x2='1' y2='19'/%3E%3C/svg%3E");
  background-size: 20rem;
  background-position: center;
}
.video-modal .figure-video {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
}
.video-modal .figure-video.type-embed.video-allowed {
  background-color: transparent;
}
.video-modal .figure-video iframe {
  border: none;
  border-radius: 8rem;
  overflow: hidden;
  height: auto;
  max-width: calc(100% - 40rem);
}
.video-modal .figure-video,
.video-modal .content-placeholder {
  width: 100%;
  height: 100%;
}
.video-modal.modal-opened {
  z-index: 2000;
  opacity: 1;
  pointer-events: auto;
}
form fieldset {
  padding: 0;
  margin-bottom: 40rem;
  border: none;
  box-sizing: border-box;
}
form .field {
  margin-bottom: 20rem;
  position: relative;
  text-align: left;
}
form .field > input[required] ~ label::after,
form .field > select[required] ~ label::after,
form .field > textarea[required] ~ label::after,
form .field div.label.required::after,
form .field label.required::after {
  content: '*';
}
form .field > input[disabled],
form .field > select[disabled],
form .field > textarea[disabled] {
  background-color: #fff;
  color: #d4d4d4;
  border-color: currentcolor;
}
form .field > input[disabled]::-moz-placeholder, form .field > select[disabled]::-moz-placeholder, form .field > textarea[disabled]::-moz-placeholder {
  color: #d4d4d4;
}
form .field > input[disabled]::placeholder,
form .field > select[disabled]::placeholder,
form .field > textarea[disabled]::placeholder {
  color: #d4d4d4;
}
form .field > input[disabled] ~ label,
form .field > select[disabled] ~ label,
form .field > textarea[disabled] ~ label {
  color: #d4d4d4 !important;
}
form .field-text label,
form .field-email label,
form .field-tel label {
  transform: translate(0, 0) scale(0.75);
  transform-origin: left center;
}
form .field-text input:-moz-placeholder + label, form .field-email input:-moz-placeholder + label, form .field-tel input:-moz-placeholder + label {
  transform: translate(0, 30rem);
}
form .field-text input:placeholder-shown + label,
form .field-email input:placeholder-shown + label,
form .field-tel input:placeholder-shown + label {
  transform: translate(0, 30rem);
}
form .field-text input:focus + label,
form .field-email input:focus + label,
form .field-tel input:focus + label {
  transform: translate(0, 0) scale(0.75);
}
form .field-textarea label {
  margin-top: -25rem;
  transform: translate(20rem, 40rem) scale(0.75);
  transform-origin: top left;
  width: calc(133% - 25rem);
}
form .field-textarea textarea {
  min-height: 160rem;
}
form .field-textarea textarea:-moz-placeholder + label {
  transform: translate(20rem, 45rem);
  width: calc(100% - 30rem);
}
form .field-textarea textarea:placeholder-shown + label {
  transform: translate(20rem, 45rem);
  width: calc(100% - 30rem);
}
form .field-textarea textarea:focus + label {
  transform: translate(20rem, 45rem) scale(0.75);
  width: calc(133% - 30rem);
}
form .field-textarea p.help {
  order: 2;
}
form .field-text,
form .field-email,
form .field-tel,
form .field-textarea,
form .field-select {
  display: flex;
  flex-flow: column;
  line-height: 1.5625;
  font-size: 16rem;
}
form .field-text label,
form .field-email label,
form .field-tel label,
form .field-textarea label,
form .field-select label {
  position: relative;
  z-index: 0;
  color: #8c8c8c;
  font-weight: 500;
  pointer-events: none;
  margin-bottom: 0;
  transition: transform 0.3s ease, width 0.3s ease;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
form .field-text input,
form .field-email input,
form .field-tel input,
form .field-textarea textarea {
  order: 1;
}
form .field-text input::-moz-placeholder, form .field-email input::-moz-placeholder, form .field-tel input::-moz-placeholder, form .field-textarea textarea::-moz-placeholder {
  opacity: 0;
}
form .field-text input::placeholder,
form .field-email input::placeholder,
form .field-tel input::placeholder,
form .field-textarea textarea::placeholder {
  opacity: 0;
}
form .field-text input:-moz-placeholder + label, form .field-email input:-moz-placeholder + label, form .field-tel input:-moz-placeholder + label, form .field-textarea textarea:-moz-placeholder + label {
  color: #000;
  font-weight: 500;
}
form .field-text input:placeholder-shown + label,
form .field-email input:placeholder-shown + label,
form .field-tel input:placeholder-shown + label,
form .field-textarea textarea:placeholder-shown + label {
  color: #000;
  font-weight: 500;
}
form .field-text input:focus + label,
form .field-email input:focus + label,
form .field-tel input:focus + label,
form .field-textarea textarea:focus + label {
  color: #8c8c8c;
}
form .field-radios .radios,
form .field-checkboxes .radios,
form .field-radios .checkboxes,
form .field-checkboxes .checkboxes {
  margin-top: 5rem;
}
form .field-radios .radios label,
form .field-checkboxes .radios label,
form .field-radios .checkboxes label,
form .field-checkboxes .checkboxes label {
  color: #000;
}
form .field-radios.field-error .radios label,
form .field-checkboxes.field-error .radios label,
form .field-radios.field-error .checkboxes label,
form .field-checkboxes.field-error .checkboxes label {
  color: #c2143a;
}
form .field-radios.field-error .radios label::after,
form .field-checkboxes.field-error .radios label::after,
form .field-radios.field-error .checkboxes label::after,
form .field-checkboxes.field-error .checkboxes label::after {
  border-color: #c2143a;
}
form .field-radios .radios {
  margin-bottom: 10rem;
}
form .field-radios div.radio {
  display: inline-block;
  margin-right: 20rem;
}
form .field-checkboxes {
  padding-top: 20rem;
}
form .field-checkboxes > label {
  color: #000;
  line-height: 1.5625;
  font-size: 16rem;
}
form .field-checkboxes > label + .checkboxes {
  margin-top: 15rem;
}
form .field-checkboxes .checkboxes label {
  margin-right: 30rem;
}
form .field-checkboxes.checkbox-tags .checkboxes {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
  gap: 12rem;
}
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label {
  margin-right: 0;
}
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label::before,
form .field-checkboxes.checkbox-tags .checkboxes .checkbox label::after {
  content: none;
}
form .field-checkboxes.checkbox-tags .checkboxes .checkbox input:checked + label {
  background-color: var(--color-theme);
  color: #fff;
}
form .field-checkboxes.checkbox-tags .checkboxes .checkbox input:checked + label:hover {
  outline: 2rem solid var(--color-theme);
}
form .field-checkbox {
  min-height: 30rem;
  margin-top: 10rem;
}
form .field-checkbox label {
  color: #000;
}
form .field-checkbox label.required::after {
  content: '';
}
form .field-checkbox.field-optin-email label {
  display: inline-block;
  line-height: 1.5;
  font-size: 16rem;
  font-weight: 400;
}
form .field-select {
  display: flex;
  flex-flow: column;
}
form .field-select label {
  color: #000;
  transform-origin: left center;
  transform: translate(0, 30rem);
}
form .field-select select.selected ~ label {
  color: #8c8c8c;
  transform: translate(0, 0) scale(0.75) !important;
}
form .field-select .selectui-container.selectui-opened + label {
  color: #8c8c8c;
  transform: translate(0, 0) scale(0.75);
}
form .field-select select:not(.selected) + .selectui-container .selectui-current {
  color: rgba(0,0,0,0);
}
form .field-select select:not(.selected) + .selectui-container .selectui-current::after {
  color: #000;
}
form .field-select .selectui-container {
  order: 1;
  width: 100%;
}
form .field-select .selectui-container .selectui-list li:first-child {
  display: none;
}
form .field-select select.select-availability ~ .selectui-container .selectui-current {
  position: relative;
  padding-left: 30rem;
}
form .field-select select.select-availability ~ .selectui-container .selectui-current::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7.5rem;
  width: 20rem;
  height: 20rem;
  background-image: url("medias/clock.svg");
  background-size: contain;
}
form .field-select select.select-availability ~ label {
  transform: translate(30rem, 30rem);
}
form .field-recaptcha {
  flex-flow: column;
  width: 100% !important;
  text-align: center;
}
form .field-recaptcha .placeholder-disclaimer {
  position: static;
  transform: none;
}
form .field-recaptcha .placeholder-disclaimer p {
  color: #000;
  font-weight: 500;
  font-size: 18rem;
  padding: 0 20%;
}
form .field-recaptcha .placeholder-disclaimer .action-activate {
  display: block;
  margin: 10rem auto 0;
}
form .field-recaptcha .action-reload {
  background-color: transparent;
  font-weight: inherit;
  text-decoration: underline;
  padding: 0;
}
form .field-recaptcha.field-error {
  display: flex;
}
form .field-recaptcha.field-error p {
  color: #c2143a;
  font-weight: 500;
}
form .field-file {
  margin-top: 32rem;
}
form .field-file div.label {
  color: #000;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 500;
}
form .field-file p.help {
  margin-bottom: 24rem;
}
form .field-file label {
  white-space: nowrap;
  padding-left: 17rem !important;
  --color-theme: #635459;
  --color-theme-dark: #635459;
}
form .field-file label::before {
  content: '';
  width: 16rem;
  height: 16rem;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='white' d='M5.6,6.9l7.5,7.5l1.3-1.3L6.9,5.6L5.6,6.9z M2.8,2.8c0.6-0.6,1.4-1,2.3-1s1.7,0.3,2.3,1l3.8,3.8l1.3-1.3L8.7,1.5 C7.8,0.5,6.5,0,5.1,0C3.8,0,2.5,0.5,1.5,1.5c-2,2-2,5.2,0,7.2l3.8,3.8l1.3-1.3L2.8,7.4C1.5,6.2,1.5,4.1,2.8,2.8L2.8,2.8z M18.5,11.3 l-3.8-3.8l-1.3,1.3l3.8,3.8c1.3,1.3,1.3,3.3,0,4.6c-0.6,0.6-1.4,1-2.3,1s-1.7-0.3-2.3-1l-3.8-3.8l-1.3,1.3l3.8,3.8 c1,1,2.3,1.5,3.6,1.5c1.4,0,2.7-0.5,3.6-1.5C20.5,16.5,20.5,13.3,18.5,11.3L18.5,11.3z'/%3E%3C/svg%3E");
  background-size: contain;
  vertical-align: middle;
  margin-right: 10rem;
  margin-top: -2rem;
}
form .field-file ul.file-list {
  padding-inline-start: 0;
  list-style: none;
}
form .field-file ul.file-list li {
  display: flex;
  padding-block: 12rem;
  border-bottom: 1px solid #f7f4f2;
}
form .field-file ul.file-list li::before {
  content: '';
  display: inline-block;
  width: 24rem;
  height: 24rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M21 8V23H3V2H15L21 8ZM5 21H19V8.82812L14.1719 4H5V21Z' /%3E%3Cpath d='M13.5 3.5V9H19.5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  background-size: contain;
  margin-right: 8rem;
  vertical-align: middle;
  transform: translate(0, -2rem);
}
form .field-file ul.file-list li span {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
  margin-right: 10rem;
}
form .field-file ul.file-list li span.file-name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
form .field-file ul.file-list li button {
  line-height: 1.4;
  font-size: 12rem;
  text-decoration: underline;
  background-color: transparent;
  text-transform: lowercase;
}
form .field-file ul.file-list li button:hover {
  color: var(--color-theme);
}
form .field-file ul.file-list li:last-child {
  border-bottom: none;
}
form .field-file .help:not(.is-error) {
  font-weight: 300;
  color: #635459 !important;
}
form .field-error.field-text input,
form .field-error.field-email input,
form .field-error.field-tel input {
  color: #c2143a;
  border-color: #c2143a;
}
form .field-error > .label {
  color: #c2143a !important;
}
form .field-error .selectui-container {
  border-color: #c2143a;
}
form .field-error .help {
  position: relative;
}
form .field-error .error-info-message {
  display: block;
  color: #635459;
  line-height: 1.35;
  font-size: 10rem;
  margin-top: 5rem;
  margin-left: 20rem;
}
form .field-error .error-info-message::before {
  content: 'i';
  display: inline-block;
  width: 14rem;
  height: 14rem;
  color: #635459;
  line-height: 1.6;
  font-size: 8rem;
  font-weight: 700;
  padding: 0;
  border: 1.5px solid currentcolor;
  border-radius: 999rem;
  margin-right: 5rem;
  margin-left: -20rem;
  text-align: center;
}
form .field .help {
  order: 2;
  line-height: 1.6;
  font-size: 12rem;
  margin-bottom: 0;
  padding-top: 5rem;
}
form .field .help-hint {
  background-color: transparent;
  color: #c2143a;
  font-weight: inherit;
  text-decoration: underline;
  padding: 0;
}
form .field .help.is-error {
  color: #c2143a;
  font-weight: 500;
}
form .field .help-counter {
  color: #8c8c8c;
}
form .field .help-counter.is-limit {
  color: #c2143a;
  font-weight: 500;
}
form .field .suggestions {
  position: absolute;
  z-index: 5;
  left: 0;
  top: 65rem;
  min-width: 350rem;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #fff;
  color: #000;
  border: 1px solid #f7f4f2;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.2);
  max-height: 275rem;
  white-space: nowrap;
  overflow-y: auto;
}
form .field .suggestions li {
  line-height: 2.5;
  font-size: 14rem;
  font-weight: 300;
  padding: 5rem 30rem;
  cursor: pointer;
}
form .field .suggestions li strong {
  font-weight: 600;
}
form .field .suggestions li:first-child {
  padding-top: 10rem;
}
form .field .suggestions li:last-child {
  padding-bottom: 10rem;
}
form .field .suggestions li:hover {
  background-color: #f7f4f2;
}
form p.note {
  font-weight: 300;
  text-align: left;
  margin-bottom: 20rem;
}
form p.note a {
  color: var(--color-theme);
  font-weight: 500;
}
form p.note a:hover {
  color: var(--color-theme-dark);
}
form p.note.note-legal,
form p.note.note-disclaimer {
  color: #000;
  line-height: 1.5;
  font-size: 12rem;
}
form p.note.note-required {
  color: #8c8c8c;
  line-height: 1.5;
  font-size: 14rem;
  font-style: italic;
}
form p.note.note-required sup {
  top: 0;
  font-size: inherit;
}
form hr {
  width: 100%;
  border: 0;
  border-top: 1px solid rgba(212,212,212,0.5);
}
.grecaptcha-badge {
  visibility: hidden;
}
select,
textarea,
input[type=text],
input[type=password],
input[type=search],
input[type=email],
input[type=number],
input[type=tel],
input[type=date],
input[type=time],
input[type=url] {
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  line-height: inherit;
  font-size: inherit;
  font-weight: 500;
  background-color: transparent;
  color: #000;
  outline: 0;
  vertical-align: top;
  padding: 5rem 0 10rem;
  border: none;
  border-bottom: 1px solid #000;
  border-radius: 0;
  transition: color 5s ease;
  transition: 0.3s ease;
  transition-property: opacity, box-shadow, color, background-color, border-color;
  box-shadow: 0 0 0 0 transparent;
}
select::-ms-clear,
textarea::-ms-clear,
input[type=text]::-ms-clear,
input[type=password]::-ms-clear,
input[type=search]::-ms-clear,
input[type=email]::-ms-clear,
input[type=number]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=date]::-ms-clear,
input[type=time]::-ms-clear,
input[type=url]::-ms-clear {
  display: none;
}
textarea {
  padding: 40rem 20rem 10rem;
  border: 1px solid #000;
}
textarea,
select[size],
select[multiple] {
  height: auto;
}
textarea {
  min-height: 50rem;
}
input[type=file]:focus,
input[type=radio]:focus,
input[type=checkbox]:focus,
input[type=file]:active,
input[type=radio]:active,
input[type=checkbox]:active {
  box-shadow: none;
}
input[disabled],
select[disabled],
textarea[disabled] {
  background-color: #eee;
}
button[disabled],
input[disabled],
select[disabled],
select[disabled] option,
option[disabled],
textarea[disabled] {
  box-shadow: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  color: #8c8c8c;
  cursor: default;
}
input[type=radio],
input[type=checkbox] {
  width: 1px;
  height: 1px;
  position: absolute;
  display: inherit;
  clip-path: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}
input[type=radio] + label,
input[type=checkbox] + label {
  position: relative;
}
input[type=radio] + label::after,
input[type=checkbox] + label::after,
input[type=radio] + label::before,
input[type=checkbox] + label::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
}
input[type=radio] + label::after,
input[type=checkbox] + label::after {
  border: 1px solid #afa1a6;
}
input[type=radio]:disabled + label,
input[type=checkbox]:disabled + label {
  opacity: 0.35;
}
input[type=radio] + label,
input[type=checkbox] + label {
  padding-left: 40rem;
  line-height: 1.5625;
  font-size: 16rem;
}
input[type=radio] + label::after,
input[type=checkbox] + label::after,
input[type=radio] + label::before,
input[type=checkbox] + label::before {
  margin-top: -2rem;
  width: 30rem;
  height: 30rem;
}
input[type=radio] + label::after,
input[type=checkbox] + label::after {
  border-color: #d4d4d4;
  border-radius: 4rem;
}
input[type=radio] + label::before,
input[type=checkbox] + label::before {
  content: '';
  width: 24rem;
  height: 24rem;
  line-height: 1;
  font-size: 24rem;
  text-align: center;
  font-weight: 700;
  background-color: var(--color-theme);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='12' viewBox='0 0 17 12'%3E%3Cpolygon fill='white' points='6.4,12 0,5.7 1.4,4.3 6.4,9.2 15.6,0 17,1.4'/%3E%3C/svg%3E");
  background-size: 17rem 12rem;
  background-position: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  visibility: hidden;
  border-radius: 3rem;
  top: 3rem;
  left: 3rem;
}
input[type=radio] + label.required::after,
input[type=checkbox] + label.required::after {
  font-size: 0;
}
input[type=radio]:checked + label::before,
input[type=checkbox]:checked + label::before {
  color: #635459;
  color: var(--color-theme);
  visibility: visible;
}
input[type=file] {
  width: 1px;
  height: 1px;
  position: absolute;
  display: inherit;
  clip-path: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}
.selectui-container {
  position: relative;
  z-index: 4;
  width: 300rem;
  box-sizing: border-box;
  display: inline-block;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border-bottom: 1px solid #000;
}
.selectui-container * {
  box-sizing: inherit;
}
.selectui-container ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.field-project .selectui-container {
  z-index: 5;
}
.selectui-current {
  display: block;
  padding: 5rem 25rem 10rem 0;
  cursor: pointer;
  width: 100%;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  line-height: 1.5625;
  font-size: 16rem;
}
.selectui-current::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='14' viewBox='0 0 6 14'%3E%3Cpath d='M0,.565.666,0,6,6.9.67,14,0,13.445,4.907,6.912Z'/%3E%3C/svg%3E");
  display: block;
  position: absolute;
  top: 13rem;
  right: 8rem;
  width: 6rem;
  height: 14rem;
  font-family: arial;
  font-size: 0.65em;
  text-align: center;
  transform: rotate(90deg);
  transition: transform 0.5s ease;
}
.selectui-opened .selectui-current::after {
  transform: rotate(-90deg);
}
.selectui-list {
  visibility: hidden;
  position: absolute;
  top: 40rem;
  width: 100%;
  max-height: 250rem;
  padding: 22.5rem 0 32.5rem;
  border: 1px solid #f7f4f2;
  overflow-y: auto;
  background-color: #fff;
  line-height: 2.5;
  font-size: 14rem;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.2);
}
.selectui-opened .selectui-list {
  visibility: visible;
  z-index: 5;
}
.selectui-list li:not(.selectui-group) {
  cursor: pointer;
  font-weight: 300;
  padding: 0 30rem 0;
  transition: border-color 0.3s ease;
}
.selectui-list li:not(.selectui-group):not(.disabled):hover {
  background-color: #f7f4f2;
}
.selectui-list .selectui-group li {
  padding-left: 35rem;
}
.selectui-list .selectui-group span {
  font-weight: 700;
  text-decoration: underline;
  display: block;
  padding: 5rem 10rem;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  border-top: 1px solid transparent;
  margin-top: -1px;
  transition: border-color 0.3s ease;
}
.selectui-list li.disabled {
  opacity: 0.25;
  background-color: #c0c0c0;
  cursor: default;
}
.selectui-list li.selected {
  font-weight: 600;
}
select.visually-hidden {
  visibility: hidden;
}
#free-study {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background-color: transparent;
  color: #fff;
  font-family: Caveat, cursive;
  font-weight: 700;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-flow: column;
  justify-content: center;
}
#free-study::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #c2143a;
  clip-path: polygon(0px 0px, 100% 0px, 100% calc(100% - 20rem), calc(100% - 20rem) 100%, 0px 100%);
}
#free-study::after {
  content: '';
  width: 20rem;
  height: 20rem;
  position: absolute;
  right: 0;
  bottom: 0;
  border-radius: 10rem 0 0 0;
  background-image: linear-gradient(135deg, #f7f4f2 15%, #d4d4d4 60%);
  clip-path: polygon(-50% -50%, 100% -50%, 100% 1px, 1px 100%, -50% 100%);
  box-shadow: 0 0 5rem 1px rgba(0,0,0,0.4);
}
#free-study svg {
  position: absolute;
}
#free-study strong {
  display: block;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-weight: inherit;
  font-size: 16rem;
  text-transform: uppercase;
}
.theme-pro #free-study::before {
  background-color: #86a05d;
}
.link {
  cursor: pointer;
  background-color: transparent;
  color: var(--color-theme);
  line-height: 1.4;
  font-weight: 500;
  border-bottom: 1px solid currentcolor;
  text-decoration: none;
}
.link:hover {
  color: var(--color-theme-dark);
}
.link-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
.link-white {
  color: #fff;
  border-color: #fff;
}
.link-white:hover {
  color: #fff;
  opacity: 0.5;
}
.link [disabled] {
  background-color: transparent;
  color: #d4d4d4;
}
.theme-default .link {
  --color-theme: #000;
  --color-theme-dark: #000;
}
#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.95);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loading-overlay .loading-overlay-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10rem;
}
#loading-overlay .loading-overlay-content .loading-overlay-content-spinner {
  width: 30rem;
  height: 30rem;
  border: 3rem solid #e6e6e6;
  border-top: 3rem solid #473d40;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
#loading-overlay .loading-overlay-content .loading-overlay-content-text {
  margin: 10rem 0 0 0;
  text-align: center;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#modal-callback .modal-content {
  display: flex;
  flex-flow: column;
  text-align: center;
}
#modal-callback .modal-content h2 {
  line-height: 1.2;
  font-size: 30rem;
  margin-bottom: 20rem;
}
#modal-callback .modal-content > p {
  font-weight: 300;
  max-width: 650rem;
  margin: 0 auto 20rem;
}
#modal-callback .modal-content p.note {
  float: left;
  width: 100%;
}
#modal-callback form .field {
  float: left;
}
#modal-callback form .field-submit {
  margin-bottom: 0;
}
#modal-faq .modal-content {
  text-align: center;
}
#modal-faq .modal-content p {
  font-weight: 300;
}
#modal-faq .modal-content .push-category-list {
  display: flex;
  justify-content: center;
}
#modal-faq .modal-content .push-category-list .category-teaser .card-title {
  display: block;
}
#modal-faq .modal-content > .button {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
#modal-newsletter .modal-content {
  display: flex;
  flex-flow: column;
  text-align: center;
  align-items: center;
  overflow: hidden;
  padding-top: 35rem;
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
#modal-newsletter .modal-content h2 {
  line-height: 1.2;
  font-size: 30rem;
  margin-bottom: 20rem;
}
#modal-newsletter .modal-content > p {
  font-weight: 300;
  max-width: 650rem;
  margin: 0 auto 20rem;
}
#modal-newsletter .modal-content p {
  text-align: center;
}
#modal-newsletter .modal-content p.note {
  float: left;
  width: 100%;
}
#modal-newsletter .modal-content p.note-legal {
  text-align: center;
  color: #8c8c8c;
  line-height: 1.6;
  font-size: 10rem;
}
#modal-newsletter form .field-newsletter-email {
  max-width: 350rem;
  margin-left: auto;
  margin-right: auto;
}
#modal-newsletter form .field-submit {
  margin-bottom: 0;
}
#modal-novendor .modal-title {
  color: #c2143a;
}
#modal-novendor .modal-content {
  width: 720rem;
}
#modal-novendor .modal-content p {
  font-weight: 300;
}
#modal-novendor .modal-content p.text-signature {
  text-align: right;
  font-style: italic;
}
#modal-novendor .modal-content p strong {
  font-weight: 500;
}
.modal-offer .modal-content {
  text-align: left;
}
.modal-offer .modal-title {
  color: #000;
  font-weight: 700;
}
.modal-offer .modal-subtitle {
  color: #000;
  font-weight: 400;
}
.modal-offer .modal-body {
/*
     * Le fichier dit #171717 la ou le theme n'a pas de jeton entre le noir et
     * son gris chaud #635459. Le noir en tient lieu : vingt-trois points
     * d'ecart, invisibles sur un fond blanc, et pas d'hexadecimal isole a
     * maintenir.
     */
  color: #000;
  font-weight: 400;
}
.modal-offer .modal-body p {
  margin-bottom: 20rem;
}
.modal-offer .modal-body p:last-child {
  margin-bottom: 0;
}
.modal-offer .modal-body strong,
.modal-offer .modal-body b {
  font-weight: 600;
}
.modal-offer .modal-actions {
  display: flex;
/*
     * Boutons sur TOUTE LA LARGEUR disponible, retour de recette du 21/08
     * (#424). Ils avaient d'abord ete centres a largeur naturelle (retour du
     * 20/08), mais la maquette les etire d'un bord a l'autre de la colonne :
     * chaque bouton grandit a parts egales, seul le gap les separe. Cette
     * regle vaut aussi pour le bouton unique, qui occupe alors toute la
     * colonne. En telephone la pile en colonne obtient le meme resultat par
     * l'etirement transversal par defaut (align-items stretch), flex-grow n'y
     * fait rien puisque la hauteur du conteneur suit son contenu.
     */
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.modal-offer .modal-actions .button {
  flex: 1 1 0;
  text-align: center;
/* Le fichier donne 500 sur le libelle des deux boutons, la ou le bouton
         du theme est en 600. */
  font-weight: 500;
}
#modal-project-follow .modal-content {
  text-align: center;
}
#modal-project-follow .modal-content p {
  font-weight: 300;
}
#modal-project-follow .modal-content .push-category-list {
  display: flex;
  justify-content: center;
}
#modal-project-follow .modal-content .push-category-list .category-teaser .card-title {
  display: block;
}
#modal-project-follow .modal-content > .button {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.modal-storelocator-news .modal-content {
  text-align: left;
}
.modal-storelocator-news .modal-media {
  margin-bottom: 20rem;
}
.modal-storelocator-news .modal-media img {
  width: 100%;
  border-radius: 6rem;
}
.modal-storelocator-news .modal-date {
  display: block;
  color: #8c8c8c;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 10rem;
}
.modal-storelocator-news .modal-title {
  font-weight: 500;
  margin-bottom: 10rem;
}
.modal-storelocator-news .modal-text p {
  color: #8c8c8c;
  margin-bottom: 1em;
}
#modal-upkeep .modal-content {
  text-align: center;
}
#modal-upkeep .modal-content p {
  font-weight: 300;
}
#modal-upkeep .modal-content .push-category-list {
  display: flex;
  justify-content: center;
}
#modal-upkeep .modal-content .push-category-list .category-teaser .card-title {
  display: block;
}
#modal-upkeep .modal-content > .button {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.modal {
  display: flex;
  position: fixed;
  z-index: -999;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  background-color: rgba(99,84,89,0);
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: background-color 0.3s ease, z-index 0s 0.3s, opacity 0s 0.3s;
}
.modal-close {
  border-radius: 50%;
  background-color: #f7f4f2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon fill='%231d1d20' points='15.4,1.4 14.6,0.6 8,7.3 1.4,0.6 0.6,1.4 7.3,8 0.6,14.6 1.4,15.4 8,8.7 14.6,15.4 15.4,14.6 8.7,8 '/%3E%3C/svg%3E");
  background-position: center;
}
.modal-title {
  display: block;
}
.modal-title strong {
  color: #635459;
  color: var(--color-theme);
  font-weight: inherit;
}
.modal-content {
  position: relative;
  background-color: #fff;
  color: #000;
  border-radius: 10rem;
  transform: translate(0, 100vh);
  transition: transform 0.3s 0.05s ease;
}
.modal.modal-confirmation .modal-content {
  justify-content: center;
  align-items: center;
  flex-flow: column;
  text-align: center;
}
.modal.modal-opened {
  z-index: 999;
  opacity: 1;
  pointer-events: initial;
  background-color: rgba(99,84,89,0.9);
  transition: background-color 0.3s ease;
}
.modal.modal-opened .modal-content {
  transform: translate(0);
}
.mega-menu--block-link-list ul {
  width: 100%;
}
.mega-menu--block-link-list ul li {
  border-bottom: 1px solid #d4d4d4;
}
.mega-menu--block-link-list ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}
.mega-menu--block-link-list ul li a span {
  color: #635459;
  line-height: 1.5;
  font-size: 14rem;
  padding-block: 22rem;
  margin-inline-end: 10rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mega-menu--block-link-list ul li a::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  background-position: center;
  transition: transform 0.3s ease;
}
.mega-menu--block-model .block-model-pushs {
  width: 100%;
}
.mega-menu--block-model .block-model-push {
  position: relative;
  page-break-inside: avoid;
}
.mega-menu--block-model .block-model-push figure {
  border-radius: 8rem;
  background-color: #f7f4f2;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.mega-menu--block-model .block-model-push figure img,
.mega-menu--block-model .block-model-push figure svg,
.mega-menu--block-model .block-model-push figure video,
.mega-menu--block-model .block-model-push figure object,
.mega-menu--block-model .block-model-push figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.mega-menu--block-model .block-model-push figure img,
.mega-menu--block-model .block-model-push figure svg,
.mega-menu--block-model .block-model-push figure video,
.mega-menu--block-model .block-model-push figure object,
.mega-menu--block-model .block-model-push figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.mega-menu--block-model .block-model-push .title-h4 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.5;
  font-size: 14rem;
}
.mega-menu--block-model .block-model-push .title-h4::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  transform: translate(3rem, 0);
  transition: transform 0.3s ease;
}
.mega-menu--block-product .block-push-card {
  width: 100%;
  margin-bottom: 24rem;
}
.mega-menu--block-product .block-push-card figcaption {
  display: flex;
  flex-flow: wrap;
  align-items: center;
  justify-content: space-between;
}
.mega-menu--block-product .block-push-card figcaption .title-h4 {
  width: 100%;
  color: var(--color-theme);
  text-transform: uppercase;
  margin-bottom: 10rem;
}
.mega-menu--block-product .block-push-card figcaption .product-price {
  display: flex;
  flex-flow: column;
  line-height: 1.3;
}
.mega-menu--block-product .block-push-card figcaption .product-price-crossed {
  color: #8c8c8c;
  font-size: 14rem;
  text-decoration: line-through;
}
.mega-menu--block-product .block-push-card figcaption .product-price-current {
  color: #000;
  font-size: 30rem;
  font-weight: 600;
}
.mega-menu--block-product .block-push-card figcaption .product-price-current sup {
  top: -1.5em;
  font-size: 40%;
  font-weight: 700;
}
.mega-menu--block-product .block-push-card figcaption .product-price-text {
  color: #000;
  font-size: 12rem;
  font-weight: 600;
}
.mega-menu--block-product .block-push-card.block-push-promo figcaption {
  flex-flow: column;
  align-items: center;
  justify-content: center;
  gap: 12rem;
  text-align: center;
}
.mega-menu--block-product .block-push-card.block-push-promo figcaption p {
  color: #8c8c8c;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 300;
  margin-bottom: 0;
}
.mega-menu--block-product .block-link-cards {
  width: 100%;
  max-width: 360rem;
}
.mega-menu--block-product .block-link-card {
  border-radius: 8rem;
  border: 1px solid var(--color-theme);
  padding: 16rem 24rem;
  margin-bottom: 25rem;
}
.mega-menu--block-product .block-link-card .link-type {
  text-transform: uppercase;
  font-weight: 300;
}
.mega-menu--block-product .block-link-card a,
.mega-menu--block-product .block-link-card p {
  color: #000;
  line-height: 1.5;
  font-size: 14rem;
  text-decoration: none;
  margin: 0;
}
.mega-menu--block-product .block-link-card:last-child {
  margin-bottom: 0;
}
.mega-menu--block-push-card .block-push-card figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20rem;
}
.mega-menu--block-push-price .block-price-pushes {
  display: flex;
  flex-flow: column wrap;
  margin-bottom: 20rem;
}
.mega-menu--block-push-price .block-price-pushes li {
  border-bottom: 1px solid #d4d4d4;
}
.mega-menu--block-push-price .block-price-pushes li:last-child {
  border-bottom: none;
}
.mega-menu--block-push-price .block-push-price {
  display: flex;
  align-items: center;
  gap: 16rem;
  color: #635459;
}
.mega-menu--block-push-price .block-push-price figure {
  border-radius: 4rem;
  background-color: #f7f4f2;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.mega-menu--block-push-price .block-push-price figure img,
.mega-menu--block-push-price .block-push-price figure svg,
.mega-menu--block-push-price .block-push-price figure video,
.mega-menu--block-push-price .block-push-price figure object,
.mega-menu--block-push-price .block-push-price figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.mega-menu--block-push-price .block-push-price figure img,
.mega-menu--block-push-price .block-push-price figure svg,
.mega-menu--block-push-price .block-push-price figure video,
.mega-menu--block-push-price .block-push-price figure object,
.mega-menu--block-push-price .block-push-price figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.mega-menu--block-push-price .block-push-price figure img {
  line-height: 1;
  font-size: 8rem;
}
.mega-menu--block-push-price .block-push-price .title-h4 {
  line-height: 1.5;
  font-size: 14rem;
  color: inherit;
  transition: color 0.3s ease;
}
.mega-menu--block-push-price .block-push-price p:last-child {
  margin-bottom: 0;
}
.mega-menu--block-push-price .block-push-price::after {
  content: '';
  flex: 1 0 24rem;
  width: 24rem;
  height: 24rem;
  -webkit-mask-image: var(--menu-arrow-image);
  mask-image: var(--menu-arrow-image);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: right center;
  mask-position: right center;
  background-color: currentColor;
}
.mega-menu--block-push-promo .block-push-promo figcaption {
  display: flex;
  flex-flow: column;
  justify-content: center;
}
.mega-menu--block-push-promo .block-push-promo figcaption p {
  color: #8c8c8c;
  font-size: 12rem;
  font-weight: 300;
  margin-bottom: 0;
}
.mega-menu--block-surface .block-link-pushs {
  width: 100%;
}
.mega-menu--block-surface .block-link-push {
  margin-bottom: 30rem;
}
.mega-menu--block-surface .block-link-push::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  transition: transform 0.3s ease;
}
.mega-menu--block-surface .block-link-push .title-h4 {
  line-height: 1.5;
  font-size: 16rem;
  color: var(--color-theme);
}
.mega-menu--block-surface .block-link-push a {
  color: #000;
  font-weight: 300;
  text-decoration: none;
}
.mega-menu--block-surface .block-button-link {
  width: 100%;
  margin-bottom: 20rem;
}
.mega-menu--block-text-cta .block-text p {
  color: #000;
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 300;
}
.mega-menu--block .block-link-card,
.mega-menu--block .block-link-push,
.mega-menu--block .block-model-push,
.mega-menu--block .block-push-price {
  position: relative;
}
.mega-menu--block .button {
  border-radius: 4rem;
  text-align: center;
}
.mega-menu--block .block-cta-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10rem;
  color: #000;
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 600;
  text-decoration: none;
}
.mega-menu--block .block-cta-link::after {
  content: '';
  display: inline-block;
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  transform: translate(3rem, 0);
  transition: transform 0.3s ease;
}
.mega-menu--block .block-push-card {
  position: relative;
  border-radius: 8rem;
  overflow: hidden;
  height: 475rem;
}
.mega-menu--block .block-push-card figure {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
}
.mega-menu--block .block-push-card figure img,
.mega-menu--block .block-push-card figure svg,
.mega-menu--block .block-push-card figure video,
.mega-menu--block .block-push-card figure object,
.mega-menu--block .block-push-card figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.mega-menu--block .block-push-card figure img,
.mega-menu--block .block-push-card figure svg,
.mega-menu--block .block-push-card figure video,
.mega-menu--block .block-push-card figure object,
.mega-menu--block .block-push-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.mega-menu--block .block-push-card figcaption {
  position: absolute;
  left: 8rem;
  right: 8rem;
  bottom: 8rem;
  background-color: #fff;
  border-radius: 4rem;
  padding: 16rem;
  box-shadow: 0 0 5rem 0 rgba(0,0,0,0.05);
}
.mega-menu--block .block-push-card figcaption .title-h4 {
  font-weight: 500;
}
.mega-menu--block .block-push-card figcaption .button {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}
.mega-menu-container {
  display: flex;
  background-color: #fff;
}
.mega-menu-container .mega-menu--block {
  display: flex;
  flex-flow: column;
}
#overlay {
  width: 100vw;
  height: 100vh;
  backdrop-filter: blur(10rem);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  z-index: 999;
  left: 0;
  bottom: 0;
  right: 0;
  top: 0;
  transition: opacity 0.3s ease;
  overflow: hidden;
}
#overlay .overlay-container {
  height: 100%;
  background-color: #fff;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.19);
  overflow-y: auto;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
#overlay .overlay-container .overlay-content {
  display: inline-block;
  min-height: 100%;
}
#overlay .overlay-container .overlay-content h2 {
  margin-bottom: 1em;
}
#overlay .overlay-container .overlay-content figure.main-figure {
  width: 100%;
  border-radius: 12rem;
  overflow: hidden;
  margin-bottom: 2em;
  display: flex;
  justify-content: center;
  background-color: #f7f4f2;
}
#overlay .overlay-container .overlay-content figure.main-figure img,
#overlay .overlay-container .overlay-content figure.main-figure svg,
#overlay .overlay-container .overlay-content figure.main-figure video,
#overlay .overlay-container .overlay-content figure.main-figure object,
#overlay .overlay-container .overlay-content figure.main-figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
#overlay .overlay-container .overlay-content figure.main-figure img,
#overlay .overlay-container .overlay-content figure.main-figure svg,
#overlay .overlay-container .overlay-content figure.main-figure video,
#overlay .overlay-container .overlay-content figure.main-figure object,
#overlay .overlay-container .overlay-content figure.main-figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
#overlay .overlay-container .overlay-content figure.main-figure img {
  width: 100%;
}
#overlay .overlay-container .overlay-content p,
#overlay .overlay-container .overlay-content ul {
  color: #000;
  font-weight: 300;
  margin-bottom: 1em;
}
#overlay .overlay-container .overlay-content p:last-child,
#overlay .overlay-container .overlay-content ul:last-child {
  margin-bottom: 0;
}
#overlay .close-overlay {
  background-color: var(--color-theme);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon fill='white' points='15.4,1.4 14.6,0.6 8,7.3 1.4,0.6 0.6,1.4 7.3,8 0.6,14.6 1.4,15.4 8,8.7 14.6,15.4 15.4,14.6 8.7,8 '/%3E%3C/svg%3E");
  background-position: center;
  border-radius: 50%;
  position: absolute;
  z-index: 9;
}
#overlay.overlay-opened {
  opacity: 1;
  pointer-events: initial;
}
#overlay.overlay-opened .overlay-container {
  transform: translateX(0);
  transition: transform 0.3s ease;
}
.load-popin-dialog {
  padding: 0;
  border: none;
  border-radius: 10rem;
  box-shadow: 0 0 40rem rgba(0,0,0,0.4);
  max-width: 1300rem;
  width: calc(100% - 30rem);
  max-height: 90vh;
  overflow: hidden;
  background: #fff;
  position: fixed;
}
.load-popin-dialog::backdrop {
  background-color: rgba(99,84,89,0.9);
}
.load-popin-dialog .dialog-container {
  position: relative;
  padding: 50rem 95rem 60rem;
  max-height: 90vh;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.load-popin-dialog .close-dialog {
  width: 35rem;
  height: 35rem;
  position: absolute;
  right: 30rem;
  top: 30rem;
  border-radius: 50%;
  background-color: #f7f4f2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon fill='%231d1d20' points='15.4,1.4 14.6,0.6 8,7.3 1.4,0.6 0.6,1.4 7.3,8 0.6,14.6 1.4,15.4 8,8.7 14.6,15.4 15.4,14.6 8.7,8 '/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 10;
  text-indent: -9999rem;
}
.load-popin-dialog .dialog-content {
  min-height: 100rem;
  color: #000;
}
.load-popin-dialog .dialog-content header:has(.breadcrumb) nav {
  display: none;
}
.load-popin-dialog .dialog-content section {
  padding-inline: 0 !important;
}
.load-popin-dialog .dialog-content section.section-products-manual {
  margin-inline: -95rem;
}
.load-popin-dialog .dialog-content section.section-carousel-videos {
  margin-inline: -95rem;
}
.load-popin-dialog .dialog-content .carousel-arrow {
  position: absolute;
}
.load-popin-dialog .dialog-content .carousel-prev {
  left: 0;
}
.load-popin-dialog .dialog-content .carousel-next {
  right: 0;
}
.load-popin-dialog.is-loading .dialog-content {
  display: flex;
  justify-content: center;
  align-items: center;
}
.load-popin-dialog.is-loading .dialog-content:after {
  content: "";
  display: block;
  width: 40rem;
  height: 40rem;
  margin: 40rem auto;
  border: 4rem solid #f7f4f2;
  border-top-color: #679ab6;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.push-card {
  position: relative;
  background-color: #fff;
  color: #635459;
  border-radius: 8rem;
  box-shadow: 0 3rem 10rem rgba(0,0,0,0.05);
  border: 1px solid #dadada;
}
.push-card figure {
  position: relative;
  left: -1px;
  top: -1px;
  width: calc(100% + 2rem);
  border-radius: 8rem 8rem 0 0;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid #dadada;
}
.push-card figure img,
.push-card figure svg,
.push-card figure video,
.push-card figure object,
.push-card figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.push-card figure img,
.push-card figure svg,
.push-card figure video,
.push-card figure object,
.push-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.push-card figure img {
  width: 100%;
  aspect-ratio: auto;
}
.push-card .card-icon svg,
.push-card .card-icon img {
  width: auto;
  height: 100%;
}
.push-card .card-icon svg {
  fill: var(--color-theme);
}
.push-card h3,
.push-card .card-title {
  color: #000;
  font-weight: 500;
  margin-inline: 20rem;
}
.push-card .button {
  position: relative;
  z-index: 2;
  max-width: 80%;
}
.submenu .menu-mobile {
  color: var(--color-theme);
  line-height: 1.5;
  font-size: 18rem;
  font-weight: 600;
}
.submenu .menu-mobile button {
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background-color: var(--color-theme);
  color: #fff;
  margin-right: 15rem;
  padding: 0;
}
.submenu .menu-mobile button svg {
  transform: rotate(180deg);
}
.submenu-large .background-video {
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  background-color: var(--color-theme);
  opacity: 0.5;
}
.submenu-large .background-video video {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top right;
  object-position: top right;
}
.submenu-large .submenu-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.submenu-large .menu-title-h3 {
  color: #000;
  line-height: 1.45;
  font-size: 24rem;
  margin-bottom: 10rem;
  text-transform: uppercase;
}
.submenu-large .menu-title p {
  color: #000;
  margin-bottom: 0;
}
.submenu-large .menu-title strong {
  color: #635459;
  color: var(--color-theme);
  font-weight: inherit;
}
.submenu-large .menu-button-items {
  display: flex;
  flex-flow: column;
}
.submenu-large .menu-button-items .button {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 45rem;
  line-height: 17rem;
  text-align: left;
  padding-left: 45rem;
  padding-right: 45rem;
  margin-bottom: 10rem;
}
.submenu-large .menu-button-items .button:last-child {
  margin-bottom: 0;
}
.submenu-large .menu-button-items .button > svg {
  width: 13rem;
  height: 10rem;
  position: absolute;
  right: 17.5rem;
  top: calc(50% - 5rem);
}
.submenu-large .menu-button-items .button .category-icon {
  position: absolute;
  left: 15rem;
  top: calc(50% - 10rem);
}
.submenu-large .menu-button-items .button .category-icon svg {
  width: 20rem;
  height: 20rem;
}
.submenu-large .menu-card-items {
  display: flex;
}
.submenu-large .menu-link-items .menu-item {
  padding: 15rem 0;
  border-bottom: 1px solid #d4d4d4;
  position: relative;
  display: flex;
  align-items: center;
}
.submenu-large .menu-link-items .menu-item a {
  line-height: 1.25;
  font-size: 16rem;
  color: #000;
  text-decoration: none;
  padding-right: 45rem;
  display: inline-block;
  width: 100%;
}
.submenu-large .menu-link-items .menu-item svg {
  position: absolute;
  right: 0;
  top: calc(50% - 5rem);
  fill: var(--color-theme);
  transform: translate(0, 0);
  transition: transform 0.3s ease;
}
.submenu-large .menu-link-items .menu-item:hover svg {
  transform: translate(5rem, 0);
}
.submenu-small {
  background-color: #fff;
}
.submenu-small .menu-item {
  margin-bottom: 20rem;
  white-space: nowrap;
}
.submenu-small .menu-item:last-child {
  margin-bottom: 0;
}
.submenu-small .menu-item a {
  font-size: 14rem;
  text-decoration: none;
  text-transform: uppercase;
  color: inherit;
}
.submenu-small .menu-item a img {
  display: inline-block;
  width: 60rem;
  height: 60rem;
  border-radius: 50%;
  font-size: 8rem;
  text-align: center;
  background-color: rgba(102,102,102,0.2);
  margin-right: 20rem;
  transform: scale(1);
  transition: transform 0.75s ease;
  overflow: hidden;
}
.submenu-small .menu-item a:hover {
  color: #635459;
}
.submenu-small .menu-item a:hover img {
  transform: scale(1.05);
}
article.item-category {
  position: relative;
  overflow: hidden;
}
article.item-category:hover figure img {
  transform: scale(1.05);
}
article.item-category figure {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
}
article.item-category figure img,
article.item-category figure svg,
article.item-category figure video,
article.item-category figure object,
article.item-category figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
article.item-category figure img,
article.item-category figure svg,
article.item-category figure video,
article.item-category figure object,
article.item-category figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
article.item-category figure img {
  width: 100%;
  transform: scale(1);
  transition: transform 0.75s ease;
}
article.item-category .category-title {
  position: relative;
  line-height: 1.5625;
  font-size: 16rem;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-theme);
}
article.item-category a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#nav-main article.item-category {
  border: 1px solid #e9e9e9;
}
#nav-main article.item-category figure::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
}
#nav-main article.item-category .category-title {
  margin-top: -10rem;
  transform: translate(0, -100%);
}
#nav-category article.item-category {
  box-shadow: 0 0 20rem 1px rgba(0,0,0,0.15);
}
#nav-category article.item-category .category-title {
  height: 90rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  padding: 0 30rem;
  margin-top: -90rem;
}
p {
  margin-block-start: 0;
  margin-block-end: 15rem;
  margin: 0 0 15rem 0;
}
ul,
ol {
  padding-inline-start: 40rem;
  padding-left: 40rem;
}
html,
.theme-default {
  --color-theme: #635459;
  --color-theme-dark: #473d40;
}
.theme-veranda {
  --color-theme: #d6634d;
  --color-theme-dark: #b34935;
}
.theme-extension {
  --color-theme: #d6634d;
  --color-theme-dark: #b34935;
}
.theme-pergola {
  --color-theme: #8c9965;
  --color-theme-dark: #707f46;
}
.theme-terracecover {
  --color-theme: #8c9965;
  --color-theme-dark: #707f46;
}
.theme-poolcover {
  --color-theme: #679ab6;
  --color-theme-dark: #3c6a84;
}
.theme-gardenhouse {
  --color-theme: #8c9965;
  --color-theme-dark: #707f46;
}
.theme-gardenstudio {
  --color-theme: #d6634d;
  --color-theme-dark: #b34935;
}
.theme-carport {
  --color-theme: #eba952;
  --color-theme-dark: #cf913f;
}
.theme-red,
body:not(.theme-pro) > header,
.page--contact main,
.page--customer-service main,
.page--dataprivacy main,
.page--study main {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.theme-pro .theme-default,
.theme-pro .theme-veranda,
.theme-pro .theme-pergola,
.theme-pro .theme-extension,
.theme-pro .theme-terracecover,
.theme-pro .theme-poolcover,
.theme-pro .theme-gardenhouse,
.theme-pro .theme-gardenstudio,
.theme-pro .theme-carport,
.theme-pro .theme-red,
.theme-pro {
  --color-theme: #86a05d;
  --color-theme-dark: #005c64;
}
svg .color-theme {
  fill: var(--color-theme);
}
:root {
  --color-default: #635459;
  --color-default-dark: #473d40;
  --color-veranda: #d6634d;
  --color-veranda-dark: #b34935;
  --color-pergola: #8c9965;
  --color-pergola-dark: #707f46;
  --color-extension: #d6634d;
  --color-extension-dark: #b34935;
  --color-terracecover: #8c9965;
  --color-terracecover-dark: #707f46;
  --color-poolcover: #679ab6;
  --color-poolcover-dark: #3c6a84;
  --color-gardenhouse: #8c9965;
  --color-gardenhouse-dark: #707f46;
  --color-gardenstudio: #d6634d;
  --color-gardenstudio-dark: #b34935;
  --color-carport: #eba952;
  --color-carport-dark: #cf913f;
  --color-red: #c2143a;
  --color-red-dark: #7d0d25;
  --color-pro: #86a05d;
  --color-pro-dark: #005c64;
}
.theme-custom {
  --color-theme-dark: color-mix(in srgb, var(--color-theme), black 30%);
}
h1,
.title-h1,
span.title,
h2,
.title-h2,
h3,
.title-h3,
h4,
.title-h4 {
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-weight: 500;
  color: #000;
  overflow-wrap: break-word;
  margin: 0;
}
h1 a,
.title-h1 a,
span.title a,
h2 a,
.title-h2 a,
h3 a,
.title-h3 a,
h4 a,
.title-h4 a {
  color: inherit;
  font-weight: inherit;
  font-size: inherit;
}
h1 strong,
.title-h1 strong,
span.title strong,
h2 strong,
.title-h2 strong,
h3 strong,
.title-h3 strong,
h4 strong,
.title-h4 strong {
  color: #635459;
  color: var(--color-theme);
  font-weight: inherit;
}
h1,
.title-h1,
span.title {
  line-height: 1.2;
  font-size: 30rem;
  font-weight: 600;
}
h2,
.title-h2 {
  line-height: 1.2;
  font-size: 26rem;
}
h3,
.title-h3 {
  line-height: 1.2;
  font-size: 23rem;
}
:root {
  --rating-star-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M7.524 2.975a.5.5 0 0 1 .951 0l.984 3.028a.5.5 0 0 0 .475.346h3.184a.5.5 0 0 1 .294.904l-2.576 1.872a.5.5 0 0 0-.181.559l.984 3.028a.5.5 0 0 1-.77.559l-2.576-1.872a.5.5 0 0 0-.587 0L5.13 13.271a.5.5 0 0 1-.77-.56l.984-3.027a.5.5 0 0 0-.181-.56l-2.576-1.87a.5.5 0 0 1 .294-.905h3.184a.5.5 0 0 0 .475-.346l.984-3.028Z'/%3E%3C/svg%3E");
  --arrow-turn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cg stroke='%23000' stroke-width='1.2' fill='none'%3E%3Cpath d='M1 11.975v-6.5h10'/%3E%3Cpath d='m6.475 1 4.475 4.475L6.475 9.95'/%3E%3C/g%3E%3C/svg%3E");
}
/*
 * Layout
 */
body > footer {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  background-color: #484848;
  color: #fff;
  --menu-arrow-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.00364 5.56454L9.66614 5L15 11.9045L9.66978 19L9 18.445L13.9069 11.9119L9.00364 5.56454Z' fill='%230F0F0F'/%3E%3C/svg%3E");
  overflow: hidden;
}
body > footer .footer-nav {
  display: flex;
  align-items: center;
}
body > footer .footer-nav-menu ul.menu {
  display: flex;
  justify-content: space-between;
}
body > footer .footer-nav-menu ul.menu > li.menu-item {
  flex: 1;
}
body > footer .footer-nav-menu ul.menu > li.menu-item > a,
body > footer .footer-nav-menu ul.menu > li.menu-item > span {
  line-height: 1.5;
  font-size: 16rem;
}
body > footer .footer-nav-menu li.menu-item > a,
body > footer .footer-nav-menu li.menu-item > span {
  display: flex;
  align-items: center;
  color: #fff;
  text-decoration: none;
}
body > footer .footer-nav-menu li.menu-item:hover > a {
  text-decoration: underline;
}
body > footer .footer-nav-menu ul.sub-menu {
  display: flex;
  flex-flow: column;
}
body > footer .footer-nav-menu ul.sub-menu > li.menu-item > a,
body > footer .footer-nav-menu ul.sub-menu > li.menu-item > span {
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 400;
}
#footer-scroll-top {
  height: 40rem;
  padding-inline-end: 55rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect x='1' y='1' width='38' height='38' rx='19' stroke='white' stroke-width='2' fill='none'/%3E%3Cpath d='M15 19.0319L16.273 20.2919L19.1076 17.4571V26.4993H20.8924V17.4571L23.727 20.2919L25 19.0319L20.0001 14.0319L15 19.0319Z' fill='white'/%3E%3C/svg%3E");
  background-size: 40rem;
  background-position: center right;
  background-color: transparent;
}
#footer-social ul.menu {
  gap: 10rem;
}
#footer-social li.menu-item {
  width: 40rem;
  height: 40rem;
  border-radius: 50%;
  border: 2rem solid #fff;
  background-size: 20rem;
  background-position: center;
}
#footer-social li.menu-item a {
  display: inline-block;
  width: 100%;
  text-indent: -9999rem;
}
#footer-social li.menu-item.facebook {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9,8H6v4h3v12h5V12h3.6L18,8h-4V6.3c0-1,0.2-1.3,1.1-1.3H18V0h-3.8C10.6,0,9,1.6,9,4.6V8z'/%3E%3C/svg%3E%0A");
}
#footer-social li.menu-item.instagram {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M18.4,4.2c-0.8,0-1.4,0.6-1.4,1.4C17,6.4,17.6,7,18.4,7c0.8,0,1.4-0.6,1.4-1.4c0,0,0,0,0,0C19.8,4.8,19.2,4.2,18.4,4.2 M12,5.8c-3.4,0-6.2,2.8-6.2,6.2s2.8,6.2,6.2,6.2s6.2-2.8,6.2-6.2S15.4,5.8,12,5.8z M12,16c-2.2,0-4-1.8-4-4s1.8-4,4-4s4,1.8,4,4 S14.2,16,12,16z M23.9,7.1c-0.2-4.4-2.6-6.8-7-7C15.7,0,15.3,0,12,0S8.3,0,7.1,0.1c-4.4,0.2-6.8,2.6-7,7C0,8.3,0,8.7,0,12 s0,3.7,0.1,4.9c0.2,4.4,2.6,6.8,7,7C8.3,24,8.7,24,12,24s3.7,0,4.9-0.1c4.4-0.2,6.8-2.6,7-7C24,15.7,24,15.3,24,12S24,8.3,23.9,7.1z M21.8,16.8c-0.1,3.2-1.7,4.8-4.9,4.9c-1.3,0.1-1.6,0.1-4.8,0.1s-3.6,0-4.8-0.1c-3.3-0.1-4.8-1.7-4.9-4.9c-0.1-1.3-0.1-1.6-0.1-4.8 s0-3.6,0.1-4.8c0.1-3.2,1.7-4.8,4.9-4.9C8.4,2.2,8.8,2.2,12,2.2c3.2,0,3.6,0,4.8,0.1c3.3,0.1,4.8,1.7,4.9,4.9 c0.1,1.3,0.1,1.6,0.1,4.8C21.8,15.2,21.8,15.6,21.8,16.8z'/%3E%3C/svg%3E%0A");
}
#footer-social li.menu-item.youtube {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='15' viewBox='0 0 20 15'%3E%3Cpath fill='%23fff' d='M8 10.499v-6l5.196 3L8 10.5Zm11.582-7.814A2.505 2.505 0 0 0 17.814.917C16.254.499 10 .499 10 .499s-6.254 0-7.814.418c-.86.23-1.538.908-1.768 1.768C0 4.245 0 7.499 0 7.499s0 3.254.418 4.814c.23.86.908 1.538 1.768 1.768C3.746 14.5 10 14.5 10 14.5s6.254 0 7.814-.418a2.505 2.505 0 0 0 1.768-1.768C20 10.753 20 7.499 20 7.499s0-3.254-.418-4.814Z'/%3E%3C/svg%3E");
}
#footer-social li.menu-item.pinterest {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M8.1,23.4c0.8-1.2,1.4-2.5,1.8-3.9l0.9-3.5c0.8,1.1,2,1.7,3.4,1.7c4.5,0,7.7-4.1,7.7-9.2c0-4.9-4-8.5-9.1-8.5 C6.4,0,3,4.3,3,8.9c0,2.2,1.2,4.9,3,5.7c0.3,0.1,0.4,0.1,0.5-0.2l0.4-1.7c0-0.1,0-0.3-0.1-0.4c-0.7-1-1.1-2.2-1.1-3.4 c0-3.5,2.8-6.4,6.4-6.4c0.1,0,0.2,0,0.3,0c3.2-0.2,6,2.3,6.2,5.5c0,0.2,0,0.4,0,0.5c0,4-2,6.8-4.6,6.8c-1.2,0.1-2.2-0.9-2.3-2 c0-0.2,0-0.4,0.1-0.6c0.4-1.8,1.2-3.7,1.2-4.9c0.1-1-0.6-1.9-1.6-2.1c-0.1,0-0.2,0-0.3,0c-1.5,0-2.7,1.5-2.7,3.6 c0,0.8,0.1,1.5,0.4,2.2c0,0-1.5,6.2-1.7,7.3c-0.2,1.4-0.2,2.8-0.1,4.2L7.3,24L8.1,23.4z'/%3E%3C/svg%3E%0A");
}
#footer-social li.menu-item.twitter {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M24,4.3c-0.9,0.4-1.9,0.6-2.8,0.8c1-0.6,1.8-1.6,2.2-2.7c-1,0.6-2,1-3.1,1.2C19.3,2.5,18,2,16.6,2c-2.7,0-4.9,2.1-4.9,4.8 c0,0.4,0,0.8,0.1,1.1c-3.9-0.2-7.6-2-10.1-5.1C0.4,5.1,1,8,3.2,9.4C2.4,9.3,1.6,9.1,1,8.8c0,2.3,1.6,4.4,3.9,4.8 c-0.7,0.2-1.5,0.2-2.2,0.1c0.7,2,2.5,3.3,4.6,3.4c-2.1,1.6-4.7,2.3-7.3,2c2.3,1.4,4.9,2.2,7.5,2.2c7.6,0.1,13.9-6,14-13.6 c0-0.3,0-0.6,0-0.8C22.5,6.1,23.3,5.2,24,4.3'/%3E%3C/svg%3E%0A");
}
#footer-social li.menu-item.linkedin {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 512 512'%3E%3Cpath fill='white' d='M435.2,0H76.8C34.4,0,0,34.4,0,76.8v358.4C0,477.6,34.4,512,76.8,512h358.4c42.4,0,76.8-34.4,76.8-76.8V76.8C512,34.4,477.6,0,435.2,0z M147,437H61V178h86V437z M104,152c-26.5,0-48-21.5-48-48s21.5-48,48-48c26.5,0,48,21.5,48,48S130.5,152,104,152z M456,437h-86V299c0-35-12-59-43-59c-25.9,0-42.9,20.1-47,42.4V437h-86V178h86v35.5c11.3-16.9,33.3-40.5,77-40.5c57,0,99,36,99,116V437z'/%3E%3C/svg%3E");
}
#footer-links div.menu-footer-links {
  width: 100%;
}
#footer-links ul.sub-menu {
  gap: 15rem;
  margin-top: 15rem;
}
#footer-links li.menu-item > a[target="_blank"] {
  gap: 10rem;
}
#footer-links li.menu-item > a[target="_blank"]::after {
  content: '';
  flex: 0 0 18rem;
  width: 18rem;
  height: 18rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19'%3E%3Cpath d='M13.9004 10.248V14.748C13.9004 15.1459 13.7424 15.5274 13.4611 15.8087C13.1797 16.09 12.7982 16.248 12.4004 16.248H4.15039C3.75257 16.248 3.37103 16.09 3.08973 15.8087C2.80843 15.5274 2.65039 15.1459 2.65039 14.748V6.49805C2.65039 6.10022 2.80843 5.71869 3.08973 5.43739C3.37103 5.15608 3.75257 4.99805 4.15039 4.99805H8.65039M11.6504 2.74805H16.1504M16.1504 2.74805V7.24805M16.1504 2.74805L7.90039 10.998' stroke='black' stroke-linecap='round' stroke-linejoin='round' fill='none' /%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 19'%3E%3Cpath d='M13.9004 10.248V14.748C13.9004 15.1459 13.7424 15.5274 13.4611 15.8087C13.1797 16.09 12.7982 16.248 12.4004 16.248H4.15039C3.75257 16.248 3.37103 16.09 3.08973 15.8087C2.80843 15.5274 2.65039 15.1459 2.65039 14.748V6.49805C2.65039 6.10022 2.80843 5.71869 3.08973 5.43739C3.37103 5.15608 3.75257 4.99805 4.15039 4.99805H8.65039M11.6504 2.74805H16.1504M16.1504 2.74805V7.24805M16.1504 2.74805L7.90039 10.998' stroke='black' stroke-linecap='round' stroke-linejoin='round' fill='none' /%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: #fff;
}
#footer-legal {
  display: flex;
  width: 100%;
  margin-block: 30rem;
}
#footer-legal ul.menu {
  display: flex;
}
#footer-legal ul.menu li.menu-item > a,
#footer-legal ul.menu li.menu-item > span {
  display: inline-block;
  line-height: 1.5;
  font-size: 12rem;
  font-weight: 400;
}
#footer-legal ul.menu li.menu-item > a img,
#footer-legal ul.menu li.menu-item > span img {
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
}
#footer-legal .menu-footer-contact ul.menu {
  gap: 20rem;
}
#footer-legal .menu-footer-contact ul.menu li.menu-item-contact span {
  font-size: 11rem;
  text-transform: uppercase;
  vertical-align: middle;
}
body {
  --menu-header-offset: 0px;
  --menu-header-sticky-offset: 0px;
}
body > header {
  --menu-close-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11.328 11.328'%3E%3Cpath d='M11.145,9.085L7.723,5.664l3.422-3.421c0.243-0.244,0.243-0.64,0-0.883L9.967,0.183%0Ac-0.244-0.244-0.64-0.244-0.883,0L5.662,3.604l-3.42-3.421c-0.244-0.244-0.639-0.244-0.883,0L0.183,1.36%0Ac-0.243,0.244-0.243,0.639,0,0.883l3.421,3.421L0.183,9.085c-0.243,0.244-0.243,0.639,0,0.883l1.177,1.178%0Ac0.244,0.243,0.639,0.243,0.883,0l3.42-3.422l3.422,3.422c0.243,0.243,0.639,0.243,0.883,0l1.178-1.178%0AC11.389,9.724,11.389,9.329,11.145,9.085z'/%3E%3C/svg%3E");
  position: sticky;
  top: var(--menu-header-sticky-offset);
  z-index: 10;
  width: 100%;
}
body > header .header-nav {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  background-color: #fff;
}
body > header .header-nav-spacer {
  flex: 1;
  background-color: #fff;
}
body > header .header-nav-container {
  background-color: #fff;
  flex-flow: wrap;
  justify-content: flex-start;
  border-bottom: 1px solid #d4d4d4;
}
body > header .header-nav-container .brand-logo {
  display: flex;
  align-items: center;
}
body > header .header-nav-container-mobile {
  background-color: #fff;
  flex-flow: wrap;
  justify-content: space-between;
}
#searchform {
  display: flex;
  align-items: center;
  visibility: hidden;
}
#searchform input {
  width: 100%;
  height: 40rem;
  line-height: 1.45;
  font-size: 14rem;
  font-weight: 400;
  padding: 9.5rem 36rem 9.5rem 12rem;
  border: 1px solid #d4d4d4;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21 21'%3E%3Cpath d='M16.531 14.9601L20.8137 19.2428L19.3995 20.657L15.1168 16.3743C13.5769 17.6063 11.624 18.3433 9.5 18.3433C4.532 18.3433 0.5 14.3113 0.5 9.34326C0.5 4.37526 4.532 0.343262 9.5 0.343262C14.468 0.343262 18.5 4.37526 18.5 9.34326C18.5 11.4673 17.763 13.4202 16.531 14.9601ZM14.5247 14.2181C15.7475 12.9579 16.5 11.2389 16.5 9.34326C16.5 5.47576 13.3675 2.34326 9.5 2.34326C5.6325 2.34326 2.5 5.47576 2.5 9.34326C2.5 13.2108 5.6325 16.3433 9.5 16.3433C11.3956 16.3433 13.1146 15.5908 14.3748 14.368L14.5247 14.2181Z'/%3E%3C/svg%3E");
  background-size: 21rem 21rem;
  background-position: center right 10rem;
  background-color: rgba(235,235,235,0.2);
}
#searchform input::-moz-placeholder {
  text-transform: uppercase;
}
#searchform input::placeholder {
  text-transform: uppercase;
}
#header-brand .header-cobrand-visit {
  color: inherit;
}
#header-mobile-nav {
  padding: 25rem;
  width: auto;
}
#header-mobile-nav .action-close {
  display: flex;
  align-items: center;
  padding: 0;
  width: 25rem;
  height: 25rem;
  -webkit-mask-image: var(--menu-close-image);
  mask-image: var(--menu-close-image);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20rem;
  mask-size: 20rem;
  background-color: #484848;
}
body.customize-support {
  --menu-header-offset: var(--wp-admin--admin-bar--height);
}
html {
  --app-height: 100vh;
  font-size: 0.069444444444444vw;
/*
   * jumpy scroll bar fix
   */
/* 1st alt -- force vertical scrollbar */
/* 2rd alt -- force width, hide part of the page under scrollbar, disable h-scroll */
/* 3rd alt -- force margin, assert 'overflow: auto', async  */
  margin-right: calc(100% - 100vw);
}
html.scroll-lock {
  overflow: hidden;
}
:root {
  --menu-arrow-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.25 17.25L14.75 11.75L9.25 6.24997' stroke='black' fill='none'/%3E%3C/svg%3E");
}
body {
  background-color: transparent;
  color: #635459;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-weight: 500;
  line-height: 1.45;
  font-size: 14rem;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
body::after {
  content: '';
  display: block;
  clear: both;
}
main {
  width: 100%;
}
main::after {
  content: '';
  display: block;
  clear: both;
}
main > section {
  position: relative;
}
nav ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  margin-top: 0;
}
.header-nav > div {
  width: 100%;
}
.header-nav ul.menu {
  display: flex;
  -moz-column-gap: 20rem;
  column-gap: 20rem;
}
.header-nav ul.menu li.menu-item > a,
.header-nav ul.menu li.menu-item > span {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  -moz-column-gap: 10rem;
  column-gap: 10rem;
  align-items: center;
  text-decoration: none;
  transition: color 0.3s ease, border-color 0.3s ease;
}
.header-nav li.menu-item-nav {
  border: none !important;
  padding: 0;
}
.header-nav li.menu-item-nav nav {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.header-nav li.menu-item-nav button {
  display: flex;
  align-items: center;
  padding: 0;
  background-color: transparent;
  gap: 10rem;
}
.header-nav li.menu-item-nav .action-back {
  color: #000;
  line-height: 1.25;
  font-size: 16rem;
  font-weight: 600;
  text-transform: uppercase;
}
.header-nav li.menu-item-nav .action-back::before {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  background-position: center;
  transform: rotate(180deg);
}
.header-nav li.menu-item-nav .action-close {
  padding: 0;
  width: 25rem;
  height: 25rem;
  -webkit-mask-image: var(--menu-close-image);
  mask-image: var(--menu-close-image);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20rem;
  mask-size: 20rem;
  background-color: #484848;
}
.header-nav-menu {
  --menu-arrow-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.25 17.25L14.75 11.75L9.25 6.24997' stroke='black' fill='none'/%3E%3C/svg%3E");
}
.header-nav-menu ul.menu li.menu-item > a,
.header-nav-menu ul.menu li.menu-item > span {
  justify-content: space-between;
}
.header-nav-menu ul.menu li.menu-item > ul.sub-menu {
  flex-flow: column;
}
.header-nav-menu ul.menu li.menu-item.menu-item-has-children > a::after,
.header-nav-menu ul.menu li.menu-item.menu-item-has-children > span::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  -webkit-mask-image: var(--menu-arrow-image);
  mask-image: var(--menu-arrow-image);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: currentColor;
}
.header-nav-menu ul.menu li.menu-item.menu-item-has-children > ul.sub-menu {
  display: none;
}
.header-nav-menu ul.menu li.menu-item.menu-opened > ul.sub-menu {
  display: flex;
}
.header-nav-menu ul.menu > li.menu-item.menu-opened > a,
.header-nav-menu ul.menu > li.menu-item.menu-opened > span {
  color: var(--color-theme);
}
.menu-header-brand ul.menu li.menu-item ul.sub-menu {
  background-color: #fff;
}
.menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item > a,
.menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item > span {
  font-size: 14rem;
}
.menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item > a::after,
.menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item > span::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  background-image: var(--menu-arrow-image);
  background-size: contain;
  background-position: center;
  transition: transform 0.3s ease;
}
.menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item:last-child {
  border-bottom: none;
}
.menu-header-hub ul.menu li.menu-item > a,
.menu-header-hub ul.menu li.menu-item > span {
  color: #000;
}
.menu-header-hub ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu {
  transform: translate(0, 0);
}
.menu-header-hub ul.menu > li.menu-item.menu-opened > a,
.menu-header-hub ul.menu > li.menu-item.menu-opened > span {
  color: var(--color-theme);
}
.menu-header-hub ul.menu > li.menu-item.menu-opened > ul.sub-menu {
  display: flex;
}
.menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu > a {
  justify-content: flex-start;
}
.menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu > a > img {
  font-size: 8rem;
  overflow: hidden;
  border-radius: 4rem;
  -o-object-fit: cover;
  object-fit: cover;
  background-color: #d4d4d4;
}
.menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu.menu-opened > a {
  border-left-color: var(--color-theme);
  border-right-color: #fff;
}
.menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu.menu-opened > a > img {
  border-color: var(--color-theme);
}
.menu-header-hub ul.menu > li.menu-item > a,
.menu-header-hub ul.menu > li.menu-item > span {
  font-size: 13rem;
  font-weight: 600;
  text-transform: uppercase;
}
.menu-header-hub ul.menu > li.menu-item.menu-opened > a,
.menu-header-hub ul.menu > li.menu-item.menu-opened > span {
  border-bottom-color: var(--color-theme);
}
.menu-header-quicklinks ul.menu li.menu-item {
  position: relative;
}
.menu-header-quicklinks ul.menu li.menu-item.agences > a,
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a {
  gap: 8rem;
  background-color: #fff;
  color: #635459;
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 500;
  padding: 12rem 16rem;
  border: 1px solid currentColor;
  border-radius: 4rem;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.menu-header-quicklinks ul.menu li.menu-item.agences > a::before,
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a::before {
  content: '';
  -webkit-mask-image: var(--menu-item-icon);
  mask-image: var(--menu-item-icon);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: currentColor;
  transition: background-color 0.3s ease;
}
.menu-header-quicklinks ul.menu li.menu-item.agences > a:hover,
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a:hover {
  color: var(--color-theme);
  border-color: currentColor;
}
.menu-header-quicklinks ul.menu li.menu-item.agences {
  --menu-item-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='26.4' viewBox='0 0 20 26.4'%3E%3Cpath d='M10,0C4.5,0,0,4.2,0,9.4c0.1,1.9,0.6,3.7,1.4,5.4c0.9,1.9,2,3.7,3.2,5.4c1,1.4,2.1,2.7,3.1,4c0.4,0.4,0.7,0.8,1,1.2l0.2,0.2 l0.9,1l0.7-0.7l0.6-0.6c0.1-0.1,0.3-0.3,0.4-0.5l0.4-0.5c1.1-1.2,2.2-2.6,3.2-4c1.2-1.7,2.3-3.5,3.2-5.4c0.9-1.7,1.4-3.5,1.4-5.4 C20,4.2,15.5,0,10,0z M16.8,13.9c-0.9,1.8-1.9,3.5-3.1,5c-1,1.3-2,2.6-3,3.8L10.4,23L10,23.5l-0.7-0.7c-1-1.2-2.1-2.5-3-3.8 c-1.2-1.6-2.2-3.3-3.1-5C2.5,12.5,2.1,11,2,9.4C2,5.3,5.6,2,10,2s8,3.3,8,7.4C17.9,11,17.5,12.5,16.8,13.9z'%3E%3C/path%3E%3Cpath d='M10,6C8.3,6,7,7.3,7,9s1.3,3,3,3s3-1.3,3-3S11.7,6,10,6z M10,10c-0.6,0-1-0.4-1-1c0-0.6,0.4-1,1-1s1,0.4,1,1 C11,9.6,10.6,10,10,10z'%3E%3C/path%3E%3C/svg%3E");
}
.menu-header-quicklinks ul.menu li.menu-item.agences > a::before {
  content: '';
  width: 17rem;
  height: 22.5rem;
  animation: none 0.666s both;
}
.menu-header-quicklinks ul.menu li.menu-item.agences > a:hover::before {
  animation-name: bounce-pin-down;
}
.menu-header-quicklinks ul.menu li.menu-item.demande-etude {
  --menu-item-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' fill='none' stroke-width='2' d='M8 12h8M8 16h6M9.143 1h5.714L16 5H8l1.143-4Z'/%3E%3Cpath fill-rule='evenodd' d='M8.686 2H3v21h18V2h-5.686l.457 2H19v17H5V4h3.229l.457-2Z'/%3E%3C/svg%3E");
}
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a {
  background-color: var(--color-theme);
  color: #fff;
  border-color: var(--color-theme);
}
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a::before {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  transform: translate(0, 0);
}
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a span {
  text-align: center;
  line-height: 16rem;
  font-size: 16rem;
}
.menu-header-quicklinks ul.menu li.menu-item.demande-etude > a:hover {
  background-color: var(--color-theme-dark);
  color: #fff;
  border-color: var(--color-theme-dark);
}
#header-mobile {
  padding-inline: 20rem;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  box-shadow: 0 0 11rem 0 rgba(0,0,0,0.15);
}
#header-mobile .brand-logo img {
  height: 35rem;
}
#header-mobile-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #8c8c8c;
  color: #fff;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  padding: 0;
  margin-block: 10rem;
  transition: transform 0.3s ease;
}
.header-sticky #header-mobile-menu {
  transform: translate(0, 65rem);
}
#header-mobile-quicklinks {
  margin-inline: -20rem;
  width: 100vw;
}
#header-mobile-quicklinks ul.menu {
  padding: 0;
}
#header-mobile-quicklinks ul.menu li:not(.demande-etude) {
  display: none;
}
#header-mobile-quicklinks ul.menu li.demande-etude {
  width: 100%;
  transition: width 0.3s ease;
}
.header-sticky #header-mobile-quicklinks ul.menu li.demande-etude {
  width: 225rem;
}
#header-mobile-quicklinks ul.menu li.demande-etude > a {
  height: var(--menu-header-height);
  border-radius: 0;
}
/*
 * Content
 */
header.header-base.section-404 {
  max-width: none;
  background-image: url("medias/404-background.jpg");
  background-position: center bottom;
  margin: 0;
  position: relative;
}
header.header-base.section-404::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
header.header-base.section-404 h1 {
  font-family: Caveat, cursive;
  font-weight: 700;
  margin-bottom: 30rem;
}
header.header-base.section-404 h1,
header.header-base.section-404 p,
header.header-base.section-404 a {
  position: relative;
  z-index: 1;
}
.theme-default header.header-base.section-404 {
  --color-theme: #c2143a;
}
header.header-base.section-410 {
  max-width: none;
  background-image: url("medias/404-background.jpg");
  background-position: center bottom;
  margin: 0;
  position: relative;
}
header.header-base.section-410::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
header.header-base.section-410 h1 {
  font-family: Caveat, cursive;
  font-weight: 700;
  margin-bottom: 30rem;
}
header.header-base.section-410 h1,
header.header-base.section-410 p,
header.header-base.section-410 a {
  position: relative;
  z-index: 1;
}
.theme-default header.header-base.section-410 {
  --color-theme: #c2143a;
}
.page--blog main.sections > section:not(.section-push-content,
.page--article main.sections > section:not(.section-push-content,
.page--blog main.sections > section .section-carousel-videos,
.page--article main.sections > section .section-carousel-videos,
.page--blog main.sections > section .section-cards-certifications),
.page--article main.sections > section .section-cards-certifications) {
  padding-block: 0 !important;
  margin-block: 60rem !important;
}
.page--blog main.sections > section.section-push-content + .section-cards-certifications,
.page--article main.sections > section.section-push-content + .section-cards-certifications,
.page--blog main.sections > section.section-cards-certifications + .section-push-content,
.page--article main.sections > section.section-cards-certifications + .section-push-content {
  padding-block-start: 0 !important;
}
.page--category .section-push-articles {
  padding-left: 0;
  padding-right: 0;
  border-bottom: 1px solid #e9e9e9;
}
.page--category.theme-poolcover .section-ferjani {
  background-image: none;
}
.page--contact main {
  background-image: linear-gradient(#fff, #f7f4f2);
}
.page--contact .header-contact {
  position: relative;
  z-index: 1;
  counter-reset: step-counter;
}
.page--contact .header-contact h1 {
  margin-bottom: 20rem;
}
.page--contact .header-contact h2 {
  line-height: 1.8;
  font-size: 23rem;
  margin-bottom: 20rem;
}
.page--contact .header-contact > p {
  color: #8c8c8c;
  margin-bottom: 40rem;
}
.page--contact .header-contact .contact-steps {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 0 auto 40rem;
}
.page--contact .header-contact .contact-step {
  flex: 1;
  color: #000;
  line-height: 1.285;
  font-size: 14rem;
  position: relative;
  counter-increment: step-counter;
  text-transform: uppercase;
  padding-top: 55rem;
}
.page--contact .header-contact .contact-step::before {
  width: 40rem;
  height: 40rem;
  line-height: 34rem;
  font-size: 20rem;
  font-weight: 600;
  color: var(--color-theme);
  border-radius: 50%;
  border: 3rem solid var(--color-theme);
  content: counter(step-counter);
  position: absolute;
  z-index: 1;
  left: calc(50% - 20rem);
  top: 0;
}
.page--contact .header-contact .contact-step::after {
  content: '';
  position: absolute;
  left: calc(20rem - 50%);
  top: 18.5rem;
  width: calc(100% - 40rem);
  height: 3rem;
  background-color: #d4d4d4;
}
.page--contact .header-contact .contact-step:first-child::after {
  content: none;
}
.page--contact .header-contact .contact-step-active::before {
  background-color: var(--color-theme);
  color: #fff;
}
.page--contact .header-contact .contact-step-active::after {
  background-color: var(--color-theme);
}
.page--contact .section-contactform hr {
  margin: 40rem 0;
}
.page--contact .section-contactform form {
  border-radius: 10rem;
  max-width: 1110rem;
  margin: 0 auto;
  box-shadow: 0 15rem 58rem -5rem rgba(0,0,0,0.05);
  background-color: #fff;
}
.page--contact .section-contactform form h2 {
  margin-bottom: 15rem;
}
.page--contact .section-contactform form .field-request .selectui-container {
  z-index: 5;
}
.page--contact .section-contactform form .field-send {
  margin-bottom: 0;
}
.page--contact .section-contactform form p.note {
  text-align: left;
}
.page--contact .section-contactform form .form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.page--contact .section-contactform .action-cards img {
  height: 100%;
  align-self: flex-start;
}
.page--contact .section-reinsurance .reinsurance-items {
  border-top: none;
}
.page--customer-service main {
  background-color: #fff;
}
.page--customer-service .header-customer-service {
  text-align: left;
}
.page--customer-service .header-customer-service nav {
  text-align: center;
  margin-bottom: 32rem;
}
.page--customer-service .header-customer-service h1 {
  font-weight: 600;
  text-align: center;
}
.page--customer-service .header-customer-service p {
  line-height: 1.6;
  font-size: 14rem;
  margin-bottom: 1em;
  padding-inline: 0;
}
.page--customer-service .header-customer-service figure {
  margin-top: 60rem;
}
.page--customer-service .header-customer-service.customer-service-confirmation {
  text-align: center;
}
.page--customer-service .section-customer-service {
  text-align: left;
}
.page--customer-service .section-customer-service form h2 {
  width: 100%;
  line-height: 1.5;
  font-size: 22rem;
  font-weight: 500;
  margin-block: 20rem 16rem;
}
.page--customer-service .section-customer-service form fieldset {
  margin-inline: 0;
}
.page--customer-service .section-customer-service form fieldset .field:last-child,
.page--customer-service .section-customer-service form fieldset p:last-child {
  margin-bottom: 0;
}
.page--customer-service .section-customer-service form .field {
  width: 100%;
}
.page--customer-service .section-customer-service form .field.field-error .help.is-error {
  font-size: 14rem;
}
.page--customer-service .section-customer-service form .field-project .selectui-container {
  z-index: 5;
}
.page--customer-service .section-customer-service form .field-request {
  --color-theme: #000;
  --color-theme-dark: #000;
}
.page--customer-service .section-customer-service form .field-files ul.file-list {
  max-width: 456rem;
}
.page--customer-service .section-customer-service form .field-availability {
  --color-theme: var(--color-default);
  --color-theme-dark: var(--color-default-dark);
}
.page--customer-service .section-customer-service form .field [type=text][name=request] {
  width: 100%;
}
.page--customer-service .section-customer-service form .field-optin-email {
  margin-top: 52rem;
}
.page--customer-service .section-customer-service form .field-optin-email label {
  line-height: 1.4;
  font-size: 16rem;
  padding-left: 46rem;
}
.page--customer-service .section-customer-service form .field-submit .button {
  width: 100%;
}
.page--customer-service .section-customer-service form .note-legal {
  font-size: 12rem;
  --color-theme: var(--color-red);
  --color-theme-dark: var(--color-red-dark);
}
.page--dataprivacy .header-dataprivacy {
  counter-reset: step-counter;
}
.page--dataprivacy .header-dataprivacy h1 {
  margin-bottom: 20rem;
}
.page--dataprivacy .header-dataprivacy h2 {
  line-height: 1.8;
  font-size: 23rem;
  margin-bottom: 20rem;
}
.page--dataprivacy .header-dataprivacy > p {
  color: #8c8c8c;
  margin-bottom: 40rem;
}
.page--dataprivacy .section-dataprivacyform {
  padding-bottom: 60rem;
}
.page--dataprivacy .section-dataprivacyform form {
  max-width: 920rem;
  margin: 0 auto;
}
.page--dataprivacy .section-dataprivacyform form .field-documents {
  margin-bottom: 30rem;
}
.page--dataprivacy .section-dataprivacyform form p.note {
  float: left;
  width: 100%;
}
.page--dataprivacy .section-dataprivacyform form p.note-legal {
  margin-bottom: 40rem;
}
.page--dataprivacy .section-dataprivacyform .action-cards .contact-card .button-picto {
  padding-left: 55rem;
}
.page--faq .section-seo {
  padding-top: 0;
}
.page--faq.theme-default .section-seo,
.page--faq.theme-default .section-reinsurance {
  --color-theme: #c2143a;
}
.page--gallery header {
  background-color: #fff;
}
.page--gallery main {
  background-color: #f7f4f2;
}
.page--gallery .nav-breadcrumb {
  position: relative;
  width: 100%;
  display: inline-block;
  text-align: center;
  margin: 0 auto;
  padding: 30rem 0;
}
.page--gallery .nav-breadcrumb .back-link {
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 600;
  padding: 0 8rem 5rem;
  border-bottom: 2rem solid var(--color-theme);
  color: var(--color-theme);
  text-decoration: none;
}
.page--gallery .nav-breadcrumb .back-link:hover {
  border-color: var(--color-theme-dark);
  color: var(--color-theme-dark);
}
.page--gallery .section-pictures {
  padding-bottom: 60rem;
  background-image: linear-gradient(rgba(255,255,255,0), #fff 75%);
}
.page--gallery .section-pictures .pictures-list figure {
  cursor: pointer;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
  margin-bottom: 30rem;
  border-radius: 4rem;
  overflow: hidden;
}
.page--gallery .section-pictures .pictures-list figure img,
.page--gallery .section-pictures .pictures-list figure svg,
.page--gallery .section-pictures .pictures-list figure video,
.page--gallery .section-pictures .pictures-list figure object,
.page--gallery .section-pictures .pictures-list figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.page--gallery .section-pictures .pictures-list figure img,
.page--gallery .section-pictures .pictures-list figure svg,
.page--gallery .section-pictures .pictures-list figure video,
.page--gallery .section-pictures .pictures-list figure object,
.page--gallery .section-pictures .pictures-list figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.page--gallery .section-pictures .pictures-list figure figcaption {
  display: none;
}
.page--gallery .section-pictures .pictures-list figure.figure-image img.image-full {
  display: none;
}
.page--gallery .section-pictures .pictures-list figure.figure-video {
  aspect-ratio: 16/9;
  min-height: 350rem;
}
.page--gallery .section-pictures .pictures-list figure.figure-video iframe,
.page--gallery .section-pictures .pictures-list figure.figure-video .content-placeholder {
  display: none;
}
.page--gallery .section-pictures .pictures-list figure.figure-video.type-embed::before,
.page--gallery .section-pictures .pictures-list figure.figure-video.type-embed::after {
  content: '' !important;
}
.page--gallery .section-pictures .pictures-modal {
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #f7f4f2;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.page--gallery .section-pictures .pictures-modal .modal-close {
  position: absolute;
  z-index: 1;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background-color: var(--color-theme);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' stroke='white' stroke-linecap='round' stroke-width='2'%3E%3Cline x1='1' y1='1' x2='19' y2='19'/%3E%3Cline x1='19' y1='1' x2='1' y2='19'/%3E%3C/svg%3E");
  background-size: 20rem;
  background-position: center;
}
.page--gallery .section-pictures .pictures-modal.modal-opened {
  z-index: 1100;
  opacity: 1;
}
.page--gallery .section-pictures .pictures-carousel {
  width: 100%;
  height: 100%;
}
.page--gallery .section-pictures .pictures-carousel > div {
  height: 100%;
}
.page--gallery .section-pictures .pictures-carousel > div > div {
  height: 100%;
  display: flex;
  flex-flow: column;
}
.page--gallery .section-pictures .pictures-carousel img.gallery-preview {
  display: none;
}
.page--gallery .section-pictures .pictures-carousel figure {
  position: relative;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page--gallery .section-pictures .pictures-carousel figure img,
.page--gallery .section-pictures .pictures-carousel figure svg,
.page--gallery .section-pictures .pictures-carousel figure video,
.page--gallery .section-pictures .pictures-carousel figure object,
.page--gallery .section-pictures .pictures-carousel figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.page--gallery .section-pictures .pictures-carousel figure img,
.page--gallery .section-pictures .pictures-carousel figure svg,
.page--gallery .section-pictures .pictures-carousel figure video,
.page--gallery .section-pictures .pictures-carousel figure object,
.page--gallery .section-pictures .pictures-carousel figure embed {
  -o-object-fit: contain;
  object-fit: contain;
}
.page--gallery .section-pictures .pictures-carousel figure img {
  width: 100%;
}
.page--gallery .section-pictures .pictures-carousel figure .image-thumb {
  display: none;
}
.page--gallery .section-pictures .pictures-carousel figure.figure-image img {
  max-height: 100%;
}
.page--gallery .section-pictures .pictures-carousel figure.figure-video iframe,
.page--gallery .section-pictures .pictures-carousel figure.figure-video .consent-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page--gallery .section-pictures .pictures-carousel figure.figure-video iframe {
  border: none;
  max-height: 56.25vw;
}
.page--gallery .section-pictures .pictures-carousel figure.figure-video::before,
.page--gallery .section-pictures .pictures-carousel figure.figure-video::after {
  content: none;
}
.page--gallery .section-pictures .pictures-carousel figure.figure-video img.iframe-preview {
  -o-object-fit: cover;
  object-fit: cover;
}
.page--gallery .section-pictures .pictures-carousel figcaption {
  display: none;
}
.page--gallery .section-pictures .pictures-caption {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
  color: #000;
  text-align: center;
  border-radius: 20rem 20rem 0 0;
  background-color: #fff;
}
.page--gallery .section-pictures .pictures-caption strong {
  display: block;
  line-height: 1.5;
  font-size: 12rem;
  color: var(--color-theme);
}
.page--home.theme-pro .header-hero h1 strong {
  display: inline;
}
.page--home.theme-pro .header-hero p {
  color: #000;
}
.page--home.theme-pro .header-hero nav {
  padding-bottom: 0;
}
.page--home.theme-pro .section-reinsurance {
  --color-theme: #86a05d;
}
.page--home > header {
  background-color: transparent;
}
.page--home .section-reinsurance {
  --color-theme: #c2143a;
}
.page--jobtype-search main {
  background-image: linear-gradient(#f7f4f2, #fff 75%);
}
.page--jobtype-search.theme-default main {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.page--jobtype-search.theme-default .section-reinsurance {
  --color-theme: #c2143a;
}
.page--jobtype-search .section-savoir-faire h2 strong {
  color: #635459;
}
.page--jobtype-search .header-base p {
  color: #8c8c8c;
}
.magazine-header nav {
  margin: 60rem 0 32rem;
  text-align: center;
}
.magazine-header nav ul.breadcrumb li a:hover {
  color: #484848;
}
.magazine-header h1 {
  text-align: center;
  margin-bottom: 12rem;
}
.magazine-header h1 strong {
  color: #7d0d25;
}
.magazine-header .header-description {
  text-align: center;
  font-size: 16rem;
  font-weight: 300;
  line-height: 140%;
  margin: 0 auto;
  max-width: 754rem;
}
.wrapper-rubrics {
  position: relative;
}
.wrapper-rubrics::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #d4d4d4;
  position: absolute;
  bottom: 0;
  left: 0;
}
.wrapper-rubrics ul.rubrics {
  padding: 0;
  margin-top: 80rem;
  margin-bottom: 80rem;
  list-style: none;
  display: flex;
  gap: 24rem;
  position: relative;
  justify-content: space-between;
}
.wrapper-rubrics ul.rubrics li {
  padding-bottom: 34rem;
  text-align: center;
  position: relative;
  max-width: 94rem;
}
.wrapper-rubrics ul.rubrics li.active::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2rem;
  background-color: #c2143a;
}
.wrapper-rubrics ul.rubrics li.active a {
  color: #c2143a;
}
.wrapper-rubrics ul.rubrics li a {
  color: #000;
  font-size: 14rem;
  font-weight: 500;
  line-height: 140%;
  text-decoration: none;
}
.page--model.theme-pro .header-hero {
  margin-bottom: 0;
}
.page--model.theme-pro .header-hero nav {
  display: none;
}
.page--model .header-hero > figure::before {
  content: none;
}
.page--price.theme-default .section-reinsurance,
.page--price-seo.theme-default .section-reinsurance {
  --color-theme: #c2143a;
}
.page--price.theme-default header.header-base p,
.page--price-seo.theme-default header.header-base p {
  line-height: 1.4;
  font-size: 12rem;
}
.page--project-follow-step .breadcrumb {
  text-align: center;
  padding-top: 30rem;
  margin-bottom: 20rem;
}
.page--project-follow-step .section-projectstep-introduction {
  display: flex;
}
.page--project-follow-step .section-projectstep-introduction h1 {
  position: relative;
}
.page--project-follow-step .section-projectstep-introduction h1 span {
  float: left;
  text-align: center;
  background-color: var(--color-theme);
  color: #fff;
  border-radius: 50%;
}
.page--project-follow-step .section-projectstep-introduction h1 strong {
  color: var(--color-theme);
}
.page--project-follow-step .section-projectstep-introduction p {
  font-weight: 300;
}
.page--project-follow-step .section-projectstep-introduction figure {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
}
.page--project-follow-step .section-projectstep-introduction figure img,
.page--project-follow-step .section-projectstep-introduction figure svg,
.page--project-follow-step .section-projectstep-introduction figure video,
.page--project-follow-step .section-projectstep-introduction figure object,
.page--project-follow-step .section-projectstep-introduction figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.page--project-follow-step .section-projectstep-introduction figure img,
.page--project-follow-step .section-projectstep-introduction figure svg,
.page--project-follow-step .section-projectstep-introduction figure video,
.page--project-follow-step .section-projectstep-introduction figure object,
.page--project-follow-step .section-projectstep-introduction figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.page--project-follow-step .section-projectstep-navigation .button.link-prev svg {
  position: relative;
  left: -17rem;
  transform: rotate(180deg);
}
.page--project-follow-step .section-projectstep-navigation .button.link-next {
  float: right;
}
.page--project-follow-step .section-projectstep-navigation .button.link-next svg {
  position: relative;
  right: -17rem;
}
.section--rubric-archive .taxonomy-content__filters {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60rem;
}
.section--rubric-archive .taxonomy-content__filters__categories {
  flex: 1 1 520rem;
  display: flex;
  flex-flow: wrap;
  gap: 12rem;
}
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox {
  display: inline-block;
}
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox input {
  display: none;
}
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox input+label {
  padding: 8rem 15rem;
  color: var(--color-theme);
  font-weight: 400;
  font-size: 12rem;
  line-height: 140%;
  cursor: pointer;
  border: 1px solid var(--color-theme);
  border-radius: 999rem;
  transition: all 0.3s ease;
}
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox input+label::before,
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox input+label::after {
  display: none;
  content: none;
}
.section--rubric-archive .taxonomy-content__filters__categories .filter-checkbox input:checked + label {
  background-color: var(--color-theme);
  color: #fff;
}
.section--rubric-archive .taxonomy-content__filters__tags {
  text-align: left;
  flex: 1 1 200rem;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter {
  position: relative;
  display: flex;
  justify-content: flex-end;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter label.label {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 13rem 56rem 11rem 20rem;
  border: 1px solid #000;
  border-radius: 999rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 160%;
  color: #000;
  cursor: pointer;
  transition: all 0.3s ease;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter label.label svg {
  width: 20rem;
  height: 20rem;
  position: absolute;
  top: 50%;
  right: 20rem;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter .checkboxes {
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  position: absolute;
  z-index: 8;
  right: 0;
  top: calc(100% + 30rem);
  min-width: 350rem;
  max-width: 380rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #f7f4f2;
  padding: 30rem;
  border-radius: 20rem;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.2);
  text-align: left;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter .checkboxes .checkbox {
  padding: 2rem 0;
  margin-bottom: 20rem;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter .checkboxes .checkbox label {
  display: block;
  padding-left: 45rem;
  line-height: 150%;
  font-size: 18rem;
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter.field-opened label.label svg {
  transform: translateY(-50%) rotate(180deg);
}
.section--rubric-archive .taxonomy-content__filters__tags #tag-filter.field-opened .checkboxes {
  opacity: 1;
  pointer-events: auto;
}
.section--rubric-archive .posts-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300rem, 1fr));
  gap: 60rem 32rem;
  margin-bottom: 120rem;
}
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(2),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(3),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(4),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(5),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(6),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(7),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(8),
.section--rubric-archive .posts-list .post-item.post-item--folder.post-item--special-10:nth-child(9) {
  display: none;
}
.section--rubric-archive .posts-list .post-item--special.post-item--article .entry-header figure {
  aspect-ratio: 729.334/324;
}
.section--rubric-archive .posts-list .post-item--special-1 {
  grid-column: 1/3;
}
.section--rubric-archive .posts-list .post-item--special-10 {
  grid-column: 4/2;
}
.section--rubric-archive .posts-list .post-item--folder {
  background: #f7f4f2;
}
.section--rubric-archive .posts-list .post-item--article {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #000;
}
.section--rubric-archive .posts-list .post-item--article .entry-header {
  margin-bottom: 16rem;
}
.section--rubric-archive .posts-list .post-item--article .entry-header figure {
  overflow: hidden;
  border-radius: 8rem;
  width: 100%;
  aspect-ratio: 349/324;
}
.section--rubric-archive .posts-list .post-item--article .entry-header figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.section--rubric-archive .posts-list .post-item--article .entry-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 100%;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .entry-title {
  font-size: 20rem;
  font-weight: 500;
  line-height: 130%;
  margin-bottom: 12rem;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .entry-title a {
  color: #000;
  text-decoration: none;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .tags {
  margin-bottom: 16rem;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .entry-summary {
  margin-bottom: 20rem;
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .entry-footer {
  margin-top: auto;
}
.section--rubric-archive .posts-list .post-item--article .entry-content .read-more {
  font-size: 14rem;
  font-weight: 500;
  line-height: 140%;
  color: #000;
  text-decoration: underline;
  text-underline-offset: 6rem;
  text-decoration-thickness: 1rem;
}
.section--rubric-archive .pagination {
  text-align: center;
  margin-bottom: 120rem;
}
.section--rubric-archive .pagination-info {
  margin-bottom: 16rem;
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
}
.section--rubric-archive .pagination-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  flex-wrap: wrap;
}
.section--rubric-archive .pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #000;
  text-decoration: none;
  border-radius: 4rem;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  transition: all 0.2s ease;
  width: 32rem;
  height: 32rem;
}
.section--rubric-archive .pagination-link svg {
  width: 8rem;
  height: 8rem;
}
.section--rubric-archive .pagination-link.current {
  background: #635459;
  color: #fff;
}
.section--rubric-archive .pagination-link.pagination-prev svg {
  transform: rotate(180deg);
}
.section--rubric-archive .pagination-ellipsis {
  padding: 5rem;
  color: #000;
}
.section--rubric-archive .no-posts {
  text-align: center;
  font-size: 22rem;
  font-weight: 600;
  line-height: 120%;
  color: #000;
  max-width: 764rem;
  margin: 0 auto;
}
.section--rubric-archive .no-posts >p {
  margin-bottom: 0;
}
.posts-list {
  animation: fadeIn 0.3s ease-out;
}
.loading .posts-list {
  opacity: 0.6;
  pointer-events: none;
}
.section-folders__rubric-list {
  width: 100%;
  gap: 60rem;
  display: flex;
  flex-direction: column;
  margin-bottom: 120rem;
}
.section-folders__rubric-list article.folder-item {
  background: #f7f4f2;
}
.section-folders__rubric-list article.folder-item figure {
  width: 45.5%;
  flex: 0 0 45.5%;
  height: 508rem;
  aspect-ratio: auto;
}
.page--store-locator-area .section-store-locator-seo {
  background-color: #f7f4f2;
}
.page--store-locator h2 {
  color: var(--color-theme);
}
.page--store-locator h2 strong {
  color: #000;
}
.page--store-locator-location .section-reinsurance,
.page--store-locator-location .section-contact {
  display: none;
}
.page--storelocator main > nav {
  display: flex;
  width: 100%;
  padding-top: 30rem;
  justify-content: center;
}
.page--storelocator main > section:not(.storelocator-map) {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.page--storelocator main section.storelocator-map .storelocator-map-search,
.page--storelocator main section.storelocator-map .content-placeholder,
.page--storelocator main section.storelocator-map .gm-style-iw-c {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.page--storelocator .section-push-category h2 strong {
  display: block;
}
.page--storelocator .storelocator-region + .section-ambassadors {
  background: linear-gradient(#f7f4f2, #fff);
}
.page--storelocator .storelocator-title {
  line-height: 1.35;
  font-size: 30rem;
  color: #000;
  text-align: center;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-title strong {
  font-weight: 500;
  color: #c2143a;
  display: block;
  margin-top: 5rem;
}
.page--storelocator .storelocator-subtitle {
  color: #000;
  line-height: 1.75;
  font-size: 21rem;
  margin-bottom: 20rem;
}
.page--storelocator .storelocator-seotext {
  color: #8c8c8c;
  line-height: 1.75;
  font-size: 21rem;
  font-weight: 300;
  text-align: center;
}
.page--storelocator .storelocator-seotext p {
  margin-bottom: 0;
  font-weight: inherit;
}
.page--storelocator #template-agency-popup,
.page--storelocator #template-search-result {
  display: none;
}
.page--storelocator .map {
  position: relative;
  background-color: #d4d4d4;
}
.page--storelocator .map .googlemaps-placeholder {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.page--storelocator .map .agency-popup {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-right: 0;
}
.page--storelocator .map .agency-popup.hidden {
  display: none;
}
.page--storelocator .map .agency-popup .agency-address {
  margin-bottom: 15rem;
}
.page--storelocator .map .agency-popup .agency-status {
  margin-bottom: 10rem;
}
.page--storelocator .map .agency-popup .button {
  text-align: center;
  margin-bottom: 10rem;
  white-space: nowrap;
}
.page--storelocator .map .agency-popup .button.action-direction {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page--storelocator .map .agency-popup .button.action-direction svg {
  position: static;
  transform: none;
  width: 20rem;
  height: 20rem;
  margin-right: 4rem;
  flex-shrink: 0;
}
.page--storelocator .map .googlemaps-placeholder {
  width: 100%;
  height: 100%;
}
.page--storelocator .map .gm-style-iw-c {
  width: 250rem;
  padding: 20rem 20rem 10rem !important;
  border-radius: 5rem;
  overflow-x: visible;
  overflow-y: scroll;
}
.page--storelocator .map .gm-style-iw-chr {
  max-width: calc(100% - 35rem);
}
.page--storelocator .map .gm-style-iw-ch {
  padding: 0 !important;
}
.page--storelocator .map .gm-style-iw-d {
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  overflow: visible !important;
}
.page--storelocator .map .gm-style-iw-t::after {
  display: none;
}
.page--storelocator .map .gm-style-iw .gm-ui-hover-effect {
  position: absolute !important;
  top: 8rem;
  right: 8rem;
}
.page--storelocator .agency-label {
  line-height: 1.25;
  font-size: 18rem;
  text-transform: uppercase;
  color: var(--color-theme);
  margin-bottom: 10rem;
}
.page--storelocator .agency-label strong {
  display: block;
  font-weight: 600;
}
.page--storelocator .agency-teaser .agency-address,
.page--storelocator .agency-teaser .agency-distance {
  font-weight: 300;
}
.page--storelocator .agency-teaser .agency-address {
  font-size: 14rem;
  color: #000;
  margin-bottom: 10rem;
}
.page--storelocator .agency-teaser .agency-distance {
  font-size: 12rem;
  color: #8c8c8c;
}
.page--storelocator .agency-teaser .agency-status {
  width: 100%;
  color: #000;
  font-size: 12rem;
  font-weight: 500;
  margin-bottom: 10rem;
}
.page--storelocator .agency-teaser .agency-status.type-zone {
  padding-left: 15rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M10,10H0V4.7L5,0l5,4.7V10z M2,8h6V5.5L5,2.7L2,5.5V8z'/%3E%3C/svg%3E");
  background-size: 10rem;
  background-position: 0 2rem;
}
.page--storelocator .agency-teaser .agency-status.type-agency::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background-color: #8c8c8c;
  margin-right: 5rem;
  margin-bottom: 2rem;
}
.page--storelocator .agency-teaser .agency-status.status-opened::before {
  background-color: #14c222;
}
.page--storelocator .agency-teaser .agency-status.status-closed::before {
  background-color: #c2143a;
}
.page--storelocator .agency-teaser .agency-status.status-appointment::before {
  background-color: #8c8c8c;
}
.page--storelocator .agency-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  background-color: #fff;
  padding-bottom: 30rem;
  border-radius: 10rem;
  box-shadow: 0 10rem 30rem -30rem rgba(0,0,0,0.75);
  text-align: center;
  transition: box-shadow 0.5s ease;
}
.page--storelocator .agency-card figure {
  flex: 0 0 155rem;
  overflow: hidden;
  width: 100%;
  height: 155rem;
  background-color: rgba(153,153,153,0.4);
  margin-bottom: 15rem;
}
.page--storelocator .agency-card figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.page--storelocator .agency-card .agency-distance {
  font-size: 14rem;
  margin-bottom: 5rem;
}
.page--storelocator .agency-card .agency-label {
  flex: 1;
  display: flex;
  flex-flow: column;
  justify-content: center;
  color: #c2143a;
  line-height: 1.25;
  font-size: 18rem;
  font-weight: 500;
  padding-inline: 10rem;
  margin: 0 0 25rem;
  text-transform: uppercase;
}
.page--storelocator .agency-card .agency-status {
  margin-bottom: 25rem;
}
.page--storelocator .agency-card .button {
  white-space: nowrap;
}
.page--storelocator .agency-card:hover {
  cursor: pointer;
  color: #000;
  box-shadow: 0 3rem 35rem rgba(0,0,0,0.25);
}
.page--storelocator .agency-card:hover figure img {
  transform: scale(1.05);
}
.page--storelocator .storelocator-link-list {
  display: flex;
  flex-wrap: wrap;
  max-width: 1110rem;
  margin: 0 auto 70rem;
}
.page--storelocator .storelocator-link-list a {
  width: calc(25% - 26.25rem);
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: center;
  max-width: 350rem;
  height: 70rem;
  font-size: 16rem;
  color: #635459;
  text-decoration: none;
  text-align: left;
  border-bottom: 1px solid rgba(212,212,212,0.5);
  margin-right: 35rem;
}
.page--storelocator .storelocator-link-list a:nth-of-type(4n) {
  margin-right: 0;
}
.page--storelocator .storelocator-link-list a:hover {
  color: #c2143a;
}
.page--study.theme-pro .section-studyform form .fieldset-col {
  display: flex;
  -moz-column-gap: 20rem;
  column-gap: 20rem;
}
.page--study.theme-pro .section-studyform form .fieldset-col > div {
  flex: 1 1 50%;
}
.page--study.theme-pro .section-studyform form .field-company-type {
  width: 100%;
}
.page--study.theme-pro .section-studyform form .field-company-type margin-bottom,
.page--study.theme-pro .section-studyform form .field-company-type .radios {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
}
.page--study.theme-pro .section-studyform form .field-company-type .radio {
  min-height: 30rem;
  margin-right: 0;
  margin-bottom: 25rem;
}
.page--study.theme-pro .section-studyform form .field-company-type .radio:last-child {
  page-break-before: always;
  -moz-column-break-before: always;
  break-before: always;
}
.page--study.theme-pro .section-studyform form .field-company-type .radio.radio-other {
  width: 100%;
}
.page--study.theme-pro .section-studyform form .field-company-type .radio.radio-other::after {
  content: ':';
}
.page--study.theme-pro .section-studyform form .field-company-type-other {
  position: relative;
  left: 110rem;
  margin-top: -90rem;
  width: calc(50% - 15rem);
}
.page--study.theme-pro .section-studyform form .field-company-type-other input::-moz-placeholder {
  opacity: 0.5;
}
.page--study.theme-pro .section-studyform form .field-company-type-other input::placeholder {
  opacity: 0.5;
}
.page--study.theme-pro .section-studyform.study-confirmation .actions {
  text-align: center;
}
.page--study.theme-pro .section-studyform .field-submit {
  width: auto;
}
.page--study.theme-pro main {
  --color-theme: inherit;
  --color-theme-dark: inherit;
}
.page--study .header-study-logo {
  margin-bottom: 30rem;
  margin-top: 30rem;
  text-align: center;
  display: flex;
  justify-content: center;
}
.page--study .header-study-logo img {
  display: inline-block;
  max-width: 200rem;
  max-height: 32rem;
  width: auto;
  height: auto;
}
.page--study .header-study-logo .header-study-logo-separator {
  display: inline-block;
  width: 1px;
  background-color: var(--color-theme, #8c8c8c);
  margin: 0 20rem;
}
.page--study .aside-study .contact-card {
  margin-bottom: 40rem;
}
.page--study .section-studyform.header-study--aside-hidden {
  margin-inline: auto;
}
.page--study .section-studyform:not(.header-study--aside-hidden) {
  float: left;
  z-index: 1;
}
.page--study .demande-etude,
.page--study #footer {
  display: none;
}
.contact-adviser {
  background-color: var(--color-theme);
  color: #fff;
}
.contact-adviser figure {
  float: left;
  width: 96rem;
  height: 96rem;
  border-radius: 50%;
  border: 2rem solid #fff;
  margin-right: 30rem;
  margin-bottom: 20rem;
  background-color: #fff;
}
.contact-adviser figure img {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(102,102,102,0.2);
  color: rgba(51,51,51,0.4);
  text-align: center;
}
.contact-adviser h2 {
  margin-bottom: 20rem;
}
.contact-adviser h3 {
  margin-left: -45rem;
  margin-right: -45rem;
}
.contact-adviser p {
  line-height: 1.5;
  font-size: 12rem;
}
.contact-adviser p strong {
  font-weight: 400;
  text-transform: uppercase;
}
.contact-adviser .adviser-info {
  text-align: left;
  padding: 0 40rem;
}
.contact-adviser a {
  width: 100%;
}
.contact-store {
  background-color: #f7f4f2;
  padding-bottom: 30rem;
}
.contact-store figure {
  height: 230rem;
  margin: -30rem -25rem 20rem -25rem;
}
.contact-store figure img {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(102,102,102,0.2);
  color: rgba(51,51,51,0.4);
  text-align: center;
}
.contact-store h2 {
  line-height: 1.5;
  font-size: 16rem;
  color: var(--color-theme);
  text-transform: uppercase;
}
.contact-store h2 strong {
  display: none;
  font-weight: 600;
}
.contact-store p {
  color: #8c8c8c;
  margin-bottom: 15rem;
}
.contact-store .store-status {
  display: inline-block;
  color: #000;
  font-weight: 500;
  text-align: left;
  padding-left: 20rem;
  margin-bottom: 20rem;
  position: relative;
}
.contact-store .store-status::before {
  content: '';
  width: 12rem;
  height: 12rem;
  display: inline-block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 5rem;
}
.contact-store .store-status.status-opened::before {
  background-color: #14c222;
}
.contact-store .store-status.status-closed::before {
  background-color: #c2143a;
}
.contact-store-placeholder > svg {
  fill: #c2143a;
}
.contact-store-placeholder h2 {
  color: #635459;
  text-transform: none;
}
.contact-store-mini {
  text-align: left;
  position: relative;
  margin-bottom: 20rem;
}
.contact-store-mini figure {
  width: 71rem;
  height: 71rem;
  border-radius: 50%;
  margin: 0;
  position: absolute;
  right: 24rem;
  top: 24rem;
}
.contact-store-mini h2 {
  line-height: 1.1;
  font-size: 21rem;
  padding-right: 85rem;
}
.contact-store-mini p {
  color: #000;
  margin-bottom: 8rem;
}
.contact-store-mini .distance {
  font-size: 12rem;
  color: #000;
  margin-bottom: 16rem;
}
.contact-store-mini .store-status {
  padding-left: 17rem;
  margin-bottom: 0;
}
.contact-store-mini .store-status::before {
  width: 6rem;
  height: 6rem;
  top: 7rem;
}
.contact-store-mini .link-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
.page--universal main {
  position: relative;
}
.page--universal section {
  background-color: transparent;
}
.page--universal section.section-image-richtext h2,
.page--universal section.section-model-info h2,
.page--universal section.section-image-richtext h3,
.page--universal section.section-model-info h3,
.page--universal section.section-image-richtext h4,
.page--universal section.section-model-info h4 {
  font-weight: 600;
}
.page--universal section.section-savoir-faire .savoir-faire-content h2,
.page--universal section.section-savoir-faire .savoir-faire-content h3,
.page--universal section.section-savoir-faire .savoir-faire-content h4 {
  font-weight: 600;
}
.card-push-promo {
  position: relative;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24rem;
  text-align: center;
  border-radius: 8rem;
  padding: 32rem 16rem;
  color: #fff;
/*
   * Le logo prend la place du titre (#426).
   *
   * node 111:12875 : il occupe 295 de large pour 148 de haut dans une carte de
   * 359, soit 90% de la largeur utile. C'est une PART et non une taille fixe :
   * la carte de la grille du site est plus etroite que celle du fichier, et le
   * plafond en pixels de la premiere livraison rendait le logo un cinquieme
   * trop petit des que la carte s'elargissait.
   *
   * La hauteur reste bornee pour ne pas dominer la carte : celle-ci prend la
   * hauteur des cartes de la grille, et un logo carre ou haut chasserait la
   * mention de validite et le bouton.
   */
}
.card-push-promo:not([hidden]) {
  display: flex;
}
.card-push-promo h3 {
  color: #fff;
  line-height: 1.2;
  font-size: 26rem;
  font-weight: 500;
  margin-bottom: 0;
}
.card-push-promo p {
  color: #fff;
  line-height: 1.4;
  font-size: 14rem;
  font-weight: 600;
  margin-bottom: 0;
}
.card-push-promo .card-push-promo-logo {
  width: 100%;
}
.card-push-promo .card-push-promo-logo img {
  display: block;
  width: auto;
/*
       * Ligne INDISPENSABLE : WordPress ecrit toujours les attributs width et
       * height sur l'image, et ces attributs valent declaration de hauteur.
       * Sans elle, les deux plafonds ci-dessous s'appliquent chacun de son
       * cote, sans conserver les proportions, et le logo sort etire.
       */
  height: auto;
  max-width: 90%;
  max-height: 148rem;
  margin-inline: auto;
}
.card-push-promo .button {
  white-space: nowrap;
}
.card-reinsurance {
  position: relative;
  text-align: center;
  overflow: hidden;
  border-radius: 20rem;
  color: #fff;
  border: 1px solid #e9e9e9;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 125rem;
  padding-left: 20rem;
  padding-right: 20rem;
}
.card-reinsurance:not([hidden]) {
  display: flex;
}
.card-reinsurance > * {
  position: relative;
}
.card-reinsurance .background-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  display: flex;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
}
.card-reinsurance .background-image img,
.card-reinsurance .background-image svg,
.card-reinsurance .background-image video,
.card-reinsurance .background-image object,
.card-reinsurance .background-image embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.card-reinsurance .background-image img,
.card-reinsurance .background-image svg,
.card-reinsurance .background-image video,
.card-reinsurance .background-image object,
.card-reinsurance .background-image embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.card-reinsurance .card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.card-reinsurance .card-visual {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  border-radius: 50%;
  background-color: #fff;
  margin-bottom: 15rem;
}
.card-reinsurance .card-visual svg {
  max-width: 70%;
  max-height: 70%;
}
.card-reinsurance h3 {
  font-family: Caveat, cursive;
  font-size: 25rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 15rem;
}
.card-reinsurance p {
  font-size: 18rem;
  margin-bottom: 25rem;
}
.card-reinsurance .button {
  min-width: 200rem;
  color: #c2143a;
}
.card-reinsurance .button:hover {
  color: #fff;
}
.certification-teaser {
  text-align: left;
  background-color: #fff;
  border-radius: 12rem;
  padding: 32rem;
}
.certification-teaser figure {
  width: 109rem;
}
.certification-teaser h3 {
  font-size: 18rem;
  color: var(--color-theme);
}
.certification-teaser p {
  font-weight: 300;
  margin-bottom: 0;
}
.folder-article {
  margin-bottom: 40rem;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.folder-article.hidden {
  opacity: 0.3;
}
.folder-article.current {
  opacity: 1;
}
.article-separator {
  text-align: center;
  padding: 20rem 0;
  border-bottom: 1px solid #eee;
}
.loading-next-article {
  color: #666;
  font-style: italic;
}
#article-progress {
  color: #666;
  font-size: 0.9em;
}
.article-navigation {
  margin-top: 10rem;
}
.main-articles-sequence .article-header {
  margin-bottom: 20rem;
}
.main-articles-sequence .article-header h2 {
  font-size: 20rem;
  margin-bottom: 10rem;
  color: #333;
}
.article-featured-image {
  margin: 0 0 20rem 0;
}
.article-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 8rem;
}
.article-content {
  margin-bottom: 30rem;
  line-height: 1.6;
}
.article-content p {
  margin-bottom: 10rem;
}
.article-content h2,
.article-content h3,
.article-content h4,
.article-content h5,
.article-content h6 {
  margin-top: 20rem;
  margin-bottom: 10rem;
  color: #333;
}
.article-content ul,
.article-content ol {
  margin-bottom: 10rem;
  padding-left: 20rem;
}
.article-content blockquote {
  margin: 20rem 0;
  padding-left: 20rem;
  border-left: 4rem solid #ddd;
  font-style: italic;
  color: #666;
}
.article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 4rem;
}
.article-content figure {
  margin: 20rem 0;
  text-align: center;
}
.article-content figure figcaption {
  font-size: 9rem;
  color: #666;
  margin-top: 5rem;
}
.jobtype-teaser {
  border-radius: 10rem;
  background-color: #fff;
  min-height: 435rem;
  position: relative;
}
.jobtype-teaser::after {
  content: '';
  width: 75%;
  height: 31rem;
  float: left;
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 10rem;
  transform: translate(-50%, 0);
  box-shadow: 0 3rem 38rem rgba(0,0,0,0.25);
}
.jobtype-teaser figure {
  width: 100%;
  height: 230rem;
  display: flex;
  justify-content: center;
  border-top-left-radius: 10rem;
  border-top-right-radius: 10rem;
  overflow: hidden;
  margin-bottom: 25rem;
  background-color: #f7f4f2;
}
.jobtype-teaser figure img,
.jobtype-teaser figure svg,
.jobtype-teaser figure video,
.jobtype-teaser figure object,
.jobtype-teaser figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.jobtype-teaser figure img,
.jobtype-teaser figure svg,
.jobtype-teaser figure video,
.jobtype-teaser figure object,
.jobtype-teaser figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.jobtype-teaser figure img {
  width: 100%;
}
.jobtype-teaser h3 {
  line-height: 1.5;
  font-size: 16rem;
  text-transform: uppercase;
  color: var(--color-theme);
  margin-bottom: 15rem;
}
.jobtype-teaser .jobtype-description {
  color: #000;
  line-height: 1.5;
  font-size: 18rem;
  margin: 0 auto;
  max-width: 220rem;
}
.jobtype-teaser .button {
  background-color: var(--color-theme);
}
.jobtype-teaser .button:hover {
  background-color: var(--color-theme-dark);
}
article.location-teaser {
  display: flex;
  flex-flow: column;
  background-color: #fff;
  color: #000;
  padding: 16rem;
  border-radius: 8rem;
}
article.location-teaser .location-title {
  line-height: 1.6;
  font-size: 14rem;
  margin-block-end: 2rem;
}
article.location-teaser .location-rating {
  display: flex;
  gap: 4rem;
  align-items: center;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 400;
}
article.location-teaser .location-rating a {
  color: inherit;
  font-weight: 300;
}
article.location-teaser .location-stars {
  position: relative;
  display: inline-block;
  width: 80rem;
  height: 16rem;
  background-color: #d4d4d4;
  -webkit-mask-image: var(--rating-star-icon);
  mask-image: var(--rating-star-icon);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-position: center -1rem;
  mask-position: center -1rem;
}
article.location-teaser .location-stars::before {
  content: '';
  position: absolute;
  inset: 0;
  width: var(--location-rating);
  background-color: #fabd05;
}
article.location-teaser .location-address {
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 300;
  line-height: 1.5;
  margin-block: 4rem 8rem;
}
article.location-teaser .location-address:empty {
  display: none;
}
article.location-teaser .location-distance {
  flex: 1 1;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 300;
}
article.location-teaser .location-status {
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 300;
  margin-block-end: 24rem;
}
article.location-teaser .location-status::before {
  content: '';
  display: inline-block;
  width: 4rem;
  height: 4rem;
  border-radius: 2rem;
  background-color: #c0c0c0;
  margin-inline-end: 4rem;
  margin-top: -1px;
  vertical-align: middle;
}
article.location-teaser .location-status.status-opened::before {
  background-color: #2ee700;
}
article.location-teaser .location-status.status-closed::before {
  background-color: #ff0202;
}
article.location-teaser .location-action {
  margin-block-start: auto;
  display: flex;
  justify-content: space-between;
  gap: 16rem;
}
article.location-teaser .location-action a.button {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 calc(50% - 8rem);
  padding: 6rem 8rem;
  gap: 4rem;
  white-space: nowrap;
}
article.location-teaser .location-action a.button.action-direction::before {
  content: '';
  display: inline-block;
  width: 12rem;
  height: 12rem;
  background-color: currentColor;
  -webkit-mask-image: var(--arrow-turn-icon);
  mask-image: var(--arrow-turn-icon);
  -webkit-mask-size: contain;
  mask-size: contain;
}
.push-card.model-teaser {
  display: flex;
  flex-direction: column;
}
.push-card.model-teaser .model-teaser-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-grow: 1;
}
.post-teaser {
  position: relative;
}
.post-teaser figure {
  width: 100%;
  height: 360rem;
  border-radius: 8rem;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.post-teaser figure img,
.post-teaser figure svg,
.post-teaser figure video,
.post-teaser figure object,
.post-teaser figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.post-teaser figure img,
.post-teaser figure svg,
.post-teaser figure video,
.post-teaser figure object,
.post-teaser figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.post-teaser figure img {
  width: 100%;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.post-teaser time {
  color: #8c8c8c;
  font-weight: 400;
  margin-bottom: 7.5rem;
}
.post-teaser h3 {
  color: #000;
}
.post-teaser p {
  color: #8c8c8c;
  font-weight: 300;
}
.post-teaser:hover .article-link {
  color: var(--color-theme-dark);
}
.post-teaser:hover figure img {
  transform: scale(1.05);
}
.product-teaser {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: relative;
  border-radius: 8rem;
  box-shadow: 0 3rem 10rem rgba(0,0,0,0.05);
  border: 1px solid #dadada;
  overflow: hidden;
}
.product-teaser .product-promo {
  background-color: var(--color-theme);
  border-top-right-radius: 23rem;
  border-bottom-right-radius: 23rem;
  padding-left: 15rem;
  padding-right: 15rem;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 30rem;
}
.product-teaser .product-promo p {
  color: #fff;
  font-size: 11rem;
  font-weight: 600;
  margin-bottom: 0;
}
.product-teaser .product-promo img {
  max-height: 30rem;
  width: auto;
}
.product-teaser .product-price-saving {
  position: absolute;
  z-index: 3;
  left: 0;
  top: 20rem;
  background-color: var(--color-theme);
  color: #fff;
  line-height: 26rem;
  font-size: 14rem;
  font-weight: 700;
  text-align: left;
  padding-inline: 6rem 14rem;
  border-radius: 0 3rem 3rem 0;
}
.product-teaser .product-argument {
  height: 45rem;
  line-height: 45rem;
  border-radius: 22.5rem;
  background-color: #fff;
  padding-left: 20rem;
  padding-right: 20rem;
  position: absolute;
  z-index: 5;
}
.product-teaser .product-argument img {
  height: 23rem;
  position: relative;
  left: -5rem;
}
.product-teaser .product-argument p {
  font-size: 12rem;
  font-weight: 600;
  color: #000;
  display: inline-block;
  margin: 0;
}
.product-teaser .product-visual {
  flex: 1 0;
  position: relative;
  width: 100%;
  height: 60%;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.product-teaser .product-visual img,
.product-teaser .product-visual svg,
.product-teaser .product-visual video,
.product-teaser .product-visual object,
.product-teaser .product-visual embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.product-teaser .product-visual img,
.product-teaser .product-visual svg,
.product-teaser .product-visual video,
.product-teaser .product-visual object,
.product-teaser .product-visual embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.product-teaser .product-visual img,
.product-teaser .product-visual video {
  width: 100%;
  line-height: 1.4;
  font-size: 0.6em;
}
.product-teaser .product-visual video {
  height: 100%;
}
.product-teaser .product-visual .visual-hover {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1);
  transition: 0.75s ease;
  transition-property: transform, opacity;
}
.product-teaser .product-info {
  flex: 0 1;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  align-items: center;
  flex-flow: wrap;
  pointer-events: none;
  padding: 0 24rem 16rem 24rem;
  text-align: left;
}
.product-teaser .product-info h3 {
  display: -webkit-box;
  flex: 0 100%;
  position: relative;
  color: var(--color-theme);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.product-teaser .product-info a {
  position: relative;
  z-index: 2;
  pointer-events: all;
}
.product-teaser .product-price {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 3.925em;
}
.product-teaser .product-price-current {
  line-height: 1;
  color: #000;
  font-weight: 600;
}
.product-teaser .product-price-current sup {
  font-size: 0.5em;
  font-weight: 700;
  vertical-align: super;
  margin-left: -0.25em;
  top: -0.25em;
}
.product-teaser .product-price-crossed {
  font-size: 14rem;
  font-weight: 600;
  text-decoration: line-through;
  color: #8c8c8c;
}
.product-teaser .product-price-text {
  color: #000;
  line-height: 1.2;
  font-size: 12rem;
  font-weight: 500;
  color: #000;
}
.product-teaser .product-promo-disclaimer {
  color: #8c8c8c;
  line-height: 1.4;
  font-size: 12rem;
  margin-top: 0.25em;
}
.product-teaser .product-promo-disclaimer a {
  color: inherit;
}
.product-teaser .product-promo-disclaimer a:hover {
  color: var(--color-theme) !important;
}
.product-teaser:hover .product-visual .visual-hover {
  opacity: 1;
  transform: scale(1.05);
}
.product-teaser.product-promotion .product-visual {
  aspect-ratio: 296/268;
  flex: 0 0 auto;
}
.product-teaser.product-promotion .product-info {
  flex: 1 1;
}
.product-teaser.product-minimal {
  pointer-events: none;
}
.product-teaser.product-minimal .product-info {
  display: none;
  width: 100%;
  bottom: 5rem;
  padding: 0 2rem 5rem;
}
.product-teaser.product-minimal .product-visual {
  height: 100%;
}
.product-teaser.product-minimal .product-promo-disclaimer,
.product-teaser.product-minimal .product-price,
.product-teaser.product-minimal .link-overlay,
.product-teaser.product-minimal a.button {
  display: none;
}
.product-teaser.product-minimal::after::before,
.product-teaser.product-minimal .product-visual::before {
  content: none;
}
.project-follow-up-step .card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20rem;
  background-color: #fff;
  border-radius: 12rem;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.19);
}
.project-follow-up-step .card > figure {
  height: 80rem;
}
.project-follow-up-step .card > figure img {
  height: 100%;
}
.project-follow-up-step .card .number {
  font-size: 30rem;
  color: var(--color-theme);
}
.project-follow-up-step .card .subtitle {
  font-size: 16rem;
  font-weight: 300;
}
.project-follow-up-step .card .open-overlay {
  width: 45rem;
  height: 45rem;
  background-color: var(--color-theme);
  border-radius: 50%;
  margin-top: auto;
  position: relative;
}
.project-follow-up-step .card .open-overlay::before,
.project-follow-up-step .card .open-overlay::after {
  content: '';
  float: left;
  width: 1px;
  height: 15rem;
  background-color: #fff;
  position: absolute;
  left: calc(50% - 0.5px);
  top: calc(50% - 7.5rem);
}
.project-follow-up-step .card .open-overlay::after {
  transform: rotate(-90deg);
}
.project-follow-up-step .overlay-content {
  display: none;
}
header.header-base {
  text-align: center;
  padding-top: 30rem;
  position: relative;
}
header.header-base nav {
  margin-bottom: 20rem;
}
header.header-base h1 {
  margin-bottom: 17.5rem;
}
header.header-base p {
  color: #000;
  font-weight: 300;
  margin-bottom: 30rem;
}
header.header-hero-caracteristics {
  height: auto !important;
  min-height: 570rem !important;
}
header.header-hero-caracteristics aside.aside-hero.aside-info {
  position: relative;
  top: auto !important;
  bottom: auto !important;
  max-height: none !important;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-subhead {
  color: #000;
  line-height: 1.4;
  font-size: 16rem;
  margin-bottom: 8rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info h1 {
  color: var(--color-theme) !important;
  font-weight: 600 !important;
  margin-block: 8rem !important;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-subtitle {
  font-size: 16rem;
  color: #000;
  margin-bottom: 24rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-caracteristics {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
  text-align: left;
  list-style: none;
  color: #000;
  padding: 0;
  margin-top: 0;
  margin-bottom: 24rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-caracteristics li::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 3rem;
  height: 3rem;
  background-color: #000;
  border-radius: 50%;
  margin-right: 8rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-price {
  line-height: 1.3;
  font-size: 24rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 24rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-price strong {
  color: var(--color-theme);
  font-weight: 600;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-price strong sup {
  font-size: 10rem;
  font-weight: 600;
  text-transform: uppercase;
  vertical-align: super;
  margin-left: 2.5rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .hero-price .hero-price-note {
  display: block;
  font-size: 12rem;
  font-weight: normal;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .button {
  width: 100%;
  max-width: 350rem;
  margin-top: 10rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .button svg {
  width: 20rem;
  margin-right: 5rem;
}
header.header-hero-caracteristics aside.aside-hero.aside-info .button.action-gallery {
  margin-top: 8rem;
}
header.header-hero-caracteristics nav {
  position: absolute !important;
  transform: translate(0, 100%);
}
header.header-hero-category aside.aside-hero.aside-info .category-breadcrumb {
  padding: 0;
}
header.header-hero-category aside.aside-hero.aside-info h1 strong {
  display: block;
}
header.header-hero-category aside.aside-hero.aside-info h1:has(+ .subtitle) {
  margin-bottom: 0;
  padding-bottom: 0;
}
header.header-hero-category aside.aside-hero.aside-info .subtitle {
  line-height: 1.2;
  font-size: 24rem;
  font-weight: 600;
  color: #635459;
  color: var(--color-theme);
  padding-bottom: 30rem;
}
header.header-hero-category aside.aside-hero.aside-info .push-model-list {
  display: flex;
}
header.header-hero-home .aside-promo time {
  display: block;
  color: var(--color-theme);
  margin-bottom: 8rem;
}
header.header-hero-home .aside-promo figure {
  max-width: 370rem;
  max-height: 245rem;
  margin-bottom: 30rem;
}
section.header-hero-home {
  display: flex;
  flex-flow: column;
  align-items: center;
  text-align: center;
  padding-block: 60rem;
}
section.header-hero-home h1 {
  margin-bottom: 25rem;
}
section.header-hero-home p {
  line-height: 1.6;
  font-weight: 300;
  margin-bottom: 25rem;
}
.header-hero-promo > figure {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  overflow: hidden;
  padding-bottom: 40rem;
  position: relative;
  display: flex;
  justify-content: center;
}
.header-hero-promo > figure img,
.header-hero-promo > figure svg,
.header-hero-promo > figure video,
.header-hero-promo > figure object,
.header-hero-promo > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.header-hero-promo > figure img,
.header-hero-promo > figure svg,
.header-hero-promo > figure video,
.header-hero-promo > figure object,
.header-hero-promo > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.header-hero-promo > figure::before {
  content: '';
  position: absolute;
  z-index: 2;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.header-hero-promo > figure figcaption {
  position: relative;
  z-index: 3;
}
.header-hero-promo > figure figcaption h1 {
  display: flex;
  flex-direction: column;
}
.header-hero-promo > figure figcaption h1 .overtitle {
  color: #fff;
  font-size: 16rem;
  font-weight: 300;
  font-style: normal;
}
.header-hero-promo > figure figcaption h1 .title {
  color: #fff;
  font-weight: 600;
}
.header-hero-promo > figure img {
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.header-hero-promo .promo-banner {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 30rem;
  background-color: var(--color-theme);
}
.header-hero-promo .promo-banner .title {
  color: inherit;
  font-weight: 700;
  margin-bottom: -0.25em;
  text-align: center;
}
.header-hero-promo .promo-banner .subtitle {
  font-size: 16rem;
  font-weight: 300;
}
.header-hero-promo .promo-banner figure img {
  width: 100%;
}
.header-hero-promo .promo-banner figure figcaption {
  text-align: center;
}
.header-hero-promo .promo-banner .button {
  text-align: center;
}
.header-hero-promo .promo-banner hr {
  flex: 1 1 100%;
  border-top: none;
  boder-bottom: 1px solid currentColor;
}
.header-hero-promo .promo-banner .text p {
  color: currentColor;
  font-size: 15rem;
  font-weight: 600;
  text-transform: uppercase;
}
.header-hero-promo .promo-banner .text p strong {
  color: inherit;
  font-weight: 700;
}
.header-hero-promo .promo-banner .text p:last-child {
  margin-bottom: 0;
}
.header-hero-promo .promo-banner .tags {
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 10rem;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.header-hero-promo .promo-banner .tags li {
  display: flex;
}
.header-hero-promo .promo-banner .tags li a {
  color: var(--color-text);
  font-size: 12rem;
  font-weight: 300;
  border: 1px solid var(--color-text);
  border-radius: 24rem;
  padding: 6rem 15rem;
  text-decoration: none;
}
.header-hero-promo .promo-banner .tags li a:hover {
  color: var(--color-theme);
  background-color: var(--color-text);
}
.header-hero.header-hero-universal {
  padding-top: 0;
  margin-bottom: 0;
}
.header-hero.header-hero-universal h1 {
  text-align: center;
}
.header-hero.header-hero-universal.no-image {
  height: auto;
}
.header-hero.header-hero-universal + .header-hero-universal-content nav {
  text-align: center;
}
.header-hero.header-hero-universal + .header-hero-universal-content p {
  font-weight: 300;
  color: #000;
  margin-bottom: 0;
}
header.header-hero {
  position: relative;
  height: 570rem;
}
header.header-hero > figure {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  background-color: #f7f4f2;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
header.header-hero > figure img,
header.header-hero > figure svg,
header.header-hero > figure video,
header.header-hero > figure object,
header.header-hero > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
header.header-hero > figure img,
header.header-hero > figure svg,
header.header-hero > figure video,
header.header-hero > figure object,
header.header-hero > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
header.header-hero > figure img {
  width: 100%;
}
header.header-hero > figure.figure-loaded img {
  transform: scale(1);
}
header.header-hero aside.aside-hero {
  position: absolute;
  border-radius: 8rem;
  background-color: rgba(255,255,255,0.65);
  padding: 32rem 40rem;
  text-align: center;
  box-shadow: 0 3rem 58rem 0 rgba(0,0,0,0.25);
  backdrop-filter: blur(10rem);
}
header.header-hero aside.aside-hero.aside-info h1,
header.header-hero aside.aside-hero.aside-info h2 {
  color: #635459;
  font-weight: 600;
  margin-bottom: 30rem;
}
header.header-hero aside.aside-hero.aside-promo h2 {
  margin-bottom: 10rem;
}
header.header-hero aside.aside-hero.aside-promo figure {
  display: flex;
  max-height: 245rem;
  display: flex;
  justify-content: center;
}
header.header-hero aside.aside-hero.aside-promo figure img,
header.header-hero aside.aside-hero.aside-promo figure svg,
header.header-hero aside.aside-hero.aside-promo figure video,
header.header-hero aside.aside-hero.aside-promo figure object,
header.header-hero aside.aside-hero.aside-promo figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
header.header-hero aside.aside-hero.aside-promo figure img,
header.header-hero aside.aside-hero.aside-promo figure svg,
header.header-hero aside.aside-hero.aside-promo figure video,
header.header-hero aside.aside-hero.aside-promo figure object,
header.header-hero aside.aside-hero.aside-promo figure embed {
  -o-object-fit: contain;
  object-fit: contain;
}
header.header-hero .nav-arrow {
  display: none;
  position: absolute;
  bottom: 24rem;
  left: calc(50% - 27.5rem);
  width: 45rem;
  height: 45rem;
  padding: 0;
  border: none;
  background-color: var(--color-theme);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='13' viewBox='0 0 10 13'%3E%3Cpath fill='white' d='m10 7.467-1.273-1.26-2.835 2.835V0H4.108v9.042L1.273 6.207 0 7.467l5 5 5-5Z'/%3E%3C/svg%3E");
  background-position: center;
}
section.header-hero > h1 {
  color: #635459;
  margin-bottom: 30rem;
  text-align: center;
}
section.header-hero > h1 h1 strong {
  color: var(--color-theme);
}
section.header-hero .button.button-large {
  background-color: var(--color-theme);
  border-color: var(--color-theme);
}
section.header-hero .button.button-large:hover {
  background-color: var(--color-theme-dark);
  border-color: var(--color-theme-dark);
}
section.header-hero p {
  line-height: 1.6;
  font-size: 14rem;
}
header.header-store-locator {
  max-width: 760rem;
  margin-inline: auto;
  text-align: center;
}
header.header-store-locator h1 {
  color: var(--color-theme);
  margin-block-end: 16rem;
}
header.header-store-locator h1 strong {
  color: #000;
}
header.header-store-locator .location-title {
  line-height: 1.6;
  font-size: 14rem;
  margin-block-end: 2rem;
}
header.header-store-locator .location-rating {
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: center;
  color: #000;
  line-height: 1.4;
  font-size: 14rem;
  font-weight: 500;
  text-align: center;
  margin-block-end: 16rem;
}
header.header-store-locator .location-rating a {
  color: inherit;
  font-weight: 300;
}
header.header-store-locator .location-stars {
  position: relative;
  display: inline-block;
  width: 80rem;
  height: 16rem;
  background-color: #d4d4d4;
  -webkit-mask-image: var(--rating-star-icon);
  mask-image: var(--rating-star-icon);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-position: center -1rem;
  mask-position: center -1rem;
}
header.header-store-locator .location-stars::before {
  content: '';
  position: absolute;
  inset: 0;
  width: var(--location-rating);
  background-color: #fabd05;
}
header.header-store-locator .store-locator-text {
  color: #000;
  font-size: 16rem;
  font-weight: 300;
}
header.header-store-locator ul.store-locator-services {
  display: flex;
  flex-flow: wrap;
  padding-inline-start: 0;
  list-style: none;
  justify-content: center;
}
header.header-store-locator ul.store-locator-services li {
  display: flex;
  align-items: center;
  gap: 8rem;
  color: #000;
  font-weight: 300;
  padding-inline-start: 0;
}
header.header-store-locator ul.store-locator-services li::before {
  content: '';
  width: 24rem;
  height: 24rem;
  background-color: #01ab04;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' stroke-linecap='square' fill='none' stroke-linejoin='round' stroke-width='2' d='m5.75 12 5 5 7.5-10'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath stroke='%23000' stroke-linecap='square' fill='none' stroke-linejoin='round' stroke-width='2' d='m5.75 12 5 5 7.5-10'/%3E%3C/svg%3E");
}
header.header-base--corpo {
  text-align: center;
}
header.header-base--corpo nav {
  margin-bottom: 32rem;
}
header.header-base--corpo h1,
header.header-base--corpo h2,
header.header-base--corpo h3 {
  font-size: 50rem;
  line-height: 1.2;
  margin-bottom: 12rem;
}
header.header-base--corpo .header-base__text {
  font-size: 14rem;
  font-weight: 300;
  line-height: 1.6;
  color: #000;
}
header.header-base--corpo .header-base__cta {
  padding-top: 32rem;
  padding-bottom: 60rem;
}
header.header-base--corpo .header-base__cta .button {
  font-size: 16rem;
}
header.header-base--corpo:not(:has(.header-base__cta)) {
  padding-bottom: 60rem;
}
.header-universal figure {
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
}
.header-universal figure img,
.header-universal figure svg,
.header-universal figure video,
.header-universal figure object,
.header-universal figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.header-universal figure img,
.header-universal figure svg,
.header-universal figure video,
.header-universal figure object,
.header-universal figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.header-universal p {
  color: #000;
}
.header-universal time {
  display: inline-block;
  color: #000;
}
.section-all-rubrics {
  padding-bottom: 120rem;
  padding-top: 120rem;
  background-color: #f7f4f2;
}
.section-all-rubrics__title {
  text-align: center;
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 60rem;
}
.section-all-rubrics__content {
  display: flex;
  gap: 24rem;
  flex-wrap: wrap;
}
.section-all-rubrics__content-item {
  flex: 0 0 calc(33.333% - 16rem);
  position: relative;
}
.section-all-rubrics__content-item-image {
  width: 100%;
  aspect-ratio: 354/360;
  overflow: hidden;
  border-radius: 8rem;
}
.section-all-rubrics__content-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.section-all-rubrics__content-item-content {
  position: absolute;
  bottom: 8rem;
  left: 8rem;
  width: calc(100% - 16rem);
  padding: 16rem;
  background-color: #fff;
  border-radius: 4rem;
}
.section-all-rubrics__content-item-title {
  font-size: 22rem;
  font-weight: 600;
  line-height: 120%;
  margin-bottom: 8rem;
}
.section-all-rubrics__content-item-description {
  color: #000;
  font-size: 12rem;
  font-weight: 300;
  line-height: 140%;
  max-height: 46rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.section-ambassadors {
  --color-theme: #ac8c2b;
  --color-theme-dark: #6f5a1c;
}
.section-ambassadors .testimony-content .testimonial {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='33' viewBox='0 0 45 33'%3E%3Cpath fill='%23031430' d='M24.9,20.9v-1c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C38.5,8,35.1,11.7,32.8,16c1.2-0.5,2.6-0.9,3.9-1 c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9c-1.7,2-4.2,3.1-6.8,2.9C29,32.6,24.9,27.9,24.9,20.9z M0.5,20.9v-1 c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C14,8,10.7,11.7,8.3,16c1.2-0.5,2.6-0.9,3.9-1c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9 c-1.7,2-4.2,3.1-6.8,2.9C4.6,32.6,0.5,27.9,0.5,20.9z'%3E%3C/path%3E%3C/svg%3E");
}
.section-ambassadors .testimony-content .testimonial blockquote {
  color: var(--color-theme);
}
.section-ambassadors .testimony-content .testimonial figcaption strong {
  color: #000;
}
.section-avisverifies {
  padding-top: 40rem;
  overflow: hidden;
}
.section-avisverifies h2 {
  line-height: 1.35;
  font-size: 30rem;
  color: #000;
  text-align: center;
  margin-bottom: 25rem;
}
.section-avisverifies p {
  color: #8c8c8c;
  line-height: 1.75;
  font-size: 21rem;
  font-weight: 400;
  text-align: center;
  max-width: 920rem;
  margin: 0 auto 40rem;
}
.section-avisverifies .avisverifies-reviews {
  position: relative;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  gap: 15rem;
  margin-bottom: 50rem;
}
.section-avisverifies .avisverifies-reviews::after {
  content: '';
  display: block;
  clear: both;
}
.section-avisverifies .avisverifies-reviews.carousel-initialized {
  display: block;
  overflow: visible !important;
}
.section-avisverifies .avisverifies-reviews.carousel-initialized > div > div {
  display: flex;
  justify-content: center;
}
.section-avisverifies .avisverifies-reviews.carousel-initialized::before {
  content: '';
  position: absolute;
  z-index: 1;
  left: -95%;
  top: -10%;
  width: 100%;
  height: 120%;
  background-image: linear-gradient(to left, transparent 0%, #fff 15%);
}
.section-avisverifies .avisverifies-reviews .carousel-arrow {
  position: absolute;
  z-index: 1;
  top: calc(50% - 32.5rem);
}
.section-avisverifies .avisverifies-reviews .carousel-arrow.carousel-prev {
  left: -65rem;
}
.section-avisverifies .avisverifies-reviews .carousel-arrow.carousel-next {
  right: -65rem;
}
.section-avisverifies article.avisverifies-review {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  border: 1px solid #c0c0c0;
  border-radius: 6rem;
  padding: 10rem 20rem;
  box-shadow: 0 0 10rem -2rem rgba(0,0,0,0.15);
}
.section-avisverifies article.avisverifies-review header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10rem;
  margin-bottom: 10rem;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars {
  display: flex;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars span {
  width: 17.5rem;
  height: 17.5rem;
  background-color: #c0c0c0;
  margin-right: 3rem;
  clip-path: polygon(50% 0%, 65% 35%, 100% 40%, 75% 65%, 80% 100%, 50% 80%, 20% 100%, 25% 65%, 0% 40%, 35% 35%);
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-1 span:nth-child(1) {
  background-color: #f28e23;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-2 span:nth-child(1),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-2 span:nth-child(2) {
  background-color: #f28e23;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-3 span:nth-child(1),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-3 span:nth-child(2),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-3 span:nth-child(3) {
  background-color: #f28e23;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-4 span:nth-child(1),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-4 span:nth-child(2),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-4 span:nth-child(3),
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-4 span:nth-child(4) {
  background-color: #f28e23;
}
.section-avisverifies article.avisverifies-review header .avisverifies-stars.stars-5 span {
  background-color: #f28e23;
}
.section-avisverifies article.avisverifies-review header time {
  line-height: 1;
}
.section-avisverifies article.avisverifies-review p {
  width: 100%;
  text-align: left;
  line-height: 1.25;
  font-size: 12rem;
  margin-bottom: 1em;
}
.section-avisverifies article.avisverifies-review .avisverifies-name {
  font-size: 10rem;
}
.section-button {
  text-align: center;
}
.section-cards-certifications {
  text-align: center;
  background-color: #f7f4f2;
  padding-bottom: 60rem;
  padding-top: 60rem;
}
.section-cards-certifications h2 {
  margin-bottom: 35rem;
}
.section-cards-certifications > p {
  font-size: 16rem;
  font-weight: 300;
  color: #8c8c8c;
  margin-bottom: 1.15em;
}
.section-cards-certifications .certification-list {
  margin-top: 50rem;
}
.section-cards-certifications .certification-list > div:not(.carousel-dots) {
  display: flex;
}
.section-cards-certifications .certification-list > div:not(.carousel-dots) .certification-teaser {
  height: 100%;
}
.section-cards-certifications .carousel-dots {
  width: 100%;
}
.section-cards-certifications .link {
  display: inline-block;
  font-size: 16rem;
  border-width: 1px;
  padding-bottom: 10rem;
}
.section-cards-certifications .link svg {
  margin-right: 10rem;
}
.section-cards-faq-slider {
  padding: 60rem 0;
  overflow-x: hidden;
}
.section-cards-faq-slider .section-cards-faq-slider-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000rem;
  clear: both;
  padding-inline: 40rem;
}
.section-cards-faq-slider .section-cards-faq-slider-title {
  margin-bottom: 31rem;
  font-size: 30rem;
  font-weight: 600;
}
.section-cards-faq-slider .section-cards-faq-slider-wrapper {
  position: relative;
}
.section-cards-faq-slider .section-cards-faq-slider-list {
  overflow: visible !important;
  max-width: 764rem;
  margin-inline: auto;
}
.section-cards-faq-slider .section-cards-faq-slider-list > div {
  display: flex;
  gap: 20rem;
}
.section-cards-faq-slider .cards-faq-item {
  position: relative;
  height: 420rem;
  background-color: var(--card-bg, #484848);
  border-radius: 8rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image {
  min-height: 0;
  display: flex;
  justify-content: center;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image img,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image svg,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image video,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image object,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image img,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image svg,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image video,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image object,
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 3/2;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-title {
  height: 174rem;
  padding: 24rem 72rem 24rem 24rem;
  font-size: 22rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 2%;
  text-wrap: balance;
  position: relative;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-link {
  display: none;
}
.section-cards-faq-slider .cards-faq-item .cards-faq-item-plus {
  position: absolute;
  top: 24rem;
  right: 24rem;
  width: 42rem;
  height: 40rem;
  border: 2rem solid #fff;
  border-radius: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 18rem;
  line-height: 1;
  font-weight: 300;
  pointer-events: none;
  background: #fff;
}
.section-cards-faq-slider .cards-faq-item:has(.cards-faq-item-link) {
  cursor: pointer;
}
.section-cards-faq-slider .cards-faq-item:focus-visible {
  outline: 3rem solid var(--color-theme);
  outline-offset: 3rem;
}
.section-cards-faq-slider .carousel-dots {
  margin-top: 24rem;
}
.section-cards-faq-slider .carousel-arrow {
  position: absolute;
  top: 163rem;
  z-index: 1;
  background-color: #fff;
}
.section-cards-faq-slider .carousel-arrow::after {
  background-color: #484848;
}
.section-cards-faq-slider .carousel-arrow:hover {
  background-color: #fff;
  opacity: 0.7;
}
.section-cards-faq-slider .carousel-prev {
  left: -40rem;
}
.section-cards-faq-slider .carousel-next {
  right: -40rem;
}
.section-cards-flip {
  padding: 60rem 0;
}
.section-cards-flip .section-cards-flip-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000rem;
  clear: both;
  padding-inline: 40rem;
}
.section-cards-flip .section-cards-flip-title {
  margin-bottom: 40rem;
  font-size: 30rem;
  font-weight: 600;
}
.section-cards-flip .section-cards-flip-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.section-cards-flip .cards-flip-item:nth-child(4n+2) .cards-flip-item-image,
.section-cards-flip .cards-flip-item:nth-child(4n+3) .cards-flip-item-image {
  display: none;
}
.section-cards-flip .cards-flip-item {
  cursor: pointer;
  perspective: 1000rem;
}
.section-cards-flip .cards-flip-item.is-flipped .cards-flip-item-inner {
  transform: rotateY(180deg);
}
.section-cards-flip .cards-flip-item-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 570rem;
}
.section-cards-flip .cards-flip-item-front,
.section-cards-flip .cards-flip-item-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 8rem;
  overflow: hidden;
}
.section-cards-flip .cards-flip-item-front {
  background-color: var(--card-bg, #484848);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-image {
  flex: 1;
  min-height: 0;
  display: flex;
  justify-content: center;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-image img,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image svg,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image video,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image object,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-image img,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image svg,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image video,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image object,
.section-cards-flip .cards-flip-item-front .cards-flip-item-image embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-title {
  padding: 32rem 32rem 19rem;
  height: 231rem;
  overflow: hidden;
  font-size: 30rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  letter-spacing: 2%;
  text-wrap: balance;
}
.section-cards-flip .cards-flip-item-front .cards-flip-item-plus {
  position: absolute;
  bottom: 24rem;
  right: 24rem;
  width: 48rem;
  height: 48rem;
  border: 2rem solid #fff;
  border-radius: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 18rem;
  line-height: 1;
  font-weight: 300;
  pointer-events: none;
  transition: all 0.3s ease;
  background: #fff;
}
.section-cards-flip .cards-flip-item-back {
  transform: rotateY(180deg);
  background-color: var(--card-bg, #484848);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 32rem 32rem;
}
.section-cards-flip .cards-flip-item-back .cards-flip-item-text {
  font-size: 16rem;
  line-height: 1.6;
  color: #fff;
  overflow: auto;
  font-weight: 400;
}
.section-cards-flip .cards-flip-item-back .cards-flip-item-text p {
  margin-bottom: 16rem;
}
.section-cards-flip .cards-flip-item-back .cards-flip-item-text a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3rem;
}
.section-cards-flip .cards-flip-item-back .cards-flip-item-text a:hover,
.section-cards-flip .cards-flip-item-back .cards-flip-item-text a:focus {
  opacity: 0.7;
}
.section-cards-flip .cards-flip-item-back .button {
  margin-top: 20rem;
  align-self: flex-start;
  color: #000;
  padding: 6rem 8rem;
  display: flex;
  align-items: center;
}
.section-cards-flip .cards-flip-item-back .button:hover {
  color: #fff;
}
.section-cards-flip .cards-flip-item-back .cards-flip-item-close {
  position: absolute;
  bottom: 24rem;
  right: 24rem;
  width: 48rem;
  height: 48rem;
  border: 2rem solid #fff;
  border-radius: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-size: 20rem;
  line-height: 1;
  font-weight: 300;
  pointer-events: none;
  background: #fff;
}
.section-cards .section-cards-container {
  max-width: 790rem;
  margin: auto;
  color: #000;
  padding-top: 40rem;
  padding-bottom: 40rem;
  display: flex;
  gap: 40rem;
  align-items: center;
/* Visuels */
/* On limite à 3 images pour des effets cohérents de loop et crossfade */
}
.section-cards .section-cards-container .section-cards-items {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 24rem;
  text-wrap: pretty;
}
.section-cards .section-cards-container .section-cards-item {
  list-style: none;
  display: flex;
  gap: 15rem;
}
.section-cards .section-cards-container .section-cards-item strong {
  font-size: 16rem;
  font-weight: 500;
}
.section-cards .section-cards-container .section-cards-item p {
  margin: 0;
  font-weight: 300;
}
.section-cards .section-cards-container .section-cards-bullet {
  color: var(--color-theme);
}
.section-cards .section-cards-container .section-cards-visual-images {
  display: inline-block;
  border-radius: 10rem;
  position: relative;
/* 1e+2e card */
/* 1e carte en fond */
/* 2e carte en fond */
/* Toutes les images */
}
.section-cards .section-cards-container .section-cards-visual-images::before,
.section-cards .section-cards-container .section-cards-visual-images::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 10rem;
  z-index: -1;
  background-color: rgba(0,0,0,0.1);
}
.section-cards .section-cards-container .section-cards-visual-images .section-cards__image {
  rotate: -4deg;
  border-radius: 10rem;
  -o-object-fit: contain;
  object-fit: contain;
}
.section-cards .section-cards-container .section-cards-visual-images .section-cards__image:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
section.section-carousel-videos {
  background: url("medias/carousel-videos-bg.png") #484848 top center/cover no-repeat;
  padding-bottom: 80rem;
  padding-top: 80rem;
  overflow: hidden;
}
section.section-carousel-videos .container .section-title {
  color: #fff;
  text-align: center;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 12rem;
}
section.section-carousel-videos .container .section-description {
  max-width: 754rem;
  margin: 0 auto 60rem;
  color: #fff;
  text-align: center;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 14rem;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
}
section.section-carousel-videos .container .carousel-videos-container {
  position: relative;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list {
  box-sizing: content-box;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list * {
  box-sizing: content-box;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .slick-list {
  overflow: visible !important;
  margin: 0 -12rem;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .slick-list .slick-track {
  display: flex;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .slick-list .slick-track .slick-slide {
  height: inherit;
  width: 398rem;
  padding: 0 12rem;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .slick-list .slick-track .slick-slide > div {
  height: inherit;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item {
  width: 374rem;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure {
  cursor: pointer;
  position: relative;
  margin-bottom: 12rem;
  width: 100%;
  aspect-ratio: 374/210;
  display: block;
  overflow: hidden;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure img {
  transition: all 0.75s ease;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure .video-overlay {
  pointer-events: none;
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.75s ease;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure .video-overlay button {
  padding: 0;
  width: 40rem;
  height: 40rem;
  border-radius: 50%;
  border: 0 none;
  transition: all 0.75s ease;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure .video-overlay button svg {
  width: 24rem;
  height: 24rem;
  fill: #fff;
  cursor: pointer;
  transition: all 0.75s ease;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure .video-overlay button svg path {
  fill: #c2143a;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure:hover img {
  transform: scale(1.05);
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure:hover .video-overlay {
  background-color: rgba(0,0,0,0.4);
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure:hover .video-overlay button {
  transform: scale(1.1);
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item .video-info .video-title {
  cursor: pointer;
  color: #fff;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 20rem;
  font-weight: 500;
  line-height: 130%;
  letter-spacing: 0.2px;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item .video-info .video-duration {
  color: #fff;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-arrow {
  cursor: pointer;
  position: absolute;
  top: 5.4vw;
  z-index: 9;
  transition: all 0.3s ease;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.slick-disabled {
  cursor: default;
  opacity: 0.5;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-prev {
  left: -105rem;
}
section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-next {
  right: -105rem;
}
section.section-carousel-videos .container .carousel-videos-container .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  margin: 60rem 0 0;
  padding: 0;
  list-style: none;
}
section.section-carousel-videos .container .carousel-videos-container .slick-dots li button {
  display: block;
  background-color: #8c8c8c;
  border: none;
  border-radius: 50%;
  width: 8rem;
  height: 8rem;
  cursor: pointer;
  font-size: 0;
  transition: all 0.3s ease;
  min-width: 0;
  min-height: 0;
  padding: 0;
}
section.section-carousel-videos .container .carousel-videos-container .slick-dots li button:focus {
  outline: none;
}
section.section-carousel-videos .container .carousel-videos-container .slick-dots li.slick-active button {
  background-color: #c2143a;
  width: 10rem;
  height: 10rem;
}
section.section-carousel-videos .video-modal {
  top: 0;
}
section.section-carousel-videos .video-modal.modal-opened {
  z-index: 100000;
}
section.section-carousel-videos .video-modal .modal-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: #000;
  transform: none;
  width: 100vw;
  height: 100dvh;
  border-radius: 0;
  padding: 24rem 170rem;
  color: #fff;
  overflow: hidden;
  max-height: none !important;
}
section.section-carousel-videos .video-modal .modal-content .modal-close {
  background-color: transparent;
  z-index: 11;
}
section.section-carousel-videos .video-modal .modal-content .modal-header {
  background-color: #000;
  padding: 24rem 58rem 24rem 24rem;
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
section.section-carousel-videos .video-modal .modal-content .modal-header .modal-title {
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 20rem;
  font-weight: 300;
  line-height: 160%;
  margin-bottom: 0;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container {
  position: relative;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list {
  position: relative;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list {
  overflow: visible !important;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track {
  display: flex;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide {
  position: relative;
  height: inherit;
  margin: 0 20rem;
  opacity: 0.2;
  transition: opacity 0.3s ease;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide > div {
  height: inherit;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide.slick-active {
  opacity: 1;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide .poster-modal-carousel-video {
  position: relative;
  width: 100%;
  aspect-ratio: 1110/618;
  overflow: hidden;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide .poster-modal-carousel-video img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide .poster-modal-carousel-video .modal-video-player {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide .modal-video-info {
  display: none;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .unmute-button {
  position: absolute;
  bottom: 20rem;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(0,0,0,0.8);
  color: #fff;
  border: none;
  border-radius: 25rem;
  padding: 12rem 20rem;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 14rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8rem;
  transition: all 0.3s ease;
  z-index: 10;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .unmute-button svg {
  flex-shrink: 0;
  fill: #fff;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .unmute-button:hover {
  background-color: rgba(0,0,0,0.9);
  transform: translateX(-50%) scale(1.05);
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow {
  cursor: pointer;
  position: absolute;
  top: 19vw;
  z-index: 10;
  transition: all 0.3s ease;
  overflow: visible;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow .title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  padding: 8rem 12rem;
  border-radius: 4rem;
  width: 300rem;
  font-family: Poppins, 'Helvetica Neue', Helvetica, 'Lucida Grande', sans-serif;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  pointer-events: none;
  opacity: 0;
  transition: all 0.3s ease;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow:hover .title {
  opacity: 1;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.slick-disabled {
  cursor: default;
  opacity: 0.5;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-prev {
  left: -85rem;
  transform: none;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-prev::after {
  transform: rotate(180deg);
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-prev .title {
  left: calc(100% + 16rem);
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-next {
  right: -85rem;
}
section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-next .title {
  right: calc(100% + 16rem);
}
.dialog-container .carousel-videos-container {
  padding-inline: 120rem;
}
.dialog-container .carousel-arrow.carousel-prev {
  left: -60rem !important;
}
.dialog-container .carousel-arrow.carousel-next {
  right: -60rem !important;
}
.section-carousel {
  text-align: center;
}
.section-carousel .image-list {
  position: relative;
  margin-inline: auto;
  margin-bottom: 30rem;
}
.section-carousel .image-list::after {
  content: '';
  display: block;
  clear: both;
}
.section-carousel .image-list > div > div {
  padding-bottom: 2rem;
}
.section-carousel .image-list figure {
  display: flex;
  justify-content: center;
  transform-origin: center;
  background-color: #f7f4f2;
}
.section-carousel .image-list figure img,
.section-carousel .image-list figure svg,
.section-carousel .image-list figure video,
.section-carousel .image-list figure object,
.section-carousel .image-list figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-carousel .image-list figure img,
.section-carousel .image-list figure svg,
.section-carousel .image-list figure video,
.section-carousel .image-list figure object,
.section-carousel .image-list figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-carousel .image-list.carousel-initialized {
  overflow: visible !important;
}
.section-carousel .image-list.carousel-initialized figure {
  transform: translate(8%, 0) scale(0.66667);
  transition: transform 0.3s ease;
}
.section-carousel .image-list.carousel-initialized .slide-active figure {
  transform: scale(1);
  transition: transform 0.5s ease;
}
.section-carousel .image-list.carousel-initialized .slide-active ~ div figure {
  transform: translate(-8%, 0) scale(0.66667);
  transition: transform 0.3s ease;
}
.section-carousel .carousel-dots {
  display: block;
}
.section-carousel .carousel-dots button {
  width: 14rem;
  height: 14rem;
  margin: 0 7rem;
}
.section-carousel .carousel-dots button:not(.dot-active) {
  background-color: #f7f4f2;
  transform: scale(0.72);
}
.section-certifications {
  text-align: center;
  background-image: linear-gradient(#fff 80%, #f7f4f2);
}
.section-certifications .certification-tabs {
  width: 100%;
  line-height: 0;
  font-size: 0;
}
.section-certifications .certification-tab {
  color: #8c8c8c;
  position: relative;
  display: inline-block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08667em;
  border-bottom: 3rem solid #f7f4f2;
  cursor: pointer;
  transition: 0.3s ease;
  transition-property: color, border-color;
}
.section-certifications .certification-tab::after {
  content: '';
  position: absolute;
  top: -10rem;
  width: 1px;
  height: 60rem;
  background-color: #d4d4d4;
}
.section-certifications .certification-tab:hover {
  color: var(--color-theme-dark);
}
.section-certifications .certification-tab:first-child {
  margin-left: 0;
}
.section-certifications .certification-tab:last-child {
  margin-right: 0;
}
.section-certifications .certification-tab:last-child::after {
  content: none;
}
.section-certifications .certification-tab.tab-active {
  color: #635459;
  color: var(--color-theme);
  border-color: currentcolor;
}
.section-certifications .certification-tab.tab-active:hover {
  color: var(--color-theme-dark);
}
.section-certifications .certification-list {
  display: flex;
}
.section-certifications .certification-item {
  display: none;
}
.section-certifications .certification-item figure {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f7f4f2;
  border-radius: 50%;
  margin: 0 auto;
}
.section-certifications .certification-item h3 {
  color: #000;
}
.section-certifications .certification-item p {
  font-weight: 300;
  margin-bottom: 22.5rem;
}
.section-company {
  position: relative;
  color: #fff;
}
.section-company > h2 {
  text-align: center;
}
.section-company > h2 strong {
  color: inherit;
  font-weight: 600;
}
.section-company .section-content {
  position: relative;
}
.section-company .company-titles {
  position: relative;
  z-index: 1;
  width: 33.333333333333336%;
  margin-bottom: 95rem;
}
.section-company .company-titles.carousel-initialized {
  width: 100%;
}
.section-company .company-titles > div {
  position: relative;
  left: 33.333333333333336%;
}
.section-company .slide-title {
  color: inherit;
  text-align: center;
}
.section-company .slide-title.title-active {
  color: var(--color-theme-title);
}
.section-company .company-item > figure {
  display: flex;
  justify-content: center;
}
.section-company .company-item > figure img,
.section-company .company-item > figure svg,
.section-company .company-item > figure video,
.section-company .company-item > figure object,
.section-company .company-item > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-company .company-item > figure img,
.section-company .company-item > figure svg,
.section-company .company-item > figure video,
.section-company .company-item > figure object,
.section-company .company-item > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-company .company-item-content p {
  font-weight: 300;
  margin-bottom: 0;
}
.section-company .company-item-content p:last-of-type {
  margin-bottom: 25rem;
}
.section-company .company-item-content figure img {
  border-radius: 9999rem;
}
.section-company .company-item .button {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5rem;
  align-self: flex-end;
}
.section-company .company-pictures figure {
  display: flex;
  justify-content: center;
}
.section-company .company-pictures figure img,
.section-company .company-pictures figure svg,
.section-company .company-pictures figure video,
.section-company .company-pictures figure object,
.section-company .company-pictures figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-company .company-pictures figure img,
.section-company .company-pictures figure svg,
.section-company .company-pictures figure video,
.section-company .company-pictures figure object,
.section-company .company-pictures figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-company .carousel-arrow {
  position: absolute;
  z-index: 5;
  top: calc(50% - 32.5rem);
  background-color: var(--color-theme-title);
}
.section-company .carousel-prev {
  left: calc(50% - 650rem);
}
.section-company .carousel-next {
  right: calc(50% - 650rem);
}
@keyframes animation-company-picture {
  from {
    z-index: 5;
  }
  50% {
    z-index: 5;
    transform: translate(-340rem, 300rem) rotate(10deg) scale(0.8);
  }
  51% {
    z-index: 1;
  }
}
.section-contact {
  text-align: center;
}
.section-contact .section-title {
  display: block;
  font-size: 30rem;
  color: #000;
  margin-bottom: 40rem;
}
.section-contact .section-title strong {
  color: #635459;
  color: var(--color-theme);
  font-weight: inherit;
}
.section-contact .contact-items {
  display: flex;
  justify-content: center;
  max-width: 1050rem;
  margin-inline: auto;
}
.section-contact .contact-item {
  flex: 1 0;
}
.section-contact .contact-item figure {
  width: 24rem;
  height: 24rem;
  margin: 0 auto 10rem;
}
.section-contact .contact-item figure svg {
  width: 100%;
  fill: var(--color-theme);
}
.section-contact .contact-item .item-title {
  color: #000;
  line-height: 1.25;
  font-size: 20rem;
  margin-bottom: 20rem;
}
.section-contact .contact-item p {
  font-weight: 300;
  margin-bottom: 35rem;
}
.section-contact .contact-item a.button {
  font-weight: 600;
}
.section-customize {
  text-align: center;
  background-image: linear-gradient(0deg, rgba(255,255,255,0), #f7f4f2);
}
.section-customize h2 {
  margin: 0 auto 25rem;
}
.section-customize > p {
  color: #000;
  text-align: center;
  font-weight: 300;
}
.section-customize .customize-card {
  position: relative;
  border-radius: 8rem;
  text-align: center;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 3rem 27rem rgba(0,0,0,0.15);
  transition: box-shadow 0.5s ease;
}
.section-customize .customize-card figure {
  width: 100%;
  margin-bottom: 25rem;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.section-customize .customize-card figure img,
.section-customize .customize-card figure svg,
.section-customize .customize-card figure video,
.section-customize .customize-card figure object,
.section-customize .customize-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-customize .customize-card figure img,
.section-customize .customize-card figure svg,
.section-customize .customize-card figure video,
.section-customize .customize-card figure object,
.section-customize .customize-card figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-customize .customize-card figure img {
  width: 100%;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.section-customize .customize-card h3 {
  color: var(--color-theme);
  font-weight: 600;
  letter-spacing: 2%;
  margin-bottom: 8rem;
}
.section-customize .customize-card .customize-feature {
  color: #000;
  letter-spacing: 2%;
  margin-bottom: 8rem;
}
.section-customize .customize-card p {
  font-weight: 300;
}
.section-customize .customize-card .button {
  position: relative;
  z-index: 2;
}
.section-customize .customize-card:hover {
  box-shadow: 0 3rem 35rem rgba(0,0,0,0.25);
}
.section-customize .customize-card:hover figure img {
  transform: scale(1.05);
}
.section-customize .customize-text {
  line-height: 1.6;
  font-size: 20rem;
  font-weight: 300;
}
.section-customize .customize-option-list {
  display: flex;
  justify-content: center;
  flex-flow: wrap;
}
.section-customize .customize-option {
  text-align: left;
}
.section-customize .customize-option::after {
  content: '';
  width: 100%;
  height: 1px;
  background-color: #f7f4f2;
  opacity: 0.3;
}
.section-customize .customize-option h4 {
  line-height: 1.4;
  font-size: 14rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  margin-bottom: 8rem;
}
.section-customize .customize-option h4 figure {
  display: inline-block;
  width: 32rem;
  height: 32rem;
  background-color: #f7f4f2;
  border-radius: 5rem;
  margin-right: 7.5rem;
  vertical-align: middle;
  display: flex;
  justify-content: center;
  align-items: center;
}
.section-customize .customize-option h4 figure img {
  font-size: 6rem;
  max-width: 20rem;
  max-height: 20rem;
  overflow: hidden;
}
.section-customize .customize-option p {
  color: #8c8c8c;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 400;
}
.section-exceptional-information {
  background-color: #f7f4f2;
  text-transform: uppercase;
  text-align: center;
}
.section-exceptional-information h2 {
  font-size: 13rem;
  font-weight: 700;
  color: #c2143a;
}
.section-exceptional-information p {
  font-size: 13rem;
  color: #000;
  margin: 0;
}
.section-exceptional-information a {
  color: #000;
}
.section-exceptional-information a:hover {
  color: #000;
  text-decoration: none;
}
.section-exceptional-information .close-exceptional-information {
  width: 10rem;
  height: 10rem;
  cursor: pointer;
  position: absolute;
  top: 25rem;
}
.section-exceptional-information .close-exceptional-information svg {
  width: 100%;
  height: 100%;
  float: left;
}
.section-external-site-push::before {
  content: '';
  display: inline-block;
  height: 1px;
  background-color: #d4d4d4;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}
.section-external-site-push .action-card {
  background-color: var(--color-theme);
  color: #fff;
}
.section-external-site-push .action-card > figure {
  background-color: #f7f4f2;
}
.section-external-site-push .action-card .picto {
  margin-bottom: 20rem;
}
.section-external-site-push .action-card .picto img,
.section-external-site-push .action-card .picto svg,
.section-external-site-push .action-card .picto video,
.section-external-site-push .action-card .picto object,
.section-external-site-push .action-card .picto embed {
  -o-object-fit: contain;
  object-fit: contain;
}
.section-ferjani {
  position: relative;
  text-align: center;
}
.section-ferjani.background-style-plain {
  background-color: #f7f4f2;
}
.section-ferjani.background-style-gradient {
  background-image: linear-gradient(rgba(255,255,255,0), #f7f4f2);
}
.section-ferjani h2 {
  padding-top: 60rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='33' viewBox='0 0 45 33'%3E%3Cpath fill='black' d='M24.9,20.9v-1c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C38.5,8,35.1,11.7,32.8,16c1.2-0.5,2.6-0.9,3.9-1 c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9c-1.7,2-4.2,3.1-6.8,2.9C29,32.6,24.9,27.9,24.9,20.9z M0.5,20.9v-1 c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C14,8,10.7,11.7,8.3,16c1.2-0.5,2.6-0.9,3.9-1c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9 c-1.7,2-4.2,3.1-6.8,2.9C4.6,32.6,0.5,27.9,0.5,20.9z'%3E%3C/path%3E%3C/svg%3E");
  background-size: 45rem;
  background-position: top center;
  margin-left: auto;
  margin-right: auto;
}
.section-ferjani h2 strong {
  display: block;
}
.section-ferjani > p {
  font-weight: 300;
  margin-left: auto;
  margin-right: auto;
}
.section-ferjani .svg-defs {
  width: 1px;
  height: 1px;
  position: absolute;
  display: inherit;
  clip-path: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}
.section-ferjani .ferjani-portrait {
  display: flex;
  align-items: center;
}
.section-ferjani .ferjani-picture {
  position: relative;
  z-index: 1;
  text-align: center;
}
.section-ferjani .ferjani-picture img {
  width: 100%;
  display: inline-block;
  -o-object-fit: contain;
  object-fit: contain;
  clip-path: url("#ferjani-clip-path");
}
.section-ferjani .ferjani-picture::before {
  content: '';
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  background-color: var(--color-theme);
}
.section-ferjani .ferjani-signature svg,
.section-ferjani .ferjani-signature img {
  width: 100%;
  height: auto;
}
.section-ferjani .ferjani-photo {
  border-radius: 50%;
  background-color: #f7f4f2;
}
.section-figures {
  text-align: center;
}
.section-figures h2 {
  margin-bottom: 25rem;
}
.section-figures .figure-list {
  display: flex;
  justify-content: space-between;
}
.section-figures .figure-list .figure {
  display: inline-block;
  text-align: left;
  overflow: hidden;
}
.section-figures .figure-list .figure p {
  line-height: 1.4;
  font-size: 16rem;
  color: #fff;
  font-weight: 500;
}
.section-figures .figure-list .figure p > span:first-child {
  display: inline-block;
  width: 100%;
  font-size: 50rem;
  font-weight: 700;
}
.section-figures .figure-list .figure p > span:first-child strong {
  line-height: 1.1;
  font-size: 50rem;
  font-weight: 600;
}
.section-figures .figure-list .figure.background-image {
  background-size: cover;
  position: relative;
}
.section-figures .figure-list .figure.background-image::before {
  content: '';
  width: 100%;
  height: 100%;
  float: left;
  background: linear-gradient(128.64deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
  pointer-events: none;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
}
.section-figures .figure-list .figure.background-image p {
  position: relative;
  z-index: 5;
}
.section-figures .figure-list .figure.background-color {
  background-color: var(--color-theme);
}
.section-figures .figure-list .figure.background-grey {
  background-color: #f7f4f2;
}
.section-figures .figure-list .figure.background-grey p {
  color: #8c8c8c;
}
.section-figures .figure-list .figure.background-grey p span {
  color: var(--color-theme);
}
.section-filter {
  text-align: center;
}
.section-filter > p {
  color: #8c8c8c;
}
.section-filter > p:first-child {
  margin-bottom: 30rem;
}
.section-filter .search-results {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  gap: 30rem;
}
.section-filter .search-results article[hidden] {
  display: none;
}
.section-filter .search-results::after {
  content: '';
  flex: auto;
  width: calc(33.333333333333336% - 20rem);
}
.section-filter .search-filters .action-clear {
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 600;
  background-color: transparent;
  color: #635459;
  border-bottom: 2rem solid #635459;
  padding: 0 0 5rem;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed .checkboxes-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20rem 30rem 0;
  border-top: 1px solid #d4d4d4;
  margin: 0 -30rem;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed .checkboxes-action button {
  opacity: 0.2;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed .checkboxes-action.action-active .action-clear {
  opacity: 1;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed .checkboxes-action.action-updated .action-save {
  opacity: 1;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox {
  overflow: hidden;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox label {
  display: block;
  padding-left: 45rem;
  line-height: 1.5;
  font-size: 18rem;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox label::after,
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox label::before {
  margin-top: -2rem;
  width: 30rem;
  height: 30rem;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox label::before {
  width: 24rem;
  height: 24rem;
  background-color: var(--color-theme);
  color: #fff;
  line-height: 1;
  font-size: 24rem;
  border-radius: 3rem;
  top: 3rem;
  left: 3rem;
}
.section-filter .search-filters .field-checkboxes.field-choice-collapsed div.checkbox label::after {
  border-color: #d4d4d4;
  border-radius: 4rem;
}
.section-filter .result-progress {
  position: relative;
  color: #000;
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 400;
  max-width: 220rem;
  margin: 20rem auto 30rem;
  white-space: nowrap;
}
.section-filter .result-progress .progress-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2rem;
  background-color: var(--color-theme);
}
.section-filter .result-progress::after {
  content: '';
  display: block;
  margin-top: 10rem;
  width: 100%;
  height: 2rem;
  background-color: #d4d4d4;
}
.section-filter p.note {
  line-height: 1.35;
  font-size: 14rem;
}
.section-folders {
  --color-theme: var(--color-default);
  background-color: #f7f4f2;
  padding-bottom: 60rem;
  padding-top: 60rem;
  margin-bottom: 120rem;
  overflow: hidden;
}
.section-folders__header {
  display: flex;
  align-items: center;
  gap: 24rem;
  margin-bottom: 45rem;
}
.section-folders__title {
  flex: 0 0 730rem;
}
.section-folders__title h2 {
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 24rem;
}
.section-folders__description {
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
}
.section-folders__cta {
  flex: 1 1 auto;
  text-align: right;
}
.section-folders__list {
  overflow: visible !important;
  max-width: 730rem;
}
.section-folders__list >div {
  display: flex;
  gap: 80rem;
}
.section-folders__list >div .folder-item {
  height: 100%;
}
.section-folders__list::after {
  content: '';
  display: block;
  clear: both;
}
.section-folders__list-wrapper {
  position: relative;
}
.section-folders .carousel-arrow {
  position: absolute;
  top: 50%;
}
.section-folders .carousel-arrow.carousel-prev {
  right: calc(100% + 30rem);
  transform: translate(0, -50%) rotate(180deg);
}
.section-folders .carousel-arrow.carousel-next {
  left: calc(100% + 30rem);
  transform: translate(0, -50%);
}
.section-folders .carousel-dots {
  margin-top: 60rem;
  text-align: center;
}
.folder-item {
  background-color: #fff;
  display: flex;
  border-radius: 8rem;
}
.folder-item figure {
  position: relative;
  flex: 0 0 320rem;
  aspect-ratio: 320/508;
  overflow: hidden;
  border-radius: 8rem;
}
.folder-item figure::before {
  content: "Dossier";
  display: flex;
  width: 68rem;
  position: absolute;
  height: 64rem;
  border-radius: 0 0 8rem 8rem;
  background: #7d0d25;
  color: #fff;
  font-size: 12rem;
  justify-content: center;
  padding: 8rem 12rem;
  align-items: flex-end;
  top: 0;
  left: 20rem;
}
.folder-item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  border-radius: 10rem;
}
.folder-item__content {
  flex: 1 1 auto;
  padding: 32rem;
}
.folder-item__content h3 {
  font-size: 22rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 40rem;
}
.folder-item__content__articles .inner {
  display: flex;
  flex-flow: column;
  gap: 20rem;
  padding-bottom: 32rem;
}
.folder-item__content__article a {
  overflow: hidden;
  color: #000;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
.folder-item__content__link {
  display: flex;
}
.folder-item__content__link__more {
  cursor: pointer;
  display: none;
}
.folder-item__content__link__more__open {
  display: none;
}
.folder-item__content__link__more.open .folder-item__content__link__more__open {
  display: inline;
}
.folder-item__content__link__more.open .folder-item__content__link__more__close {
  display: none;
}
.folder-item__content__link__more.open svg {
  transform: rotate(270deg);
}
.section-gallery {
  position: relative;
  background-color: #f7f4f2;
  padding: 0;
}
.section-gallery figure {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
}
.section-gallery figure img,
.section-gallery figure svg,
.section-gallery figure video,
.section-gallery figure object,
.section-gallery figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-gallery figure img,
.section-gallery figure svg,
.section-gallery figure video,
.section-gallery figure object,
.section-gallery figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-gallery .button {
  position: absolute;
}
.section-hero-banner {
  position: relative;
  overflow: hidden;
  margin-bottom: 60rem;
  --y-offset: 0;
}
.section-hero-banner-container {
  margin-right: auto;
  margin-left: 0;
  max-width: 1000rem;
}
.section-hero-banner-container > figure {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #c0c0c0;
  display: flex;
  justify-content: center;
  transform: translate(0, var(--y-offset)) scale(1.05);
}
.section-hero-banner-container > figure img,
.section-hero-banner-container > figure svg,
.section-hero-banner-container > figure video,
.section-hero-banner-container > figure object,
.section-hero-banner-container > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-hero-banner-container > figure img,
.section-hero-banner-container > figure svg,
.section-hero-banner-container > figure video,
.section-hero-banner-container > figure object,
.section-hero-banner-container > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-hero-banner-container > figure img {
  width: 100%;
}
.section-hero-banner .hero-banner-card {
  position: relative;
  z-index: 1;
  background-color: #fff;
  border-radius: 8rem;
}
.section-hero-banner .hero-banner-card h2 {
  margin-bottom: 20rem;
  font-size: 30rem;
  font-weight: 600;
}
.section-hero-banner .hero-banner-card .hero-banner-card-text {
  font-weight: 300;
}
.section-hero-banner .hero-banner-card .hero-banner-card-text p {
  margin-bottom: 20rem;
}
.section-hero-banner .hero-banner-card .button {
  margin-top: 20rem;
}
.section-hero-banner .hero-banner-card--left {
  margin-right: auto;
}
.section-hero-banner .hero-banner-card--right {
  margin-left: auto;
}
.section-image-collection .image-list {
  display: flex;
  justify-content: center;
}
.section-image-collection .image-list figure {
  flex: 1 1 0;
  display: flex;
  position: relative;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4rem;
}
.section-image-collection .image-list figure img {
  flex: 1;
  -o-object-position: center;
  object-position: center;
}
.section-image-collection .image-list figure img.attachment-transparent {
  -o-object-fit: contain;
  object-fit: contain;
  border: 1px solid #f7f4f2;
  border-radius: 4rem;
}
.section-image-collection .image-list figure img:not(.attachment-transparent) {
  -o-object-fit: cover;
  object-fit: cover;
  background-color: #f7f4f2;
}
.section-image-collection .image-list figure h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 15rem;
  text-align: center;
}
.section-image-collection .image-list figure figcaption {
  position: relative;
  z-index: 1;
  width: 100%;
  font-weight: 300;
  color: #8c8c8c;
}
.section-image-collection .image-list figure figcaption strong {
  font-weight: 500;
}
.section-image-collection .image-list figure figcaption a {
  color: #8c8c8c;
}
.section-image-collection .image-list figure figcaption a:hover {
  text-decoration: none;
}
.section-image-collection .image-list figure .link-overlay {
  display: flex;
  justify-content: center;
  align-items: center;
}
.section-image-collection .image-list figure.has-link img {
  position: relative;
  z-index: 0;
  transform: scale(1);
  transition: transform 1.25s ease;
}
.section-image-collection .image-list figure.has-link .link-overlay {
  color: #000;
  padding-inline: 48rem;
  text-align: center;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.section-image-collection .image-list figure.has-link:hover img {
  opacity: 0.4;
  transform: scale(1.05);
}
.section-image-collection .image-list figure.has-link:hover .link-overlay {
  opacity: 1;
}
.section-image-collection .image-list.list-layout-1 figure h3,
.section-image-collection .image-list.list-layout-2 figure h3 {
  padding: 0 10%;
}
.section-image-collection .image-list.list-layout-1 figure figcaption,
.section-image-collection .image-list.list-layout-2 figure figcaption {
  padding-top: 20rem;
  text-align: left;
}
.section-image-collection .image-list.list-layout-3,
.section-image-collection .image-list.list-layout-4 {
  flex-wrap: wrap;
}
.section-image-collection .image-list.list-layout-3 figure,
.section-image-collection .image-list.list-layout-4 figure {
  flex: initial;
}
.section-image-collection .image-list.list-layout-3 figure figcaption,
.section-image-collection .image-list.list-layout-4 figure figcaption {
  text-align: center;
}
.section-image-richtext h2,
.section-image-richtext h3,
.section-image-richtext h4 {
  font-weight: 600;
  margin-bottom: 25rem;
}
.section-image-richtext h4 {
  font-size: 22rem;
}
.section-image-richtext p {
  font-weight: 300;
  color: #000;
}
.section-image-richtext p strong {
  font-weight: 500;
}
.section-image-richtext ul {
  padding: 0;
  margin: 0 0 15rem;
}
.section-image-richtext ul:last-child {
  margin-bottom: 0;
}
.section-image-richtext ul li {
  color: #000;
  font-weight: 300;
  list-style: none;
  position: relative;
}
.section-image-richtext ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: calc(0.7em - 3rem);
  width: 6rem;
  height: 6rem;
  background-color: var(--color-theme);
  border-radius: 50%;
}
.section-image-richtext ul:last-child {
  margin-bottom: 0;
}
.section-image-richtext.media-below figure {
  margin-top: 30rem;
}
.section-image-richtext.media-above h2 {
  margin-bottom: 35rem;
}
.section-image-richtext.media-above figure {
  margin-bottom: 40rem;
}
.section-image-richtext .richtext-content iframe {
  max-width: 100%;
}
.section-image-richtext figure {
  display: flex;
  justify-content: center;
}
.section-image-richtext figure img,
.section-image-richtext figure svg,
.section-image-richtext figure video,
.section-image-richtext figure object,
.section-image-richtext figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-image-richtext figure img,
.section-image-richtext figure svg,
.section-image-richtext figure video,
.section-image-richtext figure object,
.section-image-richtext figure embed {
  -o-object-fit: contain;
  object-fit: contain;
}
.section-image-richtext figure img {
  width: 100%;
  background-color: #f7f4f2;
}
.section-image-richtext figure.figure-video {
  cursor: pointer;
  position: relative;
}
.section-image-richtext figure.figure-video::before {
  content: '';
  border-radius: 50%;
  background-color: #fff;
}
.section-image-richtext figure.figure-video::after {
  content: '';
  width: 0;
  height: 0;
}
.section-image-richtext .video-modal {
  pointer-events: none;
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #f7f4f2;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.section-image-richtext .video-modal .modal-close {
  position: absolute;
  z-index: 1;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background-color: var(--color-theme);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' stroke='white' stroke-linecap='round' stroke-width='2'%3E%3Cline x1='1' y1='1' x2='19' y2='19'/%3E%3Cline x1='19' y1='1' x2='1' y2='19'/%3E%3C/svg%3E");
  background-size: 20rem;
  background-position: center;
}
.section-image-richtext .video-modal iframe {
  width: 100%;
  height: 100%;
}
.section-image-richtext .video-modal.modal-opened {
  z-index: 10;
  opacity: 1;
  pointer-events: all;
}
.section-image-richtext .figure-video.type-embed,
.section-image-richtext .figure-image {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}
.section-image-richtext .figure-video.type-embed iframe,
.section-image-richtext .figure-image iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-image-richtext .figure-video.type-embed img,
.section-image-richtext .figure-image img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-filter.section-jobtype-filter::after {
  content: '';
  width: 100%;
  height: 1px;
  float: left;
  background-color: #d4d4d4;
}
.section-filter.section-jobtype-filter h2 {
  margin-bottom: 30rem;
}
.section-filter.section-jobtype-filter .search-results {
  position: relative;
  z-index: 1;
}
.section-model-info article {
  display: flex;
  align-items: flex-start;
  max-width: 920rem;
  margin-inline: auto;
}
.section-model-info article figure {
  flex: 1 0;
  overflow: hidden;
  border-radius: 8rem;
}
.section-model-info article > div {
  width: 100%;
}
.section-model-info article.force-ratio figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.section-model-info article.force-ratio.image-size-530x530 figure {
  aspect-ratio: 1;
}
.section-model-info article.force-ratio.image-size-296x296 figure {
  aspect-ratio: 1;
}
.section-model-info article.force-ratio.image-size-296x222 figure {
  aspect-ratio: 296/222;
}
.section-model-info article h2,
.section-model-info article h3,
.section-model-info article h4 {
  margin-bottom: 15rem;
}
.section-model-info article h4 {
  font-size: 22rem;
  color: #8c8c8c;
}
.section-model-info article p {
  font-weight: 300;
}
.section-model-info article p:last-child {
  margin-bottom: 0;
}
.section-model-info article ul {
  padding: 0;
  margin: 0 0 15rem;
}
.section-model-info article ul:last-child {
  margin-bottom: 0;
}
.section-model-info article ul li {
  position: relative;
  z-index: -1;
  font-weight: 300;
  color: #000;
  list-style: none;
}
.section-model-info article ul li::before {
  content: '';
  width: 6rem;
  height: 6rem;
  background-color: var(--color-theme);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 9rem;
}
.section-price-grid {
  background-image: linear-gradient(#ebebeb, rgba(235,235,235,0));
}
.section-price-grid h2 {
  margin-bottom: 15rem;
}
.section-price-grid h2 + p {
  color: #000;
  line-height: 1.8;
  font-size: 21rem;
  font-weight: 300;
  margin-bottom: 30rem;
}
.section-price-grid > figure {
  display: flex;
  justify-content: center;
}
.section-price-grid > figure img,
.section-price-grid > figure svg,
.section-price-grid > figure video,
.section-price-grid > figure object,
.section-price-grid > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-price-grid > figure img,
.section-price-grid > figure svg,
.section-price-grid > figure video,
.section-price-grid > figure object,
.section-price-grid > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-price-grid > figure img {
  width: 100%;
}
.section-price-grid table {
  width: 100%;
}
.section-price-grid table th {
  color: #2d2d2b;
  font-weight: 500;
}
.section-price-grid table thead th {
  line-height: 1.5;
  font-size: 18rem;
}
.section-price-grid table thead th + th {
  border-left: 1px solid #8c8c8c;
}
.section-price-grid table tbody {
  line-height: 1.5;
  font-size: 14rem;
}
.section-price-grid table tbody td {
  color: #8c8c8c;
  border-left: 1px solid #8c8c8c;
}
.section-price-grid table tfoot td {
  border-left: 1px solid #8c8c8c;
}
.section-price-grid p.note {
  color: #8c8c8c;
  line-height: 1.35;
  font-size: 14rem;
}
.section-price-seo {
  text-align: center;
  padding-top: 30rem;
  padding-bottom: 60rem;
}
.section-price-seo h2 {
  text-align: center;
  margin-bottom: 30rem;
}
.section-price-seo .price-seo-pages {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  -moz-column-gap: 15rem;
  column-gap: 15rem;
}
.section-price-seo .price-seo-page {
  text-align: center;
  border-bottom: 1px solid #d4d4d4;
}
.section-price-seo .price-seo-page a {
  display: inline-block;
  color: #000;
  padding: 20rem 0;
  text-decoration: none;
}
.section-product-carousel {
  text-align: center;
  overflow: hidden;
}
.section-product-carousel h2 {
  margin-bottom: 40rem;
}
.section-product-carousel h2 strong {
  display: block;
}
.section-product-carousel .product-list {
  margin-bottom: 30rem;
}
.section-product-carousel .product-list > div {
  display: flex;
}
.section-product-carousel .product-list > div > div {
  padding-bottom: 2rem;
}
.section-product-carousel > p {
  color: #8c8c8c;
  font-size: 14rem;
  font-weight: 300;
  margin-bottom: 30rem;
}
.section-product-carousel .button-picto svg {
  padding: 3rem;
}
.section-product-carousel .carousel-dots {
  margin-bottom: 30rem;
}
.section-filter.section-product-filter {
  padding-top: 35rem;
}
.section-product-info {
  display: flex;
  flex-flow: wrap;
  padding: 0;
/*
   * Bloc "Financez votre projet" (#425).
   * Maquettes Figma "Offres du moment - 2026", nodes 111:15132 et 111:15133.
   *
   * La couleur vient de la CATEGORIE et non de l'offre, distinction voulue avec
   * le violet du prix barre. gr_offer_color() retombe deja sur la categorie
   * quand l'offre n'a pas de couleur propre, le gabarit n'a donc qu'a la poser
   * dans --financing-color.
   */
/*
   * Bloc "Financez votre projet" (#425).
   *
   * Valeurs relevees dans le fichier Figma "Offres du moment - 2026", node
   * 111:15132, qui est a l'echelle 1. Les frames de page du meme fichier sont
   * des vignettes reduites : leurs pixels ne veulent rien dire, ceux-ci si.
   */
/*
   * Pas de debord du cadre des que la colonne est EMPILEE, soit tout mobile()
   * et pas seulement le telephone : la galerie et la colonne passent en pleine
   * largeur des 1050, et le debord de 24, calibre pour la geometrie a deux
   * colonnes du node, ferait alors empieter le cadre dans la marge de page la
   * ou le titre reste au bord. Le "ou" du separateur retrouve son retrait de
   * 24 pour rester aligne sur le texte du bloc, dont la marge interieure ne
   * compense plus rien.
   */
/*
   * Variante telephone.
   *
   * Le node 111:15132 ne documente que le rendu bureau : ces valeurs ne sortent
   * donc PAS du fichier, elles reprennent l'intention de la version d'avant,
   * un bloc plus compact, en gardant les rapports du fichier. A confirmer sur
   * la variante mobile de la maquette si elle existe.
   */
/*
   * Variante SANS FOND (retour de la cliente du 31/08).
   *
   * Le cadre disparait : plus de fond teinte, plus d'arrondis, plus de debord
   * de 24 ni de marge interieure pour le compenser. Le contenu retombe alors
   * sur l'axe du titre et du prix, ce qui est le rendu demande.
   *
   * LES DEUX CLASSES SONT ECRITES ENSEMBLE, ET C'EST VOLONTAIRE. L'element
   * porte .product-financing ET .product-financing-plain : a specificite egale
   * (0,2,0 une fois la section prefixee), seul l'ordre de sortie departagerait
   * les deux regles. Or les blocs de media sont regroupes EN FIN DE FICHIER a
   * la compilation, quelle que soit leur place dans la source : le padding du
   * +phone() et la largeur du +mobile() sortent donc apres, et reprendraient la
   * main sur toute variante declaree plus haut. Verifie dans le CSS produit
   * avant d'ecrire ces lignes. Le selecteur double porte la specificite a
   * (0,3,0) et tranche pour de bon.
   */
/*
   * Sans marge interieure a compenser, le "ou" retrouve l'axe du texte, et
   * SURTOUT il cesse de chevaucher le bloc.
   *
   * La marge negative de 38,4 du separateur existe pour que le mot tombe sur
   * l'arete haute du cadre, comme dans la maquette : elle est calibree sur les
   * 40 de marge interieure du bloc, qui poussent le bandeau plus bas. Sans
   * fond, cette marge interieure n'existe plus, le bandeau remonte tout en
   * haut, et le "ou" lui passe DESSUS. C'est le defaut remonte par Gaelle le
   * 31/08 : il ne vient pas de la cohabitation de deux offres, mais du retrait
   * du fond. Deux offres font seulement apparaitre le separateur, donc le
   * revelent.
   *
   * Sans fond, le mot n'a plus d'arete a chevaucher : la marge negative tombe
   * et l'ecart de 24 de la colonne s'applique normalement.
   *
   * Meme raison qu'au-dessus pour le selecteur double.
   */
}
.section-product-info > nav {
  width: 100%;
}
.section-product-info .product-gallery .carousel-thumbnails {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}
.section-product-info .product-gallery .carousel-thumbnails li {
  flex: 1;
  aspect-ratio: 1;
  border: 2rem solid transparent;
  border-radius: 6rem;
  cursor: pointer;
  overflow: hidden;
}
.section-product-info .product-gallery .carousel-thumbnails li.active {
  border-color: var(--color-theme);
}
.section-product-info .product-gallery .carousel-thumbnails li figure {
  width: 100%;
  height: 100%;
  position: relative;
}
.section-product-info .product-gallery .carousel-thumbnails li figure img,
.section-product-info .product-gallery .carousel-thumbnails li figure video {
  font-size: 8rem;
}
.section-product-info .product-gallery .product-promo {
  text-align: left;
  background-color: var(--color-theme);
  border-top-right-radius: 23rem;
  border-bottom-right-radius: 23rem;
  padding-left: 15rem;
  padding-right: 15rem;
  position: absolute;
  z-index: 3;
  left: 0;
  top: 30rem;
}
.section-product-info .product-gallery .product-promo p {
  color: #fff;
  font-size: 11rem;
  font-weight: 600;
  margin-bottom: 0;
}
.section-product-info .product-gallery .product-promo img {
  max-height: 30rem;
  width: auto;
}
.section-product-info .product-gallery .product-argument {
  height: 45rem;
  line-height: 45rem;
  border-radius: 22.5rem;
  background-color: #fff;
  padding-left: 20rem;
  padding-right: 20rem;
  position: absolute;
  z-index: 5;
}
.section-product-info .product-gallery .product-argument img {
  height: 23rem;
  position: relative;
  left: -5rem;
}
.section-product-info .product-gallery .product-argument p {
  font-size: 12rem;
  font-weight: 600;
  color: #000;
  display: inline-block;
  margin: 0;
}
.section-product-info .product-gallery figure:not(.product-promo) {
  display: flex;
  justify-content: center;
  background-color: #d4d4d4;
}
.section-product-info .product-gallery figure:not(.product-promo) img,
.section-product-info .product-gallery figure:not(.product-promo) svg,
.section-product-info .product-gallery figure:not(.product-promo) video,
.section-product-info .product-gallery figure:not(.product-promo) object,
.section-product-info .product-gallery figure:not(.product-promo) embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-product-info .product-gallery figure:not(.product-promo) img,
.section-product-info .product-gallery figure:not(.product-promo) svg,
.section-product-info .product-gallery figure:not(.product-promo) video,
.section-product-info .product-gallery figure:not(.product-promo) object,
.section-product-info .product-gallery figure:not(.product-promo) embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-product-info .product-gallery figure:not(.product-promo) img {
  width: 100%;
}
.section-product-info .product-info h1 {
  line-height: 1.2;
  font-weight: 600;
}
.section-product-info .product-info details.facet-dimensions > ul,
.section-product-info .product-info details.facet-structural-elements > ul {
  padding-inline-start: 0;
}
.section-product-info .product-info details p,
.section-product-info .product-info details ul {
  font-size: 14rem;
  font-weight: 300;
}
.section-product-info .product-info details > figure {
  margin-bottom: 1.45em;
}
.section-product-info .product-info details > ul,
.section-product-info .product-info details .text,
.section-product-info .product-info details figcaption {
  color: #000;
}
.section-product-info .product-info details > ul {
  list-style: none;
}
.section-product-info .product-info details > ul > li {
  margin-bottom: 16rem;
}
.section-product-info .product-info details > ul > li svg {
  flex-shrink: 0;
  width: 30rem;
  height: 30rem;
  fill: var(--color-theme);
  margin-right: 16rem;
}
.section-product-info .product-info details > ul > li:last-child {
  margin-bottom: 0;
}
.section-product-info .product-info details .product-facet-item {
  display: flex;
}
.section-product-info .product-info details .product-facet-item > ul {
  padding-inline-start: 0;
  list-style: none;
}
.section-product-info .product-info details .product-facet-item > ul li {
  padding-block: 5rem;
}
.section-product-info .product-info details .informations {
  display: flex;
}
.section-product-info .product-info details .informations svg {
  flex-shrink: 0;
  width: 24rem;
  height: 24rem;
  padding: 3rem;
  fill: var(--color-theme);
  margin-right: 16rem;
}
.section-product-info .product-info details .informations-label {
  margin-block: 5rem;
}
.section-product-info .product-info details .informations-content p,
.section-product-info .product-info details .informations-content ul {
  margin-block: 5rem;
}
.section-product-info .product-price {
  display: flex;
  justify-content: space-between;
  align-items: center;
/*
     * Quand le bloc de financement sort, la ligne prix / bouton devient une
     * colonne : le bouton d'etude gratuite se retrouve sous le bloc, comme le
     * demande le ticket. Une colonne, plutot qu'un positionnement, garantit
     * l'absence de chevauchement quelle que soit la hauteur des mentions
     * legales, qui sont contribuees et donc de longueur inconnue.
     */
/*
     * Typographie de la colonne de prix (#425).
     *
     * Valeurs relevees une a une dans le fichier Figma "Offres du moment -
     * 2026", planche "Page realisation UI" de la livraison V2, node 111:15244.
     * C'est la planche que la creation donne pour reference, et elle est a
     * l'echelle 1 : ses pixels sont exploitables tels quels.
     */
}
.section-product-info .product-price-financing {
  flex-direction: column;
  align-items: flex-start;
  gap: 24rem;
/*
       * Le bouton d'etude gratuite prend TOUTE la largeur de la colonne, retour
       * de recette du 25/08 (#425). Mesure sur les deux captures du ticket,
       * ramenee a l'echelle du cadre de reference qui vaut 494 : dans le
       * fichier Figma le bouton fait 446, soit exactement la colonne de texte,
       * quand la recette le laissait a sa largeur de contenu, 239.
       *
       * align-self, et non une largeur : c'est l'alignement flex-start ajoute
       * juste au-dessus qui le retrecissait, on lui repond sur le meme axe et
       * la regle reste locale a la variante financement. Le selecteur d'enfant
       * direct tient le bouton du bandeau, qui vit dans le bloc, a l'ecart.
       */
}
.section-product-info .product-price-financing > .button {
  align-self: stretch;
/*
         * Picto et libelle centres ENSEMBLE, retour de Gaelle du 31/08.
         *
         * Le gabarit general du bouton a picto place l'image en position
         * absolue contre le bord gauche et lui reserve la place par une marge
         * interieure gauche. Tant que le bouton fait la largeur de son
         * contenu, les deux se lisent comme un groupe. Etire a la colonne, le
         * libelle reste colle a cette marge et le picto au bord : ils se
         * separent. On remet donc le picto dans le flux et on centre la paire,
         * comme dans le fichier Figma.
         *
         * width auto sur le svg : le gabarit lui pose width 100%, ce qui n'a de
         * sens que dans une boite absolue. En flux il faut sa largeur propre,
         * que le max-width du gabarit plafonne deja. La hauteur, elle, est
         * deja auto dans le gabarit, il n'y a donc rien a y reprendre.
         *
         * L'ecart de 18 est MESURE sur le bouton du fichier Figma, capture du
         * ticket ramenee a l'echelle : le bouton y fait 542 pour une colonne de
         * 446, soit 1,215 ; le picto mesure 21 et l'ecart au libelle 21, soit
         * 17,3 de part et d'autre une fois ramenes. C'est aussi la largeur du
         * picto lui-meme, deja plafonnee a 18 par le gabarit. Les marges du
         * groupe y valent 143,2 a gauche et 141,5 a droite : le groupe est bien
         * centre dans le bouton, a 1,6 pres.
         *
         * La marge interieure reprend les 20 du gabarit de bouton plutot qu'une
         * valeur inventee : elle n'a plus qu'a etre symetrique, le centrage
         * s'occupe du reste. Sans elle, la marge de 50 reservee au picto absolu
         * subsisterait a gauche et decalerait le groupe.
         */
}
.section-product-info .product-price-financing > .button.button-picto {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18rem;
  padding-inline: 20rem;
}
.section-product-info .product-price-financing > .button.button-picto svg {
  position: static;
  transform: none;
  width: auto;
}
.section-product-info .product-price-current {
  font-weight: 700;
  color: var(--color-theme);
}
.section-product-info .product-price-current sup {
  font-size: 20rem;
  vertical-align: inherit;
}
.section-product-info .product-price-detail {
/* node 111:15256 : 14 / 18,2, interlettrage 0,28. */
  line-height: 1.3;
  font-size: 14rem;
  letter-spacing: 0.28px;
  font-weight: 600;
  color: #635459;
}
.section-product-info .product-price-crossed {
/*
       * node 111:15257 : 22 / 28,6, interlettrage 0,44. Le prix barre est plus
       * gros que la mention qui le precede, contrairement a ce que rendait le
       * site, ou les deux partageaient la meme regle a 14.
       */
  line-height: 1.3;
  font-size: 22rem;
  letter-spacing: 0.44px;
  font-weight: 600;
  color: #635459;
  text-decoration: line-through;
}
.section-product-info .product-price-saving {
/*
       * node 111:15248 : coins a 4, interieur 4 / 8, texte 14 / 21 en demi-gras
       * et picto de 17. L'etiquette faisait 22 de haut pour 32 attendus.
       */
  line-height: 21rem;
  font-size: 14rem;
  font-weight: 600;
  border-radius: 4rem;
  background-color: var(--color-theme);
  color: #fff;
  padding: 4rem 8rem;
/*
       * Capitales demandees par le #425 sur la page realisation seulement : la
       * meme etiquette garde sa casse d'origine sur les vignettes des pages
       * categorie et style, ou elle n'est pas cliquable non plus.
       */
  text-transform: uppercase;
/*
       * Variante cliquable (#425). C'est un bouton, donc il faut defaire ce que
       * le navigateur pose dessus : bordure, alignement et heritage de police.
       */
}
.section-product-info .product-price-saving-action {
  display: inline-flex;
  align-items: center;
  gap: 6rem;
  border: none;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
/*
         * fill sur le SVG et non sur un path : r_svg() en mode xlink imprime
         * <svg fill="..."><use xlink:href="#..."/></svg>, et le path reel vit
         * dans le <symbol> reference. Un selecteur svg path ne le touche donc
         * jamais, les selecteurs ne traversent pas un <use>. C'est le motif
         * deja employe plus haut par .informations svg.
         */
}
.section-product-info .product-price-saving-action svg {
  width: 24rem;
  height: 24rem;
  padding: 5rem;
  flex-shrink: 0;
  fill: currentcolor;
}
.section-product-info .product-price .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
/*
       * node 111:15247 : l'etiquette, le prix et la mention sont espaces de 4,
       * et l'etiquette passe AU-DESSUS du prix. L'ordre vient du gabarit, pas
       * d'un ordre de boite : le lecteur d'ecran doit lire la meme chose que
       * l'oeil.
       */
  gap: 4rem;
}
.section-product-info .product-price .button {
  line-height: 18rem;
  font-size: 12rem;
  text-transform: uppercase;
}
.section-product-info .product-financing-separator {
  display: flex;
  align-items: center;
  gap: 16rem;
  width: 100%;
/*
     * node 111:15277 : le "ou" est un 24 / 28,8 en demi-gras, et le trait qui
     * le prolonge est de la meme couleur que lui, pas d'un gris plus clair.
     */
  line-height: 1.2;
  font-size: 24rem;
  font-weight: 600;
/*
     * Le trait tombe SUR l'arete haute du bloc et le mot la chevauche : la
     * maquette masque d'ailleurs cette arete derriere le mot avec deux
     * rectangles. Le bloc remonte donc de la moitie de la hauteur du
     * separateur, en plus des 24 d'ecart de la colonne, et le separateur passe
     * devant lui. Le retrait de 24 aligne le mot sur le texte du bloc.
     */
  position: relative;
  z-index: 1;
/*
     * Plus de retrait de 24 : depuis le retour du 21/08 le CADRE deborde a
     * gauche et c'est son padding qui porte les 24, le texte du bloc retombe
     * donc sur l'axe du titre et du prix. Le "ou" s'aligne dessus sans
     * rattrapage. En telephone le bloc n'est pas decale, le retrait est
     * rattrape dans la variante.
     */
  margin-bottom: -38.4rem;
}
.section-product-info .product-financing-separator::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: currentcolor;
}
.section-product-info .product-financing {
  display: flex;
  flex-direction: column;
  gap: 21rem;
/*
     * Le CADRE deborde de 24 a gauche de la colonne, retour de recette du
     * 21/08 (#425) : dans le node de reference le cadre fait 494 pour une
     * colonne de texte de 446, soit 24 de debord de chaque cote, et la marge
     * interieure compense, le contenu retombant sur l'axe du titre et du prix.
     * Seul le debord GAUCHE est repris : a droite le cadre reste sur le bord
     * de la colonne, pour que le trait du "ou" continue de s'appuyer sur le
     * coin carre haut droit (les deux partagent la meme arete de fin).
     */
  margin-left: -24rem;
  width: calc(100% + 24rem);
  padding: 40rem 24rem;
/*
     * Le coin haut droit est CARRE, les trois autres arrondis a 12. Ce n'est
     * pas un oubli : le trait du separateur "ou" vient s'y appuyer.
     * rectangleCornerRadii du node vaut [12, 0, 12, 12].
     */
  border-radius: 12rem 0 12rem 12rem;
/*
     * Fond : la couleur de la categorie, teinte et saturation conservees,
     * luminosite portee a 96%. C'est exactement ce qu'a fait la creation, et
     * c'est verifiable : #E2A300 vaut hsl(43,3 ; 100% ; 44,3%) et le fond de la
     * maquette #FFFAEC vaut hsl(44,2 ; 100% ; 96,3%).
     *
     * Un melange avec du blanc aurait donne #FDF8EB, soit deux points de rouge
     * de moins. L'ecart est infime sur cette categorie et nul sur une categorie
     * peu saturee comme la pergola, mais il se creuse a mesure que la couleur
     * sature : sur le violet de l'operation, #F5EEF6 contre #F8F0FA. La regle
     * en luminosite est celle qu'a suivie la creation, autant la reprendre.
     *
     * La declaration grise qui precede est le repli des navigateurs qui ne
     * connaissent pas la syntaxe de couleur relative.
     */
  background-color: #f7f4f2;
  background-color: hsl(from var(--financing-color) h s 96%);
  color: #635459;
/*
     * Graisse des textes courants du bloc : le node 111:15276 les donne tous en
     * 400, la ou le bloc livre les rendait en 300. Les tailles, elles, etaient
     * deja les bonnes : 16 pour la phrase de mensualite, 32 pour le montant,
     * 15 pour le detail, 14 pour l'appel de note, 16 pour les mentions.
     */
/*
     * Texte de presentation, affiche a la place des montants (retour du 31/08).
     * Meme taille que les mentions, qui est celle du texte courant du bloc dans
     * le node de reference : c'est un paragraphe de contribution, pas une ligne
     * de chiffres, il n'a aucune raison d'avoir sa propre echelle.
     */
}
.section-product-info .product-financing p {
  margin-bottom: 0;
}
.section-product-info .product-financing-label {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 4rem;
  background-color: var(--financing-color);
  color: #fff;
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 4rem;
  border: none;
  padding: 4rem 8rem;
/*
       * fill sur le SVG et non sur un path : r_svg() en mode xlink imprime
       * <svg fill="..."><use xlink:href="#..."/></svg>, le path reel vit dans
       * le <symbol> reference et aucun selecteur ne le traverse.
       */
/* Gabarit partage avec l'etiquette de reduction, cf. picto-badge-svg(). */
}
.section-product-info .product-financing-label svg {
  width: 24rem;
  height: 24rem;
  padding: 5rem;
  flex-shrink: 0;
  fill: currentcolor;
}
.section-product-info .product-financing-label-action {
  font-family: inherit;
  cursor: pointer;
}
.section-product-info .product-financing-rate {
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 600;
}
.section-product-info .product-financing-rate strong {
  font-weight: 600;
  color: var(--financing-color);
}
.section-product-info .product-financing-monthly {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 400;
/*
       * Colle la ligne des mensualites au TAEG, retour de recette du 21/08
       * puis du 24/08 (#425). Dans le node de reference les deux phrases sont
       * des lignes CONSECUTIVES d'un meme pave de texte (16 / 20,8) : rien ne
       * les separe hors interlignage. La marge negative annule le gap de 21 du
       * conteneur pour ces deux elements seulement.
       *
       * Elle vit ICI, en margin-TOP, et pas en margin-bottom sur la ligne du
       * TAEG : la regle `p / margin-bottom 0` du conteneur est plus specifique
       * (0,2,1 contre 0,2,0) et ecrasait le premier correctif, qui n'a jamais
       * pris. Elle ne pose que margin-bottom, la marge haute est donc libre.
       * La variante telephone, dont le gap vaut 16, porte son propre
       * rattrapage.
       */
  margin-top: -21rem;
}
.section-product-info .product-financing-monthly strong {
  color: var(--financing-color);
  line-height: 1.3;
  font-size: 32rem;
  font-weight: 600;
}
.section-product-info .product-financing-details {
  line-height: 1.3;
  font-size: 15rem;
  font-weight: 400;
}
.section-product-info .product-financing-text {
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 400;
}
.section-product-info .product-financing-note {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 400;
}
.section-product-info .product-financing-legal {
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 400;
}
.section-product-info .product-financing.product-financing-plain {
  background-color: transparent;
  border-radius: 0;
  margin-left: 0;
  width: 100%;
  padding: 0;
}
.section-product-info .product-financing-separator.product-financing-separator-plain {
  padding-left: 0;
  margin-bottom: 0;
}
.section-product-info .product-legal-notice {
  color: #8c8c8c;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 400;
  margin-bottom: 30rem;
}
.section-product-info .product-legal-notice p {
  margin-bottom: 0.25em;
}
.section-product-info .product-promo-disclaimer {
  color: #8c8c8c;
  line-height: 1.4;
  font-size: 12rem;
  font-weight: 400;
  margin-bottom: 30rem;
}
.section-product-info .product-promo-disclaimer p {
  margin-bottom: 0.25em;
}
.section-product-info .product-promo-disclaimer a {
  color: inherit;
}
.section-product-info .product-promo-disclaimer a:hover {
  color: var(--color-theme) !important;
}
.section-product-info .product-plus-card {
  background-color: var(--color-theme);
  color: #fff;
  border-radius: 12rem;
  padding: 32rem 25rem;
}
.section-product-info .product-plus-card h3 {
  color: #fff;
  margin-bottom: 16rem;
}
.section-product-info .product-plus-card .text {
  margin-bottom: 26rem;
}
.section-product-info .product-plus-card .text ul,
.section-product-info .product-plus-card .text p {
  font-weight: 300;
  margin-top: 0;
}
.section-product-info .product-plus-card .text ul:last-child,
.section-product-info .product-plus-card .text p:last-child {
  margin-bottom: 0;
}
.section-product-info .product-plus-card .text ul {
  padding-left: 25rem;
}
.section-product-info .product-plus-card .overlay-content {
  display: none;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic {
  margin-bottom: 32rem;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic:last-child {
  margin-bottom: 0;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic h3 {
  font-size: 18rem;
  color: #635459;
  margin-bottom: 16rem;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic figure {
  display: flex;
  justify-content: center;
  background-color: #d4d4d4;
  margin-bottom: 24rem;
  border-radius: 5rem;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic figure img,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure svg,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure video,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure object,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic figure img,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure svg,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure video,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure object,
#overlay .overlay-content.overlay-caracteristics .caracteristic figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic figure img {
  width: 100%;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic-content {
  display: flex;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic-content svg {
  flex-shrink: 0;
  width: 24rem;
  height: 24rem;
  fill: var(--color-theme);
  margin-right: 16rem;
}
#overlay .overlay-content.overlay-caracteristics .caracteristic-content ul {
  padding-left: 20rem;
  margin: 0;
}
#overlay .overlay-content.overlay-product-plus .product-plus {
  margin-bottom: 30rem;
}
#overlay .overlay-content.overlay-product-plus .product-plus:last-child {
  margin-bottom: 0;
}
#overlay .overlay-content.overlay-product-plus .product-plus h3 {
  font-size: 18rem;
  color: #635459;
  margin-bottom: 16rem;
}
#overlay .overlay-content.overlay-product-plus .product-plus svg {
  float: left;
  width: 24rem;
  fill: var(--color-theme);
}
#overlay .overlay-content.overlay-product-plus .product-plus p {
  color: #000;
  margin-bottom: 0;
  margin-left: 50rem;
}
.section-product-tailormade {
  text-align: center;
  padding-top: 60rem;
}
.section-product-tailormade > h2 + p {
  font-weight: 300;
}
.section-product-tailormade .tailormade-parts {
  display: flex;
}
.section-product-tailormade .tailormade-part {
  font-size: 14rem;
  font-weight: 300;
  border: 2rem solid #f7f4f2;
  border-radius: 10rem;
  background-color: #f7f4f2;
  cursor: pointer;
  transition: border-color 0.3s ease;
}
.section-product-tailormade .tailormade-part h3 {
  font-size: 16rem;
  font-weight: 600;
}
.section-product-tailormade .tailormade-part:hover {
  border-color: #d4d4d4;
}
.section-product-tailormade .tailormade-part.part-active {
  border-color: var(--color-theme);
  background-color: #fff;
}
.section-product-tailormade .tailormade-part.part-active:hover {
  border-color: var(--color-theme-dark);
}
.section-product-tailormade .tailormade-items-list::after {
  content: '';
  display: block;
  clear: both;
}
.section-product-tailormade .tailormade-items {
  display: none;
  width: 100%;
  position: relative;
  background-color: #f7f4f2;
}
.section-product-tailormade .tailormade-items.items-active {
  display: block;
}
.section-product-tailormade .tailormade-items.items-initialized .items-container {
  display: block;
}
.section-product-tailormade .tailormade-items .items-container {
  display: flex;
}
.section-product-tailormade .tailormade-items .carousel-arrow {
  position: absolute;
  bottom: 35rem;
  width: 45rem;
  height: 45rem;
}
.section-product-tailormade .tailormade-items .carousel-arrow.carousel-prev {
  right: 90rem;
}
.section-product-tailormade .tailormade-items .carousel-arrow.carousel-next {
  right: 35rem;
}
.section-product-tailormade .tailormade-items .carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 40rem;
  transform: translate(-50%, 0);
}
.section-product-tailormade .tailormade-item {
  position: relative;
  height: 360rem;
  padding: 30rem;
  background-color: #fff;
  border-radius: 8rem;
  text-align: left;
}
.section-product-tailormade .tailormade-item figure {
  width: 100%;
  height: 180rem;
  border-radius: 8rem;
  margin-bottom: 30rem;
  background-color: rgba(102,102,102,0.2);
  position: relative;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.section-product-tailormade .tailormade-item figure img,
.section-product-tailormade .tailormade-item figure svg,
.section-product-tailormade .tailormade-item figure video,
.section-product-tailormade .tailormade-item figure object,
.section-product-tailormade .tailormade-item figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-product-tailormade .tailormade-item figure img,
.section-product-tailormade .tailormade-item figure svg,
.section-product-tailormade .tailormade-item figure video,
.section-product-tailormade .tailormade-item figure object,
.section-product-tailormade .tailormade-item figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-product-tailormade .tailormade-item figure img {
  width: 100%;
}
.section-product-tailormade .tailormade-item h4 {
  margin-bottom: 25rem;
}
.section-product-tailormade .tailormade-item .link {
  position: relative;
  z-index: 1;
  cursor: pointer;
}
.section-product-tailormade .tailormade-item .link-overlay {
  cursor: pointer;
}
.section-product-tailormade .tailormade-item .overlay-content {
  display: none;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option {
  margin-bottom: 4em;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option h3 {
  margin-bottom: 1em;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option figure {
  display: flex;
  justify-content: center;
  background-color: #f7f4f2;
  height: 380rem;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option figure img,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure svg,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure video,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure object,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option figure img,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure svg,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure video,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure object,
#overlay .overlay-content.overlay-tailormade .tailormade-option figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
#overlay .overlay-content.overlay-tailormade .tailormade-option:last-child {
  margin-bottom: 0;
}
section.section-products-manual {
  display: flex;
  flex-direction: column;
  gap: 32rem;
  margin-bottom: 120rem;
  padding-top: 60rem;
  padding-bottom: 124rem;
  background-color: #f7f4f2;
}
section.section-products-manual .content {
  max-width: 764rem;
  width: 100%;
  align-self: center;
}
section.section-products-manual .content .intro {
  max-width: 486rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24rem;
}
section.section-products-manual .content .intro h2 {
  font-size: 30rem;
  font-weight: 500;
  line-height: 120%;
}
section.section-products-manual .content .intro >p {
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
  margin-bottom: 0;
}
section.section-products-manual .link {
  align-self: flex-start;
}
section.section-products-manual .categories {
  max-width: 764rem;
  width: 100%;
  align-self: center;
}
section.section-products-manual .categories ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex-flow: row wrap;
  gap: 24rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
section.section-products-manual .categories ul li {
  aspect-ratio: 173/90;
}
section.section-products-manual .categories ul li a {
  color: var(--color-theme);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border-radius: 8rem;
  font-size: 16rem;
  font-weight: 600;
  border: 2rem solid var(--color-theme);
  background-color: transparent;
  transition: all 0.3s ease;
  padding: 24rem 20rem;
  text-align: center;
}
section.section-products-manual .categories ul li a:hover {
  color: #fff;
  background-color: var(--color-theme);
}
section.section-products {
  display: flex;
  align-items: center;
  gap: 32rem;
  margin-bottom: 120rem;
}
section.section-products .mobile-only {
  display: none;
}
section.section-products .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24rem;
  flex: 0 0 360rem;
}
section.section-products .content h2 {
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
}
section.section-products .content >p {
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
  margin-bottom: 0;
}
section.section-products .categories {
  flex: 1 1 auto;
}
section.section-products .categories ul {
  display: flex;
  flex-flow: row wrap;
  gap: 24rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
section.section-products .categories ul li {
  flex: 0 0 calc(25% - 18rem);
  aspect-ratio: 80/61;
}
section.section-products .categories ul li a {
  color: var(--color-theme);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border-radius: 8rem;
  border: 2rem solid var(--color-theme);
  background-color: #fff;
  transition: all 0.3s ease;
}
section.section-products .categories ul li a:hover {
  color: #fff;
  background-color: var(--color-theme);
}
.section-project-follow-up {
  text-align: center;
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
  overflow: hidden;
}
.section-project-follow-up > .subtitle {
  display: inline-block;
  font-size: 16rem;
  font-weight: 300;
  color: #8c8c8c;
}
.section-project-follow-up .project-follow-up-steps-list {
  overflow: visible !important;
}
.section-project-follow-up .project-follow-up-steps-list > div:first-child {
  display: flex;
}
.section-project-follow-up .project-follow-up-steps-list > div:first-child .project-follow-up-step,
.section-project-follow-up .project-follow-up-steps-list > div:first-child .card {
  height: 100%;
}
.section-project-follow-up .carousel-dots {
  float: left;
  width: 100%;
  margin-top: 40rem;
}
#overlay .overlay-content.overlay-project-follow-up {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
#overlay .overlay-content.overlay-project-follow-up h2 {
  color: var(--color-theme);
  font-size: 30rem;
  font-weight: 600;
}
#overlay .overlay-content.overlay-project-follow-up h3 {
  font-size: 18rem;
  color: var(--color-theme);
  margin-bottom: 2em;
}
#overlay .overlay-content.overlay-project-follow-up .description {
  margin-bottom: 40rem;
}
#overlay .overlay-content.overlay-project-follow-up .step-links::after {
  content: '';
  display: block;
  clear: both;
}
#overlay .overlay-content.overlay-project-follow-up .step-links .link {
  font-size: 16rem;
  border-width: 1px;
}
#overlay .overlay-content.overlay-project-follow-up .step-links .link.step-prev {
  float: left;
}
#overlay .overlay-content.overlay-project-follow-up .step-links .link.step-next {
  float: right;
}
#overlay .overlay-content.overlay-project-follow-up + .close-overlay {
  --color-theme: #c2143a;
  --color-theme-dark: #7d0d25;
}
.section-projectstep-progressbar {
  text-align: center;
}
.section-projectstep-progressbar .steps-list {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
.section-projectstep-progressbar .steps-list .progressbar {
  content: '';
  height: 3rem;
  background-color: var(--color-theme);
  position: absolute;
  z-index: 2;
  left: 0;
  top: 20rem;
}
.section-projectstep-progressbar .steps-list::after {
  content: '';
  width: 100%;
  height: 3rem;
  background-color: #d4d4d4;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 20rem;
}
.section-projectstep-progressbar .steps-list li {
  width: 40rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-transform: uppercase;
  line-height: 1.2;
  font-weight: 500;
  white-space: nowrap;
  color: #000;
  position: relative;
  z-index: 3;
}
.section-projectstep-progressbar .steps-list li a {
  width: 40rem;
  height: 40rem;
  line-height: 34rem;
  font-size: 20rem;
  font-weight: 600;
  background-color: #fff;
  color: var(--color-theme);
  text-decoration: none;
  border: 3rem solid var(--color-theme);
  border-radius: 50%;
  margin-bottom: 10rem;
}
.section-projectstep-progressbar .steps-list li.active a {
  background-color: var(--color-theme);
  color: #fff;
}
.section-projectstep-progressbar.sticky {
  width: auto;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 0 10rem 10rem 0;
  transition: top 0.5s ease;
  position: fixed;
  z-index: 99;
  left: 0;
  top: 0;
}
.section-projectsteps {
  text-align: center;
}
.section-projectsteps .projectstep-list {
  display: flex;
}
.section-projectsteps .projectstep .number {
  display: inline-block;
  color: var(--color-theme);
  border-radius: 50%;
}
.section-projectsteps .projectstep h3 {
  margin: 0;
}
.section-projectsteps > p {
  max-width: 790rem;
  display: inline-block;
  color: #8c8c8c;
  font-weight: 400;
  margin-bottom: 0;
}
.section-promo-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
}
.section-promo-banner.theme-custom {
  background-color: var(--color-theme);
}
.section-promo-banner figure {
  color: #fff;
}
.section-promo-banner p {
  color: #fff;
  line-height: 1.7;
  font-weight: 400;
  text-transform: uppercase;
  border-top: solid #fff;
  border-bottom: solid #fff;
  margin: 0;
}
.section-promo-banner .button {
  z-index: 5;
}
.section-promo-banner .button:hover {
  color: #fff !important;
}
.section-promo-header {
  text-align: center;
  z-index: 4;
}
.section-promo-header p {
  font-size: 13rem;
  color: #fff;
  text-transform: uppercase;
  margin: 0;
}
.section-promo-header a {
  font-size: 13rem;
  font-weight: 600;
  text-transform: none;
  color: #fff;
}
.section-promo-header a:hover {
  color: #fff;
  text-decoration: none;
}
.section-promo-header .close-promo {
  width: 15rem;
  height: 15rem;
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.section-promo-header .close-promo svg {
  width: 100%;
  height: 100%;
  float: left;
  color: #fff;
}
.dialog-container .section-promo {
  display: none;
}
.section-promo-prehome {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  transition: 0.5s ease;
  transition-property: transform, opacity;
  z-index: 4;
}
.section-promo-prehome figure {
  margin-bottom: 25rem;
  position: relative;
  z-index: 3;
}
.section-promo-prehome p {
  font-weight: 300;
  color: #fff;
  margin-bottom: 40rem;
  position: relative;
  z-index: 3;
}
.section-promo-prehome a {
  color: #fff;
  font-weight: 500;
}
.section-promo-prehome .scroll-down-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.section-promo-prehome .scroll-down-link {
  font-weight: 600;
  text-decoration: none;
}
.section-promo-prehome .scroll-down-button {
  transform: rotate(90deg);
}
.section-push-articles {
  display: flex;
  flex-flow: row wrap;
}
.section-push-articles h2 {
  color: #000;
  margin-bottom: 35rem;
}
.section-push-articles .push-article-list {
  display: flex;
  justify-content: space-between;
  gap: 30rem;
  width: 100%;
}
.section-push-articles .push-article-list.list-layout-3 {
  flex-flow: row;
}
.section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) {
  display: flex;
  flex-flow: row;
  padding-block-end: 30rem;
  border-block-end: 1px solid #f7f4f2;
}
.section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content {
  align-items: flex-start;
}
.section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content h3 {
  width: 100%;
  margin-block-end: 5rem;
}
.section-push-articles .push-article-list.list-layout-4 .push-article:last-child {
  padding-block-end: 0;
  border-block-end: none;
}
.section-push-articles .push-article-list.list-layout-3 .push-article,
.section-push-articles .push-article-list.list-layout-4 .push-article-highlight {
  text-align: center;
}
.section-push-articles .push-article-list.list-layout-3 .push-article figure,
.section-push-articles .push-article-list.list-layout-4 .push-article-highlight figure {
  width: 100%;
  margin-block-end: 25rem;
}
.section-push-articles .push-article-list.list-layout-3 .push-article .push-article-content,
.section-push-articles .push-article-list.list-layout-4 .push-article-highlight .push-article-content {
  align-items: center;
  max-width: 500rem;
  margin-inline: auto;
}
.section-push-articles .push-article-list.list-layout-3 .push-article .push-article-content h3,
.section-push-articles .push-article-list.list-layout-4 .push-article-highlight .push-article-content h3 {
  margin-block-end: 15rem;
}
.section-push-articles .push-article {
  display: flex;
  flex-flow: column;
  position: relative;
}
.section-push-articles .push-article h3 {
  word-break: break-word;
  line-height: 1.25;
}
.section-push-articles .push-article figure {
  font-size: 8rem;
  border-radius: 6rem;
  overflow: hidden;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
}
.section-push-articles .push-article figure img,
.section-push-articles .push-article figure svg,
.section-push-articles .push-article figure video,
.section-push-articles .push-article figure object,
.section-push-articles .push-article figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-push-articles .push-article figure img,
.section-push-articles .push-article figure svg,
.section-push-articles .push-article figure video,
.section-push-articles .push-article figure object,
.section-push-articles .push-article figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-push-articles .push-article figure img {
  width: 100%;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.section-push-articles .push-article-content {
  flex: 1;
  display: flex;
  flex-flow: column;
}
.section-push-articles .push-article-content h3 {
  color: #000;
}
.section-push-articles .push-article-content p {
  flex: 1 0;
  color: #8c8c8c;
  font-weight: 300;
  margin-bottom: 0;
}
.section-push-articles .push-article:hover .article-link {
  color: var(--color-theme-dark);
}
.section-push-articles .push-article:hover figure img {
  transform: scale(1.05);
}
.section-push-category {
  background-image: linear-gradient(rgba(255,255,255,0), #f7f4f2);
  text-align: center;
}
.section-push-category .push-category-list {
  display: flex;
  flex-flow: wrap;
}
.section-push-content-universal {
  text-align: left;
}
.section-push-content-universal h2 {
  margin-bottom: 25rem;
}
.section-push-content-universal > p {
  color: #000;
  font-weight: 300;
}
.section-push-content-universal .push-content-list {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  text-align: center;
}
.section-push-content-universal .push-content-list .push-card {
  flex: 1;
  display: flex;
  align-items: center;
  flex-flow: column;
  max-height: none;
}
.section-push-content-universal .push-content-list .push-card figure {
  left: 0;
}
.section-push-content-universal .push-content-list .push-card p {
  font-weight: 300;
}
.section-push-content-universal .push-content-list.layout-large .push-card .card-icon {
  display: none;
}
.section-push-content-universal .push-content-list.layout-large .push-card h3 {
  text-transform: none;
}
.section-push-content-universal .push-content-list.layout-large .push-card p {
  flex: 1;
  color: #8c8c8c;
}
.section-push-content-universal .push-content-list.layout-small .push-card h3 {
  flex: 1;
  margin-inline: 10rem;
}
.section-push-content-universal .push-content-list.layout-small .push-card p {
  display: none;
}
.section-push-content-universal .push-content-list.layout-small .push-card .button {
  font-size: 10rem;
  padding-inline: 10rem;
}
.section-push-content {
  background-color: #f7f4f2;
  text-align: center;
}
.section-push-content .push-content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.section-push-model {
  background-image: linear-gradient(#f8f8f8, #ebebeb);
  text-align: center;
}
.section-push-model .push-model-list {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
}
.section-push-news .push-article-content time {
  color: #8c8c8c;
  font-size: 12rem;
  font-weight: 400;
  text-transform: uppercase;
  margin-top: -5rem;
  margin-bottom: 5rem;
}
.section-push-product {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.section-push-product h2 {
  text-align: center;
}
.section-push-product .product-list {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
}
.section-push-product > p {
  color: #8c8c8c;
  text-align: center;
}
.section-push-product .button-picto svg {
  padding: 3rem;
}
.section-push-promo {
  border-radius: 15rem;
  text-align: center;
  background-color: var(--color-theme) !important;
}
.section-push-promo h2 {
  color: currentcolor;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 5rem;
}
.section-push-promo .subtitle {
  display: block;
  line-height: 1.5;
  font-size: 14rem;
  margin-bottom: 50rem;
}
.section-push-social {
  padding-inline: 0;
}
.section-push-social .push-social-list {
  overflow-x: scroll;
}
.section-push-social .push-social {
  position: relative;
  float: left;
  border-radius: 7.5rem;
  overflow: hidden;
}
.section-push-social .push-social::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
  background-color: #fff;
  background-position: center;
  background-size: 20rem;
  pointer-events: none;
}
.section-push-social .push-social:hover figure {
  transform: scale(1.05);
}
.section-push-social .push-social figure {
  width: 100%;
  height: 100%;
  margin-bottom: 30rem;
  background-color: #c0c0c0;
  display: flex;
  justify-content: center;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.section-push-social .push-social figure img,
.section-push-social .push-social figure svg,
.section-push-social .push-social figure video,
.section-push-social .push-social figure object,
.section-push-social .push-social figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-push-social .push-social figure img,
.section-push-social .push-social figure svg,
.section-push-social .push-social figure video,
.section-push-social .push-social figure object,
.section-push-social .push-social figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-push-social .push-social figure img {
  width: 100%;
}
.section-push-social .push-social-instagram::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%235e554e' d='M18.4,4.2c-0.8,0-1.4,0.6-1.4,1.4C17,6.4,17.6,7,18.4,7c0.8,0,1.4-0.6,1.4-1.4c0,0,0,0,0,0C19.8,4.8,19.2,4.2,18.4,4.2 M12,5.8c-3.4,0-6.2,2.8-6.2,6.2s2.8,6.2,6.2,6.2s6.2-2.8,6.2-6.2S15.4,5.8,12,5.8z M12,16c-2.2,0-4-1.8-4-4s1.8-4,4-4s4,1.8,4,4 S14.2,16,12,16z M23.9,7.1c-0.2-4.4-2.6-6.8-7-7C15.7,0,15.3,0,12,0S8.3,0,7.1,0.1c-4.4,0.2-6.8,2.6-7,7C0,8.3,0,8.7,0,12 s0,3.7,0.1,4.9c0.2,4.4,2.6,6.8,7,7C8.3,24,8.7,24,12,24s3.7,0,4.9-0.1c4.4-0.2,6.8-2.6,7-7C24,15.7,24,15.3,24,12S24,8.3,23.9,7.1z M21.8,16.8c-0.1,3.2-1.7,4.8-4.9,4.9c-1.3,0.1-1.6,0.1-4.8,0.1s-3.6,0-4.8-0.1c-3.3-0.1-4.8-1.7-4.9-4.9c-0.1-1.3-0.1-1.6-0.1-4.8 s0-3.6,0.1-4.8c0.1-3.2,1.7-4.8,4.9-4.9C8.4,2.2,8.8,2.2,12,2.2c3.2,0,3.6,0,4.8,0.1c3.3,0.1,4.8,1.7,4.9,4.9 c0.1,1.3,0.1,1.6,0.1,4.8C21.8,15.2,21.8,15.6,21.8,16.8z'/%3E%3C/svg%3E");
}
.section-push-social .push-social-pinterest::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%235e554e' d='M8.1,23.4c0.8-1.2,1.4-2.5,1.8-3.9l0.9-3.5c0.8,1.1,2,1.7,3.4,1.7c4.5,0,7.7-4.1,7.7-9.2c0-4.9-4-8.5-9.1-8.5 C6.4,0,3,4.3,3,8.9c0,2.2,1.2,4.9,3,5.7c0.3,0.1,0.4,0.1,0.5-0.2l0.4-1.7c0-0.1,0-0.3-0.1-0.4c-0.7-1-1.1-2.2-1.1-3.4 c0-3.5,2.8-6.4,6.4-6.4c0.1,0,0.2,0,0.3,0c3.2-0.2,6,2.3,6.2,5.5c0,0.2,0,0.4,0,0.5c0,4-2,6.8-4.6,6.8c-1.2,0.1-2.2-0.9-2.3-2 c0-0.2,0-0.4,0.1-0.6c0.4-1.8,1.2-3.7,1.2-4.9c0.1-1-0.6-1.9-1.6-2.1c-0.1,0-0.2,0-0.3,0c-1.5,0-2.7,1.5-2.7,3.6 c0,0.8,0.1,1.5,0.4,2.2c0,0-1.5,6.2-1.7,7.3c-0.2,1.4-0.2,2.8-0.1,4.2L7.3,24L8.1,23.4z'/%3E%3C/svg%3E");
}
.section-push-social .push-social-modal {
  position: fixed;
  z-index: 10;
  left: 5vw;
  top: 5vh;
  width: 90vw;
  height: 90vh;
  padding: 10rem;
  border-radius: 10rem;
  display: none;
  background-color: #fff;
  box-shadow: 0 0 15rem rgba(0,0,0,0.25);
}
.section-push-social .push-social-modal iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.section-push-social .push-social-modal.modal-opened {
  display: block;
}
.section-rebound figure {
  width: 100vw;
  background-color: #f7f4f2;
  display: flex;
  justify-content: center;
}
.section-rebound figure img,
.section-rebound figure svg,
.section-rebound figure video,
.section-rebound figure object,
.section-rebound figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-rebound figure img,
.section-rebound figure svg,
.section-rebound figure video,
.section-rebound figure object,
.section-rebound figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-rebound .card {
  background-color: #fff;
  border-radius: 12rem;
  padding-bottom: 50rem;
  padding-top: 50rem;
  position: relative;
  z-index: 5;
}
.section-rebound .card h2 {
  font-size: 30rem;
  text-align: center;
  margin-bottom: 35rem;
}
.section-rebound .card .button {
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  padding-left: 20rem;
  padding-right: 15rem;
}
.section-rebound .card .button svg {
  width: auto;
}
.section-rebound .card .button:first-of-type {
  margin-bottom: 10rem;
}
.section-reinsurance-figures .card {
  background-color: #c2143a;
  color: #fff;
  text-align: center;
  border-radius: 12rem;
}
.section-reinsurance-figures .card h2,
.section-reinsurance-figures .card h3 {
  color: #fff;
}
.section-reinsurance-figures .card .reinsurance-items {
  display: flex;
  justify-content: center;
}
.section-reinsurance-figures .card .reinsurance-items .reinsurance-item {
  padding: 0 10rem;
}
.section-reinsurance-figures .card .reinsurance-items .reinsurance-item h3 {
  line-height: 1.2;
  font-size: 50rem;
  font-weight: 700;
}
.section-reinsurance-figures .card .reinsurance-items .reinsurance-item span {
  font-size: 18rem;
}
.section-reinsurance-figures .card .legal-notice {
  font-size: 12rem;
  font-weight: 300;
}
.section-reinsurance-figures .card .legal-notice p:last-child {
  margin-bottom: 0;
}
.section-reinsurance {
  text-align: center;
}
.section-reinsurance .reinsurance-items {
  display: flex;
  width: 100%;
  justify-content: center;
  border-top: 1px solid #d4d4d4;
  border-bottom: 1px solid #d4d4d4;
}
.section-reinsurance .reinsurance-item {
  display: flex;
  flex-flow: column;
  align-items: center;
  position: relative;
}
.section-reinsurance .reinsurance-item figcaption {
  font-weight: 500;
  color: #000;
}
.section-reinsurance .reinsurance-item a {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.section-reinsurance .reinsurance-icon {
  display: flex;
  width: 130rem;
  height: 130rem;
  background-color: #f7f4f2;
  border-radius: 50%;
  margin-bottom: 25rem;
  justify-content: center;
  align-items: center;
  color: #000;
}
.section-reinsurance .reinsurance-icon svg {
  width: 70rem;
  height: 70rem;
}
.section-rubric {
  margin-bottom: 120rem;
}
.section-rubric__header {
  display: flex;
  align-items: center;
  gap: 24rem;
  margin-bottom: 60rem;
}
.section-rubric__title {
  flex: 0 0 730rem;
}
.section-rubric__title h2 {
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 24rem;
}
.section-rubric__description {
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
}
.section-rubric__cta {
  flex: 1 1 auto;
  text-align: right;
}
.section-rubric__articles {
  display: flex;
  gap: 24rem;
}
.section-rubric__article {
  flex: 1 1 auto;
  text-decoration: none;
}
.section-rubric__article-thumbnail {
  aspect-ratio: 320/298;
  overflow: hidden;
  border-radius: 8rem;
  margin-bottom: 16rem;
}
.section-rubric__article-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.section-rubric__article-title {
  color: #000;
  font-size: 20rem;
  font-weight: 500;
  line-height: 130%;
  letter-spacing: 0.2px;
  margin-bottom: 12rem;
}
.section-rubric__article-excerpt {
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
  color: #000;
  margin-bottom: 20rem;
  max-height: 46rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.section-rubric__article .tags {
  margin-bottom: 16rem;
}
.section-rubric__article-link {
  color: #000;
  font-size: 14rem;
  font-weight: 500;
  line-height: 140%;
  text-decoration: underline;
}
.section-rubric__article:first-child,
.section-rubric__article:last-child {
  flex: 0 0 28.8288%;
}
.section-rubric .rubric-description {
  font-weight: 300;
}
.section-satisfaction {
  text-align: center;
}
.section-satisfaction .satisfaction-items {
  display: flex;
  justify-content: center;
}
.section-satisfaction .satisfaction-items a.button {
  font-weight: 600;
  white-space: nowrap;
}
.section-satisfaction .satisfaction-item figure {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30rem;
}
.section-satisfaction .satisfaction-reviews figure {
  border-radius: 50%;
  overflow: hidden;
}
.section-satisfaction .satisfaction-testimonials .testimonial {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.section-satisfaction .satisfaction-testimonials .testimonial > svg {
  width: 18rem;
  height: 18rem;
  margin-bottom: 7.5rem;
}
.section-satisfaction .satisfaction-testimonials .testimonial blockquote {
  color: #000;
  max-width: 240rem;
  margin: 0 0 15rem;
}
.section-satisfaction .satisfaction-testimonials .testimonial blockquote p {
  margin-bottom: 0;
}
.section-satisfaction .satisfaction-testimonials .testimonial figcaption {
  font-size: 12rem;
  color: #8c8c8c;
}
.section-satisfaction .satisfaction-testimonials .testimonial figcaption strong {
  display: block;
  color: #000;
  font-weight: 400;
  line-height: 1;
  font-size: 25rem;
  font-family: Caveat, cursive;
}
.section-satisfaction .satisfaction-testimonials .carousel-dots {
  display: block;
  margin-bottom: 30rem;
}
.section-savoir-faire {
  position: relative;
  overflow: hidden;
  --y-offset: 0;
}
.section-savoir-faire > figure {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #c0c0c0;
  display: flex;
  justify-content: center;
  transform: translate(0, var(--y-offset)) scale(1.05);
}
.section-savoir-faire > figure img,
.section-savoir-faire > figure svg,
.section-savoir-faire > figure video,
.section-savoir-faire > figure object,
.section-savoir-faire > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-savoir-faire > figure img,
.section-savoir-faire > figure svg,
.section-savoir-faire > figure video,
.section-savoir-faire > figure object,
.section-savoir-faire > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-savoir-faire > figure img {
  width: 100%;
}
.section-savoir-faire .savoir-faire-content {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  background-color: #fff;
  text-align: center;
  transform: translate(0, var(--y-offset));
  border-radius: 8rem;
}
.section-savoir-faire .savoir-faire-content::before {
  content: '';
  position: absolute;
  left: calc(50% - 38rem);
  top: 0;
  border-width: 0 25rem;
  border-style: solid;
  border-color: transparent #ff002d transparent #00209b;
  width: 76rem;
  height: 6rem;
}
.section-savoir-faire .savoir-faire-content svg {
  margin-bottom: 20rem;
  color: #000;
}
.section-savoir-faire .savoir-faire-content h2,
.section-savoir-faire .savoir-faire-content h3,
.section-savoir-faire .savoir-faire-content h4 {
  margin-bottom: 25rem;
}
.section-savoir-faire .savoir-faire-content h2 svg,
.section-savoir-faire .savoir-faire-content h3 svg,
.section-savoir-faire .savoir-faire-content h4 svg {
  display: block;
  margin: 0 auto 20rem;
}
.section-savoir-faire .savoir-faire-content h4 {
  font-size: 22rem;
  color: #8c8c8c;
}
.section-savoir-faire .savoir-faire-content p {
  font-weight: 300;
}
.section-savoir-faire .savoir-faire-content ul {
  text-align: left;
  padding: 0;
  margin: 0;
}
.section-savoir-faire .savoir-faire-content ul li {
  font-weight: 300;
  color: #000;
  list-style: none;
  position: relative;
}
.section-savoir-faire .savoir-faire-content ul li::before {
  content: '';
  float: left;
  width: 6rem;
  height: 6rem;
  background-color: var(--color-theme);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 15rem;
}
.section-savoir-faire .savoir-faire-signature {
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.section-savoir-faire .savoir-faire-signature figcaption {
  color: #000;
  font-size: 14rem;
  font-weight: 400;
}
.section-savoir-faire .savoir-faire-signature figcaption strong {
  display: block;
  color: #433c38;
  line-height: 1;
  font-size: 16rem;
}
.section-seo {
  --color-theme: #000;
}
.section-seo > p,
.section-seo h2 {
  color: #000;
}
.section-seo .accordion-group:last-child {
  margin-bottom: 0;
}
.section-seo .seo-item summary::after {
  top: 30rem;
}
.section-seo .seo-content {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
.section-seo .seo-content *:last-child {
  margin-bottom: 0;
}
.section-seo .seo-content h1,
.section-seo .seo-content h2,
.section-seo .seo-content h3,
.section-seo .seo-content h4,
.section-seo .seo-content h5,
.section-seo .seo-content h6,
.section-seo .seo-content span.title {
  color: #484848;
  line-height: inherit;
  font-size: inherit;
  font-weight: 500;
  margin-bottom: 1em;
}
.section-seo .seo-content p {
  color: #000;
  line-height: inherit;
  font-size: inherit;
  margin-bottom: 1em;
}
.section-seo .seo-content a {
  color: #000;
  text-decoration: underline;
}
.section-seo .seo-content a:hover {
  color: var(--color-theme);
}
.section-seo .seo-content strong,
.section-seo .seo-content b {
  color: inherit;
  font-weight: 500;
}
.section-seo .seo-content ul {
  padding-left: 0;
}
.section-seo .seo-content ul li {
  list-style: none;
  color: #000;
  line-height: inherit;
  font-size: inherit;
  padding-left: 20rem;
  margin-bottom: 10rem;
  position: relative;
}
.section-seo .seo-content ul li::before {
  content: '';
  width: 5rem;
  height: 5rem;
  float: left;
  background-color: currentColor;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10rem;
}
.section-seo .seo-content ul li:last-child {
  margin-bottom: 0;
}
.section-seo .seo-content table tbody tr {
  border-top: 1px solid #d4d4d4;
}
.section-seo .seo-content table tbody tr:first-of-type {
  border-top: none;
}
.section-seo .seo-content table tbody tr td {
  width: auto !important;
  font-weight: 300;
  color: #000;
  border-left: 1px solid #d4d4d4;
}
.section-seo .seo-content table tbody tr td:first-of-type {
  border-left: none;
}
.section-seo .seo-content table tbody tr td p {
  color: #000;
}
.section-seo .seo-content table tbody tr td ul,
.section-seo .seo-content table tbody tr td ol {
  color: #000;
  margin: 0;
}
.section-seo .seo-content table tbody tr td ul li,
.section-seo .seo-content table tbody tr td ol li {
  list-style: none;
  padding-left: 17rem;
  margin-bottom: 20rem;
  position: relative;
}
.section-seo .seo-content table tbody tr td ul li::before,
.section-seo .seo-content table tbody tr td ol li::before {
  content: '';
  width: 5rem;
  height: 5rem;
  background-color: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10rem;
}
.section-seo .seo-content table tbody tr td ul li:last-of-type,
.section-seo .seo-content table tbody tr td ol li:last-of-type {
  margin-bottom: 0;
}
.section-store-locator-advisors {
  text-align: center;
}
.section-store-locator-advisors .store-locator-advisors {
  display: flex;
  justify-content: center;
  margin-block-end: 40rem;
}
.section-store-locator-advisors .store-locator-advisors figure {
  padding-inline: 7.5rem;
}
.section-store-locator-advisors .store-locator-advisors figure img,
.section-store-locator-advisors .store-locator-advisors figure svg,
.section-store-locator-advisors .store-locator-advisors figure video,
.section-store-locator-advisors .store-locator-advisors figure object,
.section-store-locator-advisors .store-locator-advisors figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-store-locator-advisors .store-locator-advisors figure img {
  font-size: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100rem;
  height: 100rem;
  min-height: 0;
  border-radius: 100rem;
  background-color: rgba(102,102,102,0.2);
  overflow: hidden;
}
.section-store-locator-advisors .store-locator-advisors figcaption {
  margin-block-start: 16rem;
  text-align: center;
}
section.section-store-locator-business-news h2 {
  text-align: center;
  margin-block-end: 40rem;
}
section.section-store-locator-business-news .business-news-cards {
  position: relative;
}
section.section-store-locator-business-news .carousel-arrow {
  position: absolute;
  top: calc(50% - 32.5rem);
}
section.section-store-locator-business-news .carousel-arrow.carousel-prev {
  left: -85rem;
}
section.section-store-locator-business-news .carousel-arrow.carousel-next {
  right: -85rem;
}
section.section-store-locator-business-news .carousel-dots {
  margin-block-start: 40rem;
  text-align: center;
}
.business-news-card {
  display: flex;
}
.business-news-card figure {
  border-radius: 8rem;
  overflow: hidden;
}
.business-news-card figure img,
.business-news-card figure svg,
.business-news-card figure video,
.business-news-card figure object,
.business-news-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.business-news-card .card-content {
  flex: 1;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: space-between;
}
.business-news-card .card-content .post-excerpt {
  color: #000;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
.business-news-card .card-content .news-card-open {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
}
section.section-store-locator-regions {
  background-color: #f7f4f2;
}
section.section-store-locator-regions h2 {
  text-align: center;
  margin-block-end: 40rem;
}
section.section-store-locator-regions .store-locator-regions {
  background-color: #fff;
  display: flex;
  flex-flow: wrap;
  border-radius: 8rem;
}
section.section-store-locator-regions .store-locator-region details[open] summary::after {
  transform: rotate(0deg);
}
section.section-store-locator-regions .store-locator-region details summary {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}
section.section-store-locator-regions .store-locator-region details summary h3 {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-regions .store-locator-region details summary::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  -webkit-mask-image: var(--menu-arrow-image);
  mask-image: var(--menu-arrow-image);
  background-color: currentColor;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
section.section-store-locator-regions .store-locator-region details ul li {
  color: #000;
  padding-inline-start: 15rem;
}
section.section-store-locator-regions .store-locator-region details ul li a {
  color: inherit;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-gallery {
  display: flex;
  background-color: #f7f4f2;
  position: relative;
  width: 100%;
  padding-left: calc(50% - 500rem);
  padding-right: calc(50% - 500rem);
}
section.section-store-locator-gallery .gallery-map {
  background-color: rgba(102,102,102,0.2);
  width: 100%;
  height: 320rem;
}
section.section-store-locator-gallery .gallery-map .content-placeholder {
  width: 100%;
  height: 100%;
}
section.section-store-locator-gallery .gallery-visuals {
  position: relative;
}
section.section-store-locator-gallery .gallery-visuals img {
  display: flex;
  background-color: rgba(102,102,102,0.2);
  max-width: 100%;
  height: 100%;
}
section.section-store-locator-gallery .carousel-track {
  height: 100%;
}
section.section-store-locator-info {
  gap: 20rem;
  background-color: #f7f4f2;
  display: flex;
  gap: 20px;
  padding-block: 30rem;
}
section.section-store-locator-info .info-column {
  color: #000;
  flex: 0 calc(33.333333333333336% - 13.33333rem);
}
section.section-store-locator-info .info-column h3 {
  line-height: 1.3;
  font-size: 16rem;
  font-weight: 600;
  margin-block-end: 20rem;
}
section.section-store-locator-info .store-locator-contact .contact-address {
  font-weight: 300;
}
section.section-store-locator-info .store-locator-contact .contact-phone {
  font-weight: 400;
}
section.section-store-locator-info .store-locator-contact .contact-phone a {
  color: inherit;
}
section.section-store-locator-info .store-locator-contact .contact-route {
  display: flex;
}
section.section-store-locator-info .store-locator-contact .contact-route .action-direction {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
}
section.section-store-locator-info .store-locator-contact .contact-route .action-direction::before {
  content: '';
  display: flex;
  width: 12rem;
  height: 12rem;
  background-color: currentColor;
  -webkit-mask-image: var(--arrow-turn-icon);
  mask-image: var(--arrow-turn-icon);
  -webkit-mask-size: contain;
  mask-size: contain;
}
section.section-store-locator-info .store-locator-schedule ul {
  padding-inline-start: 0;
  margin-block: 0;
  list-style: none;
}
section.section-store-locator-info .store-locator-schedule ul li {
  color: #000;
  line-height: 1.6;
  font-size: 14rem;
  margin-block-end: 1.6em;
}
section.section-store-locator-info .store-locator-schedule ul li:last-child {
  margin-block-end: 0;
}
section.section-store-locator-info .store-locator-schedule ul li time {
  font-weight: 400;
}
section.section-store-locator-info .store-locator-schedule ul li span {
  font-weight: 300;
}
section.section-store-locator-info .store-locator-schedule ul li.status-current time,
section.section-store-locator-info .store-locator-schedule ul li.status-current span {
  font-weight: 500;
}
section.section-store-locator-info .store-locator-schedule ul li.status-closed span {
  font-weight: 400;
}
section.section-store-locator-info .store-locator-schedule ul li.status-rendez-vous {
  font-weight: 500;
}
section.section-store-locator-info .store-locator-area ul {
  padding-inline-start: 8rem;
  margin-block: 0;
}
section.section-store-locator-info .store-locator-area ul li {
  line-height: 1.6;
  font-weight: 300;
  list-style-position: inside;
  margin-block-end: 8rem;
}
section.section-store-locator-info .store-locator-area ul ~ p {
  margin-block-start: 16rem;
}
section.section-store-locator-info .store-locator-area details {
  display: flex;
  flex-flow: column-reverse;
}
section.section-store-locator-info .store-locator-area details summary {
  margin-block-end: 16rem;
  margin-block-end: 8rem;
  padding-inline-start: 8rem;
}
section.section-store-locator-locations {
  padding-inline: 0;
}
section.section-store-locator-locations .locations-locate {
  position: relative;
  z-index: 1;
}
section.section-store-locator-locations .locations-locate form {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24rem;
}
section.section-store-locator-locations .locations-locate form label {
  color: #000;
  cursor: default;
}
section.section-store-locator-locations .locations-locate form .field-location-search {
  position: relative;
}
section.section-store-locator-locations .locations-locate form .field-location-search input[type="text"] {
  height: 40rem;
  width: 100%;
  line-height: 1.4;
  font-size: 16rem;
  font-weight: 400;
  padding-block: 8rem;
  padding-inline-end: 24rem;
  border-block-width: 1px;
  text-overflow: ellipsis;
}
section.section-store-locator-locations .locations-locate form .field-location-search input[type="button"] {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #000;
  width: 24rem;
  height: 24rem;
  padding: 0;
}
section.section-store-locator-locations .locations-locate form .field-location-search input[name="reset"] {
  display: none;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8.64 0v1.633a6.401 6.401 0 0 1 5.727 5.727H16v1.28h-1.633a6.404 6.404 0 0 1-5.727 5.728V16H7.36v-1.632A6.403 6.403 0 0 1 1.633 8.64H0V7.36h1.633A6.402 6.402 0 0 1 7.36 1.632V0h1.28Zm0 4.218A3.838 3.838 0 0 0 8 4.16c-.219 0-.432.023-.64.058V2.924A5.126 5.126 0 0 0 2.924 7.36h1.294A3.85 3.85 0 0 0 4.16 8c0 .218.023.431.058.64H2.924a5.125 5.125 0 0 0 4.436 4.436v-1.294c.208.035.421.058.64.058.218 0 .431-.023.64-.058v1.294a5.127 5.127 0 0 0 4.436-4.436h-1.294c.035-.209.058-.422.058-.64 0-.217-.023-.43-.058-.64h1.294A5.127 5.127 0 0 0 8.64 2.924v1.294Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8.64 0v1.633a6.401 6.401 0 0 1 5.727 5.727H16v1.28h-1.633a6.404 6.404 0 0 1-5.727 5.728V16H7.36v-1.632A6.403 6.403 0 0 1 1.633 8.64H0V7.36h1.633A6.402 6.402 0 0 1 7.36 1.632V0h1.28Zm0 4.218A3.838 3.838 0 0 0 8 4.16c-.219 0-.432.023-.64.058V2.924A5.126 5.126 0 0 0 2.924 7.36h1.294A3.85 3.85 0 0 0 4.16 8c0 .218.023.431.058.64H2.924a5.125 5.125 0 0 0 4.436 4.436v-1.294c.208.035.421.058.64.058.218 0 .431-.023.64-.058v1.294a5.127 5.127 0 0 0 4.436-4.436h-1.294c.035-.209.058-.422.058-.64 0-.217-.023-.43-.058-.64h1.294A5.127 5.127 0 0 0 8.64 2.924v1.294Z'/%3E%3C/svg%3E");
}
section.section-store-locator-locations .locations-locate form .field-location-search input[name="locate"] {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8.64 0v1.633a6.401 6.401 0 0 1 5.727 5.727H16v1.28h-1.633a6.404 6.404 0 0 1-5.727 5.728V16H7.36v-1.632A6.403 6.403 0 0 1 1.633 8.64H0V7.36h1.633A6.402 6.402 0 0 1 7.36 1.632V0h1.28Zm0 4.218A3.838 3.838 0 0 0 8 4.16c-.219 0-.432.023-.64.058V2.924A5.126 5.126 0 0 0 2.924 7.36h1.294A3.85 3.85 0 0 0 4.16 8c0 .218.023.431.058.64H2.924a5.125 5.125 0 0 0 4.436 4.436v-1.294c.208.035.421.058.64.058.218 0 .431-.023.64-.058v1.294a5.127 5.127 0 0 0 4.436-4.436h-1.294c.035-.209.058-.422.058-.64 0-.217-.023-.43-.058-.64h1.294A5.127 5.127 0 0 0 8.64 2.924v1.294Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M8.64 0v1.633a6.401 6.401 0 0 1 5.727 5.727H16v1.28h-1.633a6.404 6.404 0 0 1-5.727 5.728V16H7.36v-1.632A6.403 6.403 0 0 1 1.633 8.64H0V7.36h1.633A6.402 6.402 0 0 1 7.36 1.632V0h1.28Zm0 4.218A3.838 3.838 0 0 0 8 4.16c-.219 0-.432.023-.64.058V2.924A5.126 5.126 0 0 0 2.924 7.36h1.294A3.85 3.85 0 0 0 4.16 8c0 .218.023.431.058.64H2.924a5.125 5.125 0 0 0 4.436 4.436v-1.294c.208.035.421.058.64.058.218 0 .431-.023.64-.058v1.294a5.127 5.127 0 0 0 4.436-4.436h-1.294c.035-.209.058-.422.058-.64 0-.217-.023-.43-.058-.64h1.294A5.127 5.127 0 0 0 8.64 2.924v1.294Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 16rem;
  mask-size: 16rem;
  -webkit-mask-position: center;
  mask-position: center;
}
section.section-store-locator-locations .locations-locate form .field-location-search input[name="locate"][disabled] {
  opacity: 0.15;
}
section.section-store-locator-locations .locations-content {
  isolation: isolate;
  background-color: #f7f4f2;
}
section.section-store-locator-locations .locations-content .content-switch {
  display: flex;
  justify-content: center;
  margin-bottom: 40rem;
}
section.section-store-locator-locations .locations-content .content-switch button {
  color: #484848;
  background-color: transparent;
  border-color: #484848;
}
section.section-store-locator-locations .locations-content .content-switch button:first-child {
  border-radius: 4rem 0 0 4rem;
  border-inline-end: none;
}
section.section-store-locator-locations .locations-content .content-switch button:last-child {
  border-radius: 0 4rem 4rem 0;
  border-inline-start: none;
}
section.section-store-locator-locations .locations-content .content-switch button:hover {
  border-color: #484848;
}
section.section-store-locator-locations .locations-content .content-switch button.button-active {
  color: #fff;
  background-color: #484848;
}
section.section-store-locator-locations .locations-list {
  display: flex;
  flex-flow: column;
  align-items: center;
}
section.section-store-locator-locations .locations-list-items {
  display: flex;
  justify-content: center;
  width: 100%;
}
section.section-store-locator-locations .locations-list-items article.location {
  min-height: 200rem;
}
section.section-store-locator-locations .locations-list-items article.location[hidden] {
  display: none;
}
section.section-store-locator-locations .locations-list-no-result {
  font-size: 20rem;
  margin-block-start: 40rem;
}
section.section-store-locator-locations .locations-list .action-more {
  margin-block-start: 40rem;
}
section.section-store-locator-locations .locations-map {
  height: 500rem;
  background-color: rgba(102,102,102,0.2);
}
section.section-store-locator-locations .locations-map .content-placeholder {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
section.section-store-locator-locations .locations-text {
  color: #000;
  font-weight: 300;
  background-color: #f7f4f2;
  padding-block: 30rem;
}
section.section-store-locator-locations ul.location-suggestions {
  position: absolute;
  z-index: 5;
  left: 0;
  top: 100%;
  width: 100%;
  background-color: #fff;
  padding: 16rem 0;
  border-radius: 8rem;
  margin-block: 0;
  list-style: none;
  box-shadow: 0 0 12rem 2rem rgba(0,0,0,0.15);
  max-height: 200rem;
  overflow-x: hidden;
  overflow-y: scroll;
}
section.section-store-locator-locations ul.location-suggestions li {
  line-height: 1.5;
  font-size: 15rem;
  padding: 5rem 24rem;
  cursor: pointer;
  white-space: nowrap;
}
section.section-store-locator-locations ul.location-suggestions li strong {
  display: block;
  font-weight: 500;
}
section.section-store-locator-locations ul.location-suggestions li em {
  display: block;
  font-size: 12rem;
}
section.section-store-locator-locations ul.location-suggestions li strong,
section.section-store-locator-locations ul.location-suggestions li em {
  text-overflow: ellipsis;
  overflow: hidden;
}
section.section-store-locator-locations ul.location-suggestions li[data-place-id="enable-gmaps"] em {
  line-height: 1.2;
  overflow: auto;
  white-space: normal;
}
section.section-store-locator-locations ul.location-suggestions li:hover {
  background-color: var(--color-theme);
  color: #fff;
}
.locations-map .location-teaser {
  padding: 0;
}
.locations-map .gm-style .gm-style-iw-c {
  padding-inline: 16rem 0;
  padding-block-end: 16rem;
}
.locations-map .gm-style .gm-style-iw-ch {
  padding-top: 16rem;
}
.locations-map .gm-style .gm-style-iw-d {
  padding-inline-end: 16rem;
  min-width: 234rem;
}
.locations-map .gm-style .gm-style-iw-d html {
  margin-top: 0;
}
section.section-store-locator-other-agencies {
  background-color: #f7f4f2;
}
section.section-store-locator-other-agencies h2 {
  text-align: center;
}
section.section-store-locator-other-agencies div + h2 {
  color: #000;
}
section.section-store-locator-other-agencies ul.store-locator-links {
  display: flex;
  flex-flow: wrap;
  width: 100%;
  padding-inline-start: 0;
  margin-block: 0;
}
section.section-store-locator-other-agencies ul.store-locator-links li {
  color: #000;
  padding-inline-start: 10rem;
  list-style-position: inside;
}
section.section-store-locator-other-agencies ul.store-locator-links li a {
  color: inherit;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-other-agencies .store-locator-other-categories ul.store-locator-links li,
section.section-store-locator-other-agencies .store-locator-other-projects ul.store-locator-links li {
  padding-inline-start: 5rem;
}
section.section-store-locator-other-agencies .store-locator-other-agencies {
  padding-block: 40rem 80rem;
  display: flex;
  gap: 24rem;
}
section.section-store-locator-other-agencies .store-locator-other-projects {
  padding-block: 40rem;
}
section.section-store-locator-push-category h2 {
  text-align: center;
  margin-block-end: 40rem;
}
section.section-store-locator-push-category .store-locator-push-cards {
  display: flex;
  gap: 16rem;
}
section.section-store-locator-push-category .store-locator-push-cards .push-card {
  display: flex;
  flex: 0 calc(33.333333333333336% - 10.66667rem);
  align-items: center;
  flex-flow: row;
  gap: 16rem;
  height: 84rem;
  padding: 8rem;
}
section.section-store-locator-push-category .store-locator-push-cards .push-card figure {
  position: static;
  flex: 0 0 68rem;
  font-size: 8rem;
  border: none;
  border-radius: 2rem;
  width: 68rem;
  height: 68rem;
  margin: 0;
}
section.section-store-locator-push-category .store-locator-push-cards .push-card h3 {
  flex: 1;
  display: flex;
  justify-content: space-between;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 500;
  color: var(--color-theme);
  margin: 0;
  min-height: auto;
}
section.section-store-locator-push-category .store-locator-push-cards .push-card h3::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  -webkit-mask-image: var(--menu-arrow-image);
  mask-image: var(--menu-arrow-image);
  background-color: var(--color-theme);
}
section.section-store-locator-region {
  background-color: #f7f4f2;
}
section.section-store-locator-region h2 {
  text-align: center;
}
section.section-store-locator-region .store-locator-departments {
  background-color: #fff;
  display: flex;
  flex-flow: wrap;
  border-radius: 8rem;
}
section.section-store-locator-region .store-locator-departments ul {
  display: flex;
  width: 100%;
  padding-inline-start: 0;
  margin-block: 0;
}
section.section-store-locator-region .store-locator-departments ul li {
  color: #000;
  padding-inline-start: 10rem;
  list-style-position: inside;
}
section.section-store-locator-region .store-locator-departments ul li a {
  color: inherit;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-regions {
  background-color: #f7f4f2;
}
section.section-store-locator-regions h2 {
  color: #000;
  text-align: center;
  margin-block-end: 40rem;
}
section.section-store-locator-regions .store-locator-regions {
  background-color: #fff;
  display: flex;
  border-radius: 8rem;
}
section.section-store-locator-regions .store-locator-region details[open] summary {
  margin-block-end: 12rem;
}
section.section-store-locator-regions .store-locator-region details[open] summary h3 {
  font-weight: 600;
}
section.section-store-locator-regions .store-locator-region details[open] summary::after {
  transform: rotate(0deg);
}
section.section-store-locator-regions .store-locator-region details summary {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
}
section.section-store-locator-regions .store-locator-region details summary h3 {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-regions .store-locator-region details summary::-webkit-details-marker {
  display: none;
}
section.section-store-locator-regions .store-locator-region details summary::after {
  content: '';
  flex: 0 0 24rem;
  width: 24rem;
  height: 24rem;
  -webkit-mask-image: var(--menu-arrow-image);
  mask-image: var(--menu-arrow-image);
  background-color: currentColor;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
section.section-store-locator-regions .store-locator-region details ul {
  display: flex;
  flex-flow: column;
  gap: 12rem;
  padding-inline-start: 0;
  margin-block: 0;
}
section.section-store-locator-regions .store-locator-region details ul li {
  color: #000;
  padding-inline-start: 10rem;
  list-style-position: inside;
}
section.section-store-locator-regions .store-locator-region details ul li a {
  color: inherit;
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
}
section.section-store-locator-reviews {
  background-color: #f7f4f2;
}
section.section-store-locator-reviews h2 {
  color: #000;
  text-align: center;
  margin-block-end: 24rem;
}
section.section-store-locator-reviews > p {
  color: #000;
  font-weight: 300;
  text-align: center;
  margin-block-end: 16rem;
  max-width: 600rem;
  margin-inline: auto;
}
section.section-store-locator-reviews .store-locator-reviews-link {
  margin-block-end: 32rem;
  text-align: center;
}
section.section-store-locator-reviews .store-locator-reviews-link a {
  line-height: 1.6;
  font-size: 14rem;
  font-weight: 300;
  color: #000;
  text-decoration: underline;
}
section.section-store-locator-reviews .store-locator-reviews {
  position: relative;
  display: flex;
  flex-flow: wrap;
  justify-content: center;
  margin-bottom: 102rem;
}
section.section-store-locator-reviews .store-locator-review {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  background-color: #fff;
  color: #000;
  line-height: 1.4;
  font-size: 12rem;
  height: 210rem;
  padding: 16rem 20rem;
  border-radius: 8rem;
}
section.section-store-locator-reviews .store-locator-review .review-author {
  display: flex;
  flex-flow: column wrap;
  max-height: 40rem;
  justify-content: center;
  align-content: flex-start;
  gap: 0 12rem;
  margin-block-end: 12rem;
}
section.section-store-locator-reviews .store-locator-review .review-author figure {
  position: relative;
  width: 40rem;
  height: 40rem;
  background-color: rgba(102,102,102,0.2);
  border-radius: 20rem;
}
section.section-store-locator-reviews .store-locator-review .review-author figure img.review-icon {
  position: absolute;
  right: -4rem;
  bottom: -2rem;
}
section.section-store-locator-reviews .store-locator-review .review-author time {
  font-size: 10rem;
  color: #8c8c8c;
}
section.section-store-locator-reviews .store-locator-review .review-text {
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
section.section-store-locator-reviews .store-locator-review .review-text::-webkit-scrollbar {
  display: none;
}
section.section-store-locator-reviews .store-locator-review .review-text p:last-child {
  margin-block-end: 8rem;
}
section.section-store-locator-reviews .review-rating {
  margin-block-end: 12rem;
}
section.section-store-locator-reviews .review-rating .rating-stars {
  position: relative;
  display: inline-block;
  width: 80rem;
  height: 16rem;
  background-color: #d4d4d4;
  -webkit-mask-image: var(--rating-star-icon);
  mask-image: var(--rating-star-icon);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-position: center -1rem;
  mask-position: center -1rem;
}
section.section-store-locator-reviews .review-rating .rating-stars::before {
  content: '';
  position: absolute;
  inset: 0;
  width: var(--review-rating);
  background-color: #fabd05;
}
section.section-store-locator-reviews .review-text {
  flex: 1;
}
section.section-store-locator-reviews .review-actions a {
  color: #8c8c8c;
  text-decoration: none;
}
section.section-store-locator-reviews .store-locator-review-cta {
  display: flex;
  gap: 24rem;
  max-width: 556rem;
  margin-inline: auto;
}
section.section-store-locator-reviews .store-locator-review-cta figure {
  flex: 0 0 128rem;
  width: 128rem;
  height: 128rem;
  background-color: rgba(102,102,102,0.2);
}
section.section-store-locator-reviews .store-locator-review-cta figure .review-qrcode {
  max-width: 100%;
}
section.section-store-locator-reviews .store-locator-review-cta h4 {
  color: #c2143a;
  font-size: 14rem;
}
section.section-store-locator-reviews .store-locator-review-cta p {
  font-weight: 300;
}
section.section-store-locator-reviews .carousel-track {
  height: 100%;
  width: 100%;
}
section.section-store-locator-seo .seo-text {
  max-width: 920rem;
  margin-inline: auto;
  margin-block-end: 60rem;
}
section.section-store-locator-seo .seo-text p,
section.section-store-locator-seo .seo-text ul,
section.section-store-locator-seo .seo-text ol {
  font-size: 16rem;
  font-weight: 300;
}
section.section-store-locator-seo .accordion-group {
  max-width: 920rem;
  margin-inline: auto;
  margin-block-end: 0;
}
section.section-store-locator-seo .accordion-group h2 {
  color: #484848;
  margin-block-end: 24rem;
}
section.section-store-locator-seo .accordion-group .accordion-text {
  color: #000;
  font-weight: 500;
  margin-block-end: 40rem;
}
section.section-store-locator-seo .accordion-group summary {
  color: #484848;
}
section.section-store-locator-seo .accordion-group .seo-content {
  color: #000;
  font-weight: 300;
}
.section-studyform,
.study-form {
  color: #000;
}
.section-studyform h2,
.study-form h2 {
  margin-bottom: 10rem;
}
.section-studyform p,
.study-form p {
  line-height: 1.5;
  font-size: 14rem;
  font-weight: 300;
}
.section-studyform h2,
.study-form h2,
.section-studyform p,
.study-form p {
  width: 100%;
}
.section-studyform form,
.study-form form {
  counter-reset: form-step-counter;
}
.section-studyform form details,
.study-form form details {
  margin-block-end: 20rem;
}
.section-studyform form details[open] summary::after,
.study-form form details[open] summary::after {
  transform: rotate(-90deg);
}
.section-studyform form summary,
.study-form form summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15rem;
  font-size: 20rem;
  margin-bottom: 15rem;
  counter-increment: form-step-counter;
  cursor: pointer;
}
.section-studyform form summary h3,
.study-form form summary h3 {
  flex: 1;
  font-size: inherit;
  color: var(--color-theme);
}
.section-studyform form summary em,
.study-form form summary em {
  font-size: 16rem;
  color: #d4d4d4;
}
.section-studyform form summary::before,
.study-form form summary::before {
  content: counter(form-step-counter);
  flex: 0 0 45rem;
  display: inline-block;
  width: 45rem;
  height: 45rem;
  line-height: 45rem;
  text-align: center;
  color: #fff;
  background-color: var(--color-theme, #c2143a);
  border-radius: 50%;
}
.section-studyform form summary::after,
.study-form form summary::after {
  content: '';
  flex: 0 0 32rem;
  width: 32rem;
  height: 32rem;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.25 17.25L14.75 11.75L9.25 6.24997' stroke='black' fill='none'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M9.25 17.25L14.75 11.75L9.25 6.24997' stroke='black' fill='none'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-color: var(--color-theme, #c2143a);
  transform: rotate(90deg);
  transition: transform 0.4s ease;
}
.section-studyform form fieldset,
.study-form form fieldset {
  display: flex;
  flex-flow: wrap;
  border: none;
  padding: 0;
  margin: 0 0 20rem;
}
.section-studyform form fieldset.form-step-fields,
.study-form form fieldset.form-step-fields {
  flex-flow: column;
}
.section-studyform form .form-step-fields fieldset,
.study-form form .form-step-fields fieldset {
  width: 100%;
}
.section-studyform form .form-step-fields fieldset.fieldset-zip-city,
.study-form form .form-step-fields fieldset.fieldset-zip-city {
  margin-bottom: 20rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-zip-city .field,
.study-form form .form-step-fields fieldset.fieldset-zip-city .field {
  margin-bottom: 10rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-zip-city .field[class*="zip"],
.study-form form .form-step-fields fieldset.fieldset-zip-city .field[class*="zip"] {
  width: calc(38% - 15rem);
}
.section-studyform form .form-step-fields fieldset.fieldset-zip-city .field[class*="city"],
.study-form form .form-step-fields fieldset.fieldset-zip-city .field[class*="city"] {
  width: calc(62% - 15rem);
  margin-left: 30rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-message > label,
.study-form form .form-step-fields fieldset.fieldset-message > label {
  font-size: 16rem;
  margin-bottom: 10rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-phone .field,
.study-form form .form-step-fields fieldset.fieldset-phone .field {
  margin-bottom: 10rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-phone p,
.study-form form .form-step-fields fieldset.fieldset-phone p {
  margin-bottom: 0;
}
.section-studyform form .form-step-fields fieldset.fieldset-catalog,
.study-form form .form-step-fields fieldset.fieldset-catalog {
  margin-block-end: 0;
}
.section-studyform form .form-step-fields fieldset.fieldset-catalog > label,
.study-form form .form-step-fields fieldset.fieldset-catalog > label {
  width: 100%;
  margin-bottom: 20rem;
}
.section-studyform form .form-step-fields fieldset.fieldset-catalog .field input[type=text] + label::after,
.study-form form .form-step-fields fieldset.fieldset-catalog .field input[type=text] + label::after {
  content: '*';
}
.section-studyform form .form-step-fields fieldset.fieldset-catalog-address,
.study-form form .form-step-fields fieldset.fieldset-catalog-address {
  margin-block-start: 20rem;
}
.section-studyform form .form-step-fields .field,
.study-form form .form-step-fields .field {
  width: 100%;
}
.section-studyform form .form-step-fields .field-radios .radios,
.study-form form .form-step-fields .field-radios .radios {
  display: flex;
}
.section-studyform form .form-step-fields .field-radios .radios > .radio,
.study-form form .form-step-fields .field-radios .radios > .radio {
  width: 50%;
  margin-right: 0;
}
.section-studyform form .form-step-fields .field-button > span,
.study-form form .form-step-fields .field-button > span {
  width: auto;
}
.section-studyform form .form-step-fields .field-optin-catalog > .checkbox,
.study-form form .form-step-fields .field-optin-catalog > .checkbox {
  display: inline-block;
}
.section-studyform form .form-step-fields .field-optin-catalog label,
.study-form form .form-step-fields .field-optin-catalog label {
  font-size: 16rem;
  font-weight: 400;
}
.section-studyform form .form-step-fields .field-catalog-delivery,
.study-form form .form-step-fields .field-catalog-delivery {
  width: 100% !important;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios,
.study-form form .form-step-fields .field-catalog-delivery .radios {
  display: flex;
  gap: 32rem;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio,
.study-form form .form-step-fields .field-catalog-delivery .radios > .radio {
  display: flex;
  flex: 0 0 calc(50% - 16rem);
  margin-inline-end: 0;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio label,
.study-form form .form-step-fields .field-catalog-delivery .radios > .radio label {
  width: 100%;
  font-weight: 300;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio label p:last-child,
.study-form form .form-step-fields .field-catalog-delivery .radios > .radio label p:last-child {
  margin-block-end: 0;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio label .modify-address,
.study-form form .form-step-fields .field-catalog-delivery .radios > .radio label .modify-address {
  position: absolute;
  right: 0;
  top: 2.5rem;
  width: 20rem;
  height: 20rem;
  background-image: url("medias/edit-grey.svg");
  background-size: contain;
}
.section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio.radio-project_address label p,
.study-form form .form-step-fields .field-catalog-delivery .radios > .radio.radio-project_address label p {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.section-studyform.study-form h2,
.study-form.study-form h2 {
  margin-top: 30rem;
}
.section-studyform.study-form h2 + p,
.study-form.study-form h2 + p {
  margin-bottom: 40rem;
}
.section-studyform.study-confirmation h2,
.study-form.study-confirmation h2 {
  margin-top: 10rem;
}
.section-studyform.study-confirmation .actions,
.study-form.study-confirmation .actions {
  width: 100%;
  margin-top: 20rem;
}
.section-table h2 {
  margin-bottom: 25rem;
}
.section-table table {
  width: 100%;
  text-align: left;
}
.section-table table thead tr {
  border-bottom: 1px solid #d4d4d4;
}
.section-table table thead tr th {
  line-height: 1.25;
  font-size: 16rem;
  font-weight: 300;
  color: #000;
  padding: 20rem 30rem;
  border-right: 1px solid #d4d4d4;
}
.section-table table thead tr th:first-of-type {
  padding-left: 20rem;
  padding-right: 20rem;
}
.section-table table thead tr th:last-of-type {
  border-right: none;
}
.section-table table tbody tr {
  border-bottom: 1px solid #d4d4d4;
}
.section-table table tbody tr:last-of-type {
  border-bottom: none;
}
.section-table table tbody tr td {
  line-height: 1.25;
  font-size: 14rem;
  font-weight: 300;
  color: #000;
  border-right: 1px solid #d4d4d4;
  padding: 12rem 30rem 10rem;
}
.section-table table tbody tr td:first-of-type {
  padding-left: 20rem;
  padding-right: 20rem;
}
.section-table table tbody tr td:last-of-type {
  border-right: none;
}
.section-tags {
  margin-bottom: 120rem;
  padding-bottom: 60rem;
  padding-top: 60rem;
  display: flex;
  gap: 124rem;
  background-color: #f7f4f2;
}
.section-tags__header {
  flex: 0 0 283rem;
}
.section-tags__title {
  font-size: 22rem;
  font-weight: 600;
  line-height: 120%;
  letter-spacing: 0.44px;
}
.section-tags__content {
  flex: 1 1 auto;
}
.section-tags__content-item-title {
  font-size: 14rem;
  font-weight: 600;
  line-height: 140%;
  margin-bottom: 16rem;
}
.section-tags__content-item:last-child {
  margin-top: 40rem;
}
.section-tags__content-item .tags .tag {
  text-decoration: none;
}
.section-tags__content-item-more {
  display: none;
  color: #000;
  display: inline-block;
  font-size: 12rem;
  font-weight: 500;
  line-height: 140%;
  margin-top: 8rem;
  transition: margin-top 0.3s ease;
}
.section-tags__content-item-more.expanded {
  margin-top: 16rem;
}
.section-tags__content-item-more.hidden {
  display: none;
}
.section-testimonies-pro::after {
  content: '';
  display: inline-block;
  height: 1px;
  background-color: #d4d4d4;
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translate(-50%, 0);
}
.section-testimonies-pro .testimony-content .testimonial {
  position: relative;
}
.section-testimonies-pro .testimony-content .testimonial::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 45rem;
  height: 33rem;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='33' viewBox='0 0 45 33'%3E%3Cpath d='M24.9,20.9v-1c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C38.5,8,35.1,11.7,32.8,16c1.2-0.5,2.6-0.9,3.9-1 c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9c-1.7,2-4.2,3.1-6.8,2.9C29,32.6,24.9,27.9,24.9,20.9z M0.5,20.9v-1 c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C14,8,10.7,11.7,8.3,16c1.2-0.5,2.6-0.9,3.9-1c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9 c-1.7,2-4.2,3.1-6.8,2.9C4.6,32.6,0.5,27.9,0.5,20.9z'%3E%3C/path%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='45' height='33' viewBox='0 0 45 33'%3E%3Cpath d='M24.9,20.9v-1c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C38.5,8,35.1,11.7,32.8,16c1.2-0.5,2.6-0.9,3.9-1 c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9c-1.7,2-4.2,3.1-6.8,2.9C29,32.6,24.9,27.9,24.9,20.9z M0.5,20.9v-1 c0-7.2,4.7-14.4,11.7-19.6l5.9,4.9C14,8,10.7,11.7,8.3,16c1.2-0.5,2.6-0.9,3.9-1c4.3,0.1,7.8,3.6,7.8,8.8c0,2.3-1.1,4.5-2.9,5.9 c-1.7,2-4.2,3.1-6.8,2.9C4.6,32.6,0.5,27.9,0.5,20.9z'%3E%3C/path%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  background-color: #86a05d;
}
.section-testimonies-pro .testimony-content .testimonial blockquote {
  color: #8c8c8c;
}
.section-testimonies-pro .testimony-content .testimonial figcaption strong {
  color: var(--color-theme);
}
.section-testimonies-pro .testimony-content .testimonial figcaption strong span {
  text-transform: uppercase;
}
.section-testimonies {
  text-align: center;
}
.section-testimonies h2 {
  color: #000;
}
.section-testimonies h2 strong {
  display: block;
  color: var(--color-theme);
}
.section-testimonies article {
  position: relative;
  display: flex;
  text-align: left;
}
.section-testimonies article > svg {
  position: absolute;
}
.section-testimonies article > figure {
  float: left;
  border-radius: 7.5rem;
  display: flex;
  justify-content: center;
  overflow: hidden;
}
.section-testimonies article > figure img,
.section-testimonies article > figure svg,
.section-testimonies article > figure video,
.section-testimonies article > figure object,
.section-testimonies article > figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-testimonies article > figure img,
.section-testimonies article > figure svg,
.section-testimonies article > figure video,
.section-testimonies article > figure object,
.section-testimonies article > figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-testimonies article > figure img {
  background-color: rgba(153,153,153,0.4);
}
.section-testimonies .testimony-content {
  display: flex;
  flex-flow: column;
}
.section-testimonies .testimony-content .testimonial blockquote {
  margin: 0;
}
.section-testimonies .testimony-content .testimonial figcaption {
  color: #8c8c8c;
  font-weight: 400;
}
.section-testimonies .testimony-content .testimonial figcaption strong {
  display: block;
  font-family: Caveat, cursive;
}
.section-testimonies:not(.section-testimonies-pro) .testimony-content .button {
  --color-theme: #000;
  --color-theme-dark: #000;
}
.section-timeline {
  background-color: var(--timeline-bg, #333) !important;
  position: relative;
  overflow: hidden;
  padding: 40rem 0;
/* Contrôles */
/* Barre de progression */
}
.section-timeline .timeline-track-wrapper {
  overflow: visible;
  position: relative;
  cursor: grab;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.section-timeline .timeline-track-wrapper:active {
  cursor: grabbing;
}
.section-timeline .timeline-track {
  display: grid;
  grid-template-rows: auto auto auto;
  grid-auto-columns: calc((100% - 160rem) / 3);
  grid-auto-flow: column;
  -moz-column-gap: 80rem;
  column-gap: 80rem;
  padding: 0 60rem;
  transition: transform 0.4s ease-out;
  will-change: transform;
}
.section-timeline .timeline-item {
  grid-row: 1/4;
  display: grid;
  grid-template-rows: subgrid;
  color: #fff;
  position: relative;
}
.section-timeline .timeline-item figure {
  width: 100%;
  margin: 0;
}
.section-timeline .timeline-item img {
  width: 100%;
  height: auto;
  border-radius: 6rem;
  display: block;
}
.section-timeline .timeline-item-above {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding-bottom: 20rem;
  gap: 8rem;
}
.section-timeline .timeline-item-below {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 20rem;
  gap: 8rem;
}
.section-timeline .timeline-point {
  width: 25rem;
  height: 25rem;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
/* Ligne de point à point — largeur calculée dynamiquement par JS */
}
.section-timeline .timeline-point::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  height: 5rem;
  background: #635459;
  width: var(--timeline-line-width, 434px);
  z-index: 0;
}
.section-timeline .timeline-date {
  font-size: 50rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
}
.section-timeline .timeline-text {
  font-size: 16rem;
  font-weight: 300;
  text-align: left;
  line-height: 1.5;
}
.section-timeline .timeline-text p {
  margin: 0;
}
.section-timeline .timeline-controls {
  display: flex;
  align-items: center;
  gap: 24rem;
  padding: 28rem 60rem 8rem;
}
.section-timeline .timeline-prev,
.section-timeline .timeline-next {
  width: 65rem;
  height: 65rem;
  border-radius: 50%;
  border: none;
  background: #fff;
  cursor: pointer;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  transition: opacity 0.2s;
}
.section-timeline .timeline-prev svg,
.section-timeline .timeline-next svg {
  width: 13rem;
  height: 10rem;
  fill: currentColor;
}
.section-timeline .timeline-prev:hover:not([disabled]),
.section-timeline .timeline-next:hover:not([disabled]) {
  opacity: 0.7;
}
.section-timeline .timeline-prev[disabled],
.section-timeline .timeline-next[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
  pointer-events: none;
}
.section-timeline .timeline-prev svg {
  transform: scaleX(-1);
}
.section-timeline .timeline-progress {
  flex: 1;
  height: 12rem;
  background-color: #3a3a3a;
  border-radius: 20rem;
  overflow: hidden;
}
.section-timeline .timeline-progress-fill {
  height: 100%;
  background-color: #d4d4d4;
  border-radius: 20rem;
  transition: width 0.4s ease-out, margin-left 0.4s ease-out;
  width: 0%;
}
.section-tuile-colonne {
  padding: 60rem 0;
}
.section-tuile-colonne .section-tuile-colonne-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 764rem;
  clear: both;
}
.section-tuile-colonne .section-tuile-colonne-title {
  margin-bottom: 40rem;
  font-size: 30rem;
  font-weight: 500;
  text-wrap: balance;
}
.section-tuile-colonne .section-tuile-colonne-title--left {
  text-align: left;
}
.section-tuile-colonne .section-tuile-colonne-title--center {
  text-align: center;
}
.section-tuile-colonne .section-tuile-colonne-title--right {
  text-align: right;
}
.section-tuile-colonne .section-tuile-colonne-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.section-tuile-colonne .tuile-colonne-item {
  display: flex;
  flex-direction: column;
}
.section-tuile-colonne .tuile-colonne-item-logo {
  display: flex;
  align-items: center;
  margin: 0 0 32rem;
}
.section-tuile-colonne .tuile-colonne-item-logo img {
  max-height: 100%;
  max-width: 100%;
  height: 57rem;
  width: auto;
  -o-object-fit: contain;
  object-fit: contain;
}
.section-tuile-colonne .tuile-colonne-item-body {
  flex: 1;
}
.section-tuile-colonne .tuile-colonne-item-title {
  font-size: 16rem;
  line-height: 1.4;
  font-weight: 500;
}
.section-tuile-colonne .tuile-colonne-item-description {
  font-size: 14rem;
  line-height: 1.6;
  color: #000;
  font-weight: 300;
  margin-bottom: 0;
}
.section-tuile-colonne .tuile-colonne-item-button {
  margin-top: 32rem;
  align-self: flex-start;
  padding: 6rem 8rem;
  line-height: 1.2;
  min-height: auto;
}
.section-video figure {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: center;
}
.section-video figure img,
.section-video figure svg,
.section-video figure video,
.section-video figure object,
.section-video figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.section-video figure img,
.section-video figure svg,
.section-video figure video,
.section-video figure object,
.section-video figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.section-video figure::before {
  content: '';
  border-radius: 50%;
  background-color: #fff;
}
.section-video figure::after {
  content: '';
}
.section-video figure img {
  width: 100%;
}
.section-video .video-modal {
  position: fixed;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: #f7f4f2;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.section-video .video-modal .modal-close {
  position: absolute;
  z-index: 1;
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background-color: var(--color-theme);
  color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' stroke='white' stroke-linecap='round' stroke-width='2'%3E%3Cline x1='1' y1='1' x2='19' y2='19'/%3E%3Cline x1='19' y1='1' x2='1' y2='19'/%3E%3C/svg%3E");
  background-size: 20rem;
  background-position: center;
}
.section-video .video-modal iframe,
.section-video .video-modal .content-placeholder {
  width: 100%;
  height: 100%;
  border: none;
}
.section-video .video-modal.modal-opened {
  z-index: 2000;
  opacity: 1;
}
body.single--folders #folder-articles-container .header-universal .header-content {
  border-bottom: 0 none;
}
body.single--folders #folder-articles-container .header-universal .header-content nav {
  margin-bottom: 32rem;
  text-align: left;
}
body.single--folders #folder-articles-container .header-universal .header-content nav ul {
  text-align: left;
}
body.single--folders #folder-articles-container .header-universal .header-content nav ul li {
  display: inline;
}
body.single--folders .folder-article {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
body.single--folders .folder-article.active {
  opacity: 1;
}
body.single--folders .folder-article:first-child header.header-article .header-content {
  padding-top: 0;
}
body.single--folders .folder-article header.header-article .header-content {
  border-bottom: 0 none;
  padding-top: 32rem;
}
body.single--folders .folder-article header.header-article p {
  color: #000;
  font-size: 16rem;
  font-weight: 300;
  line-height: 140%;
}
body.single--folders .folder-article header.header-article h2 {
  position: relative;
  margin-bottom: 12rem;
  color: #000;
  font-size: 30rem;
  font-weight: 600;
  line-height: 120%;
}
body.single--folders .folder-article header.header-article h2 p {
  line-height: 1.2;
  font-size: 30rem;
  font-weight: 600;
}
body.single--folders .folder-article header.header-article .tags {
  margin-bottom: 12rem;
}
body.single--folders .folder-article header.header-article time {
  color: #000;
  font-size: 10rem;
  font-weight: 400;
  line-height: 140%;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12rem;
}
.tags .tag {
  border: 2rem solid #635459;
  border-radius: 50rem;
  padding: 4rem 10rem;
  color: #635459;
  font-family: Poppins;
  font-size: 12rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
.tags .tag a {
  text-decoration: none;
}
.tags .tag.theme {
  border-color: var(--color-theme);
  color: var(--color-theme);
}
.tags .tag:hover {
  background-color: #484848;
  border-color: #484848;
  color: #fff;
}
.tags .tag:hover.theme {
  background-color: var(--color-theme-dark);
  border-color: var(--color-theme-dark);
  color: #fff;
}
.single--folders #folder-container header.header-article {
  position: relative;
}
.single--folders #folder-container header.header-article .header-content nav {
  margin: 80rem 0 32rem;
  text-align: left;
}
.single--folders #folder-container header.header-article .header-content nav ul {
  text-align: left;
}
.single--folders #folder-container header.header-article .header-content nav ul li {
  display: inline;
}
.single--folders #folder-container header.header-article .header-content .title_intro {
  display: flex;
  gap: 120rem;
  margin-bottom: 120rem;
}
.single--folders #folder-container header.header-article .header-content .title_intro h1 {
  font-size: 30rem;
  font-weight: 600;
  line-height: 120%;
  color: #000;
  flex: 0 0 520rem;
}
.single--folders #folder-container header.header-article figure {
  width: 100%;
  aspect-ratio: 24/11;
  overflow: hidden;
}
.single--folders #folder-container header.header-article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.single--folders #folder-container header.header-article .summary {
  position: absolute;
  max-width: 920rem;
  width: 100%;
  padding: 0 20rem;
  border-radius: 8rem;
  box-shadow: 0 6rem 25rem 0 rgba(0,0,0,0.15);
  top: calc(100% - 37rem);
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  z-index: 1;
}
.single--folders #folder-container header.header-article .summary .summary-toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24rem 4rem;
  cursor: pointer;
}
.single--folders #folder-container header.header-article .summary .summary-toggle .summary-toggle-title {
  display: flex;
  align-items: center;
  gap: 24rem;
  color: #484848;
  font-size: 14rem;
  font-weight: 500;
  line-height: 160%;
}
.single--folders #folder-container header.header-article .summary .summary-toggle .summary-toggle-title .icon svg {
  width: 24rem;
  height: 24rem;
}
.single--folders #folder-container header.header-article .summary .summary-toggle .summary-toggle-title .icon svg path {
  fill: #484848;
}
.single--folders #folder-container header.header-article .summary .summary-toggle .icon-toggle {
  transition: transform 0.3s;
  transform: rotate(90deg);
}
.single--folders #folder-container header.header-article .summary ol.summary-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s;
  list-style: none;
  margin: 0;
  padding: 0;
}
.single--folders #folder-container header.header-article .summary ol.summary-content li {
  border-top: 1px solid #d4d4d4;
  position: relative;
  list-style: none;
}
.single--folders #folder-container header.header-article .summary ol.summary-content li a {
  padding: 20rem 0;
  display: inline-block;
  color: #484848;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  text-decoration: none;
}
.single--folders #folder-container header.header-article .summary ol.summary-content li a .index {
  content: counter(summary-counter) ". ";
  color: #484848;
  font-size: 12rem;
  font-weight: 500;
  margin-right: 2rem;
}
.single--folders #folder-container header.header-article .summary.open .summary-toggle .icon-toggle {
  transform: rotate(270deg);
}
.single--folders #folder-container header.header-article .summary.open .summary-content {
  max-height: 1000rem;
}
.single--folders #folder-container .main-article {
  position: relative;
  padding-top: 120rem;
}
.single--folders #folder-container .main-article > section {
  padding: 0 calc(50% - 555rem);
}
.single--folders #folder-container .main-article > section.section-folders {
  padding: 60rem calc(50% - 555rem);
}
.single--folders #folder-container .main-article > section.section-all-rubrics {
  padding: 120rem calc(50% - 555rem);
}
.single--folders #folder-container .main-article .description {
  color: #000;
  font-size: 20rem;
  font-weight: 300;
  line-height: 160%;
}
.single--folders #folder-container .main-article .folder-articles-section {
  margin-bottom: 120rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item {
  margin-top: 120rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-title {
  color: #484848;
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 32rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description {
  color: #000;
  font-size: 16rem;
  font-weight: 300;
  line-height: 140%;
  margin-bottom: 60rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description a {
  color: #000;
  text-decoration: underline;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description a:hover {
  color: var(--color-theme);
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description strong,
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description b {
  color: inherit;
  font-weight: 500;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card {
  display: flex;
  gap: 40rem;
  margin-bottom: 20rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card figure {
  aspect-ratio: 145/109;
  flex: 0 0 290rem;
  overflow: hidden;
  border-radius: 8rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .article-title {
  color: #000;
  font-size: 16rem;
  font-weight: 600;
  line-height: 130%;
  letter-spacing: 0.32px;
  margin-bottom: 16rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .tags {
  margin-bottom: 16rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .tags a {
  text-decoration: none;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .article-excerpt {
  color: #000;
  font-size: 14rem;
  font-weight: 300;
  line-height: 160%;
  margin-bottom: 24rem;
}
.single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .article-meta a {
  color: #000;
  font-size: 14rem;
  font-weight: 500;
  line-height: 140%;
}
.single--folders #folder-container .main-article .intro {
  color: #635459;
  font-size: 26rem;
  font-weight: 500;
  line-height: 130%;
  margin-bottom: 120rem;
}
.single--folders #folder-container .main-article .folder-categories {
  margin-bottom: 120rem;
}
.single--folders #folder-container .main-article .folder-categories .title {
  color: #484848;
  font-size: 26rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 32rem;
}
.single--folders #folder-container .main-article .folder-categories .folder-categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12rem;
}
.single--folders #folder-container .main-article .folder-categories .folder-categories-list .category-item {
  text-decoration: none;
  color: var(--color-theme);
  display: inline-block;
  font-size: 12rem;
  font-weight: 400;
  line-height: 140%;
  padding: 8rem 15rem;
  border-radius: 50rem;
  border: 1px solid var(--color-theme);
  transition: background-color 0.3s, color 0.3s;
}
.single--folders #folder-container .main-article .folder-categories .folder-categories-list .category-item:hover {
  background-color: var(--color-theme);
  color: #fff;
}
.page--storelocator .storelocator-advisors {
  padding-top: 60rem;
  padding-bottom: 30rem;
  position: relative;
  width: 100%;
  padding-left: calc(50% - 600rem);
  padding-right: calc(50% - 600rem);
}
.page--storelocator .storelocator-advisors .advisors {
  display: flex;
  flex-flow: wrap;
  justify-content: space-evenly;
}
.page--storelocator .storelocator-advisors .advisors figure {
  text-align: center;
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-advisors .advisors img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120rem;
  height: 120rem;
  border-radius: 60rem;
  overflow: hidden;
  background-color: rgba(153,153,153,0.4);
  margin-bottom: 25rem;
}
.page--storelocator .storelocator-advisors .advisors img::before {
  padding: 15rem;
}
.page--storelocator .storelocator-advisors .advisors figcaption {
  color: #000;
  width: 100%;
  padding-inline: 10rem;
}
.page--storelocator .storelocator-header,
.page--storelocator .storelocator-default {
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-left: 20rem;
  padding-right: 20rem;
}
.page--storelocator .storelocator-header div:last-child,
.page--storelocator .storelocator-default div:last-child {
  margin-bottom: 0;
}
.page--storelocator .storelocator-info {
  display: flex;
  color: #000;
  --color-theme: #c2143a;
}
.page--storelocator .storelocator-info h3 {
  line-height: 1.5625;
  font-size: 16rem;
  font-weight: 600;
  margin-bottom: 10rem;
}
.page--storelocator .storelocator-info .info-contact {
  display: flex;
  flex-direction: column;
  font-size: 16rem;
}
.page--storelocator .storelocator-info .info-contact .contact-info {
  line-height: 1.65;
  font-size: 21rem;
  font-weight: 300;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-info .info-contact .contact-actions .button {
  margin-bottom: 10rem;
}
.page--storelocator .storelocator-info .info-contact .contact-actions .button:last-child {
  margin-bottom: 0;
}
.page--storelocator .storelocator-info .info-contact .contact-actions .button svg {
  margin-right: 12rem;
}
.page--storelocator .storelocator-info .info-schedule {
  font-size: 16rem;
  border-left: 1px solid #d4d4d4;
  border-right: 1px solid #d4d4d4;
}
.page--storelocator .storelocator-info .info-schedule ul {
  padding-inline-start: 0;
  margin-bottom: 20rem;
}
.page--storelocator .storelocator-info .info-schedule ul li.day-of-week {
  display: block;
  font-weight: 300;
  margin-bottom: 10rem;
}
.page--storelocator .storelocator-info .info-schedule ul li.day-of-week.current {
  font-weight: 500;
}
.page--storelocator .storelocator-info .info-schedule .rdv-schedule::before {
  content: '';
  display: inline-block;
  margin-right: 10rem;
  width: 40rem;
  height: 40rem;
  background-image: url("medias/rdv-picto.png");
  background-size: contain;
  vertical-align: middle;
}
.page--storelocator .storelocator-info .info-schedule-card {
  box-shadow: 0 10rem 30rem -30rem rgba(0,0,0,0.75);
  border-radius: 10rem;
  overflow: hidden;
  margin: 0 auto;
}
.page--storelocator .storelocator-info .info-schedule-card figure {
  display: flex;
  min-height: 200rem;
  background-color: rgba(153,153,153,0.4);
  margin-bottom: 10rem;
}
.page--storelocator .storelocator-info .info-schedule-card figure img {
  -o-object-fit: cover;
  object-fit: cover;
}
.page--storelocator .storelocator-info .info-schedule-card p {
  font-size: 18rem;
  font-weight: 600;
  color: #c2143a;
  margin: 20rem auto;
  text-align: center;
}
.page--storelocator .storelocator-info .info-schedule-card p svg {
  margin-right: 10rem;
}
.page--storelocator .storelocator-location {
  display: flex;
  flex-flow: wrap;
}
.page--storelocator .storelocator-location .map {
  height: 430rem;
}
.page--storelocator .storelocator-location figure {
  position: relative;
  display: flex;
  width: 50%;
  height: 430rem;
  background-color: rgba(153,153,153,0.4);
}
.page--storelocator .storelocator-location figure .avbadge {
  width: 150rem;
  height: 150rem;
}
.page--storelocator .storelocator-location figure .slider-content {
  width: 100%;
  overflow: hidden;
}
.page--storelocator .storelocator-location figure .slider-content img {
  display: flex;
  align-items: center;
  justify-content: center;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 450rem;
  background-color: rgba(153,153,153,0.4);
}
.page--storelocator .storelocator-location figure .carousel-dots {
  position: absolute;
  left: 50%;
  bottom: -40rem;
  transform: translate(-50%, 0);
}
.page--storelocator .storelocator-location figure .carousel-dots button {
  background-color: #8c8c8c;
}
.page--storelocator .storelocator-location figure .carousel-dots .dot-active {
  background-color: #c2143a;
}
.page--storelocator .storelocator-location figure .carousel-arrow {
  position: absolute;
  top: calc(50% - 32.5rem);
  background-color: #c2143a;
  opacity: 1;
}
.page--storelocator .storelocator-location figure .carousel-prev {
  left: -32rem;
}
.page--storelocator .storelocator-location figure .carousel-next {
  right: -32rem;
}
.page--storelocator .storelocator-location .storelocator-seotext {
  width: 100%;
  padding: 60rem 165rem 0;
}
.page--storelocator .storelocator-map {
  display: flex;
  flex-flow: wrap;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-map .storelocator-map-search {
  position: relative;
}
.page--storelocator .storelocator-map ul {
  list-style: none;
}
.page--storelocator .storelocator-map.show-map .action-search,
.page--storelocator .storelocator-map.show-map .storelocator-map-search-results-list {
  display: none;
}
.page--storelocator .storelocator-map.show-map .map {
  display: flex;
}
.page--storelocator .storelocator-map.show-results .action-search {
  display: block;
}
.page--storelocator .storelocator-map.show-results .storelocator-map-search-results-list {
  display: flex;
}
.page--storelocator .storelocator-map.show-results .map {
  display: none;
}
.page--storelocator .storelocator-map-search {
  display: flex;
  flex-direction: column;
}
.page--storelocator .storelocator-map-search.loading {
  position: relative;
}
.page--storelocator .storelocator-map-search.loading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  top: 120rem;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(204,204,204,0) 0, rgba(204,204,204,0.2) 20%, rgba(204,204,204,0.5) 60%, rgba(204,204,204,0));
  animation: shimmer 2s infinite;
}
.page--storelocator .storelocator-map-search.loading .storelocator-map-search-form {
  opacity: 0.25;
  pointer-events: none;
}
.page--storelocator .storelocator-map-search.loading .storelocator-map-search-results {
  opacity: 0.25;
  pointer-events: none;
}
.page--storelocator .storelocator-map-search-form {
  position: relative;
}
.page--storelocator .storelocator-map-search-title {
  line-height: 25rem;
  font-size: 21rem;
  color: #000;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-map-search-submit,
.page--storelocator .storelocator-map-search-geolocate,
.page--storelocator .storelocator-map-search-close {
  position: absolute;
  top: 6rem;
  background-color: transparent;
  padding: 0;
}
.page--storelocator .storelocator-map-search-submit svg,
.page--storelocator .storelocator-map-search-geolocate svg,
.page--storelocator .storelocator-map-search-close svg {
  width: 100%;
  height: 100%;
  transition: 0.15s ease;
  transform-origin: center;
}
.page--storelocator .storelocator-map-search-submit:hover svg,
.page--storelocator .storelocator-map-search-geolocate:hover svg,
.page--storelocator .storelocator-map-search-close:hover svg {
  transform: scale(1.1);
}
.page--storelocator .storelocator-map-search-submit {
  left: 5rem;
  width: 24rem;
  height: 22rem;
}
.page--storelocator .storelocator-map-search-geolocate {
  right: 8rem;
  width: 24rem;
  height: 24rem;
}
.page--storelocator .storelocator-map-search-close {
  display: none;
  right: 8rem;
  width: 20rem;
  height: 20rem;
}
.page--storelocator .storelocator-map-search-input {
  width: calc(100% - 2rem);
  height: 40rem;
  border: 0;
  border-bottom: 1px solid #000;
  border-radius: 0;
  padding: 0 35rem 5rem 40rem;
  font-size: 16rem;
  color: #808080;
  font-weight: 500;
}
.page--storelocator .storelocator-map-search-input:focus {
  outline: none;
  box-shadow: none;
}
.page--storelocator .storelocator-map-search-input::-moz-placeholder {
  opacity: 1;
  color: #d4d4d4;
}
.page--storelocator .storelocator-map-search-input::placeholder {
  opacity: 1;
  color: #d4d4d4;
}
.page--storelocator .storelocator-map-search-autocomplete {
  position: relative;
  z-index: 1;
  display: none;
  min-height: 230rem;
  padding: 30rem;
  margin: 0;
  margin-top: -1px;
  border: 1px solid #f7f4f2;
  box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.2);
  background: #fff;
  color: #000;
}
.page--storelocator .storelocator-map-search-autocomplete li {
  transition: 0.3s linear;
  transform-origin: 0% 50%;
}
.page--storelocator .storelocator-map-search-autocomplete li:hover {
  cursor: pointer;
  transform: translate(5rem, 0);
}
.page--storelocator .storelocator-map-search-autocomplete li:not(:last-child) {
  margin-bottom: 15rem;
}
.page--storelocator .storelocator-map-search-autocomplete li span {
  font-weight: 300;
}
.page--storelocator .storelocator-map-search-autocomplete li span:nth-child(1) {
  font-weight: 600;
}
.page--storelocator .storelocator-map-search-autocomplete li span:nth-child(2) {
  font-weight: 500;
}
.page--storelocator .storelocator-map-search-toggle {
  display: flex;
  width: 100%;
  height: 35rem;
  max-width: 600rem;
  margin: 0 auto;
}
.page--storelocator .storelocator-map-search-toggle + .storelocator-map-search-results-list li:first-child {
  border-top: none;
}
.page--storelocator .storelocator-map-search-toggle .button-link {
  display: flex;
  justify-content: center;
  width: 50%;
  font-weight: 500;
  background-color: transparent;
  border-bottom: 2rem solid #f7f4f2;
}
.page--storelocator .storelocator-map-search-toggle .button-link.active {
  background-color: #fff;
  color: #c2143a;
  border-color: currentcolor;
}
.page--storelocator .storelocator-map-search-results {
  display: flex;
  flex-flow: column;
}
.page--storelocator .storelocator-map-search-results-info {
  font-size: 12rem;
  font-weight: 300;
  color: #000;
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-map-search-results-info b {
  font-weight: 700;
}
.page--storelocator .storelocator-map-search-results-list {
  flex: 1;
  display: flex;
  flex-flow: column;
  box-shadow: inset -10rem 0 10rem 0 rgba(212,212,212,0.15);
  width: 100%;
  overflow-y: scroll;
  padding: 0;
  margin: 0;
  border-left: 1px solid rgba(212,212,212,0.1);
}
.page--storelocator .storelocator-map-search-results-list #template-search-result {
  display: none;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser {
  flex: 1 1 150;
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 20rem 20rem 10rem;
  border-bottom: 1px solid #dadada;
  transition: 0.3s ease;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser.agency-zone img {
  display: none;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #f7f4f2;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser img {
  display: flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 80rem;
  height: 80rem;
  font-size: 8rem;
  text-align: center;
  background-color: rgba(192,192,192,0.25);
  border-radius: 50%;
  margin-left: 20rem;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser:hover {
  cursor: pointer;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser:hover::before {
  opacity: 1;
}
.page--storelocator .storelocator-map-search-results-list .agency-teaser:first-child {
  border-top: 1px solid #dadada;
}
.page--storelocator .storelocator-map-search-results .action-search {
  margin: 15rem 5rem 0 5rem;
}
.page--storelocator .storelocator-map .map {
  width: 100%;
  height: 700rem;
}
.page--storelocator .storelocator-map .storelocator-seotext {
  width: 100%;
  padding: 60rem 165rem 0;
}
.page--storelocator .storelocator-news {
  padding-top: 35rem;
  margin-bottom: 45rem;
}
.page--storelocator .storelocator-news .news-cards {
  display: flex;
  justify-content: center;
  gap: 30rem;
  max-width: 920rem;
  margin: 0 auto;
}
.page--storelocator .storelocator-news .news-card {
  width: 445rem;
  text-align: center;
  margin-bottom: 35rem;
}
.page--storelocator .storelocator-news .news-card figure {
  display: flex;
  justify-content: center;
  height: 325rem;
  border-radius: 6rem;
  margin-bottom: 30rem;
  overflow: hidden;
}
.page--storelocator .storelocator-news .news-card figure img,
.page--storelocator .storelocator-news .news-card figure svg,
.page--storelocator .storelocator-news .news-card figure video,
.page--storelocator .storelocator-news .news-card figure object,
.page--storelocator .storelocator-news .news-card figure embed {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 100%;
}
.page--storelocator .storelocator-news .news-card figure img,
.page--storelocator .storelocator-news .news-card figure svg,
.page--storelocator .storelocator-news .news-card figure video,
.page--storelocator .storelocator-news .news-card figure object,
.page--storelocator .storelocator-news .news-card figure embed {
  flex: 1 0 100%;
  -o-object-position: center;
  object-position: center;
}
.page--storelocator .storelocator-news .news-card figure img {
  background-color: rgba(153,153,153,0.4);
}
.page--storelocator .storelocator-news .news-card h3 {
  margin-bottom: 10rem;
}
.page--storelocator .storelocator-news .news-card .post-excerpt {
  margin: 0 5rem 25rem;
}
.page--storelocator .storelocator-news .news-card .post-excerpt p {
  color: #8c8c8c;
  font-size: 16rem;
  font-weight: 300;
  margin-bottom: 0.25em;
}
.page--storelocator .storelocator-news .news-card .news-card-open {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
}
.page--storelocator .storelocator-news > .action-card {
  display: flex;
  padding: 0;
}
.page--storelocator .storelocator-news > .action-card figure {
  flex: 1;
}
.page--storelocator .storelocator-news > .action-card figure img {
  width: 100%;
}
.page--storelocator .storelocator-news > .action-card .action-card-red {
  flex: 0 0 350rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.page--storelocator .storelocator-other-agencies {
  padding-top: 45rem;
  margin-bottom: 30rem;
  position: relative;
  width: 100%;
  padding-left: calc(50% - 650rem);
  padding-right: calc(50% - 650rem);
  background: linear-gradient(#f7f4f2, #fff);
}
.page--storelocator .storelocator-other-agencies .storelocator-title {
  margin-bottom: 40rem;
}
.page--storelocator .storelocator-other-agencies .storelocator-title strong {
  display: inline;
  color: #484848;
}
.page--storelocator .storelocator-other-agencies .other-agencies-cards {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  width: calc(100% - 190rem);
  margin-inline: auto;
  gap: 30rem;
  margin-bottom: 50rem;
}
.page--storelocator .storelocator-other-agencies .agency-card {
  flex-basis: 255rem;
}
.page--storelocator .storelocator-places {
  position: relative;
  width: 100%;
  padding-left: calc(50% - 555rem);
  padding-right: calc(50% - 555rem);
  text-align: center;
  padding-top: 50rem;
  background: linear-gradient(0deg, #fff 0%, #f7f4f2 100%);
}
.page--storelocator .storelocator-places-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.page--storelocator .storelocator-places .agency-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 10rem;
  background-color: #fff;
  margin-bottom: 30rem;
  color: #c2143a;
  overflow: hidden;
  transition: box-shadow 0.5s ease;
  box-shadow: 0 10rem 30rem -30rem rgba(0,0,0,0.75);
}
.page--storelocator .storelocator-places .agency-card figure {
  height: 155rem;
  overflow: hidden;
  background-color: rgba(153,153,153,0.4);
}
.page--storelocator .storelocator-places .agency-card figure img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.75s ease;
}
.page--storelocator .storelocator-places .agency-card .agency-label {
  color: var(--color-theme);
  margin-bottom: 0;
}
.page--storelocator .storelocator-places .agency-card .agency-label:hover {
  color: var(--color-theme-dark);
}
.page--storelocator .storelocator-places .agency-card:last-of-type {
  margin-right: 0;
}
.page--storelocator .storelocator-places .agency-card:hover {
  cursor: pointer;
  box-shadow: 0 3rem 35rem rgba(0,0,0,0.25);
}
.page--storelocator .storelocator-places .agency-card:hover figure img {
  transform: scale(1.05);
}
.page--storelocator .storelocator-presentation {
  background: linear-gradient(0deg, #fff 0%, #f7f4f2 100%);
  padding-top: 60rem;
  padding-bottom: 60rem;
  position: relative;
  width: 100%;
  padding-left: calc(50% - 600rem);
  padding-right: calc(50% - 600rem);
}
.page--storelocator .storelocator-presentation .content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1140rem;
  margin: 55rem auto 0;
}
.page--storelocator .storelocator-presentation .content-text {
  width: 45%;
  color: #000;
  line-height: 38rem;
  font-size: 21rem;
  font-weight: 300;
}
.page--storelocator .storelocator-presentation .content-text p {
  margin-bottom: 50rem;
}
.page--storelocator .storelocator-presentation .content-text p:last-child {
  margin-bottom: 0;
}
.page--storelocator .storelocator-presentation .action-card {
  max-width: 505rem;
  padding: 30rem 30rem 40rem;
}
.page--storelocator .storelocator-presentation .action-card .card-content {
  margin-bottom: 30rem;
}
.page--storelocator .storelocator-presentation .action-card .card-content p {
  margin: 0;
}
.page--storelocator .storelocator-presentation .action-card .card-content strong {
  font-size: 18rem;
  font-weight: 500;
}
.page--storelocator .storelocator-presentation .action-card .review-qrcode {
  flex: 1 0 160rem;
  width: 160rem;
  height: 160rem;
  padding: 12rem;
  background-color: #fff;
  border-radius: 4rem;
  position: relative;
}
.page--storelocator .storelocator-presentation .action-card .review-qrcode img {
  max-width: 100%;
}
.page--storelocator .storelocator-presentation .action-card .review-qrcode::after {
  content: '';
  position: absolute;
  left: calc(50% - 24rem);
  top: calc(50% - 24rem);
  width: 48rem;
  height: 48rem;
  background-image: url("svg/logo-small.svg");
  background-size: contain;
  border-radius: 3rem;
}
.page--storelocator .storelocator-presentation .slider-container {
  position: relative;
  align-self: flex-start;
  margin-bottom: 20rem;
}
.page--storelocator .storelocator-presentation .slider-container img {
  display: flex;
  align-items: center;
  justify-content: center;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 450rem;
  background-color: rgba(153,153,153,0.4);
}
.page--storelocator .storelocator-presentation .slider-container .slider-content {
  width: 505rem;
  border-radius: 10rem;
  overflow: hidden;
}
.page--storelocator .storelocator-presentation .slider-container .carousel-dots {
  position: absolute;
  left: 50%;
  bottom: -40rem;
  transform: translate(-50%, 0);
}
.page--storelocator .storelocator-presentation .slider-container .carousel-dots button {
  background-color: #8c8c8c;
}
.page--storelocator .storelocator-presentation .slider-container .carousel-dots .dot-active {
  background-color: #c2143a;
}
.page--storelocator .storelocator-presentation .slider-container .carousel-arrow {
  position: absolute;
  top: calc(50% - 32.5rem);
  background-color: #c2143a;
  opacity: 1;
}
.page--storelocator .storelocator-presentation .slider-container .carousel-prev {
  left: -32rem;
}
.page--storelocator .storelocator-presentation .slider-container .carousel-next {
  right: -32rem;
}
.page--storelocator .storelocator-regions {
  position: relative;
  width: 100%;
  padding-left: calc(50% - 550rem);
  padding-right: calc(50% - 550rem);
  display: flex;
  flex-direction: column;
  margin-top: 50rem;
  margin-bottom: 50rem;
}
.page--storelocator .storelocator-regions .storelocator-title {
  text-align: center;
  margin-bottom: 25rem;
}
.page--storelocator .storelocator-regions .storelocator-title strong {
  display: inline;
}
.page--storelocator .storelocator-regions-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.page--storelocator .storelocator-regions-links a {
  display: flex;
  height: 70rem;
  align-items: center;
  color: #635459;
  text-decoration: none;
  font-size: 16rem;
  text-align: left;
  border-bottom: 1px solid #d4d4d4;
}
.page--storelocator .storelocator-regions-links a:hover {
  color: #c2143a;
}
.page--storelocator .storelocator-regions-links {
  margin-bottom: 20rem;
}
.visually-hidden {
  width: 1px;
  height: 1px;
  position: absolute;
  display: inherit;
  clip-path: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
}
@media only screen and (min-width: 515px) and (max-width: 768px){
  html {
    font-size: 0.130208333333333vw;
  }
}
@media only screen and (min-width: 516px){
  aside.summary {
    position: absolute;
    z-index: 1;
    right: 0;
    width: 500rem;
    padding: 0 20rem;
    margin-top: -50rem;
  }
  aside.summary details {
    padding: 40rem;
    margin-right: 20rem;
    margin-bottom: 20rem;
  }
  aside.summary.summary-folder {
    padding: 0;
    width: auto;
  }
  #free-study {
    width: 255rem;
    height: 80rem;
    padding: 0 0 0 30rem;
    line-height: 1.25;
    font-size: 23rem;
    filter: drop-shadow(5rem 5rem 10rem rgba(0,0,0,0.2));
  }
  #free-study::before {
    border-radius: 7.5rem;
  }
  #free-study svg {
    width: 30rem;
    height: 30rem;
    top: calc(50% - 15rem);
    left: 35rem;
  }
  #modal-newsletter .modal-content > svg {
    width: 30rem;
    height: 25rem;
    margin-bottom: 25rem;
  }
  .modal-offer .modal-title {
    line-height: 1.5;
    font-size: 32rem;
/*
       * ECART NUL entre le titre et le sous-titre, retour du 20/08 (#424).
       * Mesure dans les deux maquettes : le pave du sous-titre commence
       * exactement la ou finit celui du titre (y=64 pour un titre de 64 de
       * haut). C'est l'interlignage 1,5 qui separe, rien d'autre.
       * La variante financement obtenait ce meme resultat par un margin-top
       * negatif de -12, rattrapage desormais inutile et supprime.
       *
       * DEPENDANCE A CONNAITRE : .modal-title est un div, sans marge par
       * defaut, mais .modal-subtitle est un p. Sa marge haute de navigateur
       * n'est PAS neutralisee par @import-normalize, qui ne touche pas aux p,
       * mais par la regle generique de style/element/text.styl (p
       * margin-block-start 0). Si cette regle disparait un jour, l'ecart
       * revient ici sur les DEUX variantes a la fois, et rien dans ce fichier
       * ne l'expliquera.
       */
    margin-bottom: 0;
  }
  .modal-offer .modal-subtitle {
    line-height: 1.5;
    font-size: 19rem;
    margin-bottom: 30rem;
  }
  .modal-offer .modal-body {
    line-height: 1.5;
    font-size: 16rem;
  }
  .modal-offer .modal-actions {
    gap: 24rem;
    margin-top: 40rem;
  }
  .modal-title {
    line-height: 1.2;
    font-size: 30rem;
    margin-bottom: 20rem;
  }
  main {
    min-height: calc(100vh - 675rem);
  }
  .page--contact .section-contactform form::after {
    content: '';
    display: block;
    clear: both;
  }
  .page--contact .section-contactform form h2 {
    float: left;
    width: 100%;
    text-align: center;
    margin-bottom: 30rem;
  }
  .page--contact .section-contactform form hr {
    float: left;
  }
  .page--contact .section-contactform form .field {
    float: left;
    width: calc(50% - 15rem);
  }
  .page--contact .section-contactform form .field-request {
    width: 100%;
  }
  .page--contact .section-contactform form .field-request-need {
    width: 100%;
  }
  .page--contact .section-contactform form .field-request-other {
    width: 100%;
  }
  .page--contact .section-contactform form .field-civility {
    width: 100%;
  }
  .page--contact .section-contactform form .field-lastname {
    margin-right: 30rem;
  }
  .page--contact .section-contactform form .field-email {
    margin-right: 30rem;
  }
  .page--contact .section-contactform form .field-customer-code {
    margin-right: 30rem;
  }
  .page--contact .section-contactform form .field-optin-email {
    clear: both;
  }
  .page--contact .section-contactform form .field-optin-email label::after,
  .page--contact .section-contactform form .field-optin-email label::before {
    margin-top: 2.5rem;
  }
  .page--contact .section-contactform form .field-address {
    width: 100%;
  }
  .page--contact .section-contactform form .field-zip {
    margin-right: 30rem;
  }
  .page--contact .section-contactform form .field-message {
    width: 100%;
  }
  .page--contact .section-contactform form p.note {
    float: left;
  }
  .page--contact .section-contactform form .form-actions {
    float: left;
    width: 100%;
    margin-top: 20rem;
  }
  .page--contact .section-contactform form .form-actions .field-submit {
    width: auto;
    margin-bottom: 0;
  }
  .page--contact .section-contactform.contactform-step-1 form .form-actions {
    justify-content: flex-end;
  }
  .page--contact .section-contactform .action-cards {
    display: flex;
  }
  .page--contact .section-contactform .action-cards .contact-card {
    width: 350rem;
    margin-right: 30rem;
  }
  .page--contact .section-contactform .action-cards .action-card-large {
    flex: 1;
    text-align: center;
  }
  .page--contact .section-contactform .action-cards .action-card-large > div {
    padding: 30rem;
  }
  .page--dataprivacy .section-dataprivacyform form::after {
    content: '';
    display: block;
    clear: both;
  }
  .page--dataprivacy .section-dataprivacyform form h2 {
    float: left;
    width: 100%;
    text-align: center;
    margin-bottom: 30rem;
  }
  .page--dataprivacy .section-dataprivacyform form hr {
    float: left;
  }
  .page--dataprivacy .section-dataprivacyform form .field {
    float: left;
    width: calc(50% - 15rem);
  }
  .page--dataprivacy .section-dataprivacyform form .field-civility {
    width: 100%;
  }
  .page--dataprivacy .section-dataprivacyform form .field-lastname {
    margin-right: 30rem;
  }
  .page--dataprivacy .section-dataprivacyform form .field-company {
    margin-right: 30rem;
  }
  .page--dataprivacy .section-dataprivacyform form .field-message {
    width: 100%;
  }
  .page--dataprivacy .section-dataprivacyform form .field-documents {
    width: 100%;
  }
  .page--dataprivacy .section-dataprivacyform form .field-submit {
    width: 100%;
    text-align: center;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards {
    display: flex;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards .contact-card {
    width: 350rem;
    margin-right: 30rem;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards .action-card-large {
    flex: 1;
    text-align: center;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards .action-card-large > div {
    padding: 30rem;
  }
  .page--gallery .nav-breadcrumb .back-link {
    float: left;
  }
  .page--gallery .section-pictures .pictures-list {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 30rem;
    column-gap: 30rem;
  }
  .page--gallery .section-pictures .pictures-modal .modal-close {
    top: 30rem;
    right: 70rem;
  }
  .page--gallery .section-pictures .pictures-carousel figure {
    max-height: 100vh;
  }
  .page--gallery .section-pictures .pictures-caption {
    line-height: 1.25;
    font-size: 16rem;
    max-width: 860rem;
    padding: 25rem;
  }
  .page--gallery .section-pictures .pictures-caption strong {
    margin-bottom: 7.5rem;
  }
  .page--gallery .section-pictures .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  .page--gallery .section-pictures .carousel-arrow.carousel-prev {
    left: 70rem;
  }
  .page--gallery .section-pictures .carousel-arrow.carousel-next {
    right: 70rem;
  }
  .page--home.theme-pro .section-push-model {
    padding-top: 40rem;
  }
  .page--project-follow-step .section-projectstep-introduction h1 {
    margin-bottom: 30rem;
  }
  .page--universal .header-hero {
    height: calc(100vh - 105rem - 50rem);
    padding-top: 80rem;
    margin-bottom: 30rem;
  }
  .card-reinsurance .card-visual {
    width: 80rem;
    height: 80rem;
  }
  .jobtype-teaser {
    padding-bottom: 95rem;
  }
  .jobtype-teaser .button {
    white-space: nowrap;
    position: absolute;
    bottom: 30rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .product-teaser .product-promo {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .product-teaser .product-argument {
    top: 30rem;
    left: 30rem;
  }
  .product-teaser .product-info h3 {
    line-height: 1.3;
    font-size: 16rem;
    margin-bottom: 16rem;
    min-height: 2.6em;
  }
  .product-teaser.product-minimal h3 {
    font-size: 12rem;
    margin-bottom: 0;
  }
  header.header-base {
    margin-left: auto;
    margin-right: auto;
    max-width: 950rem;
    clear: both;
  }
  header.header-base h1 {
    margin-bottom: 17.5rem;
  }
  header.header-base p {
    line-height: 1.8;
    font-size: 21rem;
  }
  header.header-base--corpo {
    margin-left: auto;
    margin-right: auto;
    max-width: 764rem;
    clear: both;
  }
  header.header-base--corpo h1,
  header.header-base--corpo h2,
  header.header-base--corpo h3 {
    margin-bottom: 12rem;
  }
  header.header-base--corpo .header-base__text {
    line-height: 1.4;
    font-size: 16rem;
  }
  header.header-base--corpo .header-base__cta {
    padding-top: 40rem;
    padding-bottom: 80rem;
  }
  header.header-base--corpo:not(:has(.header-base__cta)) {
    padding-bottom: 80rem;
  }
  .section-ambassadors .testimony-content .testimonial blockquote {
    width: 350rem;
  }
  .section-carousel {
    overflow: hidden;
  }
  .section-carousel .carousel-dots {
    margin-bottom: 30rem;
  }
  .section-carousel .carousel-arrow {
    width: 60rem;
    height: 60rem;
    position: absolute;
    top: calc(50% - 30rem);
  }
  .section-carousel .carousel-prev {
    left: -30rem;
  }
  .section-carousel .carousel-next {
    right: -30rem;
  }
  .section-certifications {
    padding-bottom: 60rem;
    padding-top: 60rem;
    position: relative;
    width: 100%;
    padding-left: calc(50% - 595rem);
    padding-right: calc(50% - 595rem);
  }
  .section-certifications h2 {
    margin-bottom: 40rem;
  }
  .section-certifications .certification-tabs {
    margin-bottom: 40rem;
  }
  .section-certifications .certification-tab {
    line-height: 1.5;
    font-size: 15rem;
    margin-left: 30rem;
    margin-right: 30rem;
    padding: 5rem 10rem;
  }
  .section-certifications .certification-tab::after {
    right: -30rem;
  }
  .section-certifications .certification-list {
    display: flex;
    justify-content: space-evenly;
  }
  .section-certifications .certification-item {
    width: 25%;
    min-height: 340rem;
    margin: 0 15rem;
    flex-flow: column;
    align-items: center;
    justify-content: space-evenly;
  }
  .section-certifications .certification-item figure {
    width: 160rem;
    height: 160rem;
    margin-bottom: 30rem;
  }
  .section-certifications .certification-item figure img {
    width: 100rem;
  }
  .section-certifications .certification-item h3 {
    line-height: 1;
    font-size: 21rem;
    margin-bottom: 17.5rem;
  }
  .section-certifications .certification-item p {
    flex: 1;
    line-height: 1.25;
    font-size: 16rem;
  }
  .section-certifications .certification-item.item-active {
    display: flex;
  }
  .section-company .company-item-content figure {
    width: 130rem;
  }
  .section-company .company-item-content figure img {
    width: 100%;
    height: auto;
    margin-bottom: 20rem;
  }
  .section-contact {
    padding-block: 60rem;
  }
  .section-contact .section-title {
    margin-bottom: 40rem;
  }
  .section-contact .contact-item {
    display: flex;
    flex-flow: column;
    max-width: calc(100% / 3);
  }
  .section-contact .contact-item p {
    flex: 1;
  }
  .section-customize {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-customize > .customize-text,
  .section-customize > p {
    line-height: 1.6;
    font-size: 14rem;
    max-width: 705rem;
    margin: 0 auto 40rem;
  }
  .section-customize .customize-card-list {
    display: flex;
    justify-content: center;
    margin-bottom: 60rem;
  }
  .section-customize .customize-card-list + p {
    max-width: 705rem;
    margin-bottom: 60rem;
  }
  .section-customize .customize-card {
    width: calc(50% - 15rem);
    padding-bottom: 105rem;
    margin-right: 30rem;
  }
  .section-customize .customize-card:last-child {
    margin-right: 0;
  }
  .section-customize .customize-card figure {
    height: 250rem;
    background-color: #f7f4f2;
  }
  .section-customize .customize-card h3 {
    line-height: 1.2;
    font-size: 16rem;
    padding: 0 40rem;
  }
  .section-customize .customize-card .customize-feature {
    line-height: 1.3;
    font-size: 20rem;
    padding: 0 40rem;
  }
  .section-customize .customize-card p {
    margin-bottom: 0;
    padding: 0 75rem;
  }
  .section-customize .customize-card .button {
    white-space: nowrap;
    position: absolute;
    bottom: 30rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .section-customize .customize-option-list {
    position: relative;
    width: auto;
  }
  .section-customize .customize-option {
    display: flex;
    flex-direction: column;
    width: 50%;
    min-height: 100rem;
    padding: 15rem;
  }
  .section-customize .customize-option a {
    height: 100%;
    text-decoration: none;
  }
  .section-customize .customize-option p {
    flex-grow: 1;
    padding-bottom: 10rem;
    margin-bottom: 0;
  }
  .section-exceptional-information {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-gallery {
    height: 45.8vw;
  }
  .section-gallery .button {
    bottom: 30rem;
    right: calc(50% - 690rem);
  }
  .section-hero-banner {
    display: flex;
    align-items: center;
    min-height: 760rem;
    padding-bottom: 80rem;
    padding-top: 80rem;
  }
  .section-hero-banner .hero-banner-card {
    width: 480rem;
    padding: 32rem;
  }
  .section-filter.section-jobtype-filter .search-results {
    display: flex;
    flex-wrap: wrap;
  }
  .section-price-grid {
    padding-bottom: 60rem;
    padding-top: 60rem;
    overflow: hidden;
  }
  .section-price-grid > figure {
    position: absolute;
    left: 0;
    top: 0;
  }
  .section-price-grid table {
    margin-bottom: 35rem;
  }
  .section-price-grid table thead th {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-price-grid table tbody th {
    padding-bottom: 15rem;
    padding-top: 15rem;
  }
  .section-price-grid table tfoot td {
    padding-bottom: 10rem;
  }
  .section-price-grid table br {
    display: none;
  }
  .section-price-grid p.note {
    margin-bottom: 40rem;
  }
  .section-projectsteps {
    padding-bottom: 60rem;
  }
  .section-projectsteps .projectstep {
    margin-right: 30rem;
  }
  .section-projectsteps .projectstep:last-child {
    margin-right: 0;
  }
  .section-promo-header {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-promo-prehome {
    padding-top: 70rem;
  }
  .section-promo-prehome figure img {
    max-height: 110rem;
  }
  .section-promo-prehome p {
    line-height: 1.6;
    font-size: 21rem;
  }
  .section-promo-prehome .scroll-down-container {
    position: absolute;
    bottom: 30rem;
  }
  .section-promo-prehome .scroll-down-link {
    margin-bottom: 30rem;
  }
  .section-push-social {
    padding-block: 40rem;
  }
  .section-push-social .push-social::after {
    bottom: 20rem;
    right: 20rem;
    width: 40rem;
    height: 40rem;
  }
  .section-push-social .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  .section-push-social .carousel-prev {
    left: calc(50% - 620rem);
  }
  .section-push-social .carousel-next {
    right: calc(50% - 620rem);
  }
  .section-reinsurance h2 {
    margin-bottom: 40rem;
  }
  .section-reinsurance .reinsurance-items {
    padding: 40rem 30rem 30rem;
  }
  .section-satisfaction {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-satisfaction h2 {
    margin-bottom: 40rem;
  }
  .section-satisfaction .satisfaction-reviews {
    padding-top: 20rem;
  }
  .section-satisfaction .satisfaction-reviews figure {
    width: 220rem;
    height: 220rem;
    margin-bottom: 40rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial {
    margin-bottom: 40rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial blockquote {
    line-height: 1.525;
    font-size: 15rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial-list {
    min-height: 240rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial-hitlist figure {
    height: 250rem;
  }
  .section-savoir-faire {
    padding-bottom: 80rem;
    padding-top: 80rem;
  }
  .section-savoir-faire .savoir-faire-content {
    width: 600rem;
    padding: 60rem;
  }
  .section-savoir-faire .savoir-faire-content p {
    line-height: 1.66667;
    font-size: 21rem;
    margin-bottom: 25rem;
  }
  .section-savoir-faire .savoir-faire-content h2 svg {
    margin-bottom: 25rem;
  }
  .section-savoir-faire .savoir-faire-content ul li {
    line-height: 1.65;
    font-size: 18rem;
    padding-left: 25rem;
  }
  .section-savoir-faire .savoir-faire-signature {
    width: 300rem;
    justify-content: space-between;
  }
  .section-savoir-faire .savoir-faire-signature img {
    width: 100rem;
  }
  .section-savoir-faire .savoir-faire-signature figcaption {
    margin-top: 25rem;
  }
  .section-studyform h2,
  .study-form h2 {
    line-height: 1.25;
    font-size: 20rem;
  }
  .section-studyform h2:first-child,
  .study-form h2:first-child {
    margin-top: 0;
  }
  .section-studyform form legend span:not(.number),
  .study-form form legend span:not(.number) {
    align-items: center;
    gap: 10rem;
  }
  .section-studyform form .form-step-fields,
  .study-form form .form-step-fields {
    padding-left: 100rem;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-zip-city,
  .study-form form .form-step-fields fieldset.fieldset-zip-city {
    width: 350rem;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-message > label,
  .study-form form .form-step-fields fieldset.fieldset-message > label {
    font-size: 16rem;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-phone,
  .study-form form .form-step-fields fieldset.fieldset-phone {
    width: 350rem;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-catalog > label,
  .study-form form .form-step-fields fieldset.fieldset-catalog > label {
    font-size: 16rem;
  }
  .section-studyform form .form-step-fields .field-text,
  .study-form form .form-step-fields .field-text,
  .section-studyform form .form-step-fields .field-select,
  .study-form form .form-step-fields .field-select,
  .section-studyform form .form-step-fields .field-radios,
  .study-form form .form-step-fields .field-radios,
  .section-studyform form .form-step-fields .field-button,
  .study-form form .form-step-fields .field-button {
    width: 350rem;
  }
  .section-studyform form .form-step-fields .field-textarea textarea,
  .study-form form .form-step-fields .field-textarea textarea {
    min-height: 230rem;
  }
  .section-studyform form .form-step-fields .field-optin-catalog,
  .study-form form .form-step-fields .field-optin-catalog {
    padding-top: 20rem;
    margin-bottom: 25rem;
  }
  .section-studyform form .form-step-fields .field-optin-catalog label,
  .study-form form .form-step-fields .field-optin-catalog label {
    margin-right: 0;
  }
  .section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio label p,
  .study-form form .form-step-fields .field-catalog-delivery .radios > .radio label p {
    font-size: 16rem;
  }
  .section-studyform form .form-step-fields .field-catalog-delivery .radios > .radio label p span,
  .study-form form .form-step-fields .field-catalog-delivery .radios > .radio label p span {
    font-size: 14rem;
  }
  .section-studyform form .form-step-fields .field-optin-email,
  .study-form form .form-step-fields .field-optin-email {
    width: 100%;
  }
  .section-studyform form .form-step-fields .field-optin-email label::after,
  .study-form form .form-step-fields .field-optin-email label::after,
  .section-studyform form .form-step-fields .field-optin-email label::before,
  .study-form form .form-step-fields .field-optin-email label::before {
    margin-top: -4rem;
  }
  .section-studyform form .field-submit,
  .study-form form .field-submit {
    text-align: center;
  }
  .section-table {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-testimonies-pro .testimony-content .testimonial blockquote {
    width: 430rem;
  }
  .section-testimonies {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-testimonies h2 {
    margin-bottom: 40rem;
  }
  .section-testimonies article > svg {
    width: 65rem;
    height: 110rem;
    top: 0;
    right: 0;
  }
  .section-testimonies article > figure {
    flex: 0 570rem;
    margin-right: 60rem;
  }
  .section-testimonies .testimony-content {
    align-items: flex-start;
  }
  .section-testimonies .testimony-content .testimonial {
    padding-top: 35rem;
    background-size: 30rem;
    background-position: top left;
    mask-size: 30rem;
    mask-position: top left;
    -webkit-mask-size: 30rem;
    -webkit-mask-position: top left;
    margin-bottom: 40rem;
  }
  .section-testimonies .testimony-content .testimonial blockquote {
    line-height: 1.36;
    font-size: 25rem;
  }
  .section-testimonies .testimony-content .testimonial figcaption {
    font-size: 15rem;
  }
  .section-testimonies .testimony-content .testimonial figcaption strong {
    font-size: 25rem;
  }
  .section-testimonies .carousel-dots {
    display: flex;
  }
  .section-testimonies .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  .section-testimonies .carousel-prev {
    left: calc(50% - 650rem);
  }
  .section-testimonies .carousel-next {
    right: calc(50% - 650rem);
  }
}
@media only screen and (min-width: 516px) and (max-width: 1050px){
  .submenu .menu-mobile {
    position: sticky;
    z-index: 1;
    top: 0;
    padding-bottom: 15rem;
    padding-top: 15rem;
  }
  .submenu-large .background-video {
    top: 75rem;
  }
  .submenu-large .menu-card-items {
    height: auto;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
  }
  .submenu-large .menu-card-items article.item-category {
    flex: 0 calc(50% - 7.5rem);
    height: 250rem;
    margin: 0 0 15rem 0;
  }
  main > section {
    padding-left: 45rem;
    padding-right: 45rem;
  }
  .page--category .section-push-articles {
    width: auto;
    margin-left: 45rem;
    margin-right: 45rem;
  }
  .page--contact .section-contactform form {
    padding: 40rem 30rem;
  }
  .page--gallery .nav-breadcrumb {
    padding-left: 40rem;
    padding-right: 40rem;
  }
  .page--gallery .section-pictures {
    padding-left: 40rem;
    padding-right: 40rem;
  }
  .page--project-follow-home main > aside {
    padding-left: 45rem;
    padding-right: 45rem;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .page--project-follow-home main > aside .action-card {
    flex: 0 350;
  }
  .page--study .aside-study {
    padding-left: 45rem;
    padding-right: 45rem;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .page--study .aside-study .contact-card {
    flex: 0 calc(50% - 15rem);
  }
  .product-teaser .product-info h3 {
    margin-bottom: 10rem;
  }
  .product-teaser .product-price-current {
    font-size: 25rem;
  }
  .section-company {
    padding-left: 60rem;
    padding-right: 60rem;
  }
  .section-company .carousel-arrow {
    display: none;
  }
  .section-contact {
    padding-left: 45rem;
    padding-right: 45rem;
  }
  .section-contact .contact-items {
    gap: 30rem;
  }
  .section-contact .contact-item .item-title {
    font-size: 18rem;
  }
  .section-contact .contact-item p {
    font-size: 12rem;
  }
  .section-contact .contact-item a.button {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.45;
    padding-bottom: 0;
    padding-top: 0;
  }
  .section-customize {
    padding: 60rem 30rem;
  }
  .section-customize .customize-option-list {
    max-width: 600rem;
    margin: 0 auto;
  }
  .section-external-site-push::before {
    width: calc(100% - 90rem);
  }
  .section-folders .carousel-arrow.carousel-prev {
    right: calc(100% - 30rem);
  }
  .section-folders .carousel-arrow.carousel-next {
    left: calc(100% - 30rem);
  }
  .section-hero-banner-container {
    padding-inline: 12rem;
  }
  .section-price-seo .price-seo-page {
    flex: 0 1 calc(50% - 10rem);
  }
  #overlay .overlay-content.overlay-tailormade .tailormade-option figure.main-figure {
    height: 280rem;
  }
  section.section-products-manual .categories ul {
    gap: 16rem;
  }
  section.section-products-manual .categories ul li {
    flex: 0 0 calc(33.3333% - 10.6667rem);
  }
  section.section-products .categories ul {
    gap: 16rem;
  }
  section.section-products .categories ul li {
    flex: 0 0 calc(33.3333% - 10.6667rem);
  }
  .section-promo-prehome {
    height: calc(100vh - 106rem);
  }
  .section-push-social .push-social {
    width: 210rem;
    height: 210rem;
  }
  .section-reinsurance {
    padding-left: 45rem;
    padding-right: 45rem;
  }
  .section-testimonies-pro::after {
    width: calc(100% - 90rem);
  }
  .page--storelocator .storelocator-places .agency-card {
    margin-right: 20rem;
  }
}
@media only screen and (min-width: 516px) and (max-width: 768px){
  .action-card-large figure {
    height: 250rem;
  }
  #modal-faq .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-faq .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser {
    width: calc(20% - 16rem);
    padding-bottom: 45rem;
    margin-right: 20rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-faq .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  #modal-project-follow .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser {
    width: calc(20% - 16rem);
    padding-bottom: 45rem;
    margin-right: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  #modal-upkeep .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser {
    width: calc(20% - 16rem);
    padding-bottom: 45rem;
    margin-right: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  .page--contact .section-contactform .action-cards {
    align-items: flex-start;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards {
    align-items: flex-start;
  }
  .page--model.theme-pro .section-push-content .push-content-list {
    justify-content: center;
  }
  .page--project-follow-step .section-projectstep-progressbar + .section-projectstep-navigation {
    margin-bottom: 40rem;
  }
  .page--project-follow-step .section-projectstep-introduction figure {
    left: -45rem;
  }
  .page--storelocator .storelocator-link-list {
    margin-left: 45rem;
    margin-right: 45rem;
    padding-bottom: 15rem;
  }
  .page--study h1 strong {
    display: block;
  }
  header.header-hero aside.aside-hero.aside-info {
    bottom: 32rem;
    margin-inline: 32rem;
  }
  .section-certifications .certification-tab {
    line-height: 1.45;
    font-size: 14rem;
    max-width: 200rem;
  }
  .section-certifications .certification-list {
    flex-wrap: wrap;
  }
  .section-certifications .certification-item {
    min-width: 245rem;
  }
  .section-company .slide-title {
    opacity: 1;
    transform: none;
  }
  .section-company .company-item {
    padding: 40rem 60rem;
  }
  .section-company .company-item > figure {
    width: 360rem;
    height: 360rem;
  }
  .section-company .company-item-content p {
    line-height: 1.425;
    font-size: 16rem;
  }
  .section-company .company-item-content figure {
    margin: 0 20rem 30rem 20rem;
  }
  .section-contact {
    padding-bottom: 30rem;
  }
  .section-contact .contact-items {
    flex-flow: wrap;
  }
  .section-contact .contact-item {
    flex-basis: calc(50% - 15rem);
    margin-bottom: 30rem;
  }
  .section-contact .contact-item p {
    margin-bottom: 25rem;
  }
  .section-figures .figure-list .figure {
    margin-bottom: 20rem;
  }
  .section-filter form {
    left: calc(100vw - 500rem);
    width: 500rem;
  }
  .section-filter .search-results {
    margin-block: 0 15rem;
    gap: 20rem;
  }
  .section-filter .search-results::after {
    content: none;
  }
  .section-filter .search-results article {
    width: calc(50% - 10rem);
  }
  .section-image-richtext figure {
    margin-left: -45rem;
  }
  .section-image-richtext figure.figure-video.type-embed,
  .section-image-richtext figure.figure-image {
    margin-left: 0;
  }
  .section-price-grid {
    padding-left: 45rem;
  }
  .section-price-grid > figure {
    display: none;
  }
  .section-filter.section-product-filter .search-results .product-teaser.product-highlight {
    width: 100%;
  }
  .section-product-info .product-gallery figure:not(.product-promo) {
    height: 540rem;
  }
  .section-product-info .product-info h1 {
    width: 60%;
  }
  .section-product-info .product-info h1 + .button {
    position: relative;
    left: -65rem;
    top: -8rem;
  }
  .section-projectsteps {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 270rem);
    padding-right: calc(50% - 270rem);
  }
  .section-projectsteps .projectstep {
    width: calc(50% - 15rem);
  }
  .section-projectsteps .projectstep:nth-of-type(2n) {
    margin-right: 0;
  }
  .section-reinsurance .reinsurance-item {
    margin: 0 20rem;
  }
  .section-table {
    padding: 45rem 0;
  }
  .section-table .table-container {
    width: 100%;
    overflow-y: auto;
    padding-bottom: 9rem;
  }
  .section-table .table-container > div {
    width: 1200rem;
    padding: 0 45rem;
  }
  .section-table .table-container > div table {
    width: 1110rem;
  }
  .section-testimonies article > svg {
    top: 270rem;
  }
  .section-testimonies article > figure {
    flex: 0 325rem;
    margin-right: 0;
  }
  .section-tuile-colonne .section-tuile-colonne-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-video figure {
    margin-left: -45rem;
  }
  .page--storelocator .storelocator-info {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 35rem;
  }
  .page--storelocator .storelocator-info .info-contact {
    flex: 1 50%;
    margin-bottom: 30rem;
    padding-right: 30rem;
    text-align: right;
  }
  .page--storelocator .storelocator-info .info-schedule {
    flex: 1 50%;
    margin: 0 0 30rem 0;
  }
  .page--storelocator .storelocator-info .action-card {
    max-width: 350rem;
  }
  .page--storelocator .storelocator-location {
    margin-bottom: 45rem;
  }
  .page--storelocator .storelocator-other-agencies .other-agencies-cards {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 270rem);
    padding-right: calc(50% - 270rem);
    padding-bottom: 15rem;
  }
  .page--storelocator .storelocator-places .agency-card {
    width: calc(33.333333333333336% - 13.33333rem);
  }
  .page--storelocator .storelocator-places .agency-card:nth-of-type(3n) {
    margin-right: 0;
  }
  .page--storelocator .storelocator-regions-links a {
    width: calc(50% - 15rem);
  }
}
@media (min-width: 768px){
  .section-timeline .timeline-item--image-etire .timeline-item-above {
    overflow: visible;
  }
  .section-timeline .timeline-item--image-etire .timeline-item-above .timeline-visual {
    align-items: self-end;
  }
  .section-timeline .timeline-item--image-etire .timeline-item-below {
    overflow: visible;
  }
  .section-timeline .timeline-item--image-etire .timeline-item-below .timeline-visual {
    align-items: self-start;
    overflow: hidden;
  }
  .section-timeline .timeline-item--image-etire .timeline-visual {
    width: 100%;
    max-height: 400rem;
    display: flex;
  }
}
@media only screen and (min-width: 769px){
  .action-card .card-title,
  .action-card .card-suptitle {
    line-height: 1.5;
    font-size: 18rem;
  }
  .action-card .card-title {
    margin-bottom: 10rem;
  }
  .action-card-large {
    width: 100%;
  }
  .action-card-large figure,
  .action-card-large > div {
    width: 50%;
  }
  .action-card-large > div {
    padding: 40rem 65rem;
  }
  .button-picto {
    padding-inline-start: 50rem;
  }
  .button-picto svg {
    left: 20rem;
    max-width: 18rem;
  }
  .button-picto.button-small {
    padding-inline-start: 32rem;
  }
  .button-picto.button-small svg {
    left: 14rem;
    max-width: 12rem;
  }
  .button-picto.button-large {
    padding-inline-start: 60rem;
  }
  .button-picto.button-large svg {
    left: 24rem;
    max-width: 24rem;
  }
  .button-arrow {
    padding: 12.5rem;
  }
  .button-arrow::after {
    width: 20rem;
    height: 20rem;
  }
  figure.figure-video::before {
    width: 65rem;
    height: 65rem;
  }
  figure.figure-video::after {
    border-block-width: 10rem;
    border-inline-width: 15rem 0;
  }
  #modal-callback form .field {
    width: calc(50% - 15rem);
  }
  #modal-callback form .field:nth-child(2n - 1) {
    margin-right: 30rem;
  }
  #modal-callback form .field-submit {
    width: 100%;
    text-align: center;
    margin-right: 0;
  }
  #modal-faq .modal-content {
    padding: 40rem 30rem;
    min-height: 376rem;
  }
  #modal-faq .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-faq .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser {
    width: calc(20% - 24rem);
    padding: 35rem 5rem 77rem;
    margin-right: 30rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-faq .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser .button {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #modal-newsletter form .field-submit {
    width: 100%;
    text-align: center;
  }
  #modal-project-follow .modal-content {
    padding: 40rem 30rem;
    min-height: 476rem;
  }
  #modal-project-follow .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser {
    width: calc(20% - 24rem);
    padding: 35rem 5rem 77rem;
    margin-right: 10rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .button {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .modal-storelocator-news .modal-content {
    padding: 40rem 60rem;
  }
  #modal-upkeep .modal-content {
    padding: 40rem 30rem;
    min-height: 376rem;
  }
  #modal-upkeep .modal-content p {
    margin-bottom: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list {
    margin-bottom: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser {
    width: calc(20% - 24rem);
    padding: 35rem 5rem 77rem;
    margin-right: 10rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .card-title {
    font-size: 14rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .button {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
  }
  .load-popin-dialog .dialog-content section.section-image-richtext {
    padding-inline: calc(50% - 460rem) !important;
  }
  .push-card figure {
    height: 53.75%;
    margin-bottom: 35rem;
  }
  .push-card .card-icon {
    height: 24rem;
    margin-bottom: 12rem;
  }
  .push-card h3,
  .push-card .card-title {
    line-height: 1.3;
    font-size: 16rem;
    min-height: 2.6em;
    margin-bottom: 20rem;
  }
  header.header-base.section-404 {
    height: calc(100vh - 107rem);
    background-position: center bottom;
    background-size: cover;
    padding-top: 60rem;
  }
  header.header-base.section-404::before {
    width: 100%;
    height: 48%;
    background-image: linear-gradient(#fff, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0));
  }
  header.header-base.section-404 h1 {
    line-height: 0.45;
    font-size: 80rem;
  }
  header.header-base.section-404 p {
    margin-bottom: 40rem;
  }
  header.header-base.section-410 {
    height: calc(100vh - 107rem);
    background-position: center bottom;
    background-size: cover;
    padding-top: 60rem;
  }
  header.header-base.section-410::before {
    width: 100%;
    height: 48%;
    background-image: linear-gradient(#fff, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0));
  }
  header.header-base.section-410 h1 {
    line-height: 0.45;
    font-size: 80rem;
  }
  header.header-base.section-410 p {
    margin-bottom: 40rem;
  }
  .page--customer-service .header-customer-service {
    max-width: 500rem;
    padding-inline: 20rem;
    margin-inline: auto;
    margin-bottom: 60rem;
  }
  .page--customer-service .header-customer-service h1 {
    margin-bottom: 60rem;
  }
  .page--customer-service .section-customer-service {
    padding-bottom: 60rem;
  }
  .page--customer-service .section-customer-service form {
    max-width: 500rem;
    padding-inline: 20rem;
    margin-inline: auto;
    margin-bottom: 60rem;
  }
  .page--customer-service .section-customer-service form fieldset {
    margin-bottom: 60rem;
  }
  .page--home.theme-pro .header-hero.header-hero-category .hero-pictures article figure::before {
    height: 58%;
  }
  .category-teaser h3,
  .category-teaser .card-title {
    min-height: 2.6em;
  }
  .category-teaser figure {
    margin-bottom: 20rem;
  }
  article.location-teaser {
    padding-block-end: 24rem;
  }
  .push-card.model-teaser figure {
    margin-bottom: 20rem;
  }
  .push-card.model-teaser h3 {
    margin-bottom: 16rem;
  }
  .push-card.model-teaser .model-teaser-content {
    justify-content: flex-start;
    padding-bottom: 32rem;
  }
  .product-teaser {
    height: 100%;
  }
  header.header-hero-caracteristics {
    margin-bottom: 80rem;
    padding-block: 80rem;
  }
  header.header-hero-caracteristics aside.aside-hero.aside-info {
    width: 450rem;
    transform: translate(-50%, 0) !important;
  }
  header.header-hero-caracteristics nav {
    bottom: -40rem;
    position: relative;
    width: 100%;
    padding-left: calc(50% - 555rem);
    padding-right: calc(50% - 555rem);
    margin-block: 20rem;
  }
  header.header-hero-category {
    height: auto;
  }
  header.header-hero-category::after {
    content: '';
    display: block;
    clear: both;
  }
  header.header-hero-category > figure {
    max-height: 570rem;
  }
  header.header-hero-category aside.aside-hero.aside-info {
    float: left;
    position: relative;
    top: 230rem;
    left: 50%;
    max-height: none;
    transform: translate(-50%, 0);
    margin-bottom: 290rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list {
    flex-flow: wrap;
    justify-content: center;
  }
  section.header-hero-home {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 400rem);
    padding-right: calc(50% - 400rem);
  }
  .header-hero-promo > figure {
    padding-inline: 120rem;
    height: 450rem;
    justify-content: flex-end;
  }
  .header-hero-promo > figure::before {
    background-image: linear-gradient(rgba(0,0,0,0) 20%, rgba(0,0,0,0.75) 90%);
  }
  .header-hero-promo > figure figcaption {
    margin-top: 15%;
  }
  .header-hero-promo > figure figcaption h1 .title {
    font-size: 60rem;
  }
  .header-hero-promo .promo-banner {
    padding-block: 50rem 70rem;
    padding-inline: 120rem;
  }
  .header-hero-promo .promo-banner .title {
    width: 100%;
    font-size: 60rem;
  }
  .header-hero-promo .promo-banner .title.banner-desktop,
  .header-hero-promo .promo-banner .subtitle.banner-desktop {
    display: block;
  }
  .header-hero-promo .promo-banner .title.banner-mobile,
  .header-hero-promo .promo-banner .subtitle.banner-mobile {
    display: none;
  }
  .header-hero-promo .promo-banner figure {
    flex: 1 0 635;
    width: 635rem;
    margin-inline: calc(50% - 317.5rem);
  }
  .header-hero-promo .promo-banner figure .banner-mobile {
    display: none;
  }
  .header-hero-promo .promo-banner .button {
    min-width: 300rem;
  }
  .header-hero.header-hero-universal .button {
    margin-top: 30rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content nav {
    margin-bottom: 40rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content p {
    line-height: 1.8;
    font-size: 21rem;
    margin-bottom: 30rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content .button {
    margin-bottom: 30rem;
  }
  header.header-hero aside.aside-hero {
    top: 50%;
    left: 27.5%;
    max-width: 450rem;
    max-height: 410rem;
    transform: translate(-50%, -50%);
  }
  header.header-hero aside.aside-hero.aside-info h1 {
    line-height: 1.2;
    font-size: 24rem;
  }
  header.header-store-locator {
    padding-block-start: 30rem;
    margin-block-end: 24rem;
  }
  header.header-store-locator .breadcrumb {
    margin-block-end: 32rem;
  }
  header.header-store-locator ul.store-locator-services {
    gap: 48rem;
    margin-block: 40rem 0;
  }
  .header-universal figure {
    width: 100%;
    height: 373rem;
    margin-bottom: 10rem;
  }
  .header-universal .header-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 920rem;
    clear: both;
  }
  .header-universal nav {
    margin-top: 40rem;
    margin-bottom: 24rem;
  }
  .header-universal h1 {
    margin-bottom: 12rem;
  }
  .header-universal p {
    line-height: 1.4;
    font-size: 16rem;
    font-weight: 300;
    margin-bottom: 12rem;
  }
  .header-universal time {
    line-height: 1.4;
    font-size: 10rem;
  }
  .section-ambassadors article {
    min-height: 385rem;
  }
  .section-ambassadors article > figure {
    height: 385rem;
  }
  .section-button {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-cards-certifications {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 555rem);
    padding-right: calc(50% - 555rem);
  }
  .section-cards-certifications > p {
    display: inline-block;
    width: 825rem;
  }
  .section-cards-certifications .certification-list .certification-teaser {
    margin: 0 15rem;
  }
  .section-cards-certifications .carousel-dots {
    margin-top: 60rem;
  }
  .section-cards-certifications .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  .section-cards-certifications .carousel-prev {
    left: calc(50% - 650rem);
  }
  .section-cards-certifications .carousel-next {
    right: calc(50% - 650rem);
  }
  .section-cards-certifications .link {
    margin-top: 24rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list.is-centered .carousel-arrow,
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list.is-centered .slick-dots {
    display: none !important;
  }
  .section-company {
    background-color: var(--color-theme) !important;
    transition: background-color 1s ease;
    padding-bottom: 40rem;
    padding-top: 60rem;
  }
  .section-company > h2 {
    color: inherit;
    margin-bottom: 50rem;
  }
  .section-company .slide-title {
    position: relative;
    flex: 100%;
    font-size: 30rem;
    margin-bottom: 10rem;
    transform: scale(0.66667);
    opacity: 0.3;
    transition: 0.3s ease;
    transition-property: transform, opacity;
    cursor: pointer;
  }
  .section-company .slide-title::after {
    content: '';
    width: 0;
    height: 3rem;
    background-color: currentColor;
    position: absolute;
    left: calc(50% - 50rem);
    bottom: -10rem;
    opacity: 0;
    transition: width 10s linear;
  }
  .section-company .slide-title.title-active {
    transform: scale(1);
    opacity: 1;
  }
  .section-company .slide-title.title-active::after {
    opacity: 1;
    width: 100rem;
  }
  .section-company .company-items {
    clip-path: polygon(100% 0, 34% 0, 34% 85%, 0 85%, 0 100%, 100% 100%);
  }
  .section-company .company-pictures {
    width: 455rem;
    height: 455rem;
  }
  .section-company .company-item {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
  }
  .section-company .company-item > figure {
    float: left;
    flex: 0 42%;
    margin-bottom: 30rem;
    visibility: hidden;
  }
  .section-company .company-item-content {
    float: left;
    flex: 0 48%;
    margin-bottom: 30rem;
  }
  .section-company .company-item-content p {
    line-height: 1.75;
    font-size: 21rem;
  }
  .section-company .company-item-content figure {
    float: left;
    margin-right: 30rem;
    text-align: center;
  }
  .section-company .company-pictures {
    position: absolute;
    left: calc(50% - 455rem);
    top: 180rem;
    width: 455rem;
    height: 455rem;
  }
  .section-company .company-pictures figure {
    width: 360rem;
    height: 360rem;
    position: absolute;
    left: 0;
    top: 0;
    box-shadow: 0 12rem 45rem rgba(0,0,0,0.1), 2rem 2rem 5rem rgba(0,0,0,0.25);
    animation: none;
    transition: transform 0.3s ease;
    border-radius: 2rem;
    overflow: hidden;
  }
  .section-company .company-pictures figure:nth-child(1) {
    transform: translate(-15rem, 30rem) rotate(-10deg);
  }
  .section-company .company-pictures figure:nth-child(2) {
    transform: translate(-10rem, 20rem) rotate(20deg);
  }
  .section-company .company-pictures figure:nth-child(3) {
    transform: rotate(-5deg);
  }
  .section-company .company-pictures figure[data-stack-order="0"] {
    z-index: 3;
    transform: rotate(0deg);
  }
  .section-company .company-pictures figure[data-stack-order="1"] {
    z-index: 2;
  }
  .section-company .company-pictures figure[data-stack-order="2"] {
    z-index: 1;
    animation: animation-company-picture 1.2s 1 forwards;
    transition: transform 0.3s ease, z-index 0s 0.6s;
  }
  .section-external-site-push {
    padding-top: 60rem;
    padding-bottom: 60rem;
  }
  .section-external-site-push .action-card .picto {
    height: 30rem;
  }
  .section-filter {
    padding-bottom: 60rem;
  }
  .section-filter > .button-filter {
    display: none;
  }
  .section-filter form {
    margin-bottom: 40rem;
  }
  .section-filter form > p {
    color: #8c8c8c;
  }
  .section-filter form > button {
    display: none;
  }
  .section-filter .search-filters {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    gap: 10rem;
    max-width: 940rem;
    margin: 0 auto;
  }
  .section-filter .search-filters .field {
    margin: 0;
  }
  .section-filter .search-filters .field-checkbox label,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox label,
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed > label {
    display: inline-block;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    width: 100%;
    position: relative;
    min-height: 45rem;
    cursor: pointer;
    line-height: 41rem;
    font-size: 16rem;
    font-weight: 600;
    text-align: left;
    background-color: transparent;
    color: #635459;
    border: 2rem solid #635459;
    border-radius: 999rem;
    padding: 0 50rem 0 20rem;
    white-space: nowrap;
    transition: 0.3s ease;
    transition-property: border-color, background-color, color, opacity;
  }
  .section-filter .search-filters .field-checkbox label svg,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox label svg {
    position: absolute;
    right: 22.5rem;
    top: 15.5rem;
    width: 10rem;
    height: 10rem;
    transition: 0.3s ease;
    transition-property: fill;
  }
  .section-filter .search-filters .field-checkbox label::after,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox label::after,
  .section-filter .search-filters .field-checkbox label::before,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox label::before {
    content: none;
  }
  .section-filter .search-filters .field-checkbox input:checked + label,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox input:checked + label {
    position: relative;
    background-color: var(--color-theme);
    color: #fff;
    border-color: var(--color-theme);
  }
  .section-filter .search-filters .field-checkbox input:checked + label svg,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox input:checked + label svg {
    opacity: 0;
  }
  .section-filter .search-filters .field-checkbox input:checked + label::after,
  .section-filter .search-filters .field-checkboxes.field-choice-expanded div.checkbox input:checked + label::after {
    content: '';
    position: absolute;
    left: auto;
    right: 22.5rem;
    top: 15.5rem;
    width: 14rem;
    height: 8rem;
    border: 2rem solid currentcolor;
    border-width: 0 0 2rem 2rem;
    border-radius: 0;
    margin: 0;
    transform: rotate(-45deg);
    transform-origin: top center;
  }
  .section-filter .search-filters .field-checkboxes .checkboxes div.checkbox {
    padding: 2rem 0;
    margin-bottom: 20rem;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed {
    position: relative;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed > label svg {
    width: 8rem;
    height: 14rem;
    position: absolute;
    right: 20rem;
    top: 13.5rem;
    transition: 0.3s ease;
    transition-property: stroke, transform;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed .checkboxes {
    display: none;
    position: absolute;
    z-index: 8;
    left: 0;
    top: calc(100% + 10rem);
    min-width: 350rem;
    max-width: 380rem;
    background-color: #fff;
    color: #000;
    border: 1px solid #f7f4f2;
    padding: 30rem;
    border-radius: 20rem;
    box-shadow: 0 6rem 22rem -6rem rgba(0,0,0,0.2);
    text-align: left;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed.field-opened > label svg {
    transform: rotate(90deg);
  }
  .section-filter .search-filters .field-checkboxes.field-choice-collapsed.field-opened .checkboxes {
    display: block;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded > label {
    display: none;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded .checkboxes {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded .checkboxes > .checkbox {
    margin: 0 10rem 10rem 10rem;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded .checkboxes > .checkbox label {
    color: var(--color-theme);
    border-color: currentcolor;
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded .checkboxes > .checkbox label:hover {
    background-color: var(--color-theme-dark);
    color: #fff;
    border-color: var(--color-theme-dark);
  }
  .section-filter .search-filters .field-orderby .checkboxes label {
    white-space: nowrap;
  }
  .section-filter .search-filters .field-submit {
    display: none;
  }
  .section-filter .search-filters > .action-clear {
    display: none;
  }
  .section-filter p.note {
    margin-bottom: 30rem;
  }
  .section-image-collection {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-image-collection .image-list {
    gap: 30rem;
  }
  .section-image-collection .image-list.list-layout-3 figure img,
  .section-image-collection .image-list.list-layout-4 figure img {
    margin-bottom: 10rem;
  }
  .section-image-collection .image-list.list-layout-3 figure {
    flex: 0 1 calc(33.333333333333336% - 20rem);
  }
  .section-image-collection .image-list.list-layout-4 figure {
    flex: 0 1 calc(25% - 22.5rem);
  }
  .section-image-richtext {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-image-richtext:has(+ .section-model-info) {
    padding-bottom: 0;
  }
  .section-image-richtext p {
    line-height: 1.4;
    font-size: 14rem;
    font-weight: 300;
  }
  .section-image-richtext .richtext-content blockquote {
    max-width: 764rem;
    margin-inline: auto !important;
  }
  .section-image-richtext ul li {
    line-height: 1.4;
    font-size: 14rem;
    padding-left: 25rem;
  }
  .section-image-richtext .button {
    margin-top: 20rem;
  }
  .section-model-info {
    margin-top: 120rem;
    margin-bottom: 60rem;
  }
  .section-model-info + .section-model-info {
    margin-top: 0;
  }
  .section-model-info nav {
    position: sticky;
    top: calc(var(--menu-header-height) + var(--menu-header-offset));
    background-color: rgba(255,255,255,0.85);
    width: calc(100% + 2 * 40rem);
    padding-inline: 40rem;
    margin-bottom: 120rem;
    transform: translate(-40rem, 0);
    backdrop-filter: blur(10rem);
  }
  .section-model-info nav ul {
    display: flex;
    border-bottom: 1px solid #d1d1d1;
    gap: 60rem;
    margin-inline: -10rem;
  }
  .section-model-info nav ul li {
    position: relative;
    display: inline-block;
  }
  .section-model-info nav ul li::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 0;
    height: 3rem;
    background-color: #635459;
    background-color: var(--color-theme);
    transition: width 0.3s ease;
    will-change: width;
  }
  .section-model-info nav ul li a {
    color: #000;
    display: inline-block;
    line-height: 20rem;
    font-weight: 600;
    text-decoration: none;
    padding: 20rem 10rem 12rem;
    transition-property: border-color, color;
    max-width: 450rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .section-model-info nav ul li:hover a,
  .section-model-info nav ul li.link-active a {
    color: #635459;
    color: var(--color-theme);
  }
  .section-model-info nav ul li:hover::after,
  .section-model-info nav ul li.link-active::after {
    width: 100%;
  }
  .section-model-info.zone-width-920 {
    margin-left: auto;
    margin-right: auto;
    max-width: 920rem;
    clear: both;
    padding-inline: 0;
  }
  .section-model-info.zone-width-800 {
    margin-left: auto;
    margin-right: auto;
    max-width: 800rem;
    clear: both;
    padding-inline: 0;
  }
  .section-model-info article {
    margin-bottom: 120rem;
    gap: 60rem;
  }
  .section-model-info article > div {
    max-width: 486rem;
  }
  .section-model-info article figure {
    flex-basis: 530rem;
    flex-grow: 0;
  }
  .section-model-info article figure img {
    width: 100%;
  }
  .section-model-info article.image-size-296x296 figure,
  .section-model-info article.image-size-296x222 figure {
    flex-basis: 296rem;
  }
  .section-model-info article.force-ratio.image-size-530x530 figure {
    max-width: 530rem;
  }
  .section-model-info article.force-ratio.image-size-296x296 figure,
  .section-model-info article.force-ratio.image-size-296x222 figure {
    max-width: 296rem;
  }
  .section-model-info article p,
  .section-model-info article ul li {
    color: #000;
    line-height: 1.6;
    font-size: 14rem;
  }
  .section-model-info article ul li {
    padding-left: 25rem;
  }
  .section-model-info article ul li::before {
    top: 12rem;
  }
  .section-model-info article .button {
    margin-top: 10rem;
  }
  .section-model-info article:nth-child(even) {
    flex-direction: row-reverse;
  }
  .section-model-info article.align-image-bottom {
    align-items: flex-end;
  }
  .section-model-info article.title-size-18 h2 {
    line-height: 1.2;
    font-size: 18rem;
  }
  .section-model-info article.title-size-22 h2 {
    line-height: 1.2;
    font-size: 22rem;
  }
  .section-model-info article.title-size-26 h2 {
    line-height: 1.2;
    font-size: 26rem;
  }
  .section-model-info article.title-size-30 h2 {
    line-height: 1.2;
    font-size: 30rem;
  }
  .section-model-info article.title-size-36 h2 {
    line-height: 1.2;
    font-size: 36rem;
  }
  .section-product-carousel {
    padding: 60rem 0;
  }
  .section-product-carousel .product-list {
    position: relative;
    max-width: 1140rem;
    margin-left: auto;
    margin-right: auto;
  }
  .section-product-carousel .product-list.carousel-initialized {
    max-width: 1110rem;
    overflow: visible !important;
  }
  .section-product-carousel .product-list.carousel-initialized .product-teaser {
    width: auto;
    margin-right: 30rem;
  }
  .section-product-carousel .product-list.carousel-initialized .product-teaser .product-visual {
    min-height: 200rem;
  }
  .section-product-carousel .product-teaser {
    width: 33.333333333333336%;
    height: 415rem;
  }
  .section-product-carousel .carousel-dots {
    display: block;
  }
  .section-product-carousel .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  .section-product-carousel .carousel-prev {
    left: calc(50% - 650rem);
  }
  .section-product-carousel .carousel-next {
    right: calc(50% - 650rem);
  }
  .section-filter.section-product-filter {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 482rem);
    padding-right: calc(50% - 482rem);
  }
  .section-filter.section-product-filter .search-filters .field {
    flex: 0 160rem;
  }
  .section-filter.section-product-filter .search-filters .field-checkbox label {
    color: var(--color-theme);
    border-color: var(--color-theme);
  }
  .section-filter.section-product-filter .search-filters .field-checkboxes > label {
    color: var(--color-theme);
    border-color: var(--color-theme);
  }
  .section-filter.section-product-filter .search-filters .field-surface .checkboxes {
    left: auto;
    right: 0;
  }
  .section-filter.section-product-filter .product-teaser,
  .section-filter.section-product-filter .card-reinsurance,
  .section-filter.section-product-filter .card-push-promo {
    width: calc(33.333333333333336% - 21.33333rem);
    height: 435rem;
  }
  .section-filter.section-product-filter .product-teaser.product-highlight,
  .section-filter.section-product-filter .card-reinsurance.product-highlight,
  .section-filter.section-product-filter .card-push-promo.product-highlight {
    width: calc(66.66666% - 10rem);
  }
  .section-filter.section-product-filter .result-progress {
    clear: both;
  }
  .section-promo-banner {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section-promo-banner figure {
    max-width: 480rem;
  }
  .section-promo-banner p {
    font-size: 21rem;
    border-width: 2rem 0;
  }
  .section-push-articles {
    justify-content: space-between;
    align-items: center;
    padding-block: 60rem;
  }
  .section-push-articles h2 {
    order: 0;
  }
  .section-push-articles > .button {
    order: 1;
    margin-bottom: 35rem;
  }
  .section-push-articles .push-article-list {
    order: 2;
    width: 100%;
  }
  .section-push-articles .push-article-list.list-layout-3 .push-article {
    width: calc(33.33333% - 20rem);
  }
  .section-push-articles .push-article-list.list-layout-4 {
    height: 600rem;
    flex-flow: column wrap;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article-highlight {
    flex: 1 0 100%;
    width: 40%;
    text-align: center;
    padding-inline-end: 30rem;
    border-inline-end: 1px solid #f7f4f2;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) {
    flex: 0 33.33333%;
    width: calc(60% - 30rem);
    max-height: calc(33.33333% - 10rem);
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) figure {
    order: 1;
    height: 100%;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content h3 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:last-child {
    max-height: calc(33.33333% - 30rem - 10rem);
  }
  .section-push-articles .push-article-list.list-layout-3 .push-article figure,
  .section-push-articles .push-article-list.list-layout-4 .push-article-highlight figure {
    height: 325rem;
  }
  .section-push-category {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    padding-block: 60rem;
  }
  .section-push-category h2 {
    margin-bottom: 40rem;
  }
  .section-push-category .push-category-list {
    justify-content: center;
    margin: 0 auto;
    gap: 32rem;
  }
  .section-push-category .push-category-row-3 {
    max-width: 768rem;
  }
  .section-push-category .push-category-row-3 .category-teaser {
    flex: 1 0 calc(33.333333333333336% - 21.33333rem);
  }
  .section-push-category .push-category-row-4 {
    max-width: 968rem;
  }
  .section-push-category .push-category-row-4 .category-teaser {
    flex: 1 0 calc(25% - 24rem);
  }
  .section-push-category .push-category-row-5 {
    max-width: 1218rem;
  }
  .section-push-category .push-category-row-5 .category-teaser {
    flex: 1 0 calc(20% - 25.6rem);
  }
  .section-push-content-universal {
    padding: 60rem 45rem;
  }
  .section-push-content-universal > p {
    line-height: 1.8;
    font-size: 21rem;
  }
  .section-push-content-universal .push-content-list {
    gap: 30rem;
    max-width: 1110rem;
    margin-top: 50rem;
    margin-inline: auto;
  }
  .section-push-content-universal .push-content-list .push-card {
    padding-bottom: 25rem;
  }
  .section-push-content-universal .push-content-list .push-card figure {
    height: 250rem;
  }
  .section-push-content-universal .push-content-list .push-card h3 {
    padding-inline: 10rem;
  }
  .section-push-content-universal .push-content-list .push-card p {
    padding-inline: 20rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card {
    min-height: 500rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card figure {
    margin-bottom: 25rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card h3 {
    line-height: 1.2;
    font-size: 21rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card p {
    line-height: 1.5;
    font-size: 14rem;
  }
  .section-push-content-universal .push-content-list.layout-small .push-card {
    min-height: 450rem;
  }
  .section-push-content-universal .push-content-list.layout-2 .push-card,
  .section-push-content-universal .push-content-list.layout-4 .push-card {
    flex: 0 1 calc(50% - 15rem);
  }
  .section-push-content-universal .push-content-list.layout-3 .push-card {
    flex: 0 1 calc(33.333333333333336% - 20rem);
  }
  .section-push-content {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 690rem);
    padding-right: calc(50% - 690rem);
    padding-block: 60rem;
  }
  .section-push-content h2 {
    margin-bottom: 40rem;
  }
  .section-push-content .push-content-list {
    gap: 30rem;
    margin: 0 auto;
  }
  .section-push-content .push-content-row-3 {
    max-width: 780rem;
  }
  .section-push-content .push-content-row-4 {
    max-width: 1050rem;
  }
  .section-push-content .push-content-row-4 .article-teaser {
    width: 220rem;
  }
  .section-push-content .push-content-row-5 {
    max-width: 780rem;
  }
  .section-push-content .article-teaser {
    height: 30vw;
    width: 230rem;
    min-width: 215rem;
    min-height: 280rem;
    max-height: 450rem;
  }
  .section-push-model {
    padding-block: 60rem;
  }
  .section-push-model h2 {
    margin-bottom: 40rem;
  }
  .section-push-model .push-model-list {
    gap: 15rem;
  }
  .section-push-model .model-teaser {
    width: 255rem;
  }
  .section-push-model.layout_3 {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 412.5rem);
    padding-right: calc(50% - 412.5rem);
  }
  .section-push-product {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    margin-block: 60rem;
  }
  .section-push-product h2 {
    margin-bottom: 40rem;
  }
  .section-push-product .product-list {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    gap: 16rem;
    margin-bottom: 60rem;
  }
  .section-push-product .product-list::after {
    content: '';
    flex: 1 0 calc(33.333333333333336% - 10.66667rem);
    height: 0;
  }
  .section-push-product .product-teaser {
    flex: 1 0 calc(33.333333333333336% - 10.66667rem);
    height: 432rem;
  }
  .section-push-product > p {
    font-size: 14rem;
    margin-bottom: 20rem;
  }
  .section-push-promo {
    margin-left: auto;
    margin-right: auto;
    max-width: 1300rem;
    clear: both;
    padding: 50rem;
    margin-block: 30rem;
  }
  .section-push-promo h2 {
    font-size: 60rem;
  }
  .section-push-promo > div .button:first-child {
    margin-right: 50rem;
  }
  .section-reinsurance .reinsurance-item {
    margin: 0 70rem;
  }
  .section-satisfaction .satisfaction-item {
    width: 33.333333333333336%;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
  }
  .section-satisfaction .satisfaction-item figure {
    max-width: 65%;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial-list {
    width: 100%;
  }
  .section-seo {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    padding-block: 60rem;
  }
  .section-seo h2 {
    margin-bottom: 40rem;
  }
  .section-seo > p {
    line-height: 1.6;
    font-size: 14rem;
    margin-bottom: 40rem;
    width: 82.5%;
  }
  .section-seo .seo-item summary {
    padding-block: 30rem;
  }
  .section-seo .seo-content {
    padding-top: 5rem;
    margin-bottom: 30rem;
    width: 82.5%;
  }
  .section-seo .seo-content table tr td,
  .section-seo .seo-content tbody tr td {
    line-height: 1.25;
    font-size: 16rem;
    padding: 20rem 30rem;
  }
  .section-seo .seo-content table tr td:first-of-type,
  .section-seo .seo-content tbody tr td:first-of-type {
    white-space: nowrap;
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .section-store-locator-advisors {
    margin-block: 60rem;
  }
  .section-store-locator-advisors .store-locator-advisors {
    gap: 80rem;
  }
  section.section-store-locator-business-news {
    padding-block: 60rem;
  }
  section.section-store-locator-business-news .business-news-cards {
    max-width: 920rem;
    margin-inline: auto;
  }
  section.section-store-locator-business-news .carousel-track {
    height: 220rem;
  }
  .business-news-card {
    gap: 40rem;
  }
  .business-news-card figure {
    flex: 0 0 290rem;
    height: 220rem;
  }
  .business-news-card .card-content {
    padding-block: 24rem;
  }
  .business-news-card .card-content h3 {
    font-size: 16rem;
    font-weight: 600;
  }
  section.section-store-locator-regions {
    padding-block: 40rem 60rem;
  }
  section.section-store-locator-regions .store-locator-regions {
    padding: 40rem 32rem;
    gap: 32rem 60rem;
  }
  section.section-store-locator-regions .store-locator-region {
    flex: 0 calc(33.333333333333336% - 40rem);
  }
  section.section-store-locator-gallery {
    padding-block: 60rem;
  }
  section.section-store-locator-gallery .gallery-map {
    flex: 0 0 50%;
  }
  section.section-store-locator-gallery .gallery-visuals {
    position: relative;
    flex: 0 0 50%;
    height: 320rem;
    max-width: 50%;
  }
  section.section-store-locator-gallery .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  section.section-store-locator-gallery .carousel-arrow.carousel-prev {
    left: -32.5rem;
  }
  section.section-store-locator-gallery .carousel-arrow.carousel-next {
    right: -32.5rem;
  }
  section.section-store-locator-gallery .carousel-dots {
    position: absolute;
    left: 50%;
    bottom: -20rem;
    transform: translate(-50%, 100%);
  }
  section.section-store-locator-info {
    padding-block: 60rem;
  }
  section.section-store-locator-locations .locations-locate {
    margin-block: 16rem 60rem;
  }
  section.section-store-locator-locations .locations-locate .field-location-search {
    min-width: 300rem;
  }
  section.section-store-locator-locations .locations-content {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    padding-block: 60rem 30rem;
  }
  section.section-store-locator-locations .locations-list-items {
    flex-flow: wrap;
    gap: 24rem;
  }
  section.section-store-locator-locations .locations-list-items article.location {
    flex: 0 0 calc(33.333333333333336% - 16rem);
  }
  section.section-store-locator-locations .locations-map .content-placeholder {
    border-radius: 8rem;
  }
  section.section-store-locator-locations .locations-text {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
  }
  .locations-map .gm-style .gm-style-iw-c {
    padding-inline: 16rem 0;
  }
  .locations-map .gm-style .gm-style-iw-d {
    padding-inline: 0 16rem;
  }
  section.section-store-locator-other-agencies {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 460rem);
    padding-right: calc(50% - 460rem);
    padding-block: 80rem 40rem;
  }
  section.section-store-locator-other-agencies ul.store-locator-links {
    gap: 32rem 40rem;
  }
  section.section-store-locator-other-agencies ul.store-locator-links li {
    list-style-position: outside;
    flex: 0 calc(33.333333333333336% - 26.66667rem);
  }
  section.section-store-locator-other-agencies .store-locator-other-categories {
    padding-block: 40rem 85rem;
  }
  section.section-store-locator-other-agencies .store-locator-other-agencies {
    flex-flow: wrap;
  }
  section.section-store-locator-other-agencies .store-locator-other-agencies article.location {
    flex: 0 0 calc(33.333333333333336% - 16rem);
    min-height: 200rem;
  }
  section.section-store-locator-push-category {
    padding-block: 60rem;
  }
  section.section-store-locator-push-category .store-locator-push-cards {
    flex-flow: wrap;
  }
  section.section-store-locator-region {
    padding-block: 40rem 60rem;
  }
  section.section-store-locator-region h2 {
    margin-block-end: 40rem;
  }
  section.section-store-locator-region .store-locator-departments {
    padding: 40rem 32rem;
    max-width: 920rem;
    margin-inline: auto;
  }
  section.section-store-locator-region .store-locator-departments ul {
    flex-flow: wrap;
    gap: 10rem 40rem;
  }
  section.section-store-locator-region .store-locator-departments ul li {
    flex: 0 calc(25% - 30rem);
  }
  section.section-store-locator-regions {
    padding-block: 40rem 60rem;
  }
  section.section-store-locator-regions .store-locator-regions {
    flex-flow: wrap;
    gap: 32rem 60rem;
    padding: 40rem 32rem;
  }
  section.section-store-locator-regions .store-locator-region {
    flex: 0 calc(33.333333333333336% - 40rem);
  }
  section.section-store-locator-reviews {
    padding-block: 60rem;
  }
  section.section-store-locator-reviews .store-locator-reviews {
    margin-left: auto;
    margin-right: auto;
    max-width: 936rem;
    clear: both;
    gap: 16rem;
  }
  section.section-store-locator-reviews .store-locator-review {
    flex: 0 0 calc(33.333333333333336% - 10.66667rem);
  }
  section.section-store-locator-reviews .carousel-track {
    margin-inline: -8rem;
  }
  section.section-store-locator-reviews .carousel-track > .store-locator-review {
    float: left;
    width: 33.333333333333336%;
  }
  section.section-store-locator-reviews .carousel-track > div > div {
    padding-inline: 8rem;
  }
  section.section-store-locator-reviews .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem);
  }
  section.section-store-locator-reviews .carousel-arrow.carousel-prev {
    left: -77rem;
  }
  section.section-store-locator-reviews .carousel-arrow.carousel-next {
    right: -77rem;
  }
  section.section-store-locator-reviews .carousel-dots {
    position: absolute;
    bottom: -32rem;
    transform: translate(0, 100%);
  }
  section.section-store-locator-seo {
    padding-block: 30rem;
  }
  section.section-store-locator-seo h2 {
    padding-inline-end: 17%;
  }
  section.section-store-locator-seo .accordion-text {
    padding-inline-end: 17%;
  }
  section.section-store-locator-seo .seo-content {
    padding-inline-end: 17%;
  }
  .section-testimonies-pro article {
    min-height: 470rem;
  }
  .section-testimonies-pro article > figure {
    height: 470rem;
  }
  .page--storelocator .storelocator-header,
  .page--storelocator .storelocator-default {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 450rem);
    padding-right: calc(50% - 450rem);
    margin: 30rem 0 60rem 0;
  }
  .page--storelocator .storelocator-info {
    justify-content: space-between;
    margin-bottom: 60rem;
  }
  .page--storelocator .storelocator-info figure.mobile-only {
    display: none;
  }
  .page--storelocator .storelocator-info .info-schedule {
    flex: 1;
    margin: 0 35rem;
    padding: 0 35rem;
  }
  .page--storelocator .storelocator-info .action-card {
    align-self: flex-start;
  }
  .page--storelocator .storelocator-location .map {
    flex: 1 50%;
  }
  .page--storelocator .storelocator-location figure .avbadge {
    position: absolute;
    right: 30rem;
    top: 30rem;
  }
  .page--storelocator .storelocator-map {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 650rem);
    padding-right: calc(50% - 650rem);
  }
  .page--storelocator .storelocator-map-search {
    flex: 0 0 355rem;
    margin-right: 2rem;
    max-height: 700rem;
    overflow: hidden;
  }
  .page--storelocator .storelocator-map-search-form {
    margin-right: 5rem;
  }
  .page--storelocator .storelocator-map-search-autocomplete {
    max-width: 350rem;
  }
  .page--storelocator .storelocator-map-search-toggle {
    display: none;
  }
  .page--storelocator .storelocator-map-search-results {
    justify-content: flex-start;
    overflow: hidden;
  }
  .page--storelocator .storelocator-map-search-results-list {
    flex: 1;
    text-align: left;
  }
  .page--storelocator .storelocator-map-search-results-info {
    display: block;
    padding-left: 10rem;
    margin-bottom: 15rem;
  }
  .page--storelocator .storelocator-map .map {
    flex: 1;
  }
  .page--storelocator .storelocator-places .agency-card:nth-of-type(4n) {
    margin-right: 0;
  }
  .page--storelocator .storelocator-regions-links a {
    width: calc(25% - 22.5rem);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1050px){
  #modal-faq .modal-content .push-category-list .category-teaser .button {
    bottom: 0;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .button {
    bottom: 0;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .button {
    bottom: 0;
  }
  .submenu-small {
    opacity: 1;
    box-shadow: none;
    border: none;
  }
  html {
    font-size: 0.09765625vw;
  }
  .page--contact .section-contactform form .contact-step {
    display: none;
  }
  .page--contact .section-contactform form .form-actions {
    justify-content: space-between;
  }
  .page--project-follow-step .section-projectstep-progressbar {
    margin-bottom: 60rem;
  }
  .page--project-follow-step .section-projectstep-progressbar + .section-projectstep-navigation {
    display: none;
  }
  .page--project-follow-step .section-projectstep-introduction {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 720rem);
    padding-right: calc(50% - 720rem);
    align-items: flex-start;
  }
  .page--project-follow-step .section-projectstep-introduction > div {
    padding-left: 75rem;
  }
  .page--project-follow-step .section-projectstep-introduction figure {
    width: 450rem;
    margin-left: 95rem;
  }
  .page--project-follow-step .section-projectstep-navigation {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .page--project-follow-step .section-projectstep-navigation .button {
    padding-left: 50rem;
    padding-right: 50rem;
  }
  .page--storelocator .storelocator-link-list {
    width: 100%;
    padding: 0 40rem 40rem;
  }
  .page--study #free-study {
    position: absolute;
  }
  .page--universal .section-gallery,
  .page--universal .section-model-info {
    margin-bottom: 30rem;
  }
  .post-teaser {
    padding-bottom: 50rem;
  }
  .post-teaser figure {
    margin-bottom: 20rem;
  }
  .post-teaser h3 {
    height: 55rem;
    line-height: 1.2;
    font-size: 23rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 20rem;
  }
  .post-teaser p {
    margin-bottom: 0;
  }
  .post-teaser .article-link {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
  }
  header.header-hero-category aside.aside-hero.aside-info {
    max-width: 976rem;
    padding: 24rem 40rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list {
    gap: 24rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list .model-teaser {
    flex: 0 1 200rem;
    width: 200rem;
    height: 355rem;
  }
  .section-filter.section-article-filter .search-results {
    display: flex;
    flex-flow: wrap;
  }
  .section-filter.section-article-filter .search-results .post-teaser {
    float: left;
    width: calc(33.33333% - 30rem);
  }
  .section-avisverifies .avisverifies-reviews {
    width: calc(100% - 40rem);
    margin-inline: auto;
  }
  .section-avisverifies article.avisverifies-review {
    width: 320rem;
    height: 175rem;
    margin-inline: 10rem;
  }
  .section-contact .contact-item {
    max-width: 326rem;
  }
  .section-contact .contact-item a.button {
    min-height: 66rem;
  }
  .section-figures {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-figures .figure-list--3 .figure {
    width: calc(33.333333333333336% - 20rem);
    height: 250rem;
    border-radius: 10rem;
    padding: 30rem;
  }
  .section-figures .figure-list--4 .figure {
    width: calc(25% - 11.25rem);
    border-radius: 8rem;
    padding: 24rem;
  }
  .section-gallery .button {
    right: 30rem;
  }
  .section-filter.section-jobtype-filter {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-filter.section-jobtype-filter::after {
    position: relative;
    top: 30rem;
  }
  .section-filter.section-jobtype-filter .search-results .jobtype-teaser {
    width: calc(33.33333% - 20rem);
  }
  .section-jobtype-highlight {
    padding-bottom: 30rem;
  }
  .section-price-grid {
    padding-left: 370rem;
  }
  .section-price-grid > figure {
    width: 320rem;
    height: 720rem;
  }
  .section-filter.section-product-filter .search-filters .field-budget .checkboxes {
    left: auto;
    right: 0;
  }
  .section-product-info .product-gallery figure:not(.product-promo) {
    height: 420rem;
  }
  .section-product-info h1 + .button {
    display: none;
  }
  .section-product-info .product-price {
    margin-bottom: 10rem;
  }
  .section-product-info .product-price .price-detail.mobile-only {
    display: none;
  }
  .section-product-info .product-notes {
    margin-bottom: 20rem;
  }
  .section-product-info .product-notes + .button {
    margin-bottom: 20rem;
  }
  .section-projectstep-progressbar {
    padding-left: 75rem;
    padding-right: 75rem;
  }
  .section-projectstep-progressbar.sticky {
    padding: 25rem 85rem 25rem 75rem;
  }
  .section-projectstep-progressbar.sticky ol {
    min-width: 540rem;
  }
  .section-projectstep-progressbar.sticky.isup {
    top: 32rem;
  }
  .section-projectsteps {
    padding-left: 30rem;
    padding-right: 30rem;
  }
  .section-projectsteps h2 {
    line-height: 1.5;
    font-size: 21rem;
    margin-bottom: 40rem;
  }
  .section-projectsteps .projectstep-list {
    justify-content: center;
  }
  .section-projectsteps .projectstep {
    width: calc(20% - 24rem);
    padding-bottom: 30rem;
  }
  .section-projectsteps .projectstep figure {
    height: 60.98%;
    margin-bottom: 25rem;
  }
  .section-projectsteps .projectstep .number {
    width: 40rem;
    height: 40rem;
    line-height: 34rem;
    font-size: 20rem;
    border: 3rem solid var(--color-theme);
    margin-bottom: 20rem;
  }
  .section-projectsteps .projectstep h3 {
    padding: 0 20rem;
  }
  .section-projectsteps > p {
    line-height: 1.8;
    font-size: 21rem;
    margin-top: 40rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) figure {
    width: 160rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content {
    width: calc(100% - 160rem);
    padding-inline-end: 30rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content h3 {
    font-size: 22rem;
  }
  .section-testimonies .testimony-list {
    margin-bottom: 10rem;
  }
  .section-testimonies article > figure {
    flex: 0 50%;
  }
  .section-testimonies .testimony-content .testimonial blockquote {
    width: 330rem;
    font-size: 24rem;
  }
  .section-testimonies .carousel-dots {
    margin-top: 30rem;
  }
  .section-testimonies > .button-large {
    margin-top: 40rem;
  }
  .section-video {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-video figure {
    height: calc(56.27vw - 90rem);
    border-radius: 10rem;
  }
  .section-video figure::before {
    width: 80rem;
    height: 80rem;
    position: absolute;
    left: calc(50% - 40rem);
    top: calc(50% - 40rem);
  }
  .section-video figure::after {
    width: 19rem;
    height: 24rem;
    position: absolute;
    left: calc(50% - 6.5rem);
    top: calc(50% - 12rem);
    border-left: 19rem solid var(--color-theme);
    border-top: 12rem solid transparent;
    border-bottom: 12rem solid transparent;
  }
  .page--storelocator .storelocator-info .info-contact {
    width: 250rem;
  }
  .page--storelocator .storelocator-info .action-card {
    width: 280rem;
  }
  .page--storelocator .storelocator-other-agencies .other-agencies-cards {
    width: 100%;
    padding-inline: 40rem;
  }
  .page--storelocator .storelocator-other-agencies .agency-card {
    flex-basis: auto;
    width: calc(25% - 15rem);
  }
  .page--storelocator .storelocator-places .agency-card {
    width: calc(25% - 15rem);
  }
}
@media only screen and (min-width: 1051px){
  .accordion-group {
    margin-bottom: 40rem;
  }
  details.accordion-item summary {
    cursor: pointer;
  }
  details.accordion-item[open] {
    padding-bottom: 24rem;
  }
  #free-study::before {
    transition: 0.3s ease;
    transition-property: clip-path, background-image;
  }
  #free-study::after {
    transition: 0.3s ease;
    transition-property: clip-path, width, height, box-shadow;
  }
  #free-study:hover::before {
    clip-path: polygon(0px 0px, 100% 0px, 100% calc(100% - 35rem), calc(100% - 35rem) 100%, 0px 100%);
  }
  #free-study:hover::after {
    width: 35rem;
    height: 35rem;
    background-image: linear-gradient(135deg, #f7f4f2 25%, #d4d4d4 50%);
    box-shadow: 0 0 10rem 1px rgba(0,0,0,0.4);
  }
  #modal-faq .modal-content .push-category-list .category-teaser .button {
    bottom: 30rem;
  }
  .modal-offer-financement .modal-body {
    max-height: 46vh;
    overflow-y: auto;
    padding-right: 20rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .button {
    bottom: 30rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .button {
    bottom: 30rem;
  }
  .modal-close {
    width: 35rem;
    height: 35rem;
    background-size: 16rem;
    position: absolute;
    right: 30rem;
    top: 30rem;
  }
  .modal-content {
    width: 920rem;
    padding: 50rem 95rem 60rem;
  }
  .mega-menu--block-link-list {
    flex: 1 0 350rem;
    max-width: 350rem;
    padding-top: 20rem;
  }
  .mega-menu--block-link-list ul li a span {
    padding-block: 22rem;
  }
  .mega-menu--block-link-list ul li a:hover {
    text-decoration: underline;
  }
  .mega-menu--block-link-list ul li a:hover::after {
    transform: translate(5rem, 0);
  }
  .mega-menu--block-model {
    flex: 1 0 245rem;
    max-width: 245rem;
  }
  .mega-menu--block-model .block-model-push {
    width: 100%;
    margin-bottom: 40rem;
  }
  .mega-menu--block-model .block-model-push figure {
    height: 140rem;
    margin-bottom: 10rem;
  }
  .mega-menu--block-model .block-model-push figure img {
    transform: scale(1);
    transition: transform 0.5s ease;
  }
  .mega-menu--block-model .block-model-push .title-h4 {
    transition: color 0.3s ease;
  }
  .mega-menu--block-model .block-model-push .block-button-link {
    max-width: 245rem;
    margin-top: 25rem;
  }
  .mega-menu--block-model .block-model-push:last-child {
    margin-block-end: 5rem;
  }
  .mega-menu--block-model .block-model-push:hover .title-h4 {
    text-decoration: underline;
  }
  .mega-menu--block-model .block-model-push:hover .title-h4::after {
    transform: translate(8rem, 0);
  }
  .mega-menu--block-model .block-model-push:hover figure img {
    transform: scale(1.05);
  }
  .mega-menu--block-model.mega-menu--block-2-columns {
    flex: 1 0 570rem;
    flex-flow: row wrap;
    justify-content: space-between;
    max-width: 570rem;
  }
  .mega-menu--block-model.mega-menu--block-2-columns .title-h4 {
    order: 0;
  }
  .mega-menu--block-model.mega-menu--block-2-columns .block-button-link {
    order: 1;
    margin-block-start: -8rem;
  }
  .mega-menu--block-model.mega-menu--block-2-columns .block-model-pushs {
    order: 2;
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: 80rem;
    column-gap: 80rem;
  }
  .mega-menu--block-product {
    flex: 1 0 360rem;
  }
  .mega-menu--block-product .block-link-cards {
    max-width: 360rem;
  }
  .mega-menu--block-product .block-link-card {
    box-shadow: 0 0 0 0 var(--color-theme);
    transition: box-shadow 0.15s ease;
  }
  .mega-menu--block-product .block-link-card:hover {
    box-shadow: 0 0 0 2rem var(--color-theme);
  }
  .mega-menu--block-product .block-link-card:hover a {
    text-decoration: underline;
  }
  .mega-menu--block-push-card {
    flex: 1 0 360rem;
  }
  .mega-menu--block-push-price {
    flex: 1 0 360rem;
    max-width: 360rem;
    padding-top: 20rem;
  }
  .mega-menu--block-push-price .block-price-pushes {
    -moz-column-gap: 80rem;
    column-gap: 80rem;
    margin-bottom: 20rem;
  }
  .mega-menu--block-push-price .block-price-pushes.price-pushes-4 {
    max-height: 324rem;
  }
  .mega-menu--block-push-price .block-price-pushes.price-pushes-4 li:nth-child(4n) {
    border-bottom-color: transparent;
  }
  .mega-menu--block-push-price .block-price-pushes.price-pushes-5 {
    max-height: 405rem;
  }
  .mega-menu--block-push-price .block-price-pushes.price-pushes-5 li:nth-child(5n) {
    border-bottom-color: transparent;
  }
  .mega-menu--block-push-price .block-push-price {
    min-width: 350rem;
    padding-block: 10rem;
  }
  .mega-menu--block-push-price .block-push-price figure {
    width: 60rem;
    height: 60rem;
  }
  .mega-menu--block-push-price .block-push-price::after {
    transform: translate(3rem, 0);
    transition: transform 0.3s ease, background-color 0.3s ease;
  }
  .mega-menu--block-push-price .block-push-price:hover {
    color: var(--color-theme);
    text-decoration: underline;
  }
  .mega-menu--block-push-price .block-push-price:hover::after {
    transform: translate(8rem, 0);
  }
  .mega-menu--block-push-price.mega-menu--block-2-columns {
    flex: 1 0 800rem;
    max-width: 800rem;
  }
  .mega-menu--block-push-promo {
    flex: 1 0 360rem;
  }
  .mega-menu--block-surface {
    flex: 1 0 245rem;
  }
  .mega-menu--block-surface .block-title.title-h3 {
    margin-bottom: 25rem;
  }
  .mega-menu--block-surface .block-link-push {
    width: 100%;
  }
  .mega-menu--block-surface .block-link-push h4 {
    line-height: 1.5;
    font-size: 16rem;
  }
  .mega-menu--block-surface .block-link-push a {
    line-height: 1.5;
    font-size: 16rem;
  }
  .mega-menu--block-surface .block-link-push::after {
    top: 15rem;
    transform: translate(3rem, 0);
  }
  .mega-menu--block-surface .block-link-push:hover::after {
    transform: translate(8rem, 0);
  }
  .mega-menu--block-surface .block-link-push:hover h4 {
    text-decoration: underline;
  }
  .mega-menu--block-text-cta {
    flex: 1 0 350rem;
    max-width: 350rem;
    padding-inline-end: 40rem;
  }
  .mega-menu--block-text-cta .block-text {
    margin-bottom: 30rem;
  }
  .mega-menu--block .block-title.title-h3 {
    line-height: 1.5;
    font-size: 18rem;
    margin-bottom: 40rem;
  }
  .mega-menu--block .block-cta-link {
    margin-block: 1.5px;
  }
  .mega-menu--block .block-cta-link:hover {
    text-decoration: underline;
  }
  .mega-menu--block .block-cta-link:hover::after {
    transform: translate(8rem, 0);
  }
  .mega-menu--block .block-push-card {
    width: 100%;
    max-width: 360rem;
  }
  .mega-menu--block .block-push-card figcaption .title-h4 {
    line-height: 1.5;
    font-size: 14rem;
  }
  .mega-menu--block .block-push-card.push-card-with-cta figure img {
    transform: scale(1);
    transition: transform 0.5s ease;
  }
  .mega-menu--block .block-push-card.push-card-with-cta:hover figure img {
    transform: scale(1.05);
  }
  .mega-menu-container {
    gap: 80rem;
  }
  .mega-menu-container .mega-menu-nav {
    display: none;
  }
  .mega-menu-container.mega-menu-category {
    padding: 40rem 40rem 60rem 70rem;
  }
  .mega-menu-container.mega-menu-editorial {
    padding: 40rem 80rem 60rem 80rem;
  }
  .mega-menu-container.mega-menu-empty {
    height: 100%;
  }
  .mega-menu-container .mega-menu--block {
    align-content: start;
  }
  .mega-menu-container .mega-menu--block:nth-child(1) {
    align-items: start;
  }
  .mega-menu-container .mega-menu--block:nth-child(2) {
    align-items: start;
  }
  .mega-menu-container .mega-menu--block:nth-child(3) {
    align-items: end;
  }
  .mega-menu-container .mega-menu--block-2-columns:nth-child(1) + .mega-menu--block {
    align-items: end;
  }
  #overlay .overlay-container .overlay-content {
    width: 775rem;
    padding: 65rem 70rem;
  }
  #overlay .overlay-container .overlay-content h2 {
    line-height: 65rem;
    padding-right: 75rem;
  }
  #overlay .close-overlay {
    width: 65rem;
    height: 65rem;
    cursor: pointer;
    background-size: 20rem;
    transition: background-color 0.3s ease;
    top: 65rem;
    right: 70rem;
  }
  #overlay .close-overlay:hover {
    background-color: var(--color-theme-dark);
  }
  .push-card {
    transition: box-shadow 0.3s ease;
  }
  .push-card figure img {
    transform: scale(1);
    transition: transform 0.5s ease;
  }
  .push-card:hover {
    box-shadow: 0 3rem 15rem rgba(0,0,0,0.15);
  }
  .push-card:hover figure img {
    transform: scale(1.05);
  }
  .submenu .menu-mobile {
    display: none;
  }
  .submenu-large {
    background-color: #fff;
    padding-top: 135rem;
    padding-bottom: 60rem;
    box-shadow: 0 0 5rem 0 rgba(0,0,0,0.25);
  }
  .submenu-large .submenu-content {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .submenu-large::before {
    content: '';
    position: absolute;
    top: 105rem;
    left: 0;
    width: 100%;
  }
  #nav-main .submenu-large::before {
    top: 105rem;
    border-bottom: 1px solid #d4d4d4;
  }
  #nav-category .submenu-large::before {
    height: 42rem;
    border: 1px solid #d4d4d4;
    border-width: 1px 0;
  }
  .submenu-large::after {
    content: '';
    background-color: rgba(255,255,255,0.6);
    width: 100vw;
    height: 100vh;
    position: absolute;
    z-index: -1;
    left: 0;
    top: 100%;
    pointer-events: none;
  }
  .submenu-large .menu-title {
    width: 250rem;
    line-height: 1.5;
    font-size: 20rem;
    margin-right: 30rem;
  }
  .submenu-large .menu-title-h3 {
    display: none;
  }
  .submenu-large .menu-button-items {
    width: 225rem;
  }
  .submenu-large .menu-button-items .button {
    width: 100%;
    font-weight: 600;
    padding-bottom: 3.5rem;
    padding-top: 3.5rem;
  }
  .submenu-large .menu-card-items {
    height: 100%;
  }
  .submenu-large .menu-card-items article.item-category {
    width: 320rem;
    height: 335rem;
    margin-right: 30rem;
  }
  .submenu-large .menu-card-items article.item-category:last-child {
    margin-right: 0;
  }
  .submenu-large .menu-link-items {
    width: 320rem;
    height: 100%;
    margin-left: 30rem;
  }
  .submenu-large .menu-link-items .menu-item {
    min-height: 70rem;
  }
  .submenu-small {
    position: absolute;
    z-index: 1;
    left: calc(100% - 25rem);
    top: 45rem;
    border-radius: 20rem;
    transform: translate(-50%, -200%);
    transition: opacity 0.3s ease;
    opacity: 0;
    border: 1px solid #e9e9e9;
    pointer-events: none;
    padding: 20rem 30rem 20rem 20rem;
    box-shadow: 0 2rem 25rem 0 rgba(0,0,0,0.1);
  }
  article.item-category {
    border-radius: 20rem;
  }
  #nav-main article.item-category figure::after {
    width: 100%;
    height: 45%;
    background-image: linear-gradient(rgba(255,255,255,0), #fff 70%);
  }
  body > footer {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 640rem);
    padding-right: calc(50% - 640rem);
    flex-flow: wrap;
    padding-block-start: 55rem;
  }
  body > footer .footer-nav-spacer {
    flex: 1;
  }
  body > footer .footer-nav-separator {
    flex: 1 1 100%;
    border-bottom: 1px solid rgba(255,255,255,0.6);
    margin-top: 55rem;
  }
  #footer-logo img {
    width: auto;
    height: 45rem;
  }
  #footer-social {
    gap: 30rem;
    padding-inline-end: 30rem;
    border-inline-end: 1px solid #8c8c8c;
    margin-inline-end: 30rem;
  }
  #footer-links {
    flex: 1;
    margin-top: 55rem;
  }
  #footer-legal {
    justify-content: space-between;
  }
  #footer-legal ul.menu li.menu-item > a,
  #footer-legal ul.menu li.menu-item > span {
    white-space: nowrap;
  }
  #footer-legal ul.menu li.menu-item > a img,
  #footer-legal ul.menu li.menu-item > span img {
    width: auto;
    height: 18rem;
  }
  #footer-legal .menu-footer-legal ul.menu {
    gap: 25rem;
  }
  #footer-legal .menu-footer-contact ul.menu {
    gap: 20rem;
  }
  body {
    --menu-header-height: 137rem;
    --menu-header-sticky-offset: var(--menu-header-offset);
  }
  body:not(:has(#header-hub)) {
    --menu-header-height: 65rem;
  }
  body > header .header-nav {
    position: relative;
    z-index: 10;
  }
  body > header .header-nav-container {
    display: flex;
    -moz-column-gap: 30rem;
    column-gap: 30rem;
  }
  body > header .header-nav-container .brand-logo {
    padding: 14.5rem 0 14.5rem 40rem;
  }
  body > header .header-nav-container .brand-logo img {
    height: 35rem;
  }
  body > header .header-nav-container-mobile {
    display: none;
  }
  body > header .header-nav-separator {
    width: 100%;
    height: 0;
    margin-top: -1px;
    border-bottom: 1px solid #d4d4d4;
  }
  #searchform {
    flex: 1;
    max-width: 415rem;
  }
  #searchform input {
    border-radius: 12rem;
  }
  #header-brand {
    z-index: 15;
    padding: 15rem 40rem;
    background-color: transparent;
  }
  #header-hub {
    padding: 0 40rem;
  }
  #header-hub ul.menu {
    position: relative;
  }
  #header-hub ul.menu::before {
    content: '';
    position: absolute;
    z-index: 1;
    inset: 0;
    left: -40rem;
    width: 100vw;
    height: calc(100% + 1px);
    background-color: #fff;
    border-bottom: 1px solid #d4d4d4;
  }
  #header-quicklinks {
    padding-inline: 40rem;
  }
  #header-quicklinks-pro {
    padding-inline: 40rem;
  }
  #header-mobile-nav {
    display: none;
  }
  #header-mobile {
    display: none;
  }
  main > section {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 555rem);
    padding-right: calc(50% - 555rem);
  }
  .header-nav ul.menu {
    height: 100%;
  }
  .header-nav ul.menu li.menu-item > a,
  .header-nav ul.menu li.menu-item > span {
    height: 100%;
  }
  .header-nav li.menu-item-nav {
    display: none;
    margin-bottom: 40rem;
  }
  .header-nav-menu ul.menu li.menu-item > ul.sub-menu {
    position: absolute;
  }
  .header-nav-menu ul.menu li.menu-item.menu-item-has-children > a,
  .header-nav-menu ul.menu li.menu-item.menu-item-has-children > span {
    cursor: pointer;
  }
  .header-nav-menu ul.menu li.menu-item.bleu-blanc-rouge::before {
    content: '';
    position: absolute;
    left: calc(50% - 37.5rem);
    top: 0;
    width: 75rem;
    height: 6rem;
    background-image: linear-gradient(90deg, #00209b 0%, #00209b 33.33%, #fff 33.33%, #fff 66.66%, #ff002d 66.66%);
  }
  .header-nav-menu ul.menu > li.menu-item > a,
  .header-nav-menu ul.menu > li.menu-item > span {
    line-height: 1.5;
    font-size: 13rem;
  }
  .header-nav-menu ul.menu > li.menu-item > a:hover,
  .header-nav-menu ul.menu > li.menu-item > span:hover {
    color: var(--color-theme);
  }
  .header-nav-menu ul.menu > li.menu-item.menu-item-has-children > a::after,
  .header-nav-menu ul.menu > li.menu-item.menu-item-has-children > span::after {
    transform: rotate(90deg);
    transition: transform 0.3s ease;
  }
  .header-nav-menu ul.menu > li.menu-item.menu-item-has-children.menu-opened > a::after,
  .header-nav-menu ul.menu > li.menu-item.menu-item-has-children.menu-opened > span::after {
    transform: rotate(-90deg);
  }
  .menu-header-brand ul.menu li.menu-item > a,
  .menu-header-brand ul.menu li.menu-item > span {
    color: #635459;
  }
  .menu-header-brand ul.menu li.menu-item ul.sub-menu {
    left: calc(50% - 137.5rem);
    width: 275rem;
    background-color: #fff;
    padding-inline: 20rem;
    border-radius: 8rem;
    box-shadow: 0 0 11rem 0 rgba(0,0,0,0.15);
  }
  .menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item {
    padding-block: 20rem;
    border-bottom: 1px solid #d4d4d4;
  }
  .menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item:hover > a {
    text-decoration: underline;
  }
  .menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item:hover > a::after,
  .menu-header-brand ul.menu li.menu-item ul.sub-menu > li.menu-item:hover > span::after {
    transform: translate(5rem, 0);
  }
  .menu-header-brand ul.menu li.menu-item.bleu-blanc-rouge::before {
    top: -15rem;
    left: calc(50% - 54.5rem);
  }
  .menu-header-brand ul.menu li.menu-item:last-child ul.sub-menu {
    left: auto;
    right: -15rem;
  }
  .menu-header-brand ul.menu > li.menu-item {
    position: relative;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-has-children > ul.sub-menu {
    left: -40rem;
    height: calc(100vh - var(--menu-header-height) - var(--menu-header-offset) + 1px);
    transition: transform 0.25s ease;
    box-shadow: 0 0 45rem 20rem rgba(0,0,0,0.2);
    overflow: auto;
    background-color: rgba(0,0,0,0.8);
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-post_type.menu-item-object-mega-menu > ul.sub-menu {
    width: 100vw;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu {
    --submenu-scroll-offset: 0px;
    border-right: 1px solid #e3e3e3;
    width: 100vw;
    background-color: transparent;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu::after {
    content: '';
    flex: 1;
    width: 320rem;
    background-color: #fff;
    border-right: 1px solid #e3e3e3;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu {
    width: 320rem;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15rem;
    width: calc(100% - 1px);
    line-height: 1.5;
    font-size: 14rem;
    background-color: #fff;
    padding: 15rem 55rem 15rem 36rem;
    border-left: 4rem solid transparent;
    cursor: pointer;
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid rgba(213,205,205,0.549);
    transition: color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a > img {
    flex: 0 0 60rem;
    width: 60rem;
    height: 60rem;
    border: 2rem solid transparent;
    transition: border-color 0.3s ease;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a::after {
    position: absolute;
    right: 15.5rem;
    top: 33.5rem;
    transition: transform 0.3s ease;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a:hover {
    z-index: 3;
    box-shadow: 0 2rem 5rem 0 rgba(0,0,0,0.1);
    color: var(--color-theme);
    border-left-color: var(--color-theme);
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a:hover > img {
    border-color: var(--color-theme);
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > a:hover::after {
    transform: translate(5rem, 0);
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item-object-mega-menu > ul.sub-menu {
    position: absolute;
    z-index: 3;
    left: calc(320rem - 1rem);
    top: 0;
    transform: translate(0, var(--submenu-scroll-offset));
    width: calc(100vw - 320rem);
    height: calc(100vh - var(--menu-header-height) - var(--menu-header-offset) + 1px);
    border-left: 1px solid transparent;
    background-color: #fff;
    overscroll-behavior: contain;
  }
  .menu-header-hub ul.menu li.menu-item-object-mega-menu > ul.sub-menu {
    overflow: auto;
  }
  .menu-header-hub ul.menu > li.menu-item > a {
    padding-block: 24rem 21rem;
    border-bottom: 3rem solid transparent;
  }
  .menu-header-hub ul.menu > li.menu-item > a:hover {
    border-bottom-color: var(--color-theme);
  }
  .menu-header-quicklinks ul.menu li.menu-item {
    padding-block: 10rem;
  }
  .menu-header-quicklinks ul.menu li.menu-item.bleu-blanc-rouge::before {
    top: 0;
  }
  .menu-header-quicklinks ul.menu li.menu-item:not(.demande-etude):not(.agences) {
    padding-block: 0;
  }
  .menu-header-quicklinks ul.menu li.menu-item:not(.demande-etude):not(.agences) > a {
    color: #000;
    font-weight: 600;
    padding-block: 10rem 7rem;
    border-bottom: 3rem solid transparent;
  }
  .menu-header-quicklinks ul.menu li.menu-item:not(.demande-etude):not(.agences) > a:hover {
    color: var(--color-theme);
    border-bottom-color: var(--color-theme);
  }
  .page--category .section-push-articles {
    margin-left: auto;
    margin-right: auto;
    max-width: 1110rem;
    clear: both;
  }
  .page--category .section-push-articles .category-teaser {
    width: calc(25% - 22.5rem);
  }
  .page--contact .header-contact {
    margin-bottom: 40rem;
  }
  .page--contact .section-contactform {
    padding-bottom: 60rem;
  }
  .page--contact .section-contactform form {
    padding: 60rem 95rem 60rem;
  }
  .page--contact .section-contactform form .contact-step {
    display: none;
  }
  .page--contact .section-contactform form .form-actions {
    justify-content: space-between;
  }
  .page--gallery .nav-breadcrumb {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 650rem);
    padding-right: calc(50% - 650rem);
  }
  .page--gallery .section-pictures {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 650rem);
    padding-right: calc(50% - 650rem);
  }
  .page--project-follow-home main > section:last-of-type {
    float: left;
    padding: 0;
    max-width: 760rem;
    margin-left: calc(50% - 555rem);
    margin-bottom: 60rem;
  }
  .page--project-follow-home main > aside {
    float: right;
    width: 350rem;
    margin-left: 95rem;
    margin-right: calc(50% - 650rem);
  }
  .page--project-follow-step main > section:last-of-type {
    margin-bottom: 40rem;
  }
  .page--project-follow-step .section-projectstep-progressbar {
    margin-bottom: 60rem;
  }
  .page--project-follow-step .section-projectstep-progressbar + .section-projectstep-navigation {
    display: none;
  }
  .page--project-follow-step .section-projectstep-introduction {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 720rem);
    padding-right: calc(50% - 720rem);
    align-items: flex-start;
  }
  .page--project-follow-step .section-projectstep-introduction h1 {
    line-height: 1.2;
    font-size: 30rem;
    padding-left: 80rem;
  }
  .page--project-follow-step .section-projectstep-introduction h1 span {
    width: 60rem;
    height: 60rem;
    line-height: 60rem;
    position: absolute;
    left: 0;
    top: calc(50% - 30rem);
  }
  .page--project-follow-step .section-projectstep-introduction > div {
    padding-left: 165rem;
  }
  .page--project-follow-step .section-projectstep-introduction p {
    line-height: 1.8;
    font-size: 21rem;
    color: #000;
  }
  .page--project-follow-step .section-projectstep-introduction figure {
    width: 640rem;
    margin-left: 95rem;
  }
  .page--project-follow-step .section-projectstep-navigation {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .page--project-follow-step .section-projectstep-navigation .button {
    padding-left: 50rem;
    padding-right: 50rem;
  }
  .page--project-follow-step main > section:last-of-type {
    margin-bottom: 60rem;
  }
  .page--study #free-study {
    position: absolute;
  }
  .page--study .header-study {
    margin-bottom: 40rem;
  }
  .page--study .section-studyform {
    padding: 0 65rem 0 0;
    max-width: 790rem;
    margin-left: calc(50% - 555rem);
    margin-bottom: 60rem;
  }
  .page--study .section-studyform:not(.header-study--aside-hidden) {
    border-right: 1px solid rgba(212,212,212,0.5);
  }
  .page--study .aside-study {
    float: right;
    width: 350rem;
    margin-left: 65rem;
    margin-right: calc(50% - 650rem);
  }
  .page--study .section-ambassadors {
    float: left;
  }
  .page--universal .section-gallery,
  .page--universal .section-model-info {
    margin-bottom: 30rem;
  }
  .certification-teaser {
    display: grid;
    grid-template-columns: 109rem 1fr;
    grid-gap: 12rem 32rem;
  }
  .certification-teaser figure {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .certification-teaser h3,
  .certification-teaser p {
    grid-column: 2/3;
  }
  .certification-teaser h3 {
    grid-row: 1/2;
  }
  .certification-teaser p {
    grid-row: 2/3;
  }
  .post-teaser {
    padding-bottom: 50rem;
  }
  .post-teaser figure {
    margin-bottom: 25rem;
  }
  .post-teaser h3 {
    height: 63rem;
    line-height: 1.2;
    font-size: 25rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 20rem;
  }
  .post-teaser p {
    margin-bottom: 0;
  }
  .post-teaser .article-link {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0);
  }
  .product-teaser .product-visual {
    overflow: hidden;
    margin-bottom: 16rem;
  }
  .product-teaser .product-price-current {
    font-size: 20rem;
  }
  .project-follow-up-step .card {
    padding: 40rem 80rem;
  }
  .project-follow-up-step .card .open-overlay {
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  .project-follow-up-step .card .open-overlay:hover {
    background-color: var(--color-theme-dark);
  }
  header.header-hero-category aside.aside-hero.aside-info {
    max-width: 1086rem;
    padding: 32rem 55rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list {
    gap: 32rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list .model-teaser {
    flex: 0 1 220rem;
    width: 220rem;
    height: 390rem;
  }
  .section-filter.section-article-filter .search-results {
    display: flex;
    flex-flow: wrap;
  }
  .section-filter.section-article-filter .search-results .post-teaser {
    float: left;
    width: calc(33.33333% - 30rem);
  }
  .section-avisverifies {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 600rem);
    padding-right: calc(50% - 600rem);
  }
  .section-avisverifies .avisverifies-reviews {
    width: calc(3 * 320rem + 3 * 15rem);
    margin-inline: auto;
  }
  .section-avisverifies article.avisverifies-review {
    width: 320rem;
    height: 165rem;
  }
  .section-cards .section-cards-container .section-cards-visual-images .section-cards__image {
    max-width: 13vw;
    height: auto;
  }
  .section-carousel {
    padding-block: 30rem;
    overflow: hidden;
  }
  .section-carousel .image-list {
    max-width: 1110rem;
  }
  .section-carousel .image-list figure {
    height: 600rem;
  }
  .section-contact {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 615rem);
    padding-right: calc(50% - 615rem);
  }
  .section-contact .contact-items {
    gap: 55rem;
  }
  .section-contact .contact-item {
    min-width: 200rem;
  }
  .section-contact .contact-item a.button {
    width: 100%;
    white-space: nowrap;
  }
  .section-customize .customize-option-list {
    padding-right: 570rem;
    min-height: 490rem;
  }
  .section-customize .customize-option {
    background-color: transparent;
    border-radius: 5rem;
    box-shadow: none;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
  }
  .section-customize .customize-option > figure {
    position: absolute;
    right: -30rem;
    top: 0;
    width: 505rem;
    height: 490rem;
    border-radius: 10rem;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    display: flex;
    justify-content: center;
  }
  .section-customize .customize-option > figure img,
  .section-customize .customize-option > figure svg,
  .section-customize .customize-option > figure video,
  .section-customize .customize-option > figure object,
  .section-customize .customize-option > figure embed {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    min-height: 100%;
  }
  .section-customize .customize-option > figure img,
  .section-customize .customize-option > figure svg,
  .section-customize .customize-option > figure video,
  .section-customize .customize-option > figure object,
  .section-customize .customize-option > figure embed {
    flex: 1 0 100%;
    -o-object-position: center;
    object-position: center;
  }
  .section-customize .customize-option > figure img {
    width: 100%;
  }
  .section-customize .customize-option h4 figure {
    transition: background-color 0.3s ease;
  }
  .section-customize .customize-option:first-child > figure {
    opacity: 1;
  }
  .section-customize .customize-option:hover {
    background-color: #f7f4f2;
    box-shadow: 0 5rem 15rem rgba(0,0,0,0.2);
  }
  .section-customize .customize-option:hover h3 figure {
    background-color: #fff;
  }
  .section-customize .customize-option:hover > figure {
    z-index: 1;
    opacity: 1;
  }
  .section-customize .customize-option:hover::after {
    background-color: transparent;
  }
  .section-exceptional-information {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 562.5rem);
    padding-right: calc(50% - 562.5rem);
    z-index: 5;
  }
  .section-exceptional-information .close-exceptional-information {
    top: 25rem;
    right: 45rem;
  }
  .section-external-site-push::before {
    width: 1110rem;
  }
  .section-ferjani {
    overflow: hidden;
    min-height: 520rem;
    padding-block: 60rem 100rem;
  }
  .section-ferjani h2 {
    width: 654rem;
    margin-bottom: 40rem;
  }
  .section-ferjani > p {
    width: 495rem;
    line-height: 1.6;
    font-size: 14rem;
    margin-bottom: 60rem;
  }
  .section-ferjani .ferjani-portrait {
    position: absolute;
    left: calc(50% - 690rem);
    top: 60rem;
    flex-flow: column;
  }
  .section-ferjani .ferjani-picture {
    width: 300rem;
    margin-bottom: 20rem;
  }
  .section-ferjani .ferjani-picture img {
    height: 352rem;
  }
  .section-ferjani .ferjani-picture::before {
    width: 300rem;
    height: 300rem;
  }
  .section-ferjani .ferjani-signature {
    width: 220rem;
  }
  .section-ferjani .ferjani-photo {
    overflow: hidden;
    position: absolute;
    right: calc(50% - 925rem);
    top: 60rem;
    width: 560rem;
    height: 560rem;
    display: flex;
    justify-content: center;
  }
  .section-ferjani .ferjani-photo img,
  .section-ferjani .ferjani-photo svg,
  .section-ferjani .ferjani-photo video,
  .section-ferjani .ferjani-photo object,
  .section-ferjani .ferjani-photo embed {
    flex: 1 0 100%;
    -o-object-position: center;
    object-position: center;
  }
  .section-ferjani .ferjani-photo img,
  .section-ferjani .ferjani-photo svg,
  .section-ferjani .ferjani-photo video,
  .section-ferjani .ferjani-photo object,
  .section-ferjani .ferjani-photo embed {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    min-height: 100%;
  }
  .section-figures {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-figures .figure-list--3 .figure {
    width: calc(33.333333333333336% - 20rem);
    height: 250rem;
    border-radius: 10rem;
    padding: 30rem;
  }
  .section-figures .figure-list--4 .figure {
    width: calc(25% - 11.25rem);
    border-radius: 8rem;
    padding: 24rem;
  }
  .section-hero-banner-container {
    padding-inline: 96rem;
  }
  .section-filter.section-jobtype-filter {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-filter.section-jobtype-filter::after {
    position: relative;
    top: 30rem;
  }
  .section-filter.section-jobtype-filter .search-results .jobtype-teaser {
    width: calc(33.33333% - 20rem);
  }
  .section-filter.section-jobtype-filter .search-results .jobtype-teaser.jobtype-highlight {
    width: calc(66.66666% - 10rem);
  }
  .section-jobtype-highlight {
    padding-bottom: 30rem;
  }
  .section-price-grid {
    padding-left: 515rem;
  }
  .section-price-grid > figure {
    width: 420rem;
  }
  .section-price-grid table thead th {
    text-align: left;
  }
  .section-price-grid table thead th + th {
    padding-left: 50rem;
  }
  .section-price-grid table tbody th {
    text-align: left;
  }
  .section-price-grid table tbody td {
    text-align: left;
    padding-left: 50rem;
  }
  .section-price-seo .price-seo-page {
    flex: 0 1 calc(25% - 11.25rem);
  }
  .section-product-info {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    max-width: 1324rem;
    clear: both;
    align-items: flex-start;
    gap: 54rem;
    min-height: 560rem;
  }
  .section-product-info > nav {
    padding: 40rem 0 20rem;
  }
  .section-product-info .product-gallery {
    position: relative;
    width: 825rem;
  }
  .section-product-info .product-gallery-list {
    border-radius: 12rem;
    margin-bottom: 20rem;
  }
  .section-product-info .product-gallery figure:not(.product-promo) {
    height: 533rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails {
    gap: 15rem;
    margin-bottom: 25rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails li {
    max-width: 100rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-video::before,
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-embed::before {
    width: 45rem;
    height: 45rem;
  }
  .section-product-info .product-gallery .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem - 72.5rem);
  }
  .section-product-info .product-gallery .carousel-prev {
    left: 10rem;
  }
  .section-product-info .product-gallery .carousel-next {
    right: 10rem;
  }
  .section-product-info .product-gallery.gallery-sticky {
    position: fixed;
    top: 0;
  }
  .section-product-info .product-gallery.gallery-sticky + .product-info {
/* Largeur de la galerie + l'ecart de colonne du bloc desktop. */
    margin-inline-start: 879rem;
  }
  .section-product-info .product-gallery.gallery-bottom {
    top: auto;
    bottom: 0;
  }
  .section-product-info .product-gallery .product-argument {
    top: 30rem;
    left: 30rem;
  }
  .section-product-info .product-info {
    flex: 0 0 445rem;
    height: 100%;
    margin-bottom: 40rem;
  }
  .section-product-info h1 {
/*
       * node 111:15244 : le titre est a 15 de ce qui le suit, contre 28
       * auparavant. La valeur est posee ICI, la ou vivait celle qu'elle
       * remplace : la mettre dans la regle de base l'aurait emporte par
       * specificite et aurait laisse derriere elle une regle morte. La planche
       * ne decrit que le bureau, le telephone garde donc ses 32 plus bas.
       */
    margin-bottom: 15rem;
  }
  .section-product-info .product-price {
    width: 100%;
    margin-bottom: 40rem;
  }
  .section-product-info .product-price-current {
/* node 111:15255 : 40 / 48, contre 40 / 40 auparavant. Meme raison que
           pour la marge du titre : la valeur appartient au bloc bureau, sinon
           elle est annulee ici et fuit sur le telephone. */
    line-height: 1.2;
    font-size: 40rem;
  }
  .section-product-info .product-price .button {
    padding: 19rem 53rem 19rem 74rem;
  }
  .section-product-info .product-notes {
    margin-bottom: 40rem;
  }
  .section-product-info .product-notes + .button {
    margin-bottom: 20rem;
  }
  .section-product-info .product-promo {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .section-product-tailormade {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 630rem);
    padding-right: calc(50% - 630rem);
    padding-bottom: 60rem;
  }
  .section-product-tailormade .mobile-only {
    display: none;
  }
  .section-product-tailormade > h2 {
    margin-bottom: 20rem;
  }
  .section-product-tailormade > h2 + p {
    font-size: 16rem;
    margin-bottom: 65rem;
  }
  .section-product-tailormade nav {
    margin-bottom: 40rem;
  }
  .section-product-tailormade .tailormade-parts {
    -moz-column-gap: 30rem;
    column-gap: 30rem;
  }
  .section-product-tailormade .tailormade-part {
    min-width: 210rem;
    padding: 20rem 35rem;
  }
  .section-product-tailormade .tailormade-items {
    padding: 32rem 0 100rem;
    border-radius: 10rem;
  }
  .section-product-tailormade .tailormade-items .items-container {
    padding: 0 32rem;
  }
  .section-product-tailormade .tailormade-items .items-container > div:not(.tailormade-item) {
    display: flex;
  }
  .section-product-tailormade .tailormade-items .items-container > div:not(.tailormade-item) > div {
    width: auto !important;
  }
  .section-product-tailormade .tailormade-items .items-container > div:not(.tailormade-item) > div:last-child .tailormade-item {
    margin-right: 0;
  }
  .section-product-tailormade .tailormade-item {
    min-width: 360rem;
    margin-right: 24rem;
  }
  #overlay .overlay-content.overlay-tailormade .tailormade-option figure.main-figure {
    height: 380rem;
  }
  .section-project-follow-up {
    padding-bottom: 50rem;
    padding-top: 60rem;
    margin-bottom: 60rem;
  }
  .section-project-follow-up > .subtitle {
    margin-top: 15rem;
  }
  .section-project-follow-up .project-follow-up-steps-list {
    margin-top: 65rem;
    position: relative;
  }
  .section-project-follow-up .project-follow-up-steps-list .project-follow-up-step {
    margin: 0 15rem;
  }
  .section-project-follow-up .carousel-arrow {
    position: absolute;
    bottom: 250rem;
  }
  .section-project-follow-up .carousel-prev {
    left: calc(50% - 650rem);
  }
  .section-project-follow-up .carousel-next {
    right: calc(50% - 650rem);
  }
  #overlay .overlay-content.overlay-project-follow-up {
    width: 610rem;
  }
  #overlay .overlay-content.overlay-project-follow-up figure.main-figure {
    height: 280rem;
  }
  .section-projectstep-progressbar.sticky {
    padding: 25rem 85rem 25rem calc(50vw - 555rem);
  }
  .section-projectstep-progressbar.sticky ol {
    min-width: 840rem;
  }
  .section-projectstep-progressbar.sticky.isup {
    top: 42rem;
  }
  .section-projectsteps {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 690rem);
    padding-right: calc(50% - 690rem);
  }
  .section-projectsteps h2 {
    line-height: 1.5;
    font-size: 21rem;
    margin-bottom: 40rem;
  }
  .section-projectsteps .projectstep-list {
    justify-content: center;
  }
  .section-projectsteps .projectstep {
    width: calc(20% - 24rem);
    padding-bottom: 30rem;
  }
  .section-projectsteps .projectstep figure {
    height: 250rem;
    margin-bottom: 25rem;
  }
  .section-projectsteps .projectstep .number {
    width: 40rem;
    height: 40rem;
    line-height: 34rem;
    font-size: 20rem;
    border: 3rem solid var(--color-theme);
    margin-bottom: 20rem;
  }
  .section-projectsteps .projectstep h3 {
    padding: 0 20rem;
  }
  .section-projectsteps > p {
    line-height: 1.8;
    font-size: 21rem;
    margin-top: 60rem;
  }
  .section-promo-header .close-promo {
    right: 45rem;
  }
  .section-promo-prehome {
    height: calc(100vh - 106rem);
  }
  .page--model .section-promo-prehome,
  .page--price .section-promo-prehome,
  .page--gallery .section-promo-prehome,
  .page--category .section-promo-prehome {
    height: calc(100vh - 148rem);
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) figure {
    width: 190rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content {
    width: calc(100% - 190rem);
    padding-inline-end: 50rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content h3 {
    font-size: 25rem;
  }
  .section-push-category {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 690rem);
    padding-right: calc(50% - 690rem);
  }
  .section-push-category .push-category-row-6 {
    max-width: 1468rem;
  }
  .section-push-category .push-category-row-6 .category-teaser {
    flex: 1 0 calc(16.666666666666668% - 26.66667rem);
  }
  .section-push-category .category-teaser {
    height: 390rem;
  }
  .section-push-social .push-social {
    width: 255rem;
    height: 255rem;
  }
  .section-rebound {
    padding-bottom: 215rem;
    padding-top: 215rem;
    margin: 60rem 0;
  }
  .section-rebound figure {
    height: 795rem;
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
  }
  .section-rebound figure img,
  .section-rebound figure svg,
  .section-rebound figure video,
  .section-rebound figure object,
  .section-rebound figure embed {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    min-height: 100%;
  }
  .section-rebound .card {
    width: 540rem;
    padding-left: 85rem;
    padding-right: 85rem;
  }
  .section-rebound .card .button svg {
    height: 25rem;
    margin-right: 20rem;
  }
  .section-reinsurance-figures {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-reinsurance-figures .card {
    padding: 60rem 80rem;
  }
  .section-reinsurance-figures .card h2 {
    margin-bottom: 40rem;
  }
  .section-reinsurance-figures .card .reinsurance-items .reinsurance-item {
    width: 320rem;
  }
  .section-reinsurance-figures .card .legal-notice {
    margin-top: 40rem;
  }
  .section-reinsurance {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 585rem);
    padding-right: calc(50% - 585rem);
  }
  .section-testimonies-pro::after {
    width: 1110rem;
  }
  .section-testimonies .testimony-list {
    margin-bottom: 10rem;
  }
  .section-testimonies .carousel-dots {
    margin-top: 30rem;
  }
  .section-testimonies > .button-large {
    margin-top: 40rem;
  }
  .section-video {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-video figure {
    height: 625rem;
    border-radius: 10rem;
  }
  .section-video figure::before {
    width: 80rem;
    height: 80rem;
    position: absolute;
    left: calc(50% - 40rem);
    top: calc(50% - 40rem);
  }
  .section-video figure::after {
    width: 19rem;
    height: 24rem;
    position: absolute;
    left: calc(50% - 6.5rem);
    top: calc(50% - 12rem);
    border-left: 19rem solid var(--color-theme);
    border-top: 12rem solid transparent;
    border-bottom: 12rem solid transparent;
  }
  body.single--folders #folder-articles-container div.sections > article > section {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 555rem);
    padding-right: calc(50% - 555rem);
  }
  .single--folders #folder-container header.header-article .header-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 1110rem;
    clear: both;
  }
  .page--storelocator .storelocator-info {
    margin-left: auto;
    margin-right: auto;
    max-width: 1300rem;
    clear: both;
    padding-left: 95rem;
    padding-right: 0;
  }
  .page--storelocator .storelocator-info .info-contact {
    width: 300rem;
  }
  .page--storelocator .storelocator-info .action-card {
    width: 350rem;
  }
  .page--storelocator .storelocator-location {
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 1300rem;
    clear: both;
    margin-bottom: 60rem;
  }
  .page--storelocator .storelocator-map-search {
    margin-left: 100rem;
  }
  .page--storelocator .storelocator-map-search-form {
    margin-bottom: 15rem;
  }
  .page--storelocator .storelocator-places .agency-card {
    width: calc(25% - 22.5rem);
    margin-right: 30rem;
  }
  .page--storelocator .storelocator-presentation .content {
    margin-right: 15rem;
  }
  .page--storelocator .storelocator-presentation .content-text {
    width: 47%;
  }
  .page--storelocator .storelocator-presentation .action-card .card-title {
    font-size: 30rem;
    margin-bottom: 25rem;
  }
  .page--storelocator .storelocator-presentation .action-card .card-content {
    display: flex;
    align-items: center;
    text-align: left;
  }
  .page--storelocator .storelocator-presentation .action-card .review-qrcode {
    margin-right: 30rem;
  }
}
@media only screen and (min-width: 1440px){
  html {
    font-size: 1px;
  }
}
@media only screen and (min-width: 1441px){
  .header-hero-promo > figure,
  .header-hero-promo .promo-banner {
    position: relative;
    width: 100%;
    padding-left: calc(50% - 650rem);
    padding-right: calc(50% - 650rem);
  }
  .header-hero-promo > figure {
    height: 450rem;
  }
  .header-hero-promo .promo-banner {
    position: static;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow {
    top: 75rem;
  }
}
@media only screen and (max-width: 1051px){
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-prev {
    left: -38rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-next {
    right: -38rem;
  }
}
@media only screen and (max-width: 1050px){
  .accordion-group {
    margin-bottom: 30rem;
  }
  details.accordion-item[open] {
    padding-bottom: 15rem;
  }
  ul.breadcrumb {
    text-align: center;
  }
  ul.breadcrumb.style-small::before {
    content: '...';
    font-size: 12rem;
    font-weight: 300;
  }
  ul.breadcrumb.style-small li:not(:last-child) {
    display: none;
  }
  form .field .suggestions {
    min-width: calc(100vw - 40rem);
  }
  form .field-submit {
    text-align: center;
  }
  form p.note.note-required {
    font-size: 12rem;
  }
  #modal-callback .modal-content {
    min-height: 0;
    padding: 40rem 40rem 0;
    overflow-x: hidden;
  }
  #modal-callback .modal-content .field-submit {
    margin-bottom: 40rem;
  }
  #modal-newsletter .modal-content {
    min-height: 0;
    padding: 40rem 40rem 0;
    overflow-x: hidden;
  }
  #modal-newsletter .modal-content .field-submit {
    margin-bottom: 40rem;
  }
  .modal-close {
    width: 25rem;
    height: 25rem;
    background-size: 12rem;
    position: absolute;
    right: 15rem;
    top: 15rem;
  }
  .modal-content {
    width: calc(100% - 30rem);
    max-height: 90vh;
    overflow-y: auto;
    padding: 25rem 20rem 40rem;
  }
  .mega-menu--block-link-list .block-title-placeholder {
    display: none;
  }
  .mega-menu--block-link-list ul li a span {
    padding-block: 20rem;
  }
  .mega-menu--block-link-list ul li:last-child {
    border-bottom: none;
  }
  .mega-menu--block-model .block-model-push {
    display: flex;
    width: 100%;
    justify-content: flex-start;
    align-items: center;
    gap: 10rem;
    padding-block: 12rem 12rem;
    border-bottom: 1px solid #d4d4d4;
  }
  .mega-menu--block-model .block-model-push:first-child {
    padding-block-start: 0;
  }
  .mega-menu--block-model .block-model-push:last-child {
    padding-block-end: 0;
    border-bottom: none;
  }
  .mega-menu--block-model .block-model-push figure {
    width: 40rem;
    height: 40rem;
  }
  .mega-menu--block-model .block-model-push .title-h4 {
    flex: 1;
  }
  .mega-menu--block-model .block-button-link {
    margin-top: 25rem;
  }
  .mega-menu--block-push-price .block-push-price {
    padding-block: 16rem;
  }
  .mega-menu--block-push-price .block-push-price figure {
    width: 50rem;
    height: 50rem;
  }
  .mega-menu--block-surface .block-link-push h4 {
    line-height: 1.5;
    font-size: 14rem;
  }
  .mega-menu--block-surface .block-link-push a {
    line-height: 1.5;
    font-size: 14rem;
  }
  .mega-menu--block-surface .block-link-push::after {
    top: calc(50% - 12rem);
  }
  .mega-menu--block-surface .block-link-push:last-child {
    border-bottom: none;
  }
  .mega-menu--block-text-cta .title-h3 {
    display: none;
  }
  .mega-menu--block-text-cta .block-text {
    margin-bottom: 15rem;
  }
  .mega-menu--block-text-cta a.button {
    align-self: stretch;
  }
  .mega-menu--block .block-title.title-h3 {
    line-height: 1.5;
    font-size: 16rem;
    margin-bottom: 25rem;
  }
  .mega-menu--block .block-cta-link {
    padding-block: 8rem;
  }
  .mega-menu--block .block-push-card figure {
    aspect-ratio: 13/19;
  }
  .mega-menu--block .block-push-card figcaption .title-h4 {
    line-height: 1.5;
    font-size: 12rem;
  }
  .mega-menu-container {
    flex-flow: column;
    gap: 30rem;
  }
  .mega-menu-container .mega-menu-nav {
    display: flex;
  }
  .mega-menu-container .mega-menu--block:last-child {
    margin-bottom: 30rem;
  }
  #overlay .overlay-container {
    min-width: 50%;
  }
  #overlay .overlay-container .overlay-content {
    width: 100%;
    padding: 30rem 30rem 80rem;
  }
  #overlay .overlay-container .overlay-content h2 {
    font-size: 30rem;
    line-height: 45rem;
    padding-right: 55rem;
  }
  #overlay .close-overlay {
    width: 45rem;
    height: 45rem;
    background-size: 14rem;
    top: 30rem;
    right: 30rem;
  }
  .load-popin-dialog .dialog-container {
    padding: 50rem 20rem 40rem;
  }
  .load-popin-dialog .close-dialog {
    width: 25rem;
    height: 25rem;
    background-size: 12rem;
    top: 15rem;
    right: 15rem;
  }
  .load-popin-dialog .dialog-content section.section-products-manual {
    margin-inline: -20rem;
  }
  .load-popin-dialog .dialog-content section.section-products-manual .content,
  .load-popin-dialog .dialog-content section.section-products-manual .categories {
    padding-inline: 20rem;
  }
  .load-popin-dialog .dialog-content section.section-carousel-videos {
    margin-inline: -20rem;
  }
  .submenu {
    border-left: 1px solid #d4d4d4;
  }
  .submenu .submenu-content {
    overflow: scroll;
  }
  .submenu .menu-mobile {
    width: 100%;
    display: flex;
    align-items: center;
    padding-left: 30rem;
    padding-right: 30rem;
    border-bottom: 1px solid #d4d4d4;
    margin-bottom: 30rem;
    background-color: #fff;
  }
  .submenu > .menu > .menu-item a,
  .submenu > .menu > .menu-item span {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    font-weight: 500;
    text-decoration: none;
  }
  .submenu-large {
    background-color: #fff;
  }
  .submenu-large .menu-title {
    width: 100%;
    line-height: 1.3125;
    font-size: 16rem;
    padding-left: 30rem;
    padding-right: 30rem;
    margin-bottom: 30rem;
  }
  .submenu-large .menu-button-items {
    width: 100%;
    padding-left: 30rem;
    padding-right: 30rem;
    margin-bottom: 30rem;
  }
  .submenu-large .menu-button-items .button {
    text-align: left;
    padding-bottom: 12rem;
    padding-top: 12rem;
    align-self: flex-start;
  }
  .submenu-large .menu-card-items {
    padding-left: 30rem;
    padding-right: 30rem;
    margin-bottom: 30rem;
  }
  .submenu-large .menu-card-items article.item-category {
    width: 100%;
    height: 200rem;
    margin-bottom: 10rem;
  }
  .submenu-large .menu-card-items article.item-category:last-child {
    margin-bottom: 0;
  }
  .submenu-large .menu-link-items {
    padding-left: 30rem;
    padding-right: 30rem;
    margin-bottom: 30rem;
  }
  .submenu-small .menu {
    padding: 0 30rem;
  }
  article.item-category {
    border-radius: 10rem;
  }
  #nav-main article.item-category figure::after {
    width: 100%;
    height: 45%;
    background-image: linear-gradient(rgba(255,255,255,0), #fff 50%);
  }
  h1,
  .title-h1,
  span.title {
    line-height: 1.3;
    font-size: 24rem;
  }
  h2,
  .title-h2 {
    font-size: 20rem;
  }
  body > footer {
    flex-flow: column;
    align-items: center;
    padding-block-start: 50rem;
  }
  body > footer .footer-nav {
    width: 100%;
  }
  body > footer .footer-nav-spacer {
    display: none;
  }
  body > footer .footer-nav-separator {
    display: none;
  }
  #footer-logo {
    order: 0;
    margin-bottom: 25rem;
  }
  #footer-logo img {
    width: auto;
    height: 55rem;
  }
  #footer-scroll-top {
    order: -1;
    margin-bottom: 55rem;
  }
  #footer-social {
    display: flex;
    justify-content: center;
    text-indent: -9999rem;
    margin-bottom: 30rem;
  }
  #footer-links ul.menu {
    flex-flow: column;
  }
  #footer-links ul.menu > li.menu-item {
    display: flex;
    border-bottom: 1px solid #fff;
    flex-flow: wrap;
  }
  #footer-links ul.menu > li.menu-item > a,
  #footer-links ul.menu > li.menu-item > span {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 30rem 20rem;
  }
  #footer-links ul.menu > li.menu-item > a::after,
  #footer-links ul.menu > li.menu-item > span::after {
    content: '';
    flex: 0 0 24rem;
    width: 24rem;
    height: 24rem;
    -webkit-mask-image: var(--menu-arrow-image);
    mask-image: var(--menu-arrow-image);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: #fff;
    transform: rotate(90deg);
  }
  #footer-links ul.menu > li.menu-item > ul.sub-menu {
    width: 100%;
    padding: 20rem 30rem;
    margin: 0;
    background-color: rgba(255,255,255,0.1);
  }
  #footer-links ul.menu > li.menu-item.menu-opened ul.sub-menu {
    display: flex;
  }
  #footer-links ul.sub-menu {
    display: none;
  }
  #footer-legal {
    flex-flow: column;
    padding-inline: 60rem;
  }
  #footer-legal ul.menu {
    flex-flow: column;
    align-items: center;
  }
  #footer-legal ul.menu li.menu-item > a img,
  #footer-legal ul.menu li.menu-item > span img {
    width: 160rem;
    height: auto;
  }
  #footer-legal .menu-footer-contact {
    order: 0;
    margin-bottom: 25rem;
  }
  #footer-legal .menu-footer-contact ul.menu {
    gap: 10rem;
  }
  #footer-legal .menu-footer-contact ul.menu li.menu-item-contact span {
    text-align: center;
  }
  #footer-legal .menu-footer-legal {
    order: 1;
  }
  #footer-legal .menu-footer-legal ul.menu {
    gap: 15rem;
  }
  body {
    --menu-header-height: 65rem;
    --menu-header-sticky-offset: var(--menu-header-offset);
  }
  body > header {
    overscroll-behavior: contain;
  }
  body > header .header-nav-spacer {
    display: none;
  }
  body > header .header-nav-container {
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    display: none;
    flex-flow: column;
    justify-content: flex-start;
    width: 100%;
    height: 100vh;
    height: calc(var(--app-height) - var(--menu-header-offset));
    overscroll-behavior: contain;
  }
  body > header .header-nav-container .brand-logo {
    padding: 15rem 20rem;
  }
  body > header .header-nav-container .brand-logo img {
    height: 35rem;
  }
  body > header .header-nav-container-mobile {
    display: flex;
  }
  body > header .header-nav-separator {
    display: none;
  }
  body > header.nav-opened {
    top: var(--menu-header-offset);
  }
  body > header.nav-opened .header-nav-container {
    display: flex;
  }
  #header-logo {
    display: none;
  }
  #searchform {
    width: calc(100% - 100rem);
    height: 75rem;
    margin-inline-start: 25rem;
  }
  #searchform input {
    border-radius: 8rem;
  }
  #header-brand {
    order: 1;
  }
  #header-hub {
    order: 0;
    margin-bottom: 30rem;
  }
  #header-hub-pro {
    margin-top: 75rem;
  }
  #header-quicklinks {
    flex: 1;
    order: 2;
    align-items: flex-end;
    margin-bottom: 25rem;
  }
  #header-quicklinks-pro {
    flex: 1;
  }
  #header-mobile-nav {
    position: absolute;
    right: 0;
    top: 0;
  }
  #header-mobile.header-mobile--cobrand {
    padding: 15rem 20rem;
    align-items: center;
  }
  #header-mobile.header-mobile--cobrand .brand-logo img {
    height: 28rem;
  }
  #header-mobile.header-mobile--cobrand .header-cobrand-visit {
    font-size: 14rem;
    margin-left: auto;
    color: inherit;
  }
  main {
    overflow: hidden;
  }
  main > section {
    width: 100%;
  }
  .header-nav {
    width: 100%;
  }
  .header-nav ul.menu {
    flex-flow: column;
    padding: 0 25rem;
  }
  .header-nav ul.sub-menu {
    flex-flow: column;
    padding: 25rem;
  }
  .header-nav li.menu-item-nav {
    display: flex;
    margin-bottom: 25rem;
  }
  .header-nav-menu ul.menu li.menu-item {
    border-bottom: 1px solid #d4d4d4;
  }
  .header-nav-menu ul.menu li.menu-item > ul.sub-menu {
    position: absolute;
    z-index: 5;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    height: calc(var(--app-height) - var(--menu-header-offset));
    background-color: #fff;
    overflow: auto;
  }
  .header-nav-menu ul.menu li.menu-item > ul.sub-menu > li.menu-item > a,
  .header-nav-menu ul.menu li.menu-item > ul.sub-menu > li.menu-item > span {
    line-height: 1.5;
    font-size: 14rem;
    padding-block: 20rem;
  }
  .header-nav-menu ul.menu li.menu-item:last-child {
    border-bottom: none;
  }
  .header-nav-menu ul.menu > li.menu-item > a,
  .header-nav-menu ul.menu > li.menu-item > span {
    line-height: 1.5;
    font-size: 16rem;
    padding-block: 16rem;
  }
  .menu-header-brand {
    width: 100%;
  }
  .menu-header-brand ul.menu li.menu-item > a,
  .menu-header-brand ul.menu li.menu-item > span {
    color: #000;
    font-weight: 400;
  }
  .menu-header-hub {
    width: 100%;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu > a {
    justify-content: flex-start;
    padding-block: 12rem 12rem;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu > a > img {
    width: 40rem;
    height: 40rem;
  }
  .menu-header-hub ul.menu > li.menu-item.menu-item-type-custom > ul.sub-menu > li.menu-item.menu-item-object-mega-menu > a::after {
    flex: 1;
    -webkit-mask-position: right center;
    mask-position: right center;
  }
  .menu-header-quicklinks {
    width: 100%;
  }
  .menu-header-quicklinks ul.menu {
    gap: 10rem;
  }
  .menu-header-quicklinks ul.menu li.menu-item {
    border-bottom: none;
  }
  .menu-header-quicklinks ul.menu li.menu-item.agences > a,
  .menu-header-quicklinks ul.menu li.menu-item.demande-etude > a {
    justify-content: center;
  }
  .page--contact .section-contactform {
    text-align: center;
    margin-bottom: 45rem;
  }
  .page--home .header-hero {
    margin-bottom: 0;
  }
  .page--home .header-hero + .section-push-category {
    padding-top: 65rem;
  }
  .page--project-follow-home main > section:last-of-type {
    margin-bottom: 45rem;
  }
  .page--project-follow-home main > aside {
    margin-bottom: 30rem;
  }
  .page--project-follow-step main > section:last-of-type {
    margin-bottom: 40rem;
  }
  .page--project-follow-step .section-projectstep-introduction h1 {
    line-height: 1.2;
    font-size: 25rem;
    padding-left: 55rem;
  }
  .page--project-follow-step .section-projectstep-introduction h1 span {
    width: 45rem;
    height: 45rem;
    line-height: 45rem;
    font-size: 20rem;
    position: absolute;
    left: 0;
    top: calc(50% - 22.5rem);
  }
  .page--project-follow-step .section-projectstep-introduction p {
    line-height: 1.8;
    font-size: 18rem;
  }
  .section--rubric-archive .taxonomy-content__filters__tags {
    flex: 1 1 auto;
  }
  .page--storelocator main > nav {
    padding-right: 30rem;
    padding-left: 30rem;
  }
  .page--storelocator .storelocator-title {
    font-size: 25rem;
    padding-left: 20rem;
    padding-right: 20rem;
    margin-bottom: 25rem;
  }
  .page--storelocator .storelocator-link-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .page--storelocator .storelocator-link-list a {
    margin-right: 0;
  }
  .page--study.theme-pro .section-studyform.study-confirmation + aside.aside-study {
    justify-content: space-around;
  }
  .page--study .section-studyform {
    margin-bottom: 45rem;
  }
  .page--study .section-studyform.study-form ~ .aside-study {
    display: none;
  }
  .page--study .aside-study {
    margin-bottom: 30rem;
  }
  .page--study .section-ambassadors {
    padding-top: 0;
  }
  .card-reinsurance {
    padding-bottom: 100rem;
  }
  .card-reinsurance .card-visual {
    width: 50rem;
    height: 50rem;
  }
  .certification-teaser figure {
    margin-bottom: 32rem;
  }
  .certification-teaser h3 {
    margin-bottom: 15rem;
  }
  .product-teaser h3 {
    line-height: 1.3;
    font-size: 15rem;
  }
  .product-teaser .product-visual {
    overflow: visible;
    margin-bottom: 15rem;
  }
  .product-teaser .product-info {
    padding-bottom: 20rem;
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .product-teaser .product-argument {
    top: 20rem;
    left: 20rem;
  }
  .product-teaser .product-promo-disclaimer {
    margin-top: 5rem;
  }
  .project-follow-up-step .card {
    padding: 25rem 60rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .subtitle {
    line-height: 1.2;
    font-size: 20rem;
    background-color: #fff;
  }
  header.header-base--corpo nav {
    margin-bottom: 12rem;
  }
  header.header-base--corpo h1,
  header.header-base--corpo h2,
  header.header-base--corpo h3 {
    font-size: 42rem;
  }
  .section-avisverifies {
    margin-left: 20rem;
    margin-right: 20rem;
    width: auto;
  }
  .section-cards .section-cards-container {
    flex-direction: column;
  }
  .section-cards .section-cards-container .section-cards-item p {
    display: none;
  }
  .section-cards .section-cards-container .section-cards-visual-images::before,
  .section-cards .section-cards-container .section-cards-visual-images::after {
    max-width: 85%;
    margin-left: 8%;
    height: auto;
  }
  .section-cards .section-cards-container .section-cards-visual-images .section-cards__image {
    max-width: 85%;
    margin-left: 8%;
    height: auto;
  }
  section.section-carousel-videos {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  section.section-carousel-videos .container .section-title {
    margin-bottom: 24rem;
    font-size: 20rem;
  }
  section.section-carousel-videos .container .section-description {
    margin-bottom: 40rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .slick-list .slick-track .slick-slide {
    width: 335rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item {
    width: 335rem;
    margin-right: 0;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item figure {
    aspect-ratio: 335/188;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-videos-list .carousel-video-item .video-info .video-title {
    font-size: 16rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .slick-dots {
    margin-top: 40rem;
  }
  .section-carousel {
    padding-block: 20rem;
  }
  .section-carousel .image-list {
    max-width: 80%;
  }
  .section-carousel .image-list figure {
    height: 45vw;
    border-radius: 5rem;
  }
  .section-customize > .customize-text,
  .section-customize > p {
    line-height: 1.3;
    font-size: 14rem;
    margin-bottom: 30rem;
    padding-left: 10rem;
    padding-right: 10rem;
  }
  .section-customize .customize-card {
    margin-bottom: 15rem;
  }
  .section-customize .customize-card figure {
    height: 230rem;
  }
  .section-customize .customize-card h3 {
    line-height: 30rem;
    font-size: 21rem;
    margin-bottom: 12.5rem;
    padding-left: 25rem;
    padding-right: 25rem;
  }
  .section-customize .customize-card p {
    padding-left: 25rem;
    padding-right: 25rem;
  }
  .section-customize .customize-option-list {
    padding-left: 5rem;
    padding-right: 5rem;
  }
  .section-customize .customize-option > figure {
    display: none;
  }
  .section-exceptional-information .close-exceptional-information {
    top: 20rem;
    right: 20rem;
  }
  .section-ferjani {
    padding-block: 40rem;
  }
  .section-ferjani h2 {
    margin-bottom: 20rem;
  }
  .section-ferjani > p {
    line-height: 1.4;
    font-size: 14rem;
    max-width: 650rem;
    margin-bottom: 15rem;
  }
  .section-ferjani .ferjani-portrait {
    justify-content: space-between;
    max-width: 400rem;
    margin-inline: auto;
  }
  .section-ferjani .ferjani-picture {
    width: 100rem;
  }
  .section-ferjani .ferjani-picture img {
    height: 117rem;
  }
  .section-ferjani .ferjani-picture::before {
    width: 100rem;
    height: 100rem;
  }
  .section-ferjani .ferjani-signature {
    width: 155rem;
  }
  .section-ferjani .ferjani-photo {
    display: none;
  }
  .section-price-grid table th {
    text-align: center;
  }
  .section-price-grid table th span {
    display: none;
  }
  .section-price-grid table tbody td {
    text-align: center;
    padding-left: 10rem;
    padding-right: 10rem;
  }
  .section-product-info .product-financing {
    margin-left: 0;
    width: 100%;
  }
  .section-product-info .product-financing-separator {
    padding-left: 24rem;
  }
  .section-product-info > nav {
    line-height: 22rem;
    margin: 8rem 20rem;
  }
  .section-product-info > nav ul.breadcrumb {
    text-align: left;
  }
  .section-product-info .product-gallery {
    position: relative;
    width: 100%;
  }
  .section-product-info .product-gallery-list {
    margin-bottom: 25rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails {
    gap: 10rem;
    margin-inline: 20rem;
    margin-bottom: 20rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails li {
    max-width: 60rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-video::before,
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-embed::before {
    width: 22.5rem;
    height: 22.5rem;
  }
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-video::after,
  .section-product-info .product-gallery .carousel-thumbnails li figure.type-embed::after {
    border-block-width: 5rem;
    border-left-width: 7.5rem;
  }
  .section-product-info .product-gallery .carousel-arrow {
    position: absolute;
    top: calc(50% - 32.5rem - 50rem);
  }
  .section-product-info .product-gallery .carousel-prev {
    left: 20rem;
  }
  .section-product-info .product-gallery .carousel-next {
    right: 20rem;
  }
  .section-product-info .product-gallery .product-argument {
    top: 20rem;
    left: 20rem;
  }
  .section-product-info .product-info {
    border-radius: 10rem 10rem 0 0;
    padding: 0 20rem 25rem 20rem;
  }
  .section-product-info .product-info header > nav {
    padding: 0 20rem;
    line-height: 22rem;
  }
  .section-product-info .product-info h1 {
    margin-bottom: 32rem;
  }
  .section-product-info .product-price {
    width: 100%;
    margin-bottom: 32rem;
  }
  .section-product-info .product-price-current {
    font-size: 32rem;
  }
  .section-product-info .product-price .button {
    padding: 19rem 23rem 19rem 44rem;
  }
  .section-product-info .product-promo {
    padding-bottom: 5rem;
    padding-top: 5rem;
  }
  .section-product-tailormade {
    padding-inline: 0;
  }
  .section-product-tailormade .desktop-only {
    display: none;
  }
  .section-product-tailormade > h2 {
    margin-bottom: 25rem;
    padding-inline: 40rem;
  }
  .section-product-tailormade > h2 + p {
    font-size: 14rem;
    margin-bottom: 40rem;
    padding-inline: 40rem;
  }
  .section-product-tailormade nav {
    margin-bottom: 10rem;
  }
  .section-product-tailormade .tailormade-parts {
    -moz-column-gap: 15rem;
    column-gap: 15rem;
    padding: 0 15rem 15rem;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
  }
  .section-product-tailormade .tailormade-part {
    min-width: 150rem;
    padding: 8rem 5rem;
    scroll-snap-stop: always;
  }
  .section-product-tailormade .tailormade-items {
    padding: 25rem 0 90rem;
  }
  .section-product-tailormade .tailormade-item {
    min-width: 315rem;
    margin-right: 20rem;
  }
  section.section-products-manual .content .intro h2 {
    font-size: 26rem;
  }
  .section-project-follow-up {
    display: inline-block;
    padding: 60rem 0;
  }
  .section-project-follow-up h2,
  .section-project-follow-up > .subtitle {
    padding: 0 20rem;
  }
  .section-project-follow-up > .subtitle {
    margin-top: 20rem;
  }
  .section-project-follow-up .project-follow-up-steps-list {
    margin: 40rem 25rem 0 20rem;
  }
  .section-project-follow-up .project-follow-up-steps-list .project-follow-up-step {
    margin-right: 15rem;
  }
  .section-project-follow-up .carousel-arrow {
    display: none;
  }
  #overlay .overlay-content.overlay-project-follow-up figure.main-figure {
    height: 190rem;
  }
  .section-projectsteps .projectstep {
    padding-bottom: 15rem;
  }
  .section-projectsteps .projectstep figure {
    height: 150rem;
    margin-bottom: 15rem;
  }
  .section-projectsteps .projectstep .number {
    line-height: 21rem;
    font-size: 16rem;
    width: 25rem;
    height: 25rem;
    border: 2rem solid var(--color-theme);
    margin-bottom: 10rem;
  }
  .section-promo-header .close-promo {
    right: 20rem;
  }
  .section-rebound {
    padding-left: 0;
    padding-right: 0;
    margin: 30rem 0;
  }
  .section-rebound figure {
    height: 338rem;
  }
  .section-rebound .card {
    border: 1px solid #d4d4d4;
    padding-left: 30rem;
    padding-right: 30rem;
    margin: 0 20rem;
    position: relative;
    top: -25rem;
  }
  .section-rebound .card .button {
    font-size: 12rem;
  }
  .section-rebound .card .button svg {
    height: 20rem;
    margin-right: 10rem;
  }
  .section-reinsurance-figures {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-reinsurance-figures .card {
    padding: 30rem;
  }
  .section-reinsurance-figures .card h2 {
    font-size: 30rem;
    margin-bottom: 30rem;
  }
  .section-reinsurance-figures .card .reinsurance-items {
    flex-direction: column;
  }
  .section-reinsurance-figures .card .reinsurance-items .reinsurance-item {
    margin-bottom: 15rem;
  }
  .section-reinsurance-figures .card .reinsurance-items .reinsurance-item:last-child {
    margin-bottom: 0;
  }
  .section-reinsurance-figures .card .legal-notice {
    margin-top: 30rem;
  }
  .page--storelocator .storelocator-advisors {
    padding: 35rem 20rem;
  }
  .page--storelocator .storelocator-location {
    margin-bottom: 30rem;
  }
  .page--storelocator .storelocator-location .storelocator-seotext {
    padding: 30rem 20rem;
  }
  .page--storelocator .storelocator-map {
    padding-inline: 20rem;
  }
  .page--storelocator .storelocator-map-search {
    overflow: visible;
  }
  .page--storelocator .storelocator-map-search-title {
    line-height: 25rem;
    font-size: 18rem;
    text-align: center;
    margin-bottom: 35rem;
  }
  .page--storelocator .storelocator-map-search-form {
    margin-bottom: 20rem;
  }
  .page--storelocator .storelocator-map-search-autocomplete {
    position: absolute;
    z-index: 2;
    width: 100%;
  }
  .page--storelocator .storelocator-map-search-results-info {
    padding-left: 0;
    margin: 0 30rem 20rem;
  }
  .page--storelocator .storelocator-map-search-results-list {
    text-align: left;
    max-height: 100%;
    overflow-y: auto;
  }
  .page--storelocator .storelocator-map-search-results-list li .address {
    margin-bottom: 0;
  }
  .page--storelocator .storelocator-map-search-results .action-search {
    align-self: center;
  }
  .page--storelocator .storelocator-map .storelocator-seotext {
    padding: 30rem 20rem 0;
  }
  .page--storelocator .storelocator-news .news-cards-slider {
    display: block;
  }
  .page--storelocator .storelocator-news .news-cards-slider .news-card {
    width: auto;
  }
  .page--storelocator .storelocator-news .news-cards-slider + .carousel-dots {
    text-align: center;
  }
  .page--storelocator .storelocator-other-agencies .other-agencies-cards {
    gap: 20rem;
  }
  .page--storelocator .storelocator-places {
    padding: 50rem 20rem 0 20rem;
  }
  .page--storelocator .storelocator-presentation {
    padding: 35rem 20rem;
  }
  .page--storelocator .storelocator-presentation .content {
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 28rem;
    text-align: center;
  }
  .page--storelocator .storelocator-presentation .content-text {
    width: 100%;
    line-height: 30rem;
    font-size: 18rem;
    margin-bottom: 30rem;
  }
  .page--storelocator .storelocator-presentation .slider-container {
    align-self: auto;
    width: 100%;
  }
  .page--storelocator .storelocator-presentation .slider-container .slider-content {
    width: 100%;
  }
  .page--storelocator .storelocator-presentation .slider-container .carousel-arrow {
    display: none;
  }
  .page--storelocator .storelocator-presentation .action-card .card-title {
    font-size: 22rem;
    margin-bottom: 20rem;
  }
  .page--storelocator .storelocator-presentation .action-card .card-content {
    display: block;
    text-align: center;
  }
  .page--storelocator .storelocator-presentation .action-card .card-content strong {
    display: block;
    margin-bottom: 10rem;
  }
  .page--storelocator .storelocator-presentation .action-card .review-qrcode {
    display: inline-block;
    margin-bottom: 20rem;
  }
  .page--storelocator .storelocator-presentation .action-card .review-qrcode canvas {
    width: 100%;
  }
  .page--storelocator .storelocator-regions {
    padding: 50rem 40rem 0 40rem;
  }
  .page--storelocator .storelocator-regions h2 strong {
    display: block;
  }
}
@media only screen and (max-width: 768px){
  .action-card .card-title {
    line-height: 1.5;
    font-size: 18rem;
    margin-bottom: 20rem;
  }
  .action-card .card-suptitle {
    line-height: 1.5;
    font-size: 16rem;
  }
  .action-card p br {
    display: none;
  }
  .action-card-large {
    text-align: center;
    flex-direction: column;
  }
  .action-card-large > div {
    padding: 35rem 25rem 30rem;
  }
  aside.summary {
    position: relative;
    width: 100%;
    padding: 0 20rem;
    margin-top: 20rem;
  }
  aside.summary + main.sections {
    padding-top: 30rem;
  }
  aside.summary details {
    padding: 30rem 20rem;
  }
  aside.summary.summary-folder {
    width: auto;
    padding: 0;
    margin: 0;
    right: 0;
  }
  aside.summary.summary-folder.open {
    top: 165rem;
    width: calc(100% - 32rem);
    left: 16rem;
    right: 16rem;
  }
  aside.summary.summary-folder.open details {
    width: 100%;
    border-radius: 8rem;
    max-height: calc(100dvh - 200rem);
    height: 100dvh;
  }
  aside.summary.summary-folder details .inner {
    max-height: calc(100dvh - 252rem);
  }
  aside.summary.summary-folder details summary {
    padding: 12rem;
  }
  aside.summary.summary-folder details summary .summary-title {
    display: none;
  }
  .button-picto {
    padding-inline-start: 45rem;
  }
  .button-picto svg {
    left: 12.5rem;
    max-width: 20rem;
  }
  .button-picto.button-large {
    padding-inline-left: 55rem;
  }
  .button-picto.button-large svg {
    left: 11.5rem;
    max-width: 32rem;
  }
  .button-arrow {
    padding: 10rem;
  }
  .button-arrow::after {
    width: 20rem;
    height: 20rem;
  }
  figure.figure-video::before {
    width: 45rem;
    height: 45rem;
  }
  figure.figure-video::after {
    border-block-width: 7.5rem;
    border-inline-width: 12rem 0;
  }
  #modal-callback form .field {
    width: 100%;
    margin-bottom: 15rem;
  }
  #modal-callback form .field-call-firstname,
  #modal-callback form .field-call-lastname {
    width: calc(50% - 10rem);
  }
  #modal-callback form .field-call-lastname {
    margin-right: 20rem;
  }
  #modal-callback form .field-submit {
    margin-bottom: 0;
  }
  #modal-faq .modal-content .push-category-list .category-teaser {
    padding-top: 20rem;
  }
  #modal-newsletter form .field {
    width: 100%;
    margin-bottom: 15rem;
  }
  #modal-newsletter form .field-submit {
    margin-bottom: 0;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser {
    padding-top: 20rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser {
    padding-top: 20rem;
  }
  .push-card figure {
    height: 150rem;
    margin-bottom: 15rem;
  }
  .push-card .card-icon {
    height: 18rem;
    margin-bottom: 9rem;
  }
  .push-card h3,
  .push-card .card-title {
    line-height: 1.3;
    font-size: 13rem;
  }
  header.header-base.section-404 {
    height: calc(100vh - 120rem);
    background-position: left -17rem bottom;
    background-size: 165% auto;
    padding-top: 30rem;
  }
  header.header-base.section-404::before {
    width: 100%;
    height: 60%;
    background-image: linear-gradient(#fff, #fff 50%, rgba(255,255,255,0.8) 80%, rgba(255,255,255,0));
  }
  header.header-base.section-404 h1 {
    line-height: 0.6;
    font-size: 45rem;
  }
  header.header-base.section-404 p {
    padding: 0;
    margin-bottom: 30rem;
  }
  header.header-base.section-410 {
    height: calc(100vh - 120rem);
    background-position: left -17rem bottom;
    background-size: 165% auto;
    padding-top: 30rem;
  }
  header.header-base.section-410::before {
    width: 100%;
    height: 60%;
    background-image: linear-gradient(#fff, #fff 50%, rgba(255,255,255,0.8) 80%, rgba(255,255,255,0));
  }
  header.header-base.section-410 h1 {
    line-height: 0.6;
    font-size: 45rem;
  }
  header.header-base.section-410 p {
    padding: 0;
    margin-bottom: 30rem;
  }
  .page--contact .header-contact .contact-steps {
    display: none;
  }
  .page--contact .section-contactform .contact-step {
    width: 40rem;
    height: 40rem;
    display: inline-block;
    text-align: center;
    line-height: 34rem;
    font-size: 20rem;
    font-weight: 600;
    background-color: var(--color-theme);
    color: #fff;
    border-radius: 50%;
    border: 3rem solid var(--color-theme);
    margin-bottom: 20rem;
  }
  .page--contact .section-contactform .form-actions {
    flex-flow: wrap;
  }
  .page--contact .section-contactform .form-actions p.note {
    order: -1;
    width: 100%;
    text-align: center;
  }
  .page--contact .section-contactform .action-cards .contact-card {
    margin-bottom: 30rem;
  }
  .page--contact .section-contactform.contactform-step-1 form .form-actions {
    justify-content: center;
  }
  .page--customer-service .header-customer-service {
    margin-bottom: 32rem;
  }
  .page--customer-service .header-customer-service h1 {
    margin-bottom: 32rem;
  }
  .page--customer-service .section-customer-service form fieldset {
    margin-bottom: 40rem;
  }
  .page--dataprivacy .section-dataprivacyform .action-cards .contact-card {
    margin-bottom: 30rem;
  }
  .page--gallery .pictures-modal .modal-close {
    top: 20rem;
    right: 20rem;
  }
  .page--gallery .pictures-carousel figure img,
  .page--gallery .pictures-carousel figure svg,
  .page--gallery .pictures-carousel figure video,
  .page--gallery .pictures-carousel figure object,
  .page--gallery .pictures-carousel figure embed {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    min-height: 100%;
  }
  .page--gallery .pictures-carousel figure .iframe-youtube,
  .page--gallery .pictures-carousel figure .youtube-placeholder {
    height: 56.25vw;
  }
  .page--gallery .pictures-caption {
    width: 100%;
    line-height: 1.425;
    font-size: 14rem;
    padding: 25rem 40rem 30rem 40rem;
  }
  .page--gallery .pictures-caption strong {
    margin-bottom: 20rem;
  }
  .page--gallery .carousel-arrow {
    position: absolute;
    top: 0;
    background-color: transparent;
  }
  .page--gallery .carousel-arrow.carousel-prev {
    left: 0;
  }
  .page--gallery .carousel-arrow.carousel-next {
    right: 0;
  }
  .page--home.theme-pro .header-hero.header-hero-category .hero-pictures article figure::before {
    height: 98%;
  }
  .magazine-header .header-description {
    margin-bottom: 40rem;
    margin-top: 12rem;
  }
  .wrapper-rubrics ul.rubrics {
    overflow-x: auto;
    margin-top: 0;
    margin-bottom: 60rem;
    gap: 48rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .wrapper-rubrics ul.rubrics::-webkit-scrollbar {
    display: none;
  }
  .wrapper-rubrics ul.rubrics li {
    flex: 0 0 120rem;
    text-align: left;
    padding-bottom: 16rem;
  }
  .page--project-follow-step .section-projectstep-progressbar {
    display: none;
  }
  .page--project-follow-step .section-projectstep-progressbar + .section-projectstep-navigation {
    padding-bottom: 0;
    padding-top: 0;
  }
  .page--project-follow-step .section-projectstep-introduction {
    flex-direction: column;
  }
  .page--project-follow-step .section-projectstep-introduction p {
    margin-bottom: 40rem;
  }
  .page--project-follow-step .section-projectstep-introduction figure {
    width: 100vw;
    height: 69.33vw;
    position: relative;
  }
  .page--project-follow-step .section-projectstep-navigation {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section--rubric-archive .taxonomy-content__filters__tags #tag-filter label.label {
    padding: 5rem 32rem 5rem 15rem;
    background-position: right 10rem center;
  }
  .section--rubric-archive .taxonomy-content__filters__tags #tag-filter label.label svg {
    right: 9rem;
  }
  .section--rubric-archive .taxonomy-content__filters__tags #tag-filter .checkboxes {
    right: 50%;
    transform: translateX(50%);
  }
  .section--rubric-archive .taxonomy-content__filters {
    flex-direction: column;
    align-items: center;
    gap: 32rem;
  }
  .section--rubric-archive .taxonomy-content__filters__categories {
    flex: 1 1 auto;
    justify-content: center;
  }
  .section--rubric-archive .posts-list {
    display: flex;
    flex-direction: column;
    gap: 48rem;
  }
  .section--rubric-archive .pagination-links {
    position: relative;
    padding: 0 60rem;
  }
  .section--rubric-archive .pagination-link.pagination-prev,
  .section--rubric-archive .pagination-link.pagination-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid;
  }
  .section--rubric-archive .pagination-link.pagination-prev {
    left: 0;
  }
  .section--rubric-archive .pagination-link.pagination-prev svg {
    transform: rotate(180deg);
  }
  .section--rubric-archive .pagination-link.pagination-next {
    right: 0;
  }
  .section-folders__rubric-list article.folder-item figure {
    width: 100%;
    flex: 1 1 100%;
  }
  .page--storelocator .storelocator-subtitle {
    font-size: 18rem;
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .page--storelocator .storelocator-seotext {
    font-size: 16rem;
  }
  .page--storelocator .storelocator-seotext p br {
    display: none;
  }
  .page--universal .header-hero {
    margin-bottom: 30rem;
  }
  .page--universal .section-gallery {
    margin-bottom: 30rem;
  }
  .push-card.article-teaser {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    gap: 16rem;
    padding: 8rem;
  }
  .push-card.article-teaser figure {
    width: 68rem;
    height: 68rem;
    border-radius: 2rem;
    margin: 0;
  }
  .push-card.article-teaser figure img {
    font-size: 8rem;
  }
  .push-card.article-teaser h3 {
    flex: 1;
    font-size: 14rem;
    font-weight: 500;
    text-align: left;
    margin: 0;
  }
  .push-card.article-teaser::after {
    content: '';
    width: 24rem;
    height: 24rem;
    -webkit-mask: var(--menu-arrow-image);
    mask: var(--menu-arrow-image);
    background-color: var(--color-theme);
  }
  .push-card.article-teaser .card-icon,
  .push-card.article-teaser .button {
    display: none;
  }
  .category-teaser {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
    gap: 16rem;
    padding: 8rem;
    border-radius: 8rem;
    border: 1px solid #d4d4d4;
  }
  .category-teaser figure {
    width: 68rem;
    height: 68rem;
    border-radius: 2rem;
    margin: 0;
  }
  .category-teaser figure img {
    font-size: 8rem;
  }
  .category-teaser h3 {
    flex: 1;
    font-size: 14rem;
    font-weight: 500;
    text-align: left;
    margin: 0;
  }
  .category-teaser::after {
    content: '';
    width: 24rem;
    height: 24rem;
    -webkit-mask: var(--menu-arrow-image);
    mask: var(--menu-arrow-image);
    background-color: var(--color-theme);
  }
  .category-teaser .card-icon,
  .category-teaser .button {
    display: none;
  }
  article.location-teaser {
    min-height: 200rem;
  }
  .locations-map article.location-teaser {
    min-height: 0;
  }
  .push-card.model-teaser {
    flex-flow: row;
    gap: 16rem;
    padding: 8rem;
    border-radius: 8rem;
    border: 1px solid #d4d4d4;
  }
  .push-card.model-teaser figure {
    width: 68rem;
    height: 68rem;
    border-radius: 2rem;
    margin-bottom: 0;
  }
  .push-card.model-teaser figure img {
    font-size: 8rem;
  }
  .push-card.model-teaser .model-teaser-content {
    flex-flow: row;
    justify-content: space-between;
  }
  .push-card.model-teaser .model-teaser-content h3 {
    font-size: 14rem;
    font-weight: 500;
    margin: 0;
  }
  .push-card.model-teaser .model-teaser-content::after {
    content: '';
    width: 24rem;
    height: 24rem;
    -webkit-mask: var(--menu-arrow-image);
    mask: var(--menu-arrow-image);
    background-color: var(--color-theme);
  }
  .push-card.model-teaser .model-teaser-content .card-icon,
  .push-card.model-teaser .model-teaser-content .button {
    display: none;
  }
  .post-teaser {
    border-bottom: 1px solid #d4d4d4;
    padding-bottom: 30rem;
    margin-bottom: 30rem;
  }
  .post-teaser figure {
    height: 180rem;
    margin-bottom: 15rem;
  }
  .post-teaser h3 {
    line-height: 1.5;
    font-size: 20rem;
    padding: 0 30rem;
    margin-bottom: 5rem;
  }
  .post-teaser p {
    font-size: 12rem;
    margin-bottom: 15rem;
  }
  header.header-base {
    width: 100%;
    padding-left: 22.5rem;
    padding-right: 22.5rem;
  }
  header.header-base h1 {
    line-height: 1.2;
    font-size: 25rem;
    margin-bottom: 20rem;
  }
  header.header-base p {
    line-height: 1.8;
    font-size: 18rem;
    padding-left: 15rem;
    padding-right: 15rem;
  }
  header.header-hero-caracteristics {
    padding-block: 40rem;
    margin-bottom: 100rem;
  }
  header.header-hero-caracteristics nav {
    bottom: -30rem;
    padding-left: 20rem;
    padding-right: 20rem;
    margin-block: 15rem;
  }
  header.header-hero-category {
    height: auto;
  }
  header.header-hero-category > figure {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  header.header-hero-category aside.aside-hero.aside-info {
    position: relative;
    left: 0;
    top: 0;
    max-height: none;
    background-color: transparent;
    transform: none;
    padding: 0 0 30rem 0;
    backdrop-filter: none;
    box-shadow: none;
  }
  header.header-hero-category aside.aside-hero.aside-info .category-breadcrumb {
    background-color: #fff;
    padding-block: 20rem 12rem;
    margin: 0;
  }
  header.header-hero-category aside.aside-hero.aside-info h1 {
    background-color: #fff;
    padding-bottom: 24rem;
    margin-bottom: 170rem;
  }
  header.header-hero-category aside.aside-hero.aside-info .push-model-list {
    flex-flow: column;
    padding-inline: 20rem;
    gap: 16rem;
  }
  header.header-hero-home {
    min-height: auto !important;
    padding-block: 60rem;
  }
  header.header-hero-home > figure {
    position: absolute;
    inset: 0;
  }
  header.header-hero-home .aside-hero {
    position: static !important;
    max-width: 410rem;
    margin-inline: auto;
  }
  .header-hero-promo > figure {
    height: 146rem;
    padding-inline: 20rem;
  }
  .header-hero-promo > figure::before {
    background: radial-gradient(112.4% 278.78% at 17.73% 100%, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
  }
  .header-hero-promo > figure figcaption h1 .title {
    font-size: 30rem;
  }
  .header-hero-promo .promo-banner {
    padding: 30rem 20rem;
  }
  .header-hero-promo .promo-banner .title {
    font-size: 30rem;
  }
  .header-hero-promo .promo-banner .title.banner-desktop,
  .header-hero-promo .promo-banner .subtitle.banner-desktop {
    display: none;
  }
  .header-hero-promo .promo-banner .title.banner-mobile,
  .header-hero-promo .promo-banner .subtitle.banner-mobile {
    display: block;
  }
  .header-hero-promo .promo-banner figure {
    margin-bottom: 20rem;
  }
  .header-hero-promo .promo-banner figure .banner-desktop {
    display: none;
  }
  .header-hero-promo .promo-banner .button {
    flex: 1 0 100%;
  }
  .header-hero.header-hero-universal .button {
    margin-top: 15rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content nav {
    margin-bottom: 20rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content p {
    line-height: 1.7;
    font-size: 18rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content p:last-of-type {
    margin-bottom: 20rem;
  }
  .header-hero.header-hero-universal + .header-hero-universal-content .button {
    margin-bottom: 20rem;
  }
  header.header-hero {
    min-height: calc(100svh - var(--menu-header-height) - 65rem);
  }
  header.header-hero aside.aside-hero {
    bottom: 20rem;
    margin-inline: 16rem;
  }
  header.header-hero aside.aside-hero.aside-info h1 {
    line-height: 1.2;
    font-size: 20rem;
  }
  header.header-store-locator {
    padding-block-start: 40rem;
    padding-inline: 20rem;
    margin-block-end: 32rem;
  }
  header.header-store-locator .breadcrumb {
    margin-block-end: 16rem;
  }
  header.header-store-locator ul.store-locator-services {
    gap: 24rem 16rem;
    justify-content: space-between;
    margin-block: 32rem 0;
    margin-inline: 16rem;
  }
  header.header-store-locator ul.store-locator-services li {
    flex: 0 0 calc(50% - 8rem);
    text-align: left;
  }
  header.header-base--corpo {
    width: 100%;
    padding-left: 22.5rem;
    padding-right: 22.5rem;
  }
  header.header-base--corpo h1,
  header.header-base--corpo h2,
  header.header-base--corpo h3 {
    font-size: 36rem;
  }
  header.header-base--corpo .header-base__text {
    padding-left: 15rem;
    padding-right: 15rem;
  }
  .header-universal figure {
    width: 100%;
    height: 170rem;
    margin-bottom: 15rem;
  }
  .header-universal .header-content {
    padding: 10rem 0 25rem;
    margin: 0 20rem;
    font-weight: 300;
  }
  .header-universal nav {
    margin-bottom: 15rem;
  }
  .header-universal h1 {
    line-height: 1.2;
    font-size: 25rem;
    margin-bottom: 15rem;
  }
  .header-universal p {
    line-height: 1.7;
    font-size: 18rem;
  }
  .header-universal time {
    font-size: 12rem;
  }
  .section-all-rubrics {
    padding-bottom: 60rem;
    padding-top: 60rem;
  }
  .section-all-rubrics__title {
    font-size: 20rem;
  }
  .section-all-rubrics__content {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .section-all-rubrics__content-item {
    flex: 1 1 auto;
  }
  .section-ambassadors article > figure {
    margin-bottom: 60rem;
  }
  .section-avisverifies .avisverifies-reviews .carousel-arrow {
    top: calc(50% - 25rem);
    width: 50rem;
    height: 50rem;
  }
  .section-avisverifies .avisverifies-reviews .carousel-arrow.carousel-prev {
    left: -35rem;
  }
  .section-avisverifies .avisverifies-reviews .carousel-arrow.carousel-next {
    right: -35rem;
  }
  .section-avisverifies article.avisverifies-review {
    flex: 0 calc(50% - 7.5rem);
    width: auto;
    height: auto;
  }
  .section-button {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-cards-certifications {
    display: inline-block;
  }
  .section-cards-certifications h2,
  .section-cards-certifications > p {
    margin-left: 20rem;
    margin-right: 20rem;
  }
  .section-cards-certifications .certification-list {
    width: calc(100% - 40rem);
    overflow: visible !important;
    margin: 0 40rem 0 20rem;
  }
  .section-cards-certifications .certification-list .certification-teaser {
    margin-right: 15rem;
  }
  .section-cards-certifications .certification-list .certification-teaser figure {
    width: 100%;
    text-align: center;
  }
  .section-cards-certifications .carousel-dots {
    margin-top: 40rem;
    white-space: nowrap;
  }
  .section-cards-certifications .carousel-arrow {
    display: none;
  }
  .section-cards-certifications .link {
    margin-top: 40rem;
  }
  .section-cards-flip .cards-flip-item-back .cards-flip-item-text {
    font-weight: 300;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.slick-disabled {
    opacity: 0;
    pointer-events: none;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow {
    top: 8vw;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-arrow-white:hover {
    opacity: 1;
  }
  section.section-carousel-videos .video-modal .modal-content {
    padding: 24rem 0;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-header .modal-title {
    font-size: 14rem;
    font-weight: 500;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track {
    flex-direction: column;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .slick-slide {
    margin: 20rem 0;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .unmute-button {
    bottom: 15rem;
    font-size: 12rem;
    padding: 10rem 16rem;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .slick-list .slick-track .unmute-button svg {
    width: 16rem;
    height: 16rem;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow {
    display: none !important;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-prev {
    top: 0;
    left: 0;
  }
  section.section-carousel-videos .video-modal .modal-content .modal-video-container .modal-carousel-videos-container .modal-carousel-videos-list .carousel-arrow.carousel-next {
    bottom: 0;
    top: auto;
    right: auto;
  }
  .dialog-container .carousel-videos-container {
    padding-inline: 0;
  }
  .dialog-container .carousel-arrow {
    display: none !important;
  }
  .section-certifications {
    padding: 40rem 25rem 0;
  }
  .section-certifications h2 {
    margin-bottom: 25rem;
  }
  .section-certifications .certification-tabs {
    display: flex;
    margin-bottom: 30rem;
    justify-content: center;
  }
  .section-certifications .certification-tab {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5rem 5rem;
    margin: 0 20rem 30rem;
  }
  .section-certifications .certification-tab::after {
    right: -20rem;
  }
  .section-certifications .certification-list {
    align-items: center;
  }
  .section-certifications .certification-item {
    margin-bottom: 45rem;
  }
  .section-certifications .certification-item figure {
    width: 130rem;
    height: 130rem;
    margin-bottom: 20rem;
  }
  .section-certifications .certification-item figure img {
    width: 95rem;
  }
  .section-certifications .certification-item h3 {
    line-height: 1;
    font-size: 20rem;
    margin-bottom: 12.5rem;
  }
  .section-certifications .certification-item p {
    line-height: 1.25;
    font-size: 14rem;
  }
  .section-certifications .certification-item.item-active {
    display: block;
  }
  .section-company {
    padding: 0;
  }
  .section-company > h2 {
    color: #000;
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-company .slide-title {
    width: 100%;
    margin-bottom: 30rem;
  }
  .section-company .company-item {
    position: relative;
    background-color: var(--color-theme);
    display: flex;
    flex-flow: column;
    text-align: center;
  }
  .section-company .company-item > figure {
    margin: 0 auto 20rem;
  }
  .section-company .company-item > figure {
    visibility: visible;
  }
  .section-company .company-item-content {
    text-align: center;
  }
  .section-company .company-item-content figure {
    float: none;
    display: inline-block;
    vertical-align: top;
  }
  .section-company .company-item.theme-white {
    color: #000;
  }
  .section-customize h2 strong {
    display: block;
  }
  .section-external-site-push {
    padding-top: 40rem;
    padding-bottom: 40rem;
  }
  .section-external-site-push .action-card .picto {
    height: 40rem;
  }
  .section-figures {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-figures .figure-list {
    flex-direction: column;
  }
  .section-figures .figure-list .figure {
    height: 207rem;
    border-radius: 7.5rem;
    padding: 30rem 20rem;
  }
  .section-figures .figure-list .figure:last-of-type {
    margin-bottom: 0;
  }
  .section-filter {
    overflow: hidden;
    padding-bottom: 40rem;
  }
  .section-filter > .button-filter {
    width: 100%;
    font-size: 16rem;
    font-weight: 600;
    max-width: 250rem;
    cursor: pointer;
    margin: 0 auto;
  }
  .section-filter button.button-filter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20rem;
  }
  .section-filter button.button-filter.button-active {
    background-color: var(--color-theme);
    color: #fff;
    border-color: var(--color-theme);
  }
  .section-filter button.button-filter span {
    flex: 1;
    text-align: left;
    margin-left: 0.5ch;
  }
  .section-filter div.button-filter {
    display: none;
    text-decoration: underline;
    text-align: center;
    margin-bottom: 30rem;
  }
  .section-filter form {
    position: fixed;
    z-index: 15;
    bottom: 0;
    top: 0;
    height: 100vh;
    height: -webkit-fill-available;
    background-color: #fff;
    color: #635459;
    text-align: left;
    overflow-y: auto;
    box-shadow: 0;
    transform: translate(100%, 0);
    transition: all 0.3s ease;
    display: flex;
    flex-flow: column;
  }
  .section-filter form > p {
    color: #635459;
    line-height: 1.5;
    font-size: 18rem;
    font-weight: 600;
    padding: 17.5rem 75rem 17.5rem 30rem;
    border-bottom: 1px solid #d4d4d4;
    margin-bottom: 0;
  }
  .section-filter form > button {
    position: absolute;
    right: 20rem;
    top: 9rem;
    width: 45rem;
    height: 45rem;
    border-radius: 50%;
    background-color: #635459;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .section-filter form.form-opened {
    box-shadow: -30rem 0 30rem 0 rgba(99,84,89,0.25);
    transform: translate(0, 0);
  }
  .section-filter .search-filters {
    flex: 1;
    flex-flow: column;
    justify-content: flex-start;
    overflow-y: auto;
    padding: 25rem 0;
    margin-bottom: 120rem;
  }
  .section-filter .search-filters .field {
    align-self: start;
    width: 100%;
  }
  .section-filter .search-filters .field-checkbox,
  .section-filter .search-filters .field-checkboxes div.checkbox {
    min-height: 30rem;
    padding: 2rem 20rem 0 30rem;
    margin: 0 0 20rem;
  }
  .section-filter .search-filters .field-checkbox label,
  .section-filter .search-filters .field-checkboxes div.checkbox label {
    display: block;
    line-height: 1.5;
    font-size: 16rem;
    color: #000;
    padding-left: 45rem;
  }
  .section-filter .search-filters .field-checkbox label::after,
  .section-filter .search-filters .field-checkboxes div.checkbox label::after,
  .section-filter .search-filters .field-checkbox label::before,
  .section-filter .search-filters .field-checkboxes div.checkbox label::before {
    margin-top: -2rem;
    width: 30rem;
    height: 30rem;
  }
  .section-filter .search-filters .field-checkbox label::before,
  .section-filter .search-filters .field-checkboxes div.checkbox label::before {
    width: 24rem;
    height: 24rem;
    background-color: var(--color-theme);
    color: #fff;
    line-height: 1;
    font-size: 24rem;
    border-radius: 2rem;
    top: 3rem;
    left: 3rem;
  }
  .section-filter .search-filters .field-checkbox label::after,
  .section-filter .search-filters .field-checkboxes div.checkbox label::after {
    border-color: #d4d4d4;
    border-radius: 4rem;
  }
  .section-filter .search-filters .field-checkbox label svg,
  .section-filter .search-filters .field-checkboxes div.checkbox label svg {
    display: none;
  }
  .section-filter .search-filters .field-checkboxes {
    border-top: 1px solid #d4d4d4;
    margin-bottom: 0;
  }
  .section-filter .search-filters .field-checkboxes:first-child {
    margin-top: -25rem;
    border-top: none;
  }
  .section-filter .search-filters .field-checkboxes label {
    display: block;
    color: #000;
  }
  .section-filter .search-filters .field-checkboxes > label {
    position: relative;
    width: 100%;
    line-height: 1.5;
    font-size: 18rem;
    font-weight: 600;
    padding: 17.5rem 20rem 0 30rem;
    margin-bottom: 20rem;
  }
  .section-filter .search-filters .field-checkboxes > label svg {
    display: none;
  }
  .section-filter .search-filters .field-checkboxes > label::after {
    position: absolute;
    right: 30rem;
    top: 24.5rem;
    content: '';
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='14'%3E%3Cpath fill='%238c8c8c' d='M0 .565L.666 0 6 6.9.67 14 0 13.445l4.907-6.533z'/%3E%3C/svg%3E");
    background-size: contain;
    transform: rotate(90deg);
    width: 6rem;
    height: 14rem;
    transition: transform 0.3s ease;
  }
  .section-filter .search-filters .field-checkboxes.field-opened > label::after {
    transform: rotate(-90deg);
  }
  .section-filter .search-filters .field-checkboxes.field-choice-expanded > label::after {
    content: none;
  }
  .section-filter .search-filters .field-checkboxes .checkboxes {
    display: none;
    padding-top: 2.5rem;
    margin-bottom: 25rem;
  }
  .section-filter .search-filters .field-checkboxes .checkboxes .checkboxes-action {
    display: none;
  }
  .section-filter .search-filters .field-surface {
    border-bottom: 1px solid #d4d4d4;
    margin-bottom: 30rem;
  }
  .section-filter .search-filters .field-submit {
    position: fixed;
    right: 0;
    bottom: 0;
    text-align: center;
    width: 100%;
    height: 120rem;
    padding: 60rem 30rem 0;
    border-top: 1px solid #d4d4d4;
    margin-bottom: 0;
    background-color: #fff;
  }
  .section-filter .search-filters .action-clear {
    position: fixed;
    z-index: 1;
    right: 50%;
    bottom: 75rem;
    transform: translate(50%, 0);
  }
  .section-filter p.note {
    margin-bottom: 25rem;
  }
  .section-folders {
    margin-bottom: 60rem;
  }
  .section-folders__header {
    flex-direction: column;
  }
  .section-folders__title {
    flex: 1 1 100%;
  }
  .section-folders__list {
    overflow: hidden !important;
  }
  .section-folders__list >div {
    gap: 0;
  }
  .section-folders__list-wrapper {
    margin-left: -20rem;
    width: 100vw;
  }
  .section-folders__list >div >div {
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .section-folders .carousel-arrow {
    top: 160rem;
    margin-top: -22rem;
  }
  .section-folders .carousel-arrow.carousel-prev {
    right: calc(100% - 52rem);
    transform: rotate(180deg);
  }
  .section-folders .carousel-arrow.carousel-next {
    left: calc(100% - 52rem);
    transform: none;
  }
  .section-folders .carousel-dots {
    margin-top: 32rem;
  }
  .folder-item__content__articles {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .folder-item__content__articles.open {
    max-height: 1000rem;
  }
  .folder-item {
    flex-direction: column;
    gap: 0;
  }
  .folder-item__content {
    padding: 20rem 20rem 24rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .folder-item__content__link {
    justify-content: space-between;
    align-items: flex-end;
  }
  .folder-item__content__link__more {
    display: inline-block;
    border-bottom: 1px solid;
    padding-right: 3rem;
  }
  .folder-item__content__link__more svg {
    width: 5rem;
    height: 9rem;
    margin-left: 10rem;
    transform: rotate(90deg);
    transition: transform 0.3s ease;
  }
  .section-gallery {
    height: 500rem;
  }
  .section-gallery .button {
    bottom: 20rem;
    right: 20rem;
  }
  .section-hero-banner-container {
    padding-inline: 0;
  }
  .section-hero-banner .hero-banner-card h2 {
    font-size: 22rem;
    font-weight: 500;
  }
  .section-hero-banner .hero-banner-card .button {
    margin-top: 4rem;
  }
  .section-hero-banner {
    margin-bottom: 40rem;
  }
  .section-hero-banner .hero-banner-card {
    padding: 40rem 30rem;
  }
  .section-image-collection {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-image-collection .image-list {
    flex-flow: column;
    gap: 20rem;
  }
  .section-image-collection .image-list figure {
    flex: 0 1 100%;
  }
  .section-image-collection .image-list.list-layout-3 figure img,
  .section-image-collection .image-list.list-layout-4 figure img {
    margin-bottom: 5rem;
  }
  .section-image-richtext {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-image-richtext:has(+ .section-model-info) {
    padding-bottom: 0;
  }
  .section-image-richtext h2 {
    font-size: 22rem;
  }
  .section-image-richtext h3 {
    font-size: 20rem;
  }
  .section-image-richtext p {
    line-height: 1.6;
    font-size: 14rem;
  }
  .section-image-richtext p:last-of-type {
    margin-bottom: 0;
  }
  .section-image-richtext ul li {
    line-height: 1.65;
    font-size: 14rem;
    padding-left: 20rem;
  }
  .section-image-richtext .button {
    margin-top: 25rem;
  }
  .section-image-richtext figure.figure-video.type-embed,
  .section-image-richtext figure.figure-image {
    margin-top: 40rem;
  }
  .section-filter.section-jobtype-filter {
    background: linear-gradient(180deg, #f7f4f2 0%, #fff 100%);
    padding-top: 40rem;
  }
  .section-filter.section-jobtype-filter::after {
    position: relative;
    top: 40rem;
  }
  .section-jobtype-highlight {
    padding-bottom: 40rem;
  }
  .section-model-info {
    margin-block: 60rem 20rem;
  }
  .section-model-info + .section-model-info {
    margin-top: 0;
  }
  .section-model-info nav {
    display: none;
  }
  .section-model-info article {
    flex-flow: column;
    margin-bottom: 60rem;
  }
  .section-model-info article figure {
    order: 1;
    width: 100%;
    margin-top: 40rem;
  }
  .section-model-info article figure img {
    width: 100%;
  }
  .section-model-info article h2 {
    font-size: 22rem;
    margin-bottom: 10rem;
  }
  .section-model-info article p {
    line-height: 1.6;
    font-size: 14rem;
    margin-bottom: 24rem;
  }
  .section-model-info article ul li {
    line-height: 1.65;
    font-size: 16rem;
    padding-left: 20rem;
  }
  .section-price-grid {
    padding-bottom: 30rem;
    padding-top: 45rem;
  }
  .section-price-grid h2 {
    text-align: center;
  }
  .section-price-grid h2 strong {
    display: block;
  }
  .section-price-grid h2 + p {
    display: none;
  }
  .section-price-grid > figure {
    display: none;
  }
  .section-price-grid table {
    margin-bottom: 25rem;
  }
  .section-price-grid table thead th {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-price-grid table tbody th {
    padding-bottom: 10rem;
    padding-top: 10rem;
  }
  .section-price-grid table tfoot td {
    padding-bottom: 10rem;
  }
  .section-price-grid p.note {
    text-align: center;
  }
  .section-product-carousel {
    padding: 30rem 20rem;
  }
  .section-product-carousel .product-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15rem;
  }
  .section-product-carousel .product-teaser {
    flex: 1 0 calc(50% - 15rem);
    min-width: 340rem;
  }
  .section-product-carousel .carousel-arrow {
    display: none;
  }
  .section-filter.section-product-filter .product-teaser,
  .section-filter.section-product-filter .card-reinsurance,
  .section-filter.section-product-filter .card-push-promo {
    height: 415rem;
  }
  .section-filter.section-product-filter .search-filters .field-model {
    border-top: none;
  }
  .section-product-info .product-notes + .button {
    display: none;
  }
  .section-product-info .product-price .price-detail.desktop-only {
    display: none;
  }
  .section-product-info .product-price .price-detail.mobile-only {
    color: #000;
    font-size: 10rem;
    position: relative;
    top: -10rem;
  }
  .section-product-info .product-plus-card h3 {
    font-size: 18rem;
  }
  .section-product-info .product-plus-card .link {
    font-size: 16rem;
  }
  section.section-products-manual {
    gap: 20rem;
    margin-bottom: 60rem;
    padding-top: 40rem;
    padding-bottom: 40rem;
  }
  section.section-products-manual .content h2 {
    font-size: 20rem;
  }
  section.section-products-manual .categories ul {
    gap: 16rem;
  }
  section.section-products-manual .categories ul li {
    flex: 0 0 calc(50% - 8rem);
    aspect-ratio: 159/100;
  }
  section.section-products {
    flex-direction: column;
    gap: 32rem;
    margin-bottom: 60rem;
  }
  section.section-products .desktop-only {
    display: none;
  }
  section.section-products .mobile-only {
    display: block;
  }
  section.section-products .content {
    flex: 0 0 auto;
  }
  section.section-products .content h2 {
    text-align: center;
    font-size: 20rem;
  }
  section.section-products .content >p {
    display: none;
  }
  section.section-products .categories ul {
    gap: 16rem;
  }
  section.section-products .categories ul li {
    flex: 0 0 calc(50% - 8rem);
    aspect-ratio: 159/100;
  }
  .section-projectsteps {
    padding-bottom: 20rem;
  }
  .section-projectsteps h2 {
    line-height: 1.5;
    font-size: 16rem;
    margin-bottom: 30rem;
  }
  .section-projectsteps .projectstep-list {
    flex-flow: wrap;
  }
  .section-projectsteps .projectstep {
    margin-bottom: 20rem;
  }
  .section-projectsteps > p {
    line-height: 1.7;
    font-size: 18rem;
    margin-top: 20rem;
  }
  .section-promo-banner {
    flex-direction: column;
    padding-bottom: 15rem;
    padding-top: 20rem;
  }
  .section-promo-banner figure {
    margin-bottom: 15rem;
  }
  .section-promo-banner p {
    font-size: 15rem;
    border-width: 1px 0;
    margin-bottom: 20rem;
  }
  .section-push-articles {
    justify-content: center;
    padding-block: 30rem;
  }
  .section-push-articles h2 {
    text-align: center;
  }
  .section-push-articles .push-article-list {
    margin-bottom: 30rem;
  }
  .section-push-articles .push-article-list.list-layout-3 {
    flex-flow: wrap;
  }
  .section-push-articles .push-article-list.list-layout-3 .push-article {
    width: 100%;
  }
  .section-push-articles .push-article-list.list-layout-4 {
    flex-flow: column;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article.push-article-highlight .push-article-content h3 {
    font-size: 20rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) figure {
    width: 120rem;
    height: 120rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content {
    width: calc(100% - 120rem);
    padding-inline-start: 30rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content h3 {
    font-size: 16rem;
  }
  .section-push-articles .push-article-list.list-layout-4 .push-article:not(.push-article-highlight) .push-article-content p {
    font-size: 12rem;
  }
  .section-push-articles .push-article-list.list-layout-3 .push-article figure,
  .section-push-articles .push-article-list.list-layout-4 .push-article-highlight figure {
    height: 360rem;
  }
  .section-push-articles .push-article h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .section-push-articles .push-article p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .section-push-category {
    padding-block: 35rem;
  }
  .section-push-category h2 {
    margin-bottom: 25rem;
  }
  .section-push-category h2 strong {
    display: block;
  }
  .section-push-category .push-category-list {
    gap: 16rem;
    flex-flow: column;
  }
  .section-push-category .category-teaser {
    width: 100%;
    width: auto;
    height: auto;
  }
  .section-push-content-universal {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section-push-content-universal p {
    line-height: 1.7;
    font-size: 18rem;
    margin-bottom: 25rem;
  }
  .section-push-content-universal .push-content-list {
    margin-top: 35rem;
    gap: 20rem;
  }
  .section-push-content-universal .push-content-list.layout-2 .push-card,
  .section-push-content-universal .push-content-list.layout-3 .push-card {
    flex: 0 1 100%;
  }
  .section-push-content-universal .push-content-list.layout-4.layout-small .push-card {
    flex: 0 1 calc(50% - 10rem);
  }
  .section-push-content-universal .push-content-list.layout-4.layout-large .push-card {
    flex: 0 1 100%;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card {
    padding-bottom: 30rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card figure {
    height: 230rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card h3 {
    line-height: 1.4;
    font-size: 18rem;
    padding: 0 10rem;
    margin-bottom: 15rem;
  }
  .section-push-content-universal .push-content-list.layout-large .push-card p {
    line-height: 1.5;
    font-size: 14rem;
    padding: 0 10rem;
  }
  .section-push-content-universal .push-content-list.layout-small .push-card {
    min-height: 280rem;
    padding-bottom: 20rem;
  }
  .section-push-content {
    padding: 35rem 20rem;
  }
  .section-push-content h2 {
    margin-bottom: 25rem;
  }
  .section-push-content h2 strong {
    display: block;
  }
  .section-push-content .push-content-list {
    flex-flow: column;
    gap: 16rem;
  }
  .section-push-model {
    padding-block: 35rem;
  }
  .section-push-model h2 {
    margin-bottom: 25rem;
  }
  .section-push-model h2 strong {
    display: block;
  }
  .section-push-model .push-model-list {
    gap: 15rem;
    flex-flow: column;
  }
  .section-push-model .model-teaser {
    width: auto;
    height: auto;
  }
  .section-push-product {
    padding-inline: 20rem;
    margin-block: 20rem 40rem;
  }
  .section-push-product h2 {
    margin-bottom: 25rem;
  }
  .section-push-product .product-list {
    gap: 16rem;
    margin-bottom: 40rem;
  }
  .section-push-product .product-teaser {
    width: 100%;
    height: 335rem;
  }
  .section-push-product .product-teaser.product-promotion {
    height: 450rem;
  }
  .section-push-product > p {
    line-height: 1.35;
    font-size: 15rem;
    margin-bottom: 20rem;
  }
  .section-push-product .button-picto {
    white-space: nowrap;
  }
  .section-push-promo {
    width: calc(100% - 40rem);
    padding: 40rem 15rem;
    margin-block: 20rem;
    margin-inline: auto;
  }
  .section-push-promo h2 {
    font-size: 30rem;
  }
  .section-push-promo > div .button:first-child {
    margin-bottom: 30rem;
  }
  .section-rubric {
    margin-bottom: 60rem;
  }
  .section-rubric__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 9rem;
    margin-bottom: 40rem;
  }
  .section-rubric__title {
    flex: 0 0 auto;
  }
  .section-rubric__title h2 {
    font-size: 20rem;
  }
  .section-rubric__cta a {
    font-size: 12rem;
    line-height: 1.7;
  }
  .section-rubric__articles {
    flex-direction: column;
    gap: 40rem;
  }
  .section-rubric__article {
    flex: 0 0 auto;
  }
  .section-satisfaction {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section-satisfaction h2 {
    margin-bottom: 20rem;
  }
  .section-satisfaction .satisfaction-items {
    flex-flow: column;
    align-items: center;
  }
  .section-satisfaction .satisfaction-item {
    max-width: 240rem;
    margin-bottom: 40rem;
  }
  .section-satisfaction .satisfaction-item:last-child {
    margin-bottom: 0;
  }
  .section-satisfaction .satisfaction-reviews figure {
    width: 160rem;
    height: 160rem;
    margin-bottom: 20rem;
  }
  .section-satisfaction .satisfaction-testimonials {
    max-width: 253rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial {
    margin-bottom: 20rem;
  }
  .section-satisfaction .satisfaction-testimonials .testimonial blockquote {
    line-height: 1.4375;
    font-size: 16rem;
  }
  .section-savoir-faire .savoir-faire-content h2 svg {
    margin-bottom: 30rem;
  }
  .section-savoir-faire .savoir-faire-content ul li {
    line-height: 1.65;
    font-size: 16rem;
    padding-left: 20rem;
  }
  .section-seo {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
  .section-seo h2 {
    margin-bottom: 20rem;
  }
  .section-seo > p {
    line-height: 1.6;
    font-size: 14rem;
    margin-bottom: 25rem;
  }
  .section-seo .seo-item {
    padding-top: 17.5rem;
  }
  .section-seo .seo-item > h3 {
    line-height: 1.375;
    font-size: 16rem;
    padding-right: 70rem;
    margin-bottom: 17.5rem;
  }
  .section-seo .seo-content {
    margin-bottom: 20rem;
  }
  .section-seo .seo-content table {
    height: auto !important;
    display: block;
    overflow-x: auto;
    padding-bottom: 10rem;
    white-space: nowrap;
  }
  .section-store-locator-advisors {
    margin-block: 60rem 40rem;
  }
  .section-store-locator-advisors .store-locator-advisors {
    gap: 24rem 60rem;
    flex-flow: wrap;
  }
  section.section-store-locator-business-news {
    padding-block: 60rem;
  }
  .business-news-card {
    flex-flow: column;
    gap: 16rem;
  }
  .business-news-card figure {
    width: 100%;
    aspect-ratio: 1;
  }
  .business-news-card .card-content {
    gap: 16rem;
  }
  .business-news-card .card-content h3 {
    font-size: 20rem;
    font-weight: 500;
  }
  section.section-store-locator-gallery {
    flex-flow: column;
    padding-block-end: 40rem;
  }
  section.section-store-locator-gallery .gallery-map {
    flex: 0 0 500rem;
    margin-block-end: 40rem;
  }
  section.section-store-locator-gallery .gallery-visuals {
    flex: 0 0 210rem;
    height: 210rem;
    margin-inline: 20rem;
  }
  section.section-store-locator-gallery .carousel-track > div {
    height: 100%;
  }
  section.section-store-locator-gallery .carousel-arrow {
    position: absolute;
    top: calc(50% - 22.5rem);
    width: 45rem;
    height: 45rem;
  }
  section.section-store-locator-gallery .carousel-arrow.carousel-prev {
    left: -12rem;
  }
  section.section-store-locator-gallery .carousel-arrow.carousel-next {
    right: -12rem;
  }
  section.section-store-locator-gallery .carousel-dots {
    text-align: center;
    margin-block-start: 24rem;
  }
  section.section-store-locator-info {
    flex-flow: column;
    gap: 48rem;
  }
  section.section-store-locator-info .store-locator-schedule ul li {
    display: flex;
    justify-content: space-between;
    gap: 40rem;
    line-height: 1;
  }
  section.section-store-locator-info .store-locator-schedule ul li time {
    flex: 0 0 30%;
  }
  section.section-store-locator-info .store-locator-schedule ul li br {
    display: none;
  }
  section.section-store-locator-info .store-locator-schedule ul li span {
    flex: 1;
  }
  section.section-store-locator-locations .locations-locate {
    margin-block: 16rem 40rem;
    margin-inline: 40rem;
  }
  section.section-store-locator-locations .locations-locate label {
    display: none;
  }
  section.section-store-locator-locations .locations-content {
    padding-block: 40rem 20rem;
  }
  section.section-store-locator-locations .locations-list-items {
    flex-flow: column;
    gap: 20rem;
    padding-inline: 20rem;
  }
  section.section-store-locator-locations .locations-list-items article.location {
    width: 100%;
  }
  section.section-store-locator-locations .locations-text {
    padding-inline: 20rem;
    padding-block: 20rem 30rem;
  }
  .locations-map .gm-style .gm-style-iw-c {
    padding-inline: 10rem 0;
  }
  .locations-map .gm-style .gm-style-iw-d {
    padding-inline: 0 10rem;
  }
  section.section-store-locator-other-agencies {
    padding-block: 80rem 40rem;
  }
  section.section-store-locator-other-agencies ul.store-locator-links {
    flex-flow: wrap;
    gap: 32rem;
  }
  section.section-store-locator-other-agencies .store-locator-other-categories {
    padding-block: 40rem 64rem;
  }
  section.section-store-locator-other-agencies .store-locator-other-agencies {
    flex-flow: column;
  }
  section.section-store-locator-push-category {
    padding-block: 40rem;
  }
  section.section-store-locator-push-category .store-locator-push-cards {
    flex-flow: column;
  }
  section.section-store-locator-push-category .push-card::after {
    content: none;
  }
  section.section-store-locator-region {
    padding-block: 40rem;
  }
  section.section-store-locator-region h2 {
    margin-block-end: 24rem;
  }
  section.section-store-locator-region .store-locator-departments {
    padding: 24rem 16rem;
    margin-inline: 20rem;
  }
  section.section-store-locator-region .store-locator-departments ul {
    flex-flow: column;
    gap: 24rem;
  }
  section.section-store-locator-region .store-locator-departments ul li {
    flex: 0 calc(25% - 30rem);
  }
  section.section-store-locator-regions {
    padding-block: 40rem;
  }
  section.section-store-locator-regions .store-locator-regions {
    flex-flow: column;
    gap: 32rem;
    padding: 40rem 32rem;
  }
  section.section-store-locator-reviews {
    padding-block: 40rem;
  }
  section.section-store-locator-reviews .store-locator-reviews {
    margin-inline: -20rem;
    gap: 8rem;
  }
  section.section-store-locator-reviews .store-locator-review {
    border: 1px solid #d4d4d4;
  }
  section.section-store-locator-reviews .store-locator-review-cta a.button {
    position: relative;
    left: calc(50% - 76rem);
    transform: translate(-50%);
  }
  section.section-store-locator-reviews .carousel-track {
    margin-inline: 48rem;
    width: calc(100% - 96rem);
  }
  section.section-store-locator-reviews .carousel-track > div > div {
    padding-inline: 4rem;
  }
  section.section-store-locator-reviews .carousel-arrow {
    position: absolute;
    top: calc(50% - 20.5rem - 18rem);
    width: 36rem;
    height: 36rem;
  }
  section.section-store-locator-reviews .carousel-arrow.carousel-prev {
    left: 4rem;
  }
  section.section-store-locator-reviews .carousel-arrow.carousel-next {
    right: 4rem;
  }
  section.section-store-locator-reviews .carousel-dots {
    text-align: center;
    margin-block-start: 24rem;
    margin-inline: 20rem;
  }
  section.section-store-locator-seo {
    padding-block: 20rem;
  }
  section.section-store-locator-seo details summary {
    padding-inline-end: 54rem;
  }
  .section-studyform h2,
  .study-form h2 {
    line-height: 1.5;
    font-size: 16rem;
  }
  .section-studyform form legend span:not(.number),
  .study-form form legend span:not(.number) {
    flex-direction: column;
    align-items: flex-start;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-zip-city,
  .study-form form .form-step-fields fieldset.fieldset-zip-city {
    position: relative;
  }
  .section-studyform form .form-step-fields fieldset.fieldset-zip-city .field[class*="city"],
  .study-form form .form-step-fields fieldset.fieldset-zip-city .field[class*="city"] {
    position: static;
  }
  .section-studyform form .form-step-fields .field-optin-catalog .checkboxes > .checkbox,
  .study-form form .form-step-fields .field-optin-catalog .checkboxes > .checkbox {
    width: 100%;
    margin-bottom: 30rem;
  }
  .section-studyform form .form-step-fields .field-optin-catalog .checkboxes > .checkbox:last-child,
  .study-form form .form-step-fields .field-optin-catalog .checkboxes > .checkbox:last-child {
    margin-bottom: 0;
  }
  .section-studyform form .form-step-fields .field-catalog-delivery .radios label p,
  .study-form form .form-step-fields .field-catalog-delivery .radios label p,
  .section-studyform form .form-step-fields .field-catalog-delivery > .radio label p,
  .study-form form .form-step-fields .field-catalog-delivery > .radio label p {
    font-size: 14rem;
  }
  .section-studyform form .form-step-fields .field-catalog-delivery .radios label p span,
  .study-form form .form-step-fields .field-catalog-delivery .radios label p span,
  .section-studyform form .form-step-fields .field-catalog-delivery > .radio label p span,
  .study-form form .form-step-fields .field-catalog-delivery > .radio label p span {
    font-size: 12rem;
  }
  .section-studyform form .form-step-fields .field-catalog-address-save,
  .study-form form .form-step-fields .field-catalog-address-save {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .section-studyform.study-confirmation .actions,
  .study-form.study-confirmation .actions {
    text-align: center;
  }
  .section-tags {
    margin-bottom: 60rem;
    flex-direction: column;
    gap: 0;
  }
  .section-tags__header {
    display: none;
  }
  .section-tags__content-item {
    text-align: center;
  }
  .section-tags__content-item .tags {
    justify-content: center;
    max-height: 76rem;
    overflow: hidden;
    transition: height 0.3s ease;
  }
  .section-tags__content-item-more {
    display: inline-block;
  }
  .section-testimonies-pro article > figure {
    margin-bottom: 20rem;
  }
  .section-testimonies {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section-testimonies h2 {
    margin-bottom: 30rem;
  }
  .section-testimonies h2 strong {
    display: block;
  }
  .section-testimonies article {
    flex-flow: column;
  }
  .section-testimonies article > svg {
    width: 55rem;
    height: 93rem;
    top: 155rem;
    left: calc(50% - 27.5rem);
    z-index: -1;
  }
  .section-testimonies article > figure {
    height: 210rem;
  }
  .section-testimonies .testimony-content {
    text-align: center;
    align-items: center;
  }
  .section-testimonies .testimony-content .testimonial {
    padding-top: 25rem;
    background-size: 25rem;
    background-position: top center;
    mask-size: 25rem;
    mask-position: top center;
    -webkit-mask-size: 25rem;
    -webkit-mask-position: top center;
    margin-bottom: 40rem;
  }
  .section-testimonies .testimony-content .testimonial blockquote {
    line-height: 1.55;
    font-size: 18rem;
  }
  .section-testimonies .testimony-content .testimonial figcaption {
    font-size: 13rem;
  }
  .section-testimonies .testimony-content .testimonial figcaption strong {
    font-size: 24rem;
  }
  .section-testimonies .carousel-arrow {
    display: none;
  }
  .section-testimonies .carousel-dots {
    margin-top: 30rem;
  }
  .section-testimonies > .button-large {
    width: 100%;
    max-width: 400rem;
    font-size: 12rem;
    padding-inline: 0;
    margin-top: 30rem;
  }
  .section-video {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
  .section-video figure {
    width: 100vw;
    height: 56.27vw;
  }
  .section-video figure::before {
    width: 60rem;
    height: 60rem;
    position: absolute;
    left: calc(50% - 30rem);
    top: calc(50% - 30rem);
  }
  .section-video figure::after {
    width: 15rem;
    height: 20rem;
    position: absolute;
    left: calc(50% - 5.5rem);
    top: calc(50% - 10rem);
    border-left: 15rem solid var(--color-theme);
    border-top: 10rem solid transparent;
    border-bottom: 10rem solid transparent;
  }
  body.single--folders #folder-articles-container .header-universal .header-content {
    margin-left: 0;
    margin-right: 0;
  }
  body.single--folders #folder-articles-container .header-universal .header-content nav {
    margin: 20rem 0 0;
  }
  body.single--folders .folder-article:first-child header.header-article .header-content {
    margin-left: 0;
    margin-right: 0;
  }
  .single--folders main.site-content {
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .single--folders #folder-container header.header-article .header-content nav {
    margin: 20rem 0 32rem;
  }
  .single--folders #folder-container header.header-article .header-content .title_intro {
    flex-direction: column;
    gap: 32rem;
    margin-bottom: 0;
  }
  .single--folders #folder-container header.header-article .header-content .title_intro h1 {
    flex: 0 0 auto;
    font-size: 24rem;
    line-height: 130%;
  }
  .single--folders #folder-container header.header-article figure {
    aspect-ratio: 375/280;
    margin-left: -20rem;
    width: 100vw;
  }
  .single--folders #folder-container .main-article {
    padding-top: 40rem;
  }
  .single--folders #folder-container .main-article .description {
    font-size: 16rem;
    line-height: 140%;
  }
  .single--folders #folder-container .main-article .folder-articles-section {
    margin-bottom: 60rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item {
    margin-top: 60rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-title {
    font-size: 20rem;
    margin-bottom: 24rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .hub-description {
    margin-bottom: 40rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card {
    flex-direction: column;
    gap: 16rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .article-title {
    font-size: 20rem;
    margin-bottom: 12rem;
  }
  .single--folders #folder-container .main-article .folder-articles-section .folder-articles-list .folder-article-item .article-card .article-info .article-excerpt {
    margin-bottom: 20rem;
  }
  .single--folders #folder-container .main-article .intro {
    font-size: 22rem;
    line-height: 120%;
    margin-bottom: 60rem;
  }
  .single--folders #folder-container .main-article .folder-categories {
    margin-bottom: 48rem;
  }
  .single--folders #folder-container .main-article .folder-categories .title {
    font-size: 14rem;
    margin-bottom: 16rem;
  }
  .page--storelocator .storelocator-header,
  .page--storelocator .storelocator-default {
    margin: 25rem 0 30rem 0;
  }
  .page--storelocator .storelocator-info {
    margin-bottom: 45rem;
  }
  .page--storelocator .storelocator-info figure.mobile-only {
    position: relative;
    display: flex;
    width: 100vw;
    height: 400rem;
    background-color: rgba(153,153,153,0.4);
    margin: 0 -20rem 45rem;
  }
  .page--storelocator .storelocator-info figure.mobile-only > img,
  .page--storelocator .storelocator-info figure.mobile-only .slider-content img {
    -o-object-fit: cover;
    object-fit: cover;
  }
  .page--storelocator .storelocator-info figure.mobile-only .avbadge {
    width: 150rem;
    height: 150rem;
    position: absolute;
    right: 30rem;
    top: 20rem;
  }
  .page--storelocator .storelocator-info .info-contact p {
    margin-bottom: 5rem;
  }
  .page--storelocator .storelocator-info .info-schedule {
    padding-right: 0;
    padding-left: 30rem;
    border-right: none;
  }
  .page--storelocator .storelocator-location {
    flex-direction: column;
  }
  .page--storelocator .storelocator-location .map {
    width: 100%;
  }
  .page--storelocator .storelocator-location figure {
    display: none;
    width: 100%;
  }
  .page--storelocator .storelocator-location figure > img {
    width: 100%;
  }
  .page--storelocator .storelocator-location figure .slider-content {
    width: 100%;
  }
  .page--storelocator .storelocator-location figure .carousel-arrow {
    display: none;
  }
  .page--storelocator .storelocator-map {
    flex-flow: column;
    padding: 0;
  }
  .page--storelocator .storelocator-map-search-form {
    margin-inline: 30rem;
  }
  .page--storelocator .storelocator-map-search-results-info {
    font-size: 18rem;
    text-align: center;
  }
  .page--storelocator .storelocator-map-search-results-list {
    flex-flow: column;
  }
}
@media only screen and (max-width: 768px) and (max-width: 515px){
  .page--gallery .nav-breadcrumb .back-link {
    display: inline-block;
    margin-bottom: 25rem;
  }
}
@media (max-width: 767px){
  .section-timeline .timeline-track {
    grid-auto-columns: 100%;
    -moz-column-gap: 24rem;
    column-gap: 24rem;
    padding: 0 20rem;
  }
  .section-timeline .timeline-controls {
    padding: 28rem 20rem 8rem;
  }
  .section-timeline .timeline-prev,
  .section-timeline .timeline-next {
    width: 45rem;
    height: 45rem;
  }
}
@media only screen and (max-width: 600px){
  body.customize-support {
    --menu-header-sticky-offset: 0px;
  }
}
@media only screen and (max-width: 515px){
  .action-card-large figure {
    height: 170rem;
  }
  .carousel-dots {
    gap: 6rem;
  }
  .carousel-dots button {
    width: 9rem;
    height: 9rem;
    transform: scale(0.65);
  }
  #free-study {
    width: 100vw;
    height: 60rem;
    padding: 0 0 0 25rem;
    line-height: 1;
    font-size: 22rem;
    filter: drop-shadow(7rem 0px 10rem rgba(0,0,0,0.15));
    transition: width 0.3s ease;
  }
  #free-study strong {
    line-height: 1.65;
    font-size: 15rem;
  }
  #free-study svg {
    width: 27.5rem;
    height: 34rem;
    top: calc(50% - 17rem);
    left: calc(50% - 92.5rem);
  }
  #free-study.button-collapsed {
    width: 65vw;
  }
  #modal-callback .modal-content h2 {
    font-size: 16rem;
  }
  #modal-faq .modal-content {
    padding-top: 40rem;
  }
  #modal-faq .modal-content p {
    font-size: 12rem;
    margin-bottom: 10rem;
  }
  #modal-faq .modal-content .push-category-list {
    padding-left: 38rem;
    padding-right: 38rem;
    flex-wrap: wrap;
  }
  #modal-faq .modal-content .push-category-list .category-teaser {
    width: calc(50% - 7.5rem);
    height: 124rem;
    margin-right: 15rem;
    margin-bottom: 15rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser:nth-of-type(2n),
  #modal-faq .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-faq .modal-content .push-category-list .category-teaser .card-title {
    line-height: 1.6;
    font-size: 10rem;
    padding-left: 10rem;
    padding-right: 10rem;
  }
  #modal-faq .modal-content .push-category-list .category-teaser .button {
    min-height: 30rem;
    line-height: 30rem;
    font-size: 12rem;
    text-transform: uppercase;
  }
  #modal-newsletter .modal-content {
    padding: 40rem 20rem;
  }
  #modal-newsletter .modal-content > svg {
    width: 20rem;
    height: 17rem;
    min-height: 17rem;
    margin-bottom: 20rem;
  }
  #modal-newsletter .modal-content h2 {
    font-size: 16rem;
  }
  #modal-newsletter .modal-content p {
    font-size: 12rem;
  }
  #modal-newsletter .modal-content form {
    width: 100%;
    padding: 0 40rem;
  }
  .modal-offer .modal-title {
    line-height: 1.5;
    font-size: 28rem;
/* Meme intention qu'en bureau : le sous-titre est colle au titre. */
    margin-bottom: 0;
  }
  .modal-offer .modal-subtitle {
    line-height: 1.5;
    font-size: 17rem;
    margin-bottom: 20rem;
  }
  .modal-offer .modal-body {
    line-height: 1.5;
    font-size: 14rem;
  }
  .modal-offer .modal-actions {
    flex-flow: column;
    gap: 12rem;
    margin-top: 24rem;
  }
  #modal-project-follow .modal-content {
    padding-top: 40rem;
  }
  #modal-project-follow .modal-content p {
    font-size: 12rem;
    margin-bottom: 10rem;
  }
  #modal-project-follow .modal-content .push-category-list {
    padding-left: 38rem;
    padding-right: 38rem;
    flex-wrap: wrap;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser {
    width: calc(50% - 7.5rem);
    height: 124rem;
    margin-right: 15rem;
    margin-bottom: 15rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser:nth-of-type(2n),
  #modal-project-follow .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .card-title {
    line-height: 1.6;
    font-size: 10rem;
    padding-left: 10rem;
    padding-right: 10rem;
  }
  #modal-project-follow .modal-content .push-category-list .category-teaser .button {
    min-height: 30rem;
    line-height: 30rem;
    font-size: 12rem;
    text-transform: uppercase;
  }
  #modal-upkeep .modal-content {
    padding-top: 40rem;
  }
  #modal-upkeep .modal-content p {
    font-size: 12rem;
    margin-bottom: 10rem;
  }
  #modal-upkeep .modal-content .push-category-list {
    padding-left: 38rem;
    padding-right: 38rem;
    flex-wrap: wrap;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser {
    width: calc(50% - 7.5rem);
    height: 124rem;
    margin-right: 15rem;
    margin-bottom: 15rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser:nth-of-type(2n),
  #modal-upkeep .modal-content .push-category-list .category-teaser:last-child {
    margin-right: 0;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .card-title {
    line-height: 1.6;
    font-size: 10rem;
    padding-left: 10rem;
    padding-right: 10rem;
  }
  #modal-upkeep .modal-content .push-category-list .category-teaser .button {
    min-height: 30rem;
    line-height: 30rem;
    font-size: 12rem;
    text-transform: uppercase;
  }
  .modal-title {
    line-height: 1.25;
    font-size: 16rem;
    margin-bottom: 10rem;
  }
  .submenu .submenu-content {
    padding-top: 15rem;
  }
  .submenu .menu-mobile {
    position: fixed;
    z-index: 10;
    top: -60rem;
    min-height: 60rem;
  }
  .nav-sticky .submenu .menu-mobile {
    justify-content: flex-end;
    font-size: 0;
  }
  .nav-sticky .submenu .menu-mobile button {
    margin-right: 0;
  }
  .submenu-large .menu-button-items ~ .menu-link-items {
    padding-bottom: 0;
  }
  .submenu-large .menu-card-items {
    display: block;
    flex-flow: column;
  }
  .submenu-large .menu-link-items {
    padding-bottom: 45rem;
  }
  .submenu-small {
    padding-top: 15rem;
  }
  h1,
  .title-h1,
  span.title,
  h2,
  .title-h2,
  h3,
  .title-h3,
  h4,
  .title-h4 {
    overflow-wrap: normal;
  }
  html {
    font-size: 0.266666666666667vw;
  }
  main > section {
    padding-left: 20rem;
    padding-right: 20rem;
  }
  header.header-base.section-404 p br {
    display: none;
  }
  header.header-base.section-410 p br {
    display: none;
  }
  .page--category .section-push-articles {
    width: auto;
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .page--category .section-push-articles .push-article:last-child {
    margin-bottom: -1px;
  }
  .page--contact .section-contactform form {
    padding: 40rem 20rem;
  }
  .page--home.theme-pro .section-push-model {
    padding-top: 30rem;
  }
  .page--jobtype-search .section-savoir-faire .button-large {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .page--price .header-base h1 br,
  .page--price-seo .header-base h1 br {
    display: none;
  }
  .page--project-follow-home main > aside {
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .page--project-follow-step .section-projectstep-progressbar + .section-projectstep-navigation {
    margin-bottom: 20rem;
  }
  .page--project-follow-step .section-projectstep-introduction h1 {
    margin-bottom: 20rem;
  }
  .page--project-follow-step .section-projectstep-introduction figure {
    left: -20rem;
  }
  .page--storelocator .agency-card .agency-label {
    padding: 0 10rem;
  }
  .page--storelocator .storelocator-link-list {
    width: 100%;
    padding: 0 20rem 40rem 20rem;
  }
  .page--storelocator .storelocator-link-list > a {
    width: 100%;
  }
  .page--study.theme-pro .section-studyform form .fieldset-col {
    flex-direction: column;
  }
  .page--study.theme-pro .section-studyform form .fieldset-col > div {
    flex: 1 1 auto;
  }
  .page--study.theme-pro .section-studyform form .field-company-type-other {
    position: relative;
    left: 0;
    margin-top: -30rem;
    width: 100%;
  }
  .page--study.theme-pro .section-studyform form > h2 {
    margin: 10rem 0 15rem;
  }
  .page--study.theme-pro .section-studyform form .field-company-type .radio {
    width: 100%;
    margin-bottom: 15rem;
  }
  .page--study #free-study {
    position: absolute;
  }
  .page--study .aside-study {
    padding-left: 20rem;
    padding-right: 20rem;
  }
  .page--universal .header-hero {
    height: calc(100vh - 120rem - 30rem);
    padding-top: 50rem;
  }
  .jobtype-teaser {
    width: 100%;
    padding-bottom: 30rem;
  }
  .jobtype-teaser .jobtype-description {
    margin-bottom: 20rem;
  }
  .product-teaser .product-promo {
    padding-bottom: 5rem;
    padding-top: 5rem;
  }
  .product-teaser .product-visual {
    overflow: hidden;
  }
  .product-teaser .product-info h3 {
    margin-bottom: 10rem;
  }
  .product-teaser .product-price-current {
    font-size: 30rem;
  }
  header.header-hero aside.aside-hero.aside-info {
    bottom: 8rem;
    margin-inline: 16rem;
  }
  header.header-base--corpo h1,
  header.header-base--corpo h2,
  header.header-base--corpo h3 {
    font-size: 30rem;
  }
  .section-avisverifies article.avisverifies-review {
    flex: 1;
    width: 100%;
    height: 165rem;
    margin-inline: 10rem;
  }
  .section-cards-faq-slider .cards-faq-item .cards-faq-item-title {
    position: static;
  }
  .section-cards-faq-slider .cards-faq-item .cards-faq-item-plus {
    bottom: 24rem;
    top: auto;
  }
  .section-cards-faq-slider {
    padding: 40rem 0;
  }
  .section-cards-faq-slider .section-cards-faq-slider-container {
    padding-inline: 20rem;
  }
  .section-cards-faq-slider .section-cards-faq-slider-title {
    font-size: 22rem;
    margin-bottom: 24rem;
  }
  .section-cards-faq-slider .section-cards-faq-slider-list {
    max-width: 300rem;
  }
  .section-cards-faq-slider .cards-faq-item {
    height: 420rem;
  }
  .section-cards-faq-slider .carousel-dots {
    margin-top: 20rem;
  }
  .section-cards-faq-slider .section-cards-faq-slider-list > div {
    gap: 16rem;
  }
  .section-cards-faq-slider .carousel-arrow {
    width: 45rem;
    height: 45rem;
    top: calc(50% - 18rem);
  }
  .section-cards-faq-slider .carousel-prev {
    left: -12rem;
  }
  .section-cards-faq-slider .carousel-next {
    right: -12rem;
  }
  .section-cards-flip .section-cards-flip-grid {
    grid-template-columns: 1fr;
  }
  .section-cards-flip {
    padding: 40rem 0;
  }
  .section-cards-flip .section-cards-flip-container {
    padding-inline: 20rem;
  }
  .section-cards-flip .section-cards-flip-title {
    font-size: 22rem;
  }
  .section-cards-flip .section-cards-flip-grid {
    gap: 10rem;
  }
  .section-cards-flip .cards-flip-item-inner {
    min-height: 490rem;
  }
  .section-cards-flip .cards-flip-item-front .cards-flip-item-title {
    padding: 24rem 24rem 35rem;
    font-size: 28rem;
    height: 239rem;
  }
  .section-cards-flip .cards-flip-item-front .cards-flip-item-image {
    min-height: 180rem;
  }
  .section-cards-flip .cards-flip-item-back {
    padding: 24rem 24rem 70rem;
  }
  .section-cards-flip .cards-flip-item-back .cards-flip-item-text {
    font-size: 14rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow {
    top: 18vw;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow {
    width: 45rem;
    height: 45rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-prev {
    left: -12rem;
  }
  section.section-carousel-videos .container .carousel-videos-container .carousel-arrow.carousel-next {
    right: -12rem;
  }
  .section-carousel {
    padding-inline: 0;
  }
  .section-carousel .image-list figure {
    overflow: hidden;
  }
  .section-carousel .carousel-arrow {
    display: none;
  }
  .section-certifications .certification-tab {
    line-height: 1.16667;
    font-size: 12rem;
  }
  .section-certifications .certification-list {
    flex-flow: column;
  }
  .section-company .company-item {
    padding: 40rem 30rem;
  }
  .section-company .company-item > figure {
    width: 180rem;
    height: 180rem;
  }
  .section-company .company-item-content {
    flex: 0;
  }
  .section-company .company-item-content p {
    line-height: 1.425;
    font-size: 14rem;
    margin-bottom: 25rem;
  }
  .section-company .company-item-content figure {
    width: 120rem;
    margin: 0 10rem 35rem;
  }
  .section-company .company-item-content figure img {
    width: 80rem;
    height: 80rem;
    margin-bottom: 10rem;
  }
  .section-company .company-item-content figure figcaption {
    font-size: 12rem;
  }
  .section-contact {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
  .section-contact .section-title {
    display: none;
  }
  .section-contact .contact-items {
    flex-flow: column;
  }
  .section-contact .contact-item {
    min-width: 285rem;
    margin-bottom: 40rem;
  }
  .section-contact .contact-item:last-child {
    margin-bottom: 0;
  }
  .section-customize {
    padding-bottom: 40rem;
    padding-top: 45rem;
  }
  .section-customize .customize-card-list {
    margin-bottom: 15rem;
  }
  .section-customize .customize-card {
    padding-bottom: 30rem;
  }
  .section-customize .customize-card p {
    margin-bottom: 30rem;
  }
  .section-customize .customize-option {
    padding: 10rem 0;
  }
  .section-customize .customize-option p {
    margin-bottom: 15rem;
  }
  .section-exceptional-information {
    padding: 20rem 35rem;
  }
  .section-external-site-push::before {
    width: calc(100% - 40rem);
  }
  .section-ferjani .ferjani-portrait {
    justify-content: space-between;
  }
  .section-figures .figure-list .figure {
    margin-bottom: 10rem;
  }
  .section-filter form {
    left: calc(100vw - 320rem);
    width: 320rem;
  }
  .section-filter .search-results {
    margin-block: 0 15rem;
  }
  .section-folders .carousel-arrow {
    width: 45rem;
    height: 45rem;
  }
  .section-hero-banner {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .section-hero-banner-container > figure {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    overflow: hidden;
    transform: none;
  }
  .section-hero-banner-container > figure img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .section-hero-banner .hero-banner-card {
    position: static;
    width: auto;
    padding: 24rem 20rem 0;
    margin: 0;
    border-radius: 0;
  }
  .section-image-richtext.media-above figure {
    margin-bottom: 40rem;
  }
  .section-image-richtext figure {
    margin-left: -20rem;
  }
  .section-image-richtext figure.figure-video.type-embed,
  .section-image-richtext figure.figure-image {
    margin-left: 0;
  }
  .section-price-seo .price-seo-page {
    flex: 0 1 100%;
  }
  .section-product-carousel .product-list {
    flex-direction: column;
  }
  .section-filter.section-product-filter .product-teaser,
  .section-filter.section-product-filter .card-reinsurance,
  .section-filter.section-product-filter .card-push-promo {
    width: 100%;
  }
  .section-product-info .product-financing {
    padding: 24rem 16rem;
    gap: 16rem;
  }
  .section-product-info .product-financing-monthly {
/* Le gap vaut 16 ici : le rattrapage suit, cf. le bloc bureau. */
    margin-top: -16rem;
  }
  .section-product-info .product-financing-monthly strong {
    line-height: 1.3;
    font-size: 26rem;
  }
  .section-product-info .product-financing-separator {
    padding-left: 16rem;
  }
  .section-product-info .product-gallery-list {
    height: 350rem;
  }
  .section-product-info .product-gallery figure:not(.product-promo) {
    height: 350rem;
  }
  .section-product-info h1 + .button-picto.button-large {
    padding-left: 40rem;
    padding-right: 15rem;
    margin-bottom: 10rem;
  }
  #overlay .overlay-content.overlay-tailormade .tailormade-option figure.main-figure {
    height: 190rem;
  }
  section.section-products-manual .categories ul {
    grid-template-columns: repeat(2, 1fr);
  }
  .section-projectsteps .projectstep {
    width: 100%;
  }
  .section-projectsteps .projectstep h3 {
    padding: 0 10rem;
  }
  .section-projectsteps .projectstep h3 br {
    display: none;
  }
  .section-promo-header {
    padding: 10rem 45rem;
  }
  .section-promo-prehome {
    height: calc(100vh - 120rem);
    padding-top: 45rem;
  }
  .section-promo-prehome p {
    line-height: 1.8;
    font-size: 18rem;
  }
  .section-promo-prehome .scroll-down-container {
    position: absolute;
    bottom: 40rem;
  }
  .section-promo-prehome .scroll-down-link {
    margin-bottom: 20rem;
  }
  .section-promo-prehome .scroll-down-button {
    width: 50rem;
    height: 50rem;
  }
  .section-push-social {
    padding-block: 30rem;
  }
  .section-push-social .push-social {
    width: 150rem;
    height: 150rem;
  }
  .section-push-social .push-social::after {
    bottom: 10rem;
    right: 10rem;
    width: 30rem;
    height: 30rem;
    background-size: 15rem;
  }
  .section-push-social .carousel-arrow {
    display: none;
  }
  .section-reinsurance .reinsurance-items {
    padding-top: 30rem;
    flex-flow: wrap;
  }
  .section-reinsurance .reinsurance-item {
    flex: 50%;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin-bottom: 25rem;
  }
  .section-savoir-faire {
    padding-bottom: 35rem;
    padding-top: 52rem;
  }
  .section-savoir-faire .savoir-faire-content {
    padding: 40rem 30rem;
  }
  .section-savoir-faire .savoir-faire-content h2 {
    margin-bottom: 25rem;
  }
  .section-savoir-faire .savoir-faire-content p {
    line-height: 1.77778;
    font-size: 18rem;
    margin-bottom: 20rem;
  }
  .section-savoir-faire .savoir-faire-signature {
    justify-content: center;
    flex-flow: wrap;
  }
  .section-savoir-faire .savoir-faire-signature img {
    max-width: 100rem;
    margin-bottom: 20rem;
  }
  .section-table {
    padding: 20rem 0;
  }
  .section-table h2 {
    padding: 0 20rem;
  }
  .section-table .table-container {
    width: 100%;
    overflow-y: auto;
    padding-bottom: 9rem;
  }
  .section-table .table-container > div {
    width: 1150rem;
    padding: 0 20rem;
  }
  .section-table .table-container > div table {
    width: 1110rem;
  }
  .section-testimonies-pro::after {
    width: calc(100% - 40rem);
  }
  .section-tuile-colonne .tuile-colonne-item-logo {
    margin: 0 0 16rem;
  }
  .section-tuile-colonne .tuile-colonne-item-logo img {
    height: auto;
    width: 100%;
  }
  .section-tuile-colonne .tuile-colonne-item-button {
    margin-top: 16rem;
  }
  .section-tuile-colonne {
    padding: 40rem 0;
  }
  .section-tuile-colonne .section-tuile-colonne-container {
    padding-inline: 20rem;
  }
  .section-tuile-colonne .section-tuile-colonne-title {
    font-size: 26rem;
    margin-bottom: 40rem;
  }
  .section-tuile-colonne .section-tuile-colonne-grid {
    grid-template-columns: 1fr;
    gap: 40rem;
  }
  .section-video figure {
    margin-left: -20rem;
  }
  .single--folders #folder-container header.header-article .header-content .title_intro .intro {
    margin-bottom: 74rem;
  }
  .single--folders #folder-container header.header-article .summary {
    top: calc(100% - 85vw);
  }
  .page--storelocator .storelocator-info {
    flex-direction: column;
    padding: 20rem 20rem 0;
    margin-bottom: 40rem;
  }
  .page--storelocator .storelocator-info .info-contact {
    width: 100%;
    margin-bottom: 50rem;
    text-align: center;
  }
  .page--storelocator .storelocator-info .info-contact p {
    line-height: 25rem;
    font-size: 16rem;
  }
  .page--storelocator .storelocator-info .info-schedule {
    width: 100%;
    border: 0;
    padding: 0;
    margin-bottom: 50rem;
    text-align: center;
  }
  .page--storelocator .storelocator-info .action-card {
    width: 100%;
  }
  .page--storelocator .storelocator-map-search {
    flex: none;
  }
  .page--storelocator .storelocator-other-agencies .other-agencies-cards {
    width: 100%;
    padding-inline: 20rem;
    justify-content: center;
  }
  .page--storelocator .storelocator-places .agency-card {
    width: calc(50% - 7.5rem);
    margin-right: 15rem;
    margin-bottom: 15rem;
  }
  .page--storelocator .storelocator-places .agency-card:nth-of-type(2n) {
    margin-right: 0;
  }
  .page--storelocator .storelocator-regions-links {
    flex-direction: column;
  }
  .page--storelocator .storelocator-regions-links a {
    width: 100%;
  }
}
@media (prefers-reduced-motion: no-preference){
  .section-cards .section-cards-container .section-cards-visual-images::before {
    animation: section-cards-rotate-before 1s ease forwards;
  }
  .section-cards .section-cards-container .section-cards-visual-images::after {
    animation: section-cards-rotate-after 1s ease forwards;
  }
  .section-cards .section-cards-container .section-cards-visual-images .section-cards__image {
    transition: rotate 1s ease;
  }
  .section-cards .section-cards-container .section-cards__image:nth-child(1) {
    animation: section-cards-1 9s ease-in-out infinite;
  }
  .section-cards .section-cards-container .section-cards__image:nth-child(2) {
    animation: section-cards-2 9s ease-in-out infinite;
  }
  .section-cards .section-cards-container .section-cards__image:nth-child(3) {
    animation: section-cards-3 9s ease-in-out infinite;
  }
@keyframes section-cards-1 {
    0%, 33% {
      opacity: 1;
    }
    44%, 88% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
}
@keyframes section-cards-2 {
    0%, 33% {
      opacity: 0;
    }
    44%, 66% {
      opacity: 1;
    }
    77%, 100% {
      opacity: 0;
    }
}
@keyframes section-cards-3 {
    0%, 66% {
      opacity: 0;
    }
    77%, 88% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
}
@keyframes section-cards-rotate-before {
    0% {
      rotate: -4deg;
    }
    100% {
      rotate: 0deg;
    }
}
@keyframes section-cards-rotate-after {
    0% {
      rotate: -4deg;
    }
    100% {
      rotate: 4deg;
    }
}
}
/*# sourceMappingURL=style.0204782d1c.css.map */
