*,
*::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: #f1f3f6;
}

.hidden {
  display: none !important;
}

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

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

*::selection {
  background: #3d5da4;
  color: #ffffff;
}

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

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

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

*::-o-selection {
  background: #3d5da4;
  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);
}

.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-567131662ca390f075765892f31561f9.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: 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 {
  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) {
  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 {
  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) {
  display: none;
}
@media (min-width: 768px) {
  footer .footer-content .content-row:nth-child(2) {
    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;
    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;
  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;
}
@media (min-width: 768px) {
  footer .footer-content .content-links {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  footer .footer-content .content-links .links-list {
    min-width: 20%;
  }
}
@media (min-width: 1024px) {
  footer .footer-content .content-links .links-title {
    font-weight: 500;
    font-size: 1.25rem;
  }
}
footer .footer-content .content-bottom {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1.25rem 2.5rem;
}
@media (min-width: 768px) {
  footer .footer-content .content-bottom {
    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: #3d5da4;
}
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(12.5rem, 11.774rem + 3.1vw, 14.563rem);
}
header .header-content .menu-btn {
  display: grid;
  place-items: center;
  aspect-ratio: 1;
}
header .header-content .menu-btn svg {
  width: 2.125rem;
  color: #3d5da4;
}
@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: #3d5da4;
  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).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: #3d5da4;
  }
  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: #879bcf;
  }
  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: #3d5da4;
  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: inherit;
    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: #3d5da4;
  }
  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: #3d5da4;
  }
  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: #3d5da4;
    background-color: #f1f3f6;
  }
  header .header-content .nav-list li:is(:hover, :focus-within) .nav-sub {
    opacity: 1;
    translate: -50% 0;
    visibility: visible;
    pointer-events: auto;
  }
}

.hero {
  position: relative;
  color: #ffffff;
  min-height: 31.25rem;
  height: calc(100dvh - 7.125rem);
  max-height: calc(1080px - 7.125rem);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(38, 38, 38, 0.4), rgba(38, 38, 38, 0.4)), linear-gradient(180deg, rgba(0, 0, 0, 0) 77%, rgba(0, 0, 0, 0.87) 100%);
}
.hero .container, .hero section:is(#confidentiality, #sitemap) {
  width: 100%;
}
.hero .hero-nav {
  display: none;
}
@media (min-width: 768px) {
  .hero .hero-nav {
    display: flex;
    position: absolute;
    z-index: 2;
    bottom: 38%;
    right: calc(max(0px, (100vw - 1920px) / 2) + clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem));
  }
}
.hero .view-img,
.hero .view-content {
  opacity: 0;
  visibility: hidden;
  transition: opacity, visibility, translate;
  transition-duration: 0.35s;
}
.hero .view-img {
  --imgOffMax: 5vh;
  --imgOff: 0;
  position: absolute;
  z-index: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: calc(100% + var(--imgOffMax));
  translate: 0 var(--imgOff);
  object-fit: cover;
}
.hero .view-content {
  --contentOffAmount: -3%;
  --contentOff: var(--contentOffAmount);
  align-self: center;
  position: absolute;
  top: 8%;
  left: 50%;
  translate: calc(-50% + var(--contentOff)) 0;
  z-index: 2;
  padding-inline: calc(clamp(1.5rem, -1.757rem + 13.9vw, 10.75rem) + clamp(0rem, -28.125rem + 37.5vw, 5.625rem));
}
.hero .view-content > div {
  width: fit-content;
}
.hero .view-content .paragraph .text {
  max-width: 25rem;
}
.hero .view-content .logo {
  display: none;
}
@media (min-width: 768px) {
  .hero .view-content {
    top: 44%;
    translate: calc(-50% + var(--contentOff)) -50%;
  }
  .hero .view-content .paragraph {
    margin-top: var(--paragraphSpace);
  }
  .hero .view-content .logo {
    display: block;
    width: 4.375rem;
    color: #3d5da4;
  }
}
.hero .hero-list {
  display: flex;
  column-gap: 1.375rem;
  margin-top: auto;
  padding-block: 3px 1.75rem;
  padding-inline: clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem);
  overflow: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.hero .hero-list::-webkit-scrollbar {
  display: none;
}
.hero .hero-list .list-item {
  width: 100%;
}
.hero .hero-list .list-item .list-btn {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 6.25rem;
  color: inherit;
  text-transform: uppercase;
  position: relative;
  text-align: left;
  font-size: 0.75rem;
  padding-top: 0.75rem;
  line-height: 1.5;
  transition: color, opacity, font-weight;
  transition-duration: 0.15s;
}
.hero .hero-list .list-item .list-btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-top: 2px solid;
  transition: scale 0.15s;
}
.hero .hero-list .list-item .list-btn:active {
  opacity: 0.6;
}
@media (min-width: 1024px) {
  .hero .hero-list .list-item .list-btn {
    font-size: 0.875rem;
  }
  .hero .hero-list .list-item .list-btn:is(:hover, :active) {
    color: #879bcf;
  }
}
.hero .hero-list .list-item.active .view-content,
.hero .hero-list .list-item.active .view-img {
  --contentOff: 0%;
  --imgOff: calc(var(--imgOffMax) / 2);
  opacity: 1;
  visibility: visible;
}
.hero .hero-list .list-item.active .list-btn {
  font-weight: 700;
  color: #3d5da4;
}
.hero .hero-list .list-item.active .list-btn::after {
  scale: 1 2.5;
}
.hero .hero-list .list-item:has(~ .active) .view-img {
  --imgOff: var(--imgOffMax);
  opacity: 1;
}
.hero .hero-list .list-item:has(~ .active) .view-content {
  --contentOff: calc(var(--contentOffAmount) * -1);
}

