@font-face {
  font-family: univers;
  src: url('../fonts/univers/light.woff2') format('woff2'),
       url('../fonts/univers/light.woff') format('woff'),
       url('../fonts/univers/light.woff') format('truetype');
  font-weight: normal;
  font-style: normal;
  /* font-display: optional; */
}

@font-face {
  font-family: univers;
  src: url('../fonts/univers/bold.woff2') format('woff2'),
       url('../fonts/univers/bold.woff') format('woff'),
       url('../fonts/univers/bold.woff') format('truetype');
  font-weight: bold;
  font-style: normal;
  /* font-display: optional; */
}

@font-face {
  font-family: univers;
  src: url('../fonts/univers/black.woff2') format('woff2'),
       url('../fonts/univers/black.woff') format('woff'),
       url('../fonts/univers/black.woff') format('truetype');
  font-weight: 900;
  font-style: normal;
  /* font-display: optional; */
}

:root {
  --copy-color: #4d4d4d;
  --bg-color: #fff;
  --primary: #f00;
  --secondary: #ffed00;
  --dark: #4d4d4d;
  --medium: #8c9a9f;
  --lite: #fff;
  --rows: 10;
  --space: 6rem;
  --space-v: 4rem;
}

@media ( max-width: 1023px ) {
  :root {
    --space: 2rem;
    --space-v: 2.5rem;
  }
}

/*
@media ( max-width: 979px ) {
  :root { --colums: 1; }
}
*/

*,
*:before,
*:after {
  border: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/** /
* {
  outline: 1px dotted #cf0c;
}
/**/

/**/

.help-lines {
  height: 100vh;
  left: calc( ( 100vw - 116rem ) / 2 );
  max-width: 116rem;
  pointer-events: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.help-lines > div {
  background-color: #0001;
  height: 100vh;
  left: 0;
  position: absolute;
  top: 0;
  width: var(--space);
}

.help-lines > div:nth-of-type(1) { left: -6rem; }
.help-lines > div:nth-of-type(2) { left: 24.5rem; }
.help-lines > div:nth-of-type(3) { left: 55rem; }
.help-lines > div:nth-of-type(4) { left: 85.5rem; }
.help-lines > div:nth-of-type(5) { left: 116rem; }

.help-lines > span {
  background-color: #0001;
  display: block;
  height: 4rem;
  left: 0;
  position: absolute;
  right: 0;
  top: calc( 50vh - 2rem );
  width: 100%;
  z-index: 101;
}

/**/

html {
  font-size: 62.5%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  letter-spacing: 0.03em;
  line-height: 1.333em;
  height: 100%;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  width: 100%;
}

body {
  background-color: var(--bg-color);
  color: var(--copy-color);
  font: normal 1.6rem/2.6rem univers, arial, sans-serif;
  font-feature-settings: 'kern';
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  min-height: 100%;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

@media ( max-width: 639px ) {
  body {
    font-size: 1.3rem;
    line-height: 2rem;
  }
}

h1,
h2,
h3,
ul,
p {
  margin-bottom: 2rem;
}

h1,
h2 {
  color: var(--dark);
  font-size: 2.7rem;
  line-height: 3.4rem;
  padding-left: 3rem;
  position: relative;
  text-transform: uppercase;
  margin-bottom: 5rem;
}

@media ( max-width: 639px ) {
  h1,
  h2 {
    font-size: 2.4rem;
    line-height: 2.6rem;
    margin-bottom: 3rem;
  }
}

h1:before,
h2:before {
  background-color: var(--secondary);
  content: '';
  height: calc( 100% + 1.5rem );
  left: 0;
  position: absolute;
  bottom: .7rem;
  width: 1rem;
}

.text-large {
  font-size: 2.1rem;
  line-height: 3.2rem;
}

.text-xlarge,
h3 {
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 3.2rem;
}

ul {
  list-style-type: none;
}

img {
  max-width: 100%;
}

svg {
  max-height: 100%;
  max-width: 100%;
}

footer,
main {
  margin: 0 auto 4rem;
  max-width: 128rem;
  padding: 0 var(--space);
}

main ul {
  list-style-type: none;
  /* padding-left: 2.4rem; */
}

main ul li {
  /* list-style-position: inside;*/
  text-indent: 1.6rem;
  position: relative
}

main ul li:before {
  background-image: url(../img/ui/pfeil-unten-red.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1.3rem;
  color: var(--primary);
  content: '';
  display: block;
  height: 1.3rem;
  left: -.2rem;
  position: absolute;
  top: .5rem;
  transform: rotate(-90deg);
  width: 1.3rem;
}

main ol {
  padding-left: 2.4rem;
}

main ol li {
  /* list-style-position: inside; */
}

hr {
  border-bottom: .1rem solid var(--medium);
  margin: 0 auto 4rem;
  max-width: 116rem;
  /* width: calc( 100% - ( 2 * var(--space) ) ); */
}

.background-dark hr {
  border-bottom: .1rem solid var(--lite);
}

hr.color {
  border-bottom: .1rem solid var(--primary);
}

.background-dark hr.color {
  border-bottom: .1rem solid var(--secondary);
}

a {
  color: var(--primary);
  /* font-weight: bold; */
  text-decoration: none;
}

.background-dark a {
  color: var(--secondary);
}

a.col--type-card {
  color: var(--copy-color);
}

.background-dark a.col--type-card {
  color: var(--bg-color);
}

#logo {
  display: block;
  width: 18.5rem
}

/* PAGE HEAD */

#page-head {
  /* border-bottom: .1rem solid var(--medium); */
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 128rem;
  position: relative;
}

#page-head:after {
  border-bottom: .1rem solid var(--medium);
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  width: 100vw;
  z-index: -1;
}

@media ( min-width: 1281px ) {
  #page-head {
    border-left: .1rem solid var(--medium);
  }
  
  /*
  #page-head:before {
    border-bottom: .1rem solid var(--medium);
    content: '';
    display: block;
    height: 4rem;
    right: calc( ( 100vw - 128rem ) / -2 );
    position: absolute;
    width: 50vw;
    z-index: -1;
  }
  */
  
  #page-head:after {
    left: calc( ( 100vw - 128rem ) / -2 );
  }
}

#nav-toggle,
[for="nav-toggle"] {
  display: none;
}

[for="nav-toggle"] i:last-of-type {
  display: none;
}

#header--nav-toggle {
  width: 33.33%;
}

@media ( max-width: 640px ) {
  #header--nav-toggle {
    width: 100%;
  }
}

