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;
}

body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
#wrapper{width:960px;margin:0 auto}.grid1,.grid2,.grid3,.grid4,.grid5,.grid6,.grid7,.grid8,.grid9,.grid10,.grid11,.grid12{float:left;margin-left:10px;margin-right:10px;display:inline}.mod_article [class^=ce_],.mod_article [class*=" ce_"],.mod_article [class^=content-],.mod_article [class*=" content-"],.mod_article [class^=mod_],.mod_article [class*=" mod_"],.mod_article [class^=module-],.mod_article [class*=" module-"]{margin-left:10px;margin-right:10px}.ce_sliderStart>.content-slider{margin-left:0;margin-right:0}.mod_article .mod_newsreader,.mod_article .mod_eventreader{margin-left:0;margin-right:0}.mod_article [class^=layout_]>*,.mod_article [class*=" layout_"]>*,.mod_article [class^=event_]>*,.mod_article [class*=" event_"]>*{margin-left:10px;margin-right:10px}.mod_article.grid1,.mod_article.grid2,.mod_article.grid3,.mod_article.grid4,.mod_article.grid5,.mod_article.grid6,.mod_article.grid7,.mod_article.grid8,.mod_article.grid9,.mod_article.grid10,.mod_article.grid11,.mod_article.grid12{margin-left:0;margin-right:0}#main .inside{overflow:hidden}.grid1{width:60px}.grid2{width:140px}.grid3{width:220px}.grid4{width:300px}.grid5{width:380px}.grid6{width:460px}.grid7{width:540px}.grid8{width:620px}.grid9{width:700px}.grid10{width:780px}.grid11{width:860px}.grid12{width:940px}.mod_article.grid1{width:80px}.mod_article.grid2{width:160px}.mod_article.grid3{width:240px}.mod_article.grid4{width:320px}.mod_article.grid5{width:400px}.mod_article.grid6{width:480px}.mod_article.grid7{width:560px}.mod_article.grid8{width:640px}.mod_article.grid9{width:720px}.mod_article.grid10{width:800px}.mod_article.grid11{width:880px}.mod_article.grid12{width:960px}.offset1{margin-left:90px!important}.offset2{margin-left:170px!important}.offset3{margin-left:250px!important}.offset4{margin-left:330px!important}.offset5{margin-left:410px!important}.offset6{margin-left:490px!important}.offset7{margin-left:570px!important}.offset8{margin-left:650px!important}.offset9{margin-left:730px!important}.offset10{margin-left:810px!important}.offset11{margin-left:890px!important}.offset12{margin-left:970px!important}.mod_article.offset1{margin-left:80px!important}.mod_article.offset2{margin-left:160px!important}.mod_article.offset3{margin-left:240px!important}.mod_article.offset4{margin-left:320px!important}.mod_article.offset5{margin-left:400px!important}.mod_article.offset6{margin-left:480px!important}.mod_article.offset7{margin-left:560px!important}.mod_article.offset8{margin-left:640px!important}.mod_article.offset9{margin-left:720px!important}.mod_article.offset10{margin-left:800px!important}.mod_article.offset11{margin-left:880px!important}.mod_article.offset12{margin-left:960px!important}@media (min-width:768px) and (max-width:979px){#wrapper{width:744px}.grid1{width:42px}.grid2{width:104px}.grid3{width:166px}.grid4{width:228px}.grid5{width:290px}.grid6{width:352px}.grid7{width:414px}.grid8{width:476px}.grid9{width:538px}.grid10{width:600px}.grid11{width:662px}.grid12{width:724px}.mod_article.grid1{width:62px}.mod_article.grid2{width:124px}.mod_article.grid3{width:186px}.mod_article.grid4{width:248px}.mod_article.grid5{width:310px}.mod_article.grid6{width:372px}.mod_article.grid7{width:434px}.mod_article.grid8{width:496px}.mod_article.grid9{width:558px}.mod_article.grid10{width:620px}.mod_article.grid11{width:682px}.mod_article.grid12{width:744px}.offset1{margin-left:72px!important}.offset2{margin-left:134px!important}.offset3{margin-left:196px!important}.offset4{margin-left:258px!important}.offset5{margin-left:320px!important}.offset6{margin-left:382px!important}.offset7{margin-left:444px!important}.offset8{margin-left:506px!important}.offset9{margin-left:568px!important}.offset10{margin-left:630px!important}.offset11{margin-left:692px!important}.offset12{margin-left:754px!important}.mod_article.offset1{margin-left:62px!important}.mod_article.offset2{margin-left:124px!important}.mod_article.offset3{margin-left:186px!important}.mod_article.offset4{margin-left:248px!important}.mod_article.offset5{margin-left:310px!important}.mod_article.offset6{margin-left:372px!important}.mod_article.offset7{margin-left:434px!important}.mod_article.offset8{margin-left:496px!important}.mod_article.offset9{margin-left:558px!important}.mod_article.offset10{margin-left:620px!important}.mod_article.offset11{margin-left:682px!important}.mod_article.offset12{margin-left:744px!important}}@media (max-width:767px){#wrapper{width:auto}.grid1,.grid2,.grid3,.grid4,.grid5,.grid6,.grid7,.grid8,.grid9,.grid10,.grid11,.grid12{float:none!important;display:block!important;width:auto!important}.offset1,.offset2,.offset3,.offset4,.offset5,.offset6,.offset7,.offset8,.offset9,.offset10,.offset11,.offset12{margin-left:10px!important}}
/* desktop.css */
a,
body,
div,
em,
input,
label,
li,
ol,
p,
select,
span,
strong,
td,
th,
textarea,
u,
ul {
	font-family: 'Source Sans Pro', sans-serif;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	word-wrap: break-word;
	/* Fallback fuer Chrome und IE < 10 */
}

