*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  font-size: 16px;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
button {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

svg {
  height: auto;
}

li {
  list-style: none;
}

button {
  border: 0;
  cursor: pointer;
  background: none;
}

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-VariableFont_wght-e72bd7097307eead0044e87b8eba3f87.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Italic-VariableFont_wght-6702befd565cf6db9039cbb026442db3.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
}
*,
*::before,
*::after {
  font-family: "Montserrat", system-ui, sans-serif;
}

html.loaded:not([aria-busy=true]) {
  scroll-behavior: smooth;
  scroll-padding-block: calc(7.125rem + clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow: auto;
  overflow-x: hidden;
  font-size: 0.875rem;
  color: #404040;
  background-color: #f6f1f2;
}

.hidden {
  display: none !important;
}

[data-controller*=card] {
  cursor: pointer;
}

*::-moz-selection {
  background: #E30613;
  color: #ffffff;
}

*::selection {
  background: #E30613;
  color: #ffffff;
}

*::-moz-selection {
  background: #E30613;
  color: #ffffff;
}

*::-webkit-selection {
  background: #E30613;
  color: #ffffff;
}

*::-khtml-selection {
  background: #E30613;
  color: #ffffff;
}

*::-o-selection {
  background: #E30613;
  color: #ffffff;
}

.container, section:is(#confidentiality, #sitemap) {
  margin-inline: auto;
  max-width: 1920px;
  padding-inline: clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem);
}

section {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
  padding-block: clamp(4rem, 2.327rem + 7.14vw, 8.75rem);
}
section.container:has(+ section.container, + section:is(#confidentiality, #sitemap)), section:has(+ section.container, + section:is(#confidentiality, #sitemap)):is(#confidentiality, #sitemap) {
  padding-bottom: calc(clamp(4rem, 2.327rem + 7.14vw, 8.75rem) / 2);
}
section.container + section.container, section:is(#confidentiality, #sitemap) + section.container, section.container + section:is(#confidentiality, #sitemap), section:is(#confidentiality, #sitemap) + section:is(#confidentiality, #sitemap) {
  padding-top: calc(clamp(4rem, 2.327rem + 7.14vw, 8.75rem) / 2);
}
section > .container, section > section:is(#confidentiality, #sitemap) {
  width: 100%;
}

.bg {
  background: url("../images/bg-cubes-00d35b79f92fd2f0ebd8df1b2ea9f5c3.png") center/cover, #ffffff;
}

.deco-grid {
  position: relative;
}
.deco-grid::after {
  --decoSize: clamp(5.5rem, 3.357rem + 4.46vw, 7.375rem);
  content: "";
  position: absolute;
  top: 0;
  left: 2rem;
  translate: 0 -54%;
  width: var(--decoSize);
  aspect-ratio: 1;
  background: url("../images/grid-02e64e400c289979ce6b5bd68bf8dae6.svg") no-repeat center;
  background-size: contain;
  user-select: none;
  pointer-events: none;
}

.app-img {
  background-color: #d1d3d6;
}
.app-img.no-img {
  object-fit: contain !important;
  background-color: #ffffff;
}

footer {
  position: relative;
  margin-top: auto;
}

footer .footer-pre {
  background-color: #ffffff;
}
footer .footer-pre .container, footer .footer-pre section:is(#confidentiality, #sitemap) {
  --cols: 1;
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
  gap: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  padding-block: 3rem;
}
footer .footer-pre .container::after, footer .footer-pre section:is(#confidentiality, #sitemap)::after {
  display: none;
}
@media (min-width: 480px) {
  footer .footer-pre .container, footer .footer-pre section:is(#confidentiality, #sitemap) {
    --cols: 2;
  }
}
@media (min-width: 768px) {
  footer .footer-pre .container, footer .footer-pre section:is(#confidentiality, #sitemap) {
    --cols: 4;
  }
  footer .footer-pre .container::after, footer .footer-pre section:is(#confidentiality, #sitemap)::after {
    display: block;
    left: 23.5%;
  }
}
@media (min-width: 1024px) {
  footer .footer-pre .container::after, footer .footer-pre section:is(#confidentiality, #sitemap)::after {
    left: 24.5%;
  }
}
@media (min-width: 1200px) {
  footer .footer-pre .container::after, footer .footer-pre section:is(#confidentiality, #sitemap)::after {
    left: 25.5%;
  }
}
footer .footer-pre .pre-item {
  font-weight: 700;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
footer .footer-pre .pre-item .item-img {
  width: auto;
  height: 3.625rem;
  margin-bottom: 2rem;
}
footer .footer-pre .pre-item .item-label {
  max-width: 15.625rem;
}
@media (min-width: 1024px) {
  footer .footer-pre .pre-item {
    font-size: 1rem;
  }
  footer .footer-pre .pre-item .item-img {
    height: 4.3125rem;
    margin-bottom: 2.5rem;
  }
}

footer .footer-content {
  color: #ffffff;
  background-color: #404040;
}
footer .footer-content .link, footer .footer-content .checkbox-element label a, .checkbox-element label footer .footer-content a, footer .footer-content section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) footer .footer-content a, footer .footer-content .text a:not(.btn), .text footer .footer-content a:not(.btn),
footer .footer-content .disclaimer,
footer .footer-content .infos-text {
  display: table;
  font-size: 0.75rem;
}
footer .footer-content .link:not(.links-title):not(.content-contact), footer .footer-content .checkbox-element label a:not(.links-title):not(.content-contact), .checkbox-element label footer .footer-content a:not(.links-title):not(.content-contact), footer .footer-content section:is(#confidentiality, #sitemap) a:not(.links-title):not(.content-contact), section:is(#confidentiality, #sitemap) footer .footer-content a:not(.links-title):not(.content-contact), footer .footer-content .text a:not(.links-title):not(.content-contact):not(.btn), .text footer .footer-content a:not(.links-title):not(.content-contact):not(.btn),
footer .footer-content .disclaimer:not(.links-title):not(.content-contact),
footer .footer-content .infos-text:not(.links-title):not(.content-contact) {
  opacity: 0.7;
}
footer .footer-content .link:not(.links-title):not(.content-contact)[href]:active, footer .footer-content .checkbox-element label a:not(.links-title):not(.content-contact)[href]:active, .checkbox-element label footer .footer-content a:not(.links-title):not(.content-contact)[href]:active, footer .footer-content section:is(#confidentiality, #sitemap) a:not(.links-title):not(.content-contact)[href]:active, section:is(#confidentiality, #sitemap) footer .footer-content a:not(.links-title):not(.content-contact)[href]:active, footer .footer-content .text a:not(.links-title):not(.content-contact)[href]:active:not(.btn), .text footer .footer-content a:not(.links-title):not(.content-contact)[href]:active:not(.btn),
footer .footer-content .disclaimer:not(.links-title):not(.content-contact)[href]:active,
footer .footer-content .infos-text:not(.links-title):not(.content-contact)[href]:active {
  opacity: 0.4;
}
footer .footer-content .content-row {
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
footer .footer-content .content-row:not(:first-child) {
  border-top: 1px solid #8c8c8c;
}
footer .footer-content .content-row:nth-child(2) .links-list {
  display: none;
}
@media (min-width: 768px) {
  footer .footer-content .content-row:nth-child(2) .links-list {
    display: block;
  }
  footer .footer-content .content-row:last-child {
    border-top: 0;
  }
}
@media (min-width: 1024px) {
  footer .footer-content .content-row {
    padding-inline: clamp(1.5rem, -1.317rem + 12.02vw, 9.5rem);
  }
}
footer .footer-content .content-box {
  padding-block: 2.625rem;
}
footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)) {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1.5rem;
  text-align: center;
}
footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)):not(:last-child) {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)) {
    text-align: left;
    align-items: start;
  }
  footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)):not(:first-child) {
    padding-block: 2.625rem;
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
  footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)):last-child {
    padding-right: 0;
  }
}
@media (min-width: 1024px) {
  footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)) {
    border-left: 1px solid #8c8c8c;
  }
  footer .footer-content .content-box:not(.container):not(section:is(#confidentiality, #sitemap)):first-child {
    width: 100%;
    padding-bottom: 2.625rem;
  }
}
footer .footer-content .content-box:first-child {
  border-left: 0 !important;
  padding-left: 0;
}
footer .footer-content .content-box:last-child {
  padding-right: 0;
}
footer .footer-content .content-infos {
  display: grid;
}
footer .footer-content .content-infos .logo {
  width: 11.875rem;
}
@media (min-width: 768px) {
  footer .footer-content .content-infos {
    grid-template-columns: 1fr 1fr;
    column-gap: 2rem;
  }
  footer .footer-content .content-infos .content-box:first-child {
    grid-column: span 2;
    justify-self: center;
  }
}
@media (min-width: 1024px) {
  footer .footer-content .content-infos {
    grid-template-columns: 30% 40% 30%;
    gap: 0;
  }
  footer .footer-content .content-infos .content-box:first-child {
    grid-column: initial;
  }
}
@media (min-width: 1200px) {
  footer .footer-content .content-infos .logo {
    width: 14.5625rem;
  }
}
footer .footer-content .content-infos .content-contact {
  display: flex;
  column-gap: 0.75rem;
  font-weight: 700;
  font-size: 0.875rem;
}
footer .footer-content .content-infos .content-contact svg {
  display: none;
  width: 1.2em;
  flex-shrink: 0;
  align-self: start;
}
@media (min-width: 768px) {
  footer .footer-content .content-infos .content-contact {
    font-size: 1rem;
  }
  footer .footer-content .content-infos .content-contact svg {
    display: block;
  }
}
footer .footer-content .content-infos .content-contact[title=Email] svg {
  margin-top: 0.125rem;
}
footer .footer-content .content-infos .content-contact[title=Youtube] svg {
  width: 1.6em;
  margin-top: 0.3125rem;
}
footer .footer-content .content-infos .content-contact.contact-socials {
  column-gap: 1.5rem;
  margin-top: 0.125rem;
}
footer .footer-content .content-infos .content-contact.contact-socials svg {
  display: block;
  width: 1.4em;
}
footer .footer-content .content-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 2.375rem;
}
footer .footer-content .content-links .links-list {
  min-width: 100%;
}
footer .footer-content .content-links .links-list > :not(:last-child) {
  margin-bottom: 1.25em;
}
footer .footer-content .content-links .links-title {
  font-weight: 500;
  font-size: 1.125rem;
}
footer .footer-content .content-links .link, footer .footer-content .content-links .checkbox-element label a, .checkbox-element label footer .footer-content .content-links a, footer .footer-content .content-links section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) footer .footer-content .content-links a, footer .footer-content .content-links .text a:not(.btn), .text footer .footer-content .content-links a:not(.btn) {
  line-height: 1.5;
  max-width: 15.25rem;
}
footer .footer-content .content-links .links-info {
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  gap: 1rem 1.5rem;
  height: 100%;
}
footer .footer-content .content-links .links-info .infos-img {
  width: 45%;
  max-width: 6.75rem;
}
footer .footer-content .content-links .links-info .infos-text {
  align-self: center;
  line-height: 1.5;
}
footer .footer-content .content-links .links-info .infos-text b {
  font-size: 0.875rem;
}
@media (min-width: 768px) {
  footer .footer-content .content-links {
    justify-content: space-between;
  }
  footer .footer-content .content-links .links-list {
    min-width: 25%;
  }
  footer .footer-content .content-links .links-info {
    text-align: left;
    flex-direction: row;
    align-items: start;
  }
  footer .footer-content .content-links .links-info .infos-img {
    align-self: start;
  }
  footer .footer-content .content-links .links-info .infos-text {
    align-self: center;
  }
}
@media (min-width: 1024px) {
  footer .footer-content .content-links .links-title {
    font-weight: 500;
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  footer .footer-content .content-links {
    flex-wrap: nowrap;
  }
  footer .footer-content .content-links .links-list {
    min-width: 18.75%;
  }
  footer .footer-content .content-links .links-info {
    min-width: 25%;
  }
}
footer .footer-content .content-bottom {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.25rem 2.5rem;
  text-align: center;
}
@media (min-width: 768px) {
  footer .footer-content .content-bottom {
    text-align: left;
    align-items: start;
    flex-direction: row;
    flex-wrap: wrap;
    padding-block: 1rem 1.625rem;
  }
}
footer .footer-content .content-bottom .disclaimer {
  opacity: 0.7;
  text-transform: uppercase;
}
footer .footer-content .content-bottom .disclaimer svg {
  width: 1.2em;
  margin-inline: 1px;
  vertical-align: sub;
  color: #E30613;
}
footer .footer-content .content-bottom .disclaimer .link, footer .footer-content .content-bottom .disclaimer .checkbox-element label a, .checkbox-element label footer .footer-content .content-bottom .disclaimer a, footer .footer-content .content-bottom .disclaimer section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) footer .footer-content .content-bottom .disclaimer a, footer .footer-content .content-bottom .disclaimer .text a:not(.btn), .text footer .footer-content .content-bottom .disclaimer a:not(.btn) {
  display: inline;
}
footer .footer-content .content-bottom .disclaimer .link:not(:active), footer .footer-content .content-bottom .disclaimer .checkbox-element label a:not(:active), .checkbox-element label footer .footer-content .content-bottom .disclaimer a:not(:active), footer .footer-content .content-bottom .disclaimer section:is(#confidentiality, #sitemap) a:not(:active), section:is(#confidentiality, #sitemap) footer .footer-content .content-bottom .disclaimer a:not(:active), footer .footer-content .content-bottom .disclaimer .text a:not(:active):not(.btn), .text footer .footer-content .content-bottom .disclaimer a:not(:active):not(.btn) {
  opacity: 1;
}

footer .btn[onclick] {
  position: absolute;
  z-index: 1;
  bottom: 9rem;
  right: calc(max(0px, (100vw - 1920px) / 2) + clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem));
  padding: 0 1.625rem;
  font-size: 1.25rem;
  box-shadow: 0 0.625rem 2.25rem 0 rgba(0, 0, 0, 0.1);
  border-radius: 0.375rem;
}
@media (min-width: 768px) {
  footer .btn[onclick] {
    bottom: 6rem;
  }
}

header {
  position: sticky;
  z-index: 999;
  top: 0;
  background-color: #ffffff;
}
header .container, header section:is(#confidentiality, #sitemap) {
  height: 100%;
  display: flex;
  align-items: center;
  column-gap: clamp(1.375rem, 1.067rem + 1.31vw, 2.25rem);
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
header .container > :nth-child(2), header section:is(#confidentiality, #sitemap) > :nth-child(2) {
  margin-left: auto;
}
header .link, header .checkbox-element label a, .checkbox-element label header a, header section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) header a, header .text a:not(.btn), .text header a:not(.btn) {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
}
header .link svg, header .checkbox-element label a svg, .checkbox-element label header a svg, header section:is(#confidentiality, #sitemap) a svg, section:is(#confidentiality, #sitemap) header a svg, header .text a:not(.btn) svg, .text header a:not(.btn) svg {
  width: 1em;
  margin-top: 1px;
  transition: rotate 0.3s;
}

header .header-contact {
  height: 2.125rem;
  font-weight: 700;
  font-size: 0.75rem;
  color: #ffffff;
  background-color: #404040;
}
header .header-contact .seo-title {
  display: none;
  margin-right: auto;
}
@media (min-width: 768px) {
  header .header-contact .seo-title {
    display: block;
    font-style: italic;
    font-weight: normal;
  }
}

