/*! Contents generated by MODX - this file will be overwritten. */
:root {
  --main-bg-color: #ffffff;
  --font-color: #111111;
  --naviumbruch: 1000px;
  --font1:'Montserrat', sans-serif;
  --font2:'Roboto', sans-serif;
  --page-color1:#302783;
  --page-color2:#cd1619;
  --page-color3:#302783;
  --page-color4:#ffffff;
  --maxwidth:1500px;
}







/*!in SCSS wieder integrieren, css var in media queries funktionieren*/

@media (max-width: 1000px) {
  button.menu-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .navbar {
    z-index: 1001;
    position: relative; }
    .navbar::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background: white;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1001; }
  .logo {
    position: relative;
    z-index: 1002; }
  nav {
    display: none;
    position: absolute;
    width: 100%;
    top: 79px;
    border-top: 1px solid #e5ede7;
    -webkit-transform: translateY(-220%);
        -ms-transform: translateY(-220%);
            transform: translateY(-220%);
    background-color: white;
    z-index: 1000;
    -webkit-transition: -webkit-transform ease .3s;
    transition: -webkit-transform ease .3s;
    -o-transition: transform ease .3s;
    transition: transform ease .3s;
    transition: transform ease .3s, -webkit-transform ease .3s; }
    nav ul {
      display: block;
      background: white;
      z-index: 1000;
      width: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      height: -webkit-fit-content;
      height: fit-content;
      border-bottom: 4px solid #073a57; }
    nav li {
      height: auto;
      width: 100%;
      padding: 0; }
      nav li.active::before {
        content: "";
        display: block;
        background-color: #073a57;
        width: 4px;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0; }
      nav li.active:not(.parent)::after {
        content: "";
        display: block;
        background-color: #073a57;
        width: 4px;
        height: 100%;
        position: absolute;
        top: 0;
        right: 0; }
    nav a, nav span {
      width: 100%;
      padding: 12px 20px;
      text-align: center;
      border-bottom: 1px solid #a4bfcf; }
  .menu-active nav {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); }
  nav {
    display: block; } 
    .mactive span {
        border-bottom-style: dotted; }
      .mactive ul {
        visibility: visible;
        opacity: 1;
        height: auto;
        display: block;
        border-top: 0;
        padding-bottom: 0;
        padding: 20px;
        background: rgba(0, 0, 0, 0.05);
        padding-top: 0;
        padding-bottom: 0; }
      li.parent::after {
        right: none;
        border-right: 2px solid var(--page-color1);
        border-bottom: 2px solid var(--page-color1);
        width: 11px;
        height: 11px;
        right: 33px;
        top: 33px; }
      li.parent:hover::after {
        border-right: 2px solid #000;
        border-bottom: 2px solid #000; }
      nav > ul > li > ul {
        visibility: hidden;
        opacity: 0;
        position: relative;
        background: 0;
        padding-top: 0;
        height: 0;
        display: none; }
      nav > ul > li.mactive > ul {
        visibility: visible;
        opacity: 1;
        height: auto;
        display: block; }
      li.parent > ul a, li.parent > ul span {
        border-top: 0; }
      nav > ul > li > ul a, nav > ul > li > ul span {
        line-height: 1.3em; }
        @media (min-width: 1150px) { 
    nav > ul > li:hover > ul{
        display: block;
        opacity: 1;
        visibility: visible;
    }
  }

   
}

    
@media (min-width: 1000px) {
    nav > ul > li:hover > ul{
        display: block;
        opacity: 1;
        visibility: visible;
    }
}/*!Buttonfarbe kehren*/
.buttonweiss .button {
    background: transparent;
    color: var(--page-color2)
    font-weight:500;
    border-radius:0;
    border:2px solid;
    border-color: var(--page-color2);
}

/*!Logogrösse mobil*/
@media (max-width:500px){
    .logo a{
        font-size: 1.2em;
        line-height: 1.2em;
        display: flex;
        align-items: center;
    }
}

/*!Zeilenabstand*/
body {
  line-height: 1.7;
}

/*!Schriftfarbe erzwingen*/
 .beschreibung h2, .beschreibung ul,
{
color: var(--page-color4) !important;
}

#leistung a{text-decoration:none;}
#leistung{cursor:pointer}


.header-content img {
    max-width:350px;
    position:relative;
}
.s-align-c .header-content img {
    margin-bottom: 0;
}
.fix-el {
    background-color: var(--page-color2);
}

.accordion-item h3{
        color: #fff !important;
}


.umbruch h2{
    hyphens:auto;
}

@media(max-width:800px){
    .col2.margin-m-40>div {
        width: 100%;
    }
    
    .ob-button-list{
        flex-wrap: wrap;
        gap: 20px;
    }
}


@media (max-width: 750px){
    .header-content.maxw {
        padding: 30px 20px;
    }
}

@media (max-width: 550px), (max-height: 550px) {
    .accordion{
        margin-top: 20px;
        margin-bottom: 20px;
    }
}

.whiteheadline{
    h3 a{color:white;}
}

.zoom-gallery {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  grid-column-gap: 4px;
  grid-row-gap: 4px;
  margin-top: 4px;
  margin-bottom: 4px;
}

@media (min-width: 750px){
.col3 .c4 {
  width: 20%;
}
}