.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);
}
.heading span {
  color: #3d5da4;
}

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

.text,
.text > div {
  display: grid;
  row-gap: 1.25rem;
  line-height: 1.7em;
}
.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%;
}
.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: #3d5da4;
}
.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: #3d5da4;
  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 {
  z-index: 1;
  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) {
  position: relative;
  z-index: 2;
  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;
}
.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: #3d5da4;
}
.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%, #3d5da4);
}
.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: #3d5da4;
}
.app-card .card-media .card-icon:not(.icon-fix) :not([fill=currentColor]) {
  fill: #ffffff;
}
.app-card .card-media .card-icon.icon-fix [stroke="#3d5da4"],
.app-card .card-media .card-icon.icon-fix [stroke="#3D5DA4"] {
  stroke: #ffffff;
}
.app-card .card-media .card-icon.icon-fix [stroke="#ffffff"],
.app-card .card-media .card-icon.icon-fix [stroke="#FFFFFF"],
.app-card .card-media .card-icon.icon-fix [stroke=white] {
  stroke: #3d5da4;
}
.app-card .card-media .card-icon.icon-fix [fill="#3d5da4"],
.app-card .card-media .card-icon.icon-fix [fill="#3D5DA4"] {
  fill: #ffffff;
}
.app-card .card-media .card-icon.icon-fix [fill="$color-neutral-light"],
.app-card .card-media .card-icon.icon-fix [fill="#FFFFFF"],
.app-card .card-media .card-icon.icon-fix [fill=white] {
  fill: #3d5da4;
}
.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: #3d5da4;
}
.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: #3d5da4;
  }
  .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-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;
}
.detail .detail-content .content-title span {
  color: #3d5da4;
}
.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 svg {
  width: 1.625rem;
  color: #3d5da4;
  margin-bottom: 0.25rem;
}
.detail .detail-content .content-cards .content-card svg:has([stroke=currentColor]) {
  fill: transparent;
}
.detail .detail-content .content-cards .content-card svg:not([fill=currentColor]) {
  fill: currentColor;
}
.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: #3d5da4;
  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 #3d5da4;
}
.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: #3d5da4;
}
.detail .detail-sidebar .sidebar-box .text {
  font-size: 0.75rem;
  text-wrap: pretty;
  color: #686868;
}
.detail .detail-sidebar .sidebar-box img {
  width: 100%;
}
.detail .detail-sidebar .sidebar-box img.sidebar-logo {
  max-width: 18.75rem;
}
.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 .sidebar-list .list-item {
  display: flex;
  align-items: center;
  width: fit-content;
  font-weight: 700;
  color: #3d5da4;
  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: #3d5da4;
  }
  .detail .detail-sidebar .sidebar-box .swiper .swiper-slide:active {
    opacity: 0.75;
  }
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-pagination {
  display: flex;
  column-gap: 0.625rem;
}
.detail .detail-sidebar .sidebar-box .swiper .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;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #3d5da4 !important;
}
.detail .detail-sidebar .sidebar-box .swiper .swiper-pagination .swiper-pagination-bullet:active {
  opacity: 0.6;
}
@media (min-width: 1024px) {
  .detail .detail-sidebar .sidebar-box .swiper .swiper-pagination .swiper-pagination-bullet:is(:hover, :active) {
    background-color: #8c8c8c;
  }
}

