@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

@font-face {
  font-family: "EnBW-Din-Pro Regular";
  src: url("../webfonts/EnBW-DIN-Pro.eot");
  src: url("../webfonts/EnBW-DIN-Pro.eot") format("eot"), url("../webfonts/EnBW-DIN-Pro.woff") format("woff"), url("../webfonts/EnBW-DIN-Pro.woff2") format("woff2"), url("../webfonts/EnBW-DIN-Pro.svg") format("svg");
}
@font-face {
  font-family: "EnBW-Din-Pro Medium";
  src: url("../webfonts/EnBW-DIN-Pro-Medium.eot");
  src: url("../webfonts/EnBW-DIN-Pro-Medium.eot") format("eot"), url("../webfonts/EnBW-DIN-Pro-Medium.woff") format("woff"), url("../webfonts/EnBW-DIN-Pro-Medium.woff2") format("woff2"), url("../webfonts/EnBW-DIN-Pro-Medium.svg") format("svg");
}
/**
 * Z-INDEX MANAGEMENT
 * z-index: index($layers, expandable-block-expand-label);
 */
.show-for-xsmall-down, .show-for-xsmall-only, .show-for-xsmall-up, .show-for-small-down, .show-for-small-only, .show-for-small-up, .show-for-medium-down, .show-for-medium-only, .show-for-medium-up, .show-for-large-down, .show-for-large-only, .show-for-large-up, .show-for-xlarge-down, .show-for-xlarge-only, .show-for-xlarge-up {
  display: none;
}

@media (max-width: 413px) {
  .show-for-xsmall-down {
    display: block;
  }
}

@media (max-width: 413px) {
  .show-for-xsmall-only {
    display: block;
  }
}

.show-for-xsmall-up {
  display: block;
}

@media (max-width: 1023px) {
  .show-for-small-down {
    display: block;
  }
}

@media (min-width: 414px) and (max-width: 1023px) {
  .show-for-small-only {
    display: block;
  }
}

@media (min-width: 414px) {
  .show-for-small-up {
    display: block;
  }
}