header .header-content {
  height: 5rem;
}
header .header-content .logo {
  margin-top: 2px;
  width: clamp(10rem, 8.768rem + 5.26vw, 13.5rem);
}
header .header-content .header-logo {
  display: flex;
  align-items: center;
  column-gap: 0.75rem;
}
header .header-content .header-logo .tag, header .header-content .header-logo #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
header .header-content .header-logo #reference #article-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph header .header-content .header-logo .overtitle,
header .header-content .header-logo #article #reference-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
header .header-content .header-logo #article #article-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph header .header-content .header-logo .overtitle {
  scale: 0.85;
  transform-origin: left center;
  min-width: fit-content;
}
@media (min-width: 768px) {
  header .header-content .header-logo .tag, header .header-content .header-logo #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #reference #article-content .gallery .paragraph .overtitle,
  #reference #article-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #reference-content .gallery .paragraph .overtitle,
  #article #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #article-content .gallery .paragraph .overtitle,
  #article #article-content .gallery .paragraph header .header-content .header-logo .overtitle {
    scale: 1;
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 1024px) {
  header .header-content .header-logo .tag, header .header-content .header-logo #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #reference #article-content .gallery .paragraph .overtitle,
  #reference #article-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #reference-content .gallery .paragraph .overtitle,
  #article #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #article-content .gallery .paragraph .overtitle,
  #article #article-content .gallery .paragraph header .header-content .header-logo .overtitle {
    display: none;
  }
}
@media (min-width: 1200px) {
  header .header-content .header-logo .tag, header .header-content .header-logo #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #reference #article-content .gallery .paragraph .overtitle,
  #reference #article-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #reference-content .gallery .paragraph .overtitle,
  #article #reference-content .gallery .paragraph header .header-content .header-logo .overtitle,
  header .header-content .header-logo #article #article-content .gallery .paragraph .overtitle,
  #article #article-content .gallery .paragraph header .header-content .header-logo .overtitle {
    display: block;
  }
}
header .header-content .menu-btn {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
}
header .header-content .menu-btn svg {
  width: 2.125rem;
  color: #E30613;
}
@media (min-width: 1024px) {
  header .header-content .menu-btn {
    display: none;
  }
}
header .header-content .nav-list {
  --navPadX: 0px;
  --navPadY: 0.25rem;
  --menuSpace: 0.875rem;
  font-weight: 700;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  display: flex;
  flex-direction: column;
  row-gap: var(--menuSpace);
  color: #ffffff;
  background-color: #E30613;
  opacity: 0;
  translate: 25% 0;
  visibility: hidden;
  transition: opacity, translate, visibility;
  transition-duration: 0.35s;
}
@media (min-width: 480px) {
  header .header-content .nav-list {
    width: auto;
  }
}
header .header-content .nav-list::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 100vw;
  height: 100%;
  background-color: #404040;
  opacity: 0.75;
}
header .header-content .nav-list[aria-hidden=false] {
  opacity: 1;
  translate: 0 0;
  visibility: visible;
}
header .header-content .nav-list > li {
  position: relative;
}
header .header-content .nav-list > li:first-child {
  width: 100%;
  margin-bottom: calc(var(--menuSpace) * -1.5);
}
header .header-content .nav-list > li:first-child .menu-btn {
  position: relative;
  z-index: 1;
  margin-left: auto;
}
header .header-content .nav-list > li:first-child .menu-btn svg {
  width: 1.5rem;
  color: #ffffff;
}
header .header-content .nav-list > li:nth-child(2) .link svg, header .header-content .nav-list > li:nth-child(2) .checkbox-element label a svg, .checkbox-element label header .header-content .nav-list > li:nth-child(2) a svg, header .header-content .nav-list > li:nth-child(2) section:is(#confidentiality, #sitemap) a svg, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li:nth-child(2) a svg, header .header-content .nav-list > li:nth-child(2) .text a:not(.btn) svg, .text header .header-content .nav-list > li:nth-child(2) a:not(.btn) svg {
  margin-top: 0;
}
header .header-content .nav-list > li > .link:not(.btn), header .header-content .checkbox-element label .nav-list > li > a:not(.btn), .checkbox-element label header .header-content .nav-list > li > a:not(.btn), header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn), section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn), header .header-content .text .nav-list > li > a:not(.btn), .text header .header-content .nav-list > li > a:not(.btn) {
  padding: var(--navPadY) var(--navPadX);
  position: relative;
  text-decoration: none;
  width: fit-content;
}
header .header-content .nav-list > li > .link:not(.btn)::after, header .header-content .checkbox-element label .nav-list > li > a:not(.btn)::after, .checkbox-element label header .header-content .nav-list > li > a:not(.btn)::after, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn)::after, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn)::after, header .header-content .text .nav-list > li > a:not(.btn)::after, .text header .header-content .nav-list > li > a:not(.btn)::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  width: calc(100% - var(--navPadX) * 2);
  border-bottom: 2px solid;
  opacity: 0;
  scale: 0 1;
  transition: opacity, scale;
  transition-duration: inherit;
}
header .header-content .nav-list > li > .link:not(.btn).active::after, header .header-content .checkbox-element label .nav-list > li > a:not(.btn).active::after, .checkbox-element label header .header-content .nav-list > li > a:not(.btn).active::after, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn).active::after, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn).active::after, header .header-content .text .nav-list > li > a:not(.btn).active::after, .text header .header-content .nav-list > li > a:not(.btn).active::after {
  scale: 1 1;
  opacity: 1;
}
header .header-content .nav-list > li > .link:not(.btn):active, header .header-content .checkbox-element label .nav-list > li > a:not(.btn):active, .checkbox-element label header .header-content .nav-list > li > a:not(.btn):active, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn):active, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn):active, header .header-content .text .nav-list > li > a:not(.btn):active, .text header .header-content .nav-list > li > a:not(.btn):active {
  opacity: 0.6;
}
@media (min-width: 1024px) {
  header .header-content .nav-list > li > .link:not(.btn), header .header-content .checkbox-element label .nav-list > li > a:not(.btn), .checkbox-element label header .header-content .nav-list > li > a:not(.btn), header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn), section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn), header .header-content .text .nav-list > li > a:not(.btn), .text header .header-content .nav-list > li > a:not(.btn) {
    white-space: nowrap;
  }
  header .header-content .nav-list > li > .link:not(.btn).active, header .header-content .checkbox-element label .nav-list > li > a:not(.btn).active, .checkbox-element label header .header-content .nav-list > li > a:not(.btn).active, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn).active, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn).active, header .header-content .text .nav-list > li > a:not(.btn).active, .text header .header-content .nav-list > li > a:not(.btn).active {
    color: #E30613;
  }
  header .header-content .nav-list > li > .link:not(.btn):not(.active):is(:hover, :active), header .header-content .checkbox-element label .nav-list > li > a:not(.btn):not(.active):is(:hover, :active), .checkbox-element label header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active), header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn):not(.active):is(:hover, :active), section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active), header .header-content .text .nav-list > li > a:not(.btn):not(.active):is(:hover, :active), .text header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active) {
    color: #f0636d;
  }
  header .header-content .nav-list > li > .link:not(.btn):not(.active):is(:hover, :active)::after, header .header-content .checkbox-element label .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after, .checkbox-element label header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after, header .header-content .text .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after, .text header .header-content .nav-list > li > a:not(.btn):not(.active):is(:hover, :active)::after {
    scale: 1 1;
    opacity: 1;
  }
  header .header-content .nav-list > li > .link:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, header .header-content .checkbox-element label .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, .checkbox-element label header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, header .header-content .text .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, .text header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg,
  header .header-content .text > div .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg,
  .text > div header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub):is(:hover, :focus-visible) svg, header .header-content .nav-list > li > .link:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, header .header-content .checkbox-element label .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, .checkbox-element label header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, header .header-content .text .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg, .text header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg,
  header .header-content .text > div .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg,
  .text > div header .header-content .nav-list > li > a:not(.btn):has(+ .nav-sub:is(:hover, :focus-within)) svg {
    rotate: 180deg;
  }
}
header .header-content .nav-list > li a.btn {
  font-size: 0.875rem;
  font-weight: inherit;
  text-transform: initial;
  margin-left: var(--navPadX);
  margin-top: var(--menuSpace);
  color: #E30613;
  background-color: #ffffff;
}
header .header-content .nav-list .nav-sub {
  margin-top: calc(var(--menuSpace) / 2);
}
header .header-content .nav-list .nav-sub .link, header .header-content .nav-list .nav-sub .checkbox-element label a, .checkbox-element label header .header-content .nav-list .nav-sub a, header .header-content .nav-list .nav-sub section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) header .header-content .nav-list .nav-sub a, header .header-content .nav-list .nav-sub .text a:not(.btn), .text header .header-content .nav-list .nav-sub a:not(.btn) {
  display: block;
  padding: 0.375rem 0.75rem;
  font-weight: 400;
  font-size: 0.75rem;
  text-decoration: none;
  transition: opacity, color, background-color;
  transition-duration: 0.15s;
}
header .header-content .nav-list .nav-sub .link.active, header .header-content .nav-list .nav-sub .checkbox-element label a.active, .checkbox-element label header .header-content .nav-list .nav-sub a.active, header .header-content .nav-list .nav-sub section:is(#confidentiality, #sitemap) a.active, section:is(#confidentiality, #sitemap) header .header-content .nav-list .nav-sub a.active, header .header-content .nav-list .nav-sub .text a.active:not(.btn), .text header .header-content .nav-list .nav-sub a.active:not(.btn) {
  font-weight: 700;
}
@media (min-width: 1024px) {
  header .header-content .nav-list {
    --navPadX: 0.9375rem;
    --navPadY: 0.5rem;
    --menuSpace: 0px;
    position: static;
    flex-direction: row;
    align-items: center;
    width: auto;
    padding: 0;
    background-color: unset;
    opacity: 1;
    translate: 0 0;
    visibility: visible;
    color: #404040;
    background-color: #ffffff;
  }
  header .header-content .nav-list::before {
    display: none;
  }
  header .header-content .nav-list > li:first-child {
    display: none;
  }
  header .header-content .nav-list > li > .link:not(.btn)::after, header .header-content .checkbox-element label .nav-list > li > a:not(.btn)::after, .checkbox-element label header .header-content .nav-list > li > a:not(.btn)::after, header .header-content section:is(#confidentiality, #sitemap) .nav-list > li > a:not(.btn)::after, section:is(#confidentiality, #sitemap) header .header-content .nav-list > li > a:not(.btn)::after, header .header-content .text .nav-list > li > a:not(.btn)::after, .text header .header-content .nav-list > li > a:not(.btn)::after {
    border-bottom-width: 3px;
  }
  header .header-content .nav-list > li a.btn {
    color: #ffffff;
    background-color: #E30613;
  }
  header .header-content .nav-list .nav-sub {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 50%;
    translate: -50% 0.625rem;
    margin-top: 1.75rem;
    width: max-content;
    padding: 1rem 0;
    background-color: #ffffff;
    box-shadow: 0 -0.25rem 1.25rem 0 rgba(8, 15, 52, 0.125);
    transition: opacity, visibility, translate;
    transition-duration: 0.15s;
  }
  header .header-content .nav-list .nav-sub::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 1.75rem;
  }
  header .header-content .nav-list .nav-sub::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    translate: -50% 0;
    border-inline: 0.875rem solid transparent;
    border-bottom: 0.875rem solid #ffffff;
  }
  header .header-content .nav-list .nav-sub .link, header .header-content .nav-list .nav-sub .checkbox-element label a, .checkbox-element label header .header-content .nav-list .nav-sub a, header .header-content .nav-list .nav-sub section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) header .header-content .nav-list .nav-sub a, header .header-content .nav-list .nav-sub .text a:not(.btn), .text header .header-content .nav-list .nav-sub a:not(.btn) {
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.625rem 2rem;
    border-inline: 3px solid transparent;
  }
  header .header-content .nav-list .nav-sub .link.active, header .header-content .nav-list .nav-sub .checkbox-element label a.active, .checkbox-element label header .header-content .nav-list .nav-sub a.active, header .header-content .nav-list .nav-sub section:is(#confidentiality, #sitemap) a.active, section:is(#confidentiality, #sitemap) header .header-content .nav-list .nav-sub a.active, header .header-content .nav-list .nav-sub .text a.active:not(.btn), .text header .header-content .nav-list .nav-sub a.active:not(.btn) {
    color: inherit;
    border-left-color: #E30613;
  }
  header .header-content .nav-list .nav-sub .link:is(:hover, :active), header .header-content .nav-list .nav-sub .checkbox-element label a:is(:hover, :active), .checkbox-element label header .header-content .nav-list .nav-sub a:is(:hover, :active), header .header-content .nav-list .nav-sub section:is(#confidentiality, #sitemap) a:is(:hover, :active), section:is(#confidentiality, #sitemap) header .header-content .nav-list .nav-sub a:is(:hover, :active), header .header-content .nav-list .nav-sub .text a:is(:hover, :active):not(.btn), .text header .header-content .nav-list .nav-sub a:is(:hover, :active):not(.btn) {
    color: #E30613;
    background-color: #f6f1f2;
  }
  header .header-content .nav-list li:is(:hover, :focus-within) .nav-sub {
    opacity: 1;
    translate: -50% 0;
    visibility: visible;
    pointer-events: auto;
  }
}

.overtitle {
  font-size: 0.75rem;
  letter-spacing: 0.4em;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .overtitle {
    font-size: 0.875rem;
  }
}

.heading {
  font-weight: 700;
  text-wrap: pretty;
  font-size: clamp(1.875rem, 1.655rem + 0.94vw, 2.5rem);
  color: #404040;
}
.heading span {
  color: #E30613;
}

.title {
  font-weight: 800;
  text-wrap: pretty;
  font-size: clamp(2rem, 1.648rem + 1.5vw, 3rem);
  color: #404040;
}
.title span {
  color: #E30613;
}

.text,
.text > div {
  display: grid;
  row-gap: 1.25rem;
  line-height: 1.7em;
  color: #686868;
}
.text p,
.text > div p {
  line-height: inherit;
}
.text ul li,
.text ol li,
.text > div ul li,
.text > div ol li {
  color: #404040;
  margin-left: 2.5em;
}
.text ul li:not(:last-child),
.text ol li:not(:last-child),
.text > div ul li:not(:last-child),
.text > div ol li:not(:last-child) {
  margin-bottom: 0.25rem;
}
.text ul li,
.text > div ul li {
  list-style: disc;
}
.text ol li,
.text > div ol li {
  list-style: decimal;
}
.paragraph {
  --paragraphSpace: 1.25rem;
  display: flex;
  flex-direction: column;
  row-gap: var(--paragraphSpace);
  min-width: 0;
}
.paragraph :is(.heading, .title) + .overtitle {
  order: -1;
  margin-bottom: calc(var(--paragraphSpace) * -1 + 3px);
}
.paragraph .overtitle {
  line-height: 1.5em;
}
.paragraph.deco-grid {
  padding-top: 2.625rem;
}
@media (min-width: 1024px) {
  .paragraph.deco-grid {
    padding-top: 3.875rem;
  }
}
.paragraph.deco-grid::after {
  left: 2rem;
  translate: none;
}
.paragraph-center {
  max-width: 40rem;
  text-align: center;
  margin-inline: auto;
}
@media (min-width: 1200px) {
  .paragraph:not(.paragraph-small) {
    --paragraphSpace: 2.5rem;
  }
}

.block-paragraph {
  display: grid;
  align-items: center;
  gap: 2.5rem clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
}
.block-paragraph .paragraph-media {
  display: grid;
  place-items: center;
  gap: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  height: 100%;
  position: relative;
}
.block-paragraph .paragraph-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-height: 21.875rem;
  min-height: 15rem;
}
.block-paragraph .paragraph-media img:nth-child(3) {
  display: none;
}
@media (min-width: 1024px) {
  .block-paragraph {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
  .block-paragraph:nth-of-type(even) > div:first-child {
    order: 2;
  }
  .block-paragraph:nth-of-type(even) .paragraph-media.media-3,
  .block-paragraph:nth-of-type(even) .paragraph-media:not(.media-2):has(img:nth-child(3)) {
    margin-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * -1);
  }
  .block-paragraph .paragraph-media img {
    min-height: 18.75rem;
  }
  .block-paragraph .paragraph-media:is(.media-2, .media-3, :has(img:nth-child(2), img:nth-child(3))) {
    position: relative;
    grid-template-rows: 0.55fr 0.45fr;
    min-height: clamp(28.125rem, 20.982rem + 11.16vw, 34.375rem);
  }
  .block-paragraph .paragraph-media:is(.media-2, .media-3, :has(img:nth-child(2), img:nth-child(3))) img {
    position: absolute;
    min-height: 0;
    max-height: 100%;
  }
  .block-paragraph .paragraph-media:is(.media-2, .media-3, :has(img:nth-child(2), img:nth-child(3))) img:nth-child(1) {
    grid-row: 1/2;
    width: 90%;
    align-self: end;
    justify-self: start;
  }
  .block-paragraph .paragraph-media:is(.media-2, .media-3, :has(img:nth-child(2), img:nth-child(3))) img:nth-child(2) {
    grid-row: 2/3;
    width: 87.5%;
    align-self: start;
    justify-self: end;
  }
  .block-paragraph .paragraph-media.media-3, .block-paragraph .paragraph-media:not(.media-2):has(img:nth-child(3)) {
    width: calc(100% + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem));
    grid-template-columns: 0.6fr 0.4fr;
    grid-template-rows: 1fr 1fr;
  }
  .block-paragraph .paragraph-media.media-3 img:nth-child(1), .block-paragraph .paragraph-media:not(.media-2):has(img:nth-child(3)) img:nth-child(1) {
    width: 100%;
    grid-column: 1/2;
  }
  .block-paragraph .paragraph-media.media-3 img:nth-child(2), .block-paragraph .paragraph-media:not(.media-2):has(img:nth-child(3)) img:nth-child(2) {
    grid-column: 1/2;
  }
  .block-paragraph .paragraph-media.media-3 img:nth-child(3), .block-paragraph .paragraph-media:not(.media-2):has(img:nth-child(3)) img:nth-child(3) {
    display: block;
    grid-column: 2/3;
    grid-row: 1/3;
    height: 80%;
  }
  .block-paragraph .paragraph-media.media-2 img:nth-child(2) ~ img, .block-paragraph .paragraph-media.media-3 img:nth-child(3) ~ img {
    display: none;
  }
}
@media (min-width: 1200px) {
  .block-paragraph .paragraph-media {
    max-height: 36rem;
  }
  .block-paragraph .paragraph-media img {
    max-height: 100%;
  }
  .block-paragraph .paragraph-media:is(.media-2, .media-3, :has(img:nth-child(2), img:nth-child(3))) {
    height: 115%;
  }
}
@media (min-width: 1600px) {
  .block-paragraph .paragraph-media:is(.media-2,
  .media-3,
  :has(img:nth-child(2), img:nth-child(3))) {
    width: 100% !important;
    margin-left: 0 !important;
  }
}