#home {
  display: flex;
  flex-direction: column;
}
#home > * {
  width: 100%;
}
#home #home-hero {
  order: -1;
}

#home-activities .activities-grid {
  --cols: 2;
  display: grid;
  grid-template-columns: repeat(var(--cols), 1fr);
  gap: clamp(0.875rem, 0.743rem + 0.56vw, 1.25rem);
}
#home-activities .activities-grid .block-paragraph {
  grid-column: span 2;
}
@media (min-width: 768px) {
  #home-activities .activities-grid {
    --cols: 3;
  }
  #home-activities .activities-grid .block-paragraph {
    grid-column: span 3;
  }
}
@media (min-width: 1200px) {
  #home-activities .activities-grid {
    --cols: 4;
    gap: clamp(1.25rem, -2.125rem + 3.75vw, 2.375rem);
  }
  #home-activities .activities-grid .block-paragraph {
    grid-column: span 2;
    padding-right: 1rem;
  }
}
#home-activities .activity-card {
  aspect-ratio: 1;
  color: #686868;
  background-color: #ffffff;
  transition: color, background-color, scale;
  transition-duration: 0.35s;
  will-change: scale;
  display: grid;
  grid-template-rows: 80% 20%;
  place-items: center;
  padding: 0.75rem;
  min-width: 0;
  align-self: end;
}
#home-activities .activity-card svg {
  width: 65%;
  max-height: 70%;
  object-fit: contain;
  transition: scale 0.35s;
}
#home-activities .activity-card svg * {
  transition: stroke, fill;
  transition-duration: 0.35s;
}
#home-activities .activity-card .card-text {
  font-weight: 700;
  font-size: 0.75rem;
  text-align: center;
}
@media (min-width: 480px) {
  #home-activities .activity-card .card-text {
    font-size: 0.875rem;
  }
}
#home-activities .activity-card:active {
  scale: 0.95;
}
@media (min-width: 1024px) {
  #home-activities .activity-card {
    padding: 1rem;
    grid-template-rows: 85% 15%;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) {
    color: #ffffff;
    background-color: #3d5da4;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg {
    scale: 1.075;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [stroke="#3d5da4"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [stroke="#3D5DA4"] {
    stroke: #ffffff;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [stroke="#ffffff"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [stroke="#FFFFFF"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [stroke=white] {
    stroke: #3d5da4;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [fill="#3d5da4"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [fill="#3D5DA4"] {
    fill: #ffffff;
  }
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [fill="$color-neutral-light"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [fill="#FFFFFF"],
  #home-activities .activity-card:is(:hover, :active, :focus-within) svg [fill=white] {
    fill: #3d5da4;
  }
}

#home-buildings .buildings-btns {
  display: flex;
  flex-direction: column;
  gap: 0.75rem 1.125rem;
  justify-content: center;
}
#home-buildings .buildings-btns .btn {
  width: 100%;
  justify-content: center;
  font-size: 0.75rem;
}
#home-buildings .buildings-btns .btn.active {
  font-weight: 700;
}
#home-buildings .buildings-btns .btn svg {
  width: 0.875rem;
}
#home-buildings .buildings-btns .btn [fill] {
  fill: currentColor;
}
@media (min-width: 768px) {
  #home-buildings .buildings-btns {
    flex-direction: row;
    flex-wrap: wrap;
  }
  #home-buildings .buildings-btns .btn {
    width: auto;
  }
}
#home-buildings .buildings-content {
  padding: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  padding-top: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) + 0.25rem);
  background-color: #ffffff;
  display: grid;
  grid-template-areas: "paragraph";
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
}
@media (min-width: 1024px) {
  #home-buildings .buildings-content {
    padding-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  }
}
@media (min-width: 1600px) {
  #home-buildings .buildings-content {
    padding: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) * 1.5);
  }
}
#home-buildings .buildings-content .tab-content {
  min-width: 0;
  grid-area: paragraph;
}
@media (min-width: 1200px) {
  #home-buildings .buildings-content .tab-content .paragraph {
    padding-block: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
  }
}
#home-buildings .buildings-content .tab-content .block-paragraph {
  height: 100%;
  gap: min(clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem), 2.5rem);
}

