:root {
  /* Mid blue */
  --mid-blue: #266eff;
  --mid-blue-80: #518bff;
  --mid-blue-60: #7da8ff;
  --mid-blue-40: #a8c5ff;
  --mid-blue-20: #d4e2ff;

  /* Dark blue */
  --dark-blue: #000f28;
  --dark-blue-80: #333f53;
  --dark-blue-60: #666f7e;
  --dark-blue-40: #999fa9;
  --dark-blue-20: #cccfd4;
  --dark-blue-opacity-60: #000f2899;

  /* Accent */
  --accent-red: #d9153d;
  --form-error: #d71d3c;
  --form-error-outline: #f8bec8;
  --form-error-background: #fef0f2;

  /* Grey */
  --dark-grey: #a0a1a3;
  --mid-grey: #d7d8d8;
  --light-grey: #f0f1f5;
  --extra-light-grey: #fafbff;
  --light-grey-10: #292929;
  --light-grey-20: #f0f1f533;
  --light-grey-50: #a0a1a380;
  --white: #fff;
  --white-5: #ffffff0d;
  --link-color: var(--mid-blue);
  --link-hover-color: var(--mid-blue);
  --button-link-color: var(--white);
  --button-link-bg-color: var(--accent-red);
  --button-link-border-color: var(--accent-red);
  --button-link-animated-background: var(--dark-blue);

  /* Icon filters */
  --dark-grey-icon-color: invert(6%) sepia(18%) saturate(3616%) hue-rotate(196deg) brightness(90%) contrast(105%);
  --white-icon-color: brightness(0) invert(1);
  --accent-red-icon-color: invert(22%) sepia(91%) saturate(5465%) hue-rotate(341deg) brightness(90%) contrast(109%);
  --mid-blue-icon-color: invert(41%) sepia(94%) saturate(3731%) hue-rotate(215deg) brightness(99%) contrast(104%);
  --mid-blue-80-icon-color: invert(52%) sepia(98%) saturate(2127%) hue-rotate(205deg) brightness(103%) contrast(101%);

  /* Fonts */
  --primary-font-family: "AikAeonik", system-ui, sans-serif;
  --secondary-font-family: "TTNormsProSerif", georgia, serif;

  /* Heading sizes */
  --heading-font-size-3xl: 3rem;
  --heading-font-size-2xl: 2.75rem;
  --heading-font-size-xxl: 2.375rem;
  --heading-font-size-xl: 2rem;
  --heading-font-size-l: 1.75rem;
  --heading-font-size-md: 1.5rem;
  --heading-font-size-sm: 1.25rem;
  --heading-font-size-xs: 1.125rem;
  --heading-font-size-xxs: 1rem;

  /* Heading line height */
  --heading-line-height-size-3xl: 58px;
  --heading-line-height-size-2xl: 44px;
  --heading-line-height-size-xxl: 44px;
  --heading-line-height-size-xl: 38px;
  --heading-line-height-size-l: 32px;
  --heading-line-height-size-md: 28px;
  --heading-line-height-size-sm: 28px;
  --heading-line-height-size-xs: 24px;
  --heading-line-height-size-xxs: 24px;

  /* Text sizes */
  --text-font-size-5xl: 3.5rem;
  --text-font-size-4xl: 3rem;
  --text-font-size-3xl: 2.5rem;
  --text-font-size-2xl: 2rem;
  --text-font-size-xl: 1.75rem;
  --text-font-size-lg: 1.5rem;
  --text-font-size-md: 1.25rem;
  --text-font-size-sm: 1.125rem;
  --text-font-size-base: 1rem;
  --text-font-size-xs: 0.875rem;
  --text-font-size-tiny: 0.75rem;

  /* Text line height */
  --text-line-height-5xl: 66px;
  --text-line-height-4xl: 58px;
  --text-line-height-3xl: 48px;
  --text-line-height-2xl: 38px;
  --text-line-height-xl: 34px;
  --text-line-height-lg: 32px;
  --text-line-height-md: 28px;
  --text-line-height-sm: 24px;
  --text-line-height-base: 24px;
  --text-line-height-xs: 20px;
  --text-line-height-tiny: 14px;

  /* Font weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;

  /* Content sizes */
  --content-width: 1680px;
  --content-width-3xl: 1509px;
  --content-width-xxl: 1468px;
  --content-width-xl: 1168px;
  --content-width-lg: 998px;
  --content-max-width-teaser: var(--content-width-lg);
  --content-max-width-text: 950px;
  --content-width-card: 1248px;
  --content-width-md: 767px;
  --header-height: 80px;
  --side-padding: 1.25rem;

  /* Z-indexes */
  --z-index-hero: 29;
  --z-index-header: 30;
  --z-index-modal: 40;
  --z-index-tooltip: 50;
  --z-index-fullscreen-overlay: 60;

  /* Border radius */
  --border-radius-none: 0;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 16px;
  --border-radius-xl: 12px;
  --border-radius-2xl: 16px;
  --border-radius-3xl: 20px;
  --border-radius-full: 9999px;

  /* Spacings */
  --spacing-0: 0;
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-3: 12px;
  --spacing-4: 16px;
  --spacing-5: 20px;
  --spacing-6: 24px;
  --spacing-7: 28px;
  --spacing-8: 32px;
  --spacing-9: 36px;
  --spacing-10: 40px;
  --spacing-11: 48px;
  --spacing-12: 56px;
  --spacing-13: 64px;
  --spacing-28: 112px;
}