@media ( max-width: 960px ) {
  [for="nav-toggle"] {
    color: #fff;
    cursor: pointer;
    font-size: 2.4rem;
    line-height: 4rem;
    display: inline-block;
    margin-left: var(--space);
    user-select: none;
    -webkit-user-select: none;
  }
  
  [for="nav-toggle"] i {
    text-align: center;
    width: 2.1rem;
  }
  
  #nav-toggle:checked ~ #page-wrapper [for="nav-toggle"] i:last-of-type {
    display: inline-block;
  }

  #nav-toggle:checked ~ #page-wrapper [for="nav-toggle"] i:first-of-type {
    display: none;
  }
  
  #header--nav-toggle {
    background-color: var(--medium);
  }
}

.small-bar {
  background-color: var(--medium);
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  height: 4rem;
  line-height: 4rem;
  padding-left: 3rem;
  text-decoration: none;
  width: 24.975%;
  text-align:center;
}

.small-bar img {
  height: 2rem;
  margin-right: .5rem;
  vertical-align: text-bottom;
}

@media ( max-width: 640px ) {
  .small-bar {
    display: none;
  }
}

a#header--tel:hover {
  color: var(--secondary);
}

#header--social-media {
  border-bottom: .1rem solid var(--medium);
  border-right: .1rem solid var(--medium);
  height: 4rem;
  line-height: 4rem; 
  text-align: center;
  width: 16.65%;
}

@media ( max-width: 1280px ) {
  #header--social-media {
    border-right: 0;
  }
}

@media ( max-width: 640px ) {
  #header--social-media {
    border: 0;
    position: absolute;
    right: 0;
    top: 7.5rem;
  }
}

#header--social-media img {
  height: 1.6rem;
  vertical-align: text-bottom;
}

#logo {
  align-items: center;
  display: flex;
  height: 14rem;
  flex-direction: column;
  justify-content: center;
  width: 33.33%;
}

#logo img {
  width: 20.5rem;
}

@media ( max-width: 640px ) {
  #logo {
    border-bottom: .1rem solid var(--medium);
    flex-direction: row;
    justify-content: flex-start;
    padding-left: var(--space);
    width: 100%;
  }
}

.header-cta {
  border-right: .1rem solid var(--medium);
  display: flex;
  flex-direction: column;
  width: 16.65%;
}

.big-cta {
  font-size: 1.4rem;
  justify-content: center;
  height: 14rem;
  text-align: center;
  text-decoration: none;
}

@media ( max-width: 1280px ) {
  #header--query-now {
    border-right: 0;
  }
}

#header--contact {
  border-left: .1rem solid var(--medium);
}

@media ( max-width: 640px ) {
  #header--contact {
    border-left: 0;
  }
}

.big-cta img {
  height: 4.2rem;
  transition: transform .15s ease-in-out;
}

.big-cta:hover img {
  transform: scale(1.1);
}

.big-cta span {
  color: var(--dark);
  display: block;
  margin-top: .8rem;
}

.big-cta:hover span {
  color: var(--primary);
}

@media ( max-width: 640px ) {
  .big-cta {
    width: 25%;
  }
}

/* NAVIGATION */
section.nav-wrapper nav input,
section.nav-wrapper nav label,
section.nav-wrapper {
  display: none;
}

/* SONDERBEHANDLUNG STELLENANGEBOTE 230124 */

@media ( min-width: 959px ) {
  li.nav--stellenangebote-oldenburg ul {
    display: none !important;
  }
}

@media ( max-width: 960px ) {
  li.nav--stellenangebote-oldenburg ul li:not(.mobile-only) {
    display: none !important;
  }
}

/* ENDE SONDERBEHANDLUNG STELLENANGEBOTE 230124 */

@media ( max-width: 960px ) {
  #nav-toggle:checked ~ #page-wrapper section.nav-wrapper {
    display: block;
  }
  
  section.nav-wrapper {
    background-color: var(--medium);
    font-size: 2rem;
    margin: 0 auto;
    min-width: 50%;
    padding: 0 var(--space);
    position: absolute;
    top: 4rem;
    z-index: 10;
  }
  
  section.nav-wrapper nav a {
    color: #fff;
    display: block;
    font-weight: normal;
    height: 4.5rem;
    line-height: 4.5rem;
    text-decoration: none;
  }
  
  section.nav-wrapper nav label {
    display: inline-block;
  }
  
  section.nav-wrapper nav > ul > li {
    padding-left: 3rem;
    position: relative;
  }
  
  section.nav-wrapper nav > ul > li > ul {
    display: none;
    margin-bottom: 0;
  }
  
  section.nav-wrapper nav > ul > li input:checked ~ ul {
    display: block;
  }
  
  section.nav-wrapper nav label {
    cursor: pointer;
    left: 0;
    position: absolute;
    top: 1rem;
    user-select: none;
    -webkit-user-select: none;
    width: 100%;
  }
  
  section.nav-wrapper nav label img {
    transition: transform .15s ease-in-out;
  }
  
  section.nav-wrapper nav input:checked ~ label img {
    transform: rotate(-180deg);
  }
  
  section.nav-wrapper nav > ul > li > ul > li {
    padding-left: 2rem;
  }
  
  section.nav-wrapper nav > ul > li.nav--home,
  section.nav-wrapper nav > ul > li.nav--hilfe,
  section.nav-wrapper nav > ul > li:nth-of-type(n+8) {
    display: none;
  }
  
  section.nav-wrapper nav a.active,
  section.nav-wrapper nav a:hover {
    color: var(--secondary);
  }
  
  section.nav-wrapper nav > ul > li:not(:nth-of-type(2)) > a {
    border-top: .1rem solid #fff;
  }
  
  section.nav-wrapper nav > ul > li > ul {
    border-top: .1rem solid #fff;
  }
}

