/*!*************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/postcss-loader/dist/cjs.js!./Resources/Private/Frontend/css/main.css ***!
  \*************************************************************************************************************************************/
@layer reset, base, layout, components, content-grid;

@layer reset{

html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body {
  margin: 0;
}

img,
picture {
  display: block;
  max-width: 100%;
  height: auto;
}

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

@layer base{
:root {
  --gutter: 3rem;
  --section-padding: 5rem;
  --section-headline-offset-x: var(--gutter);
  --section-headline-offset-y: 2rem;

  --content-width-normal: 68rem;
  --content-width-narrow: 55rem;
  --content-width-wide: 75rem;
  --content-width-full: 100%;
  --content-spacing-y: 2rem;
  --content-width: var(--content-width-normal);

  --blue: #133B8B;
  --blue-dark: oklch(from var(--blue) calc(l - .192) c h);
  --blue-light: color-mix(in srgb, var(--blue) 10%, #FFF 100%);

  --brown: #A89A74;
  --brown-dark: #6B6248;
  --brown-light: #F2F0EA;

  --gray-dark: #6B6248;

  --primary: var(--blue);
  --primary-dark: var(--blue-dark);
  --primary-light: var(--blue-light);
  --secondary: var(--brown);
  --secondary-dark: var(--brown-dark);
  --secondary-light: var(--brown-light);

  --font-size: 18px;
  --line-height: 1.6;
  --text-color: #000;
  --link-color: var(--text-color);
  --border-color: #ccc;
  --focus-outline-color: var(--primary);

  --section-headline-color: var(--primary);

  --social-media-icon-color: var(--secondary);
  --social-media-icon-hover-color: var(--secondary-dark);
}

  @media (width > 992px) {
:root {
    --font-size: 20px
}
  }
}

@layer base{
[data-colorscheme="primary"] {
  --btn-background-color: var(--secondary);
  --btn-border-color: var(--secondary);
  --btn-hover-background-color: var(--secondary-dark);
  --btn-hover-border-color: var(--secondary-dark);
}
[data-colorscheme="secondary"] {
  --btn-background-color: var(--secondary);
  --btn-border-color: var(--secondary);
  --btn-hover-background-color: var(--secondary-dark);
  --btn-hover-border-color: var(--secondary-dark);
}
}

@layer base{

.icon-block {
  position: relative;
  padding-left: 1.5rem;
}
  .icon-block .icon {
    position: absolute;
    left: 0;
    top: calc(((var(--line-height) * 1rem) - 1rem) / 2);
  }

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
}

@layer base{
/* Regular, SemiBold, Bold*/
}

@layer base{
/* figtree-latin-ext-300-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(../assets/fonts/figtree-latin-ext-300-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-300-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-300-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url(../assets/fonts/figtree-latin-300-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-300-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-300-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 300;
  src: url(../assets/fonts/figtree-latin-ext-300-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-300-italic.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-300-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 300;
  src: url(../assets/fonts/figtree-latin-300-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-300-italic.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-400-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../assets/fonts/figtree-latin-ext-400-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-400-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-400-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url(../assets/fonts/figtree-latin-400-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-400-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-400-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(../assets/fonts/figtree-latin-ext-400-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-400-italic.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-400-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url(../assets/fonts/figtree-latin-400-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-400-italic.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-600-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../assets/fonts/figtree-latin-ext-600-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-600-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-600-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url(../assets/fonts/figtree-latin-600-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-600-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-600-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 600;
  src: url(../assets/fonts/figtree-latin-ext-600-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-600-italic.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-600-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 600;
  src: url(../assets/fonts/figtree-latin-600-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-600-italic.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-700-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../assets/fonts/figtree-latin-ext-700-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-700-normal.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-700-normal */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url(../assets/fonts/figtree-latin-700-normal.woff2) format('woff2'), url(../assets/fonts/figtree-latin-700-normal.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{
/* figtree-latin-ext-700-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url(../assets/fonts/figtree-latin-ext-700-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-ext-700-italic.woff) format('woff');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* figtree-latin-700-italic */
@font-face {
  font-family: 'Figtree';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url(../assets/fonts/figtree-latin-700-italic.woff2) format('woff2'), url(../assets/fonts/figtree-latin-700-italic.woff) format('woff');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
}

@layer base{

:root {
  font-family: "Figtree", sans-serif;
  font-size: var(--font-size);
  font-weight: 400;
  line-height: var(--line-height);
  color: var(--text-color);
}

h1,.h1 {
  font-size: 2.9rem;
  line-height: 1.1724;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--secondary-dark);
}
h2,.h2 {
  font-size: 1.5rem;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 0;
}
  h2 + *, .h2 + * {
    margin-top: 0;
  }
h3,.h3 {
  font-size: 1.2rem;
  line-height: 1.35;
  font-weight: 600;
  margin-bottom: 0;
}
  h3 + *, .h3 + * {
    margin-top: 0;
  }
h4,.h4,
h5,.h5,
h6,.h6 {
  font-size:1rem;
  line-height:1.35;
  font-weight: 600;
  margin:0;
}
  h4 + *, .h4 + *, h5 + *, .h5 + *, h6 + *, .h6 + * {
    margin-top: 0;
  }


a {
  color: var(--link-color);
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-decoration-color: var(--primary);
}
  a:hover {
    -webkit-text-decoration: underline;
    text-decoration: underline;
  }

b,
strong {
  font-weight: 600;
}

ul {
  list-style-type: disc;
  padding-inline-start: 1.25em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
  table th,
  table td {
    padding: .375em 1em .375em 0;
    text-align: left;
    vertical-align: top;
  }
  table th:last-child,
  table td:last-child {
    padding-right: 0;
  }

figure {
  margin: 0;
  padding: 0;
}
  figure figcaption {
    font-size: .875em;
    margin: 0;
    margin-top: .5em;
    padding: 0;
  }
    figure figcaption > :first-child {
      margin-top: 0;
    }
    figure figcaption > :last-child {
      margin-bottom: 0;
    }

:focus-visible {
  outline: solid var(--focus-outline-color) 3px;
  outline-offset: 2px;
}

[hidden] {
  display: none;
}
}

@layer base{

:root {
  --input-btn-font-size: 1rem;
  --input-btn-padding-y: .45rem;
  --input-btn-padding-x: 1em;
  --input-btn-border-width: 2px;
  --input-btn-border-radius: 0;
  --input-btn-border-color: #000;
  --input-btn-background-color: transparent;
  --input-btn-color: var(--text-color);

  --input-padding-y: var(--input-btn-padding-y);
  --input-padding-x: var(--input-btn-padding-x);
  --input-border-width: var(--input-btn-border-width);
  --input-border-color: var(--input-btn-border-color);
  --input-border-radius: var(--input-btn-border-radius);
  --input-background-color: transparent;
  --input-color: var(--text-color);
  --input-placeholder-color: rgba(from var(--input-color) r g b / .5);

  --btn-padding-x: 2em;
  --btn-padding-y: var(--input-btn-padding-y);
  --btn-color: #fff;
  --btn-background-color: var(--primary);
  --btn-border-color: var(--primary);
  --btn-border-width: var(--input-btn-border-width);
  --btn-border-radius: 999px;
  --btn-hover-color: #fff;
  --btn-hover-background-color: var(--primary-dark);
  --btn-hover-border-color: var(--primary-dark);

  --icon-fill: #fff;

}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
}
  fieldset legend {
    display: block;
    margin: 0;
    padding: 0;
    font-weight: 700;
    width: 100%;
  }

label {
  cursor: pointer;
}

input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=email],
input[type=month],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
  display: inline-block;
  width:100%;
  margin:0;
  padding: var(--input-padding-y) var(--input-padding-x);
  border-width: var(--input-border-width);
  border-color: var(--input-border-color);
  border-style: solid;
  border-radius: var(--input-btn-border-radius);
  background-color: var(--input-background-color);
  font-size: 1em;
  font-family: inherit;
  font-weight: inherit;
  color: var(--input-color);
  transition: .2s ease;
  transition-property: border-color;
}
input[type=text]:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus,
select:focus,
textarea:focus {
  margin:0;
  outline: 0;
}
input[type=text]:focus-visible,
input[type=text]:focus-visible,
input[type=password]:focus-visible,
input[type=date]:focus-visible,
input[type=datetime]:focus-visible,
input[type=datetime-local]:focus-visible,
input[type=email]:focus-visible,
input[type=month]:focus-visible,
input[type=number]:focus-visible,
input[type=search]:focus-visible,
input[type=tel]:focus-visible,
input[type=time]:focus-visible,
input[type=url]:focus-visible,
input[type=week]:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: solid var(--focus-outline-color) 2px;
}
textarea {
  height: 6rem;
  resize: vertical;
}
button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  transition: .2s ease;
  transition-property: background-color, border-color, color;
}
::placeholder {
  color: var(--input-placeholder-color);
  opacity: 1;
}

select option[disabled],
select option[selected][disabled] {
  color: var(--input-placeholder-color);
}

/* Form-Layout
*********************************/
.form-check {
  --_indent: 1.25em;

  padding-left: var(--_indent);
}
  .form-check input[type="checkbox"],
  .form-check input[type="radio"] {
    margin-top: calc((((var(--line-height) * 1rem) - 1rem) / 2) + 3px);
    margin-left: calc(var(--_indent) * -1);
    float: left;
  }
.form-row,
.form-check {
  --_spacing-y: 0;

  margin-block: var(--_spacing-y);
}
  .form-row:first-child, .form-check:first-child {
    margin-top: 0;
  }
  .form-row:last-child, .form-check:last-child {
    margin-bottom: 0;
  }


/* Neos-Error-Handling */
form .error {
  color: #f00;
}
  form .error input,
  form .error textareat {
    border-color: currentColor;
  }
}