@media (width >= 900px) {
  :root {
    /* Heading sizes */
    --heading-font-size-3xl: 3.5rem;
    --heading-font-size-2xl: 3rem;
    --heading-font-size-xxl: 2.5rem;
    --heading-font-size-xl: 2rem;
    --heading-font-size-l: 1.75rem;
    --heading-font-size-md: 1.5rem;
    --heading-font-size-sm: 1.25rem;
    --heading-font-size-xs: 1.125rem;
    --heading-font-size-xxs: 1rem;

    /* Heading line height */
    --heading-line-height-size-3xl: 66px;
    --heading-line-height-size-2xl: 58px;
    --heading-line-height-size-xxl: 48px;
    --heading-line-height-size-xl: 34px;
    --heading-line-height-size-l: 32px;
    --heading-line-height-size-md: 28px;
    --heading-line-height-size-sm: 24px;
    --heading-line-height-size-xs: 24px;
    --heading-line-height-size-xxs: 24px;

    /* Content sizes */
    --side-padding: 1.5rem;
  }
}

@media (width >= 1300px) {
  :root {
    --header-height: 128px;
  }
}

.no-overscroll {
  overscroll-behavior: none;
}

.hidden {
  display: none;
}

main * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

main img {
  max-width: 100%;
  width: auto;
  height: auto;
}

main > .section > div:not(.full-width) {
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 var(--side-padding);
}

main > .section > div:has(.cards.grid-view) {
  --content-width-grid-view: calc(var(--content-width) + (var(--side-padding)) * 2);

  max-width: var(--content-width-grid-view);
}

main .section {
  margin: 60px 0;
}

@media (width >= 900px) {
  main .section {
    margin: 120px 0;
  }
}

main .section.no-top-margin {
  margin-top: 0 !important;
}