#home-references .paragraph,
#home-news .paragraph {
  max-width: 45rem;
}
#home-references .paragraph .text,
#home-news .paragraph .text {
  max-width: 30rem;
}
#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);
  }
}

#home-partners {
  padding-block: clamp(4.25rem, 3.546rem + 3vw, 6.25rem);
  background-color: #ffffff;
}
#home-partners .partner-logo {
  max-height: clamp(1.875rem, 1.435rem + 1.88vw, 3.125rem);
  filter: grayscale(1);
}
@media (min-width: 1024px) {
  #home-partners .partner-logo {
    transition: filter 0.15s;
  }
  #home-partners .partner-logo:hover {
    filter: grayscale(0);
  }
}

#home-infos .infos-list {
  display: grid;
  gap: 1.625rem;
  margin-top: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
@media (min-width: 768px) {
  #home-infos .infos-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1200px) {
  #home-infos .infos-list {
    grid-template-columns: repeat(3, 1fr);
  }
  #home-infos .infos-list .app-card:first-child {
    grid-column: span 2;
  }
}
#home-infos .app-card .card-media {
  aspect-ratio: unset;
  height: clamp(11.875rem, 10.455rem + 6.06vw, 15rem);
}
#home-infos .app-card .card-text {
  display: block;
  margin-block: 0 0.625rem;
}
#home-infos .app-card .card-text::after {
  display: none;
}
#home-infos .app-card .btn {
  margin-top: auto;
}
#home-infos .app-card .btn svg {
  rotate: -45deg;
}
@media (min-width: 1024px) {
  #home-infos .app-card .btn {
    font-size: 0.875rem;
  }
}

#whitebook .page-header .paragraph.deco-grid::after {
  display: none;
}