.page-header {
  position: relative;
  padding-block: 1.25rem 0 !important;
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
.page-header + section.container, .page-header + section:is(#confidentiality, #sitemap) {
  padding-top: 3.75rem;
}
.page-header .page-header-content {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}
.page-header .tag, .page-header #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph .page-header .overtitle,
.page-header #reference #article-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .page-header .overtitle,
.page-header #article #reference-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .page-header .overtitle,
.page-header #article #article-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .page-header .overtitle {
  margin-inline: auto;
  margin-bottom: -1.875rem;
}
.page-header .paragraph {
  width: 100%;
}
.page-header .paragraph-center {
  max-width: 50rem;
}
.page-header .paragraph .title {
  color: #E30613;
}
.page-header .paragraph .text {
  margin-inline: auto;
  max-width: 40rem;
}
.page-header .paragraph.deco-grid {
  padding-top: 0;
}
.page-header .paragraph.deco-grid::after {
  display: none;
  left: unset;
  right: 8.125rem;
  top: 0.5rem;
}
@media (min-width: 768px) {
  .page-header .paragraph.deco-grid::after {
    display: block;
  }
}
.page-header .page-header-share {
  margin-inline: auto;
  display: flex;
  column-gap: 1.25rem;
  margin-top: -1rem;
}
.page-header .page-header-share svg {
  display: block;
  width: auto;
  height: 1.25rem;
  color: #E30613;
  will-change: transform;
  transition: scale 0.15s;
}
@media (min-width: 1024px) {
  .page-header .page-header-share .link svg:is(:hover, :active), .page-header .page-header-share .checkbox-element label a svg:is(:hover, :active), .checkbox-element label .page-header .page-header-share a svg:is(:hover, :active), .page-header .page-header-share section:is(#confidentiality, #sitemap) a svg:is(:hover, :active), section:is(#confidentiality, #sitemap) .page-header .page-header-share a svg:is(:hover, :active), .page-header .page-header-share .text a:not(.btn) svg:is(:hover, :active), .text .page-header .page-header-share a:not(.btn) svg:is(:hover, :active) {
    scale: 1.1;
  }
}
.page-header-full {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 1.25rem;
  padding-bottom: max(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem) !important;
}
.page-header-full + section.container, .page-header-full + section:is(#confidentiality, #sitemap) {
  padding-top: clamp(4.25rem, 3.546rem + 3vw, 6.25rem) !important;
}
@media (min-width: 1200px) {
  .page-header-full {
    min-height: 27.375rem;
  }
  .page-header-full .page-header-content {
    height: 100%;
    justify-content: center;
  }
}
.page-header-full .breadcrumb {
  color: #ffffff;
  position: relative;
}
.page-header-full .breadcrumb a,
.page-header-full .breadcrumb span {
  color: inherit;
}
.page-header-full .breadcrumb a {
  opacity: 0.7;
}
.page-header-full .paragraph {
  --paragraphSpace: 1.25rem;
}
.page-header-full .paragraph.deco-grid::after {
  display: none;
}
.page-header-full .paragraph .overtitle,
.page-header-full .paragraph .title {
  color: #ffffff;
}
.page-header-full .paragraph .text {
  color: #d9d9d9;
}
.page-header-full .page-header-share svg {
  color: #ffffff;
}
.page-header-full .page-header-share svg path:not([fill=currentColor]) {
  fill: #404040;
}
.page-header-full::after,
.page-header-full .page-header-bg {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: 100vw;
  height: 100%;
}
.page-header-full::after {
  content: "";
  z-index: -1;
  background-image: linear-gradient(180deg, transparent -10%, #101010);
}
.page-header-full .page-header-bg {
  z-index: -2;
  max-width: none;
  object-fit: cover;
}

.app-card {
  height: 100%;
  display: grid;
  grid-template-rows: auto;
  grid-auto-rows: 1fr;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
}
.app-card .card-media {
  position: relative;
  aspect-ratio: 413/270;
}
.app-card .card-media .card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.app-card .card-media .card-img.no-img {
  border-bottom: 1px solid #d9d9d9;
}
.app-card .card-media .card-icon {
  position: absolute;
  top: 0;
  right: 0;
  aspect-ratio: 1;
  width: 3.75rem;
  padding: 1rem;
  color: #ffffff;
  background-color: #E30613;
}
.app-card .card-content {
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  height: 100%;
}
.app-card .card-content .card-icon {
  width: 2rem;
  color: #E30613;
}
.app-card .card-content .card-title {
  font-weight: 700;
  font-size: 1.25rem;
  text-wrap: balance;
  transition: color 0.15s;
}
.app-card .card-content .card-title + * {
  margin-top: auto;
}
.app-card .card-content .card-text {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  line-height: 1.5;
}
.app-card .card-content .card-text::after {
  content: "";
  position: absolute;
  inset: 0;
  bottom: -0.5rem;
  pointer-events: none;
  background-image: linear-gradient(0deg, #ffffff, transparent);
}
.app-card .card-content .btn {
  position: relative;
  z-index: 2;
  font-size: 0.75rem;
}
@media (min-width: 1024px) {
  .app-card {
    transition: box-shadow, translate, opacity;
    transition-duration: 0.15s;
  }
  .app-card:is(:hover, :active, :has(:focus-visible)) {
    translate: 0 -1rem;
    box-shadow: 0 1.25rem 2.5rem 0 rgba(0, 0, 0, 0.12);
  }
  .app-card:is(:hover, :active, :has(:focus-visible)) .card-title {
    color: #E30613;
  }
  .app-card:active {
    opacity: 0.7;
  }
  .app-card .card-media .card-icon {
    width: 5.5rem;
    padding: 1.5rem;
  }
  .app-card .card-content .card-title {
    font-size: 1.5rem;
  }
}

.app-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  gap: min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
}
@media (min-width: 768px) {
  .app-grid {
    --cols: 2;
    grid-template-columns: repeat(var(--cols), 1fr);
  }
}
@media (min-width: 1024px) {
  .app-grid {
    --cols: 3;
  }
}
@media (min-width: 1600px) {
  .app-grid {
    --cols: 4;
  }
}

.banner {
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  padding: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2) clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  background-color: #ffffff;
}
.banner::after {
  display: none;
}
@media (min-width: 1024px) {
  .banner::after {
    display: block;
    z-index: 3;
    top: 36%;
    right: 21%;
    left: unset;
  }
}
.banner .banner-img {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  width: 100%;
  height: calc(12.5rem + clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
  object-fit: cover;
  clip-path: polygon(0 54%, 100% 0, 100% 100%, 0 100%);
}
.banner .paragraph {
  position: relative;
  z-index: 2;
  margin-bottom: 12.5rem;
}
.banner .paragraph .heading {
  font-size: 1.5rem;
}
.banner .paragraph .btn {
  padding-inline: 2em;
}
@media (min-width: 768px) {
  .banner .banner-img {
    width: 40%;
    height: 100%;
    clip-path: polygon(67% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .banner .paragraph {
    max-width: 80%;
    margin-bottom: 0;
  }
  .banner .paragraph .text {
    max-width: 85%;
  }
}
@media (min-width: 1024px) {
  .banner .banner-img {
    width: 45.5%;
  }
  .banner .paragraph {
    max-width: 60%;
    padding-left: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
  .banner .paragraph .heading {
    font-size: 1.875rem;
  }
  .banner .paragraph .text {
    max-width: 82%;
  }
}
@media (min-width: 1200px) {
  .banner .paragraph {
    --paragraphSpace: 1.75rem;
  }
}

.detail {
  display: grid;
  gap: 2.5rem clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
@media (min-width: 1024px) {
  .detail {
    grid-template-columns: auto min(38.5%, 31.25rem);
  }
  .detail .detail-sidebar ~ * {
    grid-column: span 2;
    padding-block: 0;
  }
}
.detail .detail-content {
  display: grid;
  align-content: start;
  row-gap: 2.5rem;
}
.detail .detail-content .content-paragraph {
  display: grid;
  align-content: start;
  row-gap: 1.25rem;
}
.detail .detail-content .content-title {
  display: block;
  font-weight: 700;
  font-size: 1.25rem;
  color: #E30613;
}
.detail .detail-content .text {
  color: #686868;
}
.detail .detail-content .text div {
  display: contents;
}
.detail .detail-content .content-media {
  position: relative;
}
.detail .detail-content .content-media img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
@media (min-width: 768px) {
  .detail .detail-content .content-media img {
    aspect-ratio: 596/256;
  }
}
.detail .detail-content .content-cards {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .detail .detail-content .content-cards {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .detail .detail-content .content-cards {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1200px) {
  .detail .detail-content .content-cards {
    grid-template-columns: 1fr 1fr;
  }
}
.detail .detail-content .content-cards .content-card {
  display: grid;
  gap: 0;
  grid-row: span 3;
  align-content: start;
  grid-template-rows: subgrid;
  background-color: #ffffff;
  padding: 2.5rem clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
.detail .detail-content .content-cards .content-card img, .detail .detail-content .content-cards .content-card svg {
  width: 1.625rem;
  color: #E30613;
  margin-bottom: 0.25rem;
}
.detail .detail-content .content-cards .content-card img:has([stroke=currentColor]), .detail .detail-content .content-cards .content-card svg:has([stroke=currentColor]) {
  fill: transparent;
}
.detail .detail-content .content-cards .content-card img:not([fill=currentColor]), .detail .detail-content .content-cards .content-card svg:not([fill=currentColor]) {
  fill: currentColor;
}
.detail .detail-content .content-cards .content-card img:not([fill=currentColor]) [fill], .detail .detail-content .content-cards .content-card svg:not([fill=currentColor]) [fill] {
  fill: currentColor;
}
.detail .detail-content .content-cards .content-card .card-title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: #E30613;
  margin-bottom: 1.25rem;
}
@media (min-width: 1024px) {
  .detail .detail-content {
    row-gap: 3.75rem;
  }
  .detail .detail-content .content-title {
    font-size: 1.5rem;
  }
}
.detail .detail-sidebar.deco-grid::after {
  display: none;
}
@media (min-width: 480px) {
  .detail .detail-sidebar.deco-grid::after {
    display: block;
    z-index: -1;
    left: unset;
    margin-top: 1rem;
    right: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * -1);
  }
}
.detail .detail-sidebar .sidebar-box {
  display: grid;
  row-gap: 1.25rem;
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem);
  background-color: #ffffff;
}
.detail .detail-sidebar .sidebar-box:not(:last-child) {
  margin-bottom: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
.detail .detail-sidebar .sidebar-box hr {
  border: 0;
  opacity: 0.3;
  margin-block: 1.25rem;
  border-top: 1px solid #E30613;
}
.detail .detail-sidebar .sidebar-box .overtitle {
  font-style: italic;
  color: #8c8c8c;
}
.detail .detail-sidebar .sidebar-box .title {
  display: block;
  font-weight: 700;
  font-size: 1.25rem;
}
.detail .detail-sidebar .sidebar-box .title span {
  color: #E30613;
}
.detail .detail-sidebar .sidebar-box .text {
  font-size: 0.75rem;
  text-wrap: pretty;
  color: #686868;
}
.detail .detail-sidebar .sidebar-box .text ul li {
  display: flex;
  column-gap: 1em;
  list-style: none;
  margin-left: 0;
  font-size: 0.875rem;
  margin-bottom: 0.9em;
}
.detail .detail-sidebar .sidebar-box .text ul li svg {
  width: 1.125rem;
  height: 1lh;
  fill: transparent;
  flex-shrink: 0;
}
.detail .detail-sidebar .sidebar-box .text ul li:nth-child(odd) {
  color: #E30613;
}
.detail .detail-sidebar .sidebar-box img {
  width: 100%;
}
.detail .detail-sidebar .sidebar-box img.sidebar-logo {
  max-width: 14.375rem;
}
.detail .detail-sidebar .sidebar-box .sidebar-logo-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 0.75rem;
}
.detail .detail-sidebar .sidebar-box .sidebar-logo-row .tag, .detail .detail-sidebar .sidebar-box .sidebar-logo-row #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph .detail .detail-sidebar .sidebar-box .sidebar-logo-row .overtitle,
.detail .detail-sidebar .sidebar-box .sidebar-logo-row #reference #article-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .detail .detail-sidebar .sidebar-box .sidebar-logo-row .overtitle,
.detail .detail-sidebar .sidebar-box .sidebar-logo-row #article #reference-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .detail .detail-sidebar .sidebar-box .sidebar-logo-row .overtitle,
.detail .detail-sidebar .sidebar-box .sidebar-logo-row #article #article-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .detail .detail-sidebar .sidebar-box .sidebar-logo-row .overtitle {
  margin-bottom: 0.5rem;
  min-width: fit-content;
}
.detail .detail-sidebar .sidebar-box .btn {
  padding-inline: 1.5em;
}
@media (min-width: 1024px) {
  .detail .detail-sidebar .sidebar-box .btn {
    font-size: 0.75rem;
  }
}
@media (min-width: 1200px) {
  .detail .detail-sidebar .sidebar-box .btn {
    font-size: 0.875rem;
  }
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-pagination {
  position: static;
  translate: 0;
  margin: 0.3125rem 0;
  width: fit-content;
}
.detail .detail-sidebar .sidebar-box .swiper + .btn {
  font-size: 0.75rem;
}
.detail .detail-sidebar .sidebar-box .sidebar-link {
  display: flex;
  column-gap: 0.625rem;
  line-height: 1.6;
}
.detail .detail-sidebar .sidebar-box .sidebar-link svg {
  width: 1.25rem;
  flex-shrink: 0;
  height: 1lh;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item {
  display: flex;
  align-items: center;
  width: fit-content;
  font-weight: 700;
  color: #E30613;
  column-gap: 1rem;
  padding-block: 0.375rem;
  transition: opacity, color, translate;
  transition-duration: 0.15s;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item svg {
  flex-shrink: 0;
  width: 1rem;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item svg:has([stroke=currentColor]) {
  fill: transparent;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item svg:not([fill=currentColor]) {
  fill: currentColor;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item svg:not([fill=currentColor]) [fill] {
  fill: currentColor;
}
.detail .detail-sidebar .sidebar-box .sidebar-list .list-item:active {
  opacity: 0.6;
}
@media (min-width: 1024px) {
  .detail .detail-sidebar .sidebar-box .sidebar-list .list-item:is(:hover, :active) {
    color: #404040;
    translate: 0.875rem 0;
  }
}
.detail .detail-sidebar .sidebar-box .swiper {
  width: 100%;
  display: grid;
  row-gap: inherit;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
  transition: opacity 0.15s;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide .swiper-media {
  flex-shrink: 0;
  overflow: hidden;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide .swiper-media img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  will-change: scale;
  transition: scale 0.15s;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide .swiper-title {
  font-weight: 700;
  transition: color 0.15s;
}
@media (min-width: 1200px) {
  .detail .detail-sidebar .sidebar-box .swiper .swiper-slide .swiper-title {
    font-size: 1rem;
  }
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide .text {
  height: 100%;
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-slide .text::after {
  content: "";
  position: absolute;
  inset: 0;
  bottom: -0.5rem;
  pointer-events: none;
  background-image: linear-gradient(0deg, #ffffff, transparent);
}
@media (min-width: 1024px) {
  .detail .detail-sidebar .sidebar-box .swiper .swiper-slide:is(:hover, :active) .swiper-media img {
    scale: 1.05;
  }
  .detail .detail-sidebar .sidebar-box .swiper .swiper-slide:is(:hover, :active) .swiper-title {
    color: #E30613;
  }
  .detail .detail-sidebar .sidebar-box .swiper .swiper-slide:active {
    opacity: 0.75;
  }
}

#home-hero {
  position: relative;
}
#home-hero.bg {
  background-size: auto 600px;
}
#home-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: clamp(4rem, 2.327rem + 7.14vw, 8.75rem);
  background-color: #f6f1f2;
}
#home-hero .container, #home-hero section:is(#confidentiality, #sitemap) {
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
@media (min-width: 1600px) {
  #home-hero .container, #home-hero section:is(#confidentiality, #sitemap) {
    padding-inline: clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem);
  }
}
#home-hero #page-header {
  padding-block: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2) !important;
}
@media (min-width: 1200px) {
  #home-hero #page-header {
    padding-top: clamp(4.25rem, 3.546rem + 3vw, 6.25rem) !important;
  }
}
#home-hero #page-header .paragraph-center {
  max-width: 85%;
}
#home-hero #home-boxes {
  position: relative;
  z-index: 2;
  padding-block: 0;
}

#home-boxes {
  display: grid;
  gap: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
#home-boxes .box {
  position: relative;
  display: grid;
  align-content: end;
  row-gap: 1rem;
  overflow: hidden;
  min-height: clamp(18.75rem, 14.349rem + 18.78vw, 31.25rem);
  padding: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 1.35) calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 1.2);
}
#home-boxes .box .box-bg {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: scale 0.35s;
}
#home-boxes .box::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(0deg, rgba(38, 38, 38, 0.4), rgba(38, 38, 38, 0.4)), linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgb(0, 0, 0) 100%);
  opacity: 0.87;
}
#home-boxes .box .heading {
  text-transform: capitalize;
}
#home-boxes .box .heading,
#home-boxes .box .text {
  color: #ffffff;
}
@media (min-width: 768px) {
  #home-boxes {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  #home-boxes .box:hover .box-bg {
    scale: 1.05;
  }
  #home-boxes .box .text {
    max-width: 85%;
  }
}
@media (min-width: 1200px) {
  #home-boxes .box {
    row-gap: 1.25rem;
  }
  #home-boxes .box .btn {
    margin-top: 1.25rem;
  }
}

#home-activities .container, #home-activities section:is(#confidentiality, #sitemap) {
  display: grid;
  row-gap: inherit;
}
@media (min-width: 1024px) {
  #home-activities .paragraph.deco-grid::after {
    top: 2rem;
    left: -4rem;
  }
}

#home-activities .paragraph,
#home-references .paragraph,
#home-news .paragraph {
  max-width: 45rem;
}
#home-activities .paragraph .text,
#home-references .paragraph .text,
#home-news .paragraph .text {
  max-width: 30rem;
}
#home-activities > .btn,
#home-references > .btn,
#home-news > .btn {
  margin-inline: auto;
}

@media (min-width: 1024px) {
  #home-references .paragraph {
    padding-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) / 2);
  }
}

@media (min-width: 768px) {
  #about section:not(#page-header):not(#about-content):not(#about-group):not(#about-stats.stats-center):not(#about-certifications):not(#about-clients) .block-paragraph .text {
    max-width: 70%;
  }
}
@media (min-width: 768px) and (min-width: 1024px) {
  #about section:not(#page-header):not(#about-content):not(#about-group):not(#about-stats.stats-center):not(#about-certifications):not(#about-clients) .block-paragraph {
    max-width: 75%;
  }
}
#about-page-header .page-header .paragraph.deco-grid::after {
  display: none;
}
#about-page-header .about-images {
  display: none;
}
@media (min-width: 1024px) {
  #about-page-header {
    overflow: hidden;
    position: relative;
  }
  #about-page-header .block-paragraph {
    max-width: 45vw;
    margin-inline: auto;
  }
  #about-page-header .page-header .paragraph {
    max-width: 36.5rem;
    padding-block: clamp(1.563rem, -12.13rem + 21.39vw, 7.125rem);
  }
  #about-page-header .page-header .paragraph .text {
    margin-inline: auto;
    max-width: 29.875rem;
  }
  #about-page-header .about-images {
    position: absolute !important;
    top: 3.75rem;
    bottom: 0;
    display: grid;
    gap: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
    grid-template-rows: 0.5fr 0.5fr;
    place-items: center;
  }
  #about-page-header .about-images img {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    object-fit: cover;
  }
  #about-page-header .about-images:first-of-type {
    left: 0;
    width: 25%;
    grid-template-columns: 28% auto;
  }
  #about-page-header .about-images:first-of-type::after {
    z-index: -1;
    left: unset;
    right: 0;
    top: 0.625rem;
    translate: 50% 0;
  }
  #about-page-header .about-images:first-of-type img:nth-child(3) {
    height: 74%;
    grid-row: 1/3;
    grid-column: 2/2;
  }
  #about-page-header .about-images:last-of-type {
    right: 0;
    width: 23%;
  }
  #about-page-header .about-images:last-of-type img:nth-child(2) {
    width: 85%;
    margin-right: 1rem;
  }
}
@media (min-width: 1024px) and (min-width: 1600px) {
  #about-page-header .about-images {
    width: 30% !important;
  }
  #about-page-header .about-images:first-of-type {
    grid-template-columns: 35% auto;
  }
}

#about-content {
  row-gap: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
}
@media (min-width: 1024px) {
  #about-content .paragraph.deco-grid::after {
    left: -2.375rem;
  }
}