input,
label,
li,
ol,
p,
select,
td,
th,
textarea,
u,
ul {
	font-size: 13pt;
	line-height: 1.4em;
	color: #1a1616
}

h1, h1 span,
h2, h2 span,
h3,
.mod_navigation li {
	font-family: 'Source Sans Pro', sans-serif;
	color: #000;
	letter-spacing: .1em
}

#topnavi {
	float: left;
	margin-left: 5%;
	padding-top: 78px
}

p,
li {
	text-align: justify
}

.clear {
	clear: both
}

.XXXleft {
	float: left
}

.XXXright {
	float: right
}

clean {
	clean:both
}

.overflow {
	overflow: visible
}

#wrapper {
	width: 100%;
	margin-right: auto;
	margin-left: auto
}

#container {
	clear: both;
	margin-bottom: 100px
}

#header {
	height: auto;
	left: 0;
	right: 0;
	top: 0;
	position: fixed;
	padding-bottom: 20px;
	background-color: #fff;
	z-index: 9999
}

#header_logo {
	float: right;
	margin-top: 10px;
	margin-right: 5%
}

#header .mod_changelanguage {
	position: absolute;
	top: 10px;
	right: 20px;
}
#header .mod_changelanguage ul {
	margin: 0;
	padding: 0;
}
#header .mod_changelanguage li {
	list-style-type: none;
}
#header .mod_changelanguage a {
	text-decoration: none;
}

#header .mod_changelanguage .active img {
	opacity: 0.5;
}

.slogan {
	width: 100%;
	margin-top: -5px;
	padding-top: 10px;
	padding-bottom: 30px;
	text-align: center;
	background-color: #8a8a8a;
	color: #fff;
	z-index: -1000
}

.slogan a {
	color: #fff;
}

.slogan.narrow {
	display: none
}

.slogan .left {
	width: 42%;
	padding-left: 5%;
	float: left;
}

.slogan .right {
	width: 42%;
	padding-right: 5%;
	float: right;
}

#header_overlay.left {
	width: 30%;
	top: 250px;
	position: absolute;
	left: 5%;
	z-index: 2000
}

#header_overlay.right {
	width: 30%;
	top: 300px;
	position: absolute;
	right: 5%;
	z-index: 2000
}

#header_overlay.right_top {
	width: 40%;
	top: 210px;
	position: absolute;
	right: 2%;
	z-index: 2000
}

#header .mod_article {
	width: 100%;
	clear: both
}

.mod_navigation li {
	font-size: .9em;
	letter-spacing: .1em
}