#whitebook-content.container, section#whitebook-content:is(#confidentiality, #sitemap) {
  padding-inline: clamp(1.5rem, -1.317rem + 12.02vw, 9.5rem);
}
@media (min-width: 1024px) {
  #whitebook-content .detail {
    grid-template-columns: auto min(46%, 40rem);
  }
}
#whitebook-content .detail .detail-content .content-paragraph ul {
  width: 100%;
  columns: unset;
  margin-block: 0 1.25rem;
}
#whitebook-content .detail .detail-content .content-paragraph ul li {
  font-weight: inherit;
  list-style: none;
  padding-left: 2.25rem;
  margin: 1.25rem 0 0 0;
  background: url("../icons/check-fbbdf6ce0a2023874231ba2e82fac342.svg") no-repeat -0.25rem -0.5rem/2rem;
}
#whitebook-content .detail .detail-content .content-paragraph .content-media img {
  max-width: 500px;
  margin-inline: auto;
  aspect-ratio: unset;
  background-color: transparent;
}
@media (min-width: 1024px) {
  #whitebook-content .detail .detail-content .content-paragraph .content-media img {
    max-width: 43.75rem;
  }
}
@media (min-width: 480px) {
  #whitebook-content .detail .detail-sidebar.deco-grid::after {
    margin-top: 0;
    right: 2.125rem;
  }
}
#whitebook-content .detail .detail-sidebar .sidebar-box {
  color: #ffffff;
  background-color: #3d5da4;
  box-shadow: 0 0.625rem 2.5rem 0 rgba(8, 15, 52, 0.06);
}
#whitebook-content .detail .detail-sidebar .sidebar-box form,
#whitebook-content .detail .detail-sidebar .sidebar-box form fieldset {
  row-gap: 1.25rem;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form + fieldset:not(:last-of-type),
#whitebook-content .detail .detail-sidebar .sidebar-box form fieldset + fieldset:not(:last-of-type) {
  margin-top: 1.25rem;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form small {
  font-style: italic;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form fieldset legend {
  margin-bottom: 1.25rem;
  color: #ffffff;
  font-style: normal;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form fieldset legend.overtitle {
  letter-spacing: 0.25em;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .checkbox-element {
  background-color: transparent;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .checkbox-element label {
  color: #ffffff;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .checkbox-element.checkbox-round {
  height: auto;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .checkbox-element.checkbox-round label {
  font-weight: 700;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .checkbox-element:not(.checkbox-round) {
  padding: 0;
}
#whitebook-content .detail .detail-sidebar .sidebar-box form .btn-secondary, #whitebook-content .detail .detail-sidebar .sidebar-box form #home-buildings .buildings-btns .btn:not(.active), #home-buildings .buildings-btns #whitebook-content .detail .detail-sidebar .sidebar-box form .btn:not(.active) {
  margin-inline: auto;
  color: #3d5da4;
  justify-content: center;
}
@media (min-width: 1024px) {
  #whitebook-content .detail .detail-sidebar .sidebar-box form .btn-secondary, #whitebook-content .detail .detail-sidebar .sidebar-box form #home-buildings .buildings-btns .btn:not(.active), #home-buildings .buildings-btns #whitebook-content .detail .detail-sidebar .sidebar-box form .btn:not(.active) {
    width: 100%;
  }
}

#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 {
    padding-top: 0;
  }
  #about-content .paragraph-deco::after {
    left: -3.625rem;
    translate: 0 -54%;
  }
}

#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-ba6125a74721d6a953e326cf9977f7ca.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: #3d5da4;
}
#about-quote .quote-brands .brand[title=kapeci] {
  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: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);
  }
}

#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-sort {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1rem;
  margin-bottom: 1rem;
}
#jobs #jobs-content .jobs-sort .overtitle {
  letter-spacing: 0.2em;
  white-space: nowrap;
}
#jobs #jobs-content .jobs-sort .input, #jobs #jobs-content .jobs-sort .checkbox-element, #jobs #jobs-content .jobs-sort .input-file, #jobs #jobs-content .jobs-sort form fieldset input:not([type=checkbox], [type=radio]), form fieldset #jobs #jobs-content .jobs-sort input:not([type=checkbox], [type=radio]),
#jobs #jobs-content .jobs-sort form fieldset select,
form fieldset #jobs #jobs-content .jobs-sort select,
#jobs #jobs-content .jobs-sort form fieldset textarea,
form fieldset #jobs #jobs-content .jobs-sort textarea {
  --inputPadding: 1rem;
  height: 2.875rem;
  font-style: italic;
  max-width: 18.75rem;
}
#jobs #jobs-content .jobs-empty {
  height: 18.75rem;
  max-width: 54.625rem;
  text-align: center;
  align-content: center;
  color: #3d5da4;
  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: #3d5da4;
}
#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;
  }
}

