html {
  --grid__columns: 12;
  --grid__gutter: 1.875rem;
}
.row {
  display: grid;
  grid-template-columns: repeat(var(--grid__columns), minmax(0, 1fr));
  grid-gap: var(--grid__gutter);
  grid-auto-columns: 1fr;
}

.row--show {
  position: relative;
  background: #f9f9f9;
  z-index: 0;
  padding-top: 0.9375rem;
}

.row--show:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  background: repeating-linear-gradient(to right, #f0f0f0 0%, #f0f0f0 calc((100% - (1.875rem * 11)) / 12), #f9f9f9 calc((100% - (1.875rem * 11)) / 12), #f9f9f9 calc(((100% - (1.875rem * 11)) / 12) + 1.875rem) );
}


/* ----- */
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 {
  grid-column: 1 / -1;
}

.row-span-xs-1, .row-span-xs-2, .row-span-xs-3, .row-span-xs-4, .row-span-xs-5, .row-span-xs-6, .row-span-xs-7, .row-span-xs-8, .row-span-xs-9, .row-span-xs-10, .row-span-xs-11, .row-span-xs-12, .row-span-sm-1, .row-span-sm-2, .row-span-sm-3, .row-span-sm-4, .row-span-sm-5, .row-span-sm-6, .row-span-sm-7, .row-span-sm-8, .row-span-sm-9, .row-span-sm-10, .row-span-sm-11, .row-span-sm-12, .row-span-md-1, .row-span-md-2, .row-span-md-3, .row-span-md-4, .row-span-md-5, .row-span-md-6, .row-span-md-7, .row-span-md-8, .row-span-md-9, .row-span-md-10, .row-span-md-11, .row-span-md-12, .row-span-lg-1, .row-span-lg-2, .row-span-lg-3, .row-span-lg-4, .row-span-lg-5, .row-span-lg-6, .row-span-lg-7, .row-span-lg-8, .row-span-lg-9, .row-span-lg-10, .row-span-lg-11, .row-span-lg-12, .row-span-xl-1, .row-span-xl-2, .row-span-xl-3, .row-span-xl-4, .row-span-xl-5, .row-span-xl-6, .row-span-xl-7, .row-span-xl-8, .row-span-xl-9, .row-span-xl-10, .row-span-xl-11, .row-span-xl-12 {
  grid-row: 1;
}

.justify-start {
  justify-self: start;
}

.justify-center {
  justify-self: center;
}

.justify-end {
  justify-self: end;
}

.justify-stretch {
  justify-self: stretch;
}

.align-start {
  align-self: start;
}

.align-center {
  align-self: center;
}

.align-end {
  align-self: end;
}

.align-stretch {
  align-self: stretch;
}

.col-1 {
  grid-column: span 1 / span 1;
}

.col-2 {
  grid-column: span 2 / span 2;
}

.col-3 {
  grid-column: span 3 / span 3;
}

.col-4 {
  grid-column: span 4 / span 4;
}

.col-5 {
  grid-column: span 5 / span 5;
}

.col-6 {
  grid-column: span 6 / span 6;
}

.col-7 {
  grid-column: span 7 / span 7;
}

.col-8 {
  grid-column: span 8 / span 8;
}

.col-9 {
  grid-column: span 9 / span 9;
}

.col-10 {
  grid-column: span 10 / span 10;
}

.col-11 {
  grid-column: span 11 / span 11;
}

.col-12 {
  grid-column: span 12 / span 12;
}

