@charset "UTF-8";
/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

html {
  /* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.15; /* 1. Correct the line height in all browsers. */
  -webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
  -moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
  tab-size: 4; /* 3 */
}

/*
Sections
========
*/
body {
  margin: 0; /* Remove the margin in all browsers. */
}

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
}

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}

@font-face {
  font-display: swap;
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/roboto-condensed-v27-latin-regular.woff2") format("woff2"), url("../fonts/roboto-condensed-v27-latin-regular.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Roboto Condensed";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/roboto-condensed-v27-latin-700.woff2") format("woff2"), url("../fonts/roboto-condensed-v27-latin-700.woff") format("woff");
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
p,
pre,
dl,
dd,
ol,
ul,
figure,
hr,
fieldset,
legend {
  margin: 0;
  padding: 0;
}

address,
h1,
h2,
h3,
h4,
h5,
h6,
blockquote,
p,
pre,
dl,
ol,
ul,
figure,
hr,
table,
fieldset {
  margin-block-end: 1.2rem;
}

dd,
ol,
ul {
  margin-inline-start: 1.2rem;
}

*:focus-visible {
  outline: 3px solid #0078ea;
  outline-offset: 3px;
}

/*------------------------------------*\
    #PAGE
\*------------------------------------*/
/**
 * Apply fluid typography to the `<html>` element.
 */
html {
  font-size: clamp(18px, 0.2028397566vw + 1.064148073rem, 20px);
}

body {
  line-height: 1.4rem;
}

a {
  color: #00305d;
}

button {
  cursor: pointer;
}

html {
  background-color: #fff;
  color: #00305d;
  scroll-behavior: smooth;
}

body {
  font-size: 1rem;
  line-height: 1.4rem;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  body {
    line-height: 1.4rem;
  }
}

/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-inline-size: 100%; /* [1] */
  font-style: italic; /* [2] */
  vertical-align: middle; /* [3] */
}

hr {
  margin: 0;
  border: 0;
  border-block-end: 1px solid #ccc;
}

/**
 * [1] Prevent overflowing content on small screen.
 */
.o-section {
  padding-block: 2.4rem;
}

.o-section__wrapper {
  --section-template-areas:
      "body";
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  display: grid;
  gap: 2rem;
  grid-template-areas: var(--section-template-areas);
  /* stylelint-disable-next-line selector-class-pattern */
}
.o-section__wrapper:not(.o-section.o-section--layout-50\/50):has(.o-section__header):not(:has(.o-section__footer)) {
  --section-template-areas:
      "header"
      "body";
}
.o-section__wrapper:not(.o-section.o-section--layout-50\/50):has(.o-section__footer):not(:has(.o-section__header)) {
  --section-template-areas:
      "body"
      "footer";
}
.o-section__wrapper:not(.o-section.o-section--layout-50\/50):has(.o-section__header):has(.o-section__footer) {
  --section-template-areas:
      "header"
      "body"
      "footer";
}
@media (min-width: 48em) {
  .o-section__wrapper {
    padding-inline: 2rem;
  }
}
.o-section.o-section--layout-50\/50 .o-section__wrapper {
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "body body" "header header" "footer footer";
}
@media (min-width: 48em) {
  .o-section.o-section--layout-50\/50 .o-section__wrapper {
    grid-template-areas: "header body" "footer body";
  }
}

.o-section__header {
  grid-area: header;
  /* stylelint-disable-next-line selector-class-pattern */
}
.o-section:not(.o-section--layout-50\/50) .o-section__header {
  text-align: center;
}
.o-section:not(.o-section--layout-50\/50) .o-section__header.o-section__header--inline-start {
  text-align: left;
}

.o-section__title {
  margin-block-end: 2rem;
}

.o-section__body {
  grid-area: body;
  min-width: 0; /* [1] */
}

.o-section__footer {
  grid-area: footer;
  /* stylelint-disable-next-line selector-class-pattern */
}
.o-section:not(.o-section--layout-50\/50) .o-section__footer {
  justify-self: center;
  width: 100%;
}

/* stylelint-disable-next-line selector-class-pattern */
.o-section__footer__button {
  display: flex;
  justify-content: center;
}

/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-user-select: none;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -moz-user-select: none;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  /* stylelint-disable-next-line value-no-vendor-prefix */
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  /* stylelint-disable-next-line value-no-vendor-prefix */
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */
.flickity-button {
  padding: 0;
  background: transparent;
  position: absolute;
  border: none;
  color: #00305d;
}

.flickity-button:hover {
  cursor: pointer;
}