#about-quote {
  --quoteImgSize: clamp(8.75rem, 6.923rem + 7.79vw, 13.9375rem);
  text-align: center;
  font-style: italic;
}
#about-quote .quote-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  margin-top: calc(var(--quoteImgSize) / 2);
  padding-block: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2);
  background-size: 215%;
}
#about-quote .quote-img {
  width: var(--quoteImgSize);
  aspect-ratio: 1;
  object-fit: cover;
  margin-block: calc(var(--quoteImgSize) * -0.5 - clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2) clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  border-radius: 50%;
  box-shadow: 0 1.25rem 2.5rem 0 rgba(0, 0, 0, 0.12);
}
#about-quote .quote-text {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.33;
  max-width: 32rem;
  margin-top: -0.3125rem;
  padding-block: 1.75rem 1rem;
  padding-inline: 1rem;
  background: url("../images/quote-c3b01c3d2bd8a0603be1443c808ed241.svg") no-repeat center/100% 100%;
}
#about-quote .quote-text::before, #about-quote .quote-text::after {
  content: '"';
}
@media (min-width: 480px) {
  #about-quote .quote-text {
    font-size: 1.25rem;
  }
}
@media (min-width: 1024px) {
  #about-quote .quote-text {
    font-size: 1.5rem;
  }
}
#about-quote .quote-author {
  width: 80%;
}
#about-quote .quote-brands {
  display: flex;
  column-gap: 1rem;
  align-items: center;
  margin-top: 1.375rem;
}
#about-quote .quote-brands .brand {
  width: 1.75rem;
  aspect-ratio: 1;
  rotate: 45deg;
  background-color: #E30613;
}
#about-quote .quote-brands .brand[title=feugier] {
  background-color: #127f37;
}
#about-quote .quote-brands .brand[title=apec] {
  background-color: #ff8300;
}
#about-quote .quote-brands .brand[title=alliage] {
  background-color: #73217f;
}
#about-quote .quote-brands .brand[title=capmetal] {
  background-color: #31bae7;
}
#about-quote .quote-brands .brand[title=aerolux] {
  background-color: #3d5da4;
}
#about-quote .quote-brands .brand[title=kapeci] {
  background-color: #E30613;
}
#about-quote .quote-brands .brand:not(:last-child) {
  opacity: 0.3;
  width: 1.125rem;
}

#about-group {
  margin-bottom: calc(clamp(4rem, 2.327rem + 7.14vw, 8.75rem) * 1.25);
}
#about-group .container, #about-group section:is(#confidentiality, #sitemap) {
  position: relative;
}
#about-group .paragraph .btn {
  background-color: #404040;
}
@media (min-width: 1024px) {
  #about-group .paragraph .btn:is(:hover, :active) {
    background-color: #686868;
  }
}
#about-group .group-logo {
  position: absolute;
  bottom: -3.75rem;
  right: 20%;
  width: clamp(9.375rem, 7.569rem + 7.7vw, 12.5rem);
}
@media (min-width: 1024px) {
  #about-group .group-logo {
    bottom: 5%;
    right: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2.2);
    width: clamp(9.375rem, -6.471rem + 24.76vw, 15.813rem);
  }
}
@media (min-width: 1600px) {
  #about-group .group-logo {
    bottom: 10%;
    width: clamp(15.813rem, -14.5rem + 30.31vw, 21.875rem);
  }
}

@media (min-width: 1024px) {
  #about-history {
    padding-bottom: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2);
  }
  #about-history .history-list {
    padding-bottom: calc(clamp(4rem, 2.327rem + 7.14vw, 8.75rem) - clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2);
  }
}
#about-history .history-container {
  display: grid;
  gap: clamp(4.25rem, 3.546rem + 3vw, 6.25rem) 1.25rem;
}
@media (min-width: 1024px) {
  #about-history .history-container {
    grid-template-columns: 0.625fr 0.375fr;
  }
}
@media (min-width: 1200px) {
  #about-history .history-container {
    column-gap: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
    grid-template-columns: 1fr 1fr;
  }
}
#about-history .history-item {
  display: grid;
  grid-template-columns: max(3.625rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 1.7) auto;
}
#about-history .history-item .item-date {
  margin-top: 2rem;
}
#about-history .history-item .item-content {
  border-left: 2px solid #d9d9d9;
  padding-block: 1.25rem;
  padding-inline: min(3rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem)) clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
#about-history .history-item:last-child .item-content {
  border-left-color: #E30613 !important;
}
#about-history .history-item .item-title {
  font-weight: 700;
  line-height: 1.5em;
  font-size: 1rem;
  color: #404040;
}
#about-history .history-item .item-title[style="color: #000000"] {
  color: #404040 !important;
}
@media (min-width: 480px) {
  #about-history .history-item .item-title {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  #about-history .history-item .item-title {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  #about-history .history-item .item-title {
    font-size: 1.25rem;
  }
}
#about-history .history-item .item-text {
  font-size: 0.75rem;
  margin-top: 0.625rem;
  line-height: 1.833em;
}
@media (min-width: 1024px) {
  #about-history .history-item .item-date {
    padding-left: 0.625rem;
  }
  #about-history .history-item .item-content {
    padding-block: 2.125rem;
    transition: border-left-color 0.15s;
  }
  #about-history .history-item:hover .item-content {
    border-left-color: #686868;
  }
  #about-history .history-item:hover ~ .history-item .item-content {
    border-left-color: #d9d9d9 !important;
  }
}
#about-history .history-media .history-img {
  width: 100%;
}
#about-history .history-media .history-img:not(:first-child) {
  display: none;
}
@media (min-width: 1024px) {
  #about-history .history-media .history-img {
    display: block !important;
    grid-row: 1/2;
    grid-column: 1/2;
    position: sticky;
    top: calc(7.125rem + clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
    object-fit: cover;
    max-height: calc(100vh - 7.125rem - clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2);
    margin-left: auto;
    opacity: 0;
    transition: opacity 0.15s;
  }
  #about-history .history-media .history-img:first-child:not(:has(~ .active)), #about-history .history-media .history-img.active {
    opacity: 1;
  }
}
@media (min-width: 1200px) {
  #about-history .history-media .history-img {
    width: 84%;
  }
}
@media (min-width: 1600px) {
  #about-history .history-media .history-img {
    margin-inline: auto;
  }
}
@media (min-width: 768px) {
  #about-history .history-media {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
  }
}

#about {
  --boxesOffset: 6.25rem;
}

#about-activities .container, #about-activities section:is(#confidentiality, #sitemap) {
  display: grid;
  row-gap: inherit;
}
@media (min-width: 1024px) {
  #about-activities .paragraph.deco-grid::after {
    left: -2.375rem;
  }
}

#about.about-activity > #page-header {
  padding-bottom: calc(var(--boxesOffset) + 1.875rem) !important;
}
@media (min-width: 1024px) {
  #about.about-activity > #page-header {
    row-gap: 2rem;
  }
}

#about.about-activity > #page-header + #about-activities {
  padding-top: 0 !important;
  margin-top: calc(var(--boxesOffset) * -1);
}
#about.about-activity > #page-header + #about-activities .activities-boxes {
  gap: 0;
}
#about.about-activity > #page-header + #about-activities .activities-boxes .activity-box:not(:first-child) {
  border-left: 1px solid #ffffff;
}

#about-stats .stats-list {
  --statsGap: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--statsGap);
}
@media (min-width: 768px) {
  #about-stats .stats-list {
    --statsCols: 2;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
  }
  #about-stats .stats-list .stats-card {
    width: calc(100% / var(--statsCols) - var(--statsGap) / (var(--statsCols) / (var(--statsCols) - 1)));
  }
}
#about-stats .stats-card {
  text-align: center;
  align-content: center;
  position: relative;
  overflow: hidden;
  min-height: 13rem;
  padding: 1.5rem;
}
#about-stats .stats-card::before, #about-stats .stats-card::after {
  content: "";
  position: absolute;
  inset: 0;
}
#about-stats .stats-card::before {
  z-index: -3;
  background-color: #686868;
}
#about-stats .stats-card::after {
  z-index: -1;
  background-color: black;
  opacity: 0.2;
}
#about-stats .stats-card .card-img {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(5px);
}
#about-stats .stats-card .card-text {
  font-weight: 700;
  font-size: 1.125rem;
  color: #ffffff;
}
#about-stats .stats-card .card-text strong {
  display: block;
  font-weight: 800;
  font-size: clamp(2rem, 1.648rem + 1.5vw, 3rem);
  margin-bottom: 0.625rem;
}
@media (min-width: 768px) {
  #about-stats .stats-card {
    min-height: 14rem;
  }
  #about-stats .stats-card .card-text {
    font-size: 1.25rem;
  }
}
@media (min-width: 1600px) {
  #about-stats .stats-card {
    min-height: 15rem;
  }
}
#about-stats .stats-list.list-small .stats-card {
  min-height: 0;
}
#about-stats .stats-list.list-small .stats-card::before, #about-stats .stats-list.list-small .stats-card::after {
  content: none;
}
#about-stats .stats-list.list-small .stats-card .card-text {
  font-weight: 400;
  font-size: 1rem;
}
#about-stats .stats-list.list-small .stats-card .card-text strong {
  font-weight: 700;
  font-size: clamp(1.875rem, 1.655rem + 0.94vw, 2.5rem);
}
#about-stats .stats-list.list-small .stats-card .card-text:first-child {
  color: #404040;
}
#about-stats .stats-list.list-small .stats-card:nth-child(even) .card-text:first-child strong {
  color: #E30613;
}
@media (min-width: 768px) {
  #about-stats .stats-list.list-small {
    --statsCols: 1;
    display: block;
    columns: 2;
  }
}
@media (min-width: 1024px) {
  #about-stats .stats-list.list-small {
    --statsCols: 3;
    display: flex;
    columns: unset;
  }
}
@media (min-width: 1600px) {
  #about-stats .stats-list.list-small {
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}

#about-refs > .btn {
  margin-inline: auto;
}
@media (min-width: 1024px) {
  #about-refs .paragraph {
    padding-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) / 2);
  }
  #about-refs .paragraph.deco-grid::after {
    left: 1.5rem;
  }
}

#about-clients {
  background-image: none;
}
#about-clients > .container, #about-clients > section:is(#confidentiality, #sitemap) {
  display: grid;
  row-gap: inherit;
}
#about-clients .about-tabs-contents,
#about-clients .tab-content,
#about-clients .swiper {
  display: grid;
  row-gap: inherit;
}
#about-clients .about-tabs .btn:not(.active) {
  background-color: #f6f1f2;
}
#about-clients .swiper {
  min-width: 0;
}
#about-clients .swiper .swiper-wrapper {
  min-width: 0;
  padding-block: 1.25rem;
}
#about-clients .swiper .swiper-wrapper .swiper-slide {
  display: grid;
  place-items: center;
}
#about-clients .swiper .swiper-pagination {
  margin-inline: auto;
}
#about-clients .clients-logo {
  width: 100%;
  height: 3.125rem;
  object-fit: contain;
  user-select: none;
  filter: grayscale(1);
  transition: filter 0.15s;
}
@media (min-width: 1024px) {
  #about-clients .paragraph.deco-grid::after {
    left: -3.125rem;
  }
  #about-clients .clients-logo:hover {
    filter: grayscale(0);
  }
}
@media (min-width: 1600px) {
  #about-clients .about-tabs-contents {
    margin-inline: auto;
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}

#about-certifications .deco-grid::after {
  display: none;
}
@media (min-width: 768px) {
  #about-certifications .deco-grid::after {
    display: block;
    top: -2rem;
    left: -1rem;
    z-index: -1;
  }
}
@media (min-width: 1024px) {
  #about-certifications .deco-grid::after {
    top: -3rem;
    left: -5rem;
  }
}

.about-tabs {
  display: flex;
  column-gap: 1.125rem;
  justify-content: center;
}
.about-tabs .btn {
  letter-spacing: 0;
  text-transform: capitalize;
}
.about-tabs .btn:not(.active) {
  color: #404040;
  background-color: #ffffff;
}
@media (min-width: 1024px) {
  .about-tabs .btn:not(.active):is(:hover, :active) {
    background-color: #d1d3d6 !important;
  }
}

.about-tabs-contents {
  display: grid;
}
.about-tabs-contents .tab-content {
  grid-row: 1;
  grid-column: 1;
  min-width: 0;
}
.about-tabs-contents .tab-content:not(.active) {
  translate: 0;
}

#about.about-quality #page-header .page-header-content {
  padding-block: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
@media (min-width: 768px) {
  #about.about-quality #page-header .page-header-content .paragraph.deco-grid::after {
    top: -2rem;
    right: 7rem;
  }
}
@media (min-width: 1024px) {
  #about.about-quality #page-header .page-header-content {
    padding-block: 0;
  }
}

#jobs .page-header .paragraph.deco-grid::after {
  top: -1rem;
}
@media (min-width: 1200px) {
  #jobs .page-header .paragraph.deco-grid::after {
    right: -1rem;
  }
}
#jobs #jobs-content {
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
#jobs #jobs-content .jobs-empty {
  height: 18.75rem;
  max-width: 54.625rem;
  text-align: center;
  align-content: center;
  color: #E30613;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.5em;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  padding-inline: clamp(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), -5.284rem + 27.88vw, 15.625rem);
}
@media (min-width: 1024px) {
  #jobs #jobs-content .jobs-empty {
    font-size: 1.25rem;
  }
}

#job .page-header .paragraph.deco-grid::after {
  top: -2.5rem;
  left: 3rem;
  right: unset;
}
#job #job-content > .btn-tertiary {
  border: 0;
  margin-inline: auto;
}
#job #job-content .detail .detail-content {
  row-gap: 2.5rem !important;
}
@media (min-width: 768px) {
  #job #job-content .detail .detail-content .content-paragraph ul {
    columns: 2;
    margin-bottom: -1rem;
  }
  #job #job-content .detail .detail-content .content-paragraph ul li {
    break-inside: avoid;
    display: inline-block;
    margin-bottom: 1rem;
  }
}
#job #job-content .detail .detail-sidebar .sidebar-box {
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
}
#job #job-content .detail .detail-sidebar .sidebar-box .job-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media (min-width: 480px) {
  #job #job-content .detail .detail-sidebar .sidebar-box .job-actions {
    flex-wrap: nowrap;
    column-gap: 1.25rem;
  }
}
@media (min-width: 768px) {
  #job #job-content .detail .detail-sidebar .sidebar-box .job-actions {
    flex-wrap: wrap;
    column-gap: 0.625rem;
  }
}
@media (min-width: 1200px) {
  #job #job-content .detail .detail-sidebar .sidebar-box .job-actions {
    flex-wrap: nowrap;
    column-gap: clamp(0.625rem, -3.125rem + 5vw, 1.25rem);
  }
  #job #job-content .detail .detail-sidebar .sidebar-box .job-actions .btn {
    font-size: clamp(0.75rem, 1vw, 0.875rem);
  }
}
#job #job-content .detail .detail-sidebar .sidebar-box .job-actions .btn {
  width: 100%;
  max-width: none;
  padding-inline: 1rem;
  justify-content: center;
}
#job #job-content .detail .detail-sidebar .sidebar-box .job-actions .btn svg {
  width: 1.45em;
}
#job #job-content .accordion {
  margin-block: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem);
  background-color: #ffffff;
}
#job #job-content .accordion.deco-grid::after {
  display: none;
}
@media (min-width: 768px) {
  #job #job-content .accordion.deco-grid::after {
    display: block;
    z-index: -1;
    top: 3.2rem;
    right: -3rem;
    left: unset;
  }
}
@media (min-width: 1200px) {
  #job #job-content .accordion.deco-grid::after {
    top: 3.675rem;
  }
}
#job #job-content .accordion .accordion-btn {
  font-weight: 700;
  font-size: 1.25rem;
}
@media (min-width: 1200px) {
  #job #job-content .accordion .accordion-btn {
    font-size: 1.5rem;
  }
}
#job #job-content .accordion .accordion-btn span {
  color: #E30613;
}
#job #job-content .job-form {
  padding-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
#job #job-content .job-form .btn {
  margin-top: calc((clamp(4.25rem, 3.546rem + 3vw, 6.25rem) - clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem)) * -1);
}
#job #job-related-list {
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
#job #job-related-list .paragraph {
  max-width: 32.5rem;
}
#job #job-related-list .paragraph .text {
  max-width: 400px;
  margin-inline: auto;
}
#job #job-related-list .paragraph.deco-grid {
  padding-top: 0;
}
#job #job-related-list .paragraph.deco-grid::after {
  top: -1.5rem;
}
@media (min-width: 768px) {
  #job #job-related-list .paragraph.deco-grid::after {
    left: -4rem;
  }
}

@media print {
  html {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
  body {
    background-color: white;
  }
  header,
  .footer-pre,
  footer .content-row:not(:first-child),
  .page-header-share,
  .btn,
  #job .detail-sidebar .sidebar-box hr:last-of-type,
  #job .accordion,
  #job-related-list {
    display: none !important;
  }
}
#contact .page-header .paragraph {
  --paragraphSpace: 1.25rem !important;
}
#contact .page-header .paragraph .text {
  max-width: 41.875rem;
}
#contact .page-header .paragraph.deco-grid::after {
  display: none;
}

#contact-infos .infos-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.75rem;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  margin-inline: auto;
  width: 100%;
  max-width: 43.125rem;
  background-size: 255%;
  padding: 3.125rem clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
#contact-infos .infos-card.deco-grid::after {
  display: none;
}
@media (min-width: 768px) {
  #contact-infos .infos-card.deco-grid::after {
    display: block;
    z-index: -1;
    left: unset;
    right: -3.6rem;
    top: -3rem;
    translate: 0;
  }
}
#contact-infos .infos-logo {
  width: 100%;
  max-width: 15rem;
  margin-bottom: 0.625rem;
}
#contact-infos .link, #contact-infos .checkbox-element label a, .checkbox-element label #contact-infos a, #contact-infos section:is(#confidentiality, #sitemap) a, section:is(#confidentiality, #sitemap) #contact-infos a, #contact-infos .text a:not(.btn), .text #contact-infos a:not(.btn) {
  display: flex;
  gap: 0.25rem 0.625rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #686868;
}
#contact-infos .link svg, #contact-infos .checkbox-element label a svg, .checkbox-element label #contact-infos a svg, #contact-infos section:is(#confidentiality, #sitemap) a svg, section:is(#confidentiality, #sitemap) #contact-infos a svg, #contact-infos .text a:not(.btn) svg, .text #contact-infos a:not(.btn) svg {
  flex-shrink: 0;
  width: 1.25rem;
  color: #E30613;
}
#contact-infos .link[href^=tel], #contact-infos .checkbox-element label a[href^=tel], .checkbox-element label #contact-infos a[href^=tel], #contact-infos section:is(#confidentiality, #sitemap) a[href^=tel], section:is(#confidentiality, #sitemap) #contact-infos a[href^=tel], #contact-infos .text a[href^=tel]:not(.btn), .text #contact-infos a[href^=tel]:not(.btn) {
  font-weight: 700;
}