@media screen and (min-width: 0) {
  .col-xs-1 {
    grid-column: span 1 / span 1;
  }

  .col-xs-2 {
    grid-column: span 2 / span 2;
  }

  .col-xs-3 {
    grid-column: span 3 / span 3;
  }

  .col-xs-4 {
    grid-column: span 4 / span 4;
  }

  .col-xs-5 {
    grid-column: span 5 / span 5;
  }

  .col-xs-6 {
    grid-column: span 6 / span 6;
  }

  .col-xs-7 {
    grid-column: span 7 / span 7;
  }

  .col-xs-8 {
    grid-column: span 8 / span 8;
  }

  .col-xs-9 {
    grid-column: span 9 / span 9;
  }

  .col-xs-10 {
    grid-column: span 10 / span 10;
  }

  .col-xs-11 {
    grid-column: span 11 / span 11;
  }

  .col-xs-12 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (min-width: 0) {
  .col-start-xs-1 {
    grid-column-start: 1;
  }

  .row-start-xs-1 {
    grid-row-start: 1;
  }

  .col-start-xs-2 {
    grid-column-start: 2;
  }

  .row-start-xs-2 {
    grid-row-start: 2;
  }

  .col-start-xs-3 {
    grid-column-start: 3;
  }

  .row-start-xs-3 {
    grid-row-start: 3;
  }

  .col-start-xs-4 {
    grid-column-start: 4;
  }

  .row-start-xs-4 {
    grid-row-start: 4;
  }

  .col-start-xs-5 {
    grid-column-start: 5;
  }

  .row-start-xs-5 {
    grid-row-start: 5;
  }

  .col-start-xs-6 {
    grid-column-start: 6;
  }

  .row-start-xs-6 {
    grid-row-start: 6;
  }

  .col-start-xs-7 {
    grid-column-start: 7;
  }

  .row-start-xs-7 {
    grid-row-start: 7;
  }

  .col-start-xs-8 {
    grid-column-start: 8;
  }

  .row-start-xs-8 {
    grid-row-start: 8;
  }

  .col-start-xs-9 {
    grid-column-start: 9;
  }

  .row-start-xs-9 {
    grid-row-start: 9;
  }

  .col-start-xs-10 {
    grid-column-start: 10;
  }
  .row-start-xs-10 {
    grid-row-start: 10;
  }

  .col-start-xs-11 {
    grid-column-start: 11;
  }

  .row-start-xs-11 {
    grid-row-start: 11;
  }

  .col-start-xs-12 {
    grid-column-start: 12;
  }

  .row-start-xs-12 {
    grid-row-start: 12;
  }
}

@media screen and (min-width: 0) {
  .pull-right-xs {
    grid-column-end: -1;
  }

  .pull-left-xs {
    grid-row-start: 1;
    grid-column-end: inherit;
  }
}

@media screen and (min-width: 0) {
  .justify-xs-start {
    justify-self: start;
  }

  .justify-xs-center {
    justify-self: center;
  }

  .justify-xs-end {
    justify-self: end;
  }

  .justify-xs-stretch {
    justify-self: stretch;
  }

  .align-xs-start {
    align-self: start;
  }

  .align-xs-center {
    align-self: center;
  }

  .align-xs-end {
    align-self: end;
  }

  .align-xs-stretch {
    align-self: stretch;
  }
}

@media screen and (min-width: 0) {
  .row-span-xs-1 {
    grid-row: span 1 / span 1;
  }

  .row-span-xs-2 {
    grid-row: span 2 / span 2;
  }

  .row-span-xs-3 {
    grid-row: span 3 / span 3;
  }

  .row-span-xs-4 {
    grid-row: span 4 / span 4;
  }

  .row-span-xs-5 {
    grid-row: span 5 / span 5;
  }

  .row-span-xs-6 {
    grid-row: span 6 / span 6;
  }

  .row-span-xs-7 {
    grid-row: span 7 / span 7;
  }

  .row-span-xs-8 {
    grid-row: span 8 / span 8;
  }

  .row-span-xs-9 {
    grid-row: span 9 / span 9;
  }

  .row-span-xs-10 {
    grid-row: span 10 / span 10;
  }

  .row-span-xs-11 {
    grid-row: span 11 / span 11;
  }

  .row-span-xs-12 {
    grid-row: span 12 / span 12;
  }
}

@media screen and (min-width: 34.375em) {
  .col-sm-1 {
    grid-column: span 1 / span 1;
  }

  .col-sm-2 {
    grid-column: span 2 / span 2;
  }

  .col-sm-3 {
    grid-column: span 3 / span 3;
  }

  .col-sm-4 {
    grid-column: span 4 / span 4;
  }

  .col-sm-5 {
    grid-column: span 5 / span 5;
  }

  .col-sm-6 {
    grid-column: span 6 / span 6;
  }

  .col-sm-7 {
    grid-column: span 7 / span 7;
  }

  .col-sm-8 {
    grid-column: span 8 / span 8;
  }

  .col-sm-9 {
    grid-column: span 9 / span 9;
  }

  .col-sm-10 {
    grid-column: span 10 / span 10;
  }

  .col-sm-11 {
    grid-column: span 11 / span 11;
  }

  .col-sm-12 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (min-width: 34.375em) {
  .col-start-sm-1 {
    grid-column-start: 1;
  }

  .row-start-sm-1 {
    grid-row-start: 1;
  }

  .col-start-sm-2 {
    grid-column-start: 2;
  }

  .row-start-sm-2 {
    grid-row-start: 2;
  }

  .col-start-sm-3 {
    grid-column-start: 3;
  }

  .row-start-sm-3 {
    grid-row-start: 3;
  }

  .col-start-sm-4 {
    grid-column-start: 4;
  }

  .row-start-sm-4 {
    grid-row-start: 4;
  }

  .col-start-sm-5 {
    grid-column-start: 5;
  }

  .row-start-sm-5 {
    grid-row-start: 5;
  }

  .col-start-sm-6 {
    grid-column-start: 6;
  }

  .row-start-sm-6 {
    grid-row-start: 6;
  }

  .col-start-sm-7 {
    grid-column-start: 7;
  }

  .row-start-sm-7 {
    grid-row-start: 7;
  }

  .col-start-sm-8 {
    grid-column-start: 8;
  }

  .row-start-sm-8 {
    grid-row-start: 8;
  }

  .col-start-sm-9 {
    grid-column-start: 9;
  }

  .row-start-sm-9 {
    grid-row-start: 9;
  }

  .col-start-sm-10 {
    grid-column-start: 10;
  }

  .row-start-sm-10 {
    grid-row-start: 10;
  }

  .col-start-sm-11 {
    grid-column-start: 11;
  }

  .row-start-sm-11 {
    grid-row-start: 11;
  }

  .col-start-sm-12 {
    grid-column-start: 12;
  }

  .row-start-sm-12 {
    grid-row-start: 12;
  }
}

@media screen and (min-width: 34.375em) {
  .pull-right-sm {
    grid-column-end: -1;
  }

  .pull-left-sm {
    grid-row-start: 1;
    grid-column-end: inherit;
  }
}

@media screen and (min-width: 34.375em) {
  .justify-sm-start {
    justify-self: start;
  }

  .justify-sm-center {
    justify-self: center;
  }

  .justify-sm-end {
    justify-self: end;
  }

  .justify-sm-stretch {
    justify-self: stretch;
  }

  .align-sm-start {
    align-self: start;
  }

  .align-sm-center {
    align-self: center;
  }

  .align-sm-end {
    align-self: end;
  }

  .align-sm-stretch {
    align-self: stretch;
  }
}

@media screen and (min-width: 34.375em) {
  .row-span-sm-1 {
    grid-row: span 1 / span 1;
  }

  .row-span-sm-2 {
    grid-row: span 2 / span 2;
  }

  .row-span-sm-3 {
    grid-row: span 3 / span 3;
  }

  .row-span-sm-4 {
    grid-row: span 4 / span 4;
  }

  .row-span-sm-5 {
    grid-row: span 5 / span 5;
  }

  .row-span-sm-6 {
    grid-row: span 6 / span 6;
  }

  .row-span-sm-7 {
    grid-row: span 7 / span 7;
  }

  .row-span-sm-8 {
    grid-row: span 8 / span 8;
  }

  .row-span-sm-9 {
    grid-row: span 9 / span 9;
  }

  .row-span-sm-10 {
    grid-row: span 10 / span 10;
  }

  .row-span-sm-11 {
    grid-row: span 11 / span 11;
  }

  .row-span-sm-12 {
    grid-row: span 12 / span 12;
  }
}


@media screen and (min-width: 48em) {
  .col-md-1 {
    grid-column: span 1 / span 1;
  }

  .col-md-2 {
    grid-column: span 2 / span 2;
  }

  .col-md-3 {
    grid-column: span 3 / span 3;
  }

  .col-md-4 {
    grid-column: span 4 / span 4;
  }

  .col-md-5 {
    grid-column: span 5 / span 5;
  }

  .col-md-6 {
    grid-column: span 6 / span 6;
  }

  .col-md-7 {
    grid-column: span 7 / span 7;
  }

  .col-md-8 {
    grid-column: span 8 / span 8;
  }

  .col-md-9 {
    grid-column: span 9 / span 9;
  }

  .col-md-10 {
    grid-column: span 10 / span 10;
  }

  .col-md-11 {
    grid-column: span 11 / span 11;
  }

  .col-md-12 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (min-width: 48em) {
  .col-start-md-1 {
    grid-column-start: 1;
  }

  .row-start-md-1 {
    grid-row-start: 1;
  }

  .col-start-md-2 {
    grid-column-start: 2;
  }

  .row-start-md-2 {
    grid-row-start: 2;
  }

  .col-start-md-3 {
    grid-column-start: 3;
  }

  .row-start-md-3 {
    grid-row-start: 3;
  }

  .col-start-md-4 {
    grid-column-start: 4;
  }

  .row-start-md-4 {
    grid-row-start: 4;
  }

  .col-start-md-5 {
    grid-column-start: 5;
  }

  .row-start-md-5 {
    grid-row-start: 5;
  }

  .col-start-md-6 {
    grid-column-start: 6;
  }

  .row-start-md-6 {
     grid-row-start: 6;
  }

  .col-start-md-7 {
    grid-column-start: 7;
  }

  .row-start-md-7 {
    grid-row-start: 7;
  }

  .col-start-md-8 {
    grid-column-start: 8;
  }

  .row-start-md-8 {
    grid-row-start: 8;
  }

  .col-start-md-9 {
    grid-column-start: 9;
  }

  .row-start-md-9 {
    grid-row-start: 9;
  }

  .col-start-md-10 {
    grid-column-start: 10;
  }

  .row-start-md-10 {
    grid-row-start: 10;
  }

  .col-start-md-11 {
    grid-column-start: 11;
  }
  
  .row-start-md-11 {
    grid-row-start: 11;
  }
  
  .col-start-md-12 {
    grid-column-start: 12;
  }
  
  .row-start-md-12 {
    grid-row-start: 12;
  }
}

@media screen and (min-width: 48em) {
  .pull-right-md {
    grid-column-end: -1;
  }
  
  .pull-left-md {
    grid-row-start: 1;
    grid-column-end: inherit;
  }
}

@media screen and (min-width: 48em) {
  .justify-md-start {
    justify-self: start;
  }

  .justify-md-center {
    justify-self: center;
  }

  .justify-md-end {
    justify-self: end;
  }

  .justify-md-stretch {
    justify-self: stretch;
  }

  .align-md-start {
    align-self: start;
  }

  .align-md-center {
    align-self: center;
  }

  .align-md-end {
    align-self: end;
  }

  .align-md-stretch {
    align-self: stretch;
  }
}

@media screen and (min-width: 48em) {
  .row-span-md-1 {
    grid-row: span 1 / span 1;
  }

  .row-span-md-2 {
    grid-row: span 2 / span 2;
  }

  .row-span-md-3 {
    grid-row: span 3 / span 3;
  }

  .row-span-md-4 {
    grid-row: span 4 / span 4;
  }

  .row-span-md-5 {
    grid-row: span 5 / span 5;
  }

  .row-span-md-6 {
    grid-row: span 6 / span 6;
  }

  .row-span-md-7 {
    grid-row: span 7 / span 7;
  }

  .row-span-md-8 {
    grid-row: span 8 / span 8;
  }

  .row-span-md-9 {
    grid-row: span 9 / span 9;
  }

  .row-span-md-10 {
    grid-row: span 10 / span 10;
  }

  .row-span-md-11 {
    grid-row: span 11 / span 11;
  }

  .row-span-md-12 {
    grid-row: span 12 / span 12;
  }
}

@media screen and (min-width: 58.75em) {
  .col-lg-1 {
    grid-column: span 1 / span 1;
  }
  
  .col-lg-2 {
    grid-column: span 2 / span 2;
  }
  
  .col-lg-3 {
    grid-column: span 3 / span 3;
  }
  
  .col-lg-4 {
    grid-column: span 4 / span 4;
  }
  
  .col-lg-5 {
    grid-column: span 5 / span 5;
  }
  
  .col-lg-6 {
    grid-column: span 6 / span 6;
  }
  
  .col-lg-7 {
    grid-column: span 7 / span 7;
  }
  
  .col-lg-8 {
    grid-column: span 8 / span 8;
  }
  
  .col-lg-9 {
    grid-column: span 9 / span 9;
  }
  
  .col-lg-10 {
    grid-column: span 10 / span 10;
  }
  
  .col-lg-11 {
    grid-column: span 11 / span 11;
  }
  
  .col-lg-12 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (min-width: 58.75em) {
  .col-start-lg-1 {
    grid-column-start: 1;
  }
  
  .row-start-lg-1 {
    grid-row-start: 1;
  }
  
  .col-start-lg-2 {
    grid-column-start: 2;
  }
  
  .row-start-lg-2 {
    grid-row-start: 2;
  }
  
  .col-start-lg-3 {
    grid-column-start: 3;
  }
  
  .row-start-lg-3 {
    grid-row-start: 3;
  }
  
  .col-start-lg-4 {
    grid-column-start: 4;
  }
  
  .row-start-lg-4 {
    grid-row-start: 4;
  }
  
  .col-start-lg-5 {
    grid-column-start: 5;
  }
  
  .row-start-lg-5 {
    grid-row-start: 5;
  }
  
  .col-start-lg-6 {
    grid-column-start: 6;
  }
  
  .row-start-lg-6 {
    grid-row-start: 6;
  }
  
  .col-start-lg-7 {
    grid-column-start: 7;
  }
  
  .row-start-lg-7 {
    grid-row-start: 7;
  }
  
  .col-start-lg-8 {
    grid-column-start: 8;
  }
  
  .row-start-lg-8 {
    grid-row-start: 8;
  }
  
  .col-start-lg-9 {
    grid-column-start: 9;
  }
  
  .row-start-lg-9 {
    grid-row-start: 9;
  }
  
  .col-start-lg-10 {
    grid-column-start: 10;
  }
  
  .row-start-lg-10 {
    grid-row-start: 10;
  }
  
  .col-start-lg-11 {
    grid-column-start: 11;
  }
  
  .row-start-lg-11 {
    grid-row-start: 11;
  }
  
  .col-start-lg-12 {
    grid-column-start: 12;
  }
  
  .row-start-lg-12 {
    grid-row-start: 12;
  }
}

@media screen and (min-width: 58.75em) {
  .pull-right-lg {
    grid-column-end: -1;
  }
  
  .pull-left-lg {
    grid-row-start: 1;
    grid-column-end: inherit;
  }
}

@media screen and (min-width: 58.75em) {
  .justify-lg-start {
    justify-self: start;
  }

  .justify-lg-center {
    justify-self: center;
  }

  .justify-lg-end {
    justify-self: end;
  }

  .justify-lg-stretch {
    justify-self: stretch;
  }

  .align-lg-start {
    align-self: start;
  }

  .align-lg-center {
    align-self: center;
  }

  .align-lg-end {
    align-self: end;
  }

  .align-lg-stretch {
    align-self: stretch;
  }
}

@media screen and (min-width: 58.75em) {
  .row-span-lg-1 {
    grid-row: span 1 / span 1;
  }

  .row-span-lg-2 {
    grid-row: span 2 / span 2;
  }

  .row-span-lg-3 {
    grid-row: span 3 / span 3;
  }

  .row-span-lg-4 {
    grid-row: span 4 / span 4;
  }

  .row-span-lg-5 {
    grid-row: span 5 / span 5;
  }

  .row-span-lg-6 {
    grid-row: span 6 / span 6;
  }

  .row-span-lg-7 {
    grid-row: span 7 / span 7;
  }

  .row-span-lg-8 {
    grid-row: span 8 / span 8;
  }

  .row-span-lg-9 {
    grid-row: span 9 / span 9;
  }

  .row-span-lg-10 {
    grid-row: span 10 / span 10;
  }

  .row-span-lg-11 {
    grid-row: span 11 / span 11;
  }

  .row-span-lg-12 {
    grid-row: span 12 / span 12;
  }
}

@media screen and (min-width: 68.75em) {
  .col-xl-1 {
    grid-column: span 1 / span 1;
  }
  
  .col-xl-2 {
    grid-column: span 2 / span 2;
  }
  
  .col-xl-3 {
    grid-column: span 3 / span 3;
  }
  
  .col-xl-4 {
    grid-column: span 4 / span 4;
  }
  
  .col-xl-5 {
    grid-column: span 5 / span 5;
  }
  
  .col-xl-6 {
    grid-column: span 6 / span 6;
  }
  
  .col-xl-7 {
    grid-column: span 7 / span 7;
  }
  
  .col-xl-8 {
    grid-column: span 8 / span 8;
  }
  
  .col-xl-9 {
    grid-column: span 9 / span 9;
  }
  
  .col-xl-10 {
    grid-column: span 10 / span 10;
  }
  
  .col-xl-11 {
    grid-column: span 11 / span 11;
  }
  
  .col-xl-12 {
    grid-column: span 12 / span 12;
  }
}

@media screen and (min-width: 68.75em) {
  .col-start-xl-1 {
     grid-column-start: 1;
  }
  
  .row-start-xl-1 {
    grid-row-start: 1;
  }
  
  .col-start-xl-2 {
    grid-column-start: 2;
  }
  
  .row-start-xl-2 {
    grid-row-start: 2;
  }
  
  .col-start-xl-3 {
    grid-column-start: 3;
  }
  
  .row-start-xl-3 {
    grid-row-start: 3;
  }
  
  .col-start-xl-4 {
    grid-column-start: 4;
  }
  
  .row-start-xl-4 {
    grid-row-start: 4;
  }
  
  .col-start-xl-5 {
    grid-column-start: 5;
  }
  
  .row-start-xl-5 {
    grid-row-start: 5;
  }
  
  .col-start-xl-6 {
    grid-column-start: 6;
  }
  
  .row-start-xl-6 {
    grid-row-start: 6;
  }
  
  .col-start-xl-7 {
    grid-column-start: 7;
  }
  
  .row-start-xl-7 {
    grid-row-start: 7;
  }
  
  .col-start-xl-8 {
    grid-column-start: 8;
  }
  
  .row-start-xl-8 {
    grid-row-start: 8;
  }
  
  .col-start-xl-9 {
    grid-column-start: 9;
  }
  
  .row-start-xl-9 {
    grid-row-start: 9;
  }
  
  .col-start-xl-10 {
    grid-column-start: 10;
  }
  
  .row-start-xl-10 {
    grid-row-start: 10;
  }
  
  .col-start-xl-11 {
    grid-column-start: 11;
  }
  
  .row-start-xl-11 {
    grid-row-start: 11;
  }
  
  .col-start-xl-12 {
    grid-column-start: 12;
  }
  
  .row-start-xl-12 {
    grid-row-start: 12;
  }
}

@media screen and (min-width: 68.75em) {
  .pull-right-xl {
    grid-column-end: -1;
  }
  
  .pull-left-xl {
    grid-row-start: 1;
    grid-column-end: inherit;
  }
}

@media screen and (min-width: 68.75em) {
  .justify-xl-start {
    justify-self: start;
  }

  .justify-xl-center {
    justify-self: center;
  }

  .justify-xl-end {
    justify-self: end;
  }

  .justify-xl-stretch {
    justify-self: stretch;
  }

  .align-xl-start {
    align-self: start;
  }

  .align-xl-center {
    align-self: center;
  }

  .align-xl-end {
    align-self: end;
  }

  .align-xl-stretch {
    align-self: stretch;
  }
}

@media screen and (min-width: 68.75em) {
  .row-span-xl-1 {
    grid-row: span 1 / span 1;
  }

  .row-span-xl-2 {
    grid-row: span 2 / span 2;
  }

  .row-span-xl-3 {
    grid-row: span 3 / span 3;
  }

  .row-span-xl-4 {
    grid-row: span 4 / span 4;
  }

  .row-span-xl-5 {
    grid-row: span 5 / span 5;
  }

  .row-span-xl-6 {
    grid-row: span 6 / span 6;
  }

  .row-span-xl-7 {
    grid-row: span 7 / span 7;
  }

  .row-span-xl-8 {
    grid-row: span 8 / span 8;
  }

  .row-span-xl-9 {
    grid-row: span 9 / span 9;
  }

  .row-span-xl-10 {
    grid-row: span 10 / span 10;
  }

  .row-span-xl-11 {
    grid-row: span 11 / span 11;
  }

  .row-span-xl-12 {
    grid-row: span 12 / span 12;
  }
}

.col-start-1 {
  grid-column-start: 1;
}

.row-start-1 {
  grid-row-start: 1;
}

.col-start-2 {
  grid-column-start: 2;
}

.row-start-2 {
  grid-row-start: 2;
}

.col-start-3 {
  grid-column-start: 3;
}

.row-start-3 {
  grid-row-start: 3;
}

.col-start-4 {
  grid-column-start: 4;
}

.row-start-4 {
  grid-row-start: 4;
}

.col-start-5 {
  grid-column-start: 5;
}

.row-start-5 {
  grid-row-start: 5;
}

.col-start-6 {
  grid-column-start: 6;
}

.row-start-6 {
  grid-row-start: 6;
}

.col-start-7 {
  grid-column-start: 7;
}

.row-start-7 {
  grid-row-start: 7;
}

.col-start-8 {
  grid-column-start: 8;
}

.row-start-8 {
  grid-row-start: 8;
}

.col-start-9 {
  grid-column-start: 9;
}

.row-start-9 {
  grid-row-start: 9;
}

.col-start-10 {
  grid-column-start: 10;
}
.row-start-10 {
  grid-row-start: 10;
}

.col-start-11 {
  grid-column-start: 11;
}

.row-start-11 {
  grid-row-start: 11;
}

.col-start-12 {
  grid-column-start: 12;
}

.row-start-12 {
  grid-row-start: 12;
}

.row-span-1 {
  grid-row: span 1 / span 1;
}

.row-span-2 {
  grid-row: span 2 / span 2;
}

.row-span-3 {
  grid-row: span 3 / span 3;
}

.row-span-4 {
  grid-row: span 4 / span 4;
}

.row-span-5 {
  grid-row: span 5 / span 5;
}

.row-span-6 {
  grid-row: span 6 / span 6;
}

.row-span-7 {
  grid-row: span 7 / span 7;
}

.row-span-8 {
  grid-row: span 8 / span 8;
}

.row-span-9 {
  grid-row: span 9 / span 9;
}

.row-span-10 {
  grid-row: span 10 / span 10;
}

.row-span-11 {
  grid-row: span 11 / span 11;
}

.row-span-12 {
  grid-row: span 12 / span 12;
}

#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
@font-face {
    font-family: 'Asap';
    src: url('../../files/theme-files/fonts/Asap-VariableFont_wdth,wght.ttf') format("truetype-variations");
    font-weight: 100 900;
    font-display: swap;
  }
/*!
 * This file is part of Contao.
 *
 * (c) Leo Feyer
 *
 * @license LGPL-3.0-or-later
 */

/**
 * Fix rendering HTML5 elements in IE
 */
 header,footer,nav,section,aside,main,article,figure,figcaption {
	display:block;
}

:root{
    --grid__gutter: 16px;

    --blue: #2E2C77;
    --yellow: #FFC646;
	--yellow_hover: #ffcf6a;
	--light-gray_1: #D9DBE1;
	--light-gray_2: #ECEDF0;
	--background-grey: #F5F5F5;
    --font-color: #333333;
	--font-color-light:#585858;
	--border-radius:.2rem;
	--box-shadow:0 0 .6rem -.1rem rgba(0,0,0,.16);
	--text-shadow:0 .1rem .2rem rgba(-3,0,0,.6);
	--fs_bigger:1.2em;
	--fs_small:.8em;
	--fs_extra_small:.7em;
	--fs_h2: 2.2rem;
	--fs_h3: 1.32rem;
	--fw_medium: 400;
	--fw_bold: 700;
	--fw_semi_bold:500;
	--scroll_transition: .4s;

}

html {
    box-sizing: border-box;
    font-size:16px;
}

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

@media screen and (min-width: 320px) {
    html {
        font-size: calc(16px + 6 * ((100vw - 320px) / 680));
    }
}

@media screen and (min-width: 1000px) {
    html {
        font-size: 22px;
    }
}

body{
	hyphens: auto;
}

/**
 * Reset the margin and padding of the block elements
 */
body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea {
	margin:0;
	padding:0;
}

/**
 * Basic element formatting
 */
table {
	border-spacing:0;
	border-collapse:separate;
}
caption,th,td {
	text-align:left;
	text-align:start; /* see #4596 */
	vertical-align:top;
}
abbr,acronym {
	font-variant:normal;
	border-bottom:1px dotted #666;
	cursor:help;
}
/* blockquote,q {
	quotes:none;
} */
fieldset,img,iframe {
	border:0;
	display:block;
}

ul {
	list-style-type:none;
}
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
del {
	text-decoration:line-through;
}
ins {
	text-decoration:none;
}

/**
 * Default font settings
 */
body {
	font-family: "Asap",Verdana,sans-serif;
	color:var(--font-color);
    font-weight:100;
    line-height:1.6;
    letter-spacing:0.056em;
}
strong{
	font-weight:500;
}
input,button,textarea,select {
	font-family:inherit;
	line-height:1.6rem;
	font-weight:inherit;
	border-radius:5px;
}
button{
	cursor:pointer;
}
pre,code {
	font-family:Monaco,monospace;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
	margin-bottom:1em;
	line-height:1.2em;
	text-wrap: balance;
}
h1 {
	color:var(--blue);
	font-size:3rem;
	font-weight:500;
	text-align:center;
}

h2{
	font-size:2.2rem;
	color:var(--blue);
	font-weight:500;
}

h1 > strong,
h2 > strong{
	font-weight:700;
}


h3 {
	font-size:1.32em;
	font-weight:600;
}
h4 {
	font-size:1.2em; /* 16px */
}
table {
	font-size:inherit;
}
caption,th {
	font-weight:bold;
}
a {
	color:inherit;
	text-decoration:none;
}

figure{
	display: table;
}

figcaption{
	display: table-caption;
	caption-side: bottom ; 
}

p{
	text-wrap: pretty;
}

@media (prefers-reduced-motion: no-preference){
	:has(:target){
		scroll-behavior: smooth;
		scroll-padding-top: 6rem;
	}
}

/**
 * Hide invisible elements
 */
 .invisible {
	border:0;
	clip:rect(0 0 0 0);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
}

/**
 * Custom layout sections
 */
.custom {
	display:block;
}
#container:after,
.custom:after,
.content-text.media:after{
	content:"";
	display:table;
	clear:both;
}

/**
 * SlickFix
 */

.slider,
.slider > div,
.slider > div > div,
.slider > div > div > div,
.slider > div > div > div > div,
.slider > div > div > div > div > div,
.slider > div > div > div > div > div > div{
	height:100%;
}

/*!
 * This file is part of Contao.
 *
 * (c) Leo Feyer
 *
 * @license LGPL-3.0-or-later
 */

.download-element:before{
	content:"";
	display:inline-block;
	height:1.6em;
	width:1.6em;
	
	background-size:contain;
	background-position: center;
	background-repeat:no-repeat;

	vertical-align:middle;
}

ul.enclosure{
	padding-left:0;
}

li.download-element{
	list-style-type:none;
}

/* Application files */
.ext-xl:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXL.svg");
}

.ext-xls:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXLS.svg");
}

.ext-xlsx:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXLSX.svg");
}

.ext-hqx:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconHQX.svg");
}