main .section:first-child {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

main .section:last-child:has(.teaser), main .section:last-child[data-background-color] {
  margin-bottom: 0 !important;
}

main .section[data-margin="md"] {
  margin-bottom: var(--spacing-8);
}

@media (width >= 900px) {
  main .section[data-margin="md"] {
    margin-bottom: var(--spacing-13);
  }
}

main .section[data-margin="md"]:not(.no-top-margin) {
  margin-top: var(--spacing-8);
}

@media (width >= 900px) {
  main .section[data-margin="md"]:not(.no-top-margin) {
    margin-top: var(--spacing-13);
  }
}

main .section[data-width] {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

main .section[data-width="card"] {
  --content-width-card: 1296px;

  width: var(--content-width-card);
}

main .section[data-width="md"] {
  width: var(--content-width-md);
}

main .section[data-width="lg"] {
  width: var(--content-width-lg);
}

main .section[data-width="lg"] > [class*="-wrapper"] {
  margin: var(--spacing-8) auto !important;
}

main .section[data-width="xl"] {
  width: var(--content-width-xl);
}

main .section[data-width="xxl"] {
  width: var(--content-width-xxl);
}

main .section[data-spacing="no-margin"] {
  margin-top: 0;
  margin-bottom: 0;
}

main .section[data-spacing="lg"] {
  margin-top: var(--spacing-10);
  margin-bottom: var(--spacing-10);
}

main .section[data-spacing="xl"] {
  padding-top: var(--spacing-28);
  padding-bottom: var(--spacing-28);
}

main .section[data-radius="xl"] {
  border-radius: var(--border-radius-xl);
}

main .section[data-padding="xs"] {
  padding-top: var(--spacing-1);
  padding-bottom: var(--spacing-1);
}

@media (width >= 900px) {
  main .section[data-padding="xs"] {
    padding-top: var(--spacing-5);
    padding-bottom: var(--spacing-5);
  }
}

main .section[data-padding="md"] {
  padding-top: var(--spacing-8);
  padding-bottom: var(--spacing-8);
}

@media (width >= 900px) {
  main .section[data-padding="md"] {
    padding-top: var(--spacing-11);
    padding-bottom: var(--spacing-11);
  }
}

main .section[data-padding="xl"] {
  padding-top: var(--spacing-10);
  padding-bottom: var(--spacing-10);
}

@media (width >= 900px) {
  main .section[data-padding="xl"] {
    padding-top: var(--spacing-28);
    padding-bottom: var(--spacing-28);
  }
}

main .section[data-background-color="extra-light-grey"] {
  background-color: var(--extra-light-grey);
}

main .section[data-background-color="light-grey"] {
  background-color: var(--light-grey);
}

main .section[data-background-color="white"] {
  background-color: var(--white);
}

main .section[data-background-color="dark-blue"] {
  background-color: var(--dark-blue);
  color: var(--white);
}

main .section[data-background-color="dark-blue"] .list-styled-icons li {
  color: var(--white) !important;
}

body {
  display: none;
  margin: 0;
  color: var(--dark-blue);
  font-family: var(--primary-font-family);
  font-size: var(--text-font-size-sm);
  line-height: var(--text-line-height-md);
}

body.appear {
  display: block;
}

body[data-backdrop="true"] main {
  /* when nav opens animation to apply background */
}

body[data-backdrop="false"] main {
  /* when nav closes animation to remove background */
}

header .header {
  visibility: hidden;
}

header .header[data-block-status="loaded"] {
  visibility: visible;
}

footer .footer {
  visibility: hidden;
}

footer .footer[data-block-status="loaded"] {
  visibility: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: var(--spacing-5);
  margin-bottom: var(--spacing-5);
  font-family: var(--primary-font-family);
  font-weight: var(--font-weight-bold);
  scroll-margin: 40px;
}

h1 {
  font-size: var(--heading-font-size-xxl);
  line-height: var(--heading-line-height-size-xxl);
}

h2 {
  font-size: var(--heading-font-size-xl);
  line-height: var(--heading-line-height-size-xl);
}

h3 {
  font-size: var(--heading-font-size-l);
  line-height: var(--heading-line-height-size-l);
}

h4 {
  font-size: var(--heading-font-size-md);
  line-height: var(--heading-line-height-size-md);
}

h5 {
  font-size: var(--heading-font-size-sm);
  line-height: var(--heading-line-height-size-sm);
}

h6 {
  font-size: var(--heading-font-size-xs);
  line-height: var(--heading-line-height-size-xs);
}

p,
dl,
ol,
ul,
pre,
blockquote {
  margin-top: var(--spacing-6);
  margin-bottom: var(--spacing-6);
}

code,
pre {
  font-size: var(--text-font-size-base);
}

sup,
sub {
  font-size: var(--text-font-size-xs);
  line-height: var(--text-line-height-xs);
}

pre {
  padding: 1em;
  border-radius: 8px;
  background-color: var(--light-grey);
  overflow-x: auto;
  white-space: pre;
}

main ol,
ul {
  text-align: left;
}

ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
  counter-reset: ol-level1;
}

ol li {
  position: relative;
  padding-left: 1em;
  counter-increment: ol-level1;
  margin-bottom: var(--spacing-2);
}

ol li::before {
  content: counter(ol-level1) ".";
  position: absolute;
  left: 0;
}

ol ol li, ol ol ol li {
  counter-reset: none;
}

ol ol li::before, ol ol ol li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: url("/icons/aik-chevron-right.svg") no-repeat center/contain;
  background-size: 16px 16px;
  width: 20px;
  height: 20px;
  filter: var(--mid-blue-icon-color);
}