.flickity-button:disabled {
  color: #e6eaef;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentcolor;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  display: flex;
  justify-content: center;
  align-items: center;
  top: calc(100% - 2.6rem / 2);
  width: 2.6rem;
  height: 2.6rem;
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous {
  left: 0;
}

.flickity-prev-next-button.next {
  right: 0;
}

/* ---- page dots ---- */
.flickity-page-dots {
  display: flex;
  align-items: center;
  width: calc(100% - 2.6rem * 2 - 1.2rem * 2);
  height: 2.6rem;
  padding: 0;
  margin: 0;
  margin-block-start: 1.2rem;
  margin-inline-start: calc(2.6rem + 1.2rem);
  list-style: none;
  text-align: center;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: ease;
  flex-basis: 10px;
  flex-grow: 1;
  height: 2px;
  background-color: #e6eaef;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  background-color: #00305d;
}

.tippy-box {
  font-size: 0.9523809524rem;
  line-height: 1.4rem;
  border-radius: 0;
  background-color: #fff;
  color: #00305d;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}
.tippy-arrow {
  color: #fff;
}

/**
 * The list-bare object simply removes any indents and bullet points from lists and following lis
 */
.c-brand-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
}
.c-brand-list li {
  margin-inline-start: 0;
}
@media (min-width: 48em) {
  .c-brand-list {
    grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  }
}

.c-brand-list__item button {
  border: none;
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0 1px 12px 0 rgba(0, 0, 0, 0.06), 0 6px 8px 0 rgba(0, 0, 0, 0.07), 0 2px 3px -1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  font-size: 1.05rem;
  line-height: 1.4rem;
  padding: 1rem 1rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-brand-list__item button {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-brand-list__item button {
    line-height: 1.8rem;
  }
}

.c-brand-logos {
  display: grid;
  gap: 1rem;
  grid-template-columns: 12% auto;
  grid-template-areas: "logo list" "logo subtitle";
}
@media (min-width: 48em) {
  .c-brand-logos {
    grid-template-columns: 70px auto;
  }
}

.c-brand-logos__main-logo {
  grid-area: logo;
}
@media (min-width: 48em) {
  .c-brand-logos__main-logo {
    order: unset;
  }
}

.c-brand-logos__list {
  grid-area: list;
  min-width: 1px;
  display: flex;
  gap: 1rem;
}
@media (min-width: 48em) and (max-width: 70.25em) {
  .c-brand-logos__list {
    display: none;
  }
}
.c-brand-logos__list svg {
  flex-basis: auto;
  flex-shrink: 1;
  flex-grow: 1;
  width: inherit;
  height: auto;
}

.c-brand-logos__subtitle {
  grid-area: subtitle;
  display: flex;
}
@media (min-width: 48em) and (max-width: 70.25em) {
  .c-brand-logos__subtitle {
    display: none;
  }
}
.c-brand-logos__subtitle svg {
  flex-basis: 110px;
  flex-shrink: 1;
}

.c-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  gap: 0.3rem;
  justify-content: center;
  align-items: center;
  min-height: 2.6rem;
  background-color: #00305d;
  color: #fff;
  padding-inline: 1.2rem;
  cursor: pointer;
  border-radius: 4px;
  text-decoration: none;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-button {
    font-size: 1rem;
  }
}
.c-button.c-button--secondary {
  background-color: #fff;
  color: #00305d;
  border: 2px solid #00305d;
}
.c-button.c-button--secondary.c-button--inverted {
  border-color: #fff;
  background-color: transparent;
  color: #fff;
}
.c-button.c-button--full {
  width: 100%;
}
.c-button.c-button--large {
  padding-inline: 2.4rem;
  height: 4rem;
  border-radius: 12px;
}

.c-button__icon {
  display: flex;
  fill: #fff;
}
.c-button.c-button--secondary .c-button__icon {
  fill: #00305d;
}
.c-button.c-button--secondary.c-button--inverted .c-button__icon {
  fill: #fff;
}
.c-button__icon svg {
  width: 1.2rem;
  height: 1.2rem;
}

.c-content-gallery {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr 1fr;
}

.c-content-gallery .c-content-gallery__item {
  width: 100%;
}
.c-content-gallery .c-content-gallery__item:nth-child(3n+1) {
  grid-column: span 2;
}

.c-floating-action-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  background-color: #f07d1b;
  padding-block: 0.5rem;
  padding-inline: 0.5rem;
  border-radius: 39px 39px 0 39px;
  color: #fff;
  min-width: 78px;
  max-width: 330px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  font-size: 1rem;
  line-height: calc((1.4rem) + -0.2rem);
}
@media screen and (min-width: 768px) {
  .c-floating-action-button {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-floating-action-button {
    line-height: calc((1.4rem) + -0.2rem);
  }
}

.c-floating-action-button__text {
  display: none;
  text-align: left;
}
@media (min-width: 48em) {
  .c-floating-action-button__text {
    display: block;
  }
}

@media (min-width: 48em) {
  .c-floating-action-button__image-wrapper {
    display: block;
  }
}

.c-floating-action-button__button {
  border: none;
  background-color: transparent;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

.c-floating-action-button__image-wrapper img {
  inline-size: 3.2rem;
  max-inline-size: fit-content;
}

.c-floating-action-button__bubble {
  display: none;
  border-radius: 12px;
  background-color: #fff;
  padding: 0.8rem;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}
.c-floating-action-button__bubble:first-of-type {
  margin-left: 0.8rem;
}
.c-floating-action-button__bubble:last-of-type {
  margin-top: 0.8rem;
}
@media (min-width: 48em) {
  .c-floating-action-button__bubble {
    display: block;
  }
}

.c-floating-action-button__container-item {
  display: flex;
  align-items: flex-end;
  position: fixed;
  bottom: 0.8rem;
  right: 0.8rem;
}
@media (min-width: 48em) {
  .c-floating-action-button__container-item {
    display: flex;
    position: unset;
  }
}

.c-footer {
  background: linear-gradient(309.62deg, #002344 14.28%, #00376A 85.38%);
  color: #fff;
}

.c-footer__wrapper {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  padding-inline: 1rem;
  padding-block-start: 1rem;
  display: grid;
  gap: 1.2rem;
  grid-template-columns: 1fr;
  grid-template-areas: "logos" "site-navigation" "social" "legal-navigation";
}
@media (min-width: 48em) {
  .c-footer__wrapper {
    padding-inline: 2rem;
  }
}
@media (min-width: 48em) {
  .c-footer__wrapper {
    padding-inline: 2rem;
    padding-block-start: 2rem;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "logos logos logos" "site-navigation site-navigation site-navigation" "social social social" "legal-navigation legal-navigation legal-navigation";
  }
}

.c-footer .c-footer__logos {
  grid-area: logos;
  max-width: 600px;
}

.c-footer .c-footer__contact {
  grid-area: contact;
}

.c-footer .c-footer__site-navigation {
  grid-area: site-navigation;
}

.c-footer .c-footer__social {
  grid-area: social;
  justify-self: left;
}

.c-footer .c-footer__legal-navigation {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  padding-block: 1rem;
  grid-area: legal-navigation;
}

.c-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-footer-contact a {
  color: #fff;
  text-decoration: none;
}
.c-footer-contact a:hover {
  text-decoration: underline;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-footer__contact__phone {
  font-size: 1.21550625rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-footer__contact__phone {
    font-size: 2.0736rem;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-footer__contact__email {
  font-size: 1.05rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-footer__contact__email {
    font-size: 1.2rem;
  }
}

.c-footer-legal-navigation a {
  color: #fff;
  text-decoration: none;
}
.c-footer-legal-navigation a:hover {
  text-decoration: underline;
}

.c-footer-legal-navigation__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  font-size: 1rem;
  line-height: 1;
}
.c-footer-legal-navigation__list li {
  margin-inline-start: 0;
}
@media screen and (min-width: 768px) {
  .c-footer-legal-navigation__list {
    font-size: 1rem;
  }
}

.c-footer-section-navigation {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 3.5rem;
  font-size: 1.05rem;
  line-height: 1.4rem;
}
@media screen and (min-width: 768px) {
  .c-footer-section-navigation {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-footer-section-navigation {
    line-height: 1.8rem;
  }
}
.c-footer-section-navigation a {
  color: #fff;
  text-decoration: none;
}
.c-footer-section-navigation a:hover {
  text-decoration: underline;
}

.c-footer-section-navigation__list-wrapper {
  flex: 1;
}

.c-footer-section-navigation__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-footer-section-navigation__list li {
  margin-inline-start: 0;
}

.c-footer-section-navigation__list-title {
  font-weight: 700;
  margin-block-end: 0.8rem;
}

.c-social-navigation--inverted svg path {
  fill: #00305D;
}

.c-social-navigation__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.c-social-navigation__list li {
  margin-inline-start: 0;
}

.c-header {
  width: 100%;
  position: relative;
  background: #00305d;
}
body:has(.c-stage) .c-header {
  background: transparent;
  position: absolute;
}

.c-header__wrapper {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  height: 80px;
  padding-block: 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.23);
}
@media (min-width: 48em) {
  .c-header__wrapper {
    padding-inline: 2rem;
  }
}
@media (min-width: 48em) {
  .c-header__wrapper {
    height: 120px;
    padding-block: 1rem;
  }
}

.c-header__logos {
  flex-basis: 350px;
  min-width: 1px;
}
@media (min-width: 48em) {
  .c-header__logos {
    flex-basis: 33.3333%;
    margin-inline-end: 2rem;
  }
}

.c-header__search {
  flex-basis: 26px;
  margin-inline-start: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.2rem;
  height: auto;
}
@media (min-width: 48em) {
  .c-header__search {
    flex-grow: 1;
    height: 48px;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
@media (min-width: 48em) {
  .c-header__search__small-screen {
    display: none;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__search__large-screen {
  width: 100%;
}
@media (max-width: 47.99em) {
  .c-header__search__large-screen {
    display: none;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__search__opener {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: block;
  width: 26px;
  height: 26px;
}
@media (min-width: 48em) {
  .c-header__search__opener {
    display: none;
  }
}
.c-header__search__opener .c-icon {
  width: 26px;
  height: 26px;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__search__content {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #00305d;
  width: 100%;
  padding: 1rem;
  z-index: 20;
}
.c-header__search__content[inert] {
  display: none;
}
@media (min-width: 48em) {
  .c-header__search__content {
    position: inherit;
    background-color: transparent;
    padding: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.2rem;
    height: 48px;
  }
}

.c-header__controls {
  display: flex;
  gap: 0.8rem;
}

.c-header__controls--mobile {
  flex-basis: 26px;
}
@media (min-width: 48em) {
  .c-header__controls--mobile {
    display: none;
  }
}

.c-header__controls--desktop {
  flex-basis: auto;
  display: none;
}
@media (min-width: 48em) {
  .c-header__controls--desktop {
    display: block;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__controls__content {
  position: absolute;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: calc(100dvh - 80px);
  z-index: 10;
  top: 100%;
}
.c-header__controls__content[inert] {
  display: none;
}
@media (max-width: 47.99em) {
  .c-header__controls__content {
    flex-direction: column;
    overflow-y: auto;
  }
}
.c-header__controls__content a {
  color: #00305D;
  text-decoration: none;
}
.c-header__controls__content a:hover {
  text-decoration: underline;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__controls__opener {
  padding: 0;
  border: 0;
  background-color: transparent;
}
body:has(.c-header__controls__opener[aria-expanded=true]) {
  overflow-y: hidden;
}

/* stylelint-disable selector-class-pattern */
.c-header__controls__opener__opener,
.c-header__controls__opener__closer {
  display: flex;
}
.c-header__controls__opener__opener svg,
.c-header__controls__opener__closer svg {
  width: 26px;
  height: 26px;
}

.c-header__controls__opener[aria-expanded=true] .c-header__controls__opener__opener {
  display: none;
}

.c-header__controls__opener__closer {
  display: none;
}
.c-header__controls__opener[aria-expanded=true] .c-header__controls__opener__closer {
  display: block;
}

/* stylelint-enable */
/* stylelint-disable-next-line selector-class-pattern */
.c-header__controls__content--mobile {
  display: none;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-header__controls--desktop .c-header__controls__content {
  height: auto;
  width: auto;
  background-color: inherit;
  position: static;
  top: 0;
  display: flex;
  gap: 1rem;
  place-items: center;
}

.c-header-content {
  display: flex;
  flex-direction: column;
}
@media (min-width: 48em) {
  .c-header-content {
    display: none;
  }
}

.c-header-content__divider {
  border-top: 1px solid #ccc;
  margin-block-start: 24px;
  padding-block: 0.8rem;
}

.c-header-content__contact {
  display: flex;
  flex-direction: column;
}

.c-header-content__phone {
  font-size: 30px;
  font-weight: 700;
}

.c-header-content__email {
  font-size: 16px;
}

.c-header-content__navigation-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-size: 16px;
}
.c-header-content__navigation-list li {
  margin-inline-start: 0;
}

/**
 * [1] Make sure that the image takes up the entire width of its container, no
 *     matter what the intrinsic size of the image is. This is necessary, so
 *     that the spots are always on the same coordinates, no matter the viewport
 *     size.
 * [2] Remove margin for `<figure>` element.
 * [3] Prepare coordinates to be set via inline styles.
 * [4] Ensure that the coordinates are located in the dead center of the spots.
 */
.c-hotspot {
  margin-bottom: 0; /* [2] */
  position: relative;
}

.c-hotspot__image {
  display: flex;
  justify-content: center;
  position: relative;
}
.c-hotspot__image img {
  width: 100%; /* [1] */
}

.c-hotspot__spot {
  --hotspot-spot-offset-x: 0; /* [3] */
  --hotspot-spot-offset-y: 0; /* [3] */
  padding: 0;
  border: 0;
  background-color: transparent;
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: ease;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.6rem;
  height: 1.6rem;
  z-index: 1;
  background-color: #0078ea;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  left: var(--hotspot-spot-offset-x);
  top: var(--hotspot-spot-offset-y);
  transform: translate(-0.8rem, -0.8rem); /* [4] */
  cursor: pointer;
}
@media (max-width: 47.99em) {
  .c-hotspot__spot {
    font-size: 65%;
    width: 1.2rem;
    height: 1.2rem;
  }
}
.c-hotspot__spot:hover::before {
  background-color: rgb(0, 120, 234);
}
.c-hotspot__spot.is-active {
  background-color: #f07d1b;
  z-index: 2;
}
.c-hotspot__spot.is-active::before {
  background-color: rgba(230, 119, 0, 0.5);
}
.c-hotspot__spot::before {
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: ease;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 2.6rem;
  height: 2.6rem;
  background-color: rgba(0, 120, 234, 0.5);
  border-radius: 50%;
  transform: translate(-0.5rem, -0.5rem);
  content: "";
}
@media (max-width: 47.99em) {
  .c-hotspot__spot::before {
    width: 1.6rem;
    height: 1.6rem;
    transform: translate(-0.2rem, -0.2rem);
  }
}

.c-hotspot__captions {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media (min-width: 48em) {
  .c-hotspot__captions {
    padding-inline: 2rem;
  }
}

.c-hotspot__caption {
  font-size: 0.9523809524rem;
  line-height: 1.4rem;
  flex-shrink: 0;
  display: none;
  max-width: calc(100vw - 1.2rem - 1.2rem);
  border-radius: 4px;
  background-color: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}
@media (min-width: 48em) {
  .c-hotspot__caption {
    width: 100%;
    max-width: 60ch;
  }
}
.c-hotspot__caption.is-visible {
  display: flex;
  position: relative;
}
.c-hotspot__caption > *:last-child {
  margin-bottom: 0;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-hotspot__caption__body {
  padding-block: 0.5rem;
  padding-inline-start: 0.8rem;
  min-width: 250px;
}

.c-hotspot__caption-header {
  flex-basis: 100%;
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.3rem;
}

.c-hotspot__caption-text > *:last-child {
  margin-bottom: 0;
}

.c-hotspot__caption-title {
  font-size: 0.9523809524rem;
  line-height: 1.4rem;
  margin-right: auto;
  margin-bottom: 0;
}
/* stylelint-disable-next-line selector-class-pattern */
.c-hotspot__caption__link {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  flex-basis: calc(1rem + 1rem);
  padding-inline: 1rem;
}
.c-hotspot__caption__link svg {
  width: 1rem;
  height: 1rem;
}

.c-hotspot__caption-close {
  padding: 0;
  border: 0;
  background-color: transparent;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-hotspot__caption-close__icon {
  display: flex;
  align-items: center;
}
.c-hotspot__caption-close__icon svg {
  width: 1rem;
  height: 1rem;
}

.c-icon {
  width: 1rem;
  height: 1rem;
}

@media (min-width: 48em) {
  .c-language-menu {
    position: relative;
  }
}

.c-language-menu__opener-icon {
  display: flex;
}

.c-language-menu--inverted .c-language-menu__opener {
  color: #00305D;
}

.c-language-menu--inverted .c-language-menu__opener-icon svg path {
  fill: #00305D;
}

.c-language-menu__opener {
  background-color: transparent;
  border: none;
  width: 100%;
  text-align: left;
  padding: 0;
  color: #fff;
  gap: 0.5rem;
  display: flex;
  justify-content: left;
  align-items: center;
  padding-inline: 8px;
}

.c-language-menu__overlay {
  background-color: white;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2509803922);
  border-radius: 12px;
  padding: 1.2rem;
  position: absolute;
  top: 44px;
  z-index: 1;
}
.c-language-menu__overlay[inert] {
  display: none;
}

.c-language-menu__opener[aria-expanded=true] .c-language-menu__opener-icon svg {
  transform: rotate(180deg);
}

.c-language-menu__language-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.c-language-menu__language-list li {
  margin-inline-start: 0;
}

/* stylelint-disable-line length-zero-no-unit */
/* stylelint-disable-next-line scss/dollar-variable-pattern */
/**
 * [1] Override global outline-offset to be inset (negative), so that the
 *     outline is not clipped by the `overflow` set by the list.
 * [2] Hide original browser icon.
 */
.c-finder {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  position: relative;
  top: calc(4rem / 2 + 0px);
}
@media (min-width: 48em) {
  .c-finder {
    padding-inline: 2rem;
  }
}

.c-finder__title {
  font-size: 1.157625rem;
  line-height: 1.6rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-finder__title {
    font-size: 1.728rem;
  }
}
@media screen and (min-width: 768px) {
  .c-finder__title {
    line-height: 2.4rem;
  }
}

.c-finder__form {
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}
@media (min-width: 48em) {
  .c-finder__form {
    display: flex;
  }
}

.c-finder__item {
  display: flex;
  flex-grow: 1;
}
@media (max-width: 47.99em) {
  .c-finder__item:not(:first-child) {
    border-block-start: 1px solid #ccc;
  }
}
@media (min-width: 48em) {
  .c-finder__item:not(:first-child) {
    border-inline-start: 1px solid #ccc;
  }
}

.c-finder__select {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.c-finder__select select {
  align-self: stretch;
  width: 100%;
  height: 2.6rem;
  border: 0;
  padding-inline: 1.2rem;
  color: #00305d;
  background: transparent;
  /* stylelint-disable */
  -moz-appearance: none; /* [2] */
  -webkit-appearance: none; /* [2] */
  appearance: none; /* [2] */
  /* stylelint-enable */
}
.c-finder__select select:focus-visible {
  outline-offset: -3px; /* [1] */
}
@media (min-width: 48em) {
  .c-finder__select select {
    height: 4rem;
    padding-inline: 2.4rem;
    padding-block: 0px;
  }
}
.c-finder__select svg {
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 1.2rem;
  pointer-events: none;
}
@media (min-width: 48em) {
  .c-finder__select svg {
    right: calc(2.4rem - 1rem);
  }
}

.c-finder__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  flex-grow: 1;
  display: block;
  min-height: 2.6rem;
  padding-inline: 2.4rem;
  background-color: #00305d;
  color: #fff;
}
@media (max-width: 47.99em) {
  .c-finder__button {
    width: 100%;
    border-bottom-right-radius: 12px;
    border-bottom-left-radius: 12px;
  }
}
@media (min-width: 48em) {
  .c-finder__button {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
  }
}

.c-stage {
  padding-block-start: calc(120px + 1.2rem);
  padding-block-end: 1.2rem;
  margin-block-end: calc(4rem / 2 + 0px);
  background: radial-gradient(63.65% 49.32% at 62.81% 77.23%, #0468C6 0%, #002344 100%);
}
@media (min-width: 48em) {
  .c-stage {
    padding-block-start: calc(120px + 1.2rem);
  }
}

.c-stage__header {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  display: flex;
  justify-content: center;
}
@media (min-width: 48em) {
  .c-stage__header {
    padding-inline: 2rem;
  }
}
@media (min-width: 48em) {
  .c-stage__header {
    justify-content: flex-start;
  }
}

.c-stage__title {
  color: #fff;
  font-size: 1.2762815625rem;
  line-height: 1.8rem;
}
@media screen and (min-width: 768px) {
  .c-stage__title {
    font-size: 2.48832rem;
  }
}
@media screen and (min-width: 768px) {
  .c-stage__title {
    line-height: 3.6rem;
  }
}

.c-stage__body {
  display: flex;
  flex-direction: column;
}
@media (min-width: 48em) {
  .c-stage__body {
    margin-inline-start: -20vw;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
  }
}

/**
 * [1] Prevent overflow.
 */
.c-top-search {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 2.6rem;
  border-radius: 1.3rem;
  background-color: #fff;
  width: 100%;
  position: relative;
}
.c-top-search:has(.c-top-search__input:focus-visible) {
  outline: 3px solid #f07d1b;
}

.c-top-search__input {
  min-width: 1px; /* [1] */
  background: none;
  flex-grow: 1;
  align-self: stretch;
  padding: 0;
  margin: 0;
  border: 0;
  padding-inline: 1rem;
}
.c-top-search__input:focus-visible {
  outline: none;
}

.c-top-search__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  padding-inline-end: 0.5rem;
}
.c-top-search__button svg {
  display: flex;
  width: 1.2rem;
  height: 1.2rem;
  fill: #00305d;
}

.c-top-search__qr-code {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  align-items: center;
  padding-inline-start: 0.5rem;
  padding-inline-end: 1rem;
  border-inline-start: 1px solid #00305d;
}
.c-top-search__qr-code svg {
  display: flex;
  width: 1.2rem;
  height: 1.2rem;
  fill: #00305d;
}

.c-top-search__filter {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  align-items: center;
  padding-inline-start: 0.5rem;
  padding-inline-end: 0.5rem;
  border-inline-start: 1px solid #00305d;
}
.c-top-search__filter svg {
  display: flex;
  width: 1.2rem;
  height: 1.2rem;
  fill: #00305d;
}

.c-top-search__filter-dropdown,
.c-top-search__dropdown {
  width: 100%;
  position: absolute;
  top: calc(100% + 0.2rem);
  left: 0;
  z-index: 40;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}

.c-top-search__filter-dropdown {
  padding-block: 0.8rem;
  padding-inline: 0.8rem;
}
.c-top-search__filter-dropdown[inert] {
  display: none;
}

.c-top-search__dropdown {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: 400px;
  overflow-x: hidden;
}
.c-top-search__dropdown li {
  margin-inline-start: 0;
}

.c-top-search__dropdown-item:not(:last-child) {
  border-block-end: 1px solid #ccc;
}

.c-top-search__dropdown-link {
  display: block;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  color: #00305d;
  text-decoration: none;
}
.c-top-search__dropdown-link:focus-visible {
  outline-offset: -3px;
}
.c-top-search__dropdown-link:hover {
  background-color: #e6eaef;
}

.c-user-menu__profile {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: start;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 48em) {
  .c-user-menu__profile {
    position: relative;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__profile-opener[aria-expanded=true] .c-user-menu__profile__opener-icon {
  transform: rotate(180deg);
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__profile__image {
  height: 38px;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__profile__name {
  flex: 1;
  font-size: 20px;
  white-space: nowrap;
}

.c-user-menu__profile-opener {
  background-color: transparent;
  border: none;
  width: 100%;
  text-align: left;
  padding: 0;
  color: #fff;
  gap: 0.5rem;
  display: flex;
  justify-content: left;
  align-items: center;
  padding-inline: 0.5rem;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__profile__opener-icon {
  display: flex;
  justify-self: right;
}

.c-user-menu__overlay {
  background-color: #fff;
  border-radius: 12px;
  padding: 1.2rem;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  top: 50px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.2509803922);
}
.c-user-menu__overlay[inert] {
  display: none;
}
@media (min-width: 48em) {
  .c-user-menu__overlay {
    position: absolute;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__overlay__content {
  display: block;
  width: 247px;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-user-menu__overlay__content button {
  width: 100%;
}

.c-user-menu-mobile__wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.c-user-menu-mobile__title {
  font-size: 22px;
  color: #002B5B;
}

.c-user-menu-mobile__user-content {
  padding-block-start: 1.2rem;
}

.c-user-menu-mobile__user-content button {
  width: 100%;
}

.c-page-title {
  font-size: 1.2762815625rem;
  line-height: 1.8rem;
  font-size: 1.157625rem;
  line-height: 1.6rem;
  hyphens: auto;
  word-break: break-word;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .c-page-title {
    font-size: 2.48832rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title {
    line-height: 3.6rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title {
    font-size: 1.728rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title {
    line-height: 2.4rem;
  }
}
.c-page-title.c-page-title--small {
  font-size: 1.2762815625rem;
  line-height: 1.8rem;
  font-size: 1.157625rem;
  line-height: 1.6rem;
  hyphens: auto;
  word-break: break-word;
}
@media screen and (min-width: 768px) {
  .c-page-title.c-page-title--small {
    font-size: 2.48832rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title.c-page-title--small {
    line-height: 3.6rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title.c-page-title--small {
    font-size: 1.728rem;
  }
}
@media screen and (min-width: 768px) {
  .c-page-title.c-page-title--small {
    line-height: 2.4rem;
  }
}

.c-page-title__title {
  margin-block-end: 0;
}

.c-filter {
  display: flex;
  gap: 1.2rem;
}
@media (max-width: 47.99em) {
  .c-filter {
    flex-direction: column;
  }
}
@media (min-width: 48em) {
  .c-filter {
    flex-wrap: wrap;
    align-items: center;
  }
}

.c-filter__items {
  flex-grow: 1;
  flex-shrink: 0;
  display: flex;
  gap: 0.8rem;
}
@media (max-width: 47.99em) {
  .c-filter__items {
    flex-direction: column;
  }
}

@media (max-width: 47.99em) {
  .c-filter__search {
    flex-grow: 1;
  }
}
@media (min-width: 48em) {
  .c-filter__search {
    flex-basis: 300px;
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-filter__search__input {
  display: flex;
  align-items: center;
  position: relative;
}
.c-filter__search__input input {
  min-height: 2.6rem;
  width: 100%;
  padding-inline: 0.8rem;
  padding-inline-end: calc(0.8rem + 1rem + 0.8rem);
  border: 0;
  border-radius: 12px;
  background-color: #e6eaef;
}
.c-filter__search__input svg {
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 0.8rem;
}

.c-filter__chips {
  flex-basis: 100%;
}

.c-filter__information-box {
  margin-block: 2rem;
  width: 100%;
}

.c-results {
  position: relative;
}

.c-results__counter {
  font-weight: 700;
}

@media (min-width: 48em) {
  .c-results__list-wrapper {
    position: inherit;
    display: grid;
    grid-template-columns: 1fr 0.45fr;
  }
  .c-results__list-wrapper.c-results__list-wrapper--active {
    transition-property: all;
    transition-duration: 300ms;
    transition-timing-function: ease;
  }
  .c-results__list-wrapper.c-results__list-wrapper--one-col {
    grid-template-columns: 1fr 0fr;
  }
}

.c-results__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  height: fit-content;
}
.c-results__list li {
  margin-inline-start: 0;
}

.c-results__chatbot {
  padding-inline-start: 1rem;
  z-index: 30;
}
@media (max-width: 47.99em) {
  .c-results__list-wrapper--one-col .c-results__chatbot {
    position: fixed;
    bottom: 0;
    right: 0;
    top: 0;
    left: 0;
  }
}
@media (min-width: 48em) {
  .c-results__list-wrapper--one-col .c-results__chatbot {
    position: absolute;
    right: 0;
  }
}
@media (min-width: 48em) {
  .c-results__chatbot {
    padding-inline-start: 1rem;
  }
}
@media (max-width: 47.99em) {
  .c-results__chatbot {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    position: fixed;
    bottom: 0;
    right: 0;
    top: 0;
    left: 0;
    pointer-events: none;
  }
}

.c-pagination {
  font-size: 0.9523809524rem;
  line-height: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
}
@media (min-width: 48em) {
  .c-pagination__counter {
    margin-inline-end: auto;
  }
}

.c-pagination__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  justify-content: center;
  align-items: center;
}
.c-pagination__list li {
  margin-inline-start: 0;
}
@media (min-width: 48em) {
  .c-pagination__list {
    margin-inline-start: auto;
  }
}

.c-pagination__item.c-pagination__item--next {
  order: 1;
}

.c-pagination__link {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.6rem;
  min-width: 2.6rem;
  color: #00305d;
  text-decoration: none;
  font-weight: 700;
  border-radius: 4px;
}
.c-pagination__link[aria-current] {
  background-color: #00305d;
  color: #fff;
}

.c-pagination__icon svg {
  width: 1rem;
  height: 1rem;
  fill: #00305d;
}

.c-billboard {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 2.4rem;
  padding-inline: 1.2rem;
  position: relative;
}

.c-billboard__image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-billboard__title {
  font-size: 1.21550625rem;
  line-height: 1.8rem;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-billboard__title {
    font-size: 2.0736rem;
  }
}
@media screen and (min-width: 768px) {
  .c-billboard__title {
    line-height: 3rem;
  }
}

.c-combobox {
  position: relative;
}

.c-combobox__input {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.6rem;
  padding-inline: 0.8rem;
  border: 1px solid #828282;
  border-radius: 1.3rem;
  cursor: pointer;
}
@media (max-width: 47.99em) {
  .c-combobox__input {
    width: 100%;
  }
}
.c-combobox__input[aria-expanded=true] svg {
  transform: rotate(0.5turn);
}
.c-combobox__input svg {
  width: 1rem;
  height: 1rem;
}

.c-combobox__counter {
  font-size: 0.9523809524rem;
  line-height: 1;
  margin-inline-end: auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 1.2rem;
  min-width: 1.2rem;
  background-color: #00305d;
  color: #fff;
  border-radius: 4px;
}
.c-combobox__dialog {
  min-width: 400px;
  position: absolute;
  top: calc(100% + 0.3rem);
  z-index: 1;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}
@media (max-width: 47.99em) {
  .c-combobox__dialog {
    min-width: initial;
    width: calc(100vw - 1.2rem - 1.2rem);
  }
}

/* stylelint-disable-next-line selector-class-pattern */
.c-combobox__dialog__header {
  margin-inline: 1.2rem;
  padding-block: 1.2rem;
  border-block-end: 1px solid #00305d;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-combobox__dialog__search {
  position: relative;
  display: flex;
  align-items: center;
}
.c-combobox__dialog__search svg {
  order: 1;
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 0.5rem;
}
.c-combobox__dialog__search input {
  height: 2.6rem;
  width: 100%;
  padding-inline: 0.5rem;
  padding-inline-end: calc(0.5rem + 1rem + 0.5rem);
  border: 1px solid #00305d;
  border-radius: 1.3rem;
  background-color: #fff;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-combobox__dialog__body {
  max-height: 400px;
  padding: 1.2rem;
  overflow-y: auto;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-combobox__dialog__footer {
  display: flex;
}
.c-combobox__dialog__footer > * {
  flex-basis: 50%;
  flex-grow: 1;
  flex-shrink: 0;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-combobox__dialog__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 2.6rem;
  background-color: #00305d;
  color: #fff;
  padding-inline: 1.2rem;
  cursor: pointer;
  text-decoration: none;
  /* stylelint-disable-next-line selector-class-pattern */
}
@media screen and (min-width: 768px) {
  .c-combobox__dialog__button {
    font-size: 1rem;
  }
}
.c-combobox__dialog__button.c-combobox__dialog__button--secondary {
  background-color: #fff;
  color: #00305d;
  border: 1px solid #00305d;
}

.c-chip {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding-inline: 1rem;
  padding-block: 0.3rem;
  border: 1px solid #828282;
  border-radius: 1rem;
}
.c-chip.is-highlighted {
  border-color: #0078ea;
}

.c-chip__label {
  font-size: 0.9523809524rem;
  line-height: 1;
}
.c-chip.is-highlighted .c-chip__label {
  color: #0078ea;
}

.c-chip__remove {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.c-chip__remove svg {
  width: 1rem;
  height: 1rem;
  fill: inherit;
}
.c-chip.is-highlighted .c-chip__remove svg {
  fill: #0078ea;
}

.c-chip__link {
  color: inherit;
}

.c-chip-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.c-chip-list li {
  margin-inline-start: 0;
}

.c-tag {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  min-height: 2rem;
  padding-inline: 1rem;
  padding-block: 0.3rem;
  border: 1px solid #828282;
  border-radius: 1rem;
}
.c-tag.is-highlighted {
  border-color: #0078ea;
}
.c-tag[disabled] {
  color: #e6eaef;
  border-color: #f3f3f3;
  cursor: unset;
}

.c-tag__label {
  font-size: 0.9523809524rem;
  line-height: 1;
}
.c-tag.is-highlighted .c-tag__label {
  color: #0078ea;
}

.c-tag-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.c-tag-list li {
  margin-inline-start: 0;
}
.c-tag-list.c-tag-list--align-right {
  justify-content: end;
}

.c-checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: relative;
}
.c-checkbox .c-icon {
  flex-basis: 1.6rem;
  flex-shrink: 0;
  flex-grow: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid #828282;
  border-radius: 4px;
  fill: #fff;
}

.c-checkbox__input {
  width: 1.6rem;
  height: 1.6rem;
  position: absolute;
  opacity: 0;
}

.c-checkbox__input:focus-visible ~ .c-icon {
  outline: 3px solid #0078ea;
  outline-offset: 3px;
}

.c-checkbox__input:checked ~ .c-icon {
  border-color: #00305d;
  background-color: #00305d;
}

.c-checkbox-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-checkbox-list li {
  margin-inline-start: 0;
}

.c-checkbox-list__item:not(:last-child) {
  margin-block-end: 0.8rem;
}

.c-product-card {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0.8rem;
  border: 1px solid #ccc;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
  height: 100%;
}

.c-product-card__title {
  font-size: 1rem;
  line-height: calc((1.4rem) + -0.2rem);
  margin-block-end: 0.3rem;
}
@media screen and (min-width: 768px) {
  .c-product-card__title {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-product-card__title {
    line-height: calc((1.4rem) + -0.2rem);
  }
}

.c-product-card__vin {
  font-size: 0.9523809524rem;
  line-height: 1;
}
.c-product-card__rating {
  margin-bottom: 0.8rem;
}

.c-product-card__controls {
  display: flex;
  gap: 0.3rem;
}

.c-icon-only-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 1.2rem;
  height: 1.2rem;
  fill: #f07d1b;
}
.c-icon-only-button svg {
  width: 1.2rem;
  height: 1.2rem;
}

.c-icon-only-button__icon {
  width: 1.2rem;
  height: 1.2rem;
}

.c-rating {
  font-size: 0.9070294785rem;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.c-rating__icon svg {
  width: 1rem;
  height: 1rem;
  fill: #f07d1b;
}

.c-product-card__body {
  flex: 1 1 auto;
}

.c-product-card__footer {
  margin-top: auto;
}

/**
 * [1] Override global outline-offset to be inset (negative), so that the
 *     outline is not clipped by the `overflow` set by the list.
 * [2] Enable animation of the panel with load more.
 */
.c-tabbed .c-form-input__input:has(:focus-visible) {
  outline-offset: -3px;
}

.c-tabbed__list-wrapper {
  position: relative;
}
.c-tabbed__list-wrapper::after {
  width: 2rem;
  height: 100%;
  background-image: linear-gradient(to right, transparent, #fff);
  position: absolute;
  top: 0;
  right: 0;
  content: "";
}

.c-tabbed__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 0.5rem;
  padding-inline-end: 2rem;
  overflow-x: auto;
  border-block-end: 2px solid #ccc;
}
.c-tabbed__list li {
  margin-inline-start: 0;
}

@media (min-width: 48em) {
  .c-tabbed.c-tabbed--full .c-tabbed__item {
    flex-grow: 1;
  }
}

.c-tabbed__link {
  font-size: 1.05rem;
  line-height: 1;
  display: flex;
  padding-inline: 0.5rem;
  padding-block: 0.5rem;
  color: #00305d;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-tabbed__link {
    font-size: 1.2rem;
  }
}
@media (min-width: 48em) {
  .c-tabbed.c-tabbed--full .c-tabbed__link {
    justify-content: center;
  }
}
.c-tabbed__link:focus-visible {
  outline-offset: -3px; /* [1] */
}
.c-tabbed__link[aria-selected=true]::after {
  background-color: #f07d1b;
}
.c-tabbed__link::after {
  width: 100%;
  height: 3px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: transparent;
  content: "";
}

.c-tabbed__panels {
  max-height: 100%;
  overflow: hidden;
  position: relative;
}
.c-tabbed__panels::after {
  width: 100%;
  height: 1.2rem;
  position: absolute;
  left: 0;
  bottom: 0;
  background-image: linear-gradient(to bottom, transparent, #fff);
  content: "";
}
.c-tabbed__panels.is-closed {
  max-height: 175px;
}

.c-tabbed__panel {
  padding-block: 1.2rem;
}

@media (min-width: 48em) {
  .c-tabbed__panel-text p {
    columns: 2;
    column-gap: 1.2rem;
  }
}

.c-tabbed__footer {
  display: flex;
  justify-content: center;
}

.c-tabbed__panel-section {
  padding-block: 1.2rem;
}
.c-tabbed__panel-section:first-child {
  padding-block-start: 0;
}
.c-tabbed__panel-section:last-child {
  padding-block-end: 0;
}

.c-product-detail {
  display: grid;
  gap: 0.8rem;
  grid-template-areas: "back" "header" "gallery" "box";
}
@media (min-width: 48em) {
  .c-product-detail {
    grid-template-areas: "back back" "gallery header" "gallery box";
    grid-template-columns: calc(58.3333333333% - 0.4rem) calc(41.6666666667% - 0.4rem);
    grid-template-rows: auto minmax(3lh, auto) 1fr;
  }
}

.c-product-detail__back {
  grid-area: back;
}

.c-product-detail__header {
  grid-area: header;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.c-product-detail__page-title {
  flex-basis: 100%;
  margin-block-end: 1rem;
}

.c-product-detail__gallery {
  grid-area: gallery;
}

.c-product-detail__box {
  grid-area: box;
}

.c-product-detail__features,
.c-product-detail__variants {
  margin-block-end: calc(2rem + 2rem);
  position: relative;
}
.c-product-detail__features::after,
.c-product-detail__variants::after {
  display: block;
  width: 100%;
  margin-block-start: 2rem;
  border-block-end: 1px solid #ccc;
  position: absolute;
  top: 100%;
  left: 0;
  content: "";
}

.c-product-detail__features {
  padding: 0.8rem;
  background-color: #e6eaef;
}

.c-product-detail__buttons {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.c-text-media {
  display: flex;
  gap: 2.4rem;
}
@media (max-width: 47.99em) {
  .c-text-media {
    flex-direction: column;
  }
}

.c-text-media__media,
.c-text-media__body {
  flex-basis: calc(50% - 2.4rem / 2);
  flex-shrink: 0;
  flex-grow: 0;
}

/**
 * [1] Prevent a cut-off from the product card’s shadow provoked by overflow
 *     set by flickity.
 */
.c-product-slider {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-inline: -0.5rem;
}
.c-product-slider li {
  margin-inline-start: 0;
}

.c-product-slider__item {
  padding-block: 12px; /* [1] */
  padding-inline: calc(1rem / 2);
  width: 100%;
}
@media (min-width: 37.5em) {
  .c-product-slider__item {
    width: 50%;
  }
}
@media (min-width: 56.25em) {
  .c-product-slider__item {
    width: 25%;
  }
}

.c-chat-bot {
  box-shadow: 0 1px 32px 0 rgba(0, 0, 0, 0.1607843137), 0 6px 8px 0 rgba(0, 0, 0, 0.0705882353), 0 2px 3px -1px rgba(0, 0, 0, 0.1019607843);
  border-radius: 12px;
  background-color: #fff;
  max-height: 100dvh;
  overflow-y: auto;
}
@media (max-width: 47.99em) {
  .c-chat-bot {
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    top: 0;
    z-index: 30;
    width: 95%;
    display: flex;
    flex-direction: column;
  }
}

.c-chat-bot__header {
  background: #e6eaef;
  border-radius: 12px;
  display: grid;
  color: #00305d;
  padding-block: 0;
  padding-inline: 1.2rem;
  padding-inline-start: 0;
  grid-template-columns: auto 1fr auto;
  gap: 1rem;
}

.c-chat-bot__body {
  display: flex;
  gap: 0.8rem;
  flex-direction: column;
  overflow-y: auto;
  padding-block-start: 1.2rem;
  padding-inline: 1.2rem;
}

.c-chat-bot__body p {
  margin: 0;
}

.c-chat-bot__footer {
  padding-block-end: 1.2rem;
  padding-inline: 1.2rem;
}

/** header **/
/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__image-wrapper {
  padding-block: 1rem;
  padding-inline: 1.2rem;
  background-color: #f07d1b;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__image {
  width: 48px;
  height: 48px;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__information {
  font-size: 20px;
  line-height: 25px;
  padding-block: 1rem;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__name {
  font-weight: 700;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__controls {
  display: flex;
  gap: 0.5rem;
  align-items: self-start;
  padding-block: 1rem;
}
.c-chat-bot__header__controls svg,
.c-chat-bot__header__controls svg * {
  fill: #00305d;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__controls__close svg {
  width: 15px;
  height: 15px;
}

/* stylelint-disable-next-line selector-class-pattern */
.c-chat-bot__header__controls button {
  padding: 0;
  border: 0;
  background-color: transparent;
  height: 24px;
  width: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/** messages **/
.c-chat-bot__message-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 80%;
  margin-block-end: 0.5rem;
}

.c-chat-bot__message-wrapper p {
  display: inline;
  padding-inline: 1.2rem;
  padding-block: 0.5rem;
  border-radius: 24px;
}

.c-chat-bot__message-wrapper--incoming {
  align-self: start;
}

.c-chat-bot__message-wrapper--outgoing,
.c-chat-bot__message-wrapper--outgoing-neutral {
  align-self: end;
}

.c-chat-bot__message-wrapper--incoming p {
  background-color: #e6eaef;
}

.c-chat-bot__message-wrapper--incoming p:last-child {
  border-radius: 24px 24px 24px 0;
}

.c-chat-bot__message-wrapper--outgoing p {
  background-color: #00305d;
  color: #fff;
}

.c-chat-bot__message-wrapper--outgoing p:last-child {
  border-radius: 24px 24px 0;
}

.c-chat-bot__message-wrapper--button {
  max-width: 100%;
}
.c-chat-bot__message-wrapper--button button {
  padding: 0;
  border: 0;
  background-color: transparent;
  padding-block: 0.8rem;
  padding-inline: 2.4rem;
  border-radius: 4px;
  background-color: #00305d;
  color: #fff;
}

/** inputs **/
.c-chat-bot__input-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  padding-block-start: 1.2rem;
}

.c-chat-bot__input {
  width: 100%;
  padding-block: 1rem;
  padding-inline: 1.2rem;
  padding-inline-end: calc(1.2rem + 1.6rem + 0.5rem);
  border-radius: 0.8rem;
  background-color: #fff;
  border: 1px solid #828282;
}
.c-chat-bot__input ~ button {
  padding: 0;
  border: 0;
  background-color: transparent;
  position: absolute;
  right: 1.2rem;
  height: 1.6rem;
  width: 1.6rem;
}

.c-chat-bot__input-icon svg {
  width: 1.6rem;
  height: 1.6rem;
}

.c-chat-bot__dropdown {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  max-height: 400px;
  position: absolute;
  bottom: calc(100% + 0.5rem - 1.2rem);
  z-index: 1;
  overflow-x: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
}
.c-chat-bot__dropdown li {
  margin-inline-start: 0;
}

.c-chat-bot__dropdown-item:not(:last-child) {
  border-block-end: 1px solid #ccc;
}

.c-chat-bot__dropdown-link {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: block;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  color: #00305d;
  text-decoration: none;
  position: static;
  width: 100%;
  height: auto;
  text-align: left;
}
.c-chat-bot__dropdown-link:focus-visible {
  outline-offset: -3px;
}
.c-chat-bot__dropdown-link:hover {
  background-color: #e6eaef;
}

.c-chat-bot-overlay {
  pointer-events: none;
}
@media (min-width: 48em) {
  .c-chat-bot-overlay {
    position: sticky;
    top: 0.3rem;
    margin-top: -100px;
  }
  .c-chat-bot-overlay.c-chat-bot-overlay--stage {
    margin-inline: auto;
    padding-inline: 1.2rem;
    max-width: 1466px;
    display: flex;
    justify-content: flex-end;
    position: fixed;
    width: 100%;
    right: 50%;
    top: inherit;
    bottom: 0;
    z-index: 1;
    margin-top: 0;
    transform: translateX(50%);
  }
}
@media (min-width: 48em) and (min-width: 48em) {
  .c-chat-bot-overlay.c-chat-bot-overlay--stage {
    padding-inline: 2rem;
  }
}

.c-chat-bot-overlay__floating-action-button {
  pointer-events: auto;
}
@media (min-width: 48em) {
  .c-chat-bot-overlay__floating-action-button {
    margin-bottom: 1.2rem;
  }
}
@media (max-width: 47.99em) {
  .c-chat-bot-overlay__floating-action-button {
    margin-block-end: 0.8rem;
    margin-inline-end: 0.8rem;
  }
}

.c-chat-bot-overlay__content {
  pointer-events: auto;
}
.c-chat-bot-overlay.c-chat-bot-overlay--stage .c-chat-bot-overlay__content {
  max-width: 480px;
}

.c-gallery__detail {
  margin-block-end: 0.3rem;
}

.c-gallery__detail-image {
  border: 1px solid #ccc;
}

.c-gallery__thumbs {
  gap: 0.3rem;
}
@media (max-width: 47.99em) {
  .c-gallery__thumbs {
    display: flex;
    overflow-x: auto;
  }
}
@media (min-width: 48em) {
  .c-gallery__thumbs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

@media (max-width: 47.99em) {
  .c-gallery__thumb {
    flex-basis: 27.5%;
    flex-shrink: 0;
  }
}

.c-gallery-thumb-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 100%;
}

.c-gallery__thumb-image {
  width: 100%;
  border: 1px solid #ccc;
}

/**
 * [1] Center the icon with the first line of the label.
 */
.c-icon-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.c-icon-list li {
  margin-inline-start: 0;
}

.c-icon-list__item {
  font-size: 0.9523809524rem;
  line-height: 1.4rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
.c-icon-list__icon {
  height: 1lh; /* [1] */
  display: flex; /* [1] */
  align-items: center; /* [1] */
}
.c-icon-list__icon svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #f07d1b;
}

.c-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #00305d;
  text-decoration: underline;
  white-space: nowrap;
}

.c-link__icon {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-link__icon svg {
  width: 1rem;
  height: 1rem;
  fill: currentcolor;
}

.c-toggle-image {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
}

.c-toggle-image__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  border: 1px solid #ccc;
}
.c-toggle-image__button[aria-pressed=true] {
  border-color: #00305d;
  outline: 3px solid #00305d;
}

.c-toggle-image-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.c-toggle-image-list li {
  margin-inline-start: 0;
}

.c-toggle-image-list__title {
  display: block;
  margin-block-end: 0.5rem;
  font-weight: 700;
}

.c-download-link {
  display: flex;
  align-items: flex-start;
  gap: 0.3rem;
  color: #00305d;
  text-decoration: none;
}

.c-download-link__icon {
  height: 1lh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-download-link__icon svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentcolor;
}

.c-download-link-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.c-download-link-list li {
  margin-inline-start: 0;
}

dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-block-end: 0;
}
dl dt,
dl dd {
  flex-basis: 100%;
  flex-grow: 0;
  flex-shrink: 0;
  margin: 0;
}
@media (min-width: 48em) {
  dl dt,
  dl dd {
    padding-block: 0.3rem;
    flex-basis: 50%;
  }
}
dl dt {
  padding-block-start: 0.3rem;
}
@media (min-width: 48em) {
  dl dt {
    padding-inline-end: calc(1.2rem / 2);
  }
}
dl dt:not(:first-child) {
  border-block-start: 1px solid #ccc;
}
@media (min-width: 48em) {
  dl dt:not(:first-child) + dd {
    border-block-start: 1px solid #ccc;
  }
}
dl dd {
  padding-block-end: 0.3rem;
  padding-inline-start: 1.2rem;
  font-weight: 700;
}
@media (min-width: 48em) {
  dl dd {
    padding-inline-start: calc(1.2rem / 2);
  }
}
@media (min-width: 48em) {
  dl dd + dd {
    margin-inline-start: 50%;
  }
}

/**
 * [1] Override global outline-offset to be inset (negative), so that the
 *     outline is not clipped by the `overflow` set by the table.
 */
.c-table {
  overflow-x: auto;
}

.c-table__wrapper {
  min-width: 800px;
}

.c-table__table {
  width: 100%;
}
.c-table__table thead th {
  text-align: left;
}
.c-table__table th,
.c-table__table td {
  padding-block: 0.3rem;
  padding-inline: 0.5rem;
}
.c-table__table td {
  border-block-start: 1px solid #ccc;
}

.c-table__search {
  display: flex;
  align-items: center;
  margin-block-end: 1.2rem;
  position: relative;
}
.c-table__search input {
  width: 100%;
  height: 2.6rem;
  padding-inline: 0.8rem;
  padding-inline-start: calc(0.8rem + 1.2rem + 0.3rem);
  border: 0;
  border-radius: 12px;
  background-color: #e6eaef;
}
.c-table__search input:focus-visible {
  outline-offset: -3px; /* [1] */
}

.c-table__search-icon {
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  left: 0.8rem;
}
.c-table__search-icon svg {
  width: 1.2rem;
  height: 1.2rem;
}

.c-accordion__title {
  font-size: 1.1025rem;
  line-height: 1.6rem;
}
@media screen and (min-width: 768px) {
  .c-accordion__title {
    font-size: 1.44rem;
  }
}
@media screen and (min-width: 768px) {
  .c-accordion__title {
    line-height: 2rem;
  }
}

.c-accordion__item {
  border-block-start: 1px solid #ccc;
}
.c-accordion__item:last-child {
  border-block-end: 1px solid #ccc;
}

.c-accordion__item-title {
  margin-block-end: 0;
}

.c-accordion__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  font-size: 1.05rem;
  line-height: 1.4rem;
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-block: 0.5rem;
  text-align: left;
  color: #00305d;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-accordion__button {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-accordion__button {
    line-height: 1.8rem;
  }
}

.c-accordion__button[aria-expanded=true] .c-accordion__icon {
  transform: rotate(0.5turn);
}

.c-accordion__item-panel {
  padding-block-end: 0.8rem;
}
.c-accordion__item-panel > *:last-child {
  margin-block-end: 0;
}

.c-section-header__title {
  font-size: 1.21550625rem;
  line-height: 1.8rem;
  margin-block-end: 0;
}
@media screen and (min-width: 768px) {
  .c-section-header__title {
    font-size: 2.0736rem;
  }
}
@media screen and (min-width: 768px) {
  .c-section-header__title {
    line-height: 3rem;
  }
}
.c-section-header__title:is(h3), .c-section-header__title.c-section-header__title--smaller {
  font-size: 1.157625rem;
  line-height: 1.6rem;
}
@media screen and (min-width: 768px) {
  .c-section-header__title:is(h3), .c-section-header__title.c-section-header__title--smaller {
    font-size: 1.728rem;
  }
}
@media screen and (min-width: 768px) {
  .c-section-header__title:is(h3), .c-section-header__title.c-section-header__title--smaller {
    line-height: 2.4rem;
  }
}

.c-back-to-top {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding-block: 0.8rem;
  text-decoration: none;
}
@media (min-width: 48em) {
  .c-back-to-top {
    padding-inline: 2rem;
  }
}

.c-back-to-top__icon {
  display: flex;
  align-items: center;
  fill: currentcolor;
}
.c-back-to-top__icon svg {
  width: 1rem;
  height: 1rem;
}

/**
 * [1] Make sure, all content inside each item fills the entire available
 *     space.
 */
.c-form {
  margin-inline: auto;
  padding-inline: 1.2rem;
  max-width: 1466px;
  max-width: 900px;
  padding-inline: 0;
}
@media (min-width: 48em) {
  .c-form {
    padding-inline: 2rem;
    padding-inline: 0;
  }
}
.c-form legend {
  font-size: 1.05rem;
  line-height: 1.4rem;
  font-weight: 700;
  margin-block-end: 2rem;
}
@media screen and (min-width: 768px) {
  .c-form legend {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-form legend {
    line-height: 1.8rem;
  }
}
.c-form fieldset {
  margin-block-end: 3.2rem;
  border: 0;
}

.c-form__items {
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.2rem;
  row-gap: 2rem;
}
.c-form__items:not(:last-child) {
  margin-block-end: 2rem;
}

.c-form__item {
  display: flex;
  min-width: 1px;
  flex-grow: 1;
}
.c-form__item[data-form-item-width] {
  flex-grow: 0;
}
.c-form__item[data-form-item-width=small] {
  flex-basis: max(15ch, 12.5%);
}
.c-form__item[data-form-item-width=medium] {
  flex-basis: max(20ch, 25%);
}
.c-form__item[data-form-item-width=large] {
  flex-basis: calc(50% - 1.2rem / 2);
}
.c-form__item[data-form-item-width=full] {
  flex-basis: 100%;
}
@media (max-width: 34.99em) {
  .c-form__item, .c-form__item[data-form-item-width] {
    flex-grow: 1;
    flex-basis: 100%;
  }
}
.c-form__item > * {
  width: 100%; /* [1] */
}

.c-form__info {
  margin-block-end: 1.2rem;
}
.c-form__info > *:last-child {
  margin-block-end: 0;
}

.c-form__buttons {
  display: flex;
  justify-content: flex-end;
  padding-block-start: 1.2rem;
  border-block-start: 1px solid #828282;
}

/**
 * [1] Hide original browser icon.
 */
.c-form-input__label {
  font-size: 1rem;
  line-height: calc((1.4rem) + -0.4rem);
  display: block;
  margin-block-end: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-form-input__label {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-form-input__label {
    line-height: calc((1.4rem) + -0.4rem);
  }
}

.c-form-input__input {
  display: flex;
  align-items: center;
  min-height: 2.6rem;
  border: 1px solid #828282;
  border-radius: 12px;
  position: relative;
}
.c-form-input__input:has(:focus-visible) {
  outline: 3px solid #0078ea;
  outline-offset: 3px;
}
.c-form-input__input:has([readonly]) {
  background-color: #f3f3f3;
  border-color: #f3f3f3;
}
.c-form-input__input:has([aria-invalid=true]) {
  border-width: 3px;
  border-color: #b40104;
}
.c-form-input__input input,
.c-form-input__input select,
.c-form-input__input textarea {
  font-size: 1rem;
  line-height: 1.4rem;
  flex-grow: 1;
  padding-inline: 0.8rem;
  width: 100%;
  max-width: 100%;
  border: 0;
  background: none;
  color: #00305d;
}
@media screen and (min-width: 768px) {
  .c-form-input__input input,
  .c-form-input__input select,
  .c-form-input__input textarea {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-form-input__input input,
  .c-form-input__input select,
  .c-form-input__input textarea {
    line-height: 1.4rem;
  }
}
.c-form-input__input input[readonly],
.c-form-input__input select[readonly],
.c-form-input__input textarea[readonly] {
  pointer-events: none;
}
.c-form-input__input input:focus-visible,
.c-form-input__input select:focus-visible,
.c-form-input__input textarea:focus-visible {
  outline: none;
}
.c-form-input__input select {
  padding-inline-end: calc(0.8rem + 1.2rem + 0.3rem);
  /* stylelint-disable */
  -moz-appearance: none; /* [1] */
  -webkit-appearance: none; /* [1] */
  appearance: none; /* [1] */
  /* stylelint-enable */
}
.c-form-input__input textarea {
  min-height: calc(5lh + 0.8rem * 2);
  padding-block: 0.8rem;
}

.c-form-input__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.c-form-input:has(select) .c-form-input__icon {
  position: absolute;
  right: 0.8rem;
}
.c-form-input__icon svg {
  width: 1.2rem;
  height: 1.2rem;
}

.c-form-input__error-message {
  font-size: 0.9070294785rem;
  line-height: 1.2rem;
  margin-block-start: 0.3rem;
  color: #b40104;
}
.c-form-input__error-message,
.c-form-input__error-message > *:last-child {
  margin-block-end: 0;
}

.c-retail {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.c-retail__order {
  position: relative;
}

.c-retail__login-register {
  display: flex;
  gap: 0.8rem;
}

.c-retail__trigger .c-button[aria-expanded=true] svg {
  rotate: 0.5turn;
}

.c-retail__overlay {
  container-name: retail-overlay;
  container-type: inline-size;
  width: 100%;
  padding: 1.2rem;
  position: absolute;
  z-index: 1;
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
  transform: translateY(0.5rem);
}
.c-retail__overlay[inert] {
  display: none;
}

.c-retail__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.c-retail__list li {
  margin-inline-start: 0;
}

.c-retail__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.8rem;
}
@container retail-overlay (width > 450px) {
  .c-retail__item {
    flex-direction: row;
  }
}
.c-retail__item:not(:last-child) {
  border-block-end: 1px solid #00305d;
  padding-block-end: 1.2rem;
}

.c-retail__logo {
  max-inline-size: 150px;
}

/**
 * [1] Fixed width for labels to align values
 */
.c-information-box {
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
  padding: 1.2rem;
  border-radius: 12px;
}

.c-information-box__header {
  display: block;
}
@media (min-width: 48em) {
  .c-information-box__header {
    display: flex;
    justify-content: space-between;
  }
}

.c-information-box__title {
  text-align: left;
  margin-block-end: 0;
}

.c-information-box__title-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  align-items: center;
}

.c-information-box__title-icon {
  display: inline-flex;
  margin-inline-end: 0.8rem;
}
.c-information-box__title-icon svg {
  width: 1.2rem;
  height: 1.2rem;
}
.c-information-box__title-button[aria-expanded=true] .c-information-box__title-icon {
  transform: rotate(0.5turn);
}

.c-information-box__link {
  color: #00305d;
  display: block;
  text-align: left;
}

.c-information-box__body {
  margin-block-start: 1.2rem;
  display: block;
  container-name: information-box-body;
  container-type: inline-size;
}
.c-information-box__body[inert] {
  display: none;
}
@media (min-width: 48em) {
  .c-information-box__body {
    display: flex;
  }
}

.c-information-box__list {
  display: block;
  column-count: 1;
  column-gap: 100px;
}
@container information-box-body (width > 50ch) {
  .c-information-box__list {
    column-count: 2;
  }
}

.c-information-box__item {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.8rem;
}
@media (min-width: 48em) {
  .c-information-box__item {
    flex-direction: row;
  }
}

.c-information-box__item-label {
  margin-inline-end: 0.8rem;
  width: 150px;
  text-align: left;
  flex-basis: unset;
  padding: 0;
}

.c-information-box__item-value {
  text-align: left;
  flex-grow: 1;
  font-weight: bold;
  flex-basis: unset;
  padding: 0;
}

.c-single-select-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-single-select-list li {
  margin-inline-start: 0;
}

.c-single-select-list__button {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  text-align: left;
  padding-block: 0.3rem;
}

.c-single-select-list__button[aria-pressed=true] .c-single-select-list__button-label {
  font-weight: 700;
}

.c-single-select-list__item {
  text-align: left;
  cursor: pointer;
}

.c-single-select-list__icon {
  display: flex;
}
.c-single-select-list__icon svg {
  display: flex;
  width: 1rem;
  height: 1rem;
  fill: transparent;
}
.c-single-select-list__button[aria-pressed=true] .c-single-select-list__icon svg {
  fill: #00305d;
}

.c-toggle-button {
  padding: 0;
  border: 0;
  background-color: transparent;
  min-height: 2rem;
  padding-inline: 1rem;
  padding-block: 0.3rem;
  border: 1px solid #00305d;
  border-radius: 1rem;
  color: #00305d;
}
.c-toggle-button[aria-pressed=true] {
  background-color: #00305d;
  color: #fff;
}

.c-toggle-button-group__label {
  font-size: 1rem;
  line-height: 1.4rem;
  font-weight: 700;
  display: block;
  margin-block-end: 0.3rem;
}
@media screen and (min-width: 768px) {
  .c-toggle-button-group__label {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-toggle-button-group__label {
    line-height: 1.4rem;
  }
}

.c-toggle-button-group__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.c-toggle-button-group__list li {
  margin-inline-start: 0;
}

/**
 * [1] Make the original input invisible, but still reachable for “explore by
 *     touch”.
 */
.c-radio-group {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.5rem;
}
.c-radio-group.c-radio-group--auto {
  flex-direction: row;
}

.c-radio-group__title {
  flex-basis: 100%;
}

.c-radio-group__item {
  flex-grow: 1;
}
.c-radio-group.c-radio-group--auto .c-radio-group__item {
  flex-basis: 200px;
}

.c-radio-group__input {
  width: 1.2rem;
  height: 1.2rem;
  position: absolute; /* [1] */
  z-index: 1; /* [1] */
  opacity: 0; /* [1] */
  cursor: pointer;
}
.c-radio-group__input[disabled] {
  pointer-events: none;
}

.c-radio-group__label {
  display: flex;
  gap: 0.5rem;
  position: relative;
  cursor: pointer;
}
.c-radio-group__input[disabled] + .c-radio-group__label {
  color: #e6eaef;
  pointer-events: none;
}
.c-radio-group__label::before {
  flex-shrink: 0;
  display: flex;
  width: 1.2rem;
  height: 1.2rem;
  border: 2px solid #00305d;
  border-radius: 50%;
  content: "";
}
.c-radio-group__input[disabled] + .c-radio-group__label::before {
  border-color: #f3f3f3;
}
.c-radio-group__label::after {
  flex-shrink: 0;
  width: calc(1.2rem - 0.5rem);
  height: calc(1.2rem - 0.5rem);
  background-color: transparent;
  border-radius: 50%;
  position: absolute;
  left: calc(0.5rem / 2);
  top: calc(0.5rem / 2);
  content: "";
}
.c-radio-group__input:checked ~ .c-radio-group__label::after {
  background-color: #00305d;
}

.c-radio-group__addon {
  margin-inline-start: calc(1.2rem + 0.5rem);
  font-size: 85%;
}

.c-either-or {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.c-either-or.c-either-or--block-end {
  align-items: flex-end;
}

.c-either-or__label {
  flex-grow: 0;
  flex-shrink: 0;
}

.c-dialog {
  max-width: min(70ch, 100vw - 0.8rem - 0.8rem);
  padding: 1.2rem;
  border: 0;
  border-radius: 12px;
  color: #00305d;
}
body:has(.c-dialog[open]) {
  overflow-y: hidden;
}
.c-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(3px);
}

.c-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-block-end: 0.8rem;
}

.c-dialog__title {
  margin-block-end: 0;
}

.c-dialog__close {
  padding: 0;
  border: 0;
  background-color: transparent;
  display: flex;
}
.c-dialog__close svg {
  width: 1rem;
  height: 1rem;
  fill: #00305d;
}

.c-dialog__body {
  display: flex;
  flex-direction: column;
}
.c-dialog__body > *:last-child {
  margin-block-end: 0;
}

.c-dialog__button {
  align-self: center;
}

.c-dialog__image {
  display: flex;
  justify-content: center;
  margin-block-end: 0.8rem;
}

.c-dialog__footer {
  display: flex;
  justify-content: end;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-block-start: 0.8rem;
}

.c-dialog__footer:has(.c-dialog__footer-button:nth-child(2)) .c-dialog__footer-button {
  flex-grow: 1;
}

.c-popover {
  anchor-name: --popover;
}

.c-popover__overlay {
  width: anchor-size(--popover width);
  margin-block-start: 0.3rem;
  padding: 0.8rem;
  border: 0;
  border-radius: 12px;
  box-shadow: 0px 2px 3px -1px rgba(0, 0, 0, 0.10), 0px 6px 8px 0px rgba(0, 0, 0, 0.07), 0px 1px 12px 0px rgba(0, 0, 0, 0.06);
  max-height: 400px;
}
.c-popover__overlay > *:last-child {
  margin-block-end: 0;
}
.c-popover__overlay:popover-open {
  position: absolute;
  inset: unset;
  left: anchor(--popover left);
  top: anchor(--popover bottom);
}
@supports not (anchor-name: --popover) {
  .c-popover__overlay:popover-open {
    transform: translateY(100%);
  }
}

.c-popover__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-popover__list li {
  margin-inline-start: 0;
}

.c-popover__list-item:not(:last-child) {
  border-block-end: 1px solid #ccc;
}

.c-popover__list-link {
  display: block;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  color: #00305d;
  text-decoration: none;
}
.c-popover__list-link:focus-visible {
  outline-offset: -3px;
}
.c-popover__list-link:hover {
  background-color: #e6eaef;
}

.u-text-large {
  line-height: initial;
  font-size: 5rem;
  font-weight: 700;
  margin-block: 2.4rem;
}
@media (min-width: 48em) {
  .u-text-large {
    font-size: 10rem;
  }
}

.u-visually-hidden {
  position: absolute;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

[hidden] {
  display: none !important;
}