.ext-cpt:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconCPT.svg");
}

.ext-bin:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconBIN.svg");
}

.ext-doc:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDOC.svg");
}

.ext-docx:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDOCX.svg");
}

.ext-word:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWORD.svg");
}

.ext-cto:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconCTO.svg");
}

.ext-dms:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDMS.svg");
}

.ext-lha:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconLHA.svg");
}

.ext-lzh:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconLZH.svg");
}

.ext-exe:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconEXE.svg");
}

.ext-class:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconCLASS.svg");
}

.ext-so:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSO.svg");
}

.ext-sea:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSEA.svg");
}

.ext-dll:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDLL.svg");
}

.ext-oda:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODA.svg");
}

.ext-pdf:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPDF.svg");
}

.ext-ai:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAI.svg");
}

.ext-eps:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconEPS.svg");
}

.ext-ps:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPS.svg");
}

.ext-pps:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPPS.svg");
}

.ext-ppt:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPPT.svg");
}

.ext-pptx:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPPTX.svg");
}

.ext-smi:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSMI.svg");
}

.ext-smil:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSMIL.svg");
}

.ext-mif:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMIF.svg");
}

.ext-odc:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODC.svg");
}

.ext-odf:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODF.svg");
}

.ext-odg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODG.svg");
}

.ext-odi:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODI.svg");
}

.ext-odp:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODP.svg");
}

.ext-ods:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODS.svg");
}

.ext-odt:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconODT.svg");
}

.ext-wbxml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWBXML.svg");
}

.ext-wmlc:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWMLC.svg");
}

.ext-dmg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDMG.svg");
}

.ext-dcr:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDCR.svg");
}

.ext-dir:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDIR.svg");
}

.ext-dxr:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDXR.svg");
}

.ext-dvi:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconDVI.svg");
}

.ext-gtar:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconGTAR.svg");
}

.ext-inc:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconINC.svg");
}

.ext-php:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHP.svg");
}

.ext-php3:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHP3.svg");
}

.ext-php4:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHP4.svg");
}

.ext-php5:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHP5.svg");
}

.ext-phtml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHTML.svg");
}

.ext-phps:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPHPS.svg");
}

.ext-js:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconJS.svg");
}

.ext-psd:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPSD.svg");
}

.ext-rar:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRAR.svg");
}

.ext-fla:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconFLA.svg");
}

.ext-swf:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSWF.svg");
}

.ext-sit:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSIT.svg");
}

.ext-tar:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTAR.svg");
}

.ext-tgz:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTGZ.svg");
}

.ext-xhtml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXHTML.svg");
}

.ext-xht:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXHT.svg");
}

.ext-zip:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconZIP.svg");
}

/* Audio files */
.ext-m4a:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconM4A.svg");
}

.ext-mp3:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMP3.svg");
}

.ext-wma:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWMA.svg");
}

.ext-mpeg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMPEG.svg");
}

.ext-wav:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWAV.svg");
}

.ext-ogg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconOGG.svg");
}

.ext-mid:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMID.svg");
}

.ext-midi:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMIDI.svg");
}

.ext-aif:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAIF.svg");
}

.ext-aiff:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAIFF.svg");
}

.ext-aifc:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAIFC.svg");
}

.ext-ram:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRAM.svg");
}

.ext-rm:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRM.svg");
}

.ext-rpm:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRPM.svg");
}

.ext-ra:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRA.svg");
}

/* Images */
.ext-bmp:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconBMP.svg");
}

.ext-gif:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconGIF.svg");
}

.ext-jpeg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconJPEG.svg");
}

.ext-jpg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconJPG.svg");
}

.ext-jpe:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconJPE.svg");
}

.ext-png:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconPNG.svg");
}

.ext-tiff:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTIFF.svg");
}

.ext-tif:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTIF.svg");
}

.ext-svg:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSVG.svg");
}

.ext-svgz:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSVGZ.svg");
}

.ext-webp:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWEBP.svg");
}

.ext-avif:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAVIF.svg");
}

.ext-heic:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconHEIC.svg");
}

.ext-jxl:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconJXL.svg");
}

/* Mailbox files */
.ext-eml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconEML.svg");
}

/* Text files */
.ext-asp:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconASP.svg");
}

.ext-css:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconCSS.svg");
}

.ext-scss:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSCSS.svg");
}

.ext-less:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconLESS.svg");
}

.ext-html:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconHTML.svg");
}

.ext-htm:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconHTM.svg");
}

.ext-md:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMD.svg");
}

.ext-shtml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconSHTML.svg");
}

.ext-txt:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTXT.svg");
}

.ext-text:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconTEXT.svg");
}

.ext-log:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconLOG.svg");
}

.ext-rtx:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRTX.svg");
}

.ext-rtf:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRTF.svg");
}

.ext-xml:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXML.svg");
}

.ext-xsl:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconXSL.svg");
}

/* Videos */
.ext-mp4:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMP4.svg");
}

.ext-m4v:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconM4V.svg");
}

.ext-mov:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMOV.svg");
}

.ext-wmv:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWMV.svg");
}

.ext-webm:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconWEBM.svg");
}

.ext-qt:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconQT.svg");
}

.ext-rv:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconRV.svg");
}

.ext-avi:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconAVI.svg");
}

.ext-ogv:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconOGV.svg");
}