@media ( min-width: 961px ) {
  section.nav-wrapper {
    display: block;
    font-size: 2.4rem;
    margin: 0 auto;
    max-width: 128rem;
    padding: 0 var(--space);
  }
  
  section.nav-wrapper nav {
    position: relative;
  }
  
  section.nav-wrapper nav a {
    display: inline-block;
    font-weight: normal;
    margin-left: 2rem;
    position: relative;
    text-decoration: none;
  }
  
  section.nav-wrapper nav a:before {
    content: '»';
    left: -2rem;
    position: absolute;
  }
  
  section.nav-wrapper nav ul {
    margin-bottom: 0;
  }
  
  section.nav-wrapper nav > ul {
    display: flex;
    gap: 4rem;
    position: relative;
  }
  
  section.nav-wrapper nav > ul > li {}
  
  section.nav-wrapper nav > ul > li.nav--home,
  section.nav-wrapper nav > ul > li.nav--hilfe,
  section.nav-wrapper nav > ul > li:nth-of-type(n+8) {
    display: none;
  }
  
  section.nav-wrapper nav > ul > li > a {
    border-bottom: 1rem solid transparent;
    color: var(--dark);
    height: 8rem;
    line-height: 8rem;
  }
  
  section.nav-wrapper nav > ul > li > a:hover {
    color: var(--primary);
  }
  
  section.nav-wrapper nav > ul > li > a.active {
    border-color: var(--secondary);
  }
  
  section.nav-wrapper nav > ul > li > a:hover:after {
    /* background-color: #0001; */
    bottom: -1rem;
    content: '';
    height: 3rem;
    left: -8rem;
    right: -8rem;
    position: absolute;
    z-index: 1;
  }
  
  /*
  section.nav-wrapper nav > ul > li > a.active:after {
    background-color: var(--secondary);
    bottom: 0;
    content: '';
    height: 1rem;
    left: 0;
    position: absolute;
    width: 100%;
  }
  */
  
  section.nav-wrapper nav > ul > li > ul {
    display: none;
    gap: 0 var(--space);
    flex-direction: column;
    flex-wrap: wrap;
    height: calc( ( var(--rows) * 6.1rem ) + 1rem );
    left: 0;
    padding-top: 1rem;
    position: absolute;
    right: 0;
    z-index: 1;
  }
  
  [data-rows="1"] { --rows: 1; }
  [data-rows="2"] { --rows: 2; }
  [data-rows="3"] { --rows: 3; }
  [data-rows="4"] { --rows: 4; }
  [data-rows="5"] { --rows: 5; }
  [data-rows="6"] { --rows: 6; }
  [data-rows="7"] { --rows: 7; }
  [data-rows="8"] { --rows: 8; }
  [data-rows="9"] { --rows: 9; }
  
  section.nav-wrapper nav > ul > li:hover > ul {
    display: flex;
  }
  
  section.nav-wrapper nav > ul > li > ul:after {
    background-color: #8c9a9ff6;
    content: '';
    display: block;
    height: calc( 100% + 6rem );
    left: -6rem;
    min-height: 44rem;
    position: absolute;
    right: -6rem;
    top: 0;
    z-index: -1;
  }
  
  section.nav-wrapper nav > ul > li > ul > li {
    border-bottom: .1rem solid #fff;
    width: calc( 50% - 3rem );
  }
  
  section.nav-wrapper nav > ul > li > ul > li a {
    color: #fff;
    display: inline-block;
    height: 6rem;
    line-height: 6rem;
  }
  
  section.nav-wrapper nav > ul > li > ul > li a.active,
  section.nav-wrapper nav > ul > li > ul > li a:hover {
    color: var(--secondary);
  }
}

/* HERO */

#hero {
  height: 39rem;
  line-height: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media ( max-width: 959px ) {
  #hero {
    height: 30rem;
  }
}

@media ( max-width: 639px ) {
  #hero {
    height: 25rem;
  }
}

#hero:after {
  background-color: #fffd;
  bottom: 0;
  content: '';
  display: block;
  height: 6rem;
  left: 0;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 20;
}

#hero img {
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  position: absolute;
  width: 100%;
}

.hero-wrapper {
  position: relative;
}

.hero {
  display: block;
  left: 0;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 0;
}

.hero > * {
  display: block;
  opacity: 0;
  left: 0;
  position: absolute;
  top: 0;
  transform: scale(1.1);
  transition: opacity .4s ease-in-out, transform .4s ease-in-out;
  z-index: 0;
}

.hero > *:first-of-type {
  /* opacity: 1; */
}

.hero > *.next {
  opacity: 1;
  transform: scale(1);
  z-index: 10;
}

.hero > *.selected {
  opacity: 1;
  transform: scale(1);
  z-index: 5;
}

.hero-nav-container {
  bottom: -1rem;
  position: absolute;
  right: 2rem;
  width: 8rem;
}

@media ( min-width: 700px ) {
  .hero-nav-container {
    bottom: -1.5rem;
  }
}

@media ( min-width: 1024px ) {
  .hero-nav-container {
    right: calc( ( 100vw - 1024px ) / 2 + 2rem);
    width: 20rem;
  }
}

@media ( min-width: 1160px ) {
  .hero-nav-container {
    right: calc( ( 100vw - 1160px ) / 2 + 2rem);
  }
}

.hero-nav {
  cursor: pointer;
  background-image: url(../img/ui/pfeil-unten-red.svg);
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  height: 1.8rem;
  position: absolute;
  -webkit-user-select: none;
  user-select: none;
  width: 3rem;
  /* z-index: 20; */
}

.hero-prev {
  left: 0;
  transform: rotate(90deg);
}

.hero-next {
  right: 0;
  transform: rotate(-90deg);
}

/* PAGE TITLE */

#page-title {
  background-color: var(--primary);
  color: #fff;
  display: inline-block;
  font-size: 4.3rem;
  font-weight: bold;
  line-height: 5rem;
  margin: -4rem 0 0rem calc( var(--space) * -1 );
  padding: 2rem var(--space);
  position: relative;
  text-transform: uppercase;
}

@media ( max-width: 639px ) {
  #page-title {
    font-size: 2.4rem;
    line-height: 2.6rem;
  }
}

#page-title:after {
  background-color: var(--medium);
  bottom: 0;
  content: '';
  display: block;
  height: .1rem;
  left: 0;
  position: absolute;
  right: 0;
  width: 100vw;
  z-index: -1;
}

@media ( min-width: 1281px ) {
  #page-title:after {
    left: calc( ( 100vw - 128rem ) / -2 );
  }
}

/* CONTENT */

button,
a.button {
  background-color: var(--primary);
  color: var(--lite) !important;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 3rem;
  margin: 4rem 0;
  min-height: 3rem;
  /* min-width: 20rem; */
  padding: 0 3rem;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  transition: box-shadow .15s ease-in-out;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
}

button.yellow,
a.button.yellow {
  background-color: var(--secondary);
  color: var(--copy-color) !important;
}

button.white,
a.button.white {
  background-color: var(--bg-color);
  color: var(--primary) !important;
  border: .1rem solid var(--medium);
  height: 2.8rem;
  line-height: 2.8rem;
}

button:before,
a.button:before {
  content: '» ';
}