.mod_navigation ul li,
.mod_customnav ul li,
.mod_breadcrumb ul li {
	float: left;
	padding-left: 20px;
	font-family: 'Source Sans Pro', sans-serif;
	list-style-type: none
}

.mod_navigation ul li span {
	font-family: 'Source Sans Pro', sans-serif
}

.mod_navigation ul,
.mod_navigation ul li.first {
	padding-left: 0
}

.mod_navigation ul li li.first {
	padding-left: 20px
}

.mod_navigation ul li a,
.mod_customnav ul li a {
	font-family: 'Source Sans Pro', sans-serif;
	text-decoration: none;
	color: #000
}

.mod_breadcrumb,
.mod_breadcrumb ul li a {
	text-decoration: none;
	color: #b3b3b3
}

.mod_navigation ul li.trail,
.mod_navigation ul li.active,
.mod_navigation ul li.trail>a,
.mod_navigation ul li.active>a {
	color: #00f
}

.mod_navigation ul li.trail li.active,
.mod_navigation ul li.trail li.active a {
	color: #00f
}

.mod_navigation ul.level_2 {
	position: absolute;
	display: none;
	padding-left: 0;
	background-color: rgba(237, 237, 237, .7);
	z-index: 1000
}

.mod_navigation ul.level_2 li {
	float: none;
	padding-top: 3px;
	padding-right: 20px;
	padding-bottom: 5px
}

.mod_navigation li:hover ul.level_2 {
	display: block
}

#header .mod_article {
	margin-bottom: -3px
}

#header_phone {
	margin-top: 25px;
	font-size: 1.6em;
	color: #f00
}

.mod_breadcrumb {
	float: left;
	clear: both
}

#XXXmain .mod_article {
	padding-right: 5%;
	padding-left: 5%
}

#main .mod_article.first,
#main .mod_article:first-child {
	margin-top: 135px;
	padding-right: 0;
	padding-left: 0
}

#main .mod_article.next {
	clear: both;
	padding-top: 40;
	padding-right: 0;
	padding-left: 0
}

#main .mod_article a {
	text-decoration: none
}

#main .mod_article .ce_headline {
	width: 90%;
	margin-left: 5%
}

#main .mod_article h1 {
	font-size: 1.8em;
	font-weight: 600
}

#main .mod_article h2 {
	width: 100%;
	padding-bottom: 0;
	font-size: 1.5em;
	font-weight: 600
}

#main .mod_article h3 {
	margin-bottom: -10px;
	font-size: 1.1em;
	font-weight: normal
}

#main .mod_article .ce_text ul,
#main .mod_article .ce_list ul {
	margin-top: 0;
	padding-left: 20px
}

#main .mod_article .ce_text li,
#main .mod_article .ce_list li {
	margin-bottom: 5px
}

#main .mod_article .ce_list li {
	font-size: 1.2em;
	color: #3E9244
}

#main .mod_article .ce_list li span.li_content {
	font-size: .84em;
	color: #000
}

#XXXmain .mod_article .ce_text.left,
#XXXmain .mod_article .ce_list.left,
#XXXmain .mod_article.left {
	width: 42%;
	padding-right: 0;
	padding-bottom: 30px
}

#XXXmain .mod_article .ce_text.right,
#XXXmain .mod_article .ce_list.right,
#XXXmain .mod_article.right {
	width: 43%;
	padding-bottom: 30px;
	padding-left: 0
}

#main .mod_article .ce_text a {
	color: #3E9244
}

.mod_article.next [class^=ce_] {
	margin: 0;
}

#main .ce_download,
#main .ce_downloads.button {
	right: 0;
	top: -5px;
	position: absolute
}

#main .ce_downloads ul,
#main .ce_downloads li {
	margin-left: 0;
	padding-left: 0;
	list-style-type: none
}

#main .ce_download span.download_text {
	top: -12px;
	position: relative;
	margin-right: -5px;
	margin-left: -5px
}

#main .ce_downloads span.download_text {
	top: -12px;
	position: relative;
	margin-right: -5px;
	margin-left: -5px
}

#main .ce_download span.download_text a,
#main .ce_downloads span.download_text a {
	text-decoration: none;
	color: #000
}

#footer {
	width: 100%;
	height: auto;
	max-width: 1200px;
	bottom: 0;
	position: fixed
}