#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: 1rem;
    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: #3d5da4;
}
#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: 40rem;
}
#activities .page-header .paragraph.deco-grid::after {
  right: -1rem;
}

#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;
}

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

#activities-content .app-grid .app-card .card-media .card-icon {
  padding: 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: 1200px) {
  #references-content .filters {
    padding-inline: clamp(1.5rem, -1.757rem + 13.9vw, 10.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;
}
@media (min-width: 480px) {
  #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: unset;
  }
}
#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%;
  object-fit: cover;
}
#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 #3d5da4;
}
#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: #3d5da4;
}
#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 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: #3d5da4;
}
#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: #3d5da4;
  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: #3d5da4;
}
@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;
    min-height: 18.75rem;
  }
  #reference #reference-content .block-paragraph .paragraph-media img,
  #reference #article-content .block-paragraph .paragraph-media img,
  #article #reference-content .block-paragraph .paragraph-media img,
  #article #article-content .block-paragraph .paragraph-media img {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
  }
}

#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-fbbdf6ce0a2023874231ba2e82fac342.svg") no-repeat left top/auto 2.625rem;
}

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: #3d5da4;
  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: #3d5da4;
  margin-bottom: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) + 0.75rem);
}
form fieldset > div > label {
  color: #3d5da4;
  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;
  }
}

.regulation-card {
  --cardMinHeight: clamp(9.875rem, 7.653rem + 4.63vw, 11.125rem);
  --cardPaddingY: 1.25rem;
  display: grid;
  row-gap: 0.75rem;
  position: relative;
  padding-block: var(--cardPaddingY);
}
@media (min-width: 768px) {
  .regulation-card {
    column-gap: 1.25rem;
    grid-template-columns: 25% 1fr auto;
  }
}
@media (min-width: 1200px) {
  .regulation-card {
    column-gap: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) + 0.625rem);
    grid-template-columns: 15% 1fr auto;
  }
}
.regulation-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  border-top: 1px solid #3d5da4;
  opacity: 0.3;
}
.regulation-card .card-img {
  width: 100%;
  height: 6.25rem;
  object-fit: cover;
}
.regulation-card .card-img.no-img {
  object-fit: contain;
  background-color: transparent;
}
@media (min-width: 768px) {
  .regulation-card .card-img {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
    max-height: calc(var(--cardMinHeight) - var(--cardPaddingY) * 2);
  }
}
.regulation-card .card-content {
  display: grid;
  grid-template-rows: auto 1fr;
}
.regulation-card .card-title {
  opacity: 0.7;
  font-weight: 700;
  font-size: 1.25rem;
}
.regulation-card .accordion {
  display: flex;
  flex-direction: column;
}
.regulation-card .accordion .accordion-btn {
  color: #3d5da4;
  line-height: 1.5rem;
  width: auto;
  margin-top: auto;
}
.regulation-card .accordion .accordion-btn::before, .regulation-card .accordion .accordion-btn::after {
  display: none;
}
.regulation-card .accordion .accordion-content {
  opacity: 1;
  visibility: visible;
  margin-block: 0.625rem;
  position: relative;
}
@media (min-width: 1200px) {
  .regulation-card .accordion .accordion-content {
    margin-block: 1.25rem;
  }
}
.regulation-card .accordion .accordion-content .accordion-content-wrapper {
  min-height: 2.75rem;
}
.regulation-card .accordion .accordion-content::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(180deg, transparent, #ffffff 120%);
  transition: opacity 0.35s;
}
.regulation-card .accordion.open .accordion-content::after {
  opacity: 0;
}
.regulation-card .card-buttons .btn {
  border-radius: 0.625rem;
}
.regulation-card .card-buttons .btn:not(.btn-square):not(.btn-video) {
  font-size: 0.75rem;
  min-height: 2.875rem;
}
.regulation-card .card-buttons .btn-square, .regulation-card .card-buttons .btn-video {
  display: none;
}
@media (min-width: 768px) {
  .regulation-card .card-buttons {
    display: flex;
    column-gap: calc(clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem) / 2);
  }
  .regulation-card .card-buttons .btn,
  .regulation-card .card-buttons .btn[target=_blank] {
    display: none;
  }
  .regulation-card .card-buttons .btn-square, .regulation-card .card-buttons .btn-video {
    display: grid;
  }
  .regulation-card .card-buttons .btn-square svg, .regulation-card .card-buttons .btn-video svg {
    width: auto;
    height: 1rem;
  }
}
@media (min-width: 1024px) {
  .regulation-card .card-buttons .btn[target=_blank] {
    display: grid;
  }
}