button:hover,
a.button:hover {
  box-shadow: 0 .5rem 1.5rem #0003;
}

@media ( max-width: 1079px ) {
  button,
  a.button {
    font-size: 1.3rem;
    padding: 0 1rem;
    width: 100%;
  }
  
  .col--type-card button,
  .col--type-card a.button {
    width: calc( 100% + 3rem );
  }
}

.grid-size-3 {
  display: grid;
  grid-template-columns: repeat( 3, 1fr );
  gap: var(--space-v) var(--space);
}

.grid-size-4 {
  display: grid;
  grid-template-columns: repeat( 4, 1fr );
  gap: var(--space-v) var(--space);
}

@media ( max-width: 1023px ) {
  /* 221027
  .grid-size-3,
  .grid-size-4 {
    gap: 0;
  }
  */
  
  .grid-size-3:not(.modular-gallery),
  .grid-size-4:not(.modular-gallery) {
    /* grid-template-columns: repeat( 2, 1fr ); */
    gap: 0;
    grid-template-columns: 1fr;
  }
  
  .col--type-empty {
    display: none !important;
  }
  
  .grid-size-4 .col--type-list + .col--type-list {
    margin-top: calc( var(--space-v) * -1 );
    padding-top: 0;
  }
  
  .grid-size-4 .col--type-list + .col--type-list .list--item:first-of-type {
    border-top: 0;
  }
}

@media ( max-width: 699px ) {
  .grid-size-3:not(.modular-gallery),
  .grid-size-4:not(.modular-gallery) {
    /* display: block; 221027 test */
    /* gap: calc( var(--space) * 3 ) 0; */
    /* gap: calc( var(--space) * 3 ); */
    gap: calc( var(--space) * 3 );
    /* grid-template-columns: repeat( 1, 1fr ); */
    grid-template-columns: 1fr;
  }
  
  #section--downloads.grid-size-3.modular-row .col--type-text,
  #section--downloads.grid-size-4.modular-row .col--type-text {
    padding-top: 0;
  }
  
  .modular-gallery {
    grid-template-columns: repeat( 2, 1fr );
  }
}

@media ( max-width: 1023px ) {
  .grid-size-3.modular-row,
  .grid-size-4.modular-row {
    /* gap: 0; */
    gap: calc( var(--space) * 3 );
  }
  
  .grid-size-3.has-line,
  .grid-size-4.has-line {
    gap: 0 !important;
  }
  
  .grid-size-4 .col--type-list + .col--type-list {
    margin-top: calc( var(--space-v) * -2 );
  }
}

@media ( min-width: 1024px ) { /* LARGE */
  .grid-size-4\@large { grid-template-columns: repeat( 4, 1fr ) };
  .grid-size-3\@large { grid-template-columns: repeat( 3, 1fr ) };
  .grid-size-2\@large { grid-template-columns: repeat( 2, 1fr ) };
  .grid-size-1\@large { grid-template-columns: repeat( 1, 1fr ) };
  
}

@media ( max-width: 1023px ) { /* MEDIUM */
  .grid-size-4\@medium { grid-template-columns: repeat( 4, 1fr ) };
  .grid-size-3\@medium { grid-template-columns: repeat( 3, 1fr ) };
  .grid-size-2\@medium { grid-template-columns: repeat( 2, 1fr ) };
  .grid-size-1\@medium { grid-template-columns: repeat( 1, 1fr ) };
}

@media ( max-width: 699px ) { /* SMALL */
  .grid-size-4\@small { grid-template-columns: repeat( 4, 1fr ) };
  .grid-size-3\@small { grid-template-columns: repeat( 3, 1fr ) };
  .grid-size-2\@small { grid-template-columns: repeat( 2, 1fr ) };
  .grid-size-1\@small { grid-template-columns: repeat( 1, 1fr ) };
}

.background-wrapper {
  /* padding: 10rem 0 1rem; */
  padding: 6rem 0 1rem;
}

.page-nav h1,
.page-nav h2,
.section--intro p {
  grid-column-end: span 3;
}

@media( min-width: 1024px ) {
  .page-nav.headline-position-2 h1,
  .page-nav.headline-position-2 h2,
  .section--intro.headline-position-2 p {
    grid-column-start: 2;
  }
}

@media( min-width: 1024px ) {
  .page-nav.headline-position-3 h1,
  .page-nav.headline-position-3 h2,
  .section--intro.headline-position-3 p {
    grid-column-start: 3;
    margin-left: 3rem;
  }
}

/*
.background-wrapper > .page-nav {
  margin-bottom: 6rem;
}

section.modular + .page-nav,
section.modular + .page-nav {
  margin-top: 10rem;
}
*/

section.modular {
  /* outline: 1px dotted pink; */
  /* margin: 4rem 0 10rem; */
  /* margin: 2rem 0 10rem; */
  margin: 0;
  position: relative;
}

.stepper + .page-nav,
section.modular + section.modular,
section.modular + div:not(.section--outro) {
  margin-top: 10rem;
}

@media ( max-width: 639px ) {
  .stepper + .page-nav,
  section.modular + section.modular,
  section.modular + div:not(.section--outro) {
    margin-top: 7rem;
  }
}

/*
@media ( max-width: 639px ) {
  section.modular + section.modular {
    margin-top: 0;
  }
}
*/

section.modular-gallery {
  margin: 4rem 0 4rem;
}

.background-wrapper {
  padding: 10rem 0;
}

@media ( max-width: 639px ) {
  .background-wrapper {
    padding: 7rem 0;
  }
}


.background-dark {
  color: #fff;
  position: relative;
}