ol ol ol li::before {
  filter: var(--dark-grey-icon-color);
}

ol li > ol {
  margin-top: 0.5em;
}

/* issue when we have 2 digit numbers */
main ol li {
  padding-left: 1.5rem;
}

ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

ul li {
  position: relative;
  padding-left: var(--spacing-5);
  margin-left: var(--spacing-3);
  margin-bottom: var(--spacing-2);
  line-height: var(--heading-line-height-size-xs);
}

ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: url("/icons/aik-chevron-right.svg") no-repeat center/contain;
  background-size: 16px 16px;
  width: 20px;
  height: 20px;
  filter: var(--accent-red-icon-color);
}

ul ul li::before {
  filter: var(--mid-blue-icon-color);
}

ul ul ul li::before {
  filter: var(--dark-grey-icon-color);
}

ul.regular-list-element {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

ul.regular-list-element li {
  position: relative;
  padding-left: var(--spacing-5) !important;
  margin-left: var(--spacing-3) !important;
  line-height: var(--heading-line-height-size-xs);
}

ul.regular-list-element li::before {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  left: 0 !important;
  top: 0;
  background: url("/icons/aik-chevron-right.svg") no-repeat center/contain;
  background-size: 16px 16px;
  width: 20px;
  height: 20px;
  filter: var(--accent-red-icon-color) !important;
}

ul.regular-list-element ul li::before {
  filter: var(--mid-blue-icon-color) !important;
}

ul.regular-list-element ul ul li::before {
  filter: var(--dark-grey-icon-color) !important;
}

ol.regular-list-element {
  list-style: none;
  padding-left: 0;
  margin: 0;
  counter-reset: ol-level1;
}

ol.regular-list-element > li {
  position: relative !important;
  padding-left: 1em;
  margin-bottom: var(--spacing-2);
  counter-increment: ol-level1 !important;
}

ol.regular-list-element > li::before {
  content: counter(ol-level1) "." !important;
  position: absolute !important;
  left: 0 !important;
  display: block !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
  filter: none !important;
  top: auto !important;
}

ol.regular-list-element > li > ol, ol.regular-list-element > li > ul, ol.regular-list-element > li > ol > li > ol, ol.regular-list-element > li > ol > li > ul, ol.regular-list-element > li > ul > li > ol, ol.regular-list-element > li > ul > li > ul {
  counter-reset: none;
}

ol.regular-list-element > li > ol > li, ol.regular-list-element > li > ul > li, ol.regular-list-element > li > ol > li > ol > li, ol.regular-list-element > li > ol > li > ul > li, ol.regular-list-element > li > ul > li > ol > li, ol.regular-list-element > li > ul > li > ul > li {
  position: relative !important;
  padding-left: 1em;
  margin-bottom: var(--spacing-2);
  counter-increment: none !important;
}

ol.regular-list-element > li > ol > li::before, ol.regular-list-element > li > ul > li::before, ol.regular-list-element > li > ol > li > ol > li::before, ol.regular-list-element > li > ol > li > ul > li::before, ol.regular-list-element > li > ul > li > ol > li::before, ol.regular-list-element > li > ul > li > ul > li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.25em !important;
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  background: url("/icons/aik-chevron-right.svg") no-repeat center/contain !important;
  filter: var(--mid-blue-icon-color);
}

