@charset "UTF-8";
[data-auto-text-color] h1,
[data-auto-text-color] h2,
[data-auto-text-color] h3,
[data-auto-text-color] h4,
[data-auto-text-color] h5,
[data-auto-text-color] h6 {
  color: currentColor;
}
[data-auto-text-color] a:not(.btn) {
  color: var(--accent-color, currentColor);
}
[data-auto-text-color] a:not(.btn):hover {
  color: var(--accent-color, currentColor);
  opacity: 0.8;
}
[data-auto-text-color] hr,
[data-auto-text-color] .border-accent {
  border-color: var(--accent-color, currentColor);
}
[data-auto-text-color] .topic .topic-intro h6 {
  color: var(--heading-color, currentColor);
}
[data-auto-text-color] .topic .topic-intro span {
  border-top-color: var(--line-color, currentColor);
}
[data-auto-text-color] ul.accent-list li::before {
  color: var(--accent-color, currentColor);
}
[data-auto-text-color] .btn:hover {
  color: var(--accent-color, currentColor);
}
[data-auto-text-color] .accent-color {
  color: var(--accent-color, currentColor);
}

.text-accent {
  color: var(--accent-color, currentColor) !important;
}

.border-accent {
  border-color: var(--accent-color, currentColor) !important;
}

.block-dark {
  color: #3b4551;
}
.block-dark .btn,
.block-dark .block-button-default,
.block-dark .btn-primary {
  color: #ffffff;
  background: #e64011;
  border: 2px solid #e64011;
}
.block-dark .btn:hover,
.block-dark .block-button-default:hover,
.block-dark .btn-primary:hover {
  color: #e64011;
  background: transparent;
}

.block-light {
  color: #ffffff;
}
.block-light .btn,
.block-light .block-button-default,
.block-light .btn-primary {
  color: #e64011;
  background: #ffffff;
  border: 2px solid #ffffff;
}
.block-light .btn:hover,
.block-light .block-button-default:hover,
.block-light .btn-primary:hover {
  color: #ffffff;
  background: transparent;
}

/* HEADING + TEXT */
.block-heading {
  margin-bottom: 80px;
}
.block-heading h1,
.block-heading h2,
.block-heading h3,
.block-heading h4,
.block-heading h5,
.block-heading h6 {
  margin-bottom: 0.1em;
  line-height: normal;
}

.block-text-left {
  text-align: left;
}

.block-text-center {
  text-align: center;
}

.block-text-right {
  text-align: right;
}

/* ========================================================================
   Component: Lists
 ========================================================================== */
.block-list {
  padding: 0;
  list-style: none;
}

.block-list-btn {
  line-height: 0;
}

.block-list > * > :last-child {
  margin-bottom: 0;
}

.block-accordion {
  padding: 0;
  list-style: none;
}

/* .block-accordion> :nth-child(n+2) {
	margin-top: 20px;
} */
.block-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  overflow: hidden;
}
.block-accordion-title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  margin-left: 10px;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.block-open > .block-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.block-accordion-content {
  display: flow-root;
  margin-top: 20px;
}

.block-accordion-content > :last-child {
  margin-bottom: 0;
}

.block-type-block-accordion .block-accordion li {
  border-bottom: 1px solid #646b72;
  padding: 20px 0;
}

.block-type-block-accordion .block-accordion li:first-child {
  border-top: 1px solid #646b72;
}

.block-type-block-accordion .block:first-of-type {
  border-top: 0;
  border-bottom: 0;
}

.block-type-block-accordion.block:last-of-type {
  padding-top: 0;
  padding-bottom: 0;
}

/* ========================================================================
   Basis-Layout Komponenten
 ========================================================================== */
.block-container {
  width: 100%;
  max-width: 1400px;
  margin-left: 0;
  padding: 40px;
}
.full-width {
  width: 100%;
  padding: 40px;
}

.full-width-section {
  width: 100%;
  padding: 0;
}
.full-width-section .full-width-container {
  width: 100%;
  max-width: 1400px;
  margin: 0;
  padding: 40px 20px;
}
@media (min-width: 660px) {
  .full-width-section .full-width-container {
    padding: 80px 40px;
  }
}

.first-block {
  margin-top: 75px !important;
}
@media (min-width: 660px) {
  .first-block {
    margin-top: 25px !important;
  }
}

.block-space-btm-0 {
  margin-bottom: 0;
}

.block-space-btm-1 {
  margin-bottom: 40px;
}

.block-space-btm-2 {
  margin-bottom: 80px;
}

/* ========================================================================
   Component: Grid-System
 ========================================================================== */
.block-grid {
  display: flex;
  gap: 40px;
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
  z-index: 1;
}