.background-dark:before {
  background-color: #c0c1c2;
  background-image: url(../img/ui/background-dark-grey.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: 0;
  content: '';
  display: block;
  left: -6rem;
  position: absolute;
  right: -6rem;
  top: 0;
  z-index: -1;
}

@media ( min-width: 1281px ) {
  .background-dark:before {
    left: calc( ( ( 100vw - 128rem ) / -2 ) - 6rem );
    right: calc( ( ( 100vw - 128rem ) / -2 ) - 6rem );
  }
}

.background-dark > .page-nav h1,
.background-dark > .page-nav h2 {
  color: #fff;
}

.background-medium {
  position: relative;
}

.background-medium:before {
  background-color: #c0c1c2;
  background-image: url(../img/ui/background-light-grey.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  bottom: 0;
  content: '';
  display: block;
  left: -6rem;
  position: absolute;
  right: -6rem;
  top: 0;
  z-index: -1;
}

@media ( min-width: 1281px ) {
  .background-medium:before {
    left: calc( ( ( 100vw - 128rem ) / -2 ) - 6rem );
    right: calc( ( ( 100vw - 128rem ) / -2 ) - 6rem );
  }
}


.col table {
  width: 100%;
}

/* CARD */

.col--type-card {
  border-bottom: .1rem solid var(--medium);
  /* border-left: .1rem solid var(--medium); */
  padding: 0;
  position: relative;
}

.background-dark .col--type-card {
  border-bottom: .1rem solid var(--bg-color);
}

.col--type-card:after {
  border-left: .1rem solid var(--medium);
  bottom: 0;
  content: '';
  height: 50%;
  left: 0;
  position: absolute;
}

.background-dark .col--type-card:after {
  border-left: .1rem solid var(--bg-color);
}

/*
.col--type-card .col--image {
  display: block;
  height: var(--card-image-height, 8.90625vw);
  position: relative;
  width: 100%;
}

@media ( min-width: 1280px ) {
  .grid-size-4 .col--type-card .col--image {
    height: 11.4rem;
  }
  
  .grid-size-4:has(div.col--span-2) .col--image {
    height: 26.1rem;
  }
  
  .grid-size-3 .col--type-card .col--image {
    height: 16.2rem;
  }
}
*/

/*

.col--type-card .col--image {
  display: block;
  height: calc( ( var(--card-image-height, 120) / 12.8 ) * 1vw );
  outline: 1px dashed yellow;
  position: relative;
  width: 100%;
}

@media ( min-width: 1280px ) {
  .col--type-card .col--image {
    height: calc( var(--card-image-height, 120) * .1rem );
  }
}

*/

.col--type-card .col--image {
  line-height: 0;
}

.col--type-card .col--image img {
  border-left: .1rem solid var(--medium);
  bottom: 0;
  height: auto !important;
  left: 0;
  /* position: absolute; */
  width: 100%;
}

.background-dark .col--type-card .col--image img {
  border-left: .1rem solid var(--bg-color);
}

.col--type-card .col--content {
  border-left: .1rem solid var(--medium);
  /* height: 100%; */
  padding: 3rem 3rem 3rem 3rem;
}

.col--type-card .col--content.has-button {
  padding-bottom: 8rem;
}

.background-dark .col--type-card .col--content {
  border-left: .1rem solid var(--bg-color);
}

.col--type-card .button-container {
  bottom: 0rem;
  left: 3rem;
  position: absolute;
}

/*
.col--type-card.col--span-2 .col--content .button-container,
.col--type-card.col--span-3 .col--content .button-container {
  margin-left: -3rem;
  text-align: center;
  width: 100%;
}
*/

.col--type-card .col--header {
  margin-bottom: 3rem;
}


.colspan-1,
.col--span-1:not(.col--type-card) {
  grid-column-end: span 1;
}

.colspan-2,
.col--span-2:not(.col--type-card) {
  grid-column-end: span 2;
}

.colspan-3,
.col--span-3:not(.col--type-card) {
  grid-column-end: span 3;
}

.colspan-4,
.col--span-4:not(.col--type-card) {
  grid-column-end: span 4;
}

@media ( max-width: 639px ) {
  .colspan-2,
  .col--span-2:not(.col--type-card) {
    grid-column-end: span 1;
  }
}

@media ( min-width: 1024px ) { /* LARGE */
  .hidden\@large { display: none !important; }
  .colspan-1\@large { grid-column-end: span 1 !important; }
  .colspan-2\@large { grid-column-end: span 2 !important; }
  .colspan-3\@large { grid-column-end: span 3 !important; }
  .colspan-4\@large { grid-column-end: span 4 !important; }
  .col.collapse-with-next\@large + .col { padding-top: 0; }
  div.collapse-with-next\@large + div { padding-top: 0; }
  div.collapse-with-next\@large  > p { margin-bottom: 0; }
}

@media ( max-width: 1023px ) { /* MEDIUM */
  .hidden\@medium { display: none !important; }
  .colspan-1\@medium { grid-column-end: span 1 !important; }
  .colspan-2\@medium { grid-column-end: span 2 !important; }
  .colspan-3\@medium { grid-column-end: span 3 !important; }
  .colspan-4\@medium { grid-column-end: span 4 !important; }
  .col.collapse-with-next\@medium + .col { padding-top: 0; }
  div.collapse-with-next\@medium + div { padding-top: 0; }
  div.collapse-with-next\@medium > p { margin-bottom: 0; }
}

@media ( max-width: 699px ) { /* SMALL */
  .hidden\@small { display: none !important; }
  .colspan-1\@small { grid-column-end: span 1 !important; }
  .colspan-2\@small { grid-column-end: span 2 !important; }
  .colspan-3\@small { grid-column-end: span 3 !important; }
  .colspan-4\@small { grid-column-end: span 4 !important; }
  .col.collapse-with-next\@small + .col { padding-top: 0; }
  div.collapse-with-next\@small + div { padding-top: 0; }
  div.collapse-with-next\@small > p { margin-bottom: 0; }
}


.image--deco {
  position: relative;
}

.card--link-icon {
  color: var(--copy-color);
  display: block;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
}

.card--link-icon:hover {
  color: var(--primary);
}

.background-dark .card--link-icon {
  color: #fff;
}

.background-dark .card--link-icon:hover {
  color: var(--secondary);
}

.card--link-icon svg {
  margin-bottom: 2rem;
}

.background-wrapper.background-lite .card--link-icon svg rect,
.background-wrapper.background-lite .card--link-icon svg polygon,
.background-wrapper.background-lite .card--link-icon svg path {
  fill: var(--primary);
}

.image--deco:after {
  background-color: #fff9;
  bottom: 0;
  content: '';
  display: block;
  height: 2rem;
  left: .1rem;
  position: absolute;
  width: calc( 100% - .1rem );
  z-index: 1;
}

.col {
  display: block;
  padding-top: 0;
  position: relative;
}

.modular-row.has-line > .col,
.modular-text.has-line > .col {
  padding-top: 5rem;
}

@media ( max-width: 767px ) {
  .modular-row.has-line > .col,
  .modular-text.has-line > .col {
    margin-top: 5rem;
    padding-top: 5rem;
  }
}

.col--type-accordion,
.col--type-iconlist,
.col--type-list,
.col--type-text {
  /* padding-top: 5rem; */
}

.modular-text.has-line > .col:before,
.has-line .col--type-accordion:before,
.has-line .col--type-iconlist:before,
.has-line .col--type-text:before {
  border-top: .1rem solid var(--medium);
  content: '';
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.background-dark .modular-text.has-line .col:before,
.background-dark .has-line .col--type-accordion:before,
.background-dark .has-line .col--type-iconlist:before,
.background-dark .has-line .col--type-text:before {
  border-top: .1rem solid var(--lite);
}

/* ACCORDION */

.col--type-accordion {
  position: relative;
}

@media( min-width: 1024px ) {
  .grid-size-4 .col--type-accordion.col--span-3:before {
    width: 66%;
  }
  
  .col--span-3 .accordion--intro {
    margin-bottom: 5rem;
    width: 66%;
  }
}

input[type=radio][id*=accordion],
input[type=checkbox][id*=accordion] {
  display: none;
  outline: 1px dotted pink;
  left: -2rem;
  position: absolute;
}

.accordion--wrapper {
  border-top: .1rem solid var(--primary);
}

.accordion--item {
  border-bottom: .1rem solid var(--primary);
  padding: 2rem 0;
}

.background-dark .accordion--wrapper {
  border-top: .1rem solid var(--lite);
}

.background-dark .accordion--item {
  border-bottom: .1rem solid var(--lite);
}

.accordion--label {
  cursor: pointer;
  display: block;
  font-size: 2.1rem;
  line-height: 3.2rem;
  position: relative;
  padding-left: 5rem;
  user-select: none;
  -webkit-user-select: none;
}

.accordion--label > img {
  left: 0;
  position: absolute;
  transition: transform .15s ease-in-out;
  top: 1rem;
}

.accordion--text {
  display: none;
  margin-top: 2rem;
}

input[type=radio][id*=accordion]:checked ~ .accordion--label > img,
input[type=checkbox][id*=accordion]:checked ~ .accordion--label > img {
  transform: rotate(-180deg);
}

input[type=radio][id*=accordion]:checked ~ .accordion--text,
input[type=checkbox][id*=accordion]:checked ~ .accordion--text {
  display: block;
}

/* LIST */

.list--item:first-of-type {
  border-top: .1rem solid var(--medium);
}

.list--item {
  border-bottom: .1rem solid var(--medium);
  padding-top: 2rem;
}

/* SWITCHER */

input[type=radio].tab--tab {
  display: none;
}

.tab--switcher {
  border-bottom: .1rem solid var(--medium);
  display: flex;
  position: relative;
}

@media ( max-width: 699px ) {
  .tab--switcher {
    border-bottom: 0;
    display: grid;
    grid-template-columns: repeat( 2, 1fr );
  }
}

.tab--switch {
  border-right: .1rem solid var(--medium);
  cursor: pointer;
  padding: 2rem 3rem;
}

.tab--switch:hover {
  color: var(--primary);
}

.tab--switch:first-of-type {
  padding-left: 4rem;
  position: relative;
}

.tab--switch:first-of-type:before {
  background-color: var(--secondary);
  bottom: 0;
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 1rem;
}

.tab--switch h3 {
  margin-bottom: 0;
}

@media ( max-width: 699px ) {
  .tab--switch {
    border-bottom: .1rem solid var(--medium);
    padding: 1rem 3rem;
  }
  
  .tab--switch h3 {
    font-size: 1.6rem;
  }
  
  .tab--switch:nth-of-type(odd) {
    border-left: .1rem solid var(--medium);
  }

  .tab--switch:first-of-type {
    border-left: 0;
    padding-left: 3rem;
  }
  
}

.background-dark .tab--switcher,
.background-dark .tab--switch {
  border-color: var(--lite);
}

.tab--contents > div {
  display: none;
  padding: 5rem 0;
}

input[type=radio].tab--tab:nth-of-type(1):checked ~ .tab--switcher > label:nth-of-type(1),
input[type=radio].tab--tab:nth-of-type(2):checked ~ .tab--switcher > label:nth-of-type(2),
input[type=radio].tab--tab:nth-of-type(3):checked ~ .tab--switcher > label:nth-of-type(3),
input[type=radio].tab--tab:nth-of-type(4):checked ~ .tab--switcher > label:nth-of-type(4),
input[type=radio].tab--tab:nth-of-type(5):checked ~ .tab--switcher > label:nth-of-type(5),
input[type=radio].tab--tab:nth-of-type(6):checked ~ .tab--switcher > label:nth-of-type(6) {
  color: var(--primary);
}

input[type=radio].tab--tab:nth-of-type(1):checked ~ .tab--contents > div:nth-of-type(1),
input[type=radio].tab--tab:nth-of-type(2):checked ~ .tab--contents > div:nth-of-type(2),
input[type=radio].tab--tab:nth-of-type(3):checked ~ .tab--contents > div:nth-of-type(3),
input[type=radio].tab--tab:nth-of-type(4):checked ~ .tab--contents > div:nth-of-type(4),
input[type=radio].tab--tab:nth-of-type(5):checked ~ .tab--contents > div:nth-of-type(5),
input[type=radio].tab--tab:nth-of-type(6):checked ~ .tab--contents > div:nth-of-type(6) {
  display: grid;
}

/* ICONLIST */

.col--type-iconlist {
  position: relative;
}

.col--type-iconlist p.iconlist--header {
  display: block;
  min-height: 4rem;
  padding-left: 6rem;
}

.iconlist--image-wrapper {
  align-items: center;
  display: flex;
  height: 4.5rem;
  justify-content: center;
  left: 0;
  position: absolute;
  width: 4rem;
}

.iconlist--image-wrapper svg {
  object-fit: cover;
  object-position: center;
}

.background-wrapper.background-lite .iconlist--image-wrapper svg rect,
.background-wrapper.background-lite .iconlist--image-wrapper svg polygon,
.background-wrapper.background-lite .iconlist--image-wrapper svg path {
  fill: var(--primary) !important;
}

@media( max-width: 679px ) {
  .col--type-iconlist + .col--type-iconlist {
    margin-top: -6rem;
  }
}

/* TEXT */

.col--type-text.direction--right {
  text-align: right;
}

/* STEPPER */


section.is-slider {
  display: flex;
  gap: 6rem;
  /* margin: 0; */
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  position: relative;
  scroll-snap-type: x mandatory;
  scrollbar-color: transparent transparent;
  scrollbar-height: 0;
  scrollbar-width: none;
}

section.grid-size-4.is-slider {
  /*width: 85.5rem;*/
  width: calc( ( ( ( 100% - ( 3 * var(--space) ) ) / 4 ) * 3 ) + ( 2 * var(--space) ) );
}

section.grid-size-3.is-slider {
  width: calc( ( ( ( 100% - ( 2 * var(--space) ) ) / 3 ) * 2 ) + ( var(--space) ) );
}

section.is-slider::-webkit-scrollbar {
  display: none;
}

section.is-slider > * {
  flex: 0 0 24.5rem;
  /* margin: 0 3rem; */
  /* outline: 1px dashed pink; */
  scroll-snap-align: start;
}

/*
section.is-slider > *:first-of-type { margin-left: 0; }
section.is-slider > *:last-of-type { margin-right: 0; }
*/

section.is-slider > * img {
  /* outline: 1px dotted blue; */
}

section.grid-size-4.is-slider > *:not(.dummy) {
  flex: 0 0 calc( ( 100% - ( 2 * var(--space) ) ) / 3 );
}

/*
section.grid-size-4.is-slider > *.col--span-2 {
  flex: 0 0 calc( ( 100% - ( 2 * var(--space) ) ) / 3 * 2 + var(--space) );
}
*/


section.grid-size-3.is-slider > *:not(.dummy) {
  flex: 0 0 calc( ( 100% - var(--space) ) / 2 );
}

@media ( max-width: 899px ) {
  section.grid-size-4.is-slider {
    width: calc( ( ( ( 100% - ( 2 * var(--space) ) ) / 3 ) * 2 ) + ( var(--space) ) );
  }
  section.grid-size-4.is-slider > *:not(.dummy) {
    flex: 0 0 calc( ( 100% - var(--space) ) / 2 );
  }
  
  section.grid-size-3.is-slider {
    width: calc( ( ( 100% - ( var(--space) ) ) / 2 ) + ( var(--space) ) );
  }
  
  section.grid-size-3.is-slider > *:not(.dummy) {
    flex: 0 0 100%;
  }
}

@media ( max-width: 767px ) {
  section.grid-size-4.is-slider {
    width: calc( ( ( 100% - ( var(--space) ) ) / 2 ) + ( var(--space) ) );
  }
  
  section.grid-size-4.is-slider > *:not(.dummy) {
    flex: 0 0 100%;
  }
}

@media( max-width: 639px ) {
  section.modular.is-slider {
    max-width: 40rem;
    width: calc( 100vw - 12rem );
  }
}

.stepper {
  /* padding-bottom: 4rem; */
  position: relative;
}

.steppercontrols {
  display: block;
  height: 100%;
  /* outline: 1px dotted pink; */
  position: absolute;
  right: 0;
  top: 0;
  width: 24.5rem;
}

.steppercontrols span {
  display: block;
}

.steppercontrols .prev,
.steppercontrols .next {
  background-image: url(../img/ui/pfeil-gross-rechts-red.svg);
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  display: block;
  height: 100%;
  position: absolute;
  transition: opacity .15s ease-in-out; //, transform .15s ease-in-out;
  top: 0;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  z-index: 10;
}

@media ( min-width: 768px ) {
  .steppercontrols .prev,
  .steppercontrols .next {
    height: 16rem;
    top: 16rem;
    width: 50%;
  }
  
  .steppercontrols .prev {
    left: -9rem;
    transform: rotate(180deg);
  }
  
  .steppercontrols .next {
    right: 1rem;
  }
}

@media ( max-width: 767px ) {
  .steppercontrols {
    width: 12rem;
  }
  
  .steppercontrols span {
    display: block;
  }
  
  .steppercontrols .prev,
  .steppercontrols .next {
    background-position: center right;
    background-size: auto 18rem;
  }
}

.steppercontrols .inactive {
    opacity: .1;
    cursor: default;
}

.background-dark .steppercontrols .next {
  background-image: url(../img/ui/pfeil-gross-rechts-yellow.svg);
}

/* GALLERY */

.modular-gallery:after,
.modular-gallery:before {
  background-image: url(../img/ui/pfeil-unten-red.svg);
  background-repeat: no-repeat;
  content: '';
  height: 2.4rem;
  position: absolute;
  width: 2.4rem;
}

.modular-gallery:before {
  left: -1.1rem;
  top: -4rem;
  transform: rotate(135deg)
}

.modular-gallery:after {
  bottom: -4rem;
  right: -1.1rem;
  transform: rotate(-45deg)
}

/* FORM */

form#dus-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem var(--space);
}

@media ( max-width: 699px ) {
  form#dus-form {
    display: block;
  }
}

form#dus-form > div:nth-of-type(3) {
  grid-column-end: span 2;
}