.ext-movie:before{
	background-image:url("../../files/theme-files/img/Contao-Icons/iconMOVIE.svg");
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/*-----------------------------------------------------------------------------< News >---*/

.mod_newslist .ce_text{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;  
}

.date{
    font-size:var(--fs_small);
    font-weight:var(--fw_medium);
    color:var(--light-gray_1);
    margin-bottom:.5rem !important;
}

.mod_newslist:not(.animated) button.next,
.mod_newslist:not(.animated) button.prev{
    display:none;
}

.mod_newslist:not(.animated):not(.headline) .news{
    position:relative;
    box-shadow:var(--box-shadow);
    border-radius:var(--border-radius);
    background-color:#fff;
    overflow:hidden;
}


.mod_newslist:not(.animated):not(.headline) .content{
    display:block;
    padding:1rem 1rem 4.6rem 1rem;
}


.mod_newslist:not(.animated):not(.headline){
    display:grid;
    gap:var(--grid__gutter);
}

@media screen and (max-width:940px){
    .mod_newslist:not(.animated):not(.headline){
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width:768px){
    .mod_newslist:not(.animated):not(.headline){
        grid-template-columns: 1fr
    }
}

@media screen and (min-width:941px){
    .mod_newslist:not(.animated):not(.headline){
        grid-template-columns: repeat(3, 1fr);
    }
}

.mod_newslist:not(.animated):not(.headline) p.more{
    position:absolute;
    bottom:1rem;
    right:1rem;
}

.mod_newslist:not(.animated) img{
    width:100%;
    height:auto;
}

.mod_newslist .image_container{
    position:relative;
}

.mod_newslist .image_container figcaption{
    position: absolute;
    transform:translateY(100%);
    bottom:0;
    right:1rem;
}

.mod_newslist:not(.animated) .image_container{
    margin-bottom:1rem;
}

/*
 * Headline
 */

.mod_newslist.headline .news{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap:var(--grid__gutter);
}

@media screen and (max-width:639px){
    .mod_newslist.headline .news{
        flex-direction: column;
        align-items: normal;
    }
}


.mod_newslist.headline .news:not(:last-child){
    margin-bottom:var(--grid__gutter);
    padding-bottom:var(--grid__gutter);
    border-bottom:1px solid var(--light-gray_1);
}

.mod_newslist.headline p.more{
    min-width:calc(180px + 1rem);
}

.mod_newslist.headline .date{
    font-size:var(--fs_extra_small);
    color:var(--blue);
    font-weight:var(--fw_medium);
    margin-bottom:1rem;
}

.mod_newslist.headline h2{
    margin:0;
    font-size:1rem;
}


/*
 * Animated
 */

.mod_newslist.animated .content{
    display:block;
    padding:1rem;
}

.mod_newslist.animated p.more{
    display:none;
}

.mod_newslist.carousel.animated{
    position: relative;
    width:100%;
    height:0;
    padding-bottom:33.33333%;
}

.mod_newslist.carousel.animated .news{
    position:absolute;
    top:0;
    opacity: 0;
    width:33.333%;
    transition:transform 1s ease, left 1s ease, opacity 1s ease;
}

.mod_newslist.carousel.animated .news > .inner{
    padding-bottom:100%;
    position:relative;
}

.mod_newslist.carousel.animated .news.out,
.mod_newslist.carousel.animated .news.prevOut,
.mod_newslist.carousel.animated .news.nextOut,
.mod_newslist.carousel.animated .news.active{
    left:33.33333%;
}

.mod_newslist.carousel.animated .news.prev{
    left:0;
}

.mod_newslist.carousel.animated .news.next{
    left:66.66666%;
}
.mod_newslist.carousel.animated .news.active{
    z-index:2;
    opacity:1;
}

.mod_newslist.carousel.animated .news.next,
.mod_newslist.carousel.animated .news.prev{
    z-index:1;
    opacity:.7;
    transform:scale(.7);
}

.mod_newslist.carousel.animated .news.out{
    z-index:0;
}

.mod_newslist.carousel.animated .news.out,
.mod_newslist.carousel.animated .news.prevOut,
.mod_newslist.carousel.animated .news.nextOut,
.mod_newslist.carousel.animated .news.out{
    opacity:0;
    transform:scale(.3);
}

.mod_newslist.carousel.animated button{
    display:block;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:1.6rem;
    height:2rem;
    border:none;
    color:transparent;
    background-color:transparent;
    background-image: url('../../files/theme-files/img/arrow.svg');
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    transform-origin: center;
    transform: rotate(0);
    cursor:pointer;
}

.mod_newslist.carousel.animated button.next{
    transform:rotate(180deg);
    right:0;
}

.mod_newslist.carousel.animated .image_container{
    position:absolute;
    transform:translateY(-50%);
    top:50%;
    left:0;
    border-radius:var(--border-radius);
    overflow:hidden;
}

.mod_newslist.carousel.animated .content{
    position:absolute;
    transform:translateY(-50%);
    top:50%;
    right:0;
    width:80%;
    overflow:hidden;
    border-radius:var(--border-radius);
    background-color:#fff;
    box-shadow:var(--box-shadow);
    
}

.mod_newslist.animated figcaption{
    display:none;
}

/*-----------------------------------------------------------------------------< Events >---*/

.mod_eventlist:not(.grouped){
    display:grid;
    grid-template-columns: 1fr;
    row-gap: 2rem;
}

@media screen and (min-width:1024px){
    .mod_eventlist:not(.grouped){
        grid-template-columns: repeat(2, 1fr);
        column-gap: var(--grid__gutter);
        
    }
}


.mod_eventlist:not(.grouped) > .event{
    position:relative;
    border-radius: var(--border-radius);
    box-shadow:var(--box-shadow);
    background-color:#fff;
    display:grid;
    grid-template-columns: 1fr 1.5fr;
}

.mod_eventlist .event .content{
    position:relative;
    padding:1rem 1rem 4.6rem 1rem;
}

.mod_eventlist .event_header{
    font-size:var(--fs_extra_small);
    color:var(--blue);
    font-weight:var(--fw_medium);
    margin-bottom:1rem;
}

.mod_eventlist:not(.grouped) .event_header p.time{
    padding-bottom:.2rem !important;
    border-bottom:1px dotted var(--yellow);
    margin-bottom:.2rem !important;
}

.mod_eventlist .event_header span.location{
    font-weight:var(--fw_bold);
}

.mod_eventlist h3{
    font-size:var(--fs_h3);
    color:var(--blue);
}

.mod_eventlist .teaser{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;  
    overflow: hidden;
}

.mod_eventlist:not(.grouped) p.more{
    position:absolute;
    bottom:1rem;
    right:1rem;
}

.mod_eventlist .image{
    position:relative;
    overflow:hidden;
    border-radius:var(--border-radius) 0 0 var(--border-radius);
}

.mod_eventlist .image .image_container{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
}

.mod_eventlist .dateHint{
    position:absolute;
    top:-1rem;
    left:-1.7rem;
    width:11.6rem;
    height:11.6rem;
    overflow:hidden;
    z-index:1;
}

.mod_eventlist .dateHint:before{
    content: "";
    position: absolute;
    width: 5.8rem;
    height: 5.8rem;
    background: var(--font-color);
    transform: rotate(45deg);
    top: -25%;
    left: 25%;
    box-shadow: -1px -1px 10px -2px rgba(0, 0, 0, 0.5);
}

.mod_eventlist .dateHint > div{
    position:absolute;
    transform:translateX(-50%);
    left:50%;
    top:.5rem;
    color:#fff;
    font-weight:var(--fw_bold);
    z-index:1;
}

/*-------------------------------------< gruppiert >---*/

.mod_eventlist.grouped .event{
    margin-bottom:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid var(--light-gray_1);
}

.mod_eventlist.grouped :is(h2, h3, h3):not(:first-child){
    margin-top:5rem;
}

.mod_eventlist.grouped .event_header{
    margin-bottom:1rem;
}

@media screen and (min-width:768px){

    .mod_eventlist.grouped .event_header{
        display:flex;
        justify-content: space-between;
        gap:var(--grid__gutter);
    }

}

.mod_eventlist.grouped .event_header p{
    margin:0;
}

.mod_eventlist.grouped p.location{
    font-weight:100;
}

.mod_eventlist.grouped .event_content{
    display:flex;
    justify-content: space-between;
    align-items: center;
    gap:var(--grid__gutter);
    flex-direction:row;
}

@media screen and (max-width:639px){
    .mod_eventlist.grouped .event_content{
        flex-direction: column;
        align-items:normal;
    
    }
}



.mod_eventlist.mod_eventlist.grouped .event_content :is(h2, h3, h4){
    margin-bottom:0;
}

.mod_eventlist.mod_eventlist.grouped p.more{
    min-width:calc(180px + 1rem);
}








/*-----------------------------------------------------------------------------< Reader >---*/


 .mod_eventreader h1,
 .mod_newsreader h1{
    margin-bottom:2rem;
}

.mod_eventreader .event_header,
.mod_newsreader .news_header{
    color:var(--blue);
    font-weight:var(--fw_medium);
    text-align: center;

    padding:2rem 0;

    border-top:1px dotted var(--yellow);
    border-bottom:1px dotted var(--yellow);
}
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
    padding: 0;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;

    position:absolute;
    right:0;
    top:0;

    height:1.6rem;
}

/* body.small .hamburger{
    top:-.8rem;
} */

.hamburger:hover {
    opacity: 0.7;
}

.hamburger.is-active:hover {
    opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #000;
}

.hamburger-box {
    width: 1rem;
    height: 1.6rem;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: calc(50% - 1.5px);
    left:0;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 1rem;
    height: .12rem;
    background-color: #000;
    border-radius: 3px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: calc(-.5rem + 1.5px);
}

.hamburger-inner::after {
    bottom: calc(-.5rem + 1.5px);
}

/*
     * 3DX
     */
.hamburger--3dx .hamburger-box {
    perspective: 3.2rem;
}

.hamburger--3dx .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx .hamburger-inner::before,
.hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx.is-active .hamburger-inner {
    background-color: transparent !important;
    transform: rotateY(180deg);
}

.hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, .44rem, 0) rotate(45deg);
}

.hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -.44rem, 0) rotate(-45deg);
}
/*-----------------------------------------------------------------------------< Dimensionen + Farben >---*/

#wrapper{
    margin-top:9.24rem;
}

main > .inside > .mod_article:not(.fullWidth) > .inside,
header > .inside,
#footerNav ul,
#footerInfos,
.mod_search .inside{
    width:100%;
    max-width:calc(1640px + 2rem);
    margin:0 auto;
    padding:0 1rem;
}

main > .inside > .mod_article.thin > .inside{
    max-width:calc(1364px + 2rem);
}

main > .inside > .mod_article:not(.fullWidth),
#searchResults,
#searchForm,
#results{
    padding:5rem 0;
}

main .mod_article p:not(:last-child),
main .mod_article ul:not(:last-child),
main .mod_article ol:not(:last-child),
main .mod_article .ce_columns > div:not(:last-child),
main .mod_article table:not(:last-child),
footer p:not(:last-child){
    margin-bottom:1rem;
}

main .mod_article > .inside > div:not(:last-child),
main .mod_article > .inside > section:not(:last-child):not(.ce_accordion),
main .mod_newsreader .layout_full > div:not(:last-child),
main .mod_eventreader .layout_full > div:not(:last-child){
    margin-bottom:2rem;
}

/* .mod_article:not(.mod_article.fullWidth).grey{
    background-color:var(--background-grey);
} */

.mod_article.grey,
#searchForm{
    background-color:var(--background-grey);
}

/*-----------------------------------------------------------------------------< Kopf >---*/

header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background-color:#fff;
    box-shadow:0 .12rem .4rem 0px rgba(0,0,0,.16);
    z-index:10;
    transition:height var(--scroll_transition), top var(--scroll_transition);
}

body:not(.smallNav) header{
    height:9.24rem;
}

body.smallNav header,
body.hideNav header{
    height:3rem;
}

body.hideNav:not(.openNav) header{
    top:-4rem;
}



header > .inside{
    height:100%;
    display:grid;
    grid-template-columns: 1fr 1.2fr;
}

#navContainer{
    position:relative;
    align-self:center;
    justify-self: end;
    height:1.6rem;
}

header .homelink{
    position:relative;
    display:block;
    align-self:center;
    width:40vw;
    height:100%;

    /* background-color:tomato; */
}

header .homelink svg{
    position:absolute;
    height:72%;
    max-width:100%;
    /* width:100%; */
    transform:translateY(-50%);
    top:50%;
    left:0;
}


/*-----------------------------------------------------------------------------< Navigationspfad >---*/

.mod_breadcrumb{
    padding:.3rem 1rem;
    background-color:var(--light-gray_2);
    box-shadow:0 .12rem .4rem 0px rgba(0,0,0,.25);
}

.mod_breadcrumb ul{
    display:flex;
    justify-content: center;
    gap:var(--grid__gutter);
    font-size:var(--fs_extra_small);
}

