:root {
  --font-default: "Open Sans", sans-serif;
  --font-headline: "Bariol", sans-serif;
  --grid-columns: 12;
  --grid-width-max: 1680px;
  --grid-gutter: 10px;
  --grid-color: 190, 100%, 50%;
  --color-black: #000;
  --color-white: #fff;
  --color-grey-1: #f5f5f5;
  --color-grey-2: #EFEFEF;
  --color-grey-3: #F3F6FA;
  --color-grey-4: #4E4E4E;
  --color-grey-5: #E9ECF0;
  --color-blue-1: #3396FE;
  --color-blue-2: #1674D8;
  --color-blue-3: #07488C;
  --color-green-1: #0B6021;
  --color-yellow-1: #FFBA00;
  --color-orange-1: #FF5800;
}
:root {
  --grid-offset: 20px;
}
@media only screen and (min-width: 375px) {
  :root {
    --grid-offset: calc(20px + 100 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  :root {
    --grid-offset: 120px;
  }
}

@media (min-width: 768px) {
  :root {
    --grid-gutter: 20px;
  }
}
@media (min-width: 1024px) {
  :root {
    --grid-gutter: 40px;
  }
}
@media (min-width: 1366px) {
  :root {
    --grid-gutter: 60px;
  }
}
:root {
  --g-media_query: "viewport: xs";
}

@media (min-width: 768px) {
  :root {
    --g-media_query: "viewport: s";
  }
}
@media (min-width: 1024px) {
  :root {
    --g-media_query: "viewport: m";
  }
}
@media (min-width: 1366px) {
  :root {
    --g-media_query: "viewport: l";
  }
}
@media (min-width: 1920px) {
  :root {
    --g-media_query: "viewport: xl";
  }
}
:root {
  --grid-color-line: hsla(var(--grid-color), 0.2);
  --grid-color-column: hsla(var(--grid-color), 0.2);
  --grid-color-gutter: transparent;
  --grid-color-baseline: hsla(var(--grid-color), 0.2);
  --line-thickness: 1px;
  --column-start: 0;
  --column-start-line: var(--line-thickness);
  --column-end: calc((100% / var(--grid-columns)) - var(--grid-gutter) - var(--line-thickness));
  --column-end-line: calc((100% / var(--grid-columns)) - var(--grid-gutter));
  --gutter-end: calc(100% / var(--grid-columns));
  --g-gradient-column:
          repeating-linear-gradient(
                          to right,
                          var(--grid-color-line) var(--column-start),
                          var(--grid-color-line) var(--column-start-line),
                          var(--grid-color-column) var(--column-start-line),
                          var(--grid-color-column) var(--column-end),
                          var(--grid-color-line) var(--column-end),
                          var(--grid-color-line) var(--column-end-line),
                          var(--grid-color-gutter) var(--column-end-line),
                          var(--grid-color-gutter) var(--gutter-end)
          );
  --g-gradient-baseline:
          repeating-linear-gradient(
                          to bottom,
                          var(--grid-color-baseline),
                          var(--grid-color-baseline) var(--line-thickness),
                          transparent var(--line-thickness),
                          transparent 20px
          );
}

html.helper-grid {
  display: flex;
  z-index: 1000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--document-height, auto);
  justify-content: center;
}

.helper-grid-toggle::after {
  display: inline-block;
  content: var(--g-media_query);
  left: 0;
  bottom: 0;
  white-space: pre;
  text-transform: uppercase;
  background-color: #0c88b4;
  color: #fff;
  padding: 4px 8px;
  cursor: pointer;
  z-index: 9999999;
  position: fixed;
  font-size: 14px;
}

html.helper-grid::after {
  position: fixed;
  z-index: 1000;
  content: "";
  width: calc(100% - 2 * var(--grid-offset));
  max-width: var(--grid-width-max);
  min-height: 100vh;
  background-image: var(--g-gradient-column), var(--g-gradient-baseline);
  background-position: 0 0;
  background-size: calc(100% + var(--grid-gutter)) 100vh;
  pointer-events: none;
}

html.helper-grid body { /* todo: find another way, leads to errors in certain layouts */
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
}

/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  background-repeat: no-repeat; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */
:where(:root) {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  overflow-wrap: break-word; /* 3 */
  -moz-tab-size: 4; /* 4 */
  tab-size: 4; /* 4 */
  -webkit-tap-highlight-color: transparent; /* 5 */
  -webkit-text-size-adjust: 100%; /* 6 */
  text-size-adjust: 100%; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
:where(body) {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */
:where(hr) {
  color: inherit; /* 1 */
  height: 0; /* 2 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
:where(nav) :where(ol, ul) {
  list-style-type: none;
  padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
:where(pre) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
  overflow: auto; /* 3 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
  font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
:where(small) {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
:where(iframe) {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
:where(svg:not([fill])) {
  fill: currentColor;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color in Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
  border-collapse: collapse; /* 1 */
  border-color: currentColor; /* 2 */
  text-indent: 0; /* 3 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
  margin: 0;
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, [type=button i], [type=reset i], [type=submit i]) {
  -webkit-appearance: button;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
:where(fieldset) {
  border: 1px solid #a0a0a0;
}

/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
  vertical-align: baseline;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */
:where(textarea) {
  margin: 0; /* 1 */
  resize: vertical; /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where([type=search i]) {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
  background-color: white;
  border: solid;
  color: black;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

:where(dialog:not([open])) {
  display: none;
}

/*
 * Add the correct display in Safari.
 */
:where(details > summary:first-of-type) {
  display: list-item;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
:where([aria-busy=true i]) {
  cursor: progress;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
:where([aria-disabled=true i], [disabled]) {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
:where([aria-hidden=false i][hidden]) {
  display: initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/*
 * agency defaults
 *
 */
a {
  color: inherit;
  text-decoration: none;
}

ul {
  margin: 0;
  padding: 0;
}

nav ul {
  list-style-type: none;
}

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

/*
 * todo: check if paracticable
 */
button, [type=button i], [type=reset i], [type=submit i] {
  background: transparent;
  border: none;
  border-radius: unset;
  padding: 0;
}

@font-face {
  font-family: "Bariol";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/bariol/bariol-thin.woff") format("woff");
}
@font-face {
  font-family: "Bariol";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/bariol/bariol-light.woff") format("woff");
}
@font-face {
  font-family: "Bariol";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/bariol/bariol-regular.woff") format("woff");
}
@font-face {
  font-family: "Bariol";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/bariol/bariol-bold.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/open-sans/open-sans-v35-latin-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/open-sans/open-sans-v35-latin-700.woff2") format("woff2");
}
@font-face {
  font-family: "icons";
  src: url("../fonts/icons/icons.ttf?xd2vbp") format("truetype"), url("../fonts/icons/icons.woff?xd2vbp") format("woff"), url("../fonts/icons/icons.svg?xd2vbp#icons") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.icon {
  font-family: "icons" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-search-1:before {
  content: "\e900";
}

.icon-information-circle:before {
  content: "\e901";
}

.icon-messages-bubble-information:before {
  content: "\e902";
}

.icon-phone:before {
  content: "\e903";
}

.icon-email-action-unread:before {
  content: "\e904";
}

.icon-office-printer:before {
  content: "\e905";
}

.icon-clap:before {
  content: "\e906";
}

.icon-study-book:before {
  content: "\e907";
}

.icon-technology-contact-access-check:before {
  content: "\e908";
}

.icon-download-bottom:before {
  content: "\e909";
}

.icon-keyboard-arrow-right:before {
  content: "\e90a";
}

.icon-close:before {
  content: "\e90b";
}

.icon-arrow-right-1:before {
  content: "\e90c";
}

.icon-arrow-down-1:before {
  content: "\e90d";
}

.icon-arrow-left-1:before {
  content: "\e90e";
}

.icon-facebook-2:before {
  content: "\e90f";
}

.icon-instagram-2:before {
  content: "\e910";
}

.icon-xing:before {
  content: "\e911";
}

.icon-linkedin:before {
  content: "\e912";
}

.icon-pinterest:before {
  content: "\e913";
}

.icon-youtube:before {
  content: "\e914";
}

body {
  color: var(--color-black);
  font-family: var(--font-default);
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
  background-color: var(--color-grey-3);
  position: relative;
}
body {
  font-size: 16px;
}
@media only screen and (min-width: 375px) {
  body {
    font-size: calc(16px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  body {
    font-size: 20px;
  }
}
body.no-scroll {
  overflow-y: hidden;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-headline);
  color: var(--color-blue-3);
  line-height: 1.2;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-size: 24px;
}
@media only screen and (min-width: 375px) {
  h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-size: calc(24px + 46 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-size: 70px;
  }
}
h1 span, h1 p, h2 span, h2 p, h3 span, h3 p, h4 span, h4 p, h5 span, h5 p, h6 span, h6 p, .h1 span, .h1 p, .h2 span, .h2 p, .h3 span, .h3 p, .h4 span, .h4 p, .h5 span, .h5 p, .h6 span, .h6 p {
  display: block;
}

table {
  font-size: 14px;
}
@media only screen and (min-width: 375px) {
  table {
    font-size: calc(14px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  table {
    font-size: 18px;
  }
}

h1, .h1 {
  line-height: 1;
  color: var(--color-white);
}
h1, .h1 {
  font-size: 40px;
}
@media only screen and (min-width: 375px) {
  h1, .h1 {
    font-size: calc(40px + 56 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  h1, .h1 {
    font-size: 96px;
  }
}

h3, .h3 {
  font-weight: 700;
}
h3, .h3 {
  font-size: 24px;
}
@media only screen and (min-width: 375px) {
  h3, .h3 {
    font-size: calc(24px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  h3, .h3 {
    font-size: 40px;
  }
}

h4, .h4 {
  font-size: 24px;
  font-weight: 700;
}

b, strong {
  font-weight: 700;
}

a {
  cursor: pointer;
}
a:hover {
  color: var(--color-black);
}

p {
  margin: 0;
}
p {
  margin-top: 20px;
}
@media only screen and (min-width: 375px) {
  p {
    margin-top: calc(20px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  p {
    margin-top: 24px;
  }
}
p:first-child {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}

nav ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-flow: row nowrap;
}
nav ul li {
  margin-left: 15px;
}
nav ul li:first-child {
  margin-left: 0;
}

.video video, .video iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.skip-to-content-link {
  position: absolute;
  top: -999px;
  /* Styled to match the default WordPress screen reader text */
  background-color: var(--color-grey-1);
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  color: var(--color-blue-1);
  display: block;
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 6px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  width: auto;
  z-index: 100000; /* Above WP toolbar */
  -webkit-transition: top 0.75s ease-out;
  transition: top 0.75s ease-out;
}
.skip-to-content-link:focus {
  color: var(--color-blue-1);
  top: 7px;
  -webkit-transition: top 0s;
  transition: top 0s;
}

.block-pagination {
  padding-left: var(--grid-offset);
  padding-right: var(--grid-offset);
}
.block-pagination .block_inner {
  max-width: var(--grid-width-max);
  width: 100%;
  margin: 0 auto;
}
.block-pagination .block__pagination {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.block-pagination .block__pagination .previous, .block-pagination .block__pagination .overview, .block-pagination .block__pagination .next {
  width: 100%;
  margin-top: 16px;
}
.block-pagination .block__pagination .previous {
  display: flex;
  justify-content: center;
}
.block-pagination .block__pagination .overview {
  display: flex;
  justify-content: center;
}
.block-pagination .block__pagination .next {
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .block-pagination .block__pagination .previous, .block-pagination .block__pagination .overview, .block-pagination .block__pagination .next {
    width: 33.33%;
  }
  .block-pagination .block__pagination .previous {
    display: flex;
    justify-content: flex-start;
  }
  .block-pagination .block__pagination .overview {
    display: flex;
    justify-content: center;
  }
  .block-pagination .block__pagination .next {
    display: flex;
    justify-content: flex-end;
  }
}
.header {
  background-color: var(--color-white);
  color: var(--color-black);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
}
.header {
  padding-left: var(--grid-offset);
  padding-right: var(--grid-offset);
}
.header .inner {
  max-width: var(--grid-width-max);
  width: 100%;
  margin: 0 auto;
}
.header a {
  color: var(--color-black);
}
.header .bar {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.header .bar {
  height: 48px;
}
@media only screen and (min-width: 375px) {
  .header .bar {
    height: calc(48px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header .bar {
    height: 80px;
  }
}
.header .logo {
  display: flex;
  position: relative;
  z-index: 10;
}
.header .logo span, .header .logo a {
  display: flex;
  flex-flow: row nowrap;
}
.header .logo span img, .header .logo a img {
  display: inline-block;
  width: auto;
  aspect-ratio: 146/45;
  align-self: center;
}
.header .logo span img, .header .logo a img {
  height: 28px;
}
@media only screen and (min-width: 375px) {
  .header .logo span img, .header .logo a img {
    height: calc(28px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header .logo span img, .header .logo a img {
    height: 44px;
  }
}
.header .logo span.logo-default, .header .logo a.logo-default {
  display: none;
}
.header .logo span.logo-alternative, .header .logo a.logo-alternative {
  display: flex;
}
.header .search {
  display: flex;
  height: 100%;
  align-items: center;
  position: relative;
  width: 42px;
  z-index: 10;
  margin-left: auto;
}
.header .search {
  margin-right: 8px;
}
@media only screen and (min-width: 375px) {
  .header .search {
    margin-right: calc(8px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header .search {
    margin-right: 40px;
  }
}
@media (min-width: 1024px) {
  .header .search {
    margin-left: unset;
    margin-right: 0;
  }
  .header .search {
    margin-left: 8px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .header .search {
    margin-left: calc(8px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .header .search {
    margin-left: 40px;
  }
}
.header .search .search-field {
  position: absolute;
  right: 0;
  border: 1px solid transparent;
  transition: border-color 0.3s ease-in-out;
  overflow: clip;
  background-color: var(--color-white);
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 0 8px;
  border-radius: 48px;
}
.header .search input {
  width: 0;
  border: none;
  border-radius: 0;
  padding: 0;
  transition: width 0.3s ease-in-out;
  margin: 0 0 0 12px;
  color: var(--color-blue-3);
}
.header .search input {
  height: 32px;
}
@media only screen and (min-width: 375px) {
  .header .search input {
    height: calc(32px + 8 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header .search input {
    height: 40px;
  }
}
.header .search input:focus-visible {
  outline: none;
}
.header .search input::placeholder {
  color: #bbb;
  opacity: 1;
}
.header .search .icon {
  color: var(--color-black);
  max-height: 32px;
  cursor: pointer;
}
.header .search .icon {
  font-size: 16px;
}
@media only screen and (min-width: 375px) {
  .header .search .icon {
    font-size: calc(16px + 8 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header .search .icon {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .header .search .icon {
    color: var(--color-blue-3);
  }
}
.header .search.is-active .search-field {
  border: 1px solid var(--color-blue-3);
}
.header .search.is-active input {
  width: 140px;
}
@media (min-width: 1024px) {
  .header .search.is-active input {
    width: 700px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1024px) {
  .header .search.is-active input {
    width: calc(700px + 200 * (100vw - 1024px) / (1920 - 1024));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .header .search.is-active input {
    width: 900px;
  }
}
.header.header-visible {
  background-color: var(--color-white);
  transform: translateY(0);
}
.header.header-visible .bar {
  height: 48px;
}
@media only screen and (min-width: 375px) {
  .header.header-visible .bar {
    height: calc(48px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header.header-visible .bar {
    height: 80px;
  }
}
.header.header-visible .logo span img, .header.header-visible .logo a img {
  width: auto;
  aspect-ratio: 146/45;
}
.header.header-visible .logo span img, .header.header-visible .logo a img {
  height: 28px;
}
@media only screen and (min-width: 375px) {
  .header.header-visible .logo span img, .header.header-visible .logo a img {
    height: calc(28px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .header.header-visible .logo span img, .header.header-visible .logo a img {
    height: 44px;
  }
}
.header.header-visible .logo span.logo-default, .header.header-visible .logo a.logo-default {
  display: none;
}
.header.header-visible .logo span.logo-alternative, .header.header-visible .logo a.logo-alternative {
  display: flex;
}

.home .header {
  background-color: transparent;
  color: var(--color-white);
}
.home .header .bar {
  height: 48px;
}
@media only screen and (min-width: 375px) {
  .home .header .bar {
    height: calc(48px + 48 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .home .header .bar {
    height: 96px;
  }
}
.home .header .logo span img, .home .header .logo a img {
  width: auto;
  aspect-ratio: 156/80;
}
.home .header .logo span img, .home .header .logo a img {
  height: 40px;
}
@media only screen and (min-width: 375px) {
  .home .header .logo span img, .home .header .logo a img {
    height: calc(40px + 40 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .home .header .logo span img, .home .header .logo a img {
    height: 80px;
  }
}
.home .header .logo span.logo-default, .home .header .logo a.logo-default {
  display: flex;
}
.home .header .logo span.logo-alternative, .home .header .logo a.logo-alternative {
  display: none;
}
.home .header.header-hidden, .home .header.header-visible {
  background-color: var(--color-white);
  transform: translateY(0);
}
.home .header.header-hidden .bar, .home .header.header-visible .bar {
  height: 48px;
}
@media only screen and (min-width: 375px) {
  .home .header.header-hidden .bar, .home .header.header-visible .bar {
    height: calc(48px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .home .header.header-hidden .bar, .home .header.header-visible .bar {
    height: 80px;
  }
}
.home .header.header-hidden .logo span img, .home .header.header-hidden .logo a img, .home .header.header-visible .logo span img, .home .header.header-visible .logo a img {
  width: auto;
  aspect-ratio: 146/45;
}
.home .header.header-hidden .logo span img, .home .header.header-hidden .logo a img, .home .header.header-visible .logo span img, .home .header.header-visible .logo a img {
  height: 28px;
}
@media only screen and (min-width: 375px) {
  .home .header.header-hidden .logo span img, .home .header.header-hidden .logo a img, .home .header.header-visible .logo span img, .home .header.header-visible .logo a img {
    height: calc(28px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .home .header.header-hidden .logo span img, .home .header.header-hidden .logo a img, .home .header.header-visible .logo span img, .home .header.header-visible .logo a img {
    height: 44px;
  }
}
.home .header.header-hidden .logo span.logo-default, .home .header.header-hidden .logo a.logo-default, .home .header.header-visible .logo span.logo-default, .home .header.header-visible .logo a.logo-default {
  display: none;
}
.home .header.header-hidden .logo span.logo-alternative, .home .header.header-hidden .logo a.logo-alternative, .home .header.header-visible .logo span.logo-alternative, .home .header.header-visible .logo a.logo-alternative {
  display: flex;
}
.home .header.header-hidden .search .search-field, .home .header.header-visible .search .search-field {
  border: 1px solid transparent;
}
.home .header.header-hidden .search .icon, .home .header.header-visible .search .icon {
  color: var(--color-blue-3);
}
.home .header.header-hidden .search.is-active .search-field, .home .header.header-visible .search.is-active .search-field {
  border: 1px solid var(--color-blue-3);
}
.home .header .search .search-field {
  background-color: transparent;
  border: 1px solid transparent;
}
.home .header .search .icon {
  color: var(--color-white);
}
.home .header .search.is-active .search-field {
  background-color: var(--color-white);
  border: 1px solid var(--color-white);
}
.home .header .search.is-active .icon {
  color: var(--color-black);
}

button.toggle {
  height: 18px;
  width: 26px;
  cursor: pointer;
  display: block;
  position: relative;
}
button.toggle span {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  background-color: var(--color-black);
  height: 1px;
  opacity: 1;
  transition: transform 0.4s ease-in-out, opacity 0.4s ease, top 0.4s ease-in-out, bottom 0.4s ease-in-out;
}
button.toggle span:nth-child(1) {
  transform: rotate(0);
  top: 0;
}
button.toggle span:nth-child(2) {
  top: calc(50% - 0.5px);
}
button.toggle span:nth-child(3) {
  transform: rotate(0);
  bottom: 0;
}
button.toggle.active {
  justify-content: space-between;
}
button.toggle.active span:nth-child(2) {
  opacity: 0;
}
button.toggle.active span:nth-child(1) {
  transform: rotate(45deg);
  top: calc(50% - 0.5px);
}
button.toggle.active span:nth-child(3) {
  transform: rotate(-45deg);
  bottom: calc(50% - 0.5px);
}

#overlay button.toggle {
  position: absolute;
}
#overlay button.toggle {
  right: 24px;
}
@media only screen and (min-width: 375px) {
  #overlay button.toggle {
    right: calc(24px + 20 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  #overlay button.toggle {
    right: 44px;
  }
}
#overlay button.toggle {
  top: 24px;
}
@media only screen and (min-width: 375px) {
  #overlay button.toggle {
    top: calc(24px + 20 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  #overlay button.toggle {
    top: 44px;
  }
}
#overlay button.toggle span {
  background-color: var(--color-blue-3);
}

@media (min-width: 1024px) {
  button.toggle {
    display: none;
  }
  #overlay button.toggle {
    display: block;
  }
  #overlay button.toggle.active span {
    height: 2px;
  }
  #overlay button.toggle.active span:nth-child(1) {
    top: calc(50% - 1px);
  }
  #overlay button.toggle.active span:nth-child(3) {
    bottom: calc(50% - 1px);
  }
}
.home button.toggle span {
  background-color: var(--color-white);
}
.home button.toggle.active span {
  background-color: var(--color-black);
}

@media (max-width: 1023.98px) {
  .header .navigation {
    position: fixed;
    inset: 0;
    left: 100%;
    height: 100vh;
    width: 100%;
    background: var(--color-white);
    display: none;
  }
  .header .navigation.active {
    display: block;
    left: 0;
  }
  .header .navigation .inner {
    margin-top: 80px;
  }
  .header .navigation .inner {
    padding-left: var(--grid-offset);
    padding-right: var(--grid-offset);
  }
  .header .navigation ul {
    display: flex;
    flex-flow: column;
  }
  .header .navigation ul li {
    margin-left: 0;
    margin-top: 20px;
  }
  .header .navigation ul li a {
    font-weight: 700;
  }
  .header .navigation ul li a {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1023.98px) and (min-width: 375px) {
  .header .navigation ul li a {
    font-size: calc(20px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (max-width: 1023.98px) and (min-width: 1920px) {
  .header .navigation ul li a {
    font-size: 24px;
  }
}
@media (min-width: 1024px) {
  .header .navigation {
    display: block;
    margin-left: auto;
  }
  .header .navigation ul li {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
  }
  .header .navigation ul li {
    height: 48px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .header .navigation ul li {
    height: calc(48px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .header .navigation ul li {
    height: 80px;
  }
}
@media (min-width: 1024px) {
  .header .navigation ul li {
    margin-left: 32px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .header .navigation ul li {
    margin-left: calc(32px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .header .navigation ul li {
    margin-left: 64px;
  }
}
@media (min-width: 1024px) {
  .header .navigation ul li a {
    display: block;
    font-family: var(--font-headline);
    font-weight: 700;
    color: var(--color-blue-3);
  }
  .header .navigation ul li a {
    font-size: 16px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .header .navigation ul li a {
    font-size: calc(16px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .header .navigation ul li a {
    font-size: 20px;
  }
}
@media (min-width: 1024px) {
  .header .navigation ul li.current-menu-item a {
    border-bottom: 1px solid var(--color-blue-3);
  }
  .header .navigation ul li ul {
    display: none;
  }
  .home .header .navigation li {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
  }
  .home .header .navigation li {
    height: 48px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .home .header .navigation li {
    height: calc(48px + 48 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .home .header .navigation li {
    height: 96px;
  }
}
@media (min-width: 1024px) {
  .home .header .navigation li {
    margin-left: 32px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .home .header .navigation li {
    margin-left: calc(32px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .home .header .navigation li {
    margin-left: 64px;
  }
}
@media (min-width: 1024px) {
  .home .header .navigation li a {
    color: var(--color-white);
  }
  .home .header.header-hidden .navigation li a, .home .header.header-visible .navigation li a {
    color: var(--color-blue-3);
  }
}
.footer {
  background-color: var(--color-blue-3);
  color: var(--color-white);
}
.footer {
  padding-left: var(--grid-offset);
  padding-right: var(--grid-offset);
}
.footer {
  padding-bottom: 112px;
}
@media only screen and (min-width: 375px) {
  .footer {
    padding-bottom: calc(112px + -64 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer {
    padding-bottom: 48px;
  }
}
.footer .inner {
  max-width: var(--grid-width-max);
  width: 100%;
  margin: 0 auto;
}
.footer a {
  color: var(--color-white);
}
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
  color: var(--color-white);
}
.footer .widgets {
  padding-top: 64px;
}
@media only screen and (min-width: 375px) {
  .footer .widgets {
    padding-top: calc(64px + 128 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer .widgets {
    padding-top: 192px;
  }
}
.footer .widgets {
  padding-bottom: 64px;
}
@media only screen and (min-width: 375px) {
  .footer .widgets {
    padding-bottom: calc(64px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer .widgets {
    padding-bottom: 96px;
  }
}
.footer .widgets {
  display: flex;
  flex-flow: row wrap;
  margin-left: calc(var(--grid-gutter) / 2 * -1);
  margin-right: calc(var(--grid-gutter) / 2 * -1);
}
.footer .widgets .column {
  width: 1px;
  min-width: calc(100% / var(--grid-columns) * 12 - var(--grid-gutter) - 0.01px);
  margin-right: calc(var(--grid-gutter) / 2);
  margin-left: calc(var(--grid-gutter) / 2);
}
.footer .widgets .column .block {
  margin-top: 64px;
  margin-bottom: 0;
}
.footer .widgets .column:nth-child(1) .block:nth-child(1) {
  margin-top: 0;
}
.footer .socket {
  display: flex;
  flex-flow: row wrap;
  margin-left: calc(var(--grid-gutter) / 2 * -1);
  margin-right: calc(var(--grid-gutter) / 2 * -1);
}
.footer .socket {
  font-size: 12px;
}
@media only screen and (min-width: 375px) {
  .footer .socket {
    font-size: calc(12px + 2 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer .socket {
    font-size: 14px;
  }
}
.footer .socket .divider {
  border-top: 1px solid var(--color-white);
}
.footer .socket .divider {
  width: 1px;
  min-width: calc(100% / var(--grid-columns) * 12 - var(--grid-gutter) - 0.01px);
  margin-right: calc(var(--grid-gutter) / 2);
  margin-left: calc(var(--grid-gutter) / 2);
}
.footer .socket .divider {
  margin-bottom: 12px;
}
@media only screen and (min-width: 375px) {
  .footer .socket .divider {
    margin-bottom: calc(12px + 12 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer .socket .divider {
    margin-bottom: 24px;
  }
}
.footer .socket .copyright {
  width: 1px;
  min-width: calc(100% / var(--grid-columns) * 12 - var(--grid-gutter) - 0.01px);
  margin-right: calc(var(--grid-gutter) / 2);
  margin-left: calc(var(--grid-gutter) / 2);
}
.footer .socket .navigation {
  margin-top: 12px;
}
.footer .socket .navigation {
  width: 1px;
  min-width: calc(100% / var(--grid-columns) * 12 - var(--grid-gutter) - 0.01px);
  margin-right: calc(var(--grid-gutter) / 2);
  margin-left: calc(var(--grid-gutter) / 2);
}
.footer .socket .navigation ul li {
  margin-left: 16px;
}
@media only screen and (min-width: 375px) {
  .footer .socket .navigation ul li {
    margin-left: calc(16px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .footer .socket .navigation ul li {
    margin-left: 48px;
  }
}
.footer .socket .navigation ul li:first-child {
  margin-left: 0;
}

@media (min-width: 768px) {
  .footer .widgets .column {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 6 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(2) .block:nth-child(1) {
    margin-top: 0;
  }
  .footer .socket .copyright {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 5 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .socket .navigation {
    margin-top: 0;
  }
  .footer .socket .navigation {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 7 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .socket .navigation ul {
    justify-content: flex-end;
  }
}
@media (min-width: 1024px) {
  .footer .widgets .column {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 6 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(1) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 8 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(2) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 4 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
}
@media (min-width: 1024px) {
  .footer .widgets .column:nth-child(1) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 4 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(2) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 3 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(3) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 3 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(3) .block:nth-child(1) {
    margin-top: 0;
  }
  .footer .widgets .column:nth-child(4) {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 2 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(var(--grid-gutter) / 2);
  }
  .footer .widgets .column:nth-child(4) .block:nth-child(1) {
    margin-top: 0;
  }
}
.c-linklist {
  position: fixed;
  z-index: 11;
  width: 100%;
  right: 20px;
  bottom: 20px;
  max-width: var(--grid-width-max);
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .c-linklist {
    right: 0;
    bottom: 16px;
  }
}
.c-linklist__items {
  position: relative;
  display: inline-flex;
  flex-flow: column nowrap;
}
.c-linklist__item {
  position: absolute;
  right: 0;
  bottom: 0;
  color: var(--color-white);
  pointer-events: all;
  display: inline-flex;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
  white-space: nowrap;
}
.c-linklist__item {
  height: 48px;
}
@media only screen and (min-width: 375px) {
  .c-linklist__item {
    height: calc(48px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .c-linklist__item {
    height: 64px;
  }
}
.c-linklist__item {
  min-width: 48px;
}
@media only screen and (min-width: 375px) {
  .c-linklist__item {
    min-width: calc(48px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .c-linklist__item {
    min-width: 64px;
  }
}
@media (min-width: 1024px) {
  .c-linklist__item {
    position: relative;
    bottom: 48px;
    margin-top: 5px;
    overflow: hidden;
  }
}
.c-linklist__item span {
  background-color: var(--color-blue-3);
  max-width: 0;
  transition: max-width 0.4s ease-in-out, padding 0.4s ease-in-out;
  overflow: hidden;
  flex-flow: row nowrap;
  height: 100%;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
.c-linklist__item .c-icon {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  height: 48px;
  width: 48px;
  background-color: var(--color-blue-3);
  border-radius: 24px;
}
.c-linklist__item .c-icon {
  font-size: 24px;
}
@media only screen and (min-width: 375px) {
  .c-linklist__item .c-icon {
    font-size: calc(24px + 8 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .c-linklist__item .c-icon {
    font-size: 32px;
  }
}
@media (min-width: 1024px) {
  .c-linklist__item .c-icon {
    border-radius: 32px 0 0 32px;
  }
  .c-linklist__item .c-icon {
    padding-left: 8px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .c-linklist__item .c-icon {
    padding-left: calc(8px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .c-linklist__item .c-icon {
    padding-left: 12px;
  }
}
@media (min-width: 1024px) {
  .c-linklist__item .c-icon {
    height: 48px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .c-linklist__item .c-icon {
    height: calc(48px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .c-linklist__item .c-icon {
    height: 64px;
  }
}
@media (min-width: 1024px) {
  .c-linklist__item .c-icon {
    width: 48px;
  }
}
@media only screen and (min-width: 1024px) and (min-width: 375px) {
  .c-linklist__item .c-icon {
    width: calc(48px + 40 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1024px) and (min-width: 1920px) {
  .c-linklist__item .c-icon {
    width: 88px;
  }
}
@media (max-width: 1023.98px) {
  .c-linklist__item .c-icon {
    transition: width 0.4s ease-out;
  }
}
.c-linklist__item:hover {
  color: var(--color-white);
}
@media (min-width: 1024px) {
  .c-linklist__item:hover {
    color: var(--color-white);
  }
  .c-linklist__item:hover span {
    max-width: 300px;
    overflow: hidden;
    padding-right: 16px;
  }
}
.c-linklist__item:nth-child(1) {
  z-index: 11;
  cursor: pointer;
}
.c-linklist__item:nth-child(1) .c-icon {
  background-color: var(--color-orange-1);
  font-size: 32px;
  height: 48px;
  width: 48px;
  margin-right: -1px;
}
.c-linklist__item:nth-child(2) {
  z-index: 1;
}
.c-linklist__item:nth-child(2) .c-icon, .c-linklist__item:nth-child(2) span {
  background-color: var(--color-blue-1);
}
.c-linklist__item:nth-child(3) {
  z-index: 2;
}
.c-linklist__item:nth-child(3) .c-icon, .c-linklist__item:nth-child(3) span {
  background-color: var(--color-blue-2);
}
.c-linklist__item:nth-child(4) {
  z-index: 3;
}
.c-linklist__item:nth-child(4) .c-icon, .c-linklist__item:nth-child(4) span {
  background-color: var(--color-blue-3);
}
.c-linklist__item:nth-child(5) {
  z-index: 4;
}
.c-linklist__item:nth-child(5) .c-icon, .c-linklist__item:nth-child(5) span {
  background-color: var(--color-green-1);
}
.c-linklist__item:nth-child(6) {
  z-index: 5;
}
.c-linklist__item:nth-child(6) .c-icon, .c-linklist__item:nth-child(6) span {
  background-color: var(--color-yellow-1);
}
@media (min-width: 1024px) {
  .c-linklist__item:nth-child(1) {
    display: none;
  }
}
@media (max-width: 1023.98px) {
  .c-linklist.is-active .c-linklist__item:nth-child(2) .c-icon {
    justify-content: flex-start;
    padding-left: 16px;
    width: 292px;
  }
  .c-linklist.is-active .c-linklist__item:nth-child(3) .c-icon {
    justify-content: flex-start;
    padding-left: 16px;
    width: 244px;
  }
  .c-linklist.is-active .c-linklist__item:nth-child(4) .c-icon {
    justify-content: flex-start;
    padding-left: 16px;
    width: 196px;
  }
  .c-linklist.is-active .c-linklist__item:nth-child(5) .c-icon {
    justify-content: flex-start;
    padding-left: 16px;
    width: 148px;
  }
  .c-linklist.is-active .c-linklist__item:nth-child(6) .c-icon {
    justify-content: flex-start;
    padding-left: 16px;
    width: 100px;
  }
}

#overlay {
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100vw;
  z-index: 101;
}
#overlay {
  padding-left: var(--grid-offset);
  padding-right: var(--grid-offset);
}
#overlay .overlay-inner {
  height: 100%;
  display: block;
}
#overlay .overlay-inner {
  max-width: var(--grid-width-max);
  width: 100%;
  margin: 0 auto;
}
#overlay .row {
  height: 100%;
  align-items: center;
}
#overlay .row {
  display: flex;
  flex-flow: row wrap;
  margin-left: calc(var(--grid-gutter) / 2 * -1);
  margin-right: calc(var(--grid-gutter) / 2 * -1);
}
#overlay .notice {
  background: var(--color-white);
  position: relative;
}
#overlay .notice {
  width: 1px;
  min-width: calc(100% / var(--grid-columns) * 12 - var(--grid-gutter) - 0.01px);
  margin-right: calc(var(--grid-gutter) / 2);
  margin-left: calc(var(--grid-gutter) / 2);
}
#overlay .notice {
  padding: 24px;
}
@media only screen and (min-width: 375px) {
  #overlay .notice {
    padding: calc(24px + 56 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  #overlay .notice {
    padding: 80px;
  }
}
#overlay .notice .h1, #overlay .notice .h2, #overlay .notice .h3, #overlay .notice .h4, #overlay .notice .h5, #overlay .notice .h6 {
  text-transform: uppercase;
  color: var(--color-blue-3);
}
#overlay .notice .h1, #overlay .notice .h2, #overlay .notice .h3, #overlay .notice .h4, #overlay .notice .h5, #overlay .notice .h6 {
  font-size: 24px;
}
@media only screen and (min-width: 375px) {
  #overlay .notice .h1, #overlay .notice .h2, #overlay .notice .h3, #overlay .notice .h4, #overlay .notice .h5, #overlay .notice .h6 {
    font-size: calc(24px + 24 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  #overlay .notice .h1, #overlay .notice .h2, #overlay .notice .h3, #overlay .notice .h4, #overlay .notice .h5, #overlay .notice .h6 {
    font-size: 48px;
  }
}
#overlay .notice .overlay-text {
  margin-top: 24px;
}
@media only screen and (min-width: 375px) {
  #overlay .notice .overlay-text {
    margin-top: calc(24px + 24 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  #overlay .notice .overlay-text {
    margin-top: 48px;
  }
}
#overlay.hidden {
  display: none;
}

@media (min-width: 1024px) {
  #overlay .notice {
    width: 1px;
    min-width: calc(100% / var(--grid-columns) * 6 - var(--grid-gutter) - 0.01px);
    margin-right: calc(var(--grid-gutter) / 2);
    margin-left: calc(100% / var(--grid-columns) * 3 + var(--grid-gutter) / 2);
  }
}
:root {
  --font-default: "Open Sans", sans-serif;
  --font-headline: "Bariol", sans-serif;
  --grid-columns: 12;
  --grid-width-max: 1680px;
  --grid-gutter: 10px;
  --grid-color: 190, 100%, 50%;
  --color-black: #000;
  --color-white: #fff;
  --color-grey-1: #f5f5f5;
  --color-grey-2: #EFEFEF;
  --color-grey-3: #F3F6FA;
  --color-grey-4: #4E4E4E;
  --color-grey-5: #E9ECF0;
  --color-blue-1: #3396FE;
  --color-blue-2: #1674D8;
  --color-blue-3: #07488C;
  --color-green-1: #0B6021;
  --color-yellow-1: #FFBA00;
  --color-orange-1: #FF5800;
}
:root {
  --grid-offset: 20px;
}
@media only screen and (min-width: 375px) {
  :root {
    --grid-offset: calc(20px + 100 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  :root {
    --grid-offset: 120px;
  }
}

@media (min-width: 768px) {
  :root {
    --grid-gutter: 20px;
  }
}
@media (min-width: 1024px) {
  :root {
    --grid-gutter: 40px;
  }
}
@media (min-width: 1366px) {
  :root {
    --grid-gutter: 60px;
  }
}
.static {
  min-height: 600px;
}
.static {
  margin-top: 80px;
}
@media only screen and (min-width: 375px) {
  .static {
    margin-top: calc(80px + 64 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .static {
    margin-top: 144px;
  }
}
.static {
  margin-bottom: 80px;
}
@media only screen and (min-width: 375px) {
  .static {
    margin-bottom: calc(80px + 64 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .static {
    margin-bottom: 144px;
  }
}

.static-search {
  padding-left: var(--grid-offset);
  padding-right: var(--grid-offset);
}
.static-search .inner {
  max-width: var(--grid-width-max);
  width: 100%;
  margin: 0 auto;
}

.search__summary {
  margin-top: 12px;
}
@media only screen and (min-width: 375px) {
  .search__summary {
    margin-top: calc(12px + 12 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__summary {
    margin-top: 24px;
  }
}
.search__items {
  margin-top: 40px;
}
@media only screen and (min-width: 375px) {
  .search__items {
    margin-top: calc(40px + 40 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__items {
    margin-top: 80px;
  }
}
.search__item {
  display: flex;
  align-items: center;
  background-color: var(--color-white);
  font-weight: 700;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.16);
}
.search__item {
  margin-top: 16px;
}
@media only screen and (min-width: 375px) {
  .search__item {
    margin-top: calc(16px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__item {
    margin-top: 32px;
  }
}
.search__item {
  font-size: 16px;
}
@media only screen and (min-width: 375px) {
  .search__item {
    font-size: calc(16px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__item {
    font-size: 20px;
  }
}
.search__image {
  background-color: var(--color-grey-1);
  height: 140px;
  aspect-ratio: 1;
  position: relative;
}
.search__image img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.search__content {
  padding-right: 16px;
  padding-left: 16px;
}
@media only screen and (min-width: 375px) {
  .search__content {
    padding-right: calc(16px + 48 * (100vw - 375px) / (1920 - 375));
    padding-left: calc(16px + 48 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__content {
    padding-right: 64px;
    padding-left: 64px;
  }
}
.search__type {
  color: var(--color-blue-3);
}
.search__type {
  font-size: 12px;
}
@media only screen and (min-width: 375px) {
  .search__type {
    font-size: calc(12px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__type {
    font-size: 16px;
  }
}
.search__type {
  margin-bottom: 4px;
}
@media only screen and (min-width: 375px) {
  .search__type {
    margin-bottom: calc(4px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .search__type {
    margin-bottom: 8px;
  }
}

.button a, .item-button a {
  border: 1px solid var(--color-blue-3);
  color: var(--color-blue-3);
  font-family: var(--font-headline);
  font-weight: 700;
  display: inline-block;
}
.button a, .item-button a {
  border-radius: 14px;
}
@media only screen and (min-width: 375px) {
  .button a, .item-button a {
    border-radius: calc(14px + 14 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .button a, .item-button a {
    border-radius: 28px;
  }
}
.button a, .item-button a {
  font-size: 18px;
}
@media only screen and (min-width: 375px) {
  .button a, .item-button a {
    font-size: calc(18px + 6 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .button a, .item-button a {
    font-size: 24px;
  }
}
.button a, .item-button a {
  line-height: 28px;
}
@media only screen and (min-width: 375px) {
  .button a, .item-button a {
    line-height: calc(28px + 28 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .button a, .item-button a {
    line-height: 56px;
  }
}
.button a, .item-button a {
  padding-right: 16px;
  padding-left: 16px;
}
@media only screen and (min-width: 375px) {
  .button a, .item-button a {
    padding-right: calc(16px + 16 * (100vw - 375px) / (1920 - 375));
    padding-left: calc(16px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .button a, .item-button a {
    padding-right: 32px;
    padding-left: 32px;
  }
}
.button a, .item-button a {
  margin-top: 24px;
}
@media only screen and (min-width: 375px) {
  .button a, .item-button a {
    margin-top: calc(24px + 24 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .button a, .item-button a {
    margin-top: 48px;
  }
}
.button a:hover, .item-button a:hover {
  background-color: var(--color-blue-3);
  color: var(--color-white);
}

.accent-color-1 .block.block-text-media .button a, .accent-color-1 .block.block-text-media .item-button a,
.accent-color-1 .block-pagination .button a,
.accent-color-1 .block-pagination .item-button a {
  border-color: var(--color-blue-3);
  color: var(--color-blue-3);
}
.accent-color-1 .block.block-text-media .button a:hover, .accent-color-1 .block.block-text-media .item-button a:hover,
.accent-color-1 .block-pagination .button a:hover,
.accent-color-1 .block-pagination .item-button a:hover {
  background-color: var(--color-blue-3);
  color: var(--color-white);
}

.accent-color-2 .block.block-text-media .button a, .accent-color-2 .block.block-text-media .item-button a,
.accent-color-2 .block-pagination .button a,
.accent-color-2 .block-pagination .item-button a {
  border-color: var(--color-grey-4);
  color: var(--color-grey-4);
}
.accent-color-2 .block.block-text-media .button a:hover, .accent-color-2 .block.block-text-media .item-button a:hover,
.accent-color-2 .block-pagination .button a:hover,
.accent-color-2 .block-pagination .item-button a:hover {
  background-color: var(--color-grey-4);
  color: var(--color-white);
}

.accent-color-3 .block.block-text-media .button a, .accent-color-3 .block.block-text-media .item-button a,
.accent-color-3 .block-pagination .button a,
.accent-color-3 .block-pagination .item-button a {
  border-color: var(--color-green-1);
  color: var(--color-green-1);
}
.accent-color-3 .block.block-text-media .button a:hover, .accent-color-3 .block.block-text-media .item-button a:hover,
.accent-color-3 .block-pagination .button a:hover,
.accent-color-3 .block-pagination .item-button a:hover {
  background-color: var(--color-green-1);
  color: var(--color-white);
}

.accent-color-4 .block.block-text-media .button a, .accent-color-4 .block.block-text-media .item-button a,
.accent-color-4 .block-pagination .button a,
.accent-color-4 .block-pagination .item-button a {
  border-color: var(--color-orange-1);
  color: var(--color-orange-1);
}
.accent-color-4 .block.block-text-media .button a:hover, .accent-color-4 .block.block-text-media .item-button a:hover,
.accent-color-4 .block-pagination .button a:hover,
.accent-color-4 .block-pagination .item-button a:hover {
  background-color: var(--color-orange-1);
  color: var(--color-white);
}

.text ul {
  list-style: none;
}
.text ul {
  margin-top: 20px;
}
@media only screen and (min-width: 375px) {
  .text ul {
    margin-top: calc(20px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .text ul {
    margin-top: 24px;
  }
}
.text ul li {
  position: relative;
  margin-left: 20px;
  line-height: 1.7;
}
.text ul li:before {
  position: absolute;
  left: -20px;
  top: 10px;
  content: "";
  width: 10px;
  height: 10px;
  background-color: var(--color-blue-3);
}

.block {
  margin-top: 80px;
}
@media only screen and (min-width: 375px) {
  .block {
    margin-top: calc(80px + 64 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block {
    margin-top: 144px;
  }
}
.block .text {
  margin-top: 12px;
}
@media only screen and (min-width: 375px) {
  .block .text {
    margin-top: calc(12px + 12 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block .text {
    margin-top: 24px;
  }
}
.block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
  font-weight: 700;
}
.block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
  margin-top: 20px;
}
@media only screen and (min-width: 375px) {
  .block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
    margin-top: calc(20px + 20 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
    margin-top: 40px;
  }
}
.block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
  font-size: 24px;
}
@media only screen and (min-width: 375px) {
  .block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
    font-size: calc(24px + 16 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block .text h1, .block .text h2, .block .text h3, .block .text h4, .block .text h6, .block .text .h1, .block .text .h2, .block .text .h3, .block .text .h4, .block .text .h6 {
    font-size: 40px;
  }
}
.block .text p {
  margin-top: 12px;
}
@media only screen and (min-width: 375px) {
  .block .text p {
    margin-top: calc(12px + 4 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block .text p {
    margin-top: 16px;
  }
}
.block .text p:first-child {
  margin-top: 0;
}
.block .text a {
  font-weight: 700;
  color: var(--color-blue-3);
}
.block .text a:hover {
  color: var(--color-blue-1);
}
.block .items {
  margin-top: 12px;
}
@media only screen and (min-width: 375px) {
  .block .items {
    margin-top: calc(12px + 12 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block .items {
    margin-top: 24px;
  }
}
.block:last-child {
  margin-bottom: 80px;
}
@media only screen and (min-width: 375px) {
  .block:last-child {
    margin-bottom: calc(80px + 80 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block:last-child {
    margin-bottom: 160px;
  }
}
.block.block-contact:last-child, .block.block-contact-direct:last-child {
  margin-bottom: 0;
}

.block.block-page-title {
  margin-top: 48px;
}
@media only screen and (min-width: 375px) {
  .block.block-page-title {
    margin-top: calc(48px + 32 * (100vw - 375px) / (1920 - 375));
  }
}
@media only screen and (min-width: 1920px) {
  .block.block-page-title {
    margin-top: 80px;
  }
}

.home .block.block-page-title {
  margin-top: 0;
}

/*# sourceMappingURL=styles.css.map */