.regulation-category {
  padding-block: min(3.125rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem));
  background-color: #ffffff;
  margin-bottom: clamp(1.5rem, 0.81rem + 1.88vw, 2.5rem);
}
.regulation-category.accordion > .accordion-btn {
  color: #3d5da4;
  font-weight: 700;
  font-size: 1.25rem;
  margin-inline: min(3.125rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem));
  max-width: calc(100% - min(3.125rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem)) * 2);
}
@media (min-width: 1200px) {
  .regulation-category.accordion > .accordion-btn {
    font-size: 1.5rem;
  }
}
.regulation-category.accordion > .accordion-content {
  padding-inline: min(3.125rem, clamp(1.5rem, 0.708rem + 3.38vw, 3.75rem));
}

.regulations-list li:last-child .regulation-category {
  margin-bottom: 0;
}

.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%, #3d5da4);
}
.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);
  }
}
@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 .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);
  }
}

.related-buildings {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (min-width: 768px) {
  .related-buildings {
    flex-direction: row;
    justify-content: center;
  }
}
.related-buildings .building-item {
  width: 100%;
  max-width: 37.5rem;
}
.related-buildings .building-item .app-card .card-media {
  aspect-ratio: 21/9;
}

.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 #3d5da4;
  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: #3d5da4;
}
.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: #3d5da4;
    opacity: 0.6;
  }
  .pagination .pagination__item:is(a):active {
    opacity: 0.33;
  }
}

.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: #3d5da4;
}

.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: #3d5da4;
  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, #home-buildings .buildings-btns .btn:not(.active) {
  color: #686868;
  background-color: #ffffff;
}
.btn-tertiary {
  color: #3d5da4;
  border: 1px solid #3d5da4;
  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, #home-buildings .buildings-btns .btn:active:not(.active) {
  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: #28488f;
  }
  .btn:is(:hover, :active).btn-secondary, #home-buildings .buildings-btns .btn:is(:hover, :active):not(.active) {
    background-color: #d1d3d6;
  }
  .btn:is(:hover, :active, :focus-visible).btn-tertiary {
    color: #ffffff;
    background-color: #3d5da4;
  }
}

.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: #879bcf;
}

.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: #3d5da4;
  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: #f1f3f6;
  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: #3d5da4;
}
.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-e40e11de90766db5155b21a0fbe831cd.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: #3d5da4;
  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: #3d5da4;
  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 #3d5da4;
  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-fbbdf6ce0a2023874231ba2e82fac342.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: #f1f3f6;
  }
}

.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: #3d5da4;
}
.tag-secondary {
  color: #3d5da4;
  background-color: #ffffff;
}
.tag-icon {
  padding: 0;
  font-weight: 700;
  color: #3d5da4;
  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: #3d5da4;
  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;
}

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

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

/*# sourceMappingURL=app.output.css.map */