.mod_breadcrumb a.root:before{
    content:"";
    display:inline-block;
    vertical-align: middle;
    width:1em;
    height:1em;
    background-color: var(--font-color);
    -webkit-mask-image: url('../../files/theme-files/img/burg_icon.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url('../../files/theme-files/img/burg_icon.svg');
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
}

.mod_breadcrumb a.root:where(:hover, :focus):before{
    background-color:var(--yellow);
}

.mod_breadcrumb li:not(:last-child){
    display:flex;
    align-items: center;
    gap:var(--grid__gutter);
}

.mod_breadcrumb li:not(:last-child):after{
    content: "";
    display: block;
    height: .3rem;
    width: .3rem;
    background-color: var(--font-color);
    -webkit-mask-image: url('../../files/theme-files/img/marker.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url('../../files/theme-files/img/marker.svg');
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transform-origin: center;
    transform: rotate(-90deg);
}

.mod_breadcrumb a{
    font-weight:var(--fw_semi_bold);
    color:var(--font-color);
}

.mod_breadcrumb a:where(:hover, :focus){
    color:var(--yellow);
}

/*-----------------------------------------------------------------------------< Bühne >---*/

#stage{
    position:relative;
    overflow:hidden;
    /* height:calc(100vh - 9.24rem + 4rem); */
    height:calc(100vh - 9.24rem + 0rem);
    width:100%;
}

#stage::after{
    content:"";
    position:absolute;
    transform:translateX(-50%);

    bottom:0;
    left:50%;

    display:block;
    width:22rem;
    height:4rem;
    background: rgb(236,237,240);
    background: linear-gradient(0deg, rgba(236,237,240,1) 0%, rgba(255,255,255,1) 40%);
    -webkit-mask-image: url('../../files/theme-files/img/silhouette.svg');
    -webkit-mask-image: url('../../files/theme-files/img/silhouette.svg');
    -webkit-mask-size: contain;
    -webkit-mask-position:center bottom;
    -webkit-mask-repeat:no-repeat;
            mask-image: url('../../files/theme-files/img/silhouette.svg');
            mask-image: url('../../files/theme-files/img/silhouette.svg');
            mask-size: contain;
            mask-position:center bottom;
            mask-repeat:no-repeat;
}

#stageSlider{
    position:absolute;
    width:100%;
    height:100%;
}

#stage .slick-dots{
    position:absolute;
    transform:tranlateY(-50%);
    right:1rem;
    top:50%;
}

.slick-dots li{
    background-color:var(--blue);
    height:.6rem;
    width:.6rem;
    border-radius:100%;
    font-size:0;
    overflow:hidden;
}

.slick-dots li.slick-active{
    background-color:var(--yellow);
}

#stage .slick-dots li:not(:last-child){
    margin-bottom:.3rem;
}

.slick-dots button{
    padding:0;
    margin:0;
    border:inherit;
    font-size:0;
    width:100%;
    height:100%;
    background-color:transparent;
}



.slide figure{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
}





.slideContent{
    position:absolute;
    text-transform:uppercase;
    text-shadow:0 3px .5rem rgba(0, 0, 0, .5);
    color:#fff;
    text-align:center;
    left:1rem;
    right:1rem;
}

.slideContent .slideText_small{
    line-height:1em;
    font-weight:500;
}

.slideContent .slideText_big{
    font-size:2rem;
    line-height:1em;
    font-weight:700;
}

@media screen and (min-width:425px){
    .slideContent .slideText_big{
        font-size:3rem;
    }
}

@media screen and (min-width:1600px){
    .slideContent .slideText_big{
        font-size:5rem;
    }
}

.slideContent.up{
    top:15vh;

}
.slideContent.down{
    bottom:15vh;

}
.slideContent.middle{
    transform:translateY(-50%);
    top:50%;
}







/*-----------------------------------------------------------------------------< Formulare >---*/



input[type=text]{
    display:block;
    width:100%;
    padding:.3rem .5rem;
    line-height:1rem;
    font-size:65%;

    border:none;
    background-color:var(--light-gray_1);
    outline: none;
}

input[type=text]:focus{
    background-color:var(--light-gray_2);
}

/*-----------------------------------------------------------------------------< Bildtrenner >---*/

.mod_article.fullWidth > .inside > .content-image{
    height:15rem;
    width:100%;
    position:relative;
    overflow:hidden;
}

.mod_article.fullWidth > .inside > .content-image img{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
}

/*-----------------------------------------------------------------------------< Main >---*/

main .small{
    font-size:var(--fs_small);
}

main .content-image img:not(.spacer){
    width:100%;
    height:auto;
    display:block;
}

main .content-text ul,
main .content-text ol{
    padding-left:1rem;
}

main .content-text ul{
    list-style-type: disc;
}

main .mod_article table{
    width:100%;
    border:1px solid var(--light-gray_1);
    border-radius:var(--border-radius);
    overflow:hidden;
}

main .mod_article.grey tbody tr:nth-child(even){
    background-color:#fff;
}

main .mod_article:not(.grey) tbody tr:nth-child(odd){
    background-color:var(--background-grey);
}

main .mod_article td,
main .mod_article th{
    padding:.5rem;
}

main .mod_article td:not(:last-child),
main .mod_article th:not(:last-child){
    border-right:1px solid var(--light-gray_1);
}

@media screen and (max-width:calc(1000px + 2rem)){
    .table.content-text > .rte{
        overflow-x:scroll;
    }
    
    .table.content-text > .rte > table{
        min-width:1000px;
    }

    .table.content-text{
        position:relative;
        /* padding-bottom:2rem; */
    }

    .table.content-text:after,
    .table.content-text:before{
        content:"";
        display:block;
        position:absolute;
        transform:translate(-50%, 50%);
        height:1.5rem;
        width:5rem;
        bottom:0;
        left:50%;

        background-repeat:no-repeat;
    }

    .table.content-text:after{
        background-image:url('../../files/theme-files/img/Hand-Cursor.svg');
        background-size:contain;
        animation: table 1500ms ease-in-out infinite alternate;
    }

    /* .table.content-text:before{
        background-image:url('../../files/theme-files/img/Linie.svg');
        background-position:center;
        background-size:100%;
    } */

    @keyframes table {
        from { background-position: 20% 50%; }
        to  { background-position: 80% 50%; }
    }
}










main figure figcaption{
    margin-top:.2rem;
    font-size:var(--fs_extra_small);
}

.content-text.media:not(.noShadow) img,
.content-gallery img{
    border-radius:var(--border-radius);
    overflow:hidden;
    box-shadow: var(--box-shadow);
}



.content-text.media--right figure{
    float:right;
    margin:0 0 1.5rem 3rem;
}

.content-text.media--left figure{
    float:left;
    margin:0 3rem 1.5rem 0;
}



/*--< Float: 3/12 >---*/
@media screen and (max-width:689px){
    .content-text.media figure:has(.float_3_12){
        float:none;
        margin:0 0 1.5rem 0;
        width:100%;
    }
    .content-text.media figure:has(.float_3_12) img{
        width:100%;
        height:auto;
    }
}


/*--< Float: 4/12 >---*/
@media screen and (max-width:850px){
    .content-text.media figure:has(.float_4_12){
        float:none;
        margin:0 0 1.5rem 0;
        width:100%;
    }
    .content-text.media figure:has(.float_4_12) img{
        width:100%;
        height:auto;
    }
}

/*--< Float: 5/12 >---*/
@media screen and (max-width:1023px){
    .content-text.media figure:has(.float_5_12){
        float:none;
        margin:0 0 1.5rem 0;
        width:100%;
    }
    .content-text.media figure:has(.float_5_12) img{
        width:100%;
        height:auto;
    }
}







.content-gallery ul{
    display:flex;
    flex-wrap:wrap;
    list-style-type: none;
    gap:var(--grid__gutter);
    padding:0;
}

.content-gallery.grid ul{
    display:grid;
}

.content-gallery ul li img{
    max-width:100%;
    height:auto;
}

.content-gallery--cols-6.grid ul{grid-template-columns:repeat(6, 1fr);}
.content-gallery--cols-5.grid ul{grid-template-columns:repeat(5, 1fr);}
.content-gallery--cols-4.grid ul{grid-template-columns:repeat(4, 1fr);}
.content-gallery--cols-3.grid ul{grid-template-columns:repeat(3, 1fr);}
.content-gallery--cols-2.grid ul{grid-template-columns:repeat(2, 1fr);}

@media screen and (max-width: 767px){
    .content-gallery--cols-6.grid ul,
    .content-gallery--cols-5.grid ul{grid-template-columns:repeat(4, 1fr);}
}

@media screen and (max-width: 565px){
    .content-gallery--cols-6.grid ul,
    .content-gallery--cols-5.grid ul{grid-template-columns:repeat(3, 1fr);}
}

@media screen and (max-width: 400px){
    .content-gallery--cols-6.grid ul,
    .content-gallery--cols-5.grid ul{grid-template-columns:repeat(2, 1fr);}
}

.content-gallery.right ul{flex-direction:row-reverse;}
.content-gallery.center ul{justify-content: center;}

figure a{
    position:relative;
    display:block;
}

figure a:before,
figure a:after{
    content:"";
    position:absolute;
    border-radius:var(--border-radius);
}

figure a:before{
    inset:0;
    background-color:#000;
    opacity:0;
    transition:opacity .3s;
}

figure a:hover:before,
figure a:focus:before{
    opacity:.3;
}



figure a:after{
    background-image:url(../../files/theme-files/img/resize.svg);
    background-repeat:no-repeat;
    background-size:contain;
    background-position: center;
    width:2rem;
    height:2rem;
    transform:translate(-50%, -50%) scale(0);
    top:50%;
    left:50%;
    opacity:.8;
    transition:transform .3s;
}

figure a:hover:after,
figure a:focus:after{
    transform:translate(-50%, -50%) scale(1);
}

#cboxTitle, #cboxCurrent{
    font-size:var(--fs_small);
    top:-1rem;
}



blockquote{
    padding:1rem;
    margin:3rem 0;
    position:relative;
    border-radius:var(--border-radius);
    background-color:var(--light-gray_1);
    text-align: center;
    color:#fff;
}

blockquote::before,
blockquote::after{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    font-size:4rem;
    line-height:1em;
    font-weight:400;
    text-shadow:0 0 15px rgba(0,0,0,.3);
}

blockquote::before{
    content:"\00BB";
    left:0;
}

blockquote::after{
    content:"\00AB";
    left:100%;
}

.mod_image_copyright_list .item:not(:last-child){
    margin-bottom:.5rem;
}

.mod_image_copyright_list .item{
    display:flex;
    align-items: center;
    gap:1rem;
    font-size:var(--fs_small);
}

.mod_article.fullWidth .row > div[class^=col-] > .content-text{
    padding:3rem;
}

@media screen and (max-width:1099px){
    .mod_article.fullWidth .row > div[class^=col-]:first-child > .content-text{
        padding:5rem 1rem 1rem 1rem;
    }
    .mod_article.fullWidth .row > div[class^=col-]:last-child > .content-text{
        padding:1rem 1rem 5rem 1rem;
    }  
}

.content-youtube figure{
    width:100%;
    border-radius:var(--border-radius);
    box-shadow: var(--box-shadow);
    overflow:hidden;
}

.content-youtube iframe{
    aspect-ratio:16/9;
    width:100%;
}

.content-player figure{
    display:block;
}

figure video{
    display:block;
    width:100%;
    height:auto;
}


/*-----------------------------------------------------------------------------< Slider-Galerie >---*/

.content-slidedGallery{
    position:relative;
    width:100%;
    height:100%;
    min-height:350px;
    overflow:hidden;
}

.slidedGallery .sliderImage{
    position:relative;
    overflow:hidden;
}

/*-----------------------------------------------------------------------------< Links, Button >---*/

/* .content-text:not(.button) a,
.content-hyperlink > a,
.download-element > a,
.connectedTextfields a,
.addresses a,
.contacts a,
{
    background: linear-gradient(0deg, var(--yellow), var(--yellow));
    background-repeat:no-repeat;
    background-size:0 100%;
    background-position: right bottom;
    transition:background-size 350ms;
} */

.content-text:not(.button) a:not(.cboxElement),
.content-hyperlink:not(.button) > a,
.connectedTextfields a,
.richcard a,
.addresses a,
.contacts a,
footer .mod_customnav a,
footer .mod_customnav strong{
    background: linear-gradient(0deg, var(--yellow), var(--yellow));
    background-repeat:no-repeat;
    background-size:0 100%;
    background-position: right bottom;
    transition:background-size 350ms;
    border-bottom:1px solid var(--font-color);
}

.content-text:not(.button) a:not(.cboxElement):where(:hover, :focus-visible),
.content-hyperlink:not(.button) > a:where(:hover, :focus-visible),
.download-element > a:where(:hover, :focus-visible),
.connectedTextfields a:where(:hover, :focus-visible),
.richcard a:where(:hover, :focus),
.addresses a:where(:hover, :focus-visible),
.contacts a:where(:hover, :focus-visible),
footer .mod_customnav a:where(:hover, :focus),
footer .mod_customnav strong{
    background-size:100% 100%;
    background-position-x: left;
}

