@charset "UTF-8";
body, html {
  margin: 0em;
  padding: 0em;
  height: 100%;
  line-height: 1.4em;
  font-size: 1em;
}

@media all {
  .ce-image, .ce-gallery, .ce-row {
    overflow: hidden;
  }
  .ce-column {
    float: left;
  }
  .ce-center .ce-outer {
    position: relative;
    float: right;
    right: 50%;
  }
  .ce-center .ce-inner {
    position: relative;
    float: right;
    right: -50%;
  }
  .ce-gallery figure {
    display: table;
    margin: 0;
  }
  .ce-gallery img {
    display: block;
  }
  .ce-above .ce-gallery {
    margin-bottom: 10px;
  }
  .ce-image .ce-gallery {
    margin-bottom: 0;
  }
  .ce-column {
    margin-right: 10px;
  }
  .ce-column:last-child {
    margin-right: 0;
  }
  .ce-row {
    margin-bottom: 10px;
  }
  .ce-row:last-child {
    margin-bottom: 0;
  }
  *, ::after, ::before {
    box-sizing: border-box;
  }
  figure, header {
    display: block;
  }
  h1, h2 {
    margin-top: 0;
    margin-bottom: .5rem;
  }
  figure {
    margin: 0 0 1rem;
  }
  img {
    vertical-align: middle;
    border-style: none;
  }
  h1, h2 {
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
  }
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
  }
  .no-gutters {
    margin-right: 0;
    margin-left: 0;
  }
  .col-12, .col-lg-6, .col-md-12 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
  }
  .col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  @media (min-width:768px) {
    .col-md-12 {
      -ms-flex: 0 0 100%;
      flex: 0 0 100%;
      max-width: 100%;
    }
  }
  @media (min-width:992px) {
    .col-lg-6 {
      -ms-flex: 0 0 50%;
      flex: 0 0 50%;
      max-width: 50%;
    }
  }
  .bg-white {
    background-color: #fff !important;
  }
  .justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  @media print {
    *, ::after, ::before {
      text-shadow: none !important;
      box-shadow: none !important;
    }
    img {
      page-break-inside: avoid;
    }
    h2 {
      orphans: 3;
      widows: 3;
    }
    h2 {
      page-break-after: avoid;
    }
  }
  .bg-white {
    background-color: #ffffff !important;
  }
  .balken {
    display: inline-block;
  }
  .balken {
    background-color: #000000;
    color: #ffffff;
  }
  ::placeholder {
    color: #999999;
  }
  ::placeholder {
    font-family: 'barlowlight';
    font-weight: normal;
  }
  h2 {
    font-family: 'barlowbold';
    font-weight: normal;
    letter-spacing: 0px;
  }
  .layout_standard h1 span.balken, .balken, .kategorie {
    font-family: 'barlowblack';
    font-weight: normal;
    letter-spacing: 2px;
  }
  header {
    font-size: 1em;
  }
  .ce-body > *:last-child {
    margin-bottom: 0em;
  }
  h1 {
    font-size: 3.75em;
    margin-bottom: 0em;
    line-height: 1em;
  }
  .startseite h1 {
    margin-bottom: 20px;
  }
  :root h1 span.balken {
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  @media screen and (-webkit-min-device-pixel-ratio:0) {
    h1 span.balken {
      display: inline;
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
    }
  }
  @media all and (-ms-high-contrast:none) {
    h1 span.balken {
      display: inline;
      box-decoration-break: clone;
      position: relative;
    }
  }
  @media (min-width:0px) and (max-width:767px) {
    h1 {
      font-size: 1.5em !important;
      margin-bottom: 0em;
      hyphens: auto;
      -webkit-hyphens: auto;
      -ms-hyphens: auto;
    }
    .startseite .banner h1 {
      hyphens: none;
      -webkit-hyphens: none;
      -ms-hyphens: none;
    }
  }
  @media (min-width:768px) and (max-width:991px) {
    h1 {
      font-size: 2.5em !important;
      margin-bottom: 0em;
    }
  }
  @media (min-width:992px) {
    h1 {
      font-size: 3.25em !important;
      margin-bottom: 0em;
    }
  }
  h2 {
    font-size: 2.5em;
    margin-bottom: 25px;
  }
  @media (min-width:768px) and (max-width:991.98px) {
    h2 {
      font-size: 2.25em;
      margin-bottom: 30px;
    }
  }
  @media (min-width:0px) and (max-width:767px) {
    h2 {
      font-size: 1.75em;
      margin-bottom: 10px;
    }
    .startseite .banner h2 {
      margin-bottom: 10px;
      font-size: 1.2em !important;
      hyphens: none;
      -webkit-hyphens: none;
      -ms-hyphens: none;
    }
    .startseite .banner .ce-body h2 {
      margin-top: 10px;
    }
  }
  .kategorie {
    font-size: 1.45em;
    overflow: hidden;
  }
  @media (min-width:768px) and (max-width:991px) {
    .kategorie {
      font-size: 1em;
    }
  }
  @media (min-width:0px) and (max-width:767px) {
    .kategorie {
      font-size: 1em;
    }
  }
  h1, h2 {
    line-height: 1.15em;
  }
  body.startseite h1, .kategorie, .balken {
    text-transform: uppercase;
  }
  .frame {
    position: relative;
  }
  div[class*="col-"] > .frame:not(.stoerer) {
    width: 100%;
  }
  .startseite .banner div[class*="col-"] > .frame {
    width: unset;
  }
  @media screen and (-ms-high-contrast:none), (-ms-high-contrast:active) {
    .frame {
      width: 100%;
    }
  }
  .kategorie {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 666;
  }
  .kategorie {
    background-color: #000000;
    color: #ffffff;
  }
  :root h1 span.balken, :root .kategorie {
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  :root h1 span.balken {
    line-height: 1.65em;
    padding: 0em 0.3em 0.1em 0.3em;
  }
  :root .kategorie {
    padding: 0.25em;
    line-height: 1em;
  }
  @media screen and (-webkit-min-device-pixel-ratio:0) {
    h1 span.balken, .kategorie {
      display: inline;
      -webkit-box-decoration-break: clone;
      box-decoration-break: clone;
    }
    h1 span.balken {
      padding: 0.145em 0.35em 0.15em 0.35em;
      line-height: 1.8em;
    }
    .kategorie {
      padding: 0.25em;
      line-height: 1em;
    }
  }
  @media all and (-ms-high-contrast:none) {
    h1 span.balken {
      padding: 15px 0px 15px 0px !important;
      display: inline;
      line-height: 1.75em !important;
    }
    h1 {
      margin-left: 15px;
    }
    h1 .balken {
      box-shadow: 15px 0 0 #000000, -15px 0 0 #000000;
    }
    .kategorie {
      padding: 10px;
      line-height: 1em;
    }
  }
  @media screen and (-ms-high-contrast:none), (-ms-high-contrast:active) {
    h1 span.balken {
      padding: 15px 0px 15px 0px !important;
      display: inline;
      line-height: 1.75em !important;
    }
    h1 {
      margin-left: 15px;
    }
    h1 .balken {
      box-shadow: 15px 0 0 #000000, -15px 0 0 #000000;
    }
    .kategorie {
      padding: 10px;
      line-height: 1em;
    }
  }
  header :hover, header :focus {
    outline: none !important;
    border: 0px !important;
    border-width: 0px !important;
  }
  div[class*="col"] > .frame:last-child, div[class*="col"] > .frame:not(.center-vertical) .ce-body:first-child {
    height: 100%;
  }
  .grid-2col {
    width: 100%;
  }
  @media (min-width:0px) and (max-width:767.98px) {
    .no-gutters .row > div + div {
      margin-top: 0px;
    }
  }
  @media (min-width:768px) and (max-width:991px) {
    .col-lg-6.col-md-12 + .col-lg-6.col-md-12 {
      margin-top: 15px;
    }
  }
  .no-gutters div[class*="col-"] {
    padding-right: 0px;
    padding-left: 0px;
  }
  .no-gutters .row {
    margin-left: 0em;
    margin-right: 0em;
  }
  .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .ce-gallery, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .ce-outer, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .ce-inner, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .ce-row, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .ce-column, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image .image, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-gallery, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image .ce-outer, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image .ce-inner, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image .ce-row, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image .ce-column, .banner div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image:last-child .ce-image .image {
    height: 100%;
    width: 100%;
  }
  .banner > div[class*="grid-"]:not(.grid-container) div[class*="col-"] .frame-type-image .ce-image img[src*=".jpg"] {
    height: 100%;
    width: 100%;
  }
  .ce-above img {
    margin: auto;
  }
  div[class*="col-"] > .frame:only-child > .ce-body > .ce-image.ce-above:only-child .ce-gallery:not(.no-scale) img {
    margin: 0 !important;
  }
  div[class*="col"] .frame-type-image:last-child .ce-gallery {
    margin-bottom: 0em !important;
  }
  :target:before {
    content: "";
    display: block !important;
    height: 90px;
    margin: -70px 0 0;
  }
  @media (min-width:0px) and (max-width:768px) {
    :target:before {
      content: "";
      display: block !important;
      height: 0px;
      margin: -0px 0 0;
    }
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel img {
    object-fit: cover;
    object-position: center center;
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel div[class*="col-"] > .frame {
    width: inherit !important;
  }
  .startseite .banner > div[class*="grid-"] > .content-item > .row > div[class*="col-"] figure {
    display: flex;
  }
  .startseite .banner > div[class*="grid-"] > .content-item > .row > div[class*="col-"] > .frame-type-image {
    z-index: -1;
  }
  .startseite .banner > div[class*="grid-"] > .content-item > .row > div[class*="col-"] > .frame-type-text {
    object-fit: cover;
    object-position: center center;
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel h1 span.balken {
    padding: 0;
    background-color: transparent;
    color: #000;
    line-height: 1em;
    text-transform: none;
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel .kategorie {
    align-self: flex-start;
    width: fit-content;
    position: relative;
  }
  @media (max-width:991px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel .col-lg-6.bild {
      order: 1;
      margin-top: 0;
      min-height: 150px;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .col-lg-6.text {
      order: 2;
      flex: 1;
    }
  }
  @media (min-width:992px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .content-item {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .content-item > .row {
      flex: 1 1 auto;
      min-height: 0;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .frame-type-image::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: -630px;
      width: 1500px;
      height: 1500px;
      background: #fff;
      transform: skewX(-30deg);
      transform-origin: left top;
      z-index: 2;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .col-lg-6.text {
      flex: 0 0 45%;
      max-width: 45%;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .col-lg-6.bild {
      flex: 0 0 55%;
      max-width: 55%;
    }
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
  }
  @media (max-width:575px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
      padding-left: 30px;
      padding-right: 30px;
    }
  }
  @media (min-width:576px) and (max-width:767px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
      padding-left: calc(((100vw - 540px) / 2) + 15px);
      padding-right: calc(((100vw - 540px) / 2) + 15px);
    }
  }
  @media (min-width:768px) and (max-width:991px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
      padding-left: calc(((100vw - 720px) / 2) + 15px);
      padding-right: calc(((100vw - 720px) / 2) + 15px);
      padding-bottom: 39px;
    }
  }
  @media (min-width:992px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
      padding-left: calc(((100vw - 960px) / 2) + 15px);
      padding-right: 0;
      position: absolute;
    }
  }
  @media (min-width:1200px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel > .content-item > .row > div[class*="col-"] > .frame-type-text {
      padding-left: calc(((100vw - 1140px) / 2) + 15px);
    }
  }
  @media (min-width:992px) {
    .startseite .w-130-desktop.frame-type-text header, .startseite .w-130-desktop.frame-type-text .ce-body {
      width: 130% !important;
    }
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel .text h1, .startseite .banner > div[class*="grid-"].bis-active-panel .text h2 {
    line-height: 1em;
  }
  .startseite .banner > div[class*="grid-"].bis-active-panel h1 span.balken {
    letter-spacing: 0px;
  }
  @media (max-width:767px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h1 {
      font-size: 2.75em !important;
      margin-bottom: 0px;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h2 {
      font-size: 1.75em !important;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .kategorie + header {
      margin-top: 10px;
    }
  }
  @media (min-width:768px) and (max-width:991px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h1 {
      font-size: 4.5em !important;
      margin-bottom: 10px;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h2 {
      font-size: 3.5em !important;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .kategorie + header {
      margin-top: 15px;
    }
  }
  @media (min-width:992px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h1 {
      font-size: 4em !important;
      margin-bottom: 15px;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h2 {
      font-size: 3em !important;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .kategorie + header {
      margin-top: 25px;
    }
  }
  @media (min-width:1200px) {
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h1 {
      font-size: 4.75em !important;
      margin-bottom: 20px;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .text h2 {
      font-size: 3.75em !important;
    }
    .startseite .banner > div[class*="grid-"].bis-active-panel .kategorie + header {
      margin-top: 25px;
    }
  }
}
@media print {
  h2 {
    font-size: 16px;
    margin-top: 1.24em !important;
  }
  h1 {
    font-size: 22px;
  }
  span {
    font-family: barlow !important;
  }
  * {
    overflow: visible !important;
  }
}
@font-face {
  font-family: 'barlowlight';
  src: url('fonts/barlow-light-webfont.woff2') format('woff2'), url('fonts/barlow-light-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'barlowbold';
  src: url('fonts/barlow-bold-webfont.woff2') format('woff2'), url('fonts/barlow-bold-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'barlowblack';
  src: url('fonts/barlow-black-webfont.woff2') format('woff2'), url('fonts/barlow-black-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}