@layer base{
.btn {
  display: inline-flex;
  gap: 1.5em;
  align-items: center;
  justify-content: start;

  border: solid var(--btn-border-color) var(--btn-border-width);
  border-radius: var(--btn-border-radius);
  padding: var(--btn-padding-y) var(--btn-padding-x);

  background-color: var(--btn-background-color);
  color: var(--btn-color);

  -webkit-text-decoration: none;

  text-decoration: none;
  text-transform: uppercase;
  font-weight: 600;

  transition: .2s ease;
  transition-property: background-color, border-color, color;

  /* .btn__icon {} */
}

  .btn:hover {
    background-color: var(--btn-hover-background-color);
    border-color: var(--btn-hover-background-color);
    color: var(--btn-hover-color);
    -webkit-text-decoration: none;
    text-decoration: none;
  }

  .btn__title {
    flex: 1;
    white-space: nowrap;
  }

  .btn--reverse {
    flex-direction: row-reverse;
  }

  .btn[data-colorscheme="secondary"] {
    background-color: var(--secondary);
    border-color: var(--secondary);
  }
    .btn[data-colorscheme="secondary"]:hover {
      background-color: var(--secondary-dark);
      border-color: var(--secondary-dark);
    }

  .btn[data-colorscheme="white"] {
    background-color: #fff;
    border-color: #fff;
    color: #000;
  }
    .btn[data-colorscheme="white"]:hover {
      background-color: rgba(255,255,255,.8);
      border-color: rgba(255,255,255,.8);
      color: #000;
    }

  .btn[hidden] {
    display: none;
  }
}