.mod_articlelist a,
.content-hyperlink.button a,
a.button,
.content-hyperlink button,
p.back a,
.formbody button,
.contao-cookiebar .cc-footer button{
    border:1px solid var(--yellow);
    background-color:var(--yellow);
    color:var(--font-color);
    font-size:inherit;
    border-radius:var(--border-radius);
    padding:.5rem 1rem;
    display:inline-block;
    transition:background-color .2s;
}

.mod_articlelist a:where(:hover, :focus),
.content-hyperlink.button a:where(:hover, :focus),
a.button:where(:hover, :focus),
.content-hyperlink button:where(:hover, :focus),
p.back a:where(:hover, :focus),
.formbody button:where(:hover, :focus),
.contao-cookiebar .cc-footer button:where(:hover, :focus){
    background-color:var(--yellow_hover);
}


.contao-cookiebar .cc-footer button{
    background-color:inherit;
    border-color:inherit;
}

.center.content-hyperlink{
    text-align: center;
}

.mod_articlelist a:before,
.content-hyperlink.button a:before,
.content-toplink a:before,
a.button:before,
.content-hyperlink button:before,
p.back a:before,
.formbody button:before,
.contao-cookiebar .cc-footer button:before{
    content: "";
    height: 0.48rem;
    width: 0.56rem;
    display: inline-block;
    background-image: url(../../files/theme-files/img/button_arrow.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: .5rem;
    position: relative;
    top: -0.05rem;
}

.mod_articlelist ul{
    display:flex;
    flex-wrap:wrap;
    gap:var(--grid__gutter);
}

.content-toplink{
    text-align: right;;
}

.content-toplink a{
    font-size:var(--fs_small);
    position:relative;
}

.content-toplink a:after{
    content:"";
    display:inline-block;
    height:2rem;
    width:2rem;
    background-color:var(--yellow);
    border-radius:100%;
    vertical-align: middle;
    margin-left:.5rem;
    transition:background-color .2s;
}

.content-toplink a:hover:after{
    background-color:var(--yellow_hover);
}

.content-toplink a:before{
    position:absolute;
    margin:0;
    transform:translateY(-50%) rotate(-90deg);
    top:50%;
    right:.76rem;
}


p.more{
    text-align: right;
}

p.more a:before{
    content:"...";
    display:block;
    color:var(--blue);
    letter-spacing:0rem;
    width:2.6rem;
    position:absolute;
    left:0;
    top:.5rem;
    text-align:center;
    font-weight:var(--fw_semi_bold);
    z-index:1;
}

p.more a{

    position:relative;
    padding:.5rem 1.3rem .5rem 1.3rem;
    background-color:var(--yellow);
    border-radius:2.6rem;
    display:inline-block;
    text-wrap: nowrap;
    overflow:hidden;
    margin-left:-2.6rem;
    letter-spacing: -1rem;
    color:transparent;
    transition:letter-spacing .2s, padding .2s, color .2s, background-color .2s;
    box-shadow:var(--box-shadow);
    vertical-align: bottom;
}

p.more a:hover,
p.more a:focus{
    letter-spacing: 0rem;
    padding:.5rem 1rem .5rem 1.8rem;
    color:var(--font-color);
    background-color:var(--yellow_hover);
}

p.back{
    margin-top:5rem;
}

/*-----------------------------------------------------------------------------< Download-Elemente >---*/

.content-downloads ul,
.content-download{
    /* border-radius:var(--border-radius); */
    /* border:1px solid var(--light-gray_1); */
    /* border-left:1px solid var(--light-gray_1); */
    /* padding:1rem; */
    padding:1rem;
    
}

.download-element:not(:last-child){
    padding-bottom:1rem;
    border-bottom:1px solid var(--light-gray_2);
    margin-bottom:1rem;
}

.download-element:after{
    content:"";
    clear:both;
    display:block;
}

.download-element > a{
    font-size:var(--fs_small);
    font-weight:var(--fw_medium);
}

.download-element .previewFiles{
    display:flex;
    flex-wrap:wrap;
    justify-content: flex-end;
    gap:var(--grid__gutter);
    float:right;
    margin:1rem 0 0 1rem;
}

.download-element .previewFiles figure{
    box-shadow:var(--box-shadow);
}

.download-element .previewFiles img{
    border:1px solid var(--light-gray_2);
    border-radius:var(--border-radius);
    transition:border-color .2s;
}

.download-element .previewFiles a:where(:hover, :focus-visible) img{
    border-color:var(--yellow);
}

@media screen and (min-width:940px){
    main .row div[class^='col']:not(:first-child) .content-downloads ul,
    main .row div[class^='col']:not(:first-child) .content-download{
        padding-left:2rem;
        box-shadow:-1rem 0 1rem -1.5rem;
    }
    
    main .row div[class^='col']:first-child .content-downloads ul,
    main .row div[class^='col']:first-child .content-download{
        padding-right:2rem;
        box-shadow:1rem 0 1rem -1.5rem;
    }
}



/*-----------------------------------------------------------------------------< Bildnavigation >---*/

.navigation_bar{
    display:grid;
    grid-template-columns: repeat(6, 1fr);
    gap:var(--grid__gutter);
}

@media screen and (max-width: 1300px){ .navigation_bar{ grid-template-columns: repeat(4, 1fr); } }
@media screen and (max-width: 1000px){ .navigation_bar{ grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 600px){ .navigation_bar{ grid-template-columns: repeat(2, 1fr); } }

.navigation_bar .card{
    width:100%;
    border-radius:var(--border-radius);
}


.navigation_bar.icon .shadow{
    position:absolute;
    inset:0 0 -1rem;
    background-color:rgba(0,0,0,.5);
    filter:blur(1rem);
    transform: translateZ(-100px);
}

.navigation_bar.icon .card{
    aspect-ratio: 1 / 1;
    position:relative;
    perspective:1000px;
}

.navigation_bar.icon .card-inner{
    position:absolute;
    display:block;
    inset:0;
    perspective:1000px;
    transform-style: preserve-3d;
    transform-origin: center center;
    background-color:var(--font-color);
    transition:transform .3s;
    border-radius:var(--border-radius);
}

.navigation_bar.icon .image_container{
    position:absolute;
    transform:translateX(-50%);
    top:15%;
    left:50%;
    width:50%;
    height:50%;
    overflow:hidden;
    filter:grayscale(1);
    transition:filter .2s;

}

.navigation_bar.icon .card:hover .card-inner{
    transform:rotateX(30deg);
}

.navigation_bar.icon a:hover .image_container{
    filter:grayscale(0) drop-shadow(0 3px 5px rgba(0,0,0,.5));
}

.navigation_bar.icon .image_container img{
    width:100%;
    height:100%;
}

.navigation_bar .linkText{
    position:absolute;
    left:1rem;
    right:1rem;
    line-height:1.1em;
}

.navigation_bar.image .card-inner{
    position:relative;
}

.navigation_bar.image .linkText{ top:1rem; }
.navigation_bar.icon .linkText{ bottom:1rem; text-align:center; }

.navigation_bar.image .image_container{
    border-radius: var(--border-radius);
    overflow: hidden;
}

.navigation_bar.image img{
    width:100%;
    height:auto;
}

.navigation_bar.icon .linkText{
    font-size:var(--fs_small);
    color:#fff;
    font-weight:var(--fw_medium);
}

.navigation_bar.image .linkText{
    font-weight:var(--fw_bold);
    font-size:var(--fs_small);
    text-shadow:var(--text-shadow);
    color:#fff;

}

.navigation_bar.image .arrow{
    position:absolute;
    left:0;
    bottom:-35px;
    height:65px;
    width:55px;
    background-image:url('../../files/theme-files/img/arrow_full.svg');
    background-repeat:no-repeat;
    transition:left .2s;
}

.navigation_bar.image a:hover .arrow{
    left:10%;
}

/*-----------------------------------------------------------------------------< Kontakte, Connected Fields >---*/

.mod_article.grey .contact,
.mod_article.grey .address,
.mod_article.grey .connectedTextfields .content,
.mod_article.grey .richcard{
    background-color:#fff;
}

.mod_article:not(.grey) .contact,
.mod_article:not(.grey) .address,
.mod_article:not(.grey) .connectedTextfields .content,
.mod_article:not(.grey) .richcard{
    background-color:var(--background-grey);
}

.richcard{
    display:grid;
    grid-template-columns: 1fr 1fr;
    padding:0 !important;
    overflow:hidden;
}


.contacts:not(.single),
.addresses:not(.single){
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:var(--grid__gutter);
}

.richcards:not(.single){
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    gap:var(--grid__gutter);
}

@media screen and (max-width:1100px){
    .contacts:not(.single),
    .addresses:not(.single){
        grid-template-columns: repeat(2, 1fr);
    }

    .richcard{
        display:block;
    }

    .richcard > .content-image{
        aspect-ratio: 2 / 1;
    }
}

@media screen and (max-width:670px){
    .contacts:not(.single),
    .addresses:not(.single),
    .richcards:not(.single){
        grid-template-columns: repeat(1, 1fr);
    }
}



.mod_article .contact,
.mod_article .address,
.mod_article .richcard{
    border-radius:var(--border-radius);
    padding:1rem;
    box-shadow: var(--box-shadow);
}

.contacts p.resort{
    font-size:var(--fs_small);
}

.connectedTextfields > div{
    display: flex;
    flex-direction:column;
    overflow:hidden;
}

.connectedTextfields .content{
    flex-grow:2;
}



.richcard .content-image{
    position:relative;
    overflow:hidden;
}

.richcard .content-image img{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
    width:auto !important;
}

.richcard .content{
    padding:1rem;
}

.richcard p{
    font-size:var(--fs_small);
}

@media screen and (max-width:999px){

    .connectedTextfields > div:nth-child(even){
        margin-bottom:var(--grid__gutter);
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

    .connectedTextfields > div:nth-child(odd){
        border-radius:var(--border-radius) var(--border-radius) 0 0;
    }

    .connectedTextfields > div:nth-child(odd) .cfHeadline{
        background-color:var(--font-color);
    }

    .connectedTextfields .cfHeadline{
        background-color:var(--light-gray_1);
        color:#fff;
        padding:.5rem 1rem;
        font-size: var(--fs_extra_small);
    }

    .connectedTextfields .content{
        padding:1rem; 
    }

}

@media screen and (min-width:1000px){

    .connectedTextfields{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap:var(--grid__gutter);
    }

    .connectedTextfields .content,
    .connectedTextfields .cfHeadline{
        padding:1rem;
        border-radius: var(--border-radius);
    }

    .connectedTextfields .cfHeadline{
        display: none;
    }

    .connectedTextfields > div:nth-child(-n + 2) .cfHeadline{
        display:block;
        color:#fff;
        background-color: var(--font-color) !important;
    }

    .connectedTextfields > div{
        row-gap: var(--grid__gutter);
    }

}




/*-----------------------------------------------------------------------------< Akkordion >---*/



.ce_accordion{
    border:1px solid var(--font-color);
    border-radius:var(--border-radius);
    box-shadow:var(--box-shadow);
    overflow:hidden;
}

.ce_accordion:not(:last-child){
    margin-bottom:.5rem;
}

.ce_accordion > .toggler{
    background-color:var(--font-color);
    transition:background-color .2s;
    color:#fff;
    padding:.5rem 1rem;
    cursor:pointer;

    display:flex;
    align-items: center;
}

.ce_accordion > .toggler:hover,
.ce_accordion > .toggler:hover:focus{
    background-color:var(--font-color-light);
}

.ce_accordion .accordion{
    padding:1rem;
}

.ce_accordion .marker{
    height: .56rem;
    width: .56rem;
    margin-right:1rem;
    display:block;
    position: relative;
    flex-shrink:0;
}

/* .ce_accordion .toggler:before */
.ce_accordion .marker:before{
    position: absolute;
    background-color:var(--yellow) !important;
    transform:rotate(-90deg);
    margin-left:0 !important;
}

.ce_accordion .toggler.ui-state-active .marker:before{
    transform:rotate(0deg);
}

.accordion > div > div:not(:last-child){
    margin-bottom:1rem;
}

.accordion .ui-accordion-header-icon{
    display:none;
}


/*-----------------------------------------------------------------------------< Footer >---*/

footer{
    position:relative;
}

footer::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:url(../../files/theme-files/img/polygone.svg);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;
    z-index:0;
    opacity:.3;
}

#footerNav{
    background-color:rgba(88,88,88,.8);
}

#footerNav ul{
    display:flex;
    justify-content: flex-start;
}

#footerNav a,
#footerNav strong{
    text-decoration:none;
    font-weight:400;
    color:#fff;
    display:block;
    padding:.75rem 3vw;
}

#footerNav li:first-child a,
#footerNav li:first-child strong{
    padding-left:0;
}