@media (min-width: 768px) {
  #contact-form-section form .disclaimer {
    margin-top: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) / -2);
  }
  #contact-form-section form .checkbox-element {
    margin-top: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) / -4);
  }
}

#activities .page-header .paragraph {
  max-width: 61.875rem;
}
#activities .page-header .paragraph.deco-grid::after {
  right: -1rem;
}
#activities #activities-content .app-grid {
  grid-template-columns: repeat(auto-fit, minmax(278px, 1fr));
  column-gap: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
@media (min-width: 1200px) {
  #activities #activities-content .app-grid {
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}

#articles .page-header .paragraph {
  --paragraphSpace: 1.25rem;
  max-width: 36rem;
}
#articles .page-header .paragraph.deco-grid::after {
  right: unset;
  left: 0;
  top: -0.5rem;
}
@media (min-width: 1200px) {
  #articles .page-header .paragraph.deco-grid::after {
    left: -3rem;
  }
}

#references .page-header .paragraph .deco-grid::after {
  right: unset;
  left: -3rem;
  top: -0.5rem;
}

#articles-content,
#references-content {
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
@media (min-width: 768px) {
  #articles-content,
  #references-content {
    margin-top: -1.25rem;
  }
}

#activities-content .app-grid .app-card .card-media .card-icon {
  padding: 0.75rem 0.5rem;
}
#activities-content .app-grid .app-card .card-content .tags-list {
  order: -1;
}
#activities-content .app-grid .app-card .card-content .card-title + * {
  margin-top: 0;
}
#activities-content .app-grid .app-card .card-content .btn {
  margin-top: auto;
}
@media (min-width: 1024px) {
  #activities-content .app-grid .app-card .card-media .card-icon {
    padding-block: 1.25rem;
  }
}

@media (min-width: 1200px) {
  #references-content .filters {
    padding-inline: clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem);
  }
}

#articles .list-sort,
#jobs .list-sort,
#refernces .list-sort {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
  margin-bottom: 1rem;
}
#articles .list-sort .overtitle,
#jobs .list-sort .overtitle,
#refernces .list-sort .overtitle {
  letter-spacing: 0.2em;
  white-space: nowrap;
}
#articles .list-sort .input, #articles .list-sort .checkbox-element, #articles .list-sort .input-file, #articles .list-sort form fieldset input:not([type=checkbox], [type=radio]), form fieldset #articles .list-sort input:not([type=checkbox], [type=radio]),
#articles .list-sort form fieldset select,
form fieldset #articles .list-sort select,
#articles .list-sort form fieldset textarea,
form fieldset #articles .list-sort textarea,
#jobs .list-sort .input,
#jobs .list-sort .checkbox-element,
#jobs .list-sort .input-file,
#jobs .list-sort form fieldset input:not([type=checkbox], [type=radio]),
form fieldset #jobs .list-sort input:not([type=checkbox], [type=radio]),
#jobs .list-sort form fieldset select,
form fieldset #jobs .list-sort select,
#jobs .list-sort form fieldset textarea,
form fieldset #jobs .list-sort textarea,
#refernces .list-sort .input,
#refernces .list-sort .checkbox-element,
#refernces .list-sort .input-file,
#refernces .list-sort form fieldset input:not([type=checkbox], [type=radio]),
form fieldset #refernces .list-sort input:not([type=checkbox], [type=radio]),
#refernces .list-sort form fieldset select,
form fieldset #refernces .list-sort select,
#refernces .list-sort form fieldset textarea,
form fieldset #refernces .list-sort textarea {
  --inputPadding: 1rem;
  height: 2.875rem;
  font-style: italic;
  max-width: 18.75rem;
}

#reference,
#article {
  --galleryOffset: 8.75rem;
}
#reference .page-header,
#article .page-header {
  padding-bottom: calc(var(--galleryOffset) + 1.875rem) !important;
}
#reference .page-header .paragraph,
#article .page-header .paragraph {
  max-width: 62rem;
}
@media (min-width: 1024px) {
  #reference .page-header,
  #article .page-header {
    row-gap: 2rem;
    min-height: 31.25rem;
  }
}
#reference > .btn,
#article > .btn {
  margin-inline: auto;
}
#reference > .btn-tertiary,
#article > .btn-tertiary {
  border: 0;
}
#reference #reference-content,
#reference #article-content,
#article #reference-content,
#article #article-content {
  padding-top: 0 !important;
  margin-top: calc(var(--galleryOffset) * -1);
}
#reference #reference-content > article,
#reference #article-content > article,
#article #reference-content > article,
#article #article-content > article {
  display: grid;
  row-gap: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
}
#reference #reference-content .gallery,
#reference #article-content .gallery,
#article #reference-content .gallery,
#article #article-content .gallery {
  display: grid;
  gap: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 1.5);
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  background-color: #ffffff;
  padding: max(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem)) clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
@media (min-width: 1024px) {
  #reference #reference-content .gallery,
  #reference #article-content .gallery,
  #article #reference-content .gallery,
  #article #article-content .gallery {
    grid-template-columns: 1fr 1fr;
    width: calc(100% + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * 2 - clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 2);
    margin-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * -1 + clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem));
  }
}
@media (min-width: 1200px) {
  #reference #reference-content .gallery,
  #reference #article-content .gallery,
  #article #reference-content .gallery,
  #article #article-content .gallery {
    width: 100%;
    margin-left: unset;
  }
}
#reference #reference-content .gallery .gallery-media,
#reference #article-content .gallery .gallery-media,
#article #reference-content .gallery .gallery-media,
#article #article-content .gallery .gallery-media {
  min-width: 0;
  display: grid;
  grid-template-rows: 1fr auto;
}
#reference #reference-content .gallery .gallery-media .swiper,
#reference #article-content .gallery .gallery-media .swiper,
#article #reference-content .gallery .gallery-media .swiper,
#article #article-content .gallery .gallery-media .swiper {
  width: 100%;
}
#reference #reference-content .gallery .gallery-media .swiper:first-child,
#reference #article-content .gallery .gallery-media .swiper:first-child,
#article #reference-content .gallery .gallery-media .swiper:first-child,
#article #article-content .gallery .gallery-media .swiper:first-child {
  aspect-ratio: 1;
  max-height: 50vh;
  align-self: center;
}
#reference #reference-content .gallery .gallery-media .swiper:first-child img,
#reference #article-content .gallery .gallery-media .swiper:first-child img,
#article #reference-content .gallery .gallery-media .swiper:first-child img,
#article #article-content .gallery .gallery-media .swiper:first-child img {
  object-fit: contain;
  background-color: #ffffff;
}
#reference #reference-content .gallery .gallery-media .swiper img,
#reference #article-content .gallery .gallery-media .swiper img,
#article #reference-content .gallery .gallery-media .swiper img,
#article #article-content .gallery .gallery-media .swiper img {
  width: 100%;
  height: 100%;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper,
#reference #article-content .gallery .gallery-media .swiper + .swiper,
#article #reference-content .gallery .gallery-media .swiper + .swiper,
#article #article-content .gallery .gallery-media .swiper + .swiper {
  margin-top: 0.625rem;
  max-height: 4rem;
}
@media (min-width: 768px) {
  #reference #reference-content .gallery .gallery-media .swiper + .swiper,
  #reference #article-content .gallery .gallery-media .swiper + .swiper,
  #article #reference-content .gallery .gallery-media .swiper + .swiper,
  #article #article-content .gallery .gallery-media .swiper + .swiper {
    margin-top: 1.25rem;
    max-height: 5.875rem;
  }
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide {
  aspect-ratio: 1;
  position: relative;
  cursor: pointer;
  transition: opacity 0.15s;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before, #reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  transition: opacity 0.15s;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::before {
  opacity: 0;
  border: 3px solid #E30613;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide::after {
  opacity: 0.5;
  background-color: #E30613;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::before,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::before,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::before,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::before {
  opacity: 1;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::after,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::after,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::after,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide-thumb-active::after {
  opacity: 0;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide:active,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide:active,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide:active,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide:active {
  opacity: 0.75;
}
@media (min-width: 1024px) {
  #reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide:is(:hover, :active)::after,
  #reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide:is(:hover, :active)::after,
  #article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide:is(:hover, :active)::after,
  #article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide:is(:hover, :active)::after {
    opacity: 0;
  }
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide img,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide img,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide img,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide img {
  object-fit: cover;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg,
#reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg,
#article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg,
#article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 1.5rem;
  color: #ffffff;
}
@media (min-width: 768px) {
  #reference #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg svg,
  #reference #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg svg,
  #article #reference-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg svg,
  #article #article-content .gallery .gallery-media .swiper + .swiper .swiper-slide svg svg {
    width: 2rem;
  }
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 100%;
  display: grid;
  place-items: center;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav.swiper-button-lock,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav.swiper-button-lock,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav.swiper-button-lock,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav.swiper-button-lock {
  display: none;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav svg,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav svg,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav svg,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav svg {
  rotate: 90deg;
  width: 0.875rem;
  color: #E30613;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav {
  left: unset;
  right: 0;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav svg,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav svg,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav svg,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav + .thumb-nav svg {
  rotate: -90deg;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav::before,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav::before,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav::before,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #ffffff;
  opacity: 0.5;
  transition: opacity, background-color;
  transition-duration: 0.15s;
}
#reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav:active::before,
#reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav:active::before,
#article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav:active::before,
#article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav:active::before {
  background-color: #d9d9d9;
}
@media (min-width: 1024px) {
  #reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
  #reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
  #article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav,
  #article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav {
    width: 1.875rem;
  }
  #reference #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav:is(:hover, :active)::before,
  #reference #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav:is(:hover, :active)::before,
  #article #reference-content .gallery .gallery-media .swiper + .swiper .thumb-nav:is(:hover, :active)::before,
  #article #article-content .gallery .gallery-media .swiper + .swiper .thumb-nav:is(:hover, :active)::before {
    opacity: 0.75;
  }
}
#reference #reference-content .gallery .gallery-media .media-nav,
#reference #article-content .gallery .gallery-media .media-nav,
#article #reference-content .gallery .gallery-media .media-nav,
#article #article-content .gallery .gallery-media .media-nav {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  display: flex;
}
#reference #reference-content .gallery .gallery-media .media-nav .btn.swiper-button-lock, #reference #reference-content .gallery .gallery-media .media-nav:has(.swiper-button-lock),
#reference #article-content .gallery .gallery-media .media-nav .btn.swiper-button-lock,
#reference #article-content .gallery .gallery-media .media-nav:has(.swiper-button-lock),
#article #reference-content .gallery .gallery-media .media-nav .btn.swiper-button-lock,
#article #reference-content .gallery .gallery-media .media-nav:has(.swiper-button-lock),
#article #article-content .gallery .gallery-media .media-nav .btn.swiper-button-lock,
#article #article-content .gallery .gallery-media .media-nav:has(.swiper-button-lock) {
  display: none;
}
#reference #reference-content .gallery .gallery-media .media-fig,
#reference #article-content .gallery .gallery-media .media-fig,
#article #reference-content .gallery .gallery-media .media-fig,
#article #article-content .gallery .gallery-media .media-fig {
  height: 100%;
}
#reference #reference-content .gallery .gallery-media .media-fig .media-legend,
#reference #article-content .gallery .gallery-media .media-fig .media-legend,
#article #reference-content .gallery .gallery-media .media-fig .media-legend,
#article #article-content .gallery .gallery-media .media-fig .media-legend {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0.625rem 1.25rem;
  font-style: italic;
  color: #ffffff;
}
#reference #reference-content .gallery .gallery-media .media-fig .media-legend::before,
#reference #article-content .gallery .gallery-media .media-fig .media-legend::before,
#article #reference-content .gallery .gallery-media .media-fig .media-legend::before,
#article #article-content .gallery .gallery-media .media-fig .media-legend::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #E30613;
  opacity: 0.5;
}
#reference #reference-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .overtitle {
  font-size: 0.75rem;
}
#reference #reference-content .gallery .heading + .overtitle,
#reference #article-content .gallery .heading + .overtitle,
#article #reference-content .gallery .heading + .overtitle,
#article #article-content .gallery .heading + .overtitle {
  margin-bottom: -0.625rem;
}
@media (min-width: 1200px) {
  #reference #reference-content .gallery .heading + .overtitle,
  #reference #article-content .gallery .heading + .overtitle,
  #article #reference-content .gallery .heading + .overtitle,
  #article #article-content .gallery .heading + .overtitle {
    margin-bottom: -1.875rem;
  }
}
#reference #reference-content .block-paragraph .heading:not(:has(span)),
#reference #article-content .block-paragraph .heading:not(:has(span)),
#article #reference-content .block-paragraph .heading:not(:has(span)),
#article #article-content .block-paragraph .heading:not(:has(span)) {
  color: #E30613;
}
#reference #reference-content .block-paragraph .paragraph-media .app-img,
#reference #article-content .block-paragraph .paragraph-media .app-img,
#article #reference-content .block-paragraph .paragraph-media .app-img,
#article #article-content .block-paragraph .paragraph-media .app-img {
  object-fit: contain;
  background: none;
}
@media (min-width: 1024px) {
  #reference #reference-content .block-paragraph,
  #reference #article-content .block-paragraph,
  #article #reference-content .block-paragraph,
  #article #article-content .block-paragraph {
    column-gap: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 1.5);
  }
  #reference #reference-content .block-paragraph .paragraph-media,
  #reference #article-content .block-paragraph .paragraph-media,
  #article #reference-content .block-paragraph .paragraph-media,
  #article #article-content .block-paragraph .paragraph-media {
    position: relative;
    place-items: unset;
    align-self: start;
    justify-items: center;
    min-height: 18.75rem;
  }
}

#job .detail .detail-content .content-paragraph ul li,
#job .paragraph .text ul li,
#job .card-content .text ul li,
#activity .detail .detail-content .content-paragraph ul li,
#activity .paragraph .text ul li,
#activity .card-content .text ul li,
#building .detail .detail-content .content-paragraph ul li,
#building .paragraph .text ul li,
#building .card-content .text ul li,
#reference .detail .detail-content .content-paragraph ul li,
#reference .paragraph .text ul li,
#reference .card-content .text ul li,
#regulations .detail .detail-content .content-paragraph ul li,
#regulations .paragraph .text ul li,
#regulations .card-content .text ul li,
#article .detail .detail-content .content-paragraph ul li,
#article .paragraph .text ul li,
#article .card-content .text ul li {
  width: 100%;
  list-style: none;
  min-height: 2.625rem;
  align-content: center;
  padding-left: 3.25rem;
  margin-left: 0;
  background: url("../icons/check-c75f579baa876f25c4a271f1d1a9fa82.svg") no-repeat left top/auto 2.625rem;
}

#activity .activities-boxes {
  gap: 0;
}
@media (min-width: 768px) {
  #activity .activities-boxes {
    grid-template-columns: 1fr 1fr;
  }
}
#activity .activities-boxes .activity-box {
  padding-inline: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 2);
}
#activity .activities-boxes .activity-box:not(:first-child) {
  border-left: 1px solid #ffffff;
}
@media (min-width: 768px) {
  #activity .activities-boxes .activity-box {
    justify-content: center;
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}
@media (min-width: 1200px) {
  #activity .activities-boxes .activity-box > svg,
  #activity .activities-boxes .activity-box img {
    width: 20%;
  }
}
@media (min-width: 1600px) {
  #activity .activities-boxes .activity-box > svg,
  #activity .activities-boxes .activity-box img {
    width: 15%;
  }
}

#activity #activity-back .btn {
  border: 0;
  margin-inline: auto;
}

body:has(main#activity) footer .deco-grid::after {
  display: none;
}