@layer content-grid{
  .content-grid > * {
    --content-width: var(--content-width-normal);
    --content-gutter: var(--gutter);

    width: min(
      var(--content-width),
      calc(100% - var(--content-gutter))
    );

    margin-inline: auto;
    margin-block: var(--content-spacing-y);
  }

    .content-grid > *:first-child {
      margin-top: 0;
    }
    .content-grid > *:last-child {
      margin-bottom: 0;
    }

    .content-grid > *[data-grid="narrow"] {
      --content-width: var(--content-width-narrow);
    }
    .content-grid > *[data-grid="wide"] {
      --content-width: var(--content-width-wide);
    }
    .content-grid > *[data-grid="full"] {
      --content-width: 100%;
      --content-gutter: 0;
    }
  .content-area > * {
    margin-block: var(--content-spacing-y);
  }
    .content-area > *:first-child {
      margin-top: 0;
    }
    .content-area > *:last-child {
      margin-bottom: 0;
    }
}

@layer layout{
html {
  scroll-behavior: auto;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
}

@layer layout{

.site-header {
  position: relative;
}

  .site-header--compact,
  .site-header--large {
    --focus-outline-color: #fff;
    --navbar-controls-color: #fff;
    --hero-height: 35rem;
    --hero-background-color: var(--primary);
    --hero-title-background: rgba(255,255,255,.8);
  }

  .site-header--large {
    --hero-height: 54rem;
  }

[data-navigation="open"] .site-header {
  --focus-outline-color: var(--primary);
  --navbar-controls-color: var(--text-color);
}
}

@layer layout{
.site-hero {
  height: var(--hero-height, auto);
  background-color: var(--hero-background-color, transparent);
  background-image: var(--hero-image, none);
  background-size: cover;
  background-position: 65% 50%;
  padding-block: calc(var(--section-padding) * 2) var(--section-padding);
  display: flex;
  flex-direction: column;
  justify-content: end;
}

  .site-hero__content {
    position: relative;
  }

  .site-hero__logo {
    display: block;
    position: absolute;
    z-index: 2;
    left: 0;
    top: 0;
    margin: 0;
    transform: translateY(-50%);
  }
    .site-hero__logo img {
      width: 5.85rem;
      height: auto;
      display: block;
    }

  .site-hero__title {
    position: relative;
    z-index: 1;
    background-color: var(--hero-title-background, var(--secondary-light));
    padding: 1rem;
    padding-top: 4.25rem; /* half of logo height + padding */
    max-width: 45rem;
    margin: 0;
    transform: translateX(calc(var(--section-headline-offset-x) * -1));
    padding-left: var(--section-headline-offset-x);
  }
    .site-hero__title .title {
      display: block;
    }
    .site-hero__title .subtitle {
      display: block;
      font-size: 2.3rem;
      font-weight: 300;
      font-style: italic;
      text-transform: none;
    }
}

@layer layout{
.site-navbar {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
}

  .site-navbar__content {
    padding-block: 1rem;
  }

  .site-navbar__controls {
    position: relative;
    z-index: 1021;

    display: flex;
    gap: 1.5rem;
    justify-content: start;
    align-items: center;
    color: var(--navbar-controls-color, var(--text-color));
  }

    .site-navbar__controls a {
      color: inherit;
    }

  .site-navbar__toggle {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: transparent;
    color: inherit;
  }

  .site-navbar__nav {
    position: absolute;
    z-index: 1020;
    left: 0;
    top: 0;
    right: 0;
    background-color: #fff;
    padding-block: var(--section-padding);
  }

    .site-navbar__nav.hidden {
      display: none;
    }

  .site-navbar .icon {
    display: block;
    height: 2.4rem;
    width: auto;
  }
}
/* @import "site/main.css" layer(layout); */
@layer layout{
.site-footer {
  margin-top: auto;
}

  .site-footer__copyright {
    padding-block: calc(var(--section-padding) / 2) var(--section-padding);
    padding-inline: calc(var(--gutter) / 2);
    text-align: center;
  }
}
@layer components{
.cm-accordion {
  --_icon-accent: var(--icon-accent);

  border-bottom: solid var(--primary) 2px;
}
  .cm-accordion__summary {
    display: flex;
    gap: .5em;
    justify-content: space-between;
    align-items: end;
    cursor: pointer;
    font-weight: 600;
    padding-block: .75em;
  }
    .cm-accordion__summary::marker {
      content: '';
    }
  .cm-accordion__icon {
    width: 4.1em;
    height: auto;
    flex-shrink: 0;
  }
  .cm-accordion__title {
    flex-grow: 1;
  }
  .cm-accordion__indicator {
    width: 1em;
    height: 1em;
    margin-block: calc(((var(--line-height) * 1rem) - 1rem) / 2);
    transition: .2s ease;
    transition-property: transform;
    fill: var(--primary);
  }
    .cm-accordion__indicator .h {
      transform: opacity .2s ease;
    }
  .cm-accordion__content {
    padding-block-end: 1em;
  }
    .cm-accordion__content > :first-child {
      margin-top: 0;
    }
    .cm-accordion__content > :last-child {
      margin-bottom: 0;
    }
    .cm-accordion[open] .cm-accordion__indicator {
      transform: rotate(.25turn);
    }
      .cm-accordion[open] .cm-accordion__indicator .h {
        opacity: 0;
      }

  /* Animation */
	.cm-accordion::details-content {
		overflow: hidden;
		block-size: 0;
		transition-property: block-size, content-visibility;
		transition-behavior: allow-discrete;
		transition-duration: 0.5s;
	}
		.cm-accordion[open]::details-content {
			block-size: auto;
			block-size: calc-size(auto, size);
		}
}
@layer components{
.cm-columns {
  container-type: inline-size;
}

  .cm-columns__columns {
    display: grid;
    gap: var(--content-spacing-y) var(--gutter);
  }
    .cm-columns.no-row-gap .cm-columns__columns {
      row-gap: 0;
    }

  @container (width >= 36em) {
      .cm-columns[data-columns="2"] .cm-columns__columns {
        grid-template-columns: repeat(2, 1fr);
      }
  }
}
@layer components{
.course-detail {
  padding-block: 0 var(--section-padding);
}

  .course-detail__data {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
  }
    .course-detail__data li {
      margin: 0;
      padding: 0 1rem;
      border-left: dotted var(--text-color) 2px;
    }

  .course-detail__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: var(--line-height);
    color: var(--text-color);
    text-transform: none;
  }
}
@layer components{
  .cp-event-list__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .cp-event-list__item {
    margin: 0;
    padding: .5em 0;
    border-bottom: solid var(--text-color) 2px;
  }
    .cp-event-list__item:last-child {
      border-bottom: 0;
    }
    .cp-event-list__item .date {
      font-weight: 700;
    }
}
@layer components{
  .cm-headline > * {
    margin: 0;
  }
}
@layer components{
.icon {
  min-width: 1em;
  min-height: 1em;
  stroke: transparent;
  stroke-width: 0;
  stroke-linecap: round;
  fill: currentColor;
}
}
@layer components{
.cm-image {
  /* &__caption {} */
}
  .cm-image__content {
    display: grid;
    grid-template-areas: 'stack';
  }
  .cm-image__image {
    grid-area: stack;
  }
  .cm-image__copyright {
    grid-area: stack;
    justify-self: end;
    align-self: end;
    padding: .5em 1em;
    font-size: .75em;
  }
}
@layer components{
.menu {
  line-height: 1.1;
}

  .menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .menu li {
    margin: 0;
    padding: 0;
  }
  .menu a {
    display: block;
    -webkit-text-decoration: none;
    text-decoration: none;
  }

  .menu__list {
    display: grid;
    gap: 1em;
  }
    @media (width >= 580px) {

  .menu__list {
      grid-template-columns: repeat(2, 1fr)
  }
    }
    @media (width >= 768px) {

  .menu__list {
      grid-template-columns: repeat(3, 1fr)
  }
    }
    @media (width >= 1480px) {

  .menu__list {
      grid-template-columns: repeat(6, 1fr)
  }
    }
      .menu__item--main > a {
        border: solid var(--primary) 2px;
        margin-bottom: .75em;
        padding: .475em .75em;
        text-transform: uppercase;
        font-weight: 700;
        color: var(--primary);
      }
      .menu__item--main .menu__sub {
        padding-left: calc(.75em + 2px);
      }
        .menu__item--main .menu__sub li {
          margin-bottom: .5em;
          /* ersten Link ausblenden */
          /* &:first-child {
            display: none;
          } */
        }
      .menu__item--meta .menu__sub {
        margin-top: 2px;
      }
      .menu__item--meta a {
        border-bottom: solid var(--primary) 2px;
        padding-block: .475em;
      }
}
@layer components{
.news-detail {
  padding-block-end: var(--section-padding);
  color: var(--text-color);
}

  .news-detail__header {
    margin-block-end: var(--content-spacing-y);
  }

  .news-detail__date {
    display: block;
    margin: 0;
  }

  .news-detail__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: var(--line-height);
    color: var(--text-color);
    text-transform: none;
  }

  .news-detail__image {
    margin-block-end: var(--content-spacing-y);
  }

    .news-detail__image img {
      display: block;
      width: 100%;
      height: auto;
    }

  .news-detail__abstract {
    margin-block-end: var(--content-spacing-y);
  }
}
@layer components{
  .cp-news-list__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .cp-news-list__item {
    margin: 0;
    padding: 0;
  }
.cp-news-short {
  padding-bottom: 1.5rem;
  margin-bottom: 3rem;
  border-bottom: solid var(--secondary) 2px;
}
  .cp-news-short__image {
    margin-bottom: 1rem;
  }
    .cp-news-short__image img {
      display: block;
      width: 100%;
      height: auto;
    }
  .cp-news-short__header {
    margin-bottom: .5rem;
  }
    .cp-news-short__header > * {
      margin: 0;
    }
  .cp-news-short__title {
    font-size: 1.2rem;
    font-weight: 600;
  }

  .cp-news-short__abstract {
    margin-bottom: 1rem;
  }

  .cp-news-short__link {
    margin: 0;
  }
    .cp-news-short__link a {
      display: inline-flex;
      gap: .5em;
      text-transform: uppercase;
      -webkit-text-decoration: none;
      text-decoration: none;
      font-weight: 600;
    }
      .cp-news-short__link a:hover {
        -webkit-text-decoration: underline;
        text-decoration: underline;
      }
    .cp-news-short__link .icon {
      width: 5rem;
      height: 1lh;
    }
}
@layer components{
.section {
  --section-background-color: #fff;
  --section-headline-color: var(--blue);

  background-color: var(--section-background-color);
  color: var(--text-color);
}

  .section__hero {
    background-color: var(--secondary-light);
    min-height: 6rem;
  }
    .section__hero img {
      aspect-ratio: 1920/655;
      width: 100%;
      min-height: 20rem;
      max-height: 32.75rem;
      object-fit: cover;
    }

  .section__headline {
    margin-block-end: calc(var(--content-spacing-y) - var(--section-headline-offset-y));
  }
    .section__headline h2 {
      color: var(--section-headline-color);
    }
      .section__headline h2 .box {
        display: block;
        position: relative;
        z-index: 1;
        max-width: 35rem;
        border: solid var(--secondary) 2px;
        padding: calc(var(--section-headline-offset-y) * 2) 1rem .5rem var(--section-headline-offset-x);
        transform:
          translateY(calc(var(--section-headline-offset-y) * -1))
          translateX(calc(var(--section-headline-offset-x) * -1));
      }

  .section__content {
    padding-block-end: var(--section-padding);
  }

  .section[data-background="primary"] {
    --section-headline-color: #fff;
    --section-background-color: var(--primary);

    --text-color: #fff;
    --focus-outline-color: #fff;

    --input-border-color: #fff;
    --input-color: #fff;
    --input-placeholder-color: rgba(from var(--input-color) r g b / .7);

  }
  .section[data-background="primary-light"] {
    --section-background-color: var(--primary-light);
  }
  .section[data-background="secondary"] {
    --section-background-color: var(--secondary);
  }
  .section[data-background="secondary-light"] {
    --section-background-color: var(--secondary-light);
  }
}
@layer components{

.section-columns {
  --_icon-size: 6rem;

  margin-block-start: calc(var(--section-padding) + (var(--_icon-size) / 2));
  background-color: var(--secondary-light);
}

  .section-columns__columns {
    display: grid;
    gap: var(--gutter);
    grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));

    transform: translateY(calc(var(--_icon-size) / -2));
    padding-block-end: calc(var(--section-padding) - (var(--_icon-size) / 2));
    margin-block-end: calc(var(--_icon-size) / -2);
  }