@media screen and (max-width:650px){
    #footerNav ul{
        flex-direction: column;
        padding-top:.5rem;
        padding-bottom:.5rem;
    }
    #footerNav a,
    #footerNav strong{
        padding:.5rem 0;
    }
}

#footerNav strong,
#footerNav a:hover,
#footerNav a:focus{
    color:var(--yellow);
}

#footerInfos{
    padding-top:5rem;
    padding-bottom:5rem;
}


footer > .inside{
    position:relative;
    z-index:1;
}

footer a.homelink{
    display:block;
    width:100%;
}

footer a.homelink svg{
    width:100%;
}

@media screen and (max-width:1099px){
    footer a.homelink svg{
        margin-top:2rem;
        max-width:300px;
    }
}

footer .socialMedia{
    display:flex;
    gap:var(--grid__gutter);
    margin:3rem 0;
}

/*-----------------------------------------------------------------------------< Brand >---*/

.BrandContainer{

    /* position:absolute;
    transform:translate(-50%, -50%);
    left:50%;
    top:50%;
    width:75%; */

    display:grid;
    grid-template-columns: .5fr 1.5fr;
    gap:4.5%;
}

.BrandContainer svg{
    align-self: center;
    width:100%;
}

.Brand{
    /* filter:drop-shadow(0 .2rem .3rem rgba(0,0,0,.2)); */
    filter:drop-shadow(0 1.5rem .7rem rgba(0,0,0,.4));
    justify-self: end;
}

.Brand_Text{
    justify-self: start;
}

/*-----------------------------------------------------------------------------< Teaser >---*/


@media screen and (max-width:1023px){
    .teaserGroup{
        display:flex;
        flex-direction: column;
        gap:var(--grid__gutter);
    }
}

@media screen and (min-width:1024px){
    .teaserGroup{
        display:grid;
        grid-template-columns: repeat(3, 1fr);
        gap:var(--grid__gutter);
    }
}



.teaserCard{
    position:relative;
    background-color:#fff;
    border-radius:var(--border-radius);
    overflow:hidden;

    display:flex;
    flex-direction:column;
}

.teaserCard .content-image{
    position:relative;
    /* aspect-ratio: 4 / 3; */
    overflow:hidden;
}

/* .teaserCard .content-image img{
    position:absolute;
    transform:translate(-50%, -50%);
    top:50%;
    left:50%;
} */

.teaserTop{
    position:relative;
}

.teaserTop :is(h2, h3, h4, h5){
    color:#fff;
    position:absolute;
    left:1rem;
    right:1rem;
    bottom:1rem;

    margin-bottom:0;

    line-height:1em;
    font-weight:var(--fw_semi_bold);
    font-size:2.2rem;
    text-shadow: var(--text-shadow);
    
}

.teaserBottom{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    padding:1rem;
    height:100%;
    gap:1rem;
}

/*-----------------------------------------------------------------------------< Link mit Warnung >---*/

.warningOverlay{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:rgba(0,0,0,.75);
    z-index:9999;
    visibility: hidden;
    pointer-events: none;
    opacity:0;
    transition: opacity .5s, visibility 0s .5s;
}

.warningOverlay.show{
    opacity:1;
    transition: visibility 0s, opacity .5s;
    visibility: visible;
    pointer-events:all;
}

.warningOverlay.clicked{
    transition: visibility 0s !important;
}



.warningContent{
    position:absolute;
    transform:translate(-50%, -50%) scale(.8);
    top:50%;
    left:50%;
    background-color:#fff;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding:2rem;
    transition:transform .2s;
}

.warningOverlay.show .warningContent{
    transform:translate(-50%, -50%) scale(1);
}

.warningContent .content-text{
    margin-bottom:2rem;
}

.warningContent button.closeWarning{
    background-color:#fff;
    border:1px solid var(--light-gray_1);
    margin-right:1rem;
}

/*-----------------------------------------------------------------------------< Bibliothek >---*/

.library{
    background-color:var(--blue);
    color:#fff;
}

@media screen and (min-width:769px){
    .library > .inside{
        padding-right:15rem !important;
        position:relative;
    }
}


.library > .inside:before{
    content:"";
    display:block;
    width:10rem;
    height:10rem;
    background-image:url(../../files/theme-files/img/buch.svg);
    background-repeat: no-repeat;
    background-size:contain;
    background-position:center;

    position:absolute;
    transform:translateY(-50%);
    top:50%;
    right:1rem;
}

@media screen and (max-width:768px){
    .library > .inside:before{
        position:relative;
        transform:translateY(0);
        right:inherit;
        top:0;
        width:5rem;
        height:5rem;
        margin-bottom:1rem;
    }

}

/*-----------------------------------------------------------------------------< Company Cards >---*/

.companyCards{
    display:grid;
    gap:var(--grid__gutter);
}

.companyCard{
    box-shadow:var(--box-shadow);
    border-radius:var(--border-radius);
    overflow:hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color:#fff;

}

.companyCards.cols_2{ grid-template-columns: repeat(2, 1fr); }
.companyCards.cols_3{ grid-template-columns: repeat(3, 1fr); }

.companyCard .companyTop :is(h2, h3, h4 ,h5){
    margin-bottom:0 !important;
    font-size:1rem;
    font-weight:var(--fw_bold);
}

.companyCard .companyTop :is(p){
    font-size:var(--fs_small);
}

.companyCard .companyTop,
.companyCard .content-hyperlink{
    padding:1rem;
}

.companyCards .companyLogo{
    margin:2rem 0;
    padding:1rem;
}

.companyCard .companyLogo figure{
    width:80%;
}


/*-----------------------------------------------------------------------------< Suchergebnisse >---*/

main .formbody > .widget:not(:last-child){
    margin-bottom:1rem;
}

.mod_search input.text{
    padding:.5rem 1rem;
    width:100%;
    font-size:inherit;
    border:1px solid var(--yellow);
    border-radius:var(--border-radius);
}

#searchForm form{
    margin-bottom:2rem;
}

#searchForm p.info{
    font-size:var(--fs_small);
}

.search_default:not(:last-child){
    margin-bottom:3rem;
    border-bottom:1px solid var(--light-gray_1);
    padding-bottom:3rem;
}

.search_default .highlight{
    background-color:var(--yellow);
}

.search_default .url{
    font-size:var(--fs_small);
}

/*-----------------------------------------------------------------------------< Cookie-Bar >---*/

.contao-cookiebar .cc-footer{
    display:flex;
    gap:var(--grid__gutter);
    font-size:var(--fs_small);
}

.contao-cookiebar .cc-footer > button{
    flex-grow: 1;
}

.contao-cookiebar .cc-footer > button{
    border:1px solid var(--light-gray_1);
}

.contao-cookiebar .cc-footer > button:hover{
    background-color:var(--yellow);
    border-color:var(--yellow);
}

/*-----------------------------------------------------------------------------< Sitemap >---*/

.mod_sitemap a:where(:hover, :focus){
    color:var(--blue);
}

.mod_sitemap ul.level_2{
    list-style-type: disc;
}

.mod_sitemap ul.level_3{
    list-style-type:circle;
}

.mod_sitemap ul.level_1 ul{
    margin-left:2rem;
}

.mod_sitemap ul.level_1 > li > a{
    font-weight:var(--fw_bold);
}

.mod_sitemap ul.level_2 > li > a{
    font-weight:var(--fw_semi_bold);
}

.mod_sitemap ul.level_1 > li:not(:last-child){
    margin-bottom:2rem;
}

/*-----------------------------------------------------------------------------< Beteiligungsportal >---*/

.nbp-widget{
    padding:.5rem;
    border:1px solid var(--light-gray_1);
    border-radius:var(--border-radius);
    background-color:#fff;
}
@keyframes drawMap{
    0%{ fill-opacity: 0; }
    10%{ fill-opacity: 1; }
    20%{ fill-opacity: .8; }
    30%{ fill-opacity: 1; }
    40%{ fill-opacity: .8; }
    50%{ fill-opacity: 1; }
    60%{ fill-opacity: .7; }
    70%{ fill-opacity: .9; }
    8%{ fill-opacity: .7; }
    90%{ fill-opacity: 1; }
    95%{ fill-opacity: .8;}
    100%{ fill-opacity: 1; }
}

@keyframes logo{
    0%{ fill-opacity: 1; }
    25%{ fill-opacity: .7; }
    50%{ fill-opacity: 1; }
    75%{ fill-opacity: .7; }
    100%{ fill-opacity: 1; }
}

@keyframes drawFill{
    to{
        fill-opacity: 1;
    }
}

@keyframes drawText{
    to{
        stroke-dashoffset: 0;
    }
}

.BrandContainer.play{

    .Brand .tile_1{ animation: drawMap 10s ease-out 0s 1 normal forwards; }
    .Brand .tile_2{ animation: drawMap 10s ease-out .1s 1 normal forwards; }
    .Brand .tile_3{ animation: drawMap 10s ease-out .2s 1 normal forwards; }
    .Brand .tile_4{ animation: drawMap 10s ease-out .3s 1 normal forwards; }
    .Brand .tile_5{ animation: drawMap 10s ease-out .4s 1 normal forwards; }
    .Brand .tile_6{ animation: drawMap 10s ease-out .5s 1 normal forwards; }

    .Brand .tile_d_6{ animation: drawFill .2s ease-out .6s 1 normal forwards; }

    .Brand .tile_7{ animation: drawMap 10s ease-out .6s 1 normal forwards; }
    .Brand .tile_8{ animation: drawMap 10s ease-out .7s 1 normal forwards; }
    .Brand .tile_9{ animation: drawMap 10s ease-out .8s 1 normal forwards; }
    .Brand .tile_10{ animation: drawMap 10s ease-out .9s 1 normal forwards; }
    .Brand .tile_11{ animation: drawMap 10s ease-out 1s 1 normal forwards; }
    .Brand .tile_12{ animation: drawMap 10s ease-out 1.1s 1 normal forwards; }
    .Brand .tile_13{ animation: drawMap 10s ease-out 1.2s 1 normal forwards; }

    .Brand .tile_d_13{ animation: drawFill .2s ease-out 1.3s 1 normal forwards; }

    .Brand .tile_14{ animation: drawMap 10s ease-out 1.3s 1 normal forwards; }
    .Brand .tile_15{ animation: drawMap 10s ease-out 1.4s 1 normal forwards; }
    .Brand .tile_16{ animation: drawMap 10s ease-out 1.5s 1 normal forwards; }

    .Brand .tile_d_16{ animation: drawFill .2s ease-out 1.6s 1 normal forwards; }

    .Brand .tile_17{ animation: drawMap 10s ease-out 1.6s 1 normal forwards; }
    .Brand .tile_18{ animation: drawMap 10s ease-out 1.7s 1 normal forwards; }
    .Brand .tile_19{ animation: drawMap 10s ease-out 1.8s 1 normal forwards; }
    .Brand .tile_20{ animation: drawMap 10s ease-out 1.9s 1 normal forwards; }
    .Brand .tile_21{ animation: drawMap 10s ease-out 2s 1 normal forwards; }

    .Brand .tile_d_21{ animation: drawFill .2s ease-out 2.1s 1 normal forwards; }

    .Brand .tile_22{ animation: drawMap 10s ease-out 2.1s 1 normal forwards; }
    .Brand .tile_23{ animation: drawMap 10s ease-out 2.2s 1 normal forwards; }
    .Brand .tile_24{ animation: drawMap 10s ease-out 2.3s 1 normal forwards; }
    .Brand .tile_25{ animation: drawMap 10s ease-out 2.4s 1 normal forwards; }
    .Brand .tile_26{ animation: drawMap 10s ease-out 2.5s 1 normal forwards; }
    .Brand .tile_27{ animation: drawMap 10s ease-out 2.6s 1 normal forwards; }
    .Brand .tile_28{ animation: drawMap 10s ease-out 2.7s 1 normal forwards; }
    .Brand .tile_29{ animation: drawMap 10s ease-out 2.8s 1 normal forwards; }
    .Brand .tile_30{ animation: drawMap 10s ease-out 2.9s 1 normal forwards; }
    .Brand .tile_31{ animation: drawMap 10s ease-out 3s 1 normal forwards; }
    .Brand .tile_32{ animation: drawMap 10s ease-out 3.1s 1 normal forwards; }

    .Brand .tile_d_32{ animation: drawFill .2s ease-out 3.2s 1 normal forwards; }

    .Brand .tile_33{ animation: drawMap 10s ease-out 3.2s 1 normal forwards; }

    .Brand .tile_d_33{ animation: drawFill .2s ease-out 3.3s 1 normal forwards; }

    .Brand .tile_34{ animation: drawMap 10s ease-out 3.3s 1 normal forwards; }
    .Brand .tile_35{ animation: drawMap 10s ease-out 3.4s 1 normal forwards; }
    .Brand .tile_36{ animation: drawMap 10s ease-out 3.5s 1 normal forwards; }
    .Brand .tile_37{ animation: drawMap 10s ease-out 3.6s 1 normal forwards; }
    .Brand .tile_Burg{ animation: drawFill 2s ease-in 5s 1 normal forwards; }

}