section:is(#confidentiality, #sitemap) {
  padding-top: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
  row-gap: 1.25rem;
  line-height: 1.7em;
}
section:is(#confidentiality, #sitemap) h1,
section:is(#confidentiality, #sitemap) h2,
section:is(#confidentiality, #sitemap) h3,
section:is(#confidentiality, #sitemap) h4,
section:is(#confidentiality, #sitemap) h5,
section:is(#confidentiality, #sitemap) h6 {
  font-weight: 700;
  font-size: 1.125rem;
}
section:is(#confidentiality, #sitemap) h1:not(:first-child),
section:is(#confidentiality, #sitemap) h2:not(:first-child),
section:is(#confidentiality, #sitemap) h3:not(:first-child),
section:is(#confidentiality, #sitemap) h4:not(:first-child),
section:is(#confidentiality, #sitemap) h5:not(:first-child),
section:is(#confidentiality, #sitemap) h6:not(:first-child) {
  margin-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
section:is(#confidentiality, #sitemap) h2,
section:is(#confidentiality, #sitemap) h3 {
  font-size: 1.25rem;
}
section:is(#confidentiality, #sitemap) h1 {
  font-size: 1.5rem;
}
section:is(#confidentiality, #sitemap) a {
  color: #E30613;
  font-weight: 600;
  display: inline-block;
  word-break: break-all;
}
section:is(#confidentiality, #sitemap) ul,
section:is(#confidentiality, #sitemap) ol {
  padding-left: 2.25em;
}
section:is(#confidentiality, #sitemap) ul > *,
section:is(#confidentiality, #sitemap) ol > * {
  min-width: 0;
}
section:is(#confidentiality, #sitemap) ul ul,
section:is(#confidentiality, #sitemap) ul ol,
section:is(#confidentiality, #sitemap) ol ul,
section:is(#confidentiality, #sitemap) ol ol {
  padding-block: 1rem 0.5rem;
}
section:is(#confidentiality, #sitemap) ul li {
  list-style: disc;
}
section:is(#confidentiality, #sitemap) ul li ul li {
  list-style: circle;
}
section:is(#confidentiality, #sitemap) ol li {
  list-style: decimal;
}

#error .page-header {
  padding-block: 10rem !important;
}
#error .page-header .overtitle {
  font-size: 1.125rem;
}
#error .page-header .btn {
  margin-inline: auto;
}

form {
  display: grid;
  row-gap: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
}
form fieldset {
  border: 0;
  display: grid;
  gap: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
form fieldset legend {
  color: #E30613;
  margin-bottom: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) + 0.75rem);
}
form fieldset > div > label {
  color: #E30613;
  font-weight: 700;
  font-size: 1.125rem;
  display: table;
  margin-bottom: 0.25rem;
}
@media (min-width: 1024px) {
  form fieldset > div > label {
    font-size: 1.25rem;
  }
}
form fieldset > div:has([required]) > label::after {
  content: "*";
}
@media (min-width: 768px) {
  form fieldset {
    grid-template-columns: 1fr 1fr;
  }
  form fieldset legend,
  form fieldset .full {
    grid-column: span 2;
  }
}
form small {
  opacity: 0.7;
  font-size: 0.625rem;
  line-height: 1.7em;
}
@media (min-width: 1024px) {
  form small {
    font-size: 0.75rem;
  }
}
form > button {
  margin-inline: auto;
  margin-top: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * -1);
}

.last-articles {
  display: grid;
  gap: 1.375rem;
  grid-auto-rows: 1fr;
}
.last-articles .app-card {
  grid-template-rows: unset;
  grid-template-columns: 35% auto;
}
.last-articles .app-card .card-media {
  aspect-ratio: unset;
}
.last-articles .app-card .card-media .card-icon {
  left: 0;
  right: unset;
  width: 2.5rem;
  padding: 0.625rem;
}
.last-articles .app-card .card-content {
  row-gap: 0.375rem;
  justify-content: center;
}
.last-articles .app-card .card-content .card-title {
  font-size: 0.875rem;
}
.last-articles .app-card .card-content .card-title + * {
  margin-top: 0;
}
.last-articles .app-card .card-content .card-text {
  font-size: 0.75rem;
}
@media (min-width: 768px) {
  .last-articles {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }
  .last-articles li:first-child {
    grid-row: span 2;
  }
  .last-articles li:first-child .app-card {
    grid-template-rows: auto 1fr;
    grid-template-columns: unset;
  }
  .last-articles li:first-child .app-card .card-media {
    aspect-ratio: 534/300;
  }
  .last-articles li:first-child .app-card .card-media .card-icon {
    left: unset;
    right: 0;
    width: 3.75rem;
    padding: 1rem;
  }
  .last-articles li:first-child .app-card .card-content {
    justify-content: start;
    padding-bottom: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) + 1.25rem);
  }
  .last-articles li:first-child .app-card .card-content .card-title {
    font-size: 1.25rem;
  }
  .last-articles li:first-child .app-card .card-content .card-text {
    font-size: 0.875rem;
  }
  .last-articles li:not(:first-child) .app-card .card-content {
    padding: min(2rem, clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
  }
}
@media (min-width: 1024px) {
  .last-articles {
    row-gap: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  }
  .last-articles .app-card .card-content {
    row-gap: 1rem;
  }
  .last-articles li:first-child .app-card .card-media .card-icon {
    width: 5.5rem;
    padding: 1.5rem;
  }
  .last-articles li:first-child .app-card .card-content .card-title {
    font-size: 1.25rem;
  }
  .last-articles li:not(:first-child) .app-card .card-media .card-icon {
    width: 3.75rem;
    padding: 1rem;
  }
  .last-articles li:not(:first-child) .app-card .card-content .card-title {
    font-size: 1.125rem;
  }
}
@media (min-width: 1200px) {
  .last-articles li:first-child .app-card .card-content .card-title {
    font-size: 1.5rem;
  }
  .last-articles li:not(:first-child) .app-card .card-content .card-title {
    font-size: 1.25rem;
  }
}
@media (min-width: 1600px) {
  .last-articles .app-card .card-content .card-text {
    font-size: 0.875rem;
  }
}

.reference-card {
  position: relative;
  color: #ffffff;
  aspect-ratio: 315/402;
  max-height: 28.75rem;
  margin-inline: auto;
  transition: scale 0.15s;
}
.reference-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background-image: linear-gradient(180deg, transparent 50%, #E30613);
}
.reference-card:active {
  scale: 0.95;
}
.reference-card .card-img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.reference-card .card-content {
  height: 100%;
  padding: min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem);
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: end;
}
.reference-card .card-content > *:not(.card-title) {
  display: none;
}
.reference-card .card-title {
  display: block;
  font-weight: 600;
  font-size: 1.125rem;
  margin-bottom: 0.5rem;
}
@media (min-width: 1200px) {
  .reference-card .card-title {
    font-size: clamp(1.25rem, 1.67vw, 1.5rem);
  }
}
.reference-card .card-label {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  margin: min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem);
  transition: color, background-color;
  transition-duration: 0.35s;
}
.reference-card .card-label ~ .card-content .tag, .reference-card .card-label ~ .card-content #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph .reference-card .card-label ~ .card-content .overtitle,
.reference-card .card-label ~ .card-content #reference #article-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .reference-card .card-label ~ .card-content .overtitle,
.reference-card .card-label ~ .card-content #article #reference-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .reference-card .card-label ~ .card-content .overtitle,
.reference-card .card-label ~ .card-content #article #article-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .reference-card .card-label ~ .card-content .overtitle {
  visibility: hidden;
}
@media (min-width: 1024px) {
  .reference-card {
    aspect-ratio: unset;
    max-height: none;
    overflow: hidden;
  }
  .reference-card::after,
  .reference-card .card-content {
    background-size: 100% 200%;
    transition: opacity, translate, background-position-y;
    transition-duration: 0.35s;
  }
  .reference-card .card-content {
    opacity: 0;
    translate: 0 0.3125rem;
  }
  .reference-card .card-content *:not(.card-title) {
    display: block;
  }
  .reference-card .card-img {
    will-change: transform;
    transition: scale 0.35s;
  }
  .reference-card:is(:hover, :active, :focus-within)::after {
    background-position-y: bottom;
  }
  .reference-card:is(:hover, :active, :focus-within) .card-content {
    opacity: 1;
    visibility: visible;
    translate: 0 0;
  }
  .reference-card:is(:hover, :active, :focus-within) .card-img {
    scale: 1.05;
  }
  .reference-card:is(:hover, :active, :focus-within) .card-label {
    color: #E30613;
    background-color: #ffffff;
  }
  .reference-card .tag, .reference-card #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph .reference-card .overtitle,
  .reference-card #reference #article-content .gallery .paragraph .overtitle,
  #reference #article-content .gallery .paragraph .reference-card .overtitle,
  .reference-card #article #reference-content .gallery .paragraph .overtitle,
  #article #reference-content .gallery .paragraph .reference-card .overtitle,
  .reference-card #article #article-content .gallery .paragraph .overtitle,
  #article #article-content .gallery .paragraph .reference-card .overtitle {
    margin-bottom: 0.875rem;
  }
  .reference-card .card-text {
    line-height: 1.5;
    margin-block: 0.5rem 1.25rem;
  }
}
@media (min-width: 1600px) {
  .reference-card {
    min-height: 28.75rem;
  }
}

.references-list {
  gap: 1.25rem;
}
@media (min-width: 480px) {
  .references-list {
    columns: 2;
  }
}
@media (min-width: 1024px) {
  .references-list {
    columns: 3;
  }
}
.references-list li:not(:last-child) {
  margin-bottom: 1.25rem;
}
.references-list li:not(:last-child).new-column {
  padding-top: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 2);
}
.references-list li:not(:last-child).new-column + .new-column {
  padding-top: 0;
}
.references-list .reference-card {
  display: grid;
  grid-template-areas: "card";
  max-height: none;
}
.references-list .reference-card .card-img {
  position: relative;
  grid-area: card;
}
.references-list .reference-card .card-content {
  grid-area: card;
}
.references-list .reference-card .card-content .tag, .references-list .reference-card .card-content #reference #reference-content .gallery .paragraph .overtitle, #reference #reference-content .gallery .paragraph .references-list .reference-card .card-content .overtitle,
.references-list .reference-card .card-content #reference #article-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .references-list .reference-card .card-content .overtitle,
.references-list .reference-card .card-content #article #reference-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .references-list .reference-card .card-content .overtitle,
.references-list .reference-card .card-content #article #article-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .references-list .reference-card .card-content .overtitle {
  margin-top: auto;
}
@media (min-width: 1024px) {
  .references-list .reference-card .card-content .card-text {
    margin-bottom: 0;
  }
}

.related-references .swiper-slide {
  height: auto;
}
.related-references .swiper-slide .reference-card {
  height: 100%;
}
.related-references .references-nav {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}
.related-references .references-nav:has(.swiper-button-lock) {
  display: none;
}
@media (min-width: 1024px) {
  .related-references {
    padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
    margin-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * -1);
    width: calc(100% + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * 2);
  }
  .related-references .swiper-slide.odd {
    margin-top: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
  }
  .related-references .swiper-slide.even {
    margin-bottom: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
  }
}

.related-activities {
  position: relative;
  margin-top: -1.25rem;
  width: calc(100% + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * 2);
  margin-left: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * -1);
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
.related-activities.deco-grid::after {
  display: none;
}
@media (min-width: 1024px) {
  .related-activities.deco-grid::after {
    display: block;
    top: -3.125rem;
    left: clamp(1.5rem, -1.317rem + 12.02vw, 9.5rem);
    translate: 0;
  }
}
@media (min-width: 1360px) {
  .related-activities {
    padding-inline: clamp(1.5rem, -1.317rem + 12.02vw, 9.5rem);
  }
  .related-activities.deco-grid::after {
    left: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}
.related-activities .swiper {
  position: static;
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) 2.5rem;
  width: calc(100% + 5rem);
  margin-left: -2.5rem;
}
.related-activities .swiper .swiper-slide {
  height: auto;
  transition: opacity 0.15s;
}
.related-activities .swiper .swiper-slide:not(.swiper-slide-visible) {
  opacity: 0;
}
.related-activities .app-card .card-media .card-icon {
  padding: 0.5rem;
}
.related-activities .app-card .tags-list {
  order: -1;
  margin-top: 0;
}
.related-activities .app-card .card-text {
  height: 100%;
}
.related-activities .app-card .btn {
  margin-top: auto;
  padding-inline: 1.25em;
}
@media (min-width: 768px) {
  .related-activities .app-card .btn {
    padding-inline: 2em;
  }
}
@media (min-width: 1024px) {
  .related-activities .app-card .btn {
    padding-inline: 1.25em;
  }
}
@media (min-width: 1200px) {
  .related-activities .app-card .btn {
    padding-inline: clamp(1.25rem, -2.35rem + 4.8vw, 2.45rem);
  }
}
.related-activities .activities-nav {
  display: flex;
  justify-content: center;
  margin-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
.related-activities .activities-nav:has(.swiper-button-lock) {
  display: none;
}
@media (min-width: 1024px) {
  .related-activities .activities-nav {
    position: absolute;
    right: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
    bottom: 100%;
    margin-block: 0 -0.625rem;
  }
}
@media (min-width: 1200px) {
  .related-activities .activities-nav {
    margin-right: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
}
@media (min-width: 1400px) {
  .related-activities .activities-nav {
    right: clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem);
  }
}

.activities-boxes {
  display: grid;
  grid-auto-rows: 1fr;
  gap: 1.25rem;
  grid-template-columns: 1fr 1fr;
}
.activities-boxes .activity-box {
  width: 100%;
  color: #686868;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) / 2.5);
  padding: 1.5rem 1rem;
  min-height: 7.5rem;
  transition: color, background-color;
  transition-duration: 0.15s;
}
.activities-boxes .activity-box > svg,
.activities-boxes .activity-box > img {
  width: 100%;
  max-width: min(75%, 6.25rem);
  height: 2.25rem;
  object-fit: contain;
  flex-shrink: 0;
}
.activities-boxes .activity-box > svg [stroke],
.activities-boxes .activity-box > svg [fill],
.activities-boxes .activity-box > img [stroke],
.activities-boxes .activity-box > img [fill] {
  transition: stroke, fill;
  transition-duration: 0.15s;
}
.activities-boxes .activity-box > svg [stroke="#E30613"],
.activities-boxes .activity-box > svg [stroke="#e30613"],
.activities-boxes .activity-box > img [stroke="#E30613"],
.activities-boxes .activity-box > img [stroke="#e30613"] {
  stroke: #ffffff;
}
.activities-boxes .activity-box > svg [stroke="#ffffff"],
.activities-boxes .activity-box > svg [stroke="#FFFFFF"],
.activities-boxes .activity-box > svg [stroke=white],
.activities-boxes .activity-box > img [stroke="#ffffff"],
.activities-boxes .activity-box > img [stroke="#FFFFFF"],
.activities-boxes .activity-box > img [stroke=white] {
  stroke: #E30613;
}
.activities-boxes .activity-box > svg [fill="#E30613"],
.activities-boxes .activity-box > svg [fill="#e30613"],
.activities-boxes .activity-box > img [fill="#E30613"],
.activities-boxes .activity-box > img [fill="#e30613"] {
  fill: #ffffff;
}
.activities-boxes .activity-box > svg [fill="$color-neutral-light"],
.activities-boxes .activity-box > svg [fill="#FFFFFF"],
.activities-boxes .activity-box > svg [fill=white],
.activities-boxes .activity-box > img [fill="$color-neutral-light"],
.activities-boxes .activity-box > img [fill="#FFFFFF"],
.activities-boxes .activity-box > img [fill=white] {
  fill: #E30613;
}
.activities-boxes .activity-box .activity-content {
  display: grid;
  gap: 0.3125rem;
}
.activities-boxes .activity-box .activity-title {
  font-weight: 700;
  width: min-content;
  text-transform: uppercase;
}
.activities-boxes .activity-box .activity-text {
  display: none;
}
.activities-boxes .activity-box.active, .activities-boxes .activity-box:is(:hover, :active) {
  color: #ffffff;
  background-color: #E30613;
}
.activities-boxes .activity-box.active > svg [stroke="#E30613"],
.activities-boxes .activity-box.active > svg [stroke="#e30613"], .activities-boxes .activity-box:is(:hover, :active) > svg [stroke="#E30613"],
.activities-boxes .activity-box:is(:hover, :active) > svg [stroke="#e30613"] {
  stroke: #E30613;
}
.activities-boxes .activity-box.active > svg [stroke="#ffffff"],
.activities-boxes .activity-box.active > svg [stroke="#FFFFFF"],
.activities-boxes .activity-box.active > svg [stroke=white], .activities-boxes .activity-box:is(:hover, :active) > svg [stroke="#ffffff"],
.activities-boxes .activity-box:is(:hover, :active) > svg [stroke="#FFFFFF"],
.activities-boxes .activity-box:is(:hover, :active) > svg [stroke=white] {
  stroke: #ffffff;
}
.activities-boxes .activity-box.active > svg [fill="#E30613"],
.activities-boxes .activity-box.active > svg [fill="#e30613"], .activities-boxes .activity-box:is(:hover, :active) > svg [fill="#E30613"],
.activities-boxes .activity-box:is(:hover, :active) > svg [fill="#e30613"] {
  fill: #E30613;
}
.activities-boxes .activity-box.active > svg [fill="$color-neutral-light"],
.activities-boxes .activity-box.active > svg [fill="#FFFFFF"],
.activities-boxes .activity-box.active > svg [fill=white], .activities-boxes .activity-box:is(:hover, :active) > svg [fill="$color-neutral-light"],
.activities-boxes .activity-box:is(:hover, :active) > svg [fill="#FFFFFF"],
.activities-boxes .activity-box:is(:hover, :active) > svg [fill=white] {
  fill: #ffffff;
}
.activities-boxes .activity-box:active {
  background-color: #f0636d;
}
.activities-boxes .activity-box:active > svg [stroke="#E30613"],
.activities-boxes .activity-box:active > svg [stroke="#e30613"] {
  stroke: #f0636d;
}
.activities-boxes .activity-box:active > svg [fill="#E30613"],
.activities-boxes .activity-box:active > svg [fill="#e30613"] {
  fill: #f0636d;
}
@media (min-width: 480px) {
  .activities-boxes .activity-box .activity-title {
    width: auto;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .activities-boxes .activity-box {
    padding: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  }
  .activities-boxes .activity-box > svg,
  .activities-boxes .activity-box > img {
    height: 3.125rem;
  }
  .activities-boxes .activity-box .activity-title {
    font-size: 1rem;
  }
  .activities-boxes .activity-box .activity-text {
    display: block;
  }
}
@media (min-width: 1024px) {
  .activities-boxes .activity-box {
    flex-direction: row;
    text-align: left;
    gap: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) / 2.5);
  }
  .activities-boxes .activity-box > svg,
  .activities-boxes .activity-box > img {
    width: 30%;
    max-width: none;
    height: auto;
    max-height: 4.75rem;
  }
  .activities-boxes .activity-box .activity-content {
    gap: 0.625rem;
  }
  .activities-boxes .activity-box .activity-title {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .activities-boxes {
    gap: 2.5rem;
  }
  .activities-boxes .activity-box .activity-content {
    gap: 1rem;
  }
}
@media (min-width: 1600px) {
  .activities-boxes .activity-box > svg,
  .activities-boxes .activity-box > img {
    max-height: 5.625rem;
  }
}

.jobs-list {
  display: grid;
  gap: clamp(1.125rem, -0.208rem + 2.78vw, 1.875rem);
  grid-template-columns: repeat(auto-fill, minmax(clamp(15.625rem, -3.125rem + 25vw, 21.875rem), 1fr));
}
.jobs-list .app-card .card-content {
  height: 100%;
}

.jobs-list.list-related {
  --listCols: 1;
  grid-template-columns: repeat(var(--listCols), 1fr);
}
@media (min-width: 768px) {
  .jobs-list.list-related {
    --listCols: 4;
  }
  .jobs-list.list-related li {
    grid-column: span 2;
  }
  .jobs-list.list-related li:nth-child(3) {
    grid-column: 2/4;
  }
}
@media (min-width: 1024px) {
  .jobs-list.list-related {
    --listCols: 3;
  }
  .jobs-list.list-related li,
  .jobs-list.list-related li:nth-child(3) {
    grid-column: auto;
  }
}

.pagination {
  margin-inline: auto;
  margin-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  padding-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.125rem;
  position: relative;
}
.pagination::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #E30613;
  opacity: 0.3;
}
.pagination .pagination__item {
  font-weight: 700;
  opacity: 0.5;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 1.5rem;
  aspect-ratio: 1/1;
}
.pagination .pagination__item--current-page {
  opacity: 1;
  color: #E30613;
}
.pagination .pagination__item--disabled {
  opacity: 0.25;
  cursor: not-allowed;
}
.pagination .pagination__item svg {
  width: 1rem;
  flex-shrink: 0;
}
.pagination .pagination__item:first-child {
  font-size: 0;
  font-weight: 600;
  margin-right: auto;
  padding-right: 1rem;
}
.pagination .pagination__item:first-child svg {
  rotate: 90deg;
}
.pagination .pagination__item:last-child {
  font-size: 0;
  font-weight: 600;
  margin-left: auto;
  padding-left: 1rem;
}
.pagination .pagination__item:last-child svg {
  rotate: -90deg;
}
@media (min-width: 1024px) {
  .pagination {
    column-gap: 0.875rem;
  }
  .pagination .pagination__item {
    height: 1.875rem;
    font-size: 1.25rem !important;
    column-gap: 0.625rem;
    transition: color 0.15s, opacity 0.15s;
  }
  .pagination .pagination__item:first-child, .pagination .pagination__item:last-child {
    aspect-ratio: unset;
  }
  .pagination .pagination__item:is(a):hover,
  .pagination .pagination__item:is(a) :active {
    color: #E30613;
    opacity: 0.6;
  }
  .pagination .pagination__item:is(a):active {
    opacity: 0.33;
  }
}

.swiper-pagination {
  display: flex;
  column-gap: 0.625rem;
}
.swiper-pagination-lock {
  display: none;
}
.swiper-pagination .swiper-pagination-bullet {
  cursor: pointer;
  width: 0.9375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #d9d9d9;
  transition: opacity, background-color;
  transition-duration: 0.15s;
}
.swiper-pagination .swiper-pagination-bullet-active {
  background-color: #E30613 !important;
}
.swiper-pagination .swiper-pagination-bullet:active {
  opacity: 0.6;
}
@media (min-width: 1024px) {
  .swiper-pagination .swiper-pagination-bullet:is(:hover, :active) {
    background-color: #8c8c8c;
  }
}

.breadcrumb {
  color: #686868;
}
.breadcrumb a,
.breadcrumb span {
  line-height: 1.3em;
  margin-inline: 0.125rem;
}
.breadcrumb a:first-child,
.breadcrumb span:first-child {
  margin-left: 0;
}
.breadcrumb span {
  font-weight: 500;
  color: #E30613;
}

.btn {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  width: fit-content;
  min-height: 3.125rem;
  padding: 0.85em 2.45em;
  align-content: center;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #E30613;
  transition: background-color, color, opacity, font-weight;
  transition-duration: 0.15s;
}
.btn svg {
  width: 0.9em;
  flex-shrink: 0;
}
.btn-xs {
  min-height: 2.875rem;
  letter-spacing: initial;
  padding-inline: 2.5rem;
}
.btn-square, .btn-video {
  padding: 0;
  aspect-ratio: 1;
  height: 3.625rem;
  display: grid;
  place-items: center;
}
.btn-square svg, .btn-video svg {
  width: 29%;
}
.btn-secondary {
  color: #686868;
  background-color: #ffffff;
}
.btn-tertiary {
  color: #E30613;
  border: 1px solid #E30613;
  background-color: #ffffff;
}
.btn-video {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
  border-radius: 50%;
}
.btn-video svg {
  width: 1.6em;
  margin-top: 1px;
  margin-right: -2px;
}
.btn:active {
  opacity: 0.75;
}
.btn:active.btn-secondary {
  opacity: 0.6;
}
@media (min-width: 480px) {
  .btn {
    font-size: 0.875rem;
  }
}
@media (min-width: 1024px) {
  .btn-square, .btn-video {
    height: 4rem;
  }
  .btn:is(:hover, :active) {
    background-color: #8c030b;
  }
  .btn:is(:hover, :active).btn-secondary {
    background-color: #d1d3d6;
  }
  .btn:is(:hover, :active, :focus-visible).btn-tertiary {
    color: #ffffff;
    background-color: #E30613;
  }
}

.link, .checkbox-element label a, .text a:not(.btn),
.text > div a:not(.btn), section:is(#confidentiality, #sitemap) a {
  text-decoration: underline transparent;
  transition: text-decoration-color, opacity, color;
  transition-duration: 0.15s;
}
.link:is(:hover, :active), .checkbox-element label a:is(:hover, :active), .text a:is(:hover, :active):not(.btn), section:is(#confidentiality, #sitemap) a:is(:hover, :active) {
  text-decoration-color: currentColor;
}
.link:active, .checkbox-element label a:active, .text a:active:not(.btn), section:is(#confidentiality, #sitemap) a:active {
  opacity: 0.6;
}
.link-secondary, .checkbox-element label a, .text a:not(.btn),
.text > div a:not(.btn) {
  text-decoration-color: currentColor;
}
.link-secondary:is(:hover, :active), .checkbox-element label a:is(:hover, :active), .text a:is(:hover, :active):not(.btn) {
  color: #f0636d;
}

.link-group {
  cursor: pointer;
  position: relative;
}
.link-group a[href]:first-of-type::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
}

#alerts {
  position: fixed;
  z-index: 999;
  top: calc(7.125rem + clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem));
  right: 0;
  display: grid;
  justify-items: end;
  row-gap: 0.75rem;
}
#alerts:not(:has(*)) {
  display: none;
}
#alerts .alert {
  position: relative;
  max-width: min(37.5rem, 100vw - clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 2);
  min-width: 18.75rem;
  font-weight: 600;
  padding: 1.125rem 1.75rem;
  color: #E30613;
  background-color: #ffffff;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  border-radius: 0.25rem;
  transition: opacity 0.5s;
}
#alerts .alert::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  color: inherit;
  border-bottom: 0.125rem solid;
  width: 100%;
  scale: 0 1;
  transform-origin: left;
  animation: alert-progress 2s forwards;
}
@keyframes alert-progress {
  to {
    scale: 1 1;
  }
}
#alerts .alert.alert-danger {
  color: #de3e3e;
}
#alerts .alert.alert-success {
  color: #3cb371;
}
@media (min-width: 1024px) {
  #alerts .alert {
    padding: 1.25rem 2.375rem;
  }
}