#footer_contact {
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	background-color: #3E9244;
	color: #fff
}

#main .mod_article td {
	width: 50%;
	padding-bottom: 15px
}

#main .mod_article .ce_text.left.width33,
#main .mod_article.left.width33,
.width33 {
	width: 33%
}

#main .mod_article.float img {
	float: left;
	margin-right: 25px
}

#main .mod_article.last .ce_image.last img {
	float: left;
	margin-right: 0
}

#main .mainpic img {
	min-width: 100%;
	max-width: 100%
}

.btn {
	padding: 10px 20px;
	background-color: #3E9244;
	border-radius: 10px;
	font-size: 20px;
	text-decoration: none;
	color: #fff;
	behavior: url('assets/css3pie/1.0.0/PIE.htc');
	background-image: -webkit-linear-gradient(top, #3e9244, #3e9244);
	background-image: -moz-linear-gradient(top, #3e9244, #3e9244);
	background-image: -ms-linear-gradient(top, #3e9244, #3e9244);
	background-image: -o-linear-gradient(top, #3e9244, #3e9244);
	background-image: linear-gradient(to bottom, #3e9244, #3e9244)
}

.btn:hover {
	text-decoration: none;
	background: #45b34b;
	background-image: -webkit-linear-gradient(top, #45b34b, #45b34b);
	background-image: -moz-linear-gradient(top, #45b34b, #45b34b);
	background-image: -ms-linear-gradient(top, #45b34b, #45b34b);
	background-image: -o-linear-gradient(top, #45b34b, #45b34b);
	background-image: linear-gradient(to bottom, #45b34b, #45b34b)
}

#toTop:before {
	color: #fff;
	font-size: 16px;
	font-weight: bold; 
	text-align: center;
	line-height: 1.2;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 80px;
    white-space: normal;
	content: 'Anfrage stellen';
	-webkit-font-smoothing: antialiased
}

#toTop {
    width: 100px;
    height: 100px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    padding: 0;
    text-align: center;
    background-color: #29217B;
    font-size: 1.1em;
    text-transform: none;
    border-radius: 50%;
    z-index: 9999;
    display: flex;              
    align-items: center;        
    justify-content: center;    
}

#toTopGreyBox {
	background-color: #8a8a8a;
	border-radius: 4px 4px 0 0;
	bottom: 0;
	color: #FFFFFF;
	display: none;
	height: 35px;
	position: fixed;
	right: 30px;
	text-align: center;
	text-transform: uppercase;
	width: 48px;
	opacity: 0.9;
	z-index: 10000;
	-webkit-transition: all 0.2s ease-in-out 0s;
	-moz-transition: all 0.2s ease-in-out 0s;
	-o-transition: all 0.2s ease-in-out 0s;
	transition: all 0.2s ease-in-out 0s
}

.left .ce_text, .left .ce_image {
	max-width: 450px;
}

.right .ce_text, .right .ce_image {
	max-width: 450px;
}

.mod_article.next {
	padding-top: 40px;
}

.mod_article.xleft {
	padding-left: calc((100vw - 1000px) / 2) !important;
	padding-right: 10px;
	clear: both;
}
.mod_article.xright {
	padding-left: 10px;
}

.icon-list {
    display: flex;
    align-items: center;   /* vertikal zentrieren */
    gap: 15px;             /* Abstand zwischen Icon und Text */
    margin-bottom: 12px;   /* optional */
}

.icon-list .icon,
.icon-list .icon-number {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.icon-list .icon img {
	max-width: auto;
}

.custom-marker ul {
  list-style: none; /* entfernt Standard-Punkte */
  padding: 0 !important;
  margin: 0;
}

.custom-marker ul li {
  margin: 0.5em 0;
  padding-left: 30px; /* Platz für das Icon */
  position: relative;
}

/* ::marker mit Bild (manche Browser unterstützen content: url()) */
.XXXcustom-marker ul li::marker {
  content: url('/files/images/icon/htz-icon.png');
  /* Größe wird durch das Bild bestimmt; manche Browser skalieren automatisch */
}

.custom-marker ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;  /* gewünschte Breite des Icons */
  height: 16px; /* gewünschte Höhe */
  background-image: url("/files/images/icon/htz-icon.png");
  background-repeat: no-repeat;
  background-size: contain; /* oder feste Werte: 16px 16px */
}

form label::before {
  content: "";
  position: absolute;
  margin-left: -25px;
  margin-top: 12px;
  transform: translateY(-50%);
  width: 16px;  /* gewünschte Breite des Icons */
  height: 16px; /* gewünschte Höhe */
  background-image: url("/files/images/icon/htz-icon.png");
  background-repeat: no-repeat;
  background-size: contain; /* oder feste Werte: 16px 16px */
}

#form-anfrage {
	position:absolute;
	right: 40px;
	margin-top: -350px;
	padding: 20px 20px 20px 40px;
	background-color: #fff;
	opacity: 0.9;
	transition: background-color 3s;
}
#form-anfrage:hover {
	background-color: #eee;
}

#form-anfrage .step2, 
#form-anfrage .step2 p,
#form-anfrage .step2 strong {
	visibility: hidden;
	display: none;
	height: 0;
	transition: height 3s, visibility 3s;
}
#form-anfrage:hover .step2, 
#form-anfrage:hover .step2 p,
#form-anfrage:hover .step2 strong {
	visibility: visible;
	display: block;
	height: auto;
}

form p.error {
	position: absolute;
	width: 60%;
	margin-top: 22px;
}

/* Formulare */
/* --- Grundlayout -------------------------------------------------------- */

form {
    max-width: 90%;
    margin: 0 auto;
    padding: 20px 0;
}

.formbody {
    display: grid;
    gap: 20px;
}

/* --- Labels ------------------------------------------------------------- */

form label {
    font-weight: 600;
    margin-bottom: 6px;
    display: block;
    color: #222;
    float: left;
}

form .widget-textarea label {
	float: none;	
}

/* --- Inputs, Select, Textarea ------------------------------------------ */

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="number"],
form input[type="date"],
form select,
form textarea {
    padding: 8px 8px;
    border: 1px solid #bbb;
    border-radius: 6px;
    font-size: 15px;
    background: #fff;
    transition: all 0.2s ease;
	float: right;
	margin-left: 20px;
	width: 132px;
}

form input[type="submit"], form button[type="submit"] {
	float: right;
}

form .checkbox_container label {
	float: none;
}

form textarea {
    min-height: 120px;
    width: 95%;
}

form .large input {
    width: 60%;
}

/* Focus-Effekt */
form input:focus,
form select:focus,
form textarea:focus {
    border-color: #0077cc;
    box-shadow: 0 0 0 3px rgba(0, 119, 204, 0.15);
    outline: none;
}

/* --- Checkboxen & Radios ------------------------------------------------ */

fieldset {
    border: none;
    padding: 0;
    margin: 0;
}

fieldset legend {
    font-weight: 600;
    margin-bottom: 10px;
}

form .checkbox_container,
form .radio_container {
    display: flex;
    align-items: center;
    gap: 10px;
}

form input[type="checkbox"],
form input[type="radio"] {
    width: 18px;
    height: 18px;
}

/* --- Submit-Button ------------------------------------------------------ */

form .submit_container {
    margin-top: 10px;
    float: right;
}

form input[type="submit"],
form button[type="submit"] {
    background: #29217B;
    color: #fff;
    border: none;
    padding: 8px 8px;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
    font-weight: 600;
    transition: background 0.2s ease, transform 0.1s ease;
}

form input[type="submit"]:hover {
    background: #005fa3;
}

form input[type="submit"]:active {
    transform: scale(0.98);
}

/* --- Fehler / Mandatory ------------------------------------------------- */

.error {
    color: #b00000;
    font-size: 14px;
    margin-top: 4px;
}

.mandatory {
    color: #29217B;
}

.blau, h1 strong {
	color: #3f48cc;
}

/* under_600px.css */
@media only screen and (max-width:600px) {
#header_slogan{width:100%}#header_phone{float:none;margin-top:65px;font-size:1.2em}#main .ce_download{position:static;float:right}#main .mod_article.left,#main .mod_article.right{width:90%}
}
/* under_800px.css */
@media only screen and (max-width:800px) {
.slogan{padding-bottom:20px}.slogan.narrow{display:block}.slogan.wide{display:none}#header_phone{margin-top:17px;font-size:1.0em}#main .mod_article .ce_text.home_teaser,#main .mod_article .ce_text.home_teaser.last{width:48%;margin-right:1%;margin-bottom:40%;margin-left:1%}#main .mod_article .ce_text.home_teaser.third{clear:both;margin-bottom:40px}#main .mod_article .ce_text.home_teaser h1,#main .mod_article .ce_text.home_teaser h2{width:48%}
}
/* under_1000px.css */
@media only screen and (orientation: portrait) and (max-width:1000px) {
	
}

@media (min-width: 768px) and (max-width: 979px) {
	.mod_article.grid6 {
		width: auto;
		max-width: 100% !important;
	}
}

@media only screen and (max-width:1000px) {
	.desktop {
		display: none;
	}
	.mobile {
		display: auto;
	}

	.mod_article.xleft, .mod_article.xright {
		padding-left: calc((100vw - 500px) / 2) !important;
	}
	
	.mod_article.xleft, .mod_article.xright {
		padding: 0 !important;
		margin-left: auto;
		margin-right: auto;
	}
	
	#form-anfrage {
		position: relative;
		margin-top: 0;
		margin-left: 40px;
		background: #eee;
	}
	
	#header {
		height: auto;
		position: relative;
		padding-bottom: 0;
		text-align: center
	}

	#XXXheader_logo {
		float: none;
		margin-right: auto;
		margin-left: auto;
		padding-top: 2px
	}
	
	#header_logo {
		margin-right: 60px;
	}

	#topnavi {
		float: left;
		margin-top: 0;
		margin-bottom: 20px;
		margin-left: 20px;
		padding-top: 0px
	}

	#topnavi ul {
		float: none;
		padding-left: 0
	}

	#topnavi ul li {
		float: none;
		padding-left: 0;
		text-align: center
	}

	#topnavi ul.level_2 {
		left: 60%;
		position: absolute;
		float: none;
		padding-left: 0
	}

	#topnavi ul.level_2 li {
		padding-left: 20px
	}

	#header_phone {
		margin-top: 20px;
		font-size: 1.2em
	}

	#header_overlay.right_top {
		top: 310px;
		position: absolute
	}

	#main .mod_article.first, #main .mod_article:first-child {
		margin-top: 0
	}
}
/* under_1200px.css */
@media only screen and (max-width:1200px) {

#XXXtopnavi {
	padding-top:80px
}