form#dus-form > div:last-of-type {
  grid-column-start: 2;
}

form#dus-form .medium {
  display: inline-block;
  width: calc( 74.5% - 1rem );
}

form#dus-form .small {
  display: inline-block;
  width: calc( 24.5% - 1rem );
}

form#dus-form .left {}

form#dus-form .right {
  float: right;
}

form#dus-form select,
form#dus-form textarea,
form#dus-form input[type=text] {
  background-color: var(--bg-color);
  border: .1rem solid var(--medium);
  font: normal 1.6rem/2.4rem univers, arial, sans-serif;
  margin-bottom: 2rem;
  padding: 1.9rem;
  width: 100%;
}

form#dus-form select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-image: url(../img/ui/pfeil-unten-grey.svg);
  background-position: calc( 100% - 2rem ) center;
  background-repeat: no-repeat;
  border-radius: 0;
}

form#dus-form textarea {
  height: 31.6rem;
  margin-bottom: 1.3rem;
}

form#dus-form label {
  display: none;
}

form#dus-form .privacy-wrapper .form-input-wrapper {
  position: relative;
}

form#dus-form .privacy-wrapper .form-input-wrapper input {
  left: 0;
  position: absolute;
  top: .5rem;
}

form#dus-form .privacy-wrapper .form-input-wrapper label {
  display: block !important;
  padding-left: 2rem;
}