ol.regular-list-element > li > ol > li > ol > li::before, ol.regular-list-element > li > ol > li > ul > li::before, ol.regular-list-element > li > ul > li > ol > li::before, ol.regular-list-element > li > ul > li > ul > li::before {
  filter: var(--dark-grey-icon-color) !important;
}

ol.regular-list-element li > ol {
  margin-top: 0.5em;
}

li > ul {
  margin-top: 0.5em;
}

.list-styled-icons {
  margin-top: var(--spacing-5) !important;
  display: flex;
  flex-flow: column wrap;
  gap: var(--spacing-4) var(--spacing-11);
  justify-content: flex-start;
  align-items: flex-start;
}

.list-styled-icons li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-2);
  color: var(--white);
  font-weight: var(--font-weight-medium);
  font-size: var(--text-font-size-sm);
  line-height: var(--text-line-height-base);
}

.list-styled-icons li > .icon {
  filter: var(--white-icon-color);
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(255 255 255 / 20%);
  border-radius: var(--border-radius-full);
}

.list-styled-icons li > .icon img {
  width: 20px;
  height: 20px;
}

.list-reset ul,
.list-reset ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list-reset li {
  margin: 0;
  padding: 0;
  position: static;
  counter-reset: none;
  counter-increment: none;
}

.list-reset li::before, .list-reset li::marker {
  content: none !important;
  display: none !important;
  position: static !important;
  left: auto !important;
}

input,
textarea,
select,
button {
  font: inherit;
}

strong {
  font-weight: var(--font-weight-bold);
}

em,
blockquote {
  font-style: italic;
}

/* plain link */
a:any-link,
button:any-link {
  color: var(--link-color);
  text-underline-offset: 4px;
}

a.plain-link,
button.plain-link {
  color: var(--link-color, var(--dark-blue));
  background-color: transparent;
  text-decoration: none;
  word-break: break-word;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
}

a.plain-link:not(:has(.icon.icon-aik-chevron-right)),
button.plain-link:not(:has(.icon.icon-aik-chevron-right)) {
  display: inline;
  position: relative;
  text-decoration: none;
  background-image: linear-gradient(var(--dark-blue), var(--dark-blue));
  background-repeat: no-repeat;
  background-size: 0% 1px;
  background-position: 0 100%;
  transition: background-size 0.5s ease, background-image 0.5s ease;
  padding-bottom: 2px;
}

a.plain-link:not(:has(.icon.icon-aik-chevron-right)):hover,
button.plain-link:not(:has(.icon.icon-aik-chevron-right)):hover {
  background-image: linear-gradient(var(--link-hover-color), var(--link-hover-color));
  background-size: 100% 1px;
}

a.plain-link:not(:has(.icon.icon-aik-chevron-right)).active-link,
button.plain-link:not(:has(.icon.icon-aik-chevron-right)).active-link {
  font-weight: var(--font-weight-medium);
  background-image: linear-gradient(var(--link-hover-color), var(--link-hover-color));
  background-size: 100% 1px;
}

a.plain-link u,
button.plain-link u {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}

a.plain-link:has(.icon.icon-aik-chevron-right),
button.plain-link:has(.icon.icon-aik-chevron-right) {
  transition: transform 0.3s ease;
}

a.plain-link:has(.icon.icon-aik-chevron-right) .icon,
button.plain-link:has(.icon.icon-aik-chevron-right) .icon {
  filter: var(--mid-blue-80-icon-color);
}

a.plain-link:has(.icon.icon-aik-chevron-right):hover,
button.plain-link:has(.icon.icon-aik-chevron-right):hover {
  transform: skew(-10deg);
}

a.plain-link.underlined,
button.plain-link.underlined {
  background-image: linear-gradient(var(--link-hover-color), var(--link-hover-color)) !important;
  background-size: 100% 1px !important;
}