.mod_navigation li {
	font-size:.7em;
	letter-spacing:.1em
}

}
/* michroma-v16-regular - latin */
@font-face {
  font-family: 'Michroma';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/michroma_v16_20230327-231233/michroma-v16-latin-regular.woff2') format('woff2'),
       url('../../files/googlefonts/michroma_v16_20230327-231233/michroma-v16-latin-regular.woff') format('woff');
}

/* source-sans-pro-v21-300 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/source-sans-pro_v21_20230327-231250/source-sans-pro-v21-latin-300.woff2') format('woff2'),
       url('../../files/googlefonts/source-sans-pro_v21_20230327-231250/source-sans-pro-v21-latin-300.woff') format('woff');
}
/* source-sans-pro-v21-600 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/source-sans-pro_v21_20230327-231250/source-sans-pro-v21-latin-600.woff2') format('woff2'),
       url('../../files/googlefonts/source-sans-pro_v21_20230327-231250/source-sans-pro-v21-latin-600.woff') format('woff');
}

/* maven-pro-v40-regular - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-regular.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-regular.woff') format('woff');
}
/* maven-pro-v40-500 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-500.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-500.woff') format('woff');
}
/* maven-pro-v40-600 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-600.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-600.woff') format('woff');
}
/* maven-pro-v40-700 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-700.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-700.woff') format('woff');
}
/* maven-pro-v40-800 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-800.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-800.woff') format('woff');
}
/* maven-pro-v40-900 - latin */
@font-face {
  font-family: 'Maven Pro';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local(''),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-900.woff2') format('woff2'),
       url('../../files/googlefonts/maven-pro_v40_20251203-191243/maven-pro-v40-latin-900.woff') format('woff');
}