form#dus-form button[type=submit] {
  background-color: var(--secondary);
  color: var(--copy-color) !important;
  cursor: pointer;
  font: bold 1.6rem/2.4rem univers, arial, sans-serif;
  padding: 1rem 2rem;
  text-transform: uppercase;
}

@media( max-width: 699px ) {
  form#dus-form button[type=submit] {
    margin-top: 5rem;
  }
}

form#dus-form button[type=submit]:before {
  content: '» ';
}

/* FOOTER */

footer {
  display: grid;
  gap: 8rem 4rem;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
    "headline  headline  headline"
    "mail      tel       social-media"
    "address   map       meta-nav"
    "info      map       meta-nav";
  margin-top: 10rem;
  width: 100%;
}

@media ( max-width: 640px ) {
  footer {
    gap: 3rem;
    grid-template-columns: 1fr;
    grid-template-areas:
      "headline"
      "mail"
      "tel"
      "social-media"
      "address"
      "info"
      "map"
      "meta-nav";
  }
}

footer h2 {
  grid-area: headline;
}

#footer--mail {
  font-weight: normal;
  grid-area: mail;
}

#footer--tel {
  font-weight: normal;
  grid-area: tel;
}

#footer--social-media {
  grid-area: social-media;
}

#footer--social-media div {
  height: 4.2rem;
}