.block-flex {
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 960px) {
  .block-flex {
    flex-wrap: nowrap;
  }
}
.grid-large {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

.layout-1-1 {
  flex-wrap: nowrap;
}

.layout-1-2-1-2 {
  flex-wrap: nowrap;
}

.layout-1-3-2-3 {
  flex-wrap: nowrap;
}

.layout-2-3-1-3 {
  flex-wrap: nowrap;
}

.layout-1-3-1-3-1-3 {
  flex-wrap: nowrap;
}

.layout-1-2-1-2 .topic .text,
.layout-1-3-2-3 .topic .text,
.layout-2-3-1-3 .topic .text,
.layout-1-3-1-3-1-3 .topic .text {
  column-count: 1;
}
.layout-1-2-1-2 .child-width-2,
.layout-1-3-2-3 .child-width-2,
.layout-2-3-1-3 .child-width-2,
.layout-1-3-1-3-1-3 .child-width-2 {
  width: 50%;
}
@media (min-width: 660px) {
  .layout-1-2-1-2,
  .layout-1-3-2-3,
  .layout-2-3-1-3,
  .layout-1-3-1-3-1-3 {
    flex-direction: row;
  }
}
.layout-1-2-1-2 .block-type-block-cta .cta-container,
.layout-1-3-2-3 .block-type-block-cta .cta-container,
.layout-2-3-1-3 .block-type-block-cta .cta-container,
.layout-1-3-1-3-1-3 .block-type-block-cta .cta-container {
  max-width: 100%;
}
.layout-1-2-1-2 .block-child-width-auto li,
.layout-1-3-2-3 .block-child-width-auto li,
.layout-2-3-1-3 .block-child-width-auto li,
.layout-1-3-1-3-1-3 .block-child-width-auto li {
  width: calc((100% - 40px) / 2);
}

.block-flex-row {
  display: flex;
  flex-direction: row;
  gap: 40px;
  /* @include viewport(tablet) {
  	flex-direction: column;
  } */
}

.block-flex-col {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Horizontale Ausrichtung (Content-Align) */
.block-flex-left {
  justify-content: flex-start;
}

.block-flex-center {
  justify-content: center;
}

.block-flex-right {
  justify-content: flex-end;
}

/* Vertikale Ausrichtung */
.block-flex-top {
  align-items: flex-start;
}

.block-flex-middle {
  align-items: center;
}

.block-flex-bottom {
  align-items: flex-end;
}

/* Hilfklassen für die Reihenfolge */
.block-flex-first {
  order: -1;
}

.block-flex-last {
  order: 999;
}

/* Text-Ausrichtung */
.block-text-left {
  text-align: left;
}

.block-text-center {
  text-align: center;
}

.block-text-right {
  text-align: right;
}

.block-flex-inline {
  display: inline-flex;
}

.block-flex-block-flex-left {
  flex-direction: row-reverse;
}

.block-flex-block-flex-right {
  flex-direction: row;
}

/* Hero-spezifische Anpassungen */
.block-hero {
  position: relative;
  width: 100%;
}

.block-hero.block-flex-center .block-text-header {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive Anpassungen für den Hero */
@media (max-width: 959px) {
  .block-hero {
    flex-direction: column;
  }
  .block-hero > div {
    width: 100% !important;
  }
  .block-visible\@m {
    display: none;
  }
  /* Reihenfolge-Überschreibungen auf Mobilgeräten */
  .block-flex-first {
    order: 0;
  }
}
/* Vertikale Ausrichtung der Elemente im Grid */
.block-grid.block-flex-top {
  align-items: flex-start;
}

.block-grid.block-flex-middle {
  align-items: center;
}

.block-grid.block-flex-bottom {
  align-items: flex-end;
}

/* Horizontale Ausrichtung der Elemente im Grid */
.block-grid.block-flex-left {
  justify-content: flex-start;
}

.block-grid.block-flex-center {
  justify-content: center;
}

.block-grid.block-flex-right {
  justify-content: flex-end;
}

/* Gleichmäßige Verteilung */
.block-grid.block-flex-between {
  justify-content: space-between;
}

.block-grid.block-flex-around {
  justify-content: space-around;
}

/* Zusätzliche Hilfeklassen für Flex-Elemente */
.block-flex-first {
  order: -1;
}

.block-flex-last {
  order: 999;
}

.block-flex-1 {
  flex: 1;
}

.block-flex-2 {
  flex: 2;
}

.block-flex-3 {
  flex: 3;
}

/* Block-Width-Klassen für Spaltenbreiten */
.block-width-auto {
  width: 100%;
  flex: 1;
}
@media (min-width: 660px) {
  .block-width-auto {
    width: 50%;
    flex: 2;
  }
}
@media (min-width: 960px) {
  .block-width-auto {
    width: 33.3333333333%;
    flex: 3;
  }
}
@media (min-width: 1410px) {
  .block-width-auto {
    width: 25%;
    flex: 4;
  }
}

.block-child-width-auto {
  flex-wrap: wrap;
}
.block-child-width-auto li {
  width: 100%;
}
@media (min-width: 660px) {
  .block-child-width-auto li {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 960px) {
  .block-child-width-auto li {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 1410px) {
  .block-child-width-auto li {
    width: calc((100% - 120px) / 4);
  }
}

.block-width-1-2 {
  width: 100%;
}
@media (min-width: 960px) {
  .block-width-1-2 {
    width: 50%;
  }
}

.block-width-1-3 {
  width: 100%;
}
@media (min-width: 960px) {
  .block-width-1-3 {
    width: calc((100% - 80px) * 1 / 3);
  }
}

.block-width-2-3 {
  width: 100%;
}
@media (min-width: 960px) {
  .block-width-2-3 {
    width: calc(66.6666666667% - 40px + 30px);
  }
}

/* Block Styling */
.block {
  padding: 20px 0;
}
@media (min-width: 960px) {
  .block {
    padding: 40px 0;
  }
}

/* Verschachtelte Blocks behandeln */
.block .block {
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 960px) {
  .block .block {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Erste und letzte Blöcke in einem Container */
.block:first-of-type {
  padding-top: 0;
}

.block:last-of-type {
  padding-bottom: 0;
}

/* Verschachtelte erste und letzte Blöcke */
.block .block:first-of-type,
.block .block:last-of-type {
  padding-top: 0;
  padding-bottom: 0;
}

/* Spezielle Styling für Hero-Blöcke */
[class*=block-hero] .full-width-container {
  padding: 0;
}

/* HEADING TOP POSITION FIX */
.block-type-block-heading,
.block-type-block-topic .block-heading {
  margin-top: -0.4em;
}

/* ========================================================================
   Component: Width
 ========================================================================== */
[class*=block-child-width] > * {
  box-sizing: border-box;
  width: 100%;
}

.block-child-width-1-2 > * {
  width: 50%;
}

.block-child-width-1-3 > * {
  width: calc((100% - 80px) / 3);
}

.block-child-width-auto > * {
  width: auto;
}

/*
   * 1. Reset the `min-width`, which is set to auto by default, because
   *    flex items won't shrink below their minimum intrinsic content size.
   *    Using `1px` instead of `0`, so items still wrap into the next line,
   *    if they have zero width and padding and the predecessor is 100% wide.
   */
.block-child-width-expand > :not([class*=block-width]) {
  flex: 1;
  min-width: 1px;
}

/* Single Widths
   ========================================================================== */
.block-width-1-2 {
  width: 100%;
}
@media (min-width: 960px) {
  .block-width-1-2 {
    width: 50%;
  }
}

.full-width {
  width: 100%;
}

/* Section mit Hintergrundbild */
section.has-bg-image {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

/* Optional: Overlay für bessere Lesbarkeit bei Hintergrundbildern */
section.has-bg-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  /* Dunkles Overlay, bei Bedarf anpassen */
  z-index: 0;
}

/* Stellen Sie sicher, dass der Inhalt über dem Overlay angezeigt wird */
section.has-bg-image > * {
  position: relative;
  z-index: 1;
}

/* Spezifische Anpassung für Hero-Blocks innerhalb einer Section mit Hintergrundbild */
section.has-bg-image .block-type-block-hero {
  /* Transparenter Hintergrund, da der Hintergrund bereits auf Section-Ebene ist */
  background: transparent !important;
}

/* Text-Kontrast für Hero-Blocks auf Hintergrundbildern */
section.has-bg-image .block-type-block-hero .block-text-header {
  color: #ffffff;
  /* Heller Text für dunkle Hintergründe */
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  /* Optionaler Textschatten für bessere Lesbarkeit */
}

/* Anpassung für Links in Hero-Blocks auf Hintergrundbildern */
section.has-bg-image .block-type-block-hero a:not(.btn) {
  color: #ffffff;
}

section.has-bg-image .block-type-block-hero a:not(.btn):hover {
  opacity: 0.8;
}

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*=block-divider] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + [class*=block-divider] {
  margin-top: 20px;
}

/* Icon
   ========================================================================== */
.block-divider-icon,
.block-divider-icon-grey {
  position: relative;
  height: 20px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.block-divider-icon {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%22%20viewBox%3D%220%200%20270%20132%22%3E%3Cpath%20d%3D%22M596.659%20261.747h769.342V437.74H596.659z%22%20style%3D%22fill%3Anone%22%20transform%3D%22matrix(.35041%200%200%20.75003%20-209.075%20-196.318)%22%2F%3E%3Cpath%20d%3D%22M0%2070.647c-9.053%209.058-21.554%2014.669-35.342%2014.669-27.566%200-49.992-22.427-49.992-49.992%200-27.566%2022.426-49.992%2049.992-49.992C-21.554-14.668-9.053-9.057%200%20.001l10.641-10.64c-11.78-11.785-28.045-19.084-45.983-19.084-35.867%200-65.046%2029.18-65.046%2065.047%200%2035.866%2029.179%2065.046%2065.046%2065.046%2017.938%200%2034.203-7.299%2045.982-19.083L0%2070.647Z%22%20style%3D%22fill%3A%233c3c3b%3Bfill-rule%3Anonzero%22%20transform%3D%22translate(101.578%2031.416)%22%2F%3E%3Cpath%20d%3D%22M0-129.4c-17.866%200-34.041%207.242-45.75%2018.95l.013.013-58.088%2058.088%2022.977%2022.977%2058.079-58.097C-16.942-93.296-8.892-96.9%200-96.9c17.784%200%2032.2%2014.416%2032.2%2032.2%200%2017.784-14.416%2032.2-32.2%2032.2-13.004%200-22.383-9.046-25.48-12.142l-9.407-9.409-22.921%2022.92L-45.75-18.95C-34.041-7.242-17.866%200%200%200c35.733%200%2064.7-28.967%2064.7-64.7%200-35.733-28.967-64.7-64.7-64.7%22%20style%3D%22fill%3A%23e64011%3Bfill-rule%3Anonzero%22%20transform%3D%22translate(203.733%20131.459)%22%2F%3E%3C%2Fsvg%3E");
}

.block-divider-icon-grey {
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22fill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bstroke-linejoin%3Around%3Bstroke-miterlimit%3A2%22%20viewBox%3D%220%200%20270%20132%22%3E%3Cpath%20d%3D%22M596.659%20261.747h769.342V437.74H596.659z%22%20style%3D%22fill%3Anone%22%20transform%3D%22matrix(.35041%200%200%20.75003%20-209.075%20-196.318)%22%2F%3E%3Cpath%20d%3D%22M0%2070.647c-9.053%209.058-21.554%2014.669-35.342%2014.669-27.566%200-49.992-22.427-49.992-49.992%200-27.566%2022.426-49.992%2049.992-49.992C-21.554-14.668-9.053-9.057%200%20.001l10.641-10.64c-11.78-11.785-28.045-19.084-45.983-19.084-35.867%200-65.046%2029.18-65.046%2065.047%200%2035.866%2029.179%2065.046%2065.046%2065.046%2017.938%200%2034.203-7.299%2045.982-19.083L0%2070.647Z%22%20style%3D%22fill%3A%23dadada%3Bfill-rule%3Anonzero%22%20transform%3D%22translate(101.578%2031.416)%22%2F%3E%3Cpath%20d%3D%22M0-129.4c-17.866%200-34.041%207.242-45.75%2018.95l.013.013-58.088%2058.088%2022.977%2022.977%2058.079-58.097C-16.942-93.296-8.892-96.9%200-96.9c17.784%200%2032.2%2014.416%2032.2%2032.2%200%2017.784-14.416%2032.2-32.2%2032.2-13.004%200-22.383-9.046-25.48-12.142l-9.407-9.409-22.921%2022.92L-45.75-18.95C-34.041-7.242-17.866%200%200%200c35.733%200%2064.7-28.967%2064.7-64.7%200-35.733-28.967-64.7-64.7-64.7%22%20style%3D%22fill%3A%23dadada%3Bfill-rule%3Anonzero%22%20transform%3D%22translate(203.733%20131.459)%22%2F%3E%3C%2Fsvg%3E");
}

.block-divider-icon::before,
.block-divider-icon::after,
.block-divider-icon-grey::before,
.block-divider-icon-grey::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - 25px);
}

.block-divider-icon::before,
.block-divider-icon::after {
  border-bottom: 1px solid #3b4551;
}

.block-divider-icon-grey::before,
.block-divider-icon-grey::after {
  border-bottom: 1px solid #dadada;
}

.block-divider-icon::before,
.block-divider-icon-grey::before {
  right: calc(50% + 25px);
  width: 100%;
}

.block-divider-icon::after,
.block-divider-icon-grey::after {
  left: calc(50% + 25px);
  width: 100%;
}

/* Small
   ========================================================================== */
/*
   * 1. Fix height because of `inline-block`
   * 2. Using ::after and inline-block to make `text-align` work
   */
/* 1 */
.block-divider-small {
  line-height: 0;
}

/* 2 */
.block-divider-small::after {
  content: "";
  display: inline-block;
  width: 120px;
  max-width: 100%;
  border-top: 12px solid #3b4551;
  vertical-align: top;
}

/* Vertical
   ========================================================================== */
.block-divider-vertical {
  width: -moz-max-content;
  width: max-content;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 12px solid #3b4551;
}

/* ========================================================================
   Component: Spacing Module
 ========================================================================== */
.type-block-spacing {
  margin: 120px 0;
}

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.block-description-list {
  /* Style modifier
    ========================================================================== */
  /*
    * Line
    */
}
.block-description-list h5 {
  color: #3b4551;
}
.block-description-list h5:nth-child(n+2) {
  margin-top: 20px;
}
.block-description-list dd {
  padding-top: 20px;
}
.block-description-list.block-description-list-divider > h5:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #646b72;
}

/* ========================================================================
   Component: Hero
 ========================================================================== */
.block-hero {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  /* Hero mit Hintergrundbild */
  /* Overlay für Hero-Hintergründe */
  /* Overlay-Stufen */
  /* Text-Visibility-Klassen */
  /* Flex-Hilfklassen */
  /* Text-Ausrichtung */
  /* Spaltenbreiten */
  /* Z-Index für Inhalte über dem Overlay */
}
@media (min-width: 960px) {
  .block-hero {
    flex-wrap: nowrap;
  }
}
.block-hero h6 {
  margin-bottom: 40px;
}
.block-hero h2 {
  margin-bottom: 40px;
}
.block-hero ul {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}
@media (min-width: 660px) {
  .block-hero ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (min-width: 960px) {
  .block-hero ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (min-width: 1410px) {
  .block-hero ul {
    grid-template-columns: repeat(3, 1fr);
  }
}
.block-hero ul.block-list-btn {
  line-height: normal;
}
.block-hero ul li {
  display: grid;
  text-align: center;
}
.block-hero .has-bg-image {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.block-hero .has-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  /* Standard-Deckkraft */
  z-index: 0;
  pointer-events: none;
}
.block-hero .overlay-0::before {
  opacity: 0;
}
.block-hero .overlay-5::before {
  background-color: rgba(0, 0, 0, 0.05);
}
.block-hero .overlay-10::before {
  background-color: rgba(0, 0, 0, 0.1);
}
.block-hero .overlay-15::before {
  background-color: rgba(0, 0, 0, 0.15);
}
.block-hero .overlay-20::before {
  background-color: rgba(0, 0, 0, 0.2);
}
.block-hero .overlay-25::before {
  background-color: rgba(0, 0, 0, 0.25);
}
.block-hero .overlay-30::before {
  background-color: rgba(0, 0, 0, 0.3);
}
.block-hero .overlay-35::before {
  background-color: rgba(0, 0, 0, 0.35);
}
.block-hero .overlay-40::before {
  background-color: rgba(0, 0, 0, 0.4);
}
.block-hero .overlay-45::before {
  background-color: rgba(0, 0, 0, 0.45);
}
.block-hero .overlay-50::before {
  background-color: rgba(0, 0, 0, 0.5);
}
.block-hero .overlay-55::before {
  background-color: rgba(0, 0, 0, 0.55);
}
.block-hero .overlay-60::before {
  background-color: rgba(0, 0, 0, 0.6);
}
.block-hero .overlay-65::before {
  background-color: rgba(0, 0, 0, 0.65);
}
.block-hero .overlay-70::before {
  background-color: rgba(0, 0, 0, 0.7);
}
.block-hero .overlay-75::before {
  background-color: rgba(0, 0, 0, 0.75);
}
.block-hero .overlay-80::before {
  background-color: rgba(0, 0, 0, 0.8);
}
.block-hero .overlay-85::before {
  background-color: rgba(0, 0, 0, 0.85);
}
.block-hero .overlay-90::before {
  background-color: rgba(0, 0, 0, 0.9);
}
.block-hero .overlay-95::before {
  background-color: rgba(0, 0, 0, 0.95);
}
.block-hero .overlay-100::before {
  background-color: rgb(0, 0, 0);
}
.block-hero .block-light {
  color: #ffffff;
}
.block-hero .block-light h1,
.block-hero .block-light h2,
.block-hero .block-light h3,
.block-hero .block-light h4,
.block-hero .block-light h5,
.block-hero .block-light h6 {
  color: #ffffff;
}
.block-hero .block-light a:not(.btn) {
  color: rgba(255, 255, 255, 0.9);
}
.block-hero .block-light a:not(.btn):hover {
  color: #ffffff;
  opacity: 0.8;
}
.block-hero .block-dark {
  color: #43494f;
  /* Brand-Farbe */
}
.block-hero .block-dark h1,
.block-hero .block-dark h2,
.block-hero .block-dark h3,
.block-hero .block-dark h4,
.block-hero .block-dark h5,
.block-hero .block-dark h6 {
  color: #43494f;
}
.block-hero .block-flex {
  display: flex;
}
.block-hero .block-flex-center {
  justify-content: center;
}
.block-hero .block-flex-left {
  justify-content: flex-start;
}
.block-hero .block-flex-right {
  justify-content: flex-end;
}
.block-hero .block-flex-middle {
  align-items: center;
}
.block-hero .block-flex-top {
  align-items: flex-start;
}
.block-hero .block-flex-bottom {
  align-items: flex-end;
}
.block-hero .block-flex-first {
  order: -1;
}
.block-hero .block-text-left {
  text-align: left;
}
.block-hero .block-text-center {
  text-align: center;
}
.block-hero .block-text-right {
  text-align: right;
}
.block-hero .block-child-width-1-1 {
  width: 100%;
}
.block-hero .has-bg-image > div,
.block-hero .has-overlay > div {
  position: relative;
  z-index: 1;
}

/* Vertikale Ausrichtung der Elemente im Grid */
.block-grid.block-flex-top {
  align-items: flex-start;
}

.block-grid.block-flex-middle {
  align-items: center;
}

.block-grid.block-flex-bottom {
  align-items: flex-end;
}

/* Horizontale Ausrichtung der Elemente im Grid */
.block-grid.block-flex-left {
  justify-content: flex-start;
}

.block-grid.block-flex-center {
  justify-content: center;
}

.block-grid.block-flex-right {
  justify-content: flex-end;
}

/* Gleichmäßige Verteilung */
.block-grid.block-flex-between {
  justify-content: space-between;
}

.block-grid.block-flex-around {
  justify-content: space-around;
}

/* Zusätzliche Hilfeklassen für Flex-Elemente */
.block-flex-first {
  order: -1;
}

.block-flex-last {
  order: 999;
}

.block-flex-1 {
  flex: 1;
}

.block-flex-2 {
  flex: 2;
}

.block-flex-3 {
  flex: 3;
}

/* ========================================================================
   Component: Topic
 ========================================================================== */
.topic-container {
  display: flex;
  gap: 120px;
  flex-wrap: wrap;
  flex-direction: row;
}
.topic-container.child-width-1, .topic-container.child-width-2, .topic-container.child-width-3, .topic-container.child-width-4 {
  width: 100%;
}
.topic-container.child-width-2 {
  gap: 40px;
}
@media (min-width: 960px) {
  .topic-container.child-width-2 > .topic {
    width: calc((100% - 40px) / 2);
  }
}
.topic-container.child-width-3 {
  gap: 40px;
}
@media (min-width: 960px) {
  .topic-container.child-width-3 > .topic {
    width: calc((100% - 40px) / 2);
  }
}
.topic-container.child-width-3 > .topic h2 {
  font-family: Gotham-Book;
  font-size: 28px;
  line-height: 1.3;
  font-weight: normal;
}
@media (min-width: 1410px) {
  .topic-container.child-width-3 > .topic {
    width: calc((100% - 80px) / 3);
  }
}
.topic-container.child-width-3 > .topic h2 {
  font-family: Gotham-Book;
  font-size: 21px;
  line-height: 1.3;
  font-weight: normal;
}

.topic {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
@media (min-width: 960px) {
  .topic.child-width-3 {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 960px) {
  .topic.child-width-4 {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 1410px) {
  .topic.child-width-4 {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 1540px) {
  .topic.child-width-4 {
    width: calc((100% - 120px) / 4);
  }
}
.topic .topic-intro {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1rem;
  width: 100%;
}
.topic .topic-intro:has(h6:empty) {
  gap: 0;
}
.topic .topic-intro h6 {
  font-family: Gotham-Medium;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
  white-space: nowrap;
}
.topic .topic-intro span {
  border-top: 12px solid;
  display: block;
  flex: 1;
  min-width: 50px;
}
.topic h2 {
  font-family: Gotham-Light;
  font-size: 30px;
}
@media (min-width: 660px) {
  .topic h2 {
    font-size: 36px;
  }
}
.topic .text {
  column-count: 1;
  column-gap: 40px;
}
@media (min-width: 960px) {
  .topic .text {
    column-count: 2;
  }
}
.topic .text p {
  margin: 0 0 1em 0;
  break-inside: avoid;
}

.block-topic-intro {
  margin-bottom: 60px;
  display: grid;
  gap: 1rem;
  grid-template-columns: 25% auto;
}
@media (min-width: 660px) {
  .block-topic-intro {
    grid-template-columns: 35% auto;
    margin-bottom: 25px;
  }
}
.block-topic-intro h6 {
  font-family: Gotham-Medium;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
}
.block-topic-intro span {
  border-top: 12px solid #e64011;
}

.topic-link {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  flex-direction: row;
}
.topic-link .topic-link-item {
  min-width: 0;
}
@media (min-width: 660px) {
  .topic-link .topic-link-item.child-width-1, .topic-link .topic-link-item.child-width-2, .topic-link .topic-link-item.child-width-3, .topic-link .topic-link-item.child-width-4 {
    width: 100%;
  }
}
@media (min-width: 960px) {
  .topic-link .topic-link-item.child-width-2 {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 960px) {
  .topic-link .topic-link-item.child-width-3 {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 1410px) {
  .topic-link .topic-link-item.child-width-3 {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 960px) {
  .topic-link .topic-link-item.child-width-4 {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 1410px) {
  .topic-link .topic-link-item.child-width-4 {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 1540px) {
  .topic-link .topic-link-item.child-width-4 {
    width: calc((100% - 120px) / 4);
  }
}
.topic-link a {
  display: block;
  position: relative;
}
.topic-link a h6 {
  position: relative;
  top: 0;
  font-family: Gotham-Medium;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
  margin-bottom: 15px;
  transition: 0.5s;
}
@media (min-width: 660px) {
  .topic-link a h6 {
    margin-bottom: 25px;
  }
}
.topic-link a span {
  border-top: 12px solid #e64011;
  margin-bottom: 25px;
  display: block;
  transition: 0.5s;
}
.topic-link a:hover h6 {
  top: -8px;
  transition: 0.5s;
}
.topic-link a:hover span {
  border-top: 12px solid #3b4551;
  transition: 0.5s;
}

[class*=block-inline] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden;
}

/* ========================================================================
   Component: Testimonials
 ========================================================================== */
.block-testimonial ul {
  gap: 40px;
}
.block-testimonial ul li {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: space-between;
  align-items: stretch;
  background-color: #FBD5C5;
  padding: 40px;
  border-radius: 4px;
  min-width: 0;
}
.block-testimonial .block-child-width-1-2 > * {
  width: calc(50% - 20px);
}
.block-testimonial .testimonial p {
  position: relative;
  font-family: Gotham-Book;
  font-size: 21px;
  line-height: 1.5;
}
.block-testimonial .testimonial p::before, .block-testimonial .testimonial p::after {
  position: absolute;
  font-family: Gotham-Book;
  font-size: 24px;
}
.block-testimonial .testimonial p::before {
  content: "„";
  left: -0.5em;
}
.block-testimonial .testimonial p::after {
  content: "“";
  bottom: -3px;
}
.block-testimonial .testimonial .block-testimonial-profile {
  gap: 20px;
}
.block-testimonial .testimonial .block-testimonial-profile .block-testimonial-name {
  gap: 40px;
}
.block-testimonial .testimonial .block-testimonial-profile .block-testimonial-name span {
  font-family: Gotham-Medium;
  font-size: 0.8em;
  line-height: 1.2;
  margin-top: 6.6666666667px;
  display: block;
}
.block-testimonial .testimonial .block-profile-img img {
  border-radius: 50%;
}

/* ========================================================================
   Component: Steps
 ========================================================================== */
.block-step-content {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.block-step-content p {
  margin: 0;
}

.block-type-block-steps .block-step-reset {
  counter-reset: step-counter;
}

.block-type-block-steps .block-step {
  margin-bottom: 1rem;
}

.block-type-block-steps .block-step:before {
  font-family: Gotham-Book;
  font-size: 3rem;
  display: inline-flex;
  line-height: 1;
  color: #e64011;
  counter-increment: step-counter;
  content: counter(step-counter, decimal-leading-zero);
}

.block-type-block-steps .block-steps-icons > li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

@media (max-width: 960px) {
  .block-type-block-steps .block-steps-icons > li:nth-child(3n):before {
    content: none;
  }
}
.block-type-block-steps .block-steps-icons .block-step-content {
  text-align: left;
}

.block-type-block-steps .block-steps-icons .block-step-icon {
  display: flex;
  position: relative;
  justify-content: flex-start;
  align-items: flex-start;
  width: 4rem;
  height: 4rem;
  margin-bottom: 20px;
  color: #e64011;
  z-index: 5;
  min-width: 0;
}

.block-type-block-steps .block-steps-icons .block-step-icon figure {
  margin: 0;
}

.block-type-block-steps .block-list {
  display: block;
  margin-bottom: 0;
}

/* ========================================================================
   Component: Icon
========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.block-icon > * {
  transform: translate(0, 0);
}

.block-icon {
  margin: 0;
  border: none;
  border-radius: 0;
  overflow: visible;
  font: inherit;
  color: inherit;
  text-transform: none;
  padding: 0;
  background-color: transparent;
  display: inline-block;
  fill: #e64011;
  line-height: 0;
}

.block-icon:not(.block-preserve) [stroke*="#"]:not(.block-preserve) {
  stroke: currentcolor;
}

.block-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0;
}

/* Required for `button`. */
button.block-icon:not(:disabled) {
  cursor: pointer;
}

/*
   * Remove the inner border and padding in Firefox.
   */
.block-icon::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
   * Set the fill and stroke color of all SVG elements to the current text color
   */
.block-icon:not(.block-preserve) [fill*="#"]:not(.block-preserve) {
  fill: currentcolor;
}

.block-icon:not(.block-preserve) [stroke*="#"]:not(.block-preserve) {
  stroke: currentcolor;
}

/*
   * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
   */
.block-icon > * {
  transform: translate(0, 0);
}

/* Image modifier
   ========================================================================== */
/*
   * Display images in icon dimensions
   * 1. Required for `span` with background image
   * 2. Required for `image`
   */
.block-icon-image {
  width: 20px;
  height: 20px;
  /* 1 */
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  /* 2 */
  -o-object-fit: scale-down;
  object-fit: scale-down;
  max-width: none;
}

/* Style modifiers
   ========================================================================== */
/*
   * Link
   * 1. Allow text within link
   */
.block-icon-link {
  color: #999;
  /* 1 */
  text-decoration: none !important;
}

.block-icon-link:hover {
  color: #666;
}

/* OnClick + Active */
.block-icon-link:active,
.block-active > .block-icon-link {
  color: #595959;
}

/*
   * Button
   * 1. Center icon vertically and horizontally
   */
.block-icon-button {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.block-icon-button:hover {
  background-color: #ebebeb;
  color: #666;
}

/* OnClick + Active */
.block-icon-button:active,
.block-active > .block-icon-button {
  background-color: #dfdfdf;
  color: #666;
}

/* ========================================================================
   Component: CTA
========================================================================== */
.block-type-block-cta .cta-container {
  max-width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 660px) {
  .block-type-block-cta .cta-container {
    max-width: 50%;
  }
}
@media (min-width: 1410px) {
  .block-type-block-cta .cta-container {
    max-width: 40%;
  }
}
@media (min-width: 1540px) {
  .block-type-block-cta .cta-container {
    max-width: 30%;
  }
}
.block-type-block-cta .block-flex-left .block-text-left .cta-container {
  margin-right: auto;
  margin-left: 0;
  text-align: left;
}
.block-type-block-cta .block-flex-center .block-text-center .cta-container {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.block-type-block-cta .block-flex-right .block-text-right .cta-container {
  margin-left: auto;
  margin-right: 0;
  text-align: right;
}
.block-type-block-cta h4 {
  margin-bottom: 10px;
}

/* ========================================================================
   Component: Iframe
 ========================================================================== */
.block-iframe-container {
  width: 100%;
  overflow: hidden;
  border-radius: 4px;
  background-color: #f5f5f5;
}
.block-iframe-container iframe {
  border: 0;
  display: block;
}

/* Responsive Aspect Ratios */
.block-iframe-ratio {
  position: relative;
  height: 0;
  overflow: hidden;
}
.block-iframe-ratio iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.block-iframe-ratio-16-9 {
  padding-bottom: 56.25%;
  /* 16:9 */
}

.block-iframe-ratio-4-3 {
  padding-bottom: 75%;
  /* 4:3 */
}

.block-iframe-ratio-1-1 {
  padding-bottom: 100%;
  /* 1:1 */
}

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*=block-column-] {
  -moz-column-gap: 20px;
  column-gap: 20px;
}
@media (min-width: 960px) {
  [class*=block-column-] {
    -moz-column-gap: 40px;
    column-gap: 40px;
  }
}

/*
   * Fix image 1px line wrapping into the next column in Chrome
   */
[class*=block-column-] img {
  transform: translate3d(0, 0, 0);
}

/* Divider
   ========================================================================== */
/*
   * 1. Double the column gap
   */
.block-column-divider {
  -moz-column-rule: 1px solid #3b4551;
  column-rule: 1px solid #3b4551;
  /* 1 */
  -moz-column-gap: 40px;
  column-gap: 40px;
}
@media (min-width: 960px) {
  .block-column-divider {
    -moz-column-gap: 80px;
    column-gap: 80px;
  }
}

/* Width modifiers
   ========================================================================== */
.block-column-1-2,
.block-column-1-3,
.block-column-1-4,
.block-column-1-5,
.block-column-1-6 {
  -moz-column-gap: 1;
  column-gap: 1;
}

@media (min-width: 660px) {
  .block-column-1-2 {
    -moz-column-count: 2;
    column-count: 2;
  }
}

@media (min-width: 660px) {
  .block-column-1-3 {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media (min-width: 960px) {
  .block-column-1-3 {
    -moz-column-count: 3;
    column-count: 3;
  }
}

@media (min-width: 660px) {
  .block-column-1-4 {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media (min-width: 960px) {
  .block-column-1-4 {
    -moz-column-count: 4;
    column-count: 4;
  }
}

@media (min-width: 660px) {
  .block-column-1-5 {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media (min-width: 960px) {
  .block-column-1-5 {
    -moz-column-count: 4;
    column-count: 4;
  }
}
@media (min-width: 1410px) {
  .block-column-1-5 {
    -moz-column-count: 5;
    column-count: 5;
  }
}

@media (min-width: 660px) {
  .block-column-1-6 {
    -moz-column-count: 2;
    column-count: 2;
  }
}
@media (min-width: 960px) {
  .block-column-1-6 {
    -moz-column-count: 6;
    column-count: 6;
  }
}

/* Make element span across all columns
   * Does not work in Firefox yet
   ========================================================================== */
.block-column-span {
  -moz-column-span: all;
  column-span: all;
}

/* ========================================================================
   Component: Numbers
 ========================================================================== */
.numbers {
  flex-direction: column;
}
@media (min-width: 660px) {
  .numbers {
    flex-direction: row;
  }
}
.numbers .numbers-item {
  display: flex;
  flex-direction: column;
  gap: 40px;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  min-width: 0;
}
.numbers .numbers-header {
  display: flex;
  flex-direction: row;
}
.numbers .numbers-header span {
  color: #e64011;
}
.numbers .numbers-header .numbers-number {
  font-family: Gotham-Light;
  font-size: 42px;
  line-height: 1.05;
}
.numbers .numbers-text {
  font-size: 18px;
  line-height: 1.25;
}

/* ========================================================================
   Component: Lists
 ========================================================================== */
.block-lists {
  flex-direction: column;
}
@media (min-width: 660px) {
  .block-lists {
    flex-direction: row;
  }
}
.block-lists .block-list-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: nowrap;
  min-width: 0;
}
.block-lists .block-list-item .block-list-text p {
  margin-bottom: 0;
}
.block-lists .block-list-item ul {
  padding: 0;
  list-style-position: inside;
}
.block-lists .block-list-item ul li span {
  margin-top: 4px;
  margin-right: 0.5rem;
  height: 18px;
  width: 18px;
  margin-bottom: -2px;
  color: #3b4551;
}
.block-lists .block-list-item ul li span.block-list-entry {
  margin: 0;
}
.block-lists .block-list-item ul .block-list-primary > :before {
  color: #3b4551;
}

.block-list-auto .block-list-item {
  width: 100%;
  min-width: 0;
}