.section-column {
  display: flex;
  flex-direction: column;
  gap: var(--content-spacing-y);
}

  .section-column__icon {
    width: var(--_icon-size);
    height: var(--_icon-size);
    padding: 1rem;
    background-color: var(--primary);
  }
    .section-column__icon .icon {
      --primary: #fff;
    }
    .section-column__headline > * {
      margin: 0;
      color: var(--text-color);
    }
  .section-column__button {
    margin-block-start: auto;
  }
    .section-column[data-colorscheme="secondary"] .section-column__icon {
      background-color: var(--secondary);
    }
      .section-column[data-colorscheme="secondary"] .section-column__icon .icon {
        --primary: #fff;
        --secondary: var(--primary);
      }
}
@layer components{
.section-contact {
  --ck-color-engine-placeholder-text: rgba(255,255,255,.5);

  --text-color: #fff;
  --link-color: #fff;

  --social-media-icon-color: #fff;
  --social-media-icon-hover-color: var(--secondary-dark);

  background-color: var(--secondary);
  color: var(--text-color);
  padding-block: var(--section-padding);
}

  .section-contact__main {
    display: grid;
    gap: var(--gutter);
  }
    .section-contact__headline > * {
      color: #000;
    }

  .section-contact .cm-button-group {
    row-gap: .5rem;
  }
    .section-contact .cm-button-group .btn {
      flex: 1;
      justify-content: start;
      gap: 1em;
      padding-inline: 1.5em;
    }
      .section-contact .cm-button-group .btn__icon {
        width: 1.25rem;
        height: 1.25rem;
      }

  .section-contact .meta-links {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: solid #fff 1px;
  }
    .section-contact .meta-links li {
      margin: 0;
      padding: .5em 0;
      border-bottom: solid #fff 1px;
    }
    .section-contact .meta-links a {
      -webkit-text-decoration: none;
      text-decoration: none;
    }
      .section-contact .meta-links a:hover {
        -webkit-text-decoration: none;
        text-decoration: none;
      }

  @media (width >= 992px) {
    .section-contact__main {
      grid-template-columns: repeat(3, 1fr);
    }
  }
}
@layer components{
.section-mini {
  padding-block: var(--section-padding);
}
  .section-mini__headline {
    margin-block-end: var(--content-spacing-y);
  }
    .section-mini__headline > * {
      color: var(--text-color);
      text-align: center;
    }

  .section-mini[data-background="primary"] {
    background-color: var(--primary);
  }
  .section-mini[data-background="primary-light"] {
    background-color: var(--primary-light);
  }
  .section-mini[data-background="secondary"] {
    background-color: var(--secondary);
  }
  .section-mini[data-background="secondary-light"] {
    background-color: var(--secondary-light);
  }
}
@layer components{
.section-teaser {
  --section-content-padding: 3rem;

  padding-block: var(--section-padding);
  color: var(--text-color);
  background-color: var(--secondary);
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

  .section-teaser__content {
    position: relative;
    border: solid var(--secondary) 2px;
    border-right-width: 0;
    padding: var(--section-content-padding);
    padding-inline-end: calc(var(--gutter) / 2);
  }
    .section-teaser__content > * {
      max-width: calc(
        (var(--content-width) / 2) -
        var(--section-content-padding) - 
        (var(--gutter) / 2) -
        2px
      );
    }
    .section-teaser__headline h2 {
      color: var(--secondary);
    }

  .section-teaser__button {
    position: absolute;
    left: calc(var(--section-content-padding) + 2px);
    bottom: 0;
    transform: translateY(50%);
  }

  .section-teaser[data-background="primary"] {
    background-color: var(--primary);
  }
  .section-teaser[data-background="primary-dark"] {
    background-color: var(--primary-dark);
  }
  .section-teaser[data-background="secondary"] {
    background-color: var(--secondary);
  }
  .section-teaser[data-background="secondary-dark"] {
    background-color: var(--secondary-dark);
  }

  .section-teaser[data-background="primary"],
  .section-teaser[data-background="primary-dark"],
  .section-teaser[data-background="secondary-dark"] {
    --text-color: #fff;
  }

  .section-teaser[data-image-size="half"] {
    background-size: auto 100%;
    background-position: 0 50%;
  }
}
@layer components{
.cm-social-media {
  display: flex;
  gap: .5em;

  margin: 0 auto;
  padding: 0;
  list-style: none;
}
  .cm-social-media li {
    margin: 0;
    padding: 0;
  }
    .cm-social-media li a {
      color: var(--social-media-icon-color);
      transition: color .2s ease;
    }
      .cm-social-media li a:hover {
        color: var(--social-media-icon-hover-color);
      }
    .cm-social-media li .icon {
      display: block;
      width: 1.5rem;
      height: 1.5rem;
    }
}
@layer components{
  .cm-text__content {
    max-width: 70ch;
  } /* Fließtext: 60–75 Zeichen; kleine Textblöcke: 45–60 Zeichen; sehr breite Layouts: max. 80 Zeichen */
    .cm-text__content > :first-child {
      margin-top: 0;
    }
    .cm-text__content > :last-child {
      margin-bottom: 0;
    }
}


/* NodeTypes/Content */


@layer components{
.cm-award-winners {
  container-type: inline-size;
}

  .cm-award-winners__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

    @container (width >= 30rem) {

  .cm-award-winners__list {
      columns: 2;
      gap: var(--gutter)
  }
    }
.cm-award-winner {
  page-break-inside: avoid;
  break-inside: avoid;

  margin: 0;
  padding: 1rem 0;
  border-block-end: solid var(--secondary) 2px;
}

  .cm-award-winner__link {
    display: block;
    -webkit-text-decoration: none;
    text-decoration: none;
  }
  .cm-award-winner__title {
    font-size: 1rem;
    line-height: var(--line-height);
    margin: 0;
  }
  .cm-award-winner__meta {
    display: flex;
    gap: 0 1em;
    flex-wrap: wrap;
  }
  .cm-award-winner__arrow {
    width: 5rem;
    height: 1lh;
    color: var(--primary);
    display: inline-block;
    vertical-align: baseline;
  }
}


@layer components{
  .cm-board-members__list {
    display: grid;
    gap: var(--gutter);
    grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
  }
.cm-board-member {
  margin: 0;
  padding: 1rem 0;
  border-bottom: solid var(--secondary) 2px;
}
  .cm-board-member p {
    margin: 0;
  }
  .cm-board-member h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary);
  }
  .cm-board-member__role {
    font-weight: 700;
  }
    .cm-board-member__link .label {
      display: inline-block;
    }
    .cm-board-member__link .icon {
      width: 5rem;
      height: 1rem;
      color: var(--primary);
    }
}