#footer--social-media a {
  display: inline-block;
}

#footer--address {
  grid-area: address;
}

@media ( min-width: 1080px ) {
  #footer--address {
    font-size: 2.1rem;
    line-height: 3.2rem;
  }
}

#footer--map {
  grid-area: map;
  text-align: center;
}

#footer--meta-nav {
  grid-area: meta-nav;
  font-size: 1.4rem;
  text-align: right;
}

#footer--meta-nav a {
  color: var(--primary);
  text-decoration: none;
}

#footer--meta-nav > ul > li.nav--hilfe,
#footer--meta-nav > ul > li:nth-last-of-type(n+4) {
  display: none;
}

#footer--meta-nav > ul > li.nav--impressum,
#footer--meta-nav > ul > li.nav--datenschutz,
#footer--meta-nav > ul > li.manage-privacy-settings {
  display: block;
}

#footer--info {
  grid-area: info;
}

#footer--info p {
  font-size: 1.4rem;
}

.footer-cta {
  border-bottom: .1rem solid var(--medium);
  border-left: .1rem solid var(--medium);
  display: flex;
  flex-direction: column;
  width: 100%;
}

@media ( min-width: 960px ) {
  .mobile-only {
    display: none;
  }
}


form.rechner label.label {
  display: block;
  width: calc( 50% - 2rem );
}

form.rechner label.sub-label {
  
}

.input-line {
  display: flex;
  justify-content: space-between;
  margin: 0 0 2rem 0;
}

.input-line > div {
  display: flex;
  width: 50%;
}

.input-line > div > label.sub-label {
  display: flex;
  flex-direction: column;
}

.radio-label {
  cursor: pointer;
  margin-right: 2rem;
  padding-left: 3rem;
  position: relative;
  width: 8rem;
}

.radio-label:before {
  background-color: transparent; 
  border: .2rem solid var(--secondary);
  border-radius: 50%;
  content: '';
  display: inline-block;
  height: 2.4rem;
  left: 0;
  position: absolute;
  width: 2.4rem;
}

[type=radio]:checked + .radio-label:before {
  background-color: var(--secondary); 
}


.input-line [type=radio] {
  display: none;
}



.ergebnis-wrapper {
  border: solid 5px var(--secondary);
  margin-bottom: 5rem;
  padding: 2rem;
}

form.rechner input[type=text] {
  background-color: var(--bg-color);
  border: .1rem solid var(--medium);
  font: normal 1.6rem/2.4rem univers, arial, sans-serif;
  margin-bottom: 2rem;
  padding: 1.9rem;
  width: 10rem;
}

/* BEGIN COOKIEBANNER */

#cookiebannerbg {
  background-color: rgba( 0, 0, 0, .5 );
  bottom: 0;
  display: block;
  left: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 9999;
}

@supports ( ( -webkit-backdrop-filter: blur(10px) ) or ( backdrop-filter: blur(10px) ) ) {
  #cookiebannerbg {
/*    background-color: rgba( 255, 255, 255, .8 );*/
    backdrop-filter: saturate(180%) blur(1px);
    -webkit-backdrop-filter: saturate(180%) blur(1px);
  }
}

#cookiebanner {
  color: #fff;
  background-color: var(--primary);
  border-radius: .4rem;
  box-shadow: 0 0 .5rem rgba( 0, 0, 0, .25 );
  display: block;
  font-size: 1.8rem;
  left: 2rem;
  padding: 2rem;
  position: fixed;
  bottom: 2rem;
  max-width: 36rem;
  min-width: 30rem;
  z-index: 10000;
}

@media screen and ( max-width: 639px ) {
  #cookiebanner {
    left: 1rem;
  }
}

#cookiebanner a {
  color: #fff;
  text-decoration: underline;
}

#cookiebanner > div {
  max-width: 96rem;
  margin: 0 auto;
  text-align: center;
}

.cookiebanner fieldset {
  border: .1rem solid #fff;
  border-radius: .4rem;
  margin: 2rem 0 0;
  padding: 0 1rem 1rem 1rem;
}

.cookiebanner fieldset label {
  cursor: pointer;
  display: block;
  padding-left: 2rem;
  position: relative;
  text-align: left;
  width: 100%;
}

.cookiebanner fieldset label input[type=checkbox] {
  left: 0;
  position: absolute;
  top: .8rem;
}

.cookiebanner fieldset label small {
  display: block;
  line-height: 1.8rem;
}

body.cookiebanner {
/*  margin-top: 44px;*/
}

.disallowed-external-content button,
a.btn {
  background-color: #fff;
  color: var(--primary) !important;
  display: block;
  font-size: 1.8rem;
  border-radius: .4rem;
  line-height: 1.8rem;
/*  margin-top: 2rem;*/
  padding: .6rem .2rem;
}

.disallowed-external-content button {
  margin-bottom: 0;
  margin-top: 1rem;
}

.disallowed-external-content button:hover,
a.btn:hover {
  color: #333;
}

.disallowed-external-content {
  background-color: var(--primary);
  color: #fff;
  display: block;
  padding: 2rem;
}

.sib-form {
  display: none;
}

.btngrp {
  display: flex;
  justify-content: space-between;
}

.btngrp a.btn {
  font-size: 15px;
  margin-top: 2rem;
  padding: .6rem 1.2rem;
  text-decoration: none !important;
  text-transform: uppercase;
}

.btngrp a.btn:first-of-type {
  margin-right: .6rem;
} 

.btngrp a.btn:last-of-type {
  margin-left: .6rem;
} 

#cookiebanner fieldset {
  display: none;
}

#cookiebanner.customize fieldset {
  display: block;
}

#cookiecustomize {
  background-color: #fff9 !important;
}

#cookiebanner.customize #cookiecustomize {
  display: none;
}

#cookieaccept {
  background-color: #fff9 !important;
  display: none;
}

#cookiebanner.customize #cookieaccept {
  display: block;
}


/* END COOKIEBANNER */