.tabs .tab-content {
  transition: opacity, visibility, translate;
  transition-duration: 0.35s;
}
.tabs .tab-content:not(.active) {
  opacity: 0;
  visibility: hidden;
  translate: 0.5rem 0;
}
.tabs .tab-content.active ~ .tab-content {
  translate: -0.5rem 0;
}

.marquee {
  --marqueeGap: clamp(1.875rem, 1.153rem + 3.08vw, 3.125rem);
  overflow: hidden;
}
.marquee .marquee-wrapper,
.marquee .marquee-list {
  display: flex;
  align-items: center;
  column-gap: var(--marqueeGap);
  width: max-content;
}
.marquee .marquee-wrapper {
  min-width: 100%;
  justify-content: center;
}
.marquee .marquee-wrapper.animate {
  animation: slide calc(2s * var(--nb, 8)) infinite linear;
}
.marquee .marquee-item {
  flex-shrink: 0;
}
@keyframes slide {
  from {
    translate: 0 0;
  }
  to {
    translate: calc(-50% - var(--marqueeGap) / 2) 0;
  }
}

.accordion > .accordion-btn {
  --iconSize: 1rem;
  --iconBgSize: calc(var(--iconSize) * 2.5);
  color: inherit;
  width: 100%;
  text-align: left;
  position: relative;
  padding-right: var(--iconBgSize);
}
.accordion > .accordion-btn::before, .accordion > .accordion-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  aspect-ratio: 1;
}
.accordion > .accordion-btn::before {
  z-index: 1;
  width: var(--iconBgSize);
  border-radius: 50%;
  translate: calc(var(--iconBgSize) / 2 - var(--iconSize) / 2) -50%;
  background-color: #f6f1f2;
  opacity: 0;
  transition: opacity 0.35s;
}
.accordion > .accordion-btn::after {
  z-index: 2;
  width: var(--iconSize);
  scale: 1 1.15;
  opacity: 0.6;
  translate: 0 -50%;
  margin-top: 1px;
  background: url("../icons/chevron-down-4c5dc17407bbfe2108908cc245efc49f.svg") no-repeat center/contain;
  transition: rotate 0.35s;
}
@media (min-width: 1024px) {
  .accordion > .accordion-btn:is(:hover, :active)::before {
    opacity: 1;
  }
}
.accordion > .accordion-btn * {
  user-select: none;
  pointer-events: none;
}
.accordion > .accordion-btn .btn-close {
  display: none;
}
.accordion > .accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: grid-template-rows, visibility, opacity;
  transition-duration: 0.35s;
}
.accordion > .accordion-content .accordion-content-wrapper {
  min-height: 0;
}
.accordion.open > .accordion-btn::after {
  rotate: -180deg;
}
.accordion.open > .accordion-btn .btn-open {
  display: none;
}
.accordion.open > .accordion-btn .btn-close {
  display: block;
}
.accordion.open > .accordion-content {
  opacity: 1;
  visibility: visible;
  grid-template-rows: 1fr;
}

.input, .checkbox-element, .input-file, form fieldset input:not([type=checkbox], [type=radio]),
form fieldset select,
form fieldset textarea {
  --inputPadding: 1.125rem;
  display: block;
  color: #686868;
  font: inherit;
  width: 100%;
  max-width: none;
  height: 3.75rem;
  padding: 0 var(--inputPadding);
  outline: 0;
  border: 1px solid #d9d9d9;
  background-color: #ffffff;
  transition: border-color, box-shadow;
  transition-duration: 0.15s;
}
.input:focus, .checkbox-element:focus, .input-file:focus, form fieldset input:focus:not([type=checkbox], [type=radio]),
form fieldset select:focus,
form fieldset textarea:focus, .input:focus-within, .checkbox-element:focus-within, .input-file:focus-within, form fieldset input:focus-within:not([type=checkbox], [type=radio]),
form fieldset select:focus-within,
form fieldset textarea:focus-within {
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
  border-color: #E30613;
}
.input:is(select), .checkbox-element:is(select), .input-file:is(select), form fieldset input:is(select):not([type=checkbox], [type=radio]),
form fieldset select:is(select),
form fieldset textarea:is(select) {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("../icons/select-arrow-ba0c2599a73f36f116ab44b350a0605e.svg");
  background-repeat: no-repeat;
  background-size: 0.5rem;
  background-position: calc(100% - var(--inputPadding) - 0.25rem) calc(50% + 1px);
}
.input:is(textarea), .checkbox-element:is(textarea), .input-file:is(textarea), form fieldset input:is(textarea):not([type=checkbox], [type=radio]),
form fieldset select:is(textarea),
form fieldset textarea:is(textarea) {
  resize: vertical;
  min-height: 10.25rem;
  padding-block: var(--inputPadding);
}
@media (min-width: 1024px) {
  .input:hover:not(:focus):not(:focus-within), .checkbox-element:hover:not(:focus):not(:focus-within), .input-file:hover:not(:focus):not(:focus-within), form fieldset input:hover:not(:focus):not(:focus-within):not([type=checkbox], [type=radio]),
  form fieldset select:hover:not(:focus):not(:focus-within),
  form fieldset textarea:hover:not(:focus):not(:focus-within) {
    border-color: #8c8c8c;
  }
}
@media (min-width: 1200px) {
  .input, .checkbox-element, .input-file, form fieldset input:not([type=checkbox], [type=radio]),
  form fieldset select,
  form fieldset textarea {
    --inputPadding: 1.5rem;
    height: 4.375rem;
  }
}
.input.error, .error.checkbox-element, .error.input-file, form fieldset input.error:not([type=checkbox], [type=radio]),
form fieldset select.error,
form fieldset textarea.error {
  border-color: red;
}
@media (min-width: 1024px) {
  .input.error:hover:not(:focus):not(:focus-within), .error.checkbox-element:hover:not(:focus):not(:focus-within), .error.input-file:hover:not(:focus):not(:focus-within), form fieldset input.error:hover:not(:focus):not(:focus-within):not([type=checkbox], [type=radio]),
  form fieldset select.error:hover:not(:focus):not(:focus-within),
  form fieldset textarea.error:hover:not(:focus):not(:focus-within) {
    border-color: red;
  }
}

.input-file {
  position: relative;
  height: auto;
  padding: 0;
}
.input-file input {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100% !important;
  opacity: 0;
  cursor: pointer;
}
.input-file .input-file-overlay {
  text-align: center;
  align-content: center;
  padding: 2.5rem clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
}
.input-file .input-file-overlay .overlay-title {
  font-weight: 700;
  font-size: 1.125rem;
}
@media (min-width: 1024px) {
  .input-file .input-file-overlay .overlay-title {
    font-size: 1.25rem;
  }
}
.input-file .input-file-overlay .overlay-title + * {
  margin-top: 0.875rem;
}
.input-file .input-file-overlay .overlay-text {
  color: #E30613;
  text-decoration: underline;
}

.input-file-error {
  margin-top: 20px;
  color: red;
}

.checkbox-element {
  display: flex;
  align-items: center;
  border: 0 !important;
  box-shadow: none !important;
  width: 100%;
}
.checkbox-element label {
  font-weight: 400;
  font-size: 0.75rem;
  color: #E30613;
  margin-bottom: 0;
  padding-left: 0.625rem;
  cursor: pointer;
  user-select: none;
  transition: opacity;
  transition-duration: 0.15s;
}
.checkbox-element label::after {
  content: unset;
}
.checkbox-element input[type=checkbox] {
  width: 1.125rem;
  aspect-ratio: 1;
  cursor: pointer;
  appearance: none;
  border: 1px solid #E30613;
  background-color: #ffffff;
  opacity: 0.5;
  position: relative;
  transition: opacity, background-color;
  transition-duration: 0.15s;
}
.checkbox-element input[type=checkbox]::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 1;
  background: url("../icons/check-c75f579baa876f25c4a271f1d1a9fa82.svg") no-repeat center/cover;
  opacity: 0;
  transition: inherit;
  transition-duration: inherit;
}
.checkbox-element input[type=checkbox]:checked, .checkbox-element input[type=checkbox]:checked::after {
  opacity: 1;
}
.checkbox-element:not(:has(a:active)) label:active,
.checkbox-element:not(:has(a:active)) input[type=checkbox]:active, .checkbox-element:not(:has(a:active)):has(label:active) input[type=checkbox] {
  opacity: 0.6 !important;
}
.checkbox-element.checkbox-round input[type=checkbox] {
  border-radius: 50%;
}
@media (min-width: 480px) {
  .checkbox-element {
    width: fit-content;
  }
}
@media (min-width: 1024px) {
  .checkbox-element label {
    font-size: 0.875rem;
    padding-left: 0.9375rem;
  }
  .checkbox-element input[type=checkbox] {
    width: 1.375rem;
  }
  .checkbox-element input[type=checkbox]:hover {
    opacity: 1;
    background-color: #f6f1f2;
  }
}

.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.875rem;
}

.tag, #reference #reference-content .gallery .paragraph .overtitle,
#reference #article-content .gallery .paragraph .overtitle,
#article #reference-content .gallery .paragraph .overtitle,
#article #article-content .gallery .paragraph .overtitle {
  max-width: fit-content;
  height: 1.875rem;
  align-content: center;
  padding-inline: 1.125rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: #ffffff;
  background-color: #E30613;
}
.tag-secondary {
  color: #E30613;
  background-color: #ffffff;
}
.tag-tertiary {
  color: #E30613;
  background-color: #f7ccd0;
}
.tag-icon {
  padding: 0;
  font-weight: 700;
  color: #E30613;
  background-color: unset;
  display: flex;
  align-items: center;
}
.tag-icon svg {
  width: 1.5rem;
  margin-right: 0.625rem;
}

.filters {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  overflow: auto;
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  padding-bottom: 1.25rem;
  width: calc(100% + clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * 2);
  margin-left: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) * -1);
}
.filters .btn {
  max-width: 15rem;
  text-align: center;
  white-space: nowrap;
  justify-content: center;
  font-size: 0.75rem;
  text-transform: unset;
  padding-inline: 1.5rem;
}
@media (min-width: 768px) {
  .filters {
    width: 100%;
    margin-left: 0;
    padding-inline: 0;
    overflow: initial;
    flex-wrap: wrap;
    justify-content: center;
  }
  .filters .btn {
    padding-inline: 2rem;
  }
}

.popup {
  position: fixed;
  inset: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
.popup[aria-hidden=true] {
  opacity: 0;
  visibility: hidden;
}
.popup[aria-hidden=true] .container, .popup[aria-hidden=true] section:is(#confidentiality, #sitemap) {
  translate: 0 1.25rem;
}
.popup::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: #8c030b;
  opacity: 0.5;
}
.popup .container, .popup section:is(#confidentiality, #sitemap) {
  position: relative;
  width: 100%;
  max-width: calc(80rem + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) * 2);
}
.popup .container .popup-close, .popup section:is(#confidentiality, #sitemap) .popup-close {
  position: absolute;
  top: 0;
  right: clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem);
  translate: 50% -50%;
  display: grid;
  place-items: center;
  width: 1.875rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #ffffff;
  transition: background-color 0.15s;
}
.popup .container .popup-close svg, .popup section:is(#confidentiality, #sitemap) .popup-close svg {
  width: 1rem;
}
.popup .container .popup-close:active, .popup section:is(#confidentiality, #sitemap) .popup-close:active {
  background-color: #8c8c8c;
}
@media (min-width: 1024px) {
  .popup .container .popup-close:hover:not(:active), .popup section:is(#confidentiality, #sitemap) .popup-close:hover:not(:active) {
    background-color: #d9d9d9;
  }
}
.popup .container iframe, .popup section:is(#confidentiality, #sitemap) iframe {
  width: 100%;
  height: auto;
  max-height: 70vh;
  aspect-ratio: 16/9;
  background-color: #d1d3d6;
}

.loaded .popup {
  transition: opacity, visibility;
  transition-duration: 0.35s;
}
.loaded .popup .container, .loaded .popup section:is(#confidentiality, #sitemap) {
  transition: translate;
  transition-duration: inherit;
}