@layer components{
.cm-button-group {
  display: flex;
  gap: calc(var(--gutter) / 2) var(--gutter);
  flex-wrap: wrap;
}

  .cm-button-group[data-align="center"] {
    justify-content: center;
  }
}


@layer components{
.cm-features {
  container-type: inline-size;
}

  .cm-features__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  @container (width >= 36rem) {
    .cm-features .cm-features__list {
      columns: 2;
      gap: var(--gutter);
    }
  }
.cm-feature {
  margin: 0;
  padding: 1em 0;
  border-bottom: solid var(--primary) 2px;

  display: flex;
  justify-content: start;
  align-items: end;
  gap: 1.5em;
}

  .cm-feature__icon {
    width: 4.1em;
    height: auto;
    flex-shrink: 0;
  }

  .cm-feature__title {
    font-weight: 600;
    text-wrap: balance;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}


@layer components{
.cm-fee-calculator {
  --_field-padding: .25em;
  --_field-spacing: 1em;

  container-type: inline-size;

}

  .cm-fee-calculator h3 {
    margin-bottom: calc(1rem - var(--_field-spacing));
  }
    .cm-fee-calculator h3:not(:first-child) {
      margin-top: 2.5rem;
    }

  .cm-fee-calculator__main {
    display: grid;
    gap: var(--content-spacing-y) var(--gutter);
  }
    @container (width >= 45rem) {

  .cm-fee-calculator__main {
      grid-template-columns: repeat(2, 1fr)
  }
    }
    .cm-fee-calculator__form form {
      margin-top: var(--_field-spacing);
    }

    .cm-fee-calculator__form label {
      padding: var(--_field-padding) 0;
    }

    .cm-fee-calculator__form input[type=text],
    .cm-fee-calculator__form input[type=number] {
      border-radius: 0;
      border: 0;
      padding: var(--_field-padding) 1em;
    }

    .cm-fee-calculator__form .hint {
      font-style: italic;
    }


    .cm-fee-calculator__form .form-input {
      display: flex;
      align-items: end;

      border-bottom: solid var(--primary) 2px;
      margin-bottom: var(--_field-spacing);
    }

      .cm-fee-calculator__form .form-input label {
        flex: 0 0 60%;
        border-right: solid var(--primary) 2px;
        text-wrap: balance;
      }
      .cm-fee-calculator__form .form-input input[type=text],
      .cm-fee-calculator__form .form-input input[type=number] {
        flex: 0 0 40%
      }
    .cm-fee-calculator__form .form-checkbox {
      display: flex;
      align-items: end;
      gap: .5em;

      border-bottom: solid var(--primary) 2px;
      margin-bottom: var(--_field-spacing);
    }

      .cm-fee-calculator__form .form-checkbox input[type="checkbox"] {
        margin-block: calc((((var(--line-height) * 1em) - 1em) / 2) + var(--_field-padding) + 3px);
      }
    .cm-fee-calculator__fees table {
      width: 100%;
      border: 0;
      border-spacing: 0;
      border-collapse: collapse;
    }

      .cm-fee-calculator__fees table tr {
        border-bottom: solid var(--primary) 2px;
      }
      .cm-fee-calculator__fees table th, .cm-fee-calculator__fees table td {
        padding: var(--_field-padding) 1em;
        padding-top: calc(var(--_field-padding) + var(--_field-spacing));
        font-weight: 400;
        vertical-align: bottom;
      }

        .cm-fee-calculator__fees table th:first-child, .cm-fee-calculator__fees table td:first-child {
          padding-left: 0;
        }
        .cm-fee-calculator__fees table th:last-child, .cm-fee-calculator__fees table td:last-child {
          padding-right: 0;
          text-align: right;
        }

        .cm-fee-calculator__fees table th strong, .cm-fee-calculator__fees table td strong {
          font-weight: 600;
          color: var(--primary);
          margin-right: 0.5em;
        }
        .cm-fee-calculator__fees table th .desc, .cm-fee-calculator__fees table td .desc {
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .cm-fee-calculator__fees table tfoot th, .cm-fee-calculator__fees table tfoot td {
          font-weight: 600;
        }
}


@layer components{
.cm-form-membership {
  container-type: inline-size;

  --input-border-color: #fff;
  --input-color: #fff;
  --btn-background-color: var(--secondary);
  --btn-border-color: var(--secondary);
  --btn-hover-background-color: var(--secondary-dark);
  --btn-hover-border-color: var(--secondary-dark);
}


  .cm-form-membership__main {
    display: grid;
    gap: 1rem var(--gutter);
  }

  .cm-form-membership .form-row,
  .cm-form-membership .form-check {
    --_spacing-y: 1em;
  }
    .cm-form-membership .form-row--zip-city {
      display: grid;
      grid-template-columns: 5em auto;
      gap: 1em;
    }

  @container (width >= 40rem) {
    .cm-form-membership__main {
      grid-template-columns: repeat(2, 1fr);
      /* Zeile 2 ist flexibel: Die Mehrhöhe der Adress-Spalte (spannt Zeile 1+2) landet dort
         und nicht in Zeile 1 / "name". */
      grid-template-rows: auto 1fr auto;
      align-items: start;
      grid-template-areas: 'name address'
                            'accept address'
                            '. submit';
    }
    .cm-form-membership__name {
      grid-area: name;
    }
    .cm-form-membership__address {
      grid-area: address;
    }
    .cm-form-membership__accept {
      grid-area: accept;
    }
    .cm-form-membership__submit {
      grid-area: submit;
    }

  }
}


@layer components{

.cm-keyfacts {
  container-type: inline-size;

  --_border: dotted var(--text-color) 2px;
}

  .cm-keyfacts__list {
    margin: 0;
    padding: 0;
    display: grid;

    gap: 0;

    text-align: center;
  }

    @container (width >= 40rem) {

  .cm-keyfacts__list {
      grid-template-columns: repeat(3, 1fr);
      text-align: left;
      border-top: 0
  }
    }

.cm-keyfact {
  margin: 0 auto;
  padding: calc(var(--gutter) / 2) 0;
  border-bottom: var(--_border);
  max-width: 20rem;
}

  .cm-keyfact:first-child {
    border-top: var(--_border);
  }

  .cm-keyfact__title {
    margin: 0 0 .5rem 0;
    padding: 0;

    font-size: 2.9rem;
    line-height: 1.1;
    font-weight: 800;
    color: var(--primary);

    white-space: nowrap;
  }

  .cm-keyfact__description {
    margin: 0;
    padding: 0;
  }

  @container (width >= 40rem) {

.cm-keyfact {
    max-width: none;
    padding: 0 calc(var(--gutter) / 2);
    border-bottom: 0;
    border-right: var(--_border)
}

    .cm-keyfact:first-child {
      border-top: 0;
    }
    .cm-keyfact:nth-child(3n+1) {
      border-left: var(--_border);
    }
  }
}


@layer components{
.cm-media-audio {
  margin: 0;
  padding: 0;
}
  .cm-media-audio audio {
    display: block;
    width: 100%;
  }
}


@layer components{
.cm-media-video {
  padding-block: 0;
}
  .cm-media-video video {
    display: block;
    width: 100%;
    height: auto;
  }
}


@layer components{
  .cm-media-youtube iframe {
    display: block;
    border: 0;
    aspect-ratio: 16/9;
    width: 100%;
  }
  .cm-media-youtube figcaption {
    text-transform: uppercase;
    font-weight: 600;
  }
}


@layer components{
      /* center slides, if splides does not overflow */
      .cm-slider-logos .splide:not(.is-overflow) .splide__list {
        justify-content: center;
      }
      .cm-slider-logos .splide:not(.is-overflow) .splide__slide:last-child {
        margin-right: 0 !important;
      }
      .cm-slider-logos .splide:not(.is-overflow) .splide__arrows,
      .cm-slider-logos .splide:not(.is-overflow) .splide__pagination {
        display: none;
      }
    .cm-slider-logos .splide__list {
      align-items: stretch;
    }
    .cm-slider-logos .splide__slide {
      padding-inline: calc(var(--gutter) / 2);
    }
    .cm-slider-logos--seperators .splide__track {
      border-left: dotted var(--gray-dark) 2px;
    }
    .cm-slider-logos--seperators .splide__slide {
      border-right: dotted var(--gray-dark) 2px;
    }
  .cm-slider-logo__content {
    display: block;
    aspect-ratio: 300/130;
  }
      .cm-slider-logo__content:hover .cm-slider-logo__logo {
        filter: grayscale(0);
      }
  .cm-slider-logo__logo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: grayscale(1);
    transition: filter .2s ease;
  }
}


@layer components{
  .cm-slider-offers .splide__track {
    border-left: dotted var(--gray-dark) 2px;
  }

.cm-slider-offer {
  padding-inline: calc(var(--gutter) / 2);
  border-right: dotted var(--gray-dark) 2px;
}
  .cm-slider-offer__icon {
    aspect-ratio: 1;
    width: 6rem;
    background-color: var(--secondary);
    padding: 1em;
    margin-bottom: 1em;
  }
    .cm-slider-offer__icon .icon {
      --secondary: #fff;
    }
  .cm-slider-offer__headline {
    margin: 0 0 1em 0;
  }
}


@layer components{
  .cm-staff-members__list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: calc(40rem + var(--gutter));
    columns: 2;
    gap: var(--gutter);
  }

.cm-staff-member {
  margin: 0 0 1rem 0;
  padding: 0 0 1rem 0;
  border-bottom: solid var(--primary) 2px;
  page-break-inside: avoid;
  break-inside: avoid;
}

  .cm-staff-member p {
    margin: 0;
  }
  .cm-staff-member h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
  }

  .cm-staff-member__image {
    margin-bottom: 1rem;
  }
    .cm-staff-member__image img {
      display: block;
      width: 100%;
      height: auto;
    }

  .cm-staff-member__role {
    color: var(--primary);
    font-weight: 700;
  }
    .cm-staff-member__tel .icon, .cm-staff-member__email .icon {
      width: 1em;
      height: 1em;
    }
    .cm-staff-member__tel a, .cm-staff-member__email a {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
}