a.plain-link-underline,
button.plain-link-underline {
  font-weight: var(--font-weight-medium);
  background-size: 100% 1px;
  background-image: linear-gradient(var(--mid-blue), var(--mid-blue));
  background-repeat: no-repeat;
  background-position: 0 100%;
  cursor: pointer;
}

a.text-underline {
  border-bottom: 1px solid var(--mid-blue);
  cursor: pointer;
}

.card-link-icon > span.icon {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 20px;
  filter: unset;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--white);
  padding-left: 0;
}

@media (width >= 900px) {
  .card-link-icon > span.icon {
    bottom: 24px;
  }
}

.card-link-icon > span.icon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: white;
  transform: scale(0);
  transition: transform 0.5s ease;
  z-index: 0;
}

.card-link-icon > span.icon img {
  filter: var(--white-icon-color);
  position: relative;
  z-index: 1;
  transition: filter 0.5s ease;
  width: 24px;
  height: 24px;
}

@media (width >= 900px) {
  .card-link-icon:hover > span.icon::before {
    transform: scale(1);
  }

  .card-link-icon:hover > span.icon img {
    filter: var(--accent-red-icon-color);
  }
}

.button-container > *,
.button-container > p > em,
.button-container > p > strong,
.button-container > p > del {
  all: unset;
}

/* button & button link variants */
a.button:any-link,
.button-element {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  padding: 0.65em 1.3em;
  text-decoration: none;
  border-radius: var(--border-radius-full);
  color: var(--button-link-color);
  background-color: var(--button-link-bg-color);
  border: 1.5px solid var(--button-link-border-color);
  position: relative;
  overflow: hidden;
  transition: border-color 0.5s ease, background-color 0.5s ease;
  z-index: 1;
  font-size: var(--text-font-size-sm);
  line-height: var(--text-line-height-base);
  font-weight: var(--font-weight-medium);
}

a.button:any-link::after,
.button-element::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 20%);
  width: 30px;
  height: 30px;
  opacity: 0;
  pointer-events: none;
  border-radius: 50%;
  background-color: var(--button-link-animated-background);
  z-index: -1;
  transition: opacity 0.5s ease, width 0.5s ease, height 0.5s ease;
}

a.button:any-link .icon,
.button-element .icon {
  vertical-align: middle;
  filter: var(--white-icon-color);
}

a.button:any-link:hover::after, a.button:any-link.active::after,
.button-element:hover::after,
.button-element.active::after {
  width: 250%;
  height: 250%;
  opacity: 1;
}

a.button:any-link.primary:hover, a.button:any-link.primary:focus, a.button:any-link.primary.active,
.button-element.primary:hover,
.button-element.primary:focus,
.button-element.primary.active {
  --button-link-bg-color: var(--dark-blue);
  --button-link-color: var(--white);
  --button-link-border-color: var(--dark-blue);
}

a.button:any-link.primary:hover .icon, a.button:any-link.primary:focus .icon, a.button:any-link.primary.active .icon,
.button-element.primary:hover .icon,
.button-element.primary:focus .icon,
.button-element.primary.active .icon {
  filter: var(--accent-red-icon-color);
}

a.button:any-link.secondary,
.button-element.secondary {
  --button-link-bg-color: var(--dark-blue);
  --button-link-border-color: var(--dark-blue);
}

a.button:any-link.secondary::after,
.button-element.secondary::after {
  --button-link-animated-background: var(--white);
}

a.button:any-link.secondary .icon,
.button-element.secondary .icon {
  filter: var(--accent-red-icon-color);
}

a.button:any-link.secondary:hover, a.button:any-link.secondary:focus, a.button:any-link.secondary.active,
.button-element.secondary:hover,
.button-element.secondary:focus,
.button-element.secondary.active {
  --button-link-bg-color: var(--white);
  --button-link-color: var(--dark-blue);

  border-color: var(--button-link-color);
}

