@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;
  top: calc(50% - 10rem);
}
.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;
  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;
}
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: #007580;
}
.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-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-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-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;
}
.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 .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,
.page--study.theme-pro main {
  --color-theme: #007580;
  --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: #007580;
  --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-project .selectui-container {
  z-index: 5;
}
.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: #007580;
}
.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 .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-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-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);
}
.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 {
  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 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-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;
}
.section-model-info article figure {
  flex: 1 0;
  overflow: hidden;
  border-radius: 8rem;
}
.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;
}
.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;
}
.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-crossed,
.section-product-info .product-price-detail {
  font-size: 14rem;
  font-weight: 600;
  color: #635459;
}
.section-product-info .product-price-crossed {
  text-decoration: line-through;
  margin-bottom: 3rem;
}
.section-product-info .product-price-saving {
  line-height: 18rem;
  font-weight: 700;
  background-color: var(--color-theme);
  color: #fff;
  padding: 2rem 7rem;
}
.section-product-info .product-price .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.section-product-info .product-price .button {
  line-height: 18rem;
  font-size: 12rem;
  text-transform: uppercase;
}
.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;
}
.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;
}
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 {
  font-weight: 300;
  text-align: center;
  margin-block-end: 32rem;
  max-width: 600rem;
  margin-inline: auto;
}
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 {
  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='%23007580' 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-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 .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;
  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: 12rem;
  gap: 8rem;
}
.section-timeline .timeline-item-below {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-top: 12rem;
  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: 40rem;
  height: 40rem;
  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, margin-left 0.4s ease;
  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 .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 time {
  display: block;
  color: #8c8c8c;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 10rem;
}
.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 > .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-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;
  }
  .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;
    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-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-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);
  }
  .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 p {
    line-height: 1.4;
    font-size: 14rem;
    font-weight: 300;
  }
  .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-block: 60rem;
  }
  .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: 112rem;
    gap: 60rem;
  }
  .section-model-info article figure {
    flex-basis: 530rem;
  }
  .section-model-info article figure img {
    width: 100%;
  }
  .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 {
    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 {
    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-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 > 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: 1300rem;
    clear: both;
    align-items: flex-start;
    gap: 30rem;
    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 {
    margin-inline-start: 855rem;
  }
  .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 {
    margin-bottom: 28rem;
  }
  .section-product-info .product-price {
    width: 100%;
    margin-bottom: 40rem;
  }
  .section-product-info .product-price-current {
    line-height: 1;
    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;
  }
  .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;
  }
  .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 > 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;
  }
  .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 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 {
    margin-top: 40rem;
    width: 100vw;
    height: 56.27vw;
  }
  .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 nav {
    display: none;
  }
  .section-model-info article {
    flex-flow: column;
    margin-bottom: 48rem;
  }
  .section-model-info article figure {
    order: 1;
    width: 100%;
    margin-top: 25rem;
  }
  .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-model-info article:last-child {
    margin-bottom: 0;
  }
  .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 {
    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;
    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;
  }
}
@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-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 .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-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 {
    width: 100%;
  }
  .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.00beb9e120.css.map */