.certification {
  position: relative;
  background-color: #ffffff;
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 3.125rem);
}
.certification + .certification {
  margin-top: min(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem), 2.125rem);
}
.certification .certification-content > * {
  display: block;
  margin-top: 0.875rem;
  font-size: 0.75rem;
}
.certification .certification-content > *.link, .certification .text .certification-content > a:not(.btn), .text .certification .certification-content > a:not(.btn), .certification section:is(#confidentiality, #sitemap) .certification-content > a, section:is(#confidentiality, #sitemap) .certification .certification-content > a, .certification .checkbox-element label .certification-content > a, .checkbox-element label .certification .certification-content > a {
  letter-spacing: 0.25rem;
  color: #686868;
}
.certification .certification-content > *.link svg, .certification .text .certification-content > a:not(.btn) svg, .text .certification .certification-content > a:not(.btn) svg, .certification section:is(#confidentiality, #sitemap) .certification-content > a svg, section:is(#confidentiality, #sitemap) .certification .certification-content > a svg, .certification .checkbox-element label .certification-content > a svg, .checkbox-element label .certification .certification-content > a svg {
  margin-bottom: -1px;
}
.certification .accordion .accordion-btn {
  font-weight: 700;
  font-size: 0.875rem;
  color: #E30613;
}
@media (min-width: 480px) {
  .certification .accordion .accordion-btn {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .certification .accordion .accordion-btn {
    font-size: 1.125rem;
  }
}
@media (min-width: 1024px) {
  .certification .accordion .accordion-btn {
    font-size: 1.25rem;
  }
}
@media (min-width: 1200px) {
  .certification .accordion .accordion-btn {
    font-size: 1.5rem;
  }
}
@media (min-width: 480px) {
  .certification .certification-content > * {
    margin-top: 1.25rem;
    font-size: 0.875rem;
  }
  .certification .certification-content > *:not(.link) {
    max-width: 90%;
  }
}
@media (min-width: 768px) {
  .certification,
  .certification .accordion {
    padding-block: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) / 2);
  }
}
.certification:has(.certification-img) {
  display: grid;
  align-items: start;
  gap: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) / 1.8);
  grid-template-columns: auto 1fr;
}
.certification:has(.certification-img) .certification-img {
  width: 100%;
  height: 2.25rem;
  object-fit: contain;
  aspect-ratio: 1;
}
@media (min-width: 480px) {
  .certification:has(.certification-img) {
    gap: calc(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem) / 1.5);
  }
  .certification:has(.certification-img) .certification-img {
    will-change: height;
    transition: height 0.35s;
  }
  .certification:has(.certification-img):has(.accordion.open) .certification-img {
    height: 5.5rem;
  }
}
@media (min-width: 768px) {
  .certification:has(.certification-img) {
    align-items: center;
  }
  .certification:has(.certification-img) .certification-img {
    height: 3.75rem;
  }
  .certification:has(.certification-img):has(.accordion.open) .certification-img {
    height: 6rem;
  }
}
@media (min-width: 1200px) {
  .certification:has(.certification-img) {
    gap: min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 3.125rem);
  }
  .certification:has(.certification-img):has(.accordion.open) .certification-img {
    height: 7.125rem;
  }
}
@media (min-width: 1600px) {
  .certification:has(.certification-img) .certification-img {
    height: 4.5rem;
  }
}

.cc-nb-main-container .cc-nb-okagree, .cc-nb-main-container .cc-nb-reject {
  background-color: #E30613 !important;
  color: #ffffff !important;
}

.cc-pc-container .cc-cp-foot-save {
  background-color: #E30613 !important;
  color: #ffffff !important;
}
.cc-pc-container .cc-custom-checkbox input:checked + label:before {
  background-color: #E30613 !important;
}
.cc-pc-container .cc-pc-head-lang-select:focus {
  box-shadow: 0 0 0 2px #E30613 !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../assets/styles/base/_reset.scss%22,%22../../assets/styles/base/_typography.scss%22,%22../../assets/styles/base/_base.scss%22,%22../../assets/styles/base/_config.scss%22,%22../../assets/styles/layout/_base.scss%22,%22../../assets/styles/layout/_footer.scss%22,%22../../assets/styles/layout/_header.scss%22,%22../../assets/styles/layout/_paragraph.scss%22,%22../../assets/styles/layout/_pageHeader.scss%22,%22../../assets/styles/layout/_appCard.scss%22,%22../../assets/styles/layout/_appGrid.scss%22,%22../../assets/styles/layout/_banner.scss%22,%22../../assets/styles/layout/_detail.scss%22,%22../../assets/styles/pages/_homepage.scss%22,%22../../assets/styles/pages/_about.scss%22,%22../../assets/styles/pages/_jobs.scss%22,%22../../assets/styles/pages/_contact.scss%22,%22../../assets/styles/pages/_listsPages.scss%22,%22../../assets/styles/pages/_articlesPages.scss%22,%22../../assets/styles/pages/_detailsPages.scss%22,%22../../assets/styles/pages/_otherPages.scss%22,%22../../assets/styles/pages/_errors.scss%22,%22../../assets/styles/forms/_base.scss%22,%22../../assets/styles/components/article/_lastArticles.scss%22,%22../../assets/styles/components/reference/_card.scss%22,%22../../assets/styles/components/reference/_list.scss%22,%22../../assets/styles/components/reference/_relatedReferences.scss%22,%22../../assets/styles/components/activity/_relatedActivities.scss%22,%22../../assets/styles/components/activity/_boxes.scss%22,%22../../assets/styles/components/jobOffer/_list.scss%22,%22../../assets/styles/components/jobOffer/_relatedJobOffer.scss%22,%22../../assets/styles/components/_pagination.scss%22,%22../../assets/styles/components/_breadcrumb.scss%22,%22../../assets/styles/components/_buttons.scss%22,%22../../assets/styles/components/_links.scss%22,%22../../assets/styles/components/_alerts.scss%22,%22../../assets/styles/components/_tabs.scss%22,%22../../assets/styles/components/_marquee.scss%22,%22../../assets/styles/components/_accordion.scss%22,%22../../assets/styles/components/_inputs.scss%22,%22../../assets/styles/components/_tags.scss%22,%22../../assets/styles/components/_filters.scss%22,%22../../assets/styles/components/_popup.scss%22,%22../../assets/styles/components/_certification.scss%22,%22../../assets/styles/_cookieconsent.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%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IACA;IACA;IACA;IACA;IACA;IACA,OHvOe;IGwOf,kBHlOmB;;EGoOnB;IACC;;EAIA;IACC;;EAED;IACC;;EAGD;IACC,OHjPiB;IGkPjB,kBH5PW;;EGgQb;IAEC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,YATU;IAUV;IACA;IACA,kBHnQkB;IGoQlB,YHzNU;IG0NV;IACA,qBHlOY;;EGoOZ;IACC;IACA;IACA;IACA;IACA;IACA,QAvBS;;EAyBV;IACC;IACA;IACA;IACA;IACA;IACA;IACA;;EAGD;IACC,WHhQI;IGiQJ;IACA;IACA;;EAEA;IACC;IACA,mBH5SU;;EG+SX;IACC,OHhTU;IGiTV,kBHzSU;;EG8Sb;IACC;IACA;IACA;IACA;;;;ACpVJ;EACC,WJ6DQ;EI5DR;EACA;;AJEA;EILD;IAME,WJyDO;;;;AItDT;EACC;EACA;EACA,WJwDc;EIvDd,OJiBiB;;AIfjB;EACC,OJUc;;;AIPhB;EACC;EACA;EACA,WJ+CY;EI9CZ,OJOiB;;AILjB;EACC;;;AAGF;AAAA;EAEC;EACA;EACA;EACA,OJHuB;;AIKvB;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EAEC,OJZgB;EIahB;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGF;AAAA;EACC;;AAED;AAAA;EACC;;AAQF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AJpED;EImEA;IAIE;;;AAGD;EACC;EACA;;AAIF;EACC;EACA;EACA;;AJ9ED;EIkFC;IACC;;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA,KJxDoB;EIyDpB;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AJjHH;EI6FD;IA0BE;IACA;;EAGC;IACC;;EAED;AAAA;IAEC;;EAKD;IACC;;EAGD;IACC;IACA;IACA;;EAEA;IACC;IACA;IACA;;EAEA;IACC;IACA;IACA;IACA;;EAED;IACC;IACA;IACA;IACA;;EAIH;IAEC;IACA;IACA;;EAEA;IACC;IACA;;EAED;IACC;;EAED;IACC;IACA;IACA;IACA;;EAGF;IAEC;;;AJlLH;EIuLC;IACC;;EAEA;IACC;;EAGD;IACC;;;AJ1LH;EI+LC;AAAA;AAAA;IAKC;IACA;;;;ACzNH;EACC;EACA;EACA,gBL+CiB;;AK7CjB;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAGD;EACC;;AAEA;EACC;;AAGD;EACC,OLFa;;AKId;EACC;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;EACA;;ALrCH;EKiCE;IAOE;;;AAMJ;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,OLnCa;EKoCb;EACA;;ALrDF;EK0DG;IACC;;;AAMJ;EACC;EACA;EACA;EACA;;AAEA;EACC;;ALnEF;EK4DA;IAWE;;EAEA;IACC;IACA;;;AAIF;EACC,OL3DmB;EK4DnB;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAEA;EACC;;AAGD;AAAA;EAEC,OLjFkB;;AKmFnB;EACC,OLvFuB;;AK2FzB;EACC,OLzFmB;;AK2FnB;EACC,MLlGc;;AKsGhB;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAMD;EACC;EACA;EACA;;;ACzJH;EACC;EACA;EACA;EACA;EACA,YNuEQ;;AMrER;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA,ONQmB;EMPnB,kBNHa;;AMOf;EACC,SNqBoB;EMpBpB,kBNCoB;EMApB;EACA;EACA;EACA;;AAEA;EACC;EACA,ONjBa;;AMoBd;EACC;EACA,WNkBQ;EMjBR;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAQF;EACC;EACA;EACA,WNrBM;;AApDR;EMVD;IAwFE;IACA,qBNjBc;;EMmBd;IACC;IACA,YNfa;;EMiBb;IACC,ONtEY;;EMyEd;IACC;;EAGD;IACC;IACA;;EAGD;IACC,WN1CQ;;;;AOnEX;EACC;EACA;EACA;;APEA;EOLD;IAME;IACA;;;APGD;EOVD;IAUE;;;APUD;EOpBD;IAaE;;;;ACbF;EACC,YR2EQ;EQ1ER;EACA,kBRiCqB;;AQ/BrB;EACC;;ARID;EQLA;IAIE;IACA;IACA;IACA;IACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAEA;EACC,WRiCQ;;AQ/BT;EACC;;ARhCF;EQqCC;IACC;IACA;IACA;;EAED;IACC;IACA;;EAEA;IACC;;;AR1CH;EQ+CC;IACC;;EAGD;IACC;IACA,cRbe;;EQef;IACC;;EAED;IACC;;;ARtDH;EQ2DC;IACC;;;;AC3EH;EACC;EACA;;ATQA;ESVD;IAKE;;EAEA;IACC;IACA;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA,WTuCQ;EStCR,OTFa;;ASId;EACC;;AAEA;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;ATtCH;ESmCE;IAME;;;AAIH;EACC;EACA;;AT/CF;ES6CC;IAKE;;;AT7CH;ESwCC;IAQE;;;AT3CH;ESmCC;IAWE;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA,kBTlCkB;ESmClB;;AAEA;EACC;EACA,OTjDW;ESkDX;;AAEA;EACC;;AAGD;EACC;;AACA;EACC;;AAKH;EACC;EACA,WT5BI;ES6BJ;EACA,OTpEW;ESqEX;;ATrFJ;ESGA;IAwFE;;EAEA;IACC,WTrCO;;;AS2CT;EACC;;AT/GF;ES8GC;IAIE;IACA;IACA;IACA;IACA;;;AAIF;EACC;EACA;EACA;EACA,kBT1FmB;;AS4FnB;EACC,eT1EkB;;AS6EnB;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA,OT7GsB;;ASgHvB;EACC;EACA;EACA,WTjFO;;ASmFP;EACC,OT5HW;;ASgIb;EACC,WT7FK;ES8FL;EACA,OT9HoB;;ASgIpB;EACC;EACA;EACA;EACA;EACA,WTrGI;ESsGJ;;AAEA;EACC;EACA;EACA;EACA;;AAGD;EACC,OTrJU;;AS0Jb;EACC;;AAEA;EACC;;AAGF;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;EACC;;AT9LH;ES6LE;IAIE,WT7II;;;AA/CR;ESwLE;IAOE,WT/II;;;ASoJL;EACC;EACA;EACA;EACA;;AAGD;EACC,WT7JI;;ASiKN;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA,OTtNY;ESuNZ;EACA;EACA;EACA,qBT5KY;;AS8KZ;EACC;EACA;;AAEA;EACC;;AAED;EACC;;AACA;EACC;;AAKH;EACC;;AT5PJ;ES+PI;IACC,OT5OY;IS6OZ;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AT3RL;ESyRI;IAKE,WT7OE;;;ASiPJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;ATtTN;ESgUM;IACC;;EAED;IACC,OTpTQ;;ESuTV;IACC;;;;AClVP;EACC;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QVuCsB;EUtCtB,kBVkBc;;AUff;EACC,gBV8BgB;;AA9BjB;EUDA;IAIE,gBV6BqB;;;AUzBvB;EACC;;AVbD;EUYA;IAIE;;;AAGD;EACC;;AAIF;EACC;EACA;EACA;;;AAIF;EACC;EACA,KVOqB;;AULrB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EAUA;;AAGD;EACC;;AAGD;AAAA;EAEC,OVzDmB;;AA/BrB;EUyCD;IAoDE;;;AVxFD;EU6FE;IACC;;EAGD;IACC;;;AV7FH;EUmGC;IACC;;EAEA;IACC;;;;AAOH;EACC;EACA;;AVrHD;EUyHC;IACC;IACA;;;;AAQF;AAAA;AAAA;EACC;;AAEA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;AAGD;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC,O9BVsB;E8BWtB,kB9BNoB;;A8BQrB;EACC,O9BnBc;E8BoBd;EACA,kB9BXoB;;A8BcrB;EAEC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAEA;EACC;;A9BtEF;E8BAD;IA2EE,W9BZO;;;AArDR;E8BoEC;IACC;;EAGD;IACC,kB9BtDkB;;E8BwDlB;IACC,kB9BnDiB;;E8BuDlB;IACC,O9BvDkB;I8BwDlB,kB9BlEY;;;;A+B5BhB;AAAA;EACC;EACA;EACA,qB/BuEe;;A+BrEf;EACC;;AAED;EACC;;AAGD;AAAA;EACC;;AAEA;EACC,O/BamB;;;A+BTtB;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACzBF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA,OhCMc;EgCLd,kBhCeoB;EgCdpB,YhCsDO;EgCrDP;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;IACC;;;AAKH;EACC,OhCTa;;AgCWd;EACC,OhCXa;;AA5Bf;EgCIA;IAuCE;;;;ACvDH;EACC;EACA,qBjCyEoB;;AiCvEpB;EACC;EACA;EACA;;AAED;EACC;;;ACRF;EACC;EACA;;AAEA;AAAA;EAEC;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EAEC;;AAIF;EACC;;AAGD;EACC;IACC;;EAED;IACC;;;;AC9BF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA,kBnCWa;EmCVb;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;AnC1BF;EmC8BE;IACC;;;AAIF;EACC;EACA;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA,qBnCWmB;;AmCTnB;EACC;;AAMA;EACC;;AAED;EACC;;AAED;EACC;;AAIF;EACC;EACA;EACA;;;ACrFH;AAAA;AAAA;EACC;EACA;EACA,OpC4BuB;EoC3BvB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBpCyBqB;EoCxBrB;EACA,qBpC2De;;AoCzDf;AAAA;AAAA;AAAA;AAAA;EAEC,YpC2DO;EoC1DP,cpCQc;;AoCLf;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;EACA;EACA;;ApCxBD;EoC4BC;AAAA;AAAA;IACC,cpCPuB;;;AAjBzB;EoCfD;AAAA;AAAA;IA4CE;IACA;;;AAGE;AAAA;AAAA;EACE;;ApCvCL;EoCyCO;AAAA;AAAA;IACE;;;;AAMV;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAEA;EACC;EACA,WpChBO;;AAvDT;EoCqEC;IAKE,WpClBO;;;AoCqBR;EACC;;AAGF;EACC,OpClEa;EoCmEb;;;AAKH;EACE;EACA;;;AAGF;EAEC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA,WpCnDO;EoCoDP,OpCxFc;EoCyFd;EACA;EACA;EACA;EACA;EACA,qBpChDc;;AoCkDd;EACC;;AAQF;EACC;EACA;EACA;EACA;EACA;EACA,kBpCrGoB;EoCsGpB;EACA;EACA;EACA,qBpCrEc;;AoCuEd;EACC;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;;AAED;EAEC;;AAKD;AAAA;EAGC;;AAIF;EACC;;ApCzKD;EoCuGD;IAsEE;;;ApCnKD;EoCsKC;IACC,WpClHM;IoCmHN;;EAGD;IACC;;EAEA;IACC;IACA,kBpCxJY;;;;AqClChB;EACC;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OrCuBqB;EqCtBrB,kBrCYe;;AqCVf;EACC,OrCSc;EqCRd,kBrCkBoB;;AqChBrB;EACC,OrCKc;EqCJd,kBrCMsB;;AqCHvB;EACC;EACA;EACA,OrCFc;EqCGd;EACA;EACA;;AAEA;EACC;EACA;;;ACnCH;EACC;EACA;EACA;EACA;EACA,gBtC6CiB;EsC5CjB;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA,WtC+CO;EsC9CP;EACA;;AtCZD;EsCLD;IAqBE;IACA;IACA;IACA;IACA;IACA;;EAEA;IACC;;;;AC7BH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA,kBvCMmB;EuCLnB;;AAGD;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA,OvCiBqB;EuChBrB;EACA;EACA;EACA;EACA;EACA;EACA,kBvCNmB;EuCOnB;;AAEA;EACC;;AAGD;EACC,kBvClBsB;;AAtBzB;EuC4CG;IACC,kBvCtBsB;;;AuC2BzB;EACC;EACA;EACA;EACA;EACA,kBvC9BkB;;;AuCkCrB;EACC;EACA,qBvCEoB;;AuCApB;EACC;EACA;;;AC3EF;EACC;EACA,kBxCkCqB;EwCjCrB;;AAEA;EACC;;AAGD;EACC;EACA;EACA,WxCkDO;;AwChDP;EACC;EACA,OxCeqB;;AwCbrB;EACC;;AAMF;EACC;EACA,WxCoCM;EwCnCN,OxCFa;;AA1Bf;EwCyBC;IAME,WxCiCK;;;AA3DR;EwCoBC;IASE,WxC+BM;;;AAvDT;EwCeC;IAYE,WxC6BO;;;AAnDV;EwCUC;IAeE,WxC2BO;;;AAnEV;EwC8CC;IACC;IACA,WxCeM;;EwCbN;IACC;;;AxC9CH;EwCoDC;AAAA;IAEC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AxCzEF;EwC+DA;IAcE;;EAEA;IACC;IACA;;EAGD;IACC;;;AxChFH;EwC0DA;IA2BE;;EAEA;IACC;;EAED;IACC;;;AxCjFH;EwCgDA;IAsCE;;EAEA;IACC;;;AxCpFH;EwCyFE;IACC;;;;AC9GF;EACE;EACA;;;AAKF;EACE;EACA;;AAIA;EACE;;AAGJ;EACE%22,%22file%22:%22app.output.css%22%7D */