.Brand_Text path{
    stroke-dashoffset: 1830;
    stroke-dasharray: 1830;
}

.BrandContainer.play .Brand_Text g{
    animation:drawFill 2s ease-in 5s forwards;
}

.BrandContainer.play .Brand_Text path{
    animation:drawText 10s forwards;
}

 /*---------------------------------------------------------------------------------< Logo >---*/

 .Logo .tile_1{ animation: logo 5s linear 0s infinite normal; }
 .Logo .tile_2{ animation: logo 5s linear .1s infinite normal; }
 .Logo .tile_3{ animation: logo 5s linear .2s infinite normal; }
 .Logo .tile_4{ animation: logo 5s linear .3s infinite normal; }
 .Logo .tile_5{ animation: logo 5s linear .4s infinite normal; }
 .Logo .tile_6{ animation: logo 5s linear .5s infinite normal; }
 .Logo .tile_7{ animation: logo 5s linear .6s infinite normal; }
 .Logo .tile_8{ animation: logo 5s linear .7s infinite normal; }
 .Logo .tile_9{ animation: logo 5s linear .8s infinite normal; }
 .Logo .tile_10{ animation: logo 5s linear .9s infinite normal; }
 .Logo .tile_11{ animation: logo 5s linear 1s infinite normal; }
 .Logo .tile_12{ animation: logo 5s linear 1.1s infinite normal; }
 .Logo .tile_13{ animation: logo 5s linear 1.2s infinite normal; }
 .Logo .tile_14{ animation: logo 5s linear 1.3s infinite normal; }
 .Logo .tile_15{ animation: logo 5s linear 1.4s infinite normal; }
 .Logo .tile_16{ animation: logo 5s linear 1.5s infinite normal; }
 .Logo .tile_17{ animation: logo 5s linear 1.6s infinite normal; }
 .Logo .tile_18{ animation: logo 5s linear 1.7s infinite normal; }
 .Logo .tile_19{ animation: logo 5s linear 1.8s infinite normal; }
 .Logo .tile_20{ animation: logo 5s linear 1.9s infinite normal; }
 .Logo .tile_21{ animation: logo 5s linear 2s infinite normal; }
 .Logo .tile_22{ animation: logo 5s linear 2.1s infinite normal; }
 .Logo .tile_23{ animation: logo 5s linear 2.2s infinite normal; }
 .Logo .tile_24{ animation: logo 5s linear 2.3s infinite normal; }
 .Logo .tile_25{ animation: logo 5s linear 2.4s infinite normal; }
 .Logo .tile_26{ animation: logo 5s linear 2.5s infinite normal; }
 .Logo .tile_27{ animation: logo 5s linear 2.6s infinite normal; }
 .Logo .tile_28{ animation: logo 5s linear 2.7s infinite normal; }
 .Logo .tile_29{ animation: logo 5s linear 2.8s infinite normal; }
 .Logo .tile_30{ animation: logo 5s linear 2.9s infinite normal; }
 .Logo .tile_31{ animation: logo 5s linear 3s infinite normal; }
 .Logo .tile_32{ animation: logo 5s linear 3.1s infinite normal; }
 .Logo .tile_33{ animation: logo 5s linear 3.2s infinite normal; }
 .Logo .tile_34{ animation: logo 5s linear 3.3s infinite normal; }
 .Logo .tile_35{ animation: logo 5s linear 3.4s infinite normal; }
 .Logo .tile_36{ animation: logo 5s linear 3.5s infinite normal; }
 .Logo .tile_37{ animation: logo 5s linear 3.6s infinite normal; }
/*-----------------------------------------------------------------------------< Hauptmenü >---*/

body:not(.small):not(.big) #mainNav{
    opacity:0;
}


#mainNav span,
#mainNav a,
#mainNav strong{
    display:block;
    color:inherit;
    font-weight:400;
    text-decoration:none;
}

#mainNav ul.level_1 > li > span{
    cursor:pointer;
}

#mainNav ul.level_2 a:where(:hover, :focus){
    color:#fff !important;
}

/* #mainNav ul.level_2 strong{
    cursor: default;
} */


#mainNav ul.level_2 strong{
    display:inline-block !important;
}

body ul.level_2 li.active > strong{
    background-color:var(--yellow);
}

/*
 * Kleines Menü
 */

body.small #background {
    display: none;
}

body.small #mainNav {
    position: fixed;
    top: 0;
    bottom: 0;
    background-color: #D9DBE1;
    left: 102%;
    width: 53%;

    padding: 1rem;

    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;

    transition:left var(--scroll_transition);
}

body.small.openNav #mainNav{
    left:47%;
}

@media screen and (max-width:768px){
    body.small.openNav #mainNav{
        left:25%;
    }
    body.small #mainNav {
        width:75%;
    }
}

body.small #mainNav ul.level_1{
    margin-top:9rem;
}




body.small #mainNav ul.level_1 > li > span{
    font-weight:var(--fw_bold);
}

body.small #mainNav ul.level_1 > li > span:before{
    content:"";
    display: inline-block;
    height: .56rem;
    width: .56rem;
    vertical-align: middle;
    margin-right: .5rem;

    background-color: var(--font-color);
    -webkit-mask-image: url('../../files/theme-files/img/marker.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url('../../files/theme-files/img/marker.svg');
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transform:rotate(-90deg);

    transition: transform .5s, background-color .5s;
}

body.small #mainNav ul.level_1 > li.trail > span:before{
    background-color: var(--yellow) !important;
}

body.small #mainNav ul.level_1 > li.active > span:before{
    background-color: #fff;
    transform:rotate(0deg);
}

body.small #mainNav ul.level_1 > li:not(:last-child){
    border-bottom:1px solid var(--font-color);
}

body.small #mainNav ul.level_2{
    margin-left:1.06rem;
}

body.small #mainNav ul.level_3{
    margin-left:.5rem;
    font-size:var(--fs_small);
}

body.small #mainNav ul.level_2 {
    transition: height .4s, opacity .4s;
    overflow: hidden;
}




/*
 * Großes Menü
 */

/* body.big #mainNav{
    position:absolute;
    right:10rem;
    top:5rem;
} */

body.big span.action {
    display: none;
}

body.big #mainNav span,
body.big #mainNav a,
body.big #mainNav strong {
    position:relative;
    display: block;
    color: inherit;
    font-weight: 400;
    text-decoration: none;
    hyphens: none;
    white-space: nowrap;
}

body.big #mainNav ul.level_1 > li > span:after,
body.big #mainNav ul.level_3 li strong:before,
body.big #mainNav ul.level_3 li a:before,
/* .ce_accordion .toggler:before */
.ce_accordion .marker:before { 
    content: "";
    display: inline-block;
    height: .56rem;
    width: .56rem;
    vertical-align: middle;
    margin-left: .5rem;

    background-color: var(--font-color);
    -webkit-mask-image: url('../../files/theme-files/img/marker.svg');
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    mask-image: url('../../files/theme-files/img/marker.svg');
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    transform-origin: center;
    transition: transform .5s, background-color .5s;
}

body.big #mainNav ul.level_1 > li > span:after{
    position:absolute;
    right:0;
    top:calc(50% - .28rem);
    margin:0;
}

body.big #mainNav ul.level_1 > li.active > span:after{
    transform: rotate(180deg);
    background-color: #fff;

}

body.big #mainNav ul.level_1>li.trail>span:after {
    background-color: var(--yellow);
}


body.big #background {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 100vw;
    background-color: #D9DBE1;
    box-shadow: -.12rem 0 .4rem rgba(0, 0, 0, .16);
}

body.small #mainNav{
    box-shadow: -.12rem 0 .4rem rgba(0, 0, 0, .16);
}

body.big:not(.openNav) #background{
    left: 102vw !important;
}

body.big #background.transition,
body.big #mainNav ul.level_1>li.transition ul.level_2 {
    transition: left .5s ease-in-out;
}

body.big #mainNav {
    padding-right: 4.2rem;
}

body.big #mainNav ul.level_1 {
    position: relative;
    display: flex;
    justify-content: flex-end;
    gap:2rem;
}

body.big #mainNav ul.level_2>li:not(:last-child) {
    margin-bottom: 1rem;
}

body.big #mainNav ul.level_3 li strong:before,
body.big #mainNav ul.level_3 li a:before {
    margin-left: 0;
    margin-right: .3rem;
    transform: rotate(-90deg);

}

body.big #mainNav ul.level_1 > li > span {
    padding:0 1rem;
}

body.big #mainNav ul.level_2 li a,
body.big #mainNav ul.level_2 li strong {
    padding: 0 1rem;
}


body.big #mainNav ul.level_2>li>a,
body.big #mainNav ul.level_2>li>strong {
    font-weight: 800;
}

body.big #mainNav ul.level_2 {
    position: fixed;
    top: 11rem;
    z-index: 0;
    max-height: calc(100vh - 12rem);
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    transition:top var(--scroll_transition);
}

body.big.hideNav #mainNav ul.level_2,
body.big.smallNav #mainNav ul.level_2{
    top:7rem;
}

body.big #mainNav ul.level_1>li.active>ul.level_2 {
    z-index: 1;
}

body.big:not(.openNav) #background+ul.level_1 ul.level_2 {
    left: 102vw !important;
}

body.big #mainNav ul.level_1 > li:not(.transition) li > a,
body.big #mainNav ul.level_1 > li:not(.transition) li > strong {
    display: block;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
}

body.big #mainNav ul.level_1 > li:not(.transition) li.show > a,
body.big #mainNav ul.level_1 > li:not(.transition) li.show > strong {
    pointer-events: all;
    opacity: 1;
}

footer .specialPages{
    margin:3rem 0;
    padding:3rem 0;
    border-top:1px solid var(--font-color);
    border-bottom:1px solid var(--font-color);
}

footer .specialPages .content-text{
    margin-bottom:1rem;
}

footer .mod_customnav ul{
    display:flex;
    flex-wrap: wrap;
    gap:2rem;
    row-gap: 1rem;
}

footer .mod_customnav strong{
    font-weight:inherit;
    text-decoration:none;
}

/*-----------------------------------------------------------------------------< Suche + Hamburger >---*/

body.small #search_1,
body.small #search_2 .ce_form,
body.big #search_3 .ce_form{
    display:none;
}

body.big #search_1{
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:2.6rem;
    height:1.6rem;
    overflow:hidden;
    transition:width .2s, opacity var(--scroll_transition);
}

body.big.openNav #search_1{
    opacity:0;
    pointer-events: none;
}

body.big #search_1.active{
    width:100%;
}

#search_1 button{
    position:absolute;
    right:0;
    top:0;

    display: block;
    width:1.6rem;
    height:1.6rem;

    padding:0;
    margin:0;

    border:none;
    background-color:transparent;
    background-image:url('../../files/theme-files/img/glass.svg');
    background-repeat:no-repeat;
    background-position: center right;
    background-size:1rem;
    cursor: pointer;
}


body.big #search_1 .ce_form{
    opacity:0;
    transition:opacity .5s;
}

body.big #search_1.active .ce_form{
    opacity:1;
    pointer-events: all;
}

body.big #search_1 .ce_form{
    position:absolute;
    right:1.6rem;
    width:calc(100% - 2.6rem);
    overflow:hidden;
}

/* body.small .search button{
    display:none;
} */


body.small .search .ce_form{

}

body.small .ce_form input{

}






body.big #search_2 .ce_form,
body.small #search_3 .ce_form{
    position:absolute;
    transform:translateY(-100%);
    left:1rem;
    top:8.24rem;
    transition:top var(--scroll_transition);
}

body.small #search_3 .ce_form{
    right:1rem;
}

body.big.smallNav #search_2 .ce_form,
body.big.hideNav #search_2 .ce_form,
body.small.smallNav #search_3 .ce_form,
body.small.hideNav #search_3 .ce_form{
    top:5rem;
}

#search_2 .ce_form input[type=text],
#search_3 .ce_form input[type=text]{
    background-color:#fff;
    opacity: .5;
    transition:opacity .2s;
}

#search_2 .ce_form input[type=text]:where(:hover, :focus),
#search_3 .ce_form input[type=text]:where(:hover, :focus){
    opacity:1;
}

body.big:not(.openNav) .hamburger{
    opacity:0;
    pointer-events: none;
}

body.big.openNav .hamburger{
    opacity:1;
    pointer-events: all;
}




/* body.big .hamburger:not(.is-active){
    opacity:0;
    pointer-events:none;
} */