@media (max-width: 1439px) {
  .show-for-medium-down {
    display: block;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .show-for-medium-only {
    display: block;
  }
}

@media (min-width: 1024px) {
  .show-for-medium-up {
    display: block;
  }
}

@media (max-width: 1999px) {
  .show-for-large-down {
    display: block;
  }
}

@media (min-width: 1440px) and (max-width: 1999px) {
  .show-for-large-only {
    display: block;
  }
}

@media (min-width: 1440px) {
  .show-for-large-up {
    display: block;
  }
}

.show-for-xlarge-down {
  display: block;
}

@media (min-width: 2000px) {
  .show-for-xlarge-only {
    display: block;
  }
}

@media (min-width: 2000px) {
  .show-for-xlarge-up {
    display: block;
  }
}

@media (max-width: 413px) {
  .hide-for-xsmall-down {
    display: none;
  }
}

@media (max-width: 413px) {
  .hide-for-xsmall-only {
    display: none;
  }
}

.hide-for-xsmall-up {
  display: none;
}

@media (max-width: 1023px) {
  .hide-for-small-down {
    display: none;
  }
}

@media (min-width: 414px) and (max-width: 1023px) {
  .hide-for-small-only {
    display: none;
  }
}

@media (min-width: 414px) {
  .hide-for-small-up {
    display: none;
  }
}

@media (max-width: 1439px) {
  .hide-for-medium-down {
    display: none;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .hide-for-medium-only {
    display: none;
  }
}

@media (min-width: 1024px) {
  .hide-for-medium-up {
    display: none;
  }
}

@media (max-width: 1999px) {
  .hide-for-large-down {
    display: none;
  }
}

@media (min-width: 1440px) and (max-width: 1999px) {
  .hide-for-large-only {
    display: none;
  }
}

@media (min-width: 1440px) {
  .hide-for-large-up {
    display: none;
  }
}

.hide-for-xlarge-down {
  display: none;
}

@media (min-width: 2000px) {
  .hide-for-xlarge-only {
    display: none;
  }
}

@media (min-width: 2000px) {
  .hide-for-xlarge-up {
    display: none;
  }
}

body,
html {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: "EnBW-Din-Pro Regular", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  font-size: 17px;
  line-height: 1.5;
  color: rgb(58, 58, 74);
  padding-top: 144px;
  min-width: 320px;
}
@media (min-width: 2000px) {
  body {
    font-size: 17px;
  }
}
@media (max-width: 1999px) {
  body {
    font-size: 17px;
  }
}
@media (max-width: 1439px) {
  body {
    font-size: 15px;
    padding-top: 146px;
  }
}
@media (max-width: 1279px) {
  body {
    padding-top: 116px;
  }
}
@media (max-width: 1023px) {
  body {
    font-size: 14px;
  }
}
@media (max-width: 413px) {
  body {
    font-size: 14px;
    padding-top: 72px;
  }
}
body.no-scroll, body.with-nsw-modal {
  overflow: hidden;
  height: 100%;
}

.fixme {
  border: 2px solid #f00;
}

/*
a {
	transition: background-color ease $animationSpeed, color ease $animationSpeed;
}
*/
.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 1vw !important;
}

.p-2 {
  padding: 2vw !important;
}

.p-3 {
  padding: 3vw !important;
}

.p-4 {
  padding: 4vw !important;
}

.p-5 {
  padding: 5vw !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 1vw !important;
}

.pt-2 {
  padding-top: 2vw !important;
}

.pt-3 {
  padding-top: 3vw !important;
}

.pt-4 {
  padding-top: 4vw !important;
}

.pt-5 {
  padding-top: 5vw !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-1 {
  padding-right: 1vw !important;
}

.pr-2 {
  padding-right: 2vw !important;
}

.pr-3 {
  padding-right: 3vw !important;
}

.pr-4 {
  padding-right: 4vw !important;
}

.pr-5 {
  padding-right: 5vw !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 1vw !important;
}

.pb-2 {
  padding-bottom: 2vw !important;
}

.pb-3 {
  padding-bottom: 3vw !important;
}

.pb-4 {
  padding-bottom: 4vw !important;
}

.pb-5 {
  padding-bottom: 5vw !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-1 {
  padding-left: 1vw !important;
}

.pl-2 {
  padding-left: 2vw !important;
}

.pl-3 {
  padding-left: 3vw !important;
}

.pl-4 {
  padding-left: 4vw !important;
}

.pl-5 {
  padding-left: 5vw !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-1 {
  padding-left: 1vw !important;
  padding-right: 1vw !important;
}

.px-2 {
  padding-left: 2vw !important;
  padding-right: 2vw !important;
}

.px-3 {
  padding-left: 3vw !important;
  padding-right: 3vw !important;
}

.px-4 {
  padding-left: 4vw !important;
  padding-right: 4vw !important;
}

.px-5 {
  padding-left: 5vw !important;
  padding-right: 5vw !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 1vw !important;
  padding-bottom: 1vw !important;
}

.py-2 {
  padding-top: 2vw !important;
  padding-bottom: 2vw !important;
}

.py-3 {
  padding-top: 3vw !important;
  padding-bottom: 3vw !important;
}

.py-4 {
  padding-top: 4vw !important;
  padding-bottom: 4vw !important;
}

.py-5 {
  padding-top: 5vw !important;
  padding-bottom: 5vw !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 1vw !important;
}

.m-2 {
  margin: 2vw !important;
}

.m-3 {
  margin: 3vw !important;
}

.m-4 {
  margin: 4vw !important;
}

.m-5 {
  margin: 5vw !important;
}

.mt--1, .-mt-1 {
  margin-top: -1vw !important;
}

.mt--2, .-mt-2 {
  margin-top: -2vw !important;
}

.mt--3, .-mt-3 {
  margin-top: -3vw !important;
}

.mt--4, .-mt-4 {
  margin-top: -4vw !important;
}

.mt--5, .-mt-5 {
  margin-top: -5vw !important;
}

.mt--6, .-mt-6 {
  margin-top: -6vw !important;
}

.mt--7, .-mt-7 {
  margin-top: -7vw !important;
}

.mt--8, .-mt-8 {
  margin-top: -8vw !important;
}

.mt--9, .-mt-9 {
  margin-top: -9vw !important;
}

.mt--10, .-mt-10 {
  margin-top: -10vw !important;
}

.mt--11, .-mt-11 {
  margin-top: -11vw !important;
}

.mt--12, .-mt-12 {
  margin-top: -12vw !important;
}

.mt--13, .-mt-13 {
  margin-top: -13vw !important;
}

.mt--14, .-mt-14 {
  margin-top: -14vw !important;
}

.mt--15, .-mt-15 {
  margin-top: -15vw !important;
}

.mt--20, .-mt-20 {
  margin-top: -20vw !important;
}

.mt--25, .-mt-25 {
  margin-top: -25vw !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 1vw !important;
}

.mt-2 {
  margin-top: 2vw !important;
}

.mt-3 {
  margin-top: 3vw !important;
}

.mt-4 {
  margin-top: 4vw !important;
}

.mt-5 {
  margin-top: 5vw !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-1 {
  margin-right: 1vw !important;
}

.mr-2 {
  margin-right: 2vw !important;
}

.mr-3 {
  margin-right: 3vw !important;
}

.mr-4 {
  margin-right: 4vw !important;
}

.mr-5 {
  margin-right: 5vw !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 1vw !important;
}

.mb-2 {
  margin-bottom: 2vw !important;
}

.mb-3 {
  margin-bottom: 3vw !important;
}

.mb-4 {
  margin-bottom: 4vw !important;
}

.mb-5 {
  margin-bottom: 5vw !important;
}

.ml-auto {
  margin-left: auto !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-1 {
  margin-left: 1vw !important;
}

.ml-2 {
  margin-left: 2vw !important;
}

.ml-3 {
  margin-left: 3vw !important;
}

.ml-4 {
  margin-left: 4vw !important;
}

.ml-5 {
  margin-left: 5vw !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.mx-1 {
  margin-left: 1vw !important;
  margin-right: 1vw !important;
}

.mx-2 {
  margin-left: 2vw !important;
  margin-right: 2vw !important;
}

.mx-3 {
  margin-left: 3vw !important;
  margin-right: 3vw !important;
}

.mx-4 {
  margin-left: 4vw !important;
  margin-right: 4vw !important;
}

.mx-5 {
  margin-left: 5vw !important;
  margin-right: 5vw !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 1vw !important;
  margin-bottom: 1vw !important;
}

.my-2 {
  margin-top: 2vw !important;
  margin-bottom: 2vw !important;
}

.my-3 {
  margin-top: 3vw !important;
  margin-bottom: 3vw !important;
}

.my-4 {
  margin-top: 4vw !important;
  margin-bottom: 4vw !important;
}

.my-5 {
  margin-top: 5vw !important;
  margin-bottom: 5vw !important;
}

.blank-page .content-wrapper__inner {
  padding-top: 15vw;
}
@media screen and (min-width: 1024px) {
  .blank-page .content-wrapper__inner {
    padding-top: 10vw;
  }
}

.content-wrapper {
  opacity: 1;
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 50vh;
}
.content-wrapper h1:first-child, .content-wrapper h2:first-child, .content-wrapper h3:first-child, .content-wrapper h4:first-child, .content-wrapper p:first-child, .content-wrapper ul:first-child, .content-wrapper ol:first-child {
  margin-top: 0;
}
.content-wrapper h1:last-child, .content-wrapper h2:last-child, .content-wrapper h3:last-child, .content-wrapper h4:last-child, .content-wrapper p:last-child, .content-wrapper ul:last-child, .content-wrapper ol:last-child {
  margin-bottom: 0;
}
.content-wrapper .text-left {
  text-align: left;
}
.content-wrapper .text-center {
  text-align: center;
}
.content-wrapper .text-right {
  text-align: right;
}
.content-wrapper h1,
.content-wrapper h2,
.content-wrapper h3,
.content-wrapper h4,
.content-wrapper h5 {
  font-weight: 400;
  color: rgb(58, 58, 74);
}
.content-wrapper h1 {
  font-size: calc(36px + 36 * (100vw - 320px) / 1600);
  line-height: calc(46px + 40 * (100vw - 320px) / 1600);
}
.content-wrapper .headline-1 {
  font-size: calc(36px + 36 * (100vw - 320px) / 1600);
  line-height: calc(46px + 40 * (100vw - 320px) / 1600);
}
.content-wrapper h2 {
  font-size: calc(32px + 28 * (100vw - 320px) / 1600);
  line-height: calc(42px + 36 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper .headline-2 {
  font-size: calc(32px + 28 * (100vw - 320px) / 1600);
  line-height: calc(42px + 36 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper h3 {
  font-size: calc(24px + 24 * (100vw - 320px) / 1600);
  line-height: calc(32px + 32 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper .headline-3,
.content-wrapper .headline-3 > * {
  font-size: calc(24px + 24 * (100vw - 320px) / 1600);
  line-height: calc(32px + 32 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper h4 {
  font-size: calc(19px + 10 * (100vw - 320px) / 1600);
  line-height: calc(28px + 14 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper .headline-4,
.content-wrapper .headline-4 > * {
  font-size: calc(19px + 10 * (100vw - 320px) / 1600);
  line-height: calc(28px + 14 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.text--small.headline-4 h2 {
  font-size: calc(24px + (48 - 24) * ((100vw - 320px) / (1920 - 320)));
  line-height: calc(32px + (64 - 32) * ((100vw - 320px) / (1920 - 320)));
  margin-bottom: 1em;
}
.text--small.headline-4  h3 {
  font-size: calc(19px + (29 - 19) * ((100vw - 320px) / (1920 - 320)));
  line-height: calc(28px + (42 - 28) * ((100vw - 320px) / (1920 - 320)));
  margin-bottom: 1em;
}
.section--large-text.headline-3 h2 {
    font-size: calc(24px + (48 - 24) * ((100vw - 320px) / (1920 - 320)));
    line-height: calc(32px + (64 - 32) * ((100vw - 320px) / (1920 - 320)));
}
.content-wrapper p + h2 {
  margin-top: 2em;
}
.content-wrapper p + h3 {
  margin-top: 2em;
}
.content-wrapper p + h4 {
  margin-top: 2em;
}
.content-wrapper p, .content-wrapper ul, .content-wrapper ol {
  font-size: calc(16px + 2 * (100vw - 320px) / 1600);
  margin-bottom: 1em;
}
.content-wrapper p {
  line-height: calc(26px + 10 * (100vw - 320px) / 1600);
}
.content-wrapper ul,
.content-wrapper ol {
  line-height: calc(22px + 8 * (100vw - 320px) / 1600);
}
.content-wrapper .small p, .content-wrapper .small ul, .content-wrapper .small ol, .content-wrapper small p, .content-wrapper small ul, .content-wrapper small ol {
  font-size: calc(14px + 2 * (100vw - 320px) / 1600);
}
.content-wrapper .small p, .content-wrapper small p {
  line-height: calc(24px + 8 * (100vw - 320px) / 1600);
}
.content-wrapper .small ul, .content-wrapper .small ol, .content-wrapper small ul, .content-wrapper small ol {
  line-height: calc(20px + 6 * (100vw - 320px) / 1600);
}
.content-wrapper strong, .content-wrapper b {
  font-weight: normal;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}
.content-wrapper u {
  text-decoration: none;
  border-bottom: 2px solid rgb(254, 204, 0);
}
.content-wrapper ul:not(.tabs):not(.downloads),
.content-wrapper ol {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.content-wrapper ul:not(.tabs):not(.downloads) > li,
.content-wrapper ol > li {
  position: relative;
  padding-left: 1.5em;
  margin-left: 0;
  margin-bottom: 0.5em;
}
.content-wrapper ul:not(.tabs):not(.downloads) > li::before,
.content-wrapper ol > li::before {
  position: absolute;
  left: 0;
  top: 0.4em;
  color: rgb(164, 195, 0);
  line-height: 1;
}
.content-wrapper ul:not(.tabs):not(.downloads) > li::before {
  content: "•";
}
.content-wrapper ol {
  counter-reset: ol-counter;
}
.content-wrapper ol > li {
  counter-increment: ol-counter;
}
.content-wrapper ol > li::before {
  content: counter(ol-counter) ".";
}
.content-wrapper ul.tabs {
  margin: 0;
  padding: 0;
  display: block;
  font-size: 1.24em;
  line-height: 1.29;
}
@media (max-width: 1023px) {
  .content-wrapper ul.tabs {
    margin-left: -10vw;
    width: 100%;
    padding: 0 10vw;
    white-space: nowrap;
    overflow: auto;
    height: 2.5em;
    -webkit-overflow-scrolling: touch;
  }
  .content-wrapper ul.tabs::-webkit-scrollbar,
  .content-wrapper ul.tabs ::-webkit-scrollbar {
    display: none;
  }
}
.content-wrapper ul.tabs li {
  display: inline-block;
  margin-right: 2.5vw;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}
@media (max-width: 1023px) {
  .content-wrapper ul.tabs li {
    margin-right: 5vw;
  }
}
.content-wrapper ul.tabs li a {
  display: block;
  padding: 0 0 0.9em 0;
  position: relative;
  text-decoration: none;
}
.content-wrapper ul.tabs li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: transparent;
  position: absolute;
  bottom: 0;
  border-radius: 2px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transition: transform ease 0.25s, background-color ease 0.25s, -webkit-transform ease 0.25s;
}
.content-wrapper ul.tabs li a:hover::after {
  background: rgb(254, 204, 0);
  transform: translateX(-50%) scaleX(0.5);
}
.content-wrapper ul.tabs li a.active::after {
  background-color: rgb(254, 204, 0);
  transform: translateX(-50%) scaleX(1);
}
.content-wrapper .content-block.small {
  font-size: 0.88em;
}

a {
  color: rgb(58, 58, 74);
}

.arrow-link,
a.external-link,
a.button,
.plus-minus-toggle,
span.plus-minus-toggle {
  line-height: 1;
  padding: 0.3em 2em 0.5em 1em;
  margin-left: -1em;
  border-radius: 1.2em;
  text-decoration: none;
  color: rgb(58, 58, 74);
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
@media screen and (max-width: 413px) {
  .arrow-link,
  a.external-link,
  a.button,
  .plus-minus-toggle,
  span.plus-minus-toggle {
    padding: 0.5em calc(2.5vw + 1em) 0.5em 2.5vw;
    margin-left: -2.5vw;
  }
}
.arrow-link + .arrow-link, .arrow-link + a.button, .arrow-link + .plus-minus-toggle, .arrow-link + span.plus-minus-toggle,
a.external-link + .arrow-link,
a.external-link + a.button,
a.external-link + .plus-minus-toggle,
a.external-link + span.plus-minus-toggle,
a.button + .arrow-link,
a.button + a.button,
a.button + .plus-minus-toggle,
a.button + span.plus-minus-toggle,
.plus-minus-toggle + .arrow-link,
.plus-minus-toggle + a.button,
.plus-minus-toggle + .plus-minus-toggle,
.plus-minus-toggle + span.plus-minus-toggle,
span.plus-minus-toggle + .arrow-link,
span.plus-minus-toggle + a.button,
span.plus-minus-toggle + .plus-minus-toggle,
span.plus-minus-toggle + span.plus-minus-toggle {
  margin-left: 0.5em;
}

a.download {
  line-height: 1;
  padding: 1em 2em;
  border-radius: 1;
  border-radius: 2em;
  text-decoration: none;
}
a.download:hover {
  background: rgb(254, 204, 0);
  color: rgb(58, 58, 74);
}

a.button {
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 1;
  border-radius: 2em;
  text-decoration: none;
  background: rgb(164, 195, 0);
  color: rgb(255, 255, 255);
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}
a.button:hover {
  background: rgb(254, 204, 0);
  color: rgb(58, 58, 74);
}

.arrow-link {
  background: transparent url("../images/icn_linkarrow_green.svg") no-repeat right center/auto 100%;
}

.arrow-link.highlighted-link,
.arrow-link:hover,
a.card:hover .arrow-link {
  background-image: url("../images/icn_linkarrow_black.svg");
}

a.external-link {
  background: transparent url("../images/icn_link_external_green.svg") no-repeat right 0.3em center/auto 100%;
  padding-right: 2.4em;
}

a.highlighted-link {
  background-color: rgb(164, 195, 0);
  color: rgb(58, 58, 74);
}

.arrow-link:hover,
a.card:hover .arrow-link {
  background-color: rgb(254, 204, 0);
  color: rgb(58, 58, 74);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}

.external-link.highlighted-link,
.external-link:hover {
  background-image: url("../images/icn_link_external_white.svg");
}

a.external-link:hover {
  background-color: rgb(254, 204, 0);
  color: rgb(255, 255, 255);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}

.plus-minus-toggle,
span.plus-minus-toggle {
  box-sizing: border-box;
  display: inline-block;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  background: transparent;
  color: rgb(58, 58, 74);
  position: relative;
  padding-top: 0;
  padding-left: 2.5em;
  padding-bottom: 0;
}
.plus-minus-toggle span::before,
span.plus-minus-toggle span::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 100%;
  position: absolute;
  left: 1em;
  top: 0;
}
.plus-minus-toggle span:first-child,
span.plus-minus-toggle span:first-child {
  display: inline;
}
.plus-minus-toggle span:last-child,
span.plus-minus-toggle span:last-child {
  display: none;
}
.plus-minus-toggle span:first-child::before,
span.plus-minus-toggle span:first-child::before {
  background: url("../images/icn_plus_large_green.svg") no-repeat center center/100% auto;
}
@media screen and (max-width: 413px) {
  .plus-minus-toggle span:first-child::before,
  span.plus-minus-toggle span:first-child::before {
    background-image: url("../images/icn_plus_small_green.svg");
  }
}
.plus-minus-toggle span:last-child::before,
span.plus-minus-toggle span:last-child::before {
  background: url("../images/icn_minus_large_green.svg") no-repeat center center/100% auto;
}
@media screen and (max-width: 413px) {
  .plus-minus-toggle span:last-child::before,
  span.plus-minus-toggle span:last-child::before {
    background-image: url("../images/icn_minus_small_green.svg");
  }
}

@media screen and (min-width: 768px) {
  .plus-minus-toggle:hover,
  span.plus-minus-toggle:hover,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover .plus-minus-toggle.expand-toggle {
    color: rgb(58, 58, 74);
    background: rgb(254, 204, 0);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
  }
  .plus-minus-toggle:hover span:first-child::before,
  span.plus-minus-toggle:hover span:first-child::before,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover .plus-minus-toggle.expand-toggle span:first-child::before {
    background-image: url("../images/icn_plus_large_black.svg");
  }
}
@media screen and (min-width: 768px) and (max-width: 413px) {
  .plus-minus-toggle:hover span:first-child::before,
  span.plus-minus-toggle:hover span:first-child::before,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover .plus-minus-toggle.expand-toggle span:first-child::before {
    background-image: url("../images/icn_plus_small_black.svg");
  }
}
@media screen and (min-width: 768px) {
  .plus-minus-toggle:hover span:last-child::before,
  span.plus-minus-toggle:hover span:last-child::before,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover .plus-minus-toggle.expand-toggle span:last-child::before {
    background-image: url("../images/icn_minus_large_black.svg");
  }
}
@media screen and (min-width: 768px) and (max-width: 413px) {
  .plus-minus-toggle:hover span:last-child::before,
  span.plus-minus-toggle:hover span:last-child::before,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover .plus-minus-toggle.expand-toggle span:last-child::before {
    background-image: url("../images/icn_minus_small_black.svg");
  }
}
header.page-header {
  position: fixed;
  z-index: 7;
  top: 0;
  right: 0;
  left: 0;
}
header.page-header .pre-header {
  display: grid;
  color: rgb(255, 255, 255);
  background: rgb(254, 204, 0);
  grid-template-columns: 5vw 6fr 3fr 5vw;
  grid-template-rows: auto;
}
@media (max-width: 1023px) {
  header.page-header .pre-header {
    height: 24px;
  }
}
@media (min-width: 414px) {
  header.page-header .pre-header {
    height: 36px;
  }
}
@media (min-width: 1280px) {
  header.page-header .pre-header {
    display: none;
  }
}
header.page-header .pre-header p,
header.page-header .pre-header a {
  line-height: 1;
  margin: 0;
  padding: 0;
  color: rgb(0, 0, 0);
  align-self: center;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}
header.page-header .pre-header p:first-child {
  grid-column: 2;
  grid-row: 1;
  background: url("../images/icn_warning_black.svg") no-repeat left center/auto 100%;
  padding-left: 1.5em;
  background-size: 16px;
  line-height: 24px;
}
@media (min-width: 414px) {
  header.page-header .pre-header p:first-child {
    font-size: 16px;
    padding-left: 1.8em;
    background-size: 20px;
    line-height: 36px;
  }
}
header.page-header .pre-header p:last-child {
  text-align: right;
  grid-column: 3;
  grid-row: 1;
}
@media (min-width: 414px) {
  header.page-header .pre-header p:last-child {
    font-size: 16px;
  }
}
header.page-header .pre-header p:last-child a {
  padding-right: 1em;
  text-decoration: none;
  background: url("../images/icn_simplearrow_right_black.svg") no-repeat right center/auto 60%;
}
header.page-header .main-header {
  display: -ms-grid;
  display: grid;
  height: 144px;
  background: rgb(255, 255, 255);
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
  grid-template-columns: 5vw 175px 5vw 1fr 5vw;
  grid-template-rows: 1fr 1fr;
}
@media (max-width: 1279px) {
  header.page-header .main-header {
    height: 80px;
    grid-template-columns: 5vw 120px 1fr 32px 5vw;
    grid-template-rows: 1fr;
  }
}
@media (max-width: 1023px) {
  header.page-header .main-header {
    height: 48px;
    grid-template-columns: 5vw 96px 1fr 24px 5vw;
    grid-template-rows: 1fr;
  }
}
@media (min-width: 414px) {
  header.page-header .main-header {
    height: 80px;
    grid-template-columns: 5vw 124px 1fr 24px 5vw;
  }
}
@media (min-width: 1280px) {
  header.page-header .main-header {
    height: 144px;
    grid-template-columns: 5vw 175px 5vw 1fr 5vw;
    grid-template-rows: 1fr 1fr;
  }
}
header.page-header .main-header .logo {
  display: block;
  width: 100%;
  grid-column: 2;
  grid-row: 1/3;
  align-self: center;
}
@media (max-width: 1279px) {
  header.page-header .main-header .logo {
    grid-row: 1;
  }
}
header.page-header .main-header .logo img {
  display: block;
  width: 100%;
}
header.page-header .main-header .hamburger {
  background: transparent;
  display: none;
  position: relative;
  width: 100%;
  height: 28px;
  margin: 0;
  padding: 0;
  box-sizing: content-box;
  cursor: pointer;
  transition: transform ease 0.25s;
  border: 0;
  outline: none;
}
@media (max-width: 1023px) {
  header.page-header .main-header .hamburger {
    height: 20px;
  }
}
@media (max-width: 1279px) {
  header.page-header .main-header .hamburger {
    display: block;
    grid-column: 4;
    grid-row: 1;
    align-self: center;
  }
}
header.page-header .main-header .hamburger span {
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  -webkit-transition: all ease 0.25s;
  -o-transition: all ease 0.25s;
  transition: all ease 0.25s;
  border-radius: 2px;
  background: rgb(164, 195, 0);
}
@media (max-width: 1023px) {
  header.page-header .main-header .hamburger span {
    height: 3px;
    border-radius: 1.5px;
  }
}
header.page-header .main-header .hamburger span:nth-child(1) {
  top: 0;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
}
header.page-header .main-header .hamburger span:nth-child(2) {
  top: calc(50% - 2px);
}
@media (max-width: 1023px) {
  header.page-header .main-header .hamburger span:nth-child(2) {
    top: calc(50% - 1.5px);
  }
}
header.page-header .main-header .hamburger span:nth-child(3) {
  bottom: 0;
  width: 60%;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
}
header.page-header .main-header .hamburger:hover span:nth-child(3) {
  width: 100%;
}
header.page-header .main-header .hamburger.active {
  transform: translateX(2px);
}
header.page-header .main-header .hamburger.active span:nth-child(1) {
  transform: rotate(45deg);
}
header.page-header .main-header .hamburger.active span:nth-child(2) {
  width: 0;
}
header.page-header .main-header .hamburger.active span:nth-child(3) {
  width: 100%;
  transform: rotate(-45deg);
}
header.page-header .main-header ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: right;
}
header.page-header .main-header ul li {
  display: inline-block;
  text-align: left;
}
header.page-header .main-header .meta-navigation {
  margin: 24px 0 0 0;
  padding: 0;
  font-size: 0.88em;
  line-height: 1;
  grid-column: 4;
  grid-row: 1;
  align-self: start;
}
@media (max-width: 1279px) {
  header.page-header .main-header .meta-navigation {
    display: none;
  }
}
header.page-header .main-header .meta-navigation li {
  margin-left: 1.3em;
}
header.page-header .main-header .meta-navigation li a {
  display: block;
  text-decoration: none;
  color: rgb(58, 58, 74);
}
header.page-header .main-header .meta-navigation li a:hover, header.page-header .main-header .meta-navigation li a.active {
  color: rgb(51, 51, 51);
}
header.page-header .main-header .meta-navigation li a.search {
  position: relative;
  padding-left: 24px;
}
header.page-header .main-header .meta-navigation li a.search:before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiI+PGxpbmUgeDE9IjExIiB4Mj0iOCIgeTE9IjExIiB5Mj0iOCIgc3Ryb2tlPSIjOUM5Q0E1Ij48L2xpbmU+PGNpcmNsZSBjeD0iNSIgY3k9IjUiIHI9IjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzlDOUNBNSI+PC9jaXJjbGU+PC9zdmc+) center center no-repeat transparent;
  background-size: 18px;
}
header.page-header .main-header .meta-navigation li a.trouble {
  background: rgb(254, 204, 0) url("../images/icn_warning_black.svg") no-repeat 1.4em center/auto 60%;
  border-radius: 2em;
  color: rgb(58, 58, 74);
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  font-size: 1.1em;
  padding: 1em 2em 1em 4em;
  transition: background-color ease 0.2s;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
header.page-header .main-header .meta-navigation li a.trouble:hover {
  background-color: rgb(164, 195, 0);
}
header.page-header .main-header .main-navigation {
  margin: 0;
  padding: 0;
  font-size: 1.18em;
  line-height: 1;
  grid-column: 4;
  grid-row: 2;
  align-self: end;
  position: relative;
}
@media (max-width: 1279px) {
  header.page-header .main-header .main-navigation {
    display: none;
  }
}
header.page-header .main-header .main-navigation > li {
  margin-left: 1.3em;
  position: relative;
}
header.page-header .main-header .main-navigation > li:has(.submenu--visible) > a::before {
  transform: scale(1, -1);
}
header.page-header .main-header .main-navigation > li:has(.submenu) > a {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}
header.page-header .main-header .main-navigation > li:has(.submenu) > a::before {
  content: "";
  width: 18px;
  height: 18px;
  background: url("../images/dropdown.svg");
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  margin-left: 0.5em;
  transition: transform ease 0.2s;
}
header.page-header .main-header .main-navigation > li > a:focus {
  outline: none;
}
header.page-header .main-header .main-navigation > li > a:after {
  background-color: rgb(254, 204, 0);
  content: "";
  display: block;
  position: absolute;
  bottom: -4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transition: transform ease 0.25s, background-color ease 0.25s;
  transform-origin: center;
  width: 100%;
  height: 4px;
}
header.page-header .main-header .main-navigation > li > a.active:after {
  background-color: rgb(254, 204, 0);
  transform: translateX(-50%) scaleX(1);
}
header.page-header .main-header .main-navigation > li > a:hover:after {
  transform: translateX(-50%) scaleX(0.5);
}
header.page-header .main-header .main-navigation > li > a:active:after, header.page-header .main-header .main-navigation > li > a:focus:after {
  background-color: rgb(254, 204, 0);
  transform: translateX(-50%) scaleX(1);
}
header.page-header .main-header .main-navigation > li > a {
  border-bottom: 4px solid transparent;
  color: rgb(51, 51, 51);
  display: block;
  padding: 1em 0;
  position: relative;
  text-decoration: none;
}
header.page-header .main-header .main-navigation .submenu {
  opacity: 0;
  pointer-events: none;
  transition: all 0.1s ease-in;
  position: absolute;
  top: 125%;
  left: 0;
  width: auto;
  z-index: 100;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 6px 3px rgba(0, 0, 0, 0.1);
  padding: 0.75em 0;
  border-radius: 12px;
}
header.page-header .main-header .main-navigation .submenu--visible {
  opacity: 1;
  pointer-events: auto;
}
header.page-header .main-header .main-navigation .submenu > li {
  display: block;
  position: relative;
  width: 100%;
}
header.page-header .main-header .main-navigation .submenu > li > a {
  color: rgb(51, 51, 51);
  display: block;
  padding: 0.5em 1.5em;
  text-decoration: none;
  width: fit-content;
  position: relative;
  outline: unset;
}
header.page-header .main-header .main-navigation .submenu > li > a::after {
  content: "";
  height: 3px;
  width: calc(100% - 3em);
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  bottom: 0;
  background-color: rgb(254, 204, 0);
  opacity: 0;
}
header.page-header .main-header .main-navigation .submenu > li > a:hover::after, header.page-header .main-header .main-navigation .submenu > li > a:focus::after, header.page-header .main-header .main-navigation .submenu > li > a.active::after {
  opacity: 1;
}
@media (max-width: 1439px) {
  header.page-header.mobile-navigation-visible .main-header {
    box-shadow: none;
  }
}

.mobile-navigation-overlay {
  position: fixed;
  z-index: 6;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  -webkit-transition: opacity ease 0.25s, -webkit-transform ease 0.25s;
  -o-transition: opacity ease 0.25s, transform ease 0.25s;
  transition: opacity ease 0.25s, -webkit-transform ease 0.25s;
  transition: opacity ease 0.25s, transform ease 0.25s;
  transition: opacity ease 0.25s, transform ease 0.25s, -webkit-transform ease 0.25s;
  -webkit-transform: translate3d(0, -100vh, 0);
  transform: translate3d(0, -100vh, 0);
  opacity: 0;
  background: rgb(255, 255, 255);
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 1439px) {
  .mobile-navigation-overlay {
    padding-top: 150px;
  }
}
@media (max-width: 1023px) {
  .mobile-navigation-overlay {
    padding-top: 125px;
  }
}
@media (min-width: 1440px) {
  .mobile-navigation-overlay {
    display: none !important;
  }
}
.mobile-navigation-overlay.visible {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  opacity: 1;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 10vw 1fr 10vw;
  grid-template-columns: 10vw 1fr 10vw;
  -ms-grid-rows: auto 5vw auto 10vw auto 5vw auto 5vw auto 5vw;
  grid-template-rows: auto 5vw auto 10vw auto 5vw auto 5vw auto 5vw;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner .search-navigation {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner .main-navigation {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 3;
  grid-row: 3;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner .meta-navigation {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 5;
  grid-row: 5;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner .trouble-block {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 7;
  grid-row: 7;
}
.mobile-navigation-overlay .mobile-navigation-overlay-inner .legal-navigation {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 9;
  grid-row: 9;
}
.mobile-navigation-overlay .main-navigation {
  margin: 0;
  padding: 0;
  font-size: 1.24em;
  list-style: none;
}
.mobile-navigation-overlay .main-navigation li {
  padding: 0;
}
.mobile-navigation-overlay .main-navigation li:not(.submenu__item) {
  margin: 0 0 1.5em 0;
}
.mobile-navigation-overlay .main-navigation li:not(:has(.submenu)) a {
  background: url("../images/icn_simplearrow_right_green.svg") no-repeat right center/auto 50%;
}
.mobile-navigation-overlay .main-navigation li a {
  display: block;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  text-decoration: none;
  color: rgb(51, 51, 51);
}
.mobile-navigation-overlay .main-navigation li a.active, .mobile-navigation-overlay .main-navigation li a:hover {
  color: rgb(155, 155, 155);
}
.mobile-navigation-overlay .main-navigation li .submenu {
  padding-left: 1em;
}
.mobile-navigation-overlay .main-navigation li .submenu .submenu__item {
  list-style-type: none;
}
.mobile-navigation-overlay .main-navigation li .submenu .submenu__item > a {
  margin: 0.25em 0;
}
.mobile-navigation-overlay .meta-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation-overlay .meta-navigation li {
  margin: 0 0 1em 0;
  padding: 0;
}
.mobile-navigation-overlay .meta-navigation li a {
  font-size: 0.94em;
  text-decoration: none;
  color: rgb(51, 51, 51);
}
.mobile-navigation-overlay .meta-navigation li a.active, .mobile-navigation-overlay .meta-navigation li a:hover {
  color: rgb(155, 155, 155);
}
.mobile-navigation-overlay .legal-navigation {
  margin: 0;
  padding: 0;
  list-style: none;
}
.mobile-navigation-overlay .legal-navigation li {
  margin: 0 0 0.3em 0;
  padding: 0;
}
.mobile-navigation-overlay .legal-navigation li a {
  font-size: 0.94em;
  text-decoration: none;
  color: rgb(51, 51, 51);
}
.mobile-navigation-overlay .legal-navigation li a.active, .mobile-navigation-overlay .legal-navigation li a:hover {
  color: rgb(155, 155, 155);
}

footer.page-footer {
  position: relative;
  margin-top: 100px;
}
@media screen and (min-width: 768px) {
  footer.page-footer {
    margin-top: 0;
  }
  footer.page-footer::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 153px;
    content: "";
    background: rgb(58, 58, 74);
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) {
  footer.page-footer::before {
    height: 144px;
  }
}
footer.page-footer .main-footer {
  display: grid;
  position: relative;
  color: rgb(255, 255, 255);
  background: rgb(58, 58, 74);
  grid-template-columns: 10vw 1fr 10vw;
  grid-template-rows: 15vw auto auto 5vw auto 10vw auto 5vw auto 10vw;
}
@media screen and (min-width: 768px) {
  footer.page-footer .main-footer {
    background: transparent;
    grid-template-columns: 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw;
    grid-template-rows: 5vw auto 26px auto 26px;
  }
}
footer.page-footer .main-footer ul.main-navigation {
  display: none;
}
@media screen and (max-width: 767px) {
  footer.page-footer .main-footer ul.main-navigation {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.24em;
    list-style: none;
    grid-column: 2;
    grid-row: 2;
  }
  footer.page-footer .main-footer ul.main-navigation li {
    margin: 0 0 1.5em 0;
    padding: 0;
  }
  footer.page-footer .main-footer ul.main-navigation li a {
    display: block;
    font-family: "EnBW-Din-Pro Medium", sans-serif;
    text-decoration: none;
    color: rgb(255, 255, 255);
    background: url("../images/icn_simplearrow_right_green.svg") no-repeat right center/auto 50%;
  }
}
footer.page-footer .main-footer ul.meta-navigation {
  display: none;
}
@media screen and (max-width: 767px) {
  footer.page-footer .main-footer ul.meta-navigation {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.15em;
    list-style: none;
    grid-column: 2;
    grid-row: 3;
  }
  footer.page-footer .main-footer ul.meta-navigation li {
    margin: 0 0 0.8em 0;
    padding: 0;
  }
  footer.page-footer .main-footer ul.meta-navigation li a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
}
footer.page-footer .main-footer ul.legal-navigation {
  display: block;
  margin: 0;
  padding: 0;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  list-style: none;
  grid-column: 3;
  grid-row: 4;
}
@media screen and (max-width: 767px) {
  footer.page-footer .main-footer ul.legal-navigation {
    display: block;
    grid-column: 2;
    grid-row: 9;
  }
  footer.page-footer .main-footer ul.legal-navigation li {
    margin: 0 0 0.5em 0;
    padding: 0;
  }
  footer.page-footer .main-footer ul.legal-navigation li a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
}
@media screen and (min-width: 768px) {
  footer.page-footer .main-footer ul.legal-navigation {
    font-size: 0.8em;
    text-align: right;
    align-self: end;
    grid-column: 12/19;
    grid-row: 4;
  }
  footer.page-footer .main-footer ul.legal-navigation li {
    display: inline-block;
    margin-left: 2vw;
  }
  footer.page-footer .main-footer ul.legal-navigation li a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
}
@media screen and (min-width: 1920px) {
  footer.page-footer .main-footer ul.legal-navigation {
    grid-column: 12/18;
  }
}
footer.page-footer .main-footer .trouble-block {
  display: block;
  grid-column: 2;
  grid-row: 5;
}
@media screen and (min-width: 768px) {
  footer.page-footer .main-footer .trouble-block {
    grid-column: 3/12;
    grid-row: 2;
  }
}
@media screen and (min-width: 1024px) {
  footer.page-footer .main-footer .trouble-block {
    grid-column: 3/16;
  }
}
@media screen and (min-width: 1440px) {
  footer.page-footer .main-footer .trouble-block {
    grid-column: 3/14;
  }
}
@media screen and (min-width: 1920px) {
  footer.page-footer .main-footer .trouble-block {
    grid-column: 4/14;
  }
}
@media screen and (min-width: 2560px) {
  footer.page-footer .main-footer .trouble-block {
    grid-column: 4/12;
  }
}
footer.page-footer .main-footer ul.copyright {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  font-size: 1.15em;
  grid-column: 2;
  grid-row: 7;
}
@media screen and (min-width: 768px) {
  footer.page-footer .main-footer ul.copyright {
    font-size: 0.8em;
    align-self: end;
    grid-column: 3/12;
    grid-row: 4;
  }
  footer.page-footer .main-footer ul.copyright li {
    display: inline-block;
    margin: 0;
    padding: 0;
  }
  footer.page-footer .main-footer ul.copyright li a {
    text-decoration: none;
    color: rgb(255, 255, 255);
  }
}
@media screen and (min-width: 1920px) {
  footer.page-footer .main-footer ul.copyright {
    grid-column: 4/12;
  }
}
footer.page-footer .main-footer .top-link {
  display: block;
  position: absolute;
  right: 10vw;
  bottom: calc(10vw + 0.5em);
  width: 32px;
  height: 32px;
  background: url("../images/icn_top_green.svg") no-repeat center center/auto 100%;
}
@media screen and (min-width: 768px) {
  footer.page-footer .main-footer .top-link {
    right: 2.5vw;
    bottom: 90px;
  }
}
@media screen and (min-width: 1920px) {
  footer.page-footer .main-footer .top-link {
    right: 10vw;
    bottom: 85px;
  }
}

.page-background {
  display: grid;
  overflow: hidden;
  position: absolute;
  width: 100%;
  height: auto;
  z-index: 1;
}
.page-background .background-image1, .page-background .background-lines1, .page-background .background-lines2 {
  display: block;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center top;
}
.page-background .bg-green {
  background-color: rgb(164, 195, 0);
}
.page-background .bg-yellow {
  background-color: rgb(254, 204, 0);
}
.page-background .bg-dark {
  background-color: rgb(77, 77, 96);
}
.page-background .bg-line {
  mix-blend-mode: multiply;
  position: absolute;
  border-radius: 13px;
  height: 26px;
  border-radius: calc(12px + (16 - 12) * ((100vw - 320px) / (768 - 320)));
  height: calc(24px + (32 - 24) * ((100vw - 320px) / (768 - 320)));
}
@media screen and (min-width: 768px) {
  .page-background .bg-line {
    border-radius: 16px;
    height: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .page-background .bg-line {
    border-radius: calc(16px + (20 - 16) * ((100vw - 1024px) / (1280 - 1024)));
    height: calc(32px + (40 - 32) * ((100vw - 1024px) / (1280 - 1024)));
  }
}
@media screen and (min-width: 1280px) {
  .page-background .bg-line {
    border-radius: 20px;
    height: 40px;
  }
}
@media screen and (min-width: 1440px) {
  .page-background .bg-line {
    border-radius: calc(20px + (24 - 20) * ((100vw - 1440px) / (1920 - 1440)));
    height: calc(40px + (48 - 40) * ((100vw - 1440px) / (1920 - 1440)));
  }
}
@media screen and (min-width: 19200px) {
  .page-background .bg-line {
    border-radius: 24px;
    height: 48px;
  }
}
.page-background.home {
  grid-template-columns: 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw 5vw;
  grid-template-rows: 120vw 15vw 30vw;
}
.page-background.home .background-image1 {
  background-image: url("../images/teaserbg-home/teaserbg-home-320-100.jpg");
  grid-row: 1;
  grid-column: 1/21;
}
.page-background.home .background-lines1 {
  background-image: url("../images/teaserbg-home/teaserbg-home-320-100.svg");
  grid-row: 1;
  grid-column: 1/21;
}
.page-background.home .background-lines2 {
  background-image: url("../images/teaserbg-home/teaserbg-home-320-30x45.svg");
  grid-row: 2/4;
  grid-column: 1/7;
}
@media screen and (min-width: 414px) {
  .page-background.home {
    grid-template-rows: 130vw 45vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-414-100.jpg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-414-100.svg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-414-30x45.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
@media screen and (min-width: 768px) {
  .page-background.home {
    grid-template-rows: 70vw 45vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-768-100.jpg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-768-100.svg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-768-30x45.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
@media screen and (min-width: 1024px) {
  .page-background.home {
    grid-template-rows: 45vw 45vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1024-100.jpg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1024-100.svg");
    grid-row: 1/3;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1024-30x45.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
@media screen and (min-width: 1440px) {
  .page-background.home {
    grid-template-rows: 40vw 30vw 20vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1440-100.jpg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1440-100.svg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1440-30x30.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
@media screen and (min-width: 1920px) {
  .page-background.home {
    grid-template-rows: 30vw 30vw 20vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1920-100.jpg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1920-100.svg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-1920-30x30.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
@media screen and (min-width: 2560px) {
  .page-background.home {
    grid-template-rows: 25vw 30vw 20vw;
  }
  .page-background.home .background-image1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-2560-100.jpg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines1 {
    background-image: url("../images/teaserbg-home/teaserbg-home-2560-100.svg");
    grid-row: 1/4;
    grid-column: 1/21;
  }
  .page-background.home .background-lines2 {
    background-image: url("../images/teaserbg-home/teaserbg-home-2560-30x30.svg");
    grid-row: 2;
    grid-column: 1/7;
  }
}
.page-background.subpage {
  grid-template-columns: 100vw;
  grid-template-rows: 1fr;
  height: 90%;
}
.page-background.subpage .bg-line-1 {
  top: calc(22px + (86 - 22) * ((100vw - 320px) / (768 - 320)));
  right: calc(-24px + (-52 - -24) * ((100vw - 320px) / (1920 - 320)));
  transform: rotate(-45deg) translate(0%);
  transform-origin: top right;
  width: calc(108px + (220 - 108) * ((100vw - 320px) / (768 - 320)));
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .page-background.subpage .bg-line-1 {
    top: calc(-28px + (-52 - -28) * ((100vw - 320px) / (1920 - 320)));
    width: 40vw;
  }
}
.page-background.subpage .bg-line-2 {
  top: 32vw;
  right: calc(-28px + (-52 - -28) * ((100vw - 320px) / (1920 - 320)));
  transform: rotate(45deg) translate(0%);
  transform-origin: top right;
  width: 38vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .page-background.subpage .bg-line-2 {
    top: 26vw;
    width: 30vw;
  }
}
.page-background.subpage .bg-line-3 {
  top: calc(154px + (400 - 154) * ((100vw - 320px) / (1024 - 320)));
  left: calc(-28px + (-52 - -28) * ((100vw - 320px) / (1920 - 320)));
  transform: rotate(-45deg) translate(0%);
  transform-origin: top left;
  width: 14vw;
  z-index: 1;
}
@media screen and (min-width: 414px) {
  .page-background.subpage .bg-line-3 {
    width: 12vw;
  }
}
@media screen and (min-width: 768px) {
  .page-background.subpage .bg-line-3 {
    width: 10vw;
  }
}
@media screen and (min-width: 1024px) {
  .page-background.subpage .bg-line-3 {
    top: calc(320px + (716 - 320) * ((100vw - 1024px) / (2560 - 1024)));
  }
}
.page-background.subpage .bg-line-4 {
  top: 80vw;
  right: calc(-28px + (-52 - -28) * ((100vw - 320px) / (1920 - 320)));
  transform: rotate(45deg) translate(0%);
  transform-origin: top right;
  width: 16vw;
  z-index: 1;
}
@media screen and (min-width: 414px) and (max-width: 767px) {
  .page-background.subpage .bg-line-4 {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .page-background.subpage .bg-line-4 {
    top: 65vw;
  }
}
@media screen and (min-width: 1024px) {
  .page-background.subpage .bg-line-4 {
    top: 44vw;
  }
}

section {
  display: grid;
  position: relative;
  z-index: 2;
}
section.default {
  grid-template-columns: 10vw 1fr 10vw;
}
@media screen and (min-width: 768px) {
  section.default {
    grid-template-columns: 15vw 1fr 15vw;
  }
}
@media screen and (min-width: 1024px) {
  section.default {
    grid-template-columns: 20vw 1fr 20vw;
  }
}
@media screen and (min-width: 1440px) {
  section.default {
    grid-template-columns: 25vw 1fr 25vw;
  }
}
@media screen and (min-width: 2560px) {
  section.default {
    grid-template-columns: 30vw 1fr 30vw;
  }
}
section.default > *:first-child {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
section.wide {
  grid-template-columns: 10vw 1fr 10vw;
  grid-template-rows: auto;
}
@media screen and (min-width: 768px) {
  section.wide {
    grid-template-columns: 5vw 1fr 5vw;
  }
}
@media screen and (min-width: 1920px) {
  section.wide {
    grid-template-columns: 10vw 1fr 10vw;
  }
}
section.wide > .responsive-picture {
  grid-column: 2;
  grid-row: 1;
}
section.wide > .content-block, section.wide > .cards {
  grid-row: 1;
  grid-column: 2;
}
section.indent {
  grid-template-columns: 10vw 1fr 10vw;
  grid-template-rows: auto;
}
@media screen and (min-width: 768px) {
  section.indent {
    grid-template-columns: 25vw 1fr 5vw;
  }
}
section.indent .content-block {
  grid-row: 1;
  grid-column: 2;
}
section.hero {
  width: 100%;
  overflow: hidden;
  grid-template-columns: 10vw 55vw 25vw 10vw;
  grid-template-rows: 55vw auto 45vw auto auto 15vw;
  margin-bottom: 0;
}
@media screen and (min-width: 414px) {
  section.hero {
    grid-template-rows: 75vw auto 15vw auto auto 15vw;
  }
}
@media screen and (min-width: 768px) {
  section.hero {
    grid-template-columns: 10vw 40vw 35vw 15vw;
    grid-template-rows: 40vw auto 15vw auto auto 15vw;
  }
}
@media screen and (min-width: 1024px) {
  section.hero {
    grid-template-columns: 10vw 40vw 35vw 15vw;
    grid-template-rows: 15vw auto 15vw auto auto 10vw;
  }
}
@media screen and (min-width: 1280px) {
  section.hero {
    grid-template-columns: 10vw 20vw 15vw 50vw;
    grid-template-rows: 15vw auto 25vw 10vw;
  }
}
@media screen and (min-width: 1440px) {
  section.hero {
    grid-template-columns: 10vw 20vw 15vw 50vw 5vw;
    grid-template-rows: 10vw auto 20vw 5vw;
  }
}
@media screen and (min-width: 1920px) {
  section.hero {
    grid-template-columns: 15vw 25vw 10vw 45vw 15vw;
    grid-template-rows: 10vw auto 20vw 5vw;
  }
}
@media screen and (min-width: 2560px) {
  section.hero {
    grid-template-columns: 15vw 20vw 15vw 45vw 15vw;
    grid-template-rows: 10vw auto 20vw 5vw;
  }
}
section.hero .content-block {
  display: block;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}
@media screen and (min-width: 414px) {
  section.hero .content-block {
    align-self: end;
  }
}
section.hero .cards {
  grid-column: 2/4;
  grid-row: 5;
}
@media screen and (min-width: 414px) {
  section.hero .cards {
    grid-column: 2/4;
    grid-row: 5;
    width: calc(100% + 10vw);
  }
}
@media screen and (min-width: 768px) {
  section.hero .cards {
    width: calc(100% + 2.5vw);
    margin-left: -2.5vw;
  }
  section.hero .cards .card {
    width: 41.5%;
  }
}
@media screen and (min-width: 1280px) {
  section.hero .cards {
    grid-column: 4/5;
    grid-row: 1/4;
    align-self: end;
    margin-left: 0;
    width: auto;
  }
  section.hero .cards .card {
    width: 36.5%;
  }
}
@media screen and (min-width: 1920px) {
  section.hero .cards .card {
    width: 35%;
  }
}
section.subnav-hero {
  grid-template-columns: 10vw 70vw 20vw;
  grid-template-rows: 15vw auto 15vw auto 10vw;
  width: 100%;
  overflow: hidden;
  margin-bottom: 0;
}
@media screen and (min-width: 414px) {
  section.subnav-hero {
    grid-template-columns: 10vw 65vw 15vw 10vw;
  }
}
@media screen and (min-width: 768px) {
  section.subnav-hero {
    grid-template-columns: 10vw 45vw 35vw 10vw;
    grid-template-rows: 15vw auto 15vw auto 5vw;
  }
}
@media screen and (min-width: 1024px) {
  section.subnav-hero {
    grid-template-columns: 10vw 40vw 40vw 10vw;
    grid-template-rows: 10vw auto 8vw auto 5vw;
  }
}
@media screen and (min-width: 1440px) {
  section.subnav-hero {
    grid-template-columns: 10vw 35vw 45vw 10vw;
    grid-template-rows: 10vw auto 5vw auto 5vw;
  }
}
@media screen and (min-width: 1920px) {
  section.subnav-hero {
    grid-template-columns: 15vw 30vw 45vw 10vw;
  }
}
section.subnav-hero .short-text {
  grid-column: 2;
  grid-row: 2;
}
section.subnav-hero .sub-navigation {
  grid-column: 2/4;
  grid-row: 4;
}
section.small-text-large-image {
  position: relative;
  grid-template-columns: 5vw 5vw 1fr 5vw 5vw;
  grid-template-rows: 5vw 5vw auto 12.5vw 5vw auto 12.5vw;
}
@media screen and (min-width: 768px) {
  section.small-text-large-image {
    grid-template-columns: 10vw 35vw 1fr 45vw 5vw;
    grid-template-rows: 3vw 6.125vw 1fr 6.125vw 3vw;
  }
}
@media screen and (min-width: 768px) {
  section.small-text-large-image.image-left {
    grid-template-columns: 10vw 45vw 1fr 35vw 5vw;
  }
}
section.small-text-large-image.green-background .background-box {
  display: block;
  width: 100%;
  height: 100%;
  background: rgb(164, 195, 0);
  grid-column: 1/6;
  grid-row: 3/8;
  color: rgb(0, 0, 0);
}
@media screen and (min-width: 768px) {
  section.small-text-large-image.green-background .background-box {
    grid-column: 1/6;
    grid-row: 2/5;
  }
}
section.small-text-large-image .content-block {
  position: relative;
  z-index: 4;
  grid-column: 3;
  grid-row: 6;
  align-self: center;
}
@media screen and (min-width: 768px) {
  section.small-text-large-image .content-block {
    grid-column: 2;
    grid-row: 3;
  }
}
section.small-text-large-image > .responsive-picture, section.small-text-large-image > .video-wrapper {
  z-index: 4;
  width: 100%;
  grid-column: 2/5;
  grid-row: 2/4;
  align-self: center;
}
@media screen and (min-width: 768px) {
  section.small-text-large-image > .responsive-picture, section.small-text-large-image > .video-wrapper {
    grid-column: 4/5;
    grid-row: 1/6;
  }
}
@media screen and (min-width: 768px) {
  section.small-text-large-image.image-left .content-block {
    grid-column: 4;
    grid-row: 3;
  }
}
@media screen and (min-width: 768px) {
  section.small-text-large-image.image-left > .responsive-picture, section.small-text-large-image.image-left > .video-wrapper {
    grid-column: 2/3;
    grid-row: 1/6;
  }
}
section.section--small-text a, section.section--large-text a, section.section--image-text a, section.section--map-region a {
  background-color: #fff;
  border-bottom: 2px solid rgb(254, 204, 0);
  padding: 2px 3px;
  text-decoration: none;
  transition: background-color ease 0.2s, color ease 0.2s;
}
section.section--small-text a:hover, section.section--large-text a:hover, section.section--image-text a:hover, section.section--map-region a:hover {
  background-color: rgb(254, 204, 0);
  color: rgb(58, 58, 74);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
section.section--image-text.green-background .content-block a {
  background-color: transparent;
}
section.section--image-text.green-background .content-block a:hover {
  background-color: rgb(254, 204, 0);
}
section.section--additional-links {
  margin-top: 1em;
}
.text--small + section.section--additional-links p {
  font-size: calc(14px + 2 * (100vw - 320px) / 1600);
}
section.section--additional-links .arrow-link,
section.section--additional-links .external-link {
  background-size: 28px;
  display: inline-block;
  line-height: 1.2;
  margin-right: 1em;
  white-space: normal;
}
@media screen and (min-width: 520px) and (max-width: 767px) {
  section.section--contact-list {
    grid-template-columns: 20vw 1fr 20vw;
  }
}
section .contact {
  display: flex;
  flex-direction: column;
}
section .contact__title.contact__title > h4, section .contact__title.contact__title > p {
  line-height: 1.2;
  margin: 0;
}
section .contact__info {
  margin-top: 2em;
}
section .contact__icon {
  margin-right: 8px;
}
section .contact__link {
  display: flex;
  align-items: center;
  height: 2em;
  text-decoration: none;
}
section .contact__link > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: transform 0.2s ease-in-out;
}
section .contact__link:hover > span, section .contact__link:focus > span, section .contact__link:active > span {
  transform: translateX(5px);
}
section .contact-list--list .contact ~ .contact {
  margin-top: 3em;
}
section .contact-list--list .contact__visual {
  border-radius: 8px;
  overflow: hidden;
}
section .contact-list--list .contact__content {
  display: flex;
  flex-direction: column;
  padding: 24px;
}
@media screen and (min-width: 768px) {
  section .contact-list--list .contact {
    flex-direction: row;
    align-items: stretch;
  }
  section .contact-list--list .contact__visual {
    width: 20vw;
    max-width: 200px;
  }
  section .contact-list--list .contact__content {
    justify-content: center;
    padding: 24px 48px;
  }
}
section .contact-list--tiles {
  display: flex;
  flex-wrap: wrap;
  margin: -2em 0;
}
section .contact-list--tiles .contact__wrapper {
  width: 100%;
}
section .contact-list--tiles .contact {
  border-radius: 8px;
  border-top: 60px solid var(--contact-color, transparent);
  box-shadow: 0px 3px 11px 0px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  flex: 1 1 auto;
  margin: 2em 0;
  padding: 60px 35px 35px;
  position: relative;
  max-width: 100%;
}
section .contact-list--tiles .contact__title {
  text-align: center;
}
section .contact-list--tiles .contact__visual {
  border-radius: 50%;
  object-fit: contain;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 15vw;
  height: 15vw;
  min-width: 80px;
  min-height: 80px;
  max-width: 180px;
  max-height: 180px;
}
section .contact-list--tiles .contact__info {
  margin: 2em auto 0;
  max-width: 300px;
}
@media screen and (min-width: 600px) {
  section .contact-list--tiles .contact {
    border-top-width: 10vw;
    padding: 10vw 6vw 6vw;
  }
}
@media screen and (min-width: 768px) {
  section .contact-list--tiles {
    margin: -2em;
  }
  section .contact-list--tiles .contact__wrapper {
    width: 50%;
  }
  section .contact-list--tiles .contact {
    margin: 2em;
  }
}
@media screen and (min-width: 1024px) {
  section .contact-list--tiles .contact {
    padding: 120px 65px 65px;
  }
}
section.map-region {
  position: relative;
  grid-template-columns: 5vw 5vw 1fr 5vw 5vw;
  grid-template-rows: 12.5vw auto 5vw auto 5vw auto 12.5vw;
}
@media screen and (min-width: 768px) {
  section.map-region {
    grid-template-columns: 10vw 20vw 16.25vw 1fr;
    grid-template-rows: 15vw auto 7.5vw auto auto;
  }
}
@media screen and (min-width: 1024px) {
  section.map-region {
    grid-template-columns: 10vw 15vw 16.25vw 1fr;
    grid-template-rows: 10vw auto 7.5vw auto auto;
  }
}
section.map-region .content-block {
  position: relative;
  z-index: 4;
  grid-column: 3;
  grid-row: 2;
}
@media screen and (min-width: 768px) {
  section.map-region .content-block {
    grid-column: 2/4;
    grid-row: 1/3;
  }
}
section.map-region > .responsive-picture {
  position: relative;
  z-index: 3;
  width: 100%;
  grid-column: 1/6;
  grid-row: 4;
  align-self: center;
}
@media screen and (min-width: 768px) {
  section.map-region > .responsive-picture {
    grid-column: 3/5;
    grid-row: 2/6;
  }
}
section .section__anchor {
  position: absolute;
  top: -164px;
  left: -100vw;
}
@media (max-width: 1439px) {
  section .section__anchor {
    top: -136px;
  }
}
@media (max-width: 1023px) {
  section .section__anchor {
    top: -92px;
  }
}

section,
.section {
  margin-bottom: 5vw;
}
@media screen and (max-width: 768px) {
  section,
  .section {
    margin-bottom: 7.5vw;
  }
}
section.spacerbottom--zero,
.section.spacerbottom--zero {
  margin-bottom: 0.75em;
}
section.spacerbottom--small,
.section.spacerbottom--small {
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 768px) {
  section.spacerbottom--small,
  .section.spacerbottom--small {
    margin-bottom: 5vw;
  }
}
section.spacerbottom--big,
.section.spacerbottom--big {
  margin-bottom: 10vw;
}
@media screen and (max-width: 768px) {
  section.spacerbottom--big,
  .section.spacerbottom--big {
    margin-bottom: 20vw;
  }
}

.section:last-child {
  margin-bottom: 0;
}

.responsive-picture {
  display: block;
  overflow: hidden;
  width: 100%;
}
.responsive-picture.with-shadow {
  -webkit-box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
  box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
}
.responsive-picture img {
  display: block;
  width: 100%;
  height: auto;
}
.responsive-picture.responsive-picture--indented {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .responsive-picture.responsive-picture--indented {
    width: 77.5%;
    width: calc(100% - 20vw);
  }
}
@media screen and (min-width: 1920px) {
  .responsive-picture.responsive-picture--indented {
    width: calc(100% - 15vw);
  }
}

.video-wrapper {
  overflow: hidden;
  position: relative;
}
.video-wrapper.with-shadow {
  -webkit-box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
  box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
}
.video-wrapper > video {
  background-color: #000;
  display: block;
  width: 100%;
  height: auto;
}
.video-wrapper::before, .video-wrapper::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 16%;
  height: 28%;
  z-index: 10;
}
.video-wrapper::before {
  background-color: #fff;
  border-radius: 50%;
}
.video-wrapper::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 50 50'%3E%3Cpolygon points='6,0 46,25 6,50' fill='%23000'/%3E%3C/svg%3E") no-repeat 62% 50%;
  background-size: 50%;
}
.video-wrapper:hover {
  cursor: pointer;
}
.video-wrapper:hover::before {
  -webkit-box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
  box-shadow: 0 14px 38px 0 rgba(0, 0, 0, 0.22);
}
.video-wrapper.video-playing::before, .video-wrapper.video-playing::after {
  display: none;
}

.expandable-block-radio-closed,
.expandable-block-radio-opened {
  display: none;
}

.expandable-block {
  width: 100%;
  margin-left: -2.5vw;
  padding: 2.5vw;
  background: rgb(244, 247, 228);
  position: relative;
}
@media screen and (max-width: 767px) {
  .expandable-block {
    margin-left: -5vw;
    padding: 5vw;
  }
  .expandable-block a.plus-minus-toggle {
    margin-left: -2.5vw;
    padding-right: calc(2.5vw + 1em);
  }
  .expandable-block a.plus-minus-toggle span::before {
    left: 2.5vw;
  }
}
.expandable-block label.expandable-block-opener {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 5;
}
.expandable-block .expandable-block-closer {
  display: none;
}
.expandable-block .expandable-teaser {
  margin-bottom: 2em;
}
.expandable-block .expandable-content {
  display: none;
  margin-bottom: 2em;
}

@media screen and (min-width: 768px) {
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover {
    color: rgb(255, 255, 255);
    background: rgb(164, 195, 0);
  }
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover h1,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover h2,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover h3,
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover h4 {
    color: rgb(255, 255, 255);
  }
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover a {
    color: rgb(255, 255, 255);
  }
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover a:hover, .expandable-block-radio-opened:not(:checked) + .expandable-block:hover a:focus {
    color: rgb(58, 58, 74);
  }
  .expandable-block-radio-opened:not(:checked) + .expandable-block:hover a.arrow-link {
    background-image: url("../images/icn_linkarrow_black.svg");
  }
}
.expandable-block-radio-opened:checked + .expandable-block label.expandable-block-opener {
  display: none;
}
.expandable-block-radio-opened:checked + .expandable-block .expandable-content {
  display: block;
}
.expandable-block-radio-opened:checked + .expandable-block label.plus-minus-toggle.expand-toggle span:first-child {
  display: none;
}
.expandable-block-radio-opened:checked + .expandable-block label.plus-minus-toggle.expand-toggle span:last-child {
  display: inline;
}
@media screen and (min-width: 768px) {
  .expandable-block-radio-opened:checked + .expandable-block label.plus-minus-toggle.expand-toggle:hover {
    background: rgb(164, 195, 0);
  }
}

.card {
  border-radius: 8px;
}

.cards.light {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .cards.light {
    width: 90vw;
    margin-left: -10vw;
    padding-right: 10vw;
    padding-top: 2.5vw;
    padding-bottom: 2.5vw;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .cards.light::-webkit-scrollbar {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .cards.light.three .card, .cards.light.three .dummy {
    width: calc(33.333% - 6.6666vw);
  }
  .cards.light.three .card:nth-child(n+4), .cards.light.three .dummy:nth-child(n+4) {
    margin-top: 2.5vw;
  }
  .cards.light.three .dummy {
    display: block;
    height: 1px;
    padding: 0 2.5vw;
    content: "";
  }
}
.cards.light .card-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-right: -70vw;
}
@media screen and (min-width: 414px) {
  .cards.light .card-wrapper {
    margin-right: -45vw;
  }
}
@media screen and (max-width: 767px) {
  .cards.light .card-wrapper {
    padding-left: 5vw;
    flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
  }
  .cards.light .card-wrapper .dummy {
    display: block;
    width: 5vw;
    height: 1px;
    content: "";
  }
}
@media screen and (min-width: 768px) {
  .cards.light .card-wrapper {
    margin-right: 0;
  }
}
.cards.light .card {
  display: grid;
  grid-template-rows: calc((28px + 14 * (100vw - 320px) / 1600) * 2) 2.5vw auto 2.5vw auto;
  grid-template-columns: 1fr;
  padding: 2.5vw;
  background: rgb(255, 255, 255);
  box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.13);
}
.cards.light .card.with-icon-or-tagline {
  grid-template-rows: 5vw 2.5vw calc((28px + 14 * (100vw - 320px) / 1600) * 2) 2.5vw auto 2.5vw auto;
}
@media screen and (max-width: 767px) {
  .cards.light .card.with-icon-or-tagline {
    grid-template-rows: 10vw 5vw calc((28px + 14 * (100vw - 320px) / 1600) * 2) 5vw auto 5vw auto;
  }
}
@media screen and (max-width: 767px) {
  .cards.light .card {
    width: 50vw;
    margin-right: 5vw;
    padding: 10vw 5vw;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 413px) {
  .cards.light .card {
    width: 62.5vw;
  }
}
.cards.light .card .headline {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
}
.cards.light .card .text {
  grid-column: 1;
  grid-row: 3;
}
.cards.light .card .link {
  grid-column: 1;
  grid-row: 5;
}
.cards.light .card.with-icon-or-tagline .tagline,
.cards.light .card.with-icon-or-tagline .icon {
  grid-column: 1;
  grid-row: 1;
}
.cards.light .card.with-icon-or-tagline .headline {
  grid-column: 1;
  grid-row: 3;
  align-self: center;
}
.cards.light .card.with-icon-or-tagline .text {
  grid-column: 1;
  grid-row: 5;
}
.cards.light .card.with-icon-or-tagline .link {
  grid-column: 1;
  grid-row: 7;
}
.cards.light .card .tagline {
  display: block;
}
.cards.light .card .tagline > span {
  display: inline-block;
  margin-bottom: 2.5vw;
  margin-left: -2.5vw;
  padding: 1em 2.5vw;
  line-height: 1;
  font-size: 1em;
  color: rgb(0, 0, 0);
  border-top-right-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
  background: rgb(254, 204, 0);
}
@media screen and (max-width: 767px) {
  .cards.light .card .tagline > span {
    margin-left: -5vw;
    padding: 1em 5vw;
  }
}
.cards.light .card .icon img {
  height: 100%;
  width: auto;
}
.cards.light a.card {
  text-decoration: none;
  color: rgb(77, 77, 96);
}
@media screen and (min-width: 768px) {
  .cards.light a.card:nth-child(1) {
    transition: box-shadow ease 0.25s, opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.7s, transform 0.5s cubic-bezier(0, 0.5, 0.5, 1) 0.7s;
  }
  .cards.light a.card:nth-child(2) {
    transition: box-shadow ease 0.25s, opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s, transform 0.5s cubic-bezier(0, 0.5, 0.5, 1) 0.6s;
  }
}
@media screen and (min-width: 768px) {
  .cards.light a.card:hover {
    box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.25);
  }
}
.cards.light.two {
  box-sizing: border-box;
  margin-left: -10vw;
  padding-left: 5vw;
  padding-right: 5vw;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .cards.light.two {
    margin-left: -5vw;
  }
}
.cards.light.two .card-wrapper {
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  width: 90vw;
}
.cards.light.two .card {
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .cards.light.two .card {
    width: calc(50% - 1.5vw);
  }
}
.cards.light .card--media {
  align-content: center;
}
.cards.light .card__media {
  grid-row: 1/4;
}
.cards.light .card--noshadow {
  box-shadow: none;
}

.cards.dark {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  width: calc(100% + 10vw);
  margin-left: -5vw;
}
@media screen and (min-width: 768px) {
  .cards.dark {
    margin-left: 0;
    width: 100%;
  }
}
.cards.dark .card {
  width: calc(50% - 11.25vw);
}
.cards.dark.two .card {
  width: calc(100% - 7.5vw);
}
@media screen and (min-width: 768px) {
  .cards.dark.two .card {
    width: calc(50% - 11.25vw);
  }
}
.cards.dark .card {
  color: rgb(255, 255, 255);
  display: grid;
  background: rgb(58, 58, 74);
  grid-template-rows: calc((28px + 14 * (100vw - 320px) / 1600) * 2) 2.5vw auto 2.5vw auto;
  grid-template-columns: 1fr;
  padding: 7.5vw 5vw;
}
.cards.dark .card h1,
.cards.dark .card h2,
.cards.dark .card h3,
.cards.dark .card h4 {
  color: rgb(255, 255, 255);
}
.cards.dark .card a {
  color: rgb(255, 255, 255);
}
.cards.dark .card a:hover, .cards.dark .card a:focus {
  color: rgb(58, 58, 74);
}
.cards.dark .card a.arrow-link {
  background-image: url("../images/icn_linkarrow_black.svg");
}
@media screen and (min-width: 768px) {
  .cards.dark .card {
    padding: 5vw 5vw;
  }
}
.cards.dark .card.with-background {
  background-position: right top;
  background-size: auto 100%;
  background-repeat: no-repeat;
  grid-template-columns: 3fr 1fr;
}
.cards.dark .card .headline {
  grid-row: 1;
  grid-column: 1;
}
.cards.dark .card .text {
  grid-row: 3;
  grid-column: 1;
}
.cards.dark .card .link {
  grid-row: 5;
  grid-column: 1;
}

.two.cards .card {
  margin-bottom: 5vw;
}

.cards.small .card .headline,
.cards.small .card .text {
  align-self: start;
}
.cards.small .card .icon-arrow {
  color: rgb(164, 195, 0);
}
.cards.small .card.with-background,
.cards.small .card.with-background .headline h4,
.cards.small .card.with-background .icon-arrow, .cards.small .card.with-color,
.cards.small .card.with-color .headline h4,
.cards.small .card.with-color .icon-arrow {
  color: white;
}
.cards.small .card .icon-arrow {
  grid-row: 5;
  width: 23px;
  height: 21px;
}

.form-hint.cards .card {
  grid-template-rows: auto;
}

.ogmp-card {
  align-self: flex-end;
  padding: 2.5vw;
  padding-right: 0;
  grid-row: 4;
  grid-column: 2/4;
  margin-bottom: 2.5vw;
  margin-left: -2.5vw;
  transition: box-shadow ease 0.25s, opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0, 0.5, 0.5, 1);
}
@media screen and (min-width: 414px) {
  .ogmp-card {
    padding-right: 2.5vw;
    margin-left: -5vw;
    width: 100%;
    background: rgb(255, 255, 255);
    border-radius: 8px;
    box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.13);
    padding: 10vw 5vw;
  }
}
@media screen and (min-width: 640px) {
  .ogmp-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5vw;
    width: calc(100% + 5vw);
  }
}
@media screen and (min-width: 768px) {
  .ogmp-card {
    margin-left: -2.5vw;
    width: calc(100% - 2.5vw);
  }
}
@media screen and (min-width: 1280px) {
  .ogmp-card {
    grid-row: 3;
    grid-column: 2/4;
    margin-right: 3.5vw;
    margin-left: -2.5vw;
    margin-bottom: 0;
    width: calc(100% - 6vw);
  }
}
.ogmp-card .logo {
  flex: 0 0 37.5%;
}
@media screen and (min-width: 640px) {
  .ogmp-card .logo {
    width: 100%;
    margin: 0;
    margin-right: 5%;
  }
}
.ogmp-card .logo img {
  width: 100%;
  display: block;
  height: auto;
  max-width: 195px;
  margin: 0 auto;
  margin-bottom: 2.5vw;
}
@media screen and (min-width: 640px) {
  .ogmp-card .logo img {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .ogmp-card .logo img {
    margin-bottom: 0;
  }
}
.ogmp-card .text {
  flex: 0 0 57.5%;
}

.value-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  position: relative;
  z-index: 4;
  grid-column: 3;
  grid-row: 6;
}
@media screen and (min-width: 768px) {
  .value-block {
    grid-column: 2/4;
    grid-row: 4;
  }
}
.value-block__value {
  box-sizing: border-box;
  padding-right: 2vw;
  min-width: 50%;
}
@media screen and (min-width: 768px) {
  .value-block__value {
    width: 100%;
  }
}
.value-block__value:last-child {
  margin-right: 0;
}
.value-block .value-title {
  margin-bottom: 0;
}
.value-block .value {
  color: rgb(58, 58, 74);
  font-size: calc(32px + 28 * (100vw - 320px) / 1600);
  line-height: calc(42px + 36 * (100vw - 320px) / 1600);
  margin-top: 0;
  margin-bottom: 1em;
}

.value-block--two-columns .value-block__value {
  margin-bottom: 5vw;
}
@media screen and (min-width: 768px) {
  .value-block--two-columns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .value-block--two-columns .value-block__value {
    width: 30%;
    min-width: auto;
    padding-right: 0;
    margin-bottom: 0;
  }
  .value-block--two-columns .value-block__content {
    width: 70%;
  }
}

.alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  width: 92%;
  max-width: 790px;
  margin: 0 auto;
  padding: 6px 36px;
  border-radius: 26px;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.15);
}
@media (min-width: 1024px) {
  .alert {
    width: 100%;
  }
}
.alert + .alert {
  margin-top: 70px;
}

.alert__text {
  color: #fff;
  font-family: "EnBW-Din-Pro Medium";
  font-weight: normal;
  font-size: 15px;
  line-height: 1.4;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
@media (min-width: 1024px) {
  .alert__text {
    line-height: 2;
  }
}

.alert--fixed {
  position: fixed;
  top: 23vw;
  left: 0;
  right: 0;
  z-index: 9999;
}
@media (min-width: 1024px) {
  .alert--fixed {
    top: 15vw;
  }
}

.alert--success {
  background-color: rgb(164, 195, 0);
}

.alert--warning {
  background-color: rgb(254, 204, 0);
}

.alert__button {
  height: 40px;
  width: 76px;
  margin-right: -30px;
  border-radius: 20px;
  border: 0;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiI+PGxpbmUgeDE9IjEuOCIgeDI9IjEwLjIiIHkxPSIxMC4yIiB5Mj0iMS44IiBzdHJva2U9IiNmZmYiIC8+PGxpbmUgeDE9IjEwLjIiIHgyPSIxLjgiIHkxPSIxMC4yIiB5Mj0iMS44IiBzdHJva2U9IiNmZmYiIC8+PC9zdmc+) center center no-repeat transparent;
  background-size: 18px;
  transition: background-color ease 0.2s;
}
.alert__button:focus {
  outline: none;
}
.alert__button:hover {
  background-color: rgb(254, 204, 0);
  cursor: pointer;
}

.form__group {
  margin-bottom: 20px;
}
.form__group .help-inline,
.form__group .invalid-feedback {
  display: none;
  color: rgb(197, 56, 55);
  font-size: 15px;
  line-height: 30px;
}

fieldset {
  padding: 0;
  border: none;
}

.form__button {
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  font-size: 17px;
  line-height: 1;
  padding: 16px 36px;
  cursor: pointer;
  text-decoration: none;
  color: rgb(58, 58, 74);
  border: 2px solid transparent;
  border-radius: 26px;
  outline: none;
  background-color: rgb(254, 204, 0);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
.form__button.form__button--grey {
  background-color: #d9d9d9;
}
.form__button.form__button--grey:focus {
  border: 2px solid #ccc;
}
.form__button:focus {
  border: 2px solid #c7a000;
}

.form__label {
  font-weight: normal;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}

.form__control {
  box-sizing: border-box;
  display: block;
  width: calc(100% + 10vw);
  margin-left: -5vw;
  margin-right: -5vw;
  height: 52px;
  padding: 0 5vw;
  border: 1px solid transparent;
  border-radius: 8px;
  background-color: #ececec;
  color: #4d4d60;
  font-size: 15px;
  line-height: 30px;
}
.form__control::-webkit-input-placeholder {
  color: #9c9ca5;
}
.form__control:-moz-placeholder {
  color: #9c9ca5;
}
.form__control::-moz-placeholder {
  color: #9c9ca5;
}
.form__control:-ms-input-placeholder {
  color: #9c9ca5;
}
.form__control::-webkit-datetime-edit-day-field {
  color: #9c9ca5;
}
.form__control::-webkit-datetime-edit-month-field {
  color: #9c9ca5;
}
.form__control::-webkit-datetime-edit-year-field {
  color: #9c9ca5;
}
@media (min-width: 1024px) {
  .form__control {
    width: calc(100% + 5vw);
    margin-left: -2.5vw;
    margin-right: -2.5vw;
    padding: 0 2.5vw;
  }
}
.form__control:focus {
  outline: none;
  background-color: #dfdfdf;
}
.form__control.is-invalid {
  border: 2px solid rgb(197, 56, 55);
  background-color: rgba(197, 56, 55, 0.17);
  position: relative;
}
.form__control.is-invalid + .help-inline {
  display: inline;
}

.form__control--select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  position: relative;
  background-size: 20px;
  background-position: right 2.5vw center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiI+PHBvbHlsaW5lIHRyYW5zZm9ybT0icm90YXRlKDkwLDYsNikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzRENEQ2MCIgcG9pbnRzPSIzLjcgMS44IDcuOSA2IDMuNyAxMC4yIi8+PC9zdmc+);
}

.form__textarea {
  display: block;
  min-height: 200px;
  padding: 2.5vw 5vw;
  margin-bottom: 2.5vw;
}
@media (min-width: 1024px) {
  .form__textarea {
    padding: 1.25vw 2.5vw;
  }
}
.form__textarea.is-invalid {
  margin-bottom: 0;
}

.form__checkbox {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  position: relative;
  margin-bottom: 2.5vw;
}
.form__checkbox .form__checkbox-input {
  position: absolute;
  left: -40px;
  top: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  line-height: 1;
  opacity: 0;
}
.form__checkbox .form__checkbox-input:checked + label::before {
  content: "✓";
}
.form__checkbox .form__checkbox-input:focus + label::before {
  border: 1px solid #ccc;
}
.form__checkbox .form__checkbox-label {
  position: relative;
  padding-left: 50px;
  line-height: 2;
  font-family: "EnBW-Din-Pro Regular", sans-serif;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .form__checkbox .form__checkbox-label {
    padding-left: 60px;
  }
}
.form__checkbox .form__checkbox-label::before {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  margin-right: 18px;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #ececec;
  border-radius: 8px;
  font-size: 22px;
  line-height: 36px;
  color: #000;
  text-align: center;
  border: 1px solid transparent;
  transition: 0.2s ease all;
}

.form__upload {
  margin-bottom: 5vw;
}
@media (min-width: 1024px) {
  .form__upload {
    margin-bottom: 2.5vw;
  }
}
.form__upload .form__upload-text {
  font-size: 15px;
  line-height: 2;
  margin-top: 0;
}
.form__upload .form__upload-input-wrapper {
  position: relative;
  line-height: 1;
}
.form__upload .form__upload-input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 0;
  height: 0;
  cursor: pointer;
}
.form__upload .form__upload-label {
  display: inline-block;
  padding: 0.8em 2em;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  color: white;
  border: 2px solid transparent;
  border-radius: 2em;
  outline: none;
  background-color: rgb(254, 204, 0);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
  font-size: calc(14px + 2 * (100vw - 320px) / 1600);
}
.form__upload .form__upload-filename {
  display: inline-block;
  margin-left: 15px;
}
.form__upload .form__upload-filename span {
  margin-right: 15px;
}
.form__upload .form__upload-input:focus + .form__upload-label {
  border: 2px solid #c7a000;
}

.form__radio {
  margin-bottom: 2.5vw;
}
.form__radio .form__radio-input-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.form__radio .form__radio-label {
  flex-basis: 100%;
  margin: 0 0 9px 0;
  cursor: pointer;
}
@media (min-width: 414px) {
  .form__radio .form__radio-label {
    margin: 0 36px 18px 0;
  }
}
@media (min-width: 1024px) {
  .form__radio .form__radio-label {
    flex-basis: auto;
  }
}
.form__radio .form__radio-input {
  position: absolute;
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
}
.form__radio .form__radio-label-text {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 36px;
}
.form__radio .form__radio-label-text::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #ececec;
  vertical-align: middle;
  margin-right: 18px;
  transition: 0.5s ease all;
}
.form__radio .form__radio-label-text i {
  width: auto;
  width: calc(100% - 54px);
  line-height: 1.4;
  font-style: normal;
}
.form__radio .form__radio-label-text::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 8px;
  display: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #4d4d60;
}
.form__radio .form__radio-input:checked + .form__radio-label-text::after {
  display: block;
}
.form__radio .form__radio-input:focus + .form__radio-label-text::before {
  background-color: #ccc;
}

.form-captcha {
  display: flex;
  flex-wrap: wrap;
}
.form-captcha img {
  margin-left: -5vw;
}
@media (min-width: 1024px) {
  .form-captcha img {
    margin-left: -2.5vw;
  }
}
@media (min-width: 560px) {
  .form-captcha {
    flex-wrap: nowrap;
  }
  .form-captcha .form__control {
    margin-left: 0;
  }
}

.form__submit {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.form__submit::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  border-radius: 8px;
  background-color: #ececec;
  margin-bottom: 30px;
}
.form__submit .form__button--reset {
  margin-bottom: 2.5vw;
}

ul.downloads {
  width: calc(100% + 5vw);
  margin-left: -2.5vw;
  padding: 0;
  list-style: none;
  font-size: calc(13px + 3 * (100vw - 320px) / 1600);
  line-height: calc(25px + 7 * (100vw - 320px) / 1600);
}
@media screen and (max-width: 413px) {
  ul.downloads {
    width: calc(100% + 10vw);
    margin-left: -5vw;
  }
}
ul.downloads > li {
  margin: 0 0 0.4em 0;
  padding: 0;
}
ul.downloads > li.additional-entry {
  display: none;
}
ul.downloads > li::before {
  display: none;
}
ul.downloads > li > a {
  display: flex;
  height: 52px;
  box-sizing: border-box;
  padding: 0.5em 2.5vw;
  overflow: hidden;
  align-items: center;
  justify-content: space-between;
  line-height: 1.4;
  text-decoration: none;
  color: rgb(58, 58, 74);
  background: rgb(244, 247, 228);
  transition: color ease 0.2s, background ease 0.2s;
}
@media screen and (max-width: 413px) {
  ul.downloads > li > a {
    padding: 0.5em 5vw;
  }
}
ul.downloads > li > a .title {
  width: 50%;
  font-weight: normal;
}
@media (max-width: 1439px) {
  ul.downloads > li > a .title {
    width: 70%;
  }
}
ul.downloads > li > a .fileinfo {
  width: 25%;
  color: rgb(77, 77, 96);
}
@media (max-width: 1439px) {
  ul.downloads > li > a .fileinfo {
    width: 10%;
    text-align: right;
  }
  ul.downloads > li > a .fileinfo .filesize {
    display: none;
  }
}
ul.downloads > li > a .fileinfo .filesize {
  margin-left: 0.5em;
}
ul.downloads > li > a .download {
  width: 30%;
  text-align: right;
}
@media (max-width: 1439px) {
  ul.downloads > li > a .download {
    width: 12%;
  }
}
ul.downloads > li > a .download span {
  transition: background-color ease 0.2s;
}
@media (min-width: 1440px) {
  ul.downloads > li > a .download span {
    display: inline-block;
    height: 40px;
    padding: 0 3.5em 0 1.5em;
    line-height: 40px;
    border-radius: 20px;
    background: url("../images/icn_arrow_down_green.svg") no-repeat right 0.5em center/auto 100%;
  }
}
@media (max-width: 1439px) {
  ul.downloads > li > a .download span {
    display: inline-block;
    width: 1.5em;
    height: 100%;
    margin-top: 7px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 999em;
    background: url("../images/icn_arrow_down_green.svg") no-repeat center center/auto 150%;
  }
}
ul.downloads > li > a:hover {
  color: rgb(58, 58, 74);
  background: rgb(164, 195, 0);
}
ul.downloads > li > a:hover .title,
ul.downloads > li > a:hover .fileinfo {
  color: rgb(58, 58, 74);
}
@media (min-width: 1440px) {
  ul.downloads > li > a:hover .download span {
    color: rgb(58, 58, 74);
    background: rgb(254, 204, 0) url("../images/icn_arrow_down_black.svg") no-repeat right 0.5em center/auto 100%;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
  }
}
@media (max-width: 1439px) {
  ul.downloads > li > a:hover .download span {
    background-image: url("../images/icn_arrow_down_black.svg");
  }
}

ul.downloads + label {
  display: block;
  margin-top: 3em;
  cursor: pointer;
  text-align: center;
}
@media (max-width: 1023px) {
  ul.downloads + label {
    margin-top: 2em;
  }
}

input[type=checkbox].show-additional-entries {
  display: none;
}
input[type=checkbox].show-additional-entries:checked + ul.downloads li.additional-entry {
  display: block;
}
input[type=checkbox].show-additional-entries + ul.downloads + label .plus-minus-toggle span:first-child {
  display: inline-block;
}
input[type=checkbox].show-additional-entries + ul.downloads + label .plus-minus-toggle span:last-child {
  display: none;
}
input[type=checkbox].show-additional-entries:checked + ul.downloads + label .plus-minus-toggle span:first-child {
  display: none;
}
input[type=checkbox].show-additional-entries:checked + ul.downloads + label .plus-minus-toggle span:last-child {
  display: inline-block;
}

.expandable-block ul.downloads {
  width: calc(100% + 2.5vw);
  margin-left: -1.25vw;
}
.expandable-block ul.downloads li a {
  padding-left: 1.25vw;
  padding-right: 1.25vw;
  background-color: rgb(231, 236, 205);
}
.expandable-block ul.downloads li a:hover {
  background-color: rgb(164, 195, 0);
}

.trouble-block {
  width: 100%;
  margin-left: -5vw;
  padding: 2.5vw 5vw;
  color: rgb(58, 58, 74);
  border-radius: 8px;
  background: rgb(255, 255, 255);
  box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.13);
}
@media screen and (max-width: 767px) {
  .trouble-block {
    padding: 5vw;
  }
}
.trouble-block.framed {
  width: calc(100% - 4px);
  border: 2px solid rgb(164, 195, 0);
  box-shadow: none;
}
.trouble-block h3 {
  display: inline-block;
  margin-bottom: 2.5vw;
  margin-left: -5vw;
  padding: 0 8vw 0 calc(5vw + 2em);
  height: 40px;
  line-height: 40px;
  font-size: 16px;
  color: rgb(58, 58, 74);
  border-top-right-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  background: rgb(254, 204, 0) url("../images/icn_warning_black.svg") no-repeat 4vw center/auto 60%;
  background-size: 24px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
@media (min-width: 414px) {
  .trouble-block h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .trouble-block h3 {
    margin-bottom: 7.5vw;
  }
}
@media screen and (min-width: 768px) {
  .trouble-block h3 {
    padding: 0 5vw 0 calc(5vw + 2.3em);
    background-position: 5vw center;
  }
}
@media (min-width: 1280px) {
  .trouble-block h3 {
    font-size: 20px;
  }
}
@media (min-width: 1440px) {
  .trouble-block h3 {
    height: 46px;
    line-height: 46px;
  }
}
@media screen and (min-width: 1440px) {
  .trouble-block .phone-numbers {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
  }
  .trouble-block .phone-numbers .phone-number-block {
    margin-right: 5vw;
  }
}
@media screen and (min-width: 1440px) and (min-width: 2000px) and (orientation: landscape) {
  .trouble-block .phone-numbers .phone-number-block {
    margin-right: 3vw;
  }
}
@media screen and (min-width: 1440px) {
  .trouble-block .phone-numbers .phone-number-block:last-child {
    margin-right: 0;
  }
}
.trouble-block .phone-number-block {
  display: block;
  margin-bottom: 2.5vw;
  font-size: calc(19px + 10 * (100vw - 320px) / 1600);
  line-height: calc(28px + 14 * (100vw - 320px) / 1600);
}
@media screen and (max-width: 767px) {
  .trouble-block .phone-number-block {
    margin-bottom: 7.5vw;
  }
}
.trouble-block .phone-number-block .location {
  line-height: 1.6;
  font-size: 14px;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
}
@media (min-width: 414px) {
  .trouble-block .phone-number-block .location {
    font-size: 18px;
    font-family: "EnBW-Din-Pro Regular", sans-serif;
  }
}
@media screen and (min-width: 768px) {
  .trouble-block .phone-number-block .location {
    font-size: 22px;
  }
}
.trouble-block .phone-number-block .phone-number {
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  line-height: 1;
  color: rgb(58, 58, 74);
  font-size: calc(24px + 24 * (100vw - 320px) / 1600);
}
.trouble-block .phone-number-block .phone-number a {
  text-decoration: none;
  color: rgb(58, 58, 74);
}
.trouble-block .phone-number-block .phone-number small {
  margin-left: 1em;
  font-family: "EnBW-Din-Pro Regular", sans-serif;
  font-size: 12px;
  color: rgb(58, 58, 74);
}
@media screen and (min-width: 768px) {
  .trouble-block .phone-number-block .phone-number small {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .trouble-block a.arrow-link {
    margin-left: -2.5vw;
    padding: 0.5em calc(5vw + 1em) 0.5em 2.5vw;
  }
}
@media screen and (min-width: 768px) {
  .trouble-block a.arrow-link {
    font-size: 17px;
  }
}

.icon-blocks {
  display: flex;
  width: calc(100% + 10vw);
  margin-left: -5vw;
  padding: 0;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .icon-blocks {
    padding: 0 5vw;
    margin-left: 0;
    width: calc(100% - 5vw);
    margin-left: -2.5vw;
  }
}
.icon-blocks .icon-block {
  display: grid;
  width: 100%;
  margin-bottom: 3em;
  grid-template-columns: 5vw 10vw 1fr 5vw 5vw;
  grid-template-rows: 15vw 1fr 4em;
}
@media screen and (min-width: 768px) {
  .icon-blocks .icon-block {
    width: calc(50% - 1.25vw);
  }
}
@media screen and (min-width: 1024px) {
  .icon-blocks .icon-block {
    width: calc(33.333% - 3.3333vw);
    margin-bottom: 5vw;
    grid-template-columns: 2.5vw 2.5vw 1fr 2.5vw;
    grid-template-rows: 13vw 1fr 3em;
  }
}
@media screen and (min-width: 1280px) {
  .icon-blocks .icon-block {
    grid-template-rows: 10vw 1fr 3em;
  }
}
.icon-blocks .icon-block .icon {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  background: no-repeat center center/contain;
  grid-column: 1/3;
  grid-row: 1;
  align-self: center;
}
.icon-blocks .icon-block > h4, .icon-blocks .icon-block > .headline-4 {
  margin-left: 0.5em;
  grid-column: 3;
  grid-row: 1;
  align-self: center;
}
.icon-blocks .icon-block .text-wrapper {
  grid-column: 2/4;
  grid-row: 2;
}
.icon-blocks .icon-block .link-wrapper {
  grid-column: 2/4;
  grid-row: 3;
  align-self: end;
}

.four-blocks {
  display: flex;
  width: calc(100% + 10vw);
  margin-left: -5vw;
  padding: 0;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .four-blocks {
    padding: 0 5vw;
    margin-left: 0;
    width: calc(100% - 5vw);
    margin-left: -2.5vw;
  }
}
.four-blocks .simple-block {
  flex: 0 1 100%;
  margin: 0 2.5vw 3em;
}
@media screen and (min-width: 768px) {
  .four-blocks .simple-block {
    flex: 0 1 calc(50% - 5vw);
  }
}
@media screen and (min-width: 1024px) {
  .four-blocks .simple-block {
    flex: 0 1 calc(25% - 5vw);
    margin-bottom: 5vw;
  }
}
.four-blocks .simple-block .link-wrapper {
  margin-top: 1em;
}

.table-wrapper {
  width: 80vw;
  overflow-x: scroll;
  margin-top: 4em;
  padding-bottom: 2em;
}
@media screen and (min-width: 768px) {
  .table-wrapper {
    width: 70vw;
  }
}
@media screen and (min-width: 1024px) {
  .table-wrapper {
    width: 60vw;
  }
}
@media screen and (min-width: 1440px) {
  .table-wrapper {
    width: 50vw;
  }
}
@media screen and (min-width: 2560px) {
  .table-wrapper {
    width: 40vw;
  }
}
@media screen and (min-width: 768px) {
  .wide .table-wrapper {
    width: 90vw;
  }
}
@media screen and (min-width: 1920px) {
  .wide .table-wrapper {
    width: 80vw;
  }
}
.table-wrapper::-webkit-scrollbar {
  -webkit-appearance: none;
  height: 8px;
}
.table-wrapper::-webkit-scrollbar-thumb {
  background-color: rgb(254, 204, 0);
}
.table-wrapper table th,
.table-wrapper table td {
  padding: 11px 36px;
  white-space: nowrap;
}
.table-wrapper table tbody tr:nth-of-type(2n + 1) {
  background-color: #ececec;
}

.fault-message {
  background-color: rgb(77, 77, 96);
  color: white;
  padding: 1em 0;
  display: grid;
  min-height: 3rem;
  grid-template-rows: auto auto;
  grid-template-columns: 5vw 20vw 70vw 5vw;
}
@media (min-width: 414px) {
  .fault-message {
    grid-template-rows: none;
    grid-template-columns: 5vw 10vw 20vw 5vw 55vw 5vw;
  }
}
@media (min-width: 1024px) {
  .fault-message {
    grid-template-columns: 5vw 5vw 20vw 5vw 60vw 5vw;
  }
}
.fault-message__icon {
  background: url("../images/icn_warning_yellow.svg") no-repeat left center/auto 100%;
  background-size: 50px;
  grid-column: 2;
}
.fault-message__title {
  grid-column: 3;
  align-self: center;
  font-size: calc(16px + 10 * (100vw - 320px) / 1600);
  line-height: calc(22px + 10 * (100vw - 320px) / 1600);
}
.fault-message__message {
  grid-column: 2/4;
  grid-row: 2;
  padding-top: 1em;
}
@media (min-width: 414px) {
  .fault-message__message {
    grid-column: 5;
    grid-row: unset;
    padding-top: 0;
  }
}
.fault-message__message a {
  color: white;
}
.fault-message__message a:hover {
  text-decoration: none;
}

.nsw-modal {
  display: block;
  position: fixed;
  z-index: 8;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(155, 155, 155, 0.4);
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
}

.nsw-modal--hidden {
  display: none;
}

.nsw-modal__content {
  width: 100%;
  height: 100%;
}

.nsw-modal__close {
  position: fixed;
  z-index: 9;
  top: 50px;
  right: 5vw;
  padding: 0.8em 2em 0.8em 3.3em;
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  color: rgb(255, 255, 255);
  border: 0;
  border-radius: 1;
  border-radius: 2em;
  outline: none;
  background: rgb(58, 58, 74) url("../images/icn_close_white.svg") no-repeat 1.5em center/auto 40%;
}
@media (min-width: 1024px) {
  .nsw-modal__close {
    right: 50%;
    margin-right: -450px;
  }
}
@media screen and (max-height: 1000px) {
  .nsw-modal__close {
    top: 20px;
  }
}
.nsw-modal__close:hover {
  color: rgb(58, 58, 74);
  background: rgb(254, 204, 0) url("../images/icn_close_black.svg") no-repeat 1.5em center/auto 40%;
}

.form__search {
  display: flex;
  position: relative;
  width: 100%;
  width: calc(100% + 10vw);
  max-width: 504px;
  margin-left: -5vw;
  margin-right: -5vw;
}
@media (min-width: 1024px) {
  .form__search {
    width: calc(100% + 5vw);
    margin-left: -2.5vw;
    margin-right: -2.5vw;
  }
}
.form__search.form__search--mobile-navigation {
  margin-bottom: 2.5vw;
}

.form__search .form__search-label {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.form__search-input {
  width: 100%;
  padding: 15px 2.5;
  border-radius: 26px;
  -webkit-appearance: none;
  padding-left: 5vw;
  margin-left: 0;
  margin-right: 0;
}
@media (min-width: 1024px) {
  .form__search-input {
    padding-left: 2.5vw;
  }
}
.form__search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  position: absolute;
  top: 18px;
  right: 60px;
  display: block;
  width: 16px;
  height: 16px;
  color: #000;
  background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxMiAxMiIgY2xhc3M9InN2Zy1jcm9zcyI+PGxpbmUgc3Ryb2tlPSIjOUM5Q0E1IiB4MT0iMS44IiB4Mj0iMTAuMiIgeTE9IjEwLjIiIHkyPSIxLjgiLz48bGluZSBzdHJva2U9IiM5QzlDQTUiIHgxPSIxMC4yIiB4Mj0iMS44IiB5MT0iMTAuMiIgeTI9IjEuOCIvPjwvc3ZnPg==) center center no-repeat;
  background-size: 14px;
}
.form__search-input::-webkit-search-cancel-button:hover {
  cursor: pointer;
}

.form__search .form__search-button {
  position: absolute;
  right: 10px;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  border: none;
  background-color: transparent;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  user-select: none;
  width: 56px;
  height: 52px;
  padding: 0;
}
.form__search .form__search-button:focus {
  outline: none;
}
.form__search .form__search-button .svg-lens {
  width: 26px;
  height: 26px;
  stroke: #9C9CA5;
}

.searchresult__stats {
  margin-top: 30px;
}
.searchresult__stats p {
  font-size: 16px;
  line-height: 25px;
  color: #666666;
}

.searchresult.cards {
  width: calc(100% + 5vw);
  margin-left: -2.5vw;
  margin-right: -2.5vw;
  padding-right: 0;
}
.searchresult.cards .card-wrapper {
  flex-wrap: wrap;
}

.searchresult .searchresult__card.card {
  box-sizing: border-box;
  display: block;
  width: calc(100% + 10vw);
  margin-left: -5vw;
  margin-right: -5vw;
  margin-bottom: 2.5vw;
  padding: 5vw;
  border-radius: 8px;
  border-bottom: 0;
  box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.13);
  text-decoration: none;
  transition: box-shadow ease 0.25s, opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.7s, transform 0.5s cubic-bezier(0, 0.5, 0.5, 1) 0.7s, -webkit-transform 0.5s cubic-bezier(0, 0.5, 0.5, 1) 0.7s;
}
.searchresult .searchresult__card.card:hover {
  background-color: #fff;
  color: #3a3a4a;
  text-shadow: none;
  box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.25);
}
@media (min-width: 1024px) {
  .searchresult .searchresult__card.card {
    padding: 2.5vw;
    width: calc(100% + 5vw);
    margin-left: -2.5vw;
    margin-right: -2.5vw;
  }
}
.searchresult .searchresult__card.card.animate {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}
.searchresult .searchresult__card.card .searchresult__link {
  color: rgb(164, 195, 0);
}

.dwm-cb-overlay {
  font-size: 14px;
  line-height: 1.4;
}

.m_cookie-banner__col-toggle {
  margin-top: 0.1em;
}

.m_cookie-banner__button-individual {
  font-family: "EnBW-Din-Pro Medium", sans-serif;
  font-size: 17px;
  line-height: 1;
  padding: 16px 36px;
  cursor: pointer;
  text-decoration: none;
  color: white;
  border: 2px solid transparent;
  border-radius: 26px;
  outline: none;
  background-color: rgb(254, 204, 0);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.18);
}
.m_cookie-banner__button-individual:focus {
  border: 2px solid #c7a000;
}

.m_cookie-banner__button-individual:focus,
.m_cookie-banner__button-individual:hover {
  background-color: #00535f;
  color: white;
}

.preheadline {
  font-size: calc(19px + 10 * (100vw - 320px) / 1600);
  line-height: calc(28px + 14 * (100vw - 320px) / 1600);
  margin-bottom: 0.2em;
  color: rgb(58, 58, 74);
}
.preheadline + * {
  margin-top: 0;
}
.green-background .preheadline {
  color: rgb(255, 255, 255);
}

.table-of-contents {
  display: grid;
  grid-template-columns: 10vw 1fr 10vw;
}
.table-of-contents nav {
  grid-column: 2;
}
.table-of-contents ol {
  display: grid;
  grid-column-gap: 2rem;
  grid-row-gap: 1rem;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 600px) {
  .table-of-contents ol {
    grid-template-columns: repeat(2, minmax(200px, 280px));
  }
}
@media screen and (min-width: 900px) {
  .table-of-contents ol {
    grid-template-columns: repeat(3, minmax(200px, 280px));
  }
}
.table-of-contents ol > li {
  display: flex;
  align-content: stretch;
  align-items: stretch;
  flex-wrap: wrap;
  padding: 0;
  margin: 0;
}
.table-of-contents ol > li:before {
  display: none;
}
.table-of-contents img {
  max-width: 50px;
  height: auto;
  margin-right: 1em;
}
.table-of-contents a {
  padding: 0.5rem 0.8rem;
  text-decoration: none;
  font-weight: bold;
  display: flex;
  align-items: center;
  border-radius: 5px;
  box-shadow: 0 3px 11px 0 rgba(0, 0, 0, 0.13);
  transition: box-shadow ease 0.25s, border-color ease 0.25s;
  border: 3px solid rgb(255, 255, 255);
  background: rgb(255, 255, 255);
  width: 100%;
}
.table-of-contents a:hover {
  box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.25);
  border-bottom-color: rgb(254, 204, 0);
}

.page-rating {
  padding: 2rem;
  text-align: center;
}
.page-rating h2 {
  font-size: calc(19px + 10 * (100vw - 320px) / 1600);
  line-height: calc(28px + 14 * (100vw - 320px) / 1600);
  margin-bottom: 0;
}
.page-rating p {
  line-height: 1.5;
}
.page-rating__question {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.page-rating__comment-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.page-rating__comment-form textarea {
  flex: 1 1 100%;
  border-radius: 5px;
  margin-top: 0.5rem;
  padding: 0.5rem;
}
.page-rating__submit-comment-wrap {
  display: flex;
  justify-content: flex-end;
  flex: 1;
}
.page-rating__submit-comment {
  color: white;
  margin-top: 1rem;
  background-color: rgb(164, 195, 0) !important;
  border-radius: 3px;
  padding: 0.5rem 0.8rem;
}
.page-rating footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.page-rating button {
  border: 0;
  background: none;
  cursor: pointer;
}

.faq {
  gap: 1rem;
}
.faq__item {
  background-color: rgb(244, 247, 228);
  border-radius: 0.5rem;
  overflow: hidden;
  grid-column: 2;
}
.faq__item label {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  padding: 1rem 1.2rem;
  align-items: center;
}
.faq__item summary {
  display: none;
  padding: 1rem 1.2rem;
}
.faq__item input {
  display: none;
}
.faq__item svg {
  transition: transform 0.15s ease-in;
  transform: rotate(0deg);
}
.faq__item figure {
  margin: 0;
  flex: 1 1 30%;
}
.faq__item figure img {
  width: 100%;
  height: auto;
  display: block;
}
.faq__item input:checked ~ header {
  color: white;
  background-color: rgb(164, 195, 0);
}
.faq__item input:checked ~ header svg {
  color: rgb(254, 204, 0);
  transform: rotate(180deg);
}
.faq__item input:checked ~ summary {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.faq__item input:checked ~ summary.faq__item__image-orientation--left, .faq__item input:checked ~ summary.faq__item__image-orientation--right {
  flex-direction: row;
}
.faq__item input:checked ~ summary.faq__item__image-orientation--right {
  flex-direction: row-reverse;
}
.faq__item input:checked ~ summary.faq__item__image-orientation--bottom {
  flex-direction: column-reverse;
}
.faq__item__text-wrapper {
  flex: 1 1 70%;
}

.js-loading .animate,
.js-loading .content-wrapper {
  opacity: 0;
  transition-duration: 0s;
}

.animate {
  opacity: 1;
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0, 0.5, 0.5, 1);
}

.animate-out {
  opacity: 0.01;
}

.animate-text {
  transform: translate3d(0, 0, 0);
}
.js-loading .animate-text, .animate-text.animate-out {
  transform: translate3d(-30px, 0, 0);
}

.animate-image {
  transform: scale(1) translateZ(0);
}
.js-loading .animate-image, .animate-image.animate-out {
  transform: scale(1.1) translateZ(0);
}

@media screen and (min-width: 768px) {
  .js-loading .section--hero.hero .two.light.cards .card:nth-child(1), .section--hero.hero .two.light.cards .card.animate-out:nth-child(1) {
    transform: translate3d(-300px, 0, 0);
    opacity: 0;
  }
  .js-loading .section--hero.hero .two.light.cards .card:nth-child(2), .section--hero.hero .two.light.cards .card.animate-out:nth-child(2) {
    transform: translate3d(-200px, 0, 0);
    opacity: 0;
  }
}

.js-loading .page-background.subpage .bg-line-1 {
  transform: rotate(-45deg) translate(100%);
}
.js-loading .page-background.subpage .bg-line-3 {
  transform: rotate(-45deg) translate(-100%);
}
.js-loading .page-background.subpage .bg-line-2,
.js-loading .page-background.subpage .bg-line-4 {
  transform: rotate(45deg) translate(100%);
}

.page-background.subpage .bg-line-1,
.page-background.subpage .bg-line-2,
.page-background.subpage .bg-line-3,
.page-background.subpage .bg-line-4 {
  transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.js-loading .page-background.home .background-image1,
.js-loading .page-background.home .background-lines1,
.js-loading .page-background.home .background-lines2 {
  opacity: 0;
  transition-duration: 0s;
}

.page-background.home .background-image1,
.page-background.home .background-lines1,
.page-background.home .background-lines2 {
  opacity: 1;
  transition: opacity 0.8s ease-in-out;
}

.section--accordion .expandable-content .animate.animate-text {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

body.disabled-animations .content-wrapper,
body.disabled-animations .animate {
  opacity: 1;
}
body.disabled-animations .animate-out {
  transform: translate3d(0, 0, 0);
}
body.disabled-animations .page-background.subpage .bg-line-1,
body.disabled-animations .page-background.subpage .bg-line-3 {
  opacity: 1;
  transition-duration: 0s;
  transform: rotate(-45deg) translate(0%);
}
body.disabled-animations .page-background.subpage .bg-line-2,
body.disabled-animations .page-background.subpage .bg-line-4 {
  opacity: 1;
  transition-duration: 0s;
  transform: rotate(45deg) translate(0%);
}

/*# sourceMappingURL=app.css.map */