a.button:any-link.outline,
.button-element.outline {
  --button-link-color: var(--dark-blue);
  --button-link-bg-color: transparent;
  --button-link-border-color: var(--dark-blue);
}

a.button:any-link.outline .icon,
.button-element.outline .icon {
  filter: var(--accent-red-icon-color);
}

a.button:any-link.outline:hover, a.button:any-link.outline:focus, a.button:any-link.outline.active,
.button-element.outline:hover,
.button-element.outline:focus,
.button-element.outline.active {
  --button-link-bg-color: var(--dark-blue);
  --button-link-color: var(--white);
}

.button-element > * {
  margin: 0;
}

.button-plain-link a.plain-link:any-link:hover {
  font-style: italic;
  text-decoration: none;
}

.dark-theme a.button:any-link::after {
  --button-link-animated-background: var(--white);
}

.dark-theme a.button:any-link.primary:hover, .dark-theme a.button:any-link.primary:focus {
  --button-link-bg-color: var(--white);
  --button-link-color: var(--dark-blue);
  --button-link-border-color: var(--white);
}

.dark-theme a.button:any-link.secondary {
  --button-link-color: var(--dark-blue);
  --button-link-bg-color: var(--white);
  --button-link-border-color: var(--white);
}

.dark-theme a.button:any-link.secondary::after {
  --button-link-animated-background: var(--dark-blue);
}

.dark-theme a.button:any-link.secondary:hover, .dark-theme a.button:any-link.secondary:focus, .dark-theme a.button:any-link.secondary.active {
  --button-link-color: var(--white);
  --button-link-bg-color: var(--dark-blue);

  border-color: var(--button-link-animated-background);
}

.dark-theme a.button:any-link.outline {
  --button-link-color: var(--white);
  --button-link-border-color: var(--white);
}

.dark-theme a.button:any-link.outline:hover, .dark-theme a.button:any-link.outline:focus {
  --button-link-color: var(--dark-blue);
  --button-link-bg-color: var(--white);

  border-color: var(--button-link-bg-color);
}

.dark-theme a.plain-link {
  --link-color: var(--white);
}

.dark-theme a.plain-link .icon {
  filter: var(--white-icon-color);
}

.dark-theme a.plain-link:hover {
  --link-hover-color: var(--white);
  --link-color: var(--white);
}

.dark-theme a.plain-link:hover.mid-blue-link-hover {
  --link-hover-color: var(--mid-blue);
}

.dark-theme a.plain-link:hover .icon {
  filter: var(--mid-blue-80-icon-color);
}

.button-reset {
  all: unset;
  display: inline-block;
  box-sizing: border-box;
  cursor: pointer;
}

.icon {
  width: 1em;
  height: 1em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.icon.icon-auto-width {
  width: auto;
  height: auto;
}

.icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.section:first-child.top-header-margin {
  margin-top: var(--header-height) !important;
}

.alignment-center,
[data-alignment="center"] {
  text-align: center;
}

.alignment-left,
[data-alignment="left"] {
  text-align: left;
}

.alignment-right,
[data-alignment="right"] {
  text-align: right;
}

body.light-grey {
  background-color: var(--light-grey);
}

body.extra-light-grey {
  background-color: var(--extra-light-grey);
}

body.dark-blue {
  background-color: var(--dark-blue);
  color: white;
}

body.dark-blue .breadcrumbs::after {
  background: linear-gradient(to right, rgb(251 252 254 / 0%), var(--dark-blue));
}

body.dark-blue .breadcrumbs ul li {
  color: var(--white);
}

body.dark-blue .breadcrumbs ul li[aria-current] {
  color: var(--white);
}

body.dark-blue .breadcrumbs ul li a {
  --link-color: var(--white);
}

.flex-wrap {
  flex-wrap: wrap;
}

blockquote {
  border-left: 2px solid var(--mid-blue);
  padding-left: var(--spacing-4);
}

.section:has(.block.dark-blue) > [class*="-wrapper"] {
  background-color: var(--dark-blue);
  color: var(--white);
}