/* NodeTypes/Section */

@layer components{
  .section-hero-image img {
    aspect-ratio: 1920/655;
    width: 100%;
    min-height: 20rem;
    max-height: 32.75rem;
    object-fit: cover;
  }
}

@layer components{
    @container (width >= 36em) {
        .section-list-news-events .cm-columns[data-columns="2"] .cm-columns__columns {
          grid-template-columns: 3fr 2fr;
        }
    }
}

/*
 * Neos backend (CKEditor) inline editing fixes.
 *
 * CKEditor5 sets `overflow: auto` on its inline editable root
 * (.ck.ck-editor__editable_inline). Even without overflowing content this can
 * make some browsers reserve space for / show a scrollbar, causing inline
 * editable headlines to jump by a few pixels while editing. This rule is only
 * relevant inside the Neos backend, since the class doesn't exist on the
 * public frontend.
 */
.ck.ck-editor__editable_inline {
  overflow: visible !important;
}

/* NPM-Plugins */
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:flex;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}

.splide {
  --_arrow-width: 5rem;
  --_arrow-height: 1rem;
}

.splide__arrow {
    width: var(--_arrow-width);
    height: var(--_arrow-height);
    background-color: transparent;
    color: var(--primary);
    opacity: 1;
  }

.splide__arrow .icon {
      width: var(--_arrow-width);
      height: var(--_arrow-height);
      fill: var(--primary);
    }

.splide__arrow--prev {
      left: calc((5rem + (var(--gutter) / 2)) * -1);
      /* svg {
        transform: none;
      } */
    }

.splide__arrow--next {
      right: calc((5rem + (var(--gutter) / 2)) * -1);
    }

.splide__pagination {
    position: static;
    padding-top: .5rem;
    gap: .3rem;
  }

.splide__pagination__page {
      --_size: .5rem;
      background-color: var(--secondary);
      margin: 0;
      width: var(--_size);
      height: var(--_size);
      border-radius: calc(var(--_size) / 2);
      transition: width .2s ease;
    }

.splide__pagination__page.is-active {
        background-color: var(--primary);
        transform: none;
      }

/*# sourceMappingURL=main.min.css.map*/