@import url("https://fonts.verwaltungsportal.de/import/?family=STIX+Two+Text:400,400i,500,500i,600,600i,700,700i");
@import url("https://fonts.verwaltungsportal.de/import/?family=Montserrat:300,300i,400,400i,500,500i,600,600i,700,700i");

body {
    font-family: 'STIX Two Text', serif;
    color: #2d2d2d;
    background: #ffffff;
    font-size: 1rem; /* 1rem = 16px */
    line-height: 1.5;
}

@media (min-width: 768px) {
    body {
        font-size: 1.125rem;
    }
}

a {
    color: #c1176c;
}

a:hover,
a:focus {
    color: #c1176c;
    text-decoration: underline;
}

b, strong {
    font-weight: 700;
}

#overflow {
    overflow: hidden;
}

@media (min-width: 1200px) {
    .row, .compact, ._op-container .container {
        max-width: 1440px;
	    width: 100% !important;
    }
}

#content a,
.footerContact a,
#footer a {
    text-decoration: underline;
}

/* ------------------------------------------------- logo ------------------------------------------------ */

#logo {
    display: inline-block;
}

#logo img {
    display: block;
    max-width: 340px;
}

@media (max-width: 991px) {
    #logo img {
        max-width: 210px;
        width: 100%;
    }
}

.contrast_light_font #logo img {
    background-color: #ffffff !important;
}

/* ------------------------------------------------- optionsbar ------------------------------------------------ */

#optionsbar {
    display: flex;
    justify-content: end;
    padding-bottom: 20px;
    padding-top: 25px;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
}

@media (max-width: 991px) {
    #optionsbar {
        padding-bottom: 5px;
        padding-top: 5px;
        justify-content: start;
        padding-left: 15px;
    }
}

@media (min-width: 992px) {
    .is-sticky #optionsbar {
        padding-bottom: 15px;
        padding-top: 10px;
    }
}

#optionsbar {
    display: flex;
    align-items: center;
    align-content: center;
    line-height: 0;
}


#optionsbar>*+* {
    margin-left: 30px;
}

@media (max-width: 767px) {
    #optionsbar>*+* {
        margin-left: 15px;
    }
}

#contrast_style {
    display: flex;
}

#contrast_style button {
    color: #2d2d2d;
    padding: 0;
    display: inline-block;
    width: 29px;
    height: 29px;
    font-weight: 700;
    text-align: center;
    background: #efefef !important;
    position: relative;
    z-index: 1;
    font-size: 0;
    border: none;
    -webkit-transition: all 300ms linear;
    -moz-transition: all 300ms linear;
    -ms-transition: all 300ms linear;
    -o-transition: all 300ms linear;
    transition: all 300ms linear;
}

#contrast_style button:hover,
#contrast_style button:focus {
    background-color: #e0e0e0;
}

#contrast_style button::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    left: -6px;
    top: -6px;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
    -webkit-transition: opacity 150ms linear;
    -moz-transition: opacity 150ms linear;
    -ms-transition: opacity 150ms linear;
    -o-transition: opacity 150ms linear;
    transition: opacity 150ms linear;
}

#contrast_style *+* {
    margin-left: 4px;
}

#contrast_style button::after {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    right: 9px;
    left: 8px;
    bottom: 8px;
    border: 1px solid #000000;
}

#contrast_style button:nth-of-type(1)::after {
    background: linear-gradient(to right, #000000, #000000 50%, rgba(255, 255, 255, 1) 50%);
}

#contrast_style button:nth-of-type(2)::after {
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 50%, #000000 50%);
}

#contrast_style button:nth-of-type(3)::after {
    background: linear-gradient(to right, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 50%, #00ab8e 50%);
}

@media (min-width: 992px) {
    #style {
        display: flex;
    }

    #style button {
        font-family: 'STIX Two Text', serif;
        font-size: 16px;
        background: #efefef !important;
        width: 29px;
        height: 29px;
        padding: 0;
        border: none;
        color: #2b2b2b !important;
        display: inline-block;
        font-weight: 400;
        text-align: center;
        position: relative;
        line-height: 1;
        -webkit-transition: color 150ms linear;
        -moz-transition: color 150ms linear;
        -ms-transition: color 150ms linear;
        -o-transition: color 150ms linear;
        transition: color 150ms linear;
    }

    #style button+button {
        margin-left: 4px;
    }

    #style button:hover {
        background-color: #e0e0e0;
    }
}

/* ------------------------------------------- navigation ------------------------------------------- */

/* burgermenu for tablet */

@media (max-width: 991px) {
    #burgerButton {
       font-size: 13px;
       display: block;
       width: 48px;
       height: 48px;
       border-radius: 2px;
       padding: 8px 0 0 0 !important;
       cursor: pointer;
       background: #ffffff;
       border: none !important;
       border-radius: 4px;
       color: #012936;
       font-weight: 700;
       line-height: 1;
       text-transform: uppercase;
       text-align: center;
       -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.08);
       box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.08);
    }
 
    #burgerButtonInner {
       margin-bottom: 26px;
       display: inline-block;
    }
 
    #burgerButton[aria-expanded="true"] #burgerButtonInner {
       opacity: 0;
    }
 
    .navbar:focus-within #burgerButtonInner {
       opacity: 0;
    }
 
    #burgerButton[aria-expanded="true"] #burgerButtonInner2 {
       -webkit-transform: rotate(-45deg) translate(2px, -4px);
       transform: rotate(-45deg) translate(2px, -4px);
    }
 
    .navbar:focus-within #burgerButtonInner2 {
       -webkit-transform: rotate(-45deg) translate(2px, -4px);
       transform: rotate(-45deg) translate(2px, -4px);
    }
 
    #burgerButton[aria-expanded="true"]:after {
       -webkit-transform: rotate(45deg) translate(-10px, -10px);
       transform: rotate(45deg) translate(-10px, -10px);
    }
 
    .navbar:focus-within #burgerButton:after {
       -webkit-transform: rotate(45deg) translate(-10px, -10px);
       transform: rotate(45deg) translate(-10px, -10px);
    }
 
    #burgerButtonInner2,
    #burgerButton:after {
       -webkit-transition: transform 200ms linear, opacity 200ms linear;
       -moz-transition: transform 200ms linear, opacity 200ms linear;
       -ms-transition: transform 200ms linear, opacity 200ms linear;
       -o-transition: transform 200ms linear, opacity 200ms linear;
       transition: transform 200ms linear, opacity 200ms linear;
    }
 
    .navbar:focus-within #burgerButtonInner2,
    .navbar:focus-within #burgerButton:after {
       -webkit-transition: transform 200ms linear, opacity 200ms linear;
       -moz-transition: transform 200ms linear, opacity 200ms linear;
       -ms-transition: transform 200ms linear, opacity 200ms linear;
       -o-transition: transform 200ms linear, opacity 200ms linear;
       transition: transform 200ms linear, opacity 200ms linear;
    }
 
    #burgerButtonInner2 {
       top: 26px;
    }
 
    #burgerButton:after {
       top: 36px;
    }
 
    #burgerButtonInner2,
    #burgerButton:after {
       content: "";
       display: block;
       position: absolute;
       background: #012936;
       border-radius: 2px;
       width: 38px;
       height: 3px;
       left: 5px;
       font-size: 0;
    }
 
    .navbar-nav {
       margin: 20px 0;
    }
 
    .navbar-collapse {
       padding: 30px 0;
       top: 0;
       background: #ffffff;
       position: fixed;
       left: -100%;
       bottom: 0;
       z-index: 100;
       height: auto !important;
       -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
       box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
       opacity: 0;
       pointer-events: none;
       overflow-y: auto;
       -webkit-transition: left 300ms linear, opacity 300ms linear;
       -moz-transition: left 300ms linear, opacity 300ms linear;
       -ms-transition: left 300ms linear, opacity 300ms linear;
       -o-transition: left 300ms linear, opacity 300ms linear;
       transition: left 300ms linear, opacity 300ms linear;
    }
 
    .navbar-collapse[aria-expanded="true"],
    .navbar-collapse.in {
       left: 0;
       opacity: 1;
       pointer-events: auto;
       width: calc(100% - 90px);
    }
 
    .navbar-header {
       position: fixed;
       top: 15px;
       right: 15px;
       z-index: 101;
    }
 
    .navbar-toggle::before {
       content: "";
       opacity: 0;
       position: fixed;
       top: 0;
       right: 0;
       bottom: 0;
       width: 0;
       z-index: -1;
       display: block;
       background-color: rgba(0, 0, 0, 0.5);
       -webkit-transition: width 300ms linear, opacity 300ms linear;
       -moz-transition: width 300ms linear, opacity 300ms linear;
       -ms-transition: width 300ms linear, opacity 300ms linear;
       -o-transition: width 300ms linear, opacity 300ms linear;
       transition: width 300ms linear, opacity 300ms linear;
    }
 
    .navbar-toggle[aria-expanded="true"]::before {
       opacity: 1;
       width: 90px;
    }

    #menu {
        position: relative !important;
    }
 }
 
 /* menu desktop */
 
 @media (min-width: 992px) {
    #menu {
       background: #fff;
       position: relative;
    }
 
    nav.horizontally .navbar-nav {
       display: -webkit-box;
       display: -ms-flexbox;
       display: flex;
       -webkit-box-pack: justify !important;
       -ms-flex-pack: justify !important;
       justify-content: space-between !important;
       -webkit-box-align: center !important;
       -ms-flex-align: center !important;
       align-items: center !important;
    }
 
    nav.horizontally li[class*="toplevel"]>ul {
       position: absolute;
       top: 100%;
       left: -25vw;
       right: 0;
       z-index: 1000;
       margin: 0;
       padding: 10px 25px;
       padding-top: 20px;
       padding-bottom: 20px;
       overflow-y: auto;
       max-height: 60vh;
       overflow: hidden;
       display: block !important;
       pointer-events: none;
       opacity: 0;
       -webkit-transition: opacity 300ms linear;
       -moz-transition: opacity 300ms linear;
       -ms-transition: opacity 300ms linear;
       -o-transition: opacity 300ms linear;
       transition: opacity 300ms linear;
    }
 
    nav.horizontally li[class*="toplevel"]>ul::after {
       content: "";
       display: block;
       position: absolute;
       width: 100vw;
       z-index: -1;
       -moz-transform: translateX(-50%);
       -webkit-transform: translateX(-50%);
       -o-transform: translateX(-50%);
       -ms-transform: translateX(-50%);
       transform: translateX(-50%);
       left: 50%;
       top: 0;
       bottom: 0;
       background: rgba(255, 255, 255, 0.9);
       -webkit-box-shadow: 0 8px 8px 0 rgba(84, 73, 73, 0.1);
       box-shadow: 0 8px 8px 0 rgba(84, 73, 73, 0.1);
    }
 
    nav.horizontally li[class*="toplevel"]>ul:not(.mCustomScrollbar),
    nav.horizontally li[class*="toplevel"]>ul .mCSB_container {
       -webkit-column-count: 4;
       -moz-column-count: 4;
       column-count: 4;
       -webkit-column-gap: 30px;
       -moz-column-gap: 30px;
       column-gap: 30px;
       max-width: 992px;
       margin-left: auto;
       margin-right: auto;
       padding: 0 15px;
       height: auto;
    }
 
    nav.horizontally li[class*="secondlevel"] {
       float: none;
       -webkit-column-break-inside: avoid;
       page-break-inside: avoid;
       break-inside: avoid;
       display: table !important;
    }
 
    .navbar-default .navbar-nav li[class*="toplevel"]:hover>ul {
       pointer-events: auto !important;
       opacity: 1 !important;
       top: 100%;
       z-index: 1003;
    }
 
    .navbar-default .navbar-nav li[class*="toplevel"]:focus-within>ul {
       pointer-events: auto !important;
       opacity: 1 !important;
       top: 100%;
    }
 
    .nav li[class*="toplevel"].open>.dropdown-menu {
       pointer-events: none !important;
       opacity: 0 !important;
    }
 
    #mCSB_1_scrollbar_vertical {
       left: 50%;
       margin-left: calc(962px / 2);
    }

    .menue_list_thirdlevel_27248 {
        display: block;
    }
 }
 
 @media (min-width: 1200px) {
 
    nav.horizontally li[class*="toplevel"]>ul:not(.mCustomScrollbar),
    nav.horizontally li[class*="toplevel"]>ul .mCSB_container {
       max-width: 1200px;
       padding-top: 25px;
       padding-bottom: 45px;
    }
 
    #mCSB_1_scrollbar_vertical {
       margin-left: calc(1170px / 2);
    }
 }
 
 nav.horizontally li[class$="_end"],
 nav.horizontally li[class$="_start"] {
    display: none;
 }
 
 /* ---------------------------------------------- toplevel ---------------------------------------------- */
 
 .navbar-default li[class*="toplevel"]>a {
    color: #2d2d2d;
    font-weight: 700;
    text-align: left;
    padding: 10px 15px 15px 15px;
    position: relative;
    font-size: 1.375rem;
    line-height: 1.2;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
 }
 
 @media (max-width: 991px) {
    .navbar-default li[class*="toplevel"] {
       border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
 
    nav.horizontally li[class*="toplevel"]>a.dropdown-toggle {
       padding-right: 35px;
    }
 }
 
 @media (min-width: 992px) {
    .navbar-default li[class*="toplevel"]>a {
       padding: 20px 2px;
    }
 }
 
 .navbar-default li[class*="toplevel"]>a::after {
    content: "";
    display: block;
    height: 2px;
    width: 0;
    position: absolute;
    left: 12px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 10px;
    background: #2d2d2d;
    -webkit-transition: width 200ms linear;
    -moz-transition: width 200ms linear;
    -ms-transition: width 200ms linear;
    -o-transition: width 200ms linear;
    transition: width 200ms linear;
 }
 
 /* -------------------------------------------- toplevel-over ------------------------------------------- */
 
 .navbar-default li[class*="toplevel"]:hover>a:after,
 .navbar-default li[class*="toplevel"]>a:hover::after,
 .navbar-default li[class*="toplevel"]>a:focus::after,
 .navbar-default li[class*="toplevel"].open>a::after,
 .navbar-default li[class*="toplevel"].open>a:hover::after,
 .navbar-default li[class*="toplevel"].open>a:focus::after,
 .navbar-default li[class*="toplevel"][class$="_over"]>a::after,
 .navbar-default li[class*="toplevel"][class$="_over"]>a:hover::after,
 .navbar-default li[class*="toplevel"][class$="_over"]>a:focus::after {
    width: 60px;
 }
 
 /* -------------------------------------- secondlevel + thirdlevel dropdown-box -------------------------------------- */
 
 @media (max-width: 991px) {
 
    .navbar-default li[class*="toplevel"]>.dropdown-menu,
    .navbar-default li[class*="toplevel"]>.dropdown-menu>li>.dropdown-menu {
       padding: 10px;
       background: rgba(248, 229, 229, 0.8);
    }
 }
 
 @media (min-width: 992px) {
    .navbar-default li[class*="toplevel"]>.dropdown-menu>li>.dropdown-menu {
       display: block;
    }
 }
 
 /* --------------------------------------------- secondlevel + thirdlevel -------------------------------------------- */
 
 .navbar-default li[class*="secondlevel"]>a,
 .navbar-default li[class*="thirdlevel"]>a {
    color: #2d2d2d;
    text-align: left;
    padding: 8px 35px 8px 15px;
    font-size: 1rem;
    line-height: 1.2;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
 }
 
 .navbar-default li[class*="secondlevel"]>a {
    font-weight: 700;
    text-transform: uppercase;
 }
 
 .navbar-default li[class*="thirdlevel"]>a {
    font-weight: 400;
 }
 
 @media (min-width: 992px) {
    .navbar-default li[class*="secondlevel"]>a {
       padding: 20px 0 2px;
    }
 
    .navbar-default li[class*="thirdlevel"]>a {
       padding: 5px 0 5px 10px;
    }
 }

 .navbar-default li[class*="secondlevel"]>a::after,
 .navbar-default li[class*="thirdlevel"]>a::after {
    content: "";
    display: block;
    height: 2px;
    width: 0;
    position: absolute;
    left: 0px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0px;
    background: #2d2d2d;
    -webkit-transition: width 200ms linear;
    -moz-transition: width 200ms linear;
    -ms-transition: width 200ms linear;
    -o-transition: width 200ms linear;
    transition: width 200ms linear;
 }

 .navbar-default li[class*="thirdlevel"]>a::after {
    left: 20px;
 }
 
 /* ------------------------------------------ secondlevel + thirdlevel over ------------------------------------------ */
 
 .navbar-nav li[class*="secondlevel"]:hover>a,
 .navbar-nav li[class*="secondlevel"]>a:hover,
 .navbar-nav li[class*="secondlevel"]>a:focus,
 .navbar-nav li[class*="secondlevel"].open>a,
 .navbar-nav li[class*="secondlevel"].open>a:hover,
 .navbar-nav li[class*="secondlevel"].open>a:focus,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a:hover,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a:focus,
 .navbar-nav li[class*="thirdlevel"]>a:hover,
 .navbar-nav li[class*="thirdlevel"]>a:focus,
 .navbar-nav li[class*="thirdlevel"].open>a,
 .navbar-nav li[class*="thirdlevel"].open>a:hover,
 .navbar-nav li[class*="thirdlevel"].open>a:focus,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a:hover,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a:focus {
    color: #2d2d2d;
 }

 .navbar-nav li[class*="secondlevel"]:hover>a::after,
 .navbar-nav li[class*="secondlevel"]>a:hover::after,
 .navbar-nav li[class*="secondlevel"]>a:focus::after,
 .navbar-nav li[class*="secondlevel"].open>a::after,
 .navbar-nav li[class*="secondlevel"].open>a:hover::after,
 .navbar-nav li[class*="secondlevel"].open>a:focus::after,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a::after,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a:hover::after,
 .navbar-nav li[class*="secondlevel"][class$="_over"]>a:focus::after,
 .navbar-nav li[class*="thirdlevel"]>a:hover::after,
 .navbar-nav li[class*="thirdlevel"]>a:focus::after,
 .navbar-nav li[class*="thirdlevel"].open>a::after,
 .navbar-nav li[class*="thirdlevel"].open>a:hover::after,
 .navbar-nav li[class*="thirdlevel"].open>a:focus::after,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a::after,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a:hover::after,
 .navbar-nav li[class*="thirdlevel"][class$="_over"]>a:focus::after {
    width: 60px;
 }
/* ----------------------------------------------- banner ----------------------------------------------- */

#headerpic {
    margin: 0 auto;
    position: relative;
    width: 100%;
}

#slider {
    max-height: 250px;
    overflow: hidden;
    position: relative;
}

@media (min-width: 768px) {
    #slider {
        max-height: 470px;
    }
}

@media (min-width: 992px) {
    body.index #slider {
        max-height: 700px;
    }

    #headerpic a.nivo-prevNav {
        left: 65px;
    }

    #headerpic a.nivo-nextNav {
        right: 65px;
    }
}

@media (min-width: 992px) {
    #bannerOverlay {
        margin-top: 0;
        margin-bottom: 0;
        position: absolute;
        left: 0;
        right: 0;
        z-index: 51;
        pointer-events: none;
        bottom: 60px;
    }
}

@media (min-width: 1200px) {
    #bannerOverlay {
        bottom: 70px;
    }
}

#slogan {
    pointer-events: auto;
    color: #ffffff;
    font-size: clamp(1.25rem, 4vw, 3.125rem);
    line-height: 1.2;
    font-weight: 600;
    width: 100%;
    padding: 50px;
    border: 3px solid #ffffff;
    background: rgba(0, 0, 0, 0.4);
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
}

@media (max-width: 991px) {
    #slogan {
        margin-top: 30px;
       color: #2d2d2d;
       background-color: #ffffff;
       border: 3px solid #2d2d2d;
    }
    #slogan a {
        color: #ffffff !important;
    }
    #slogan a:hover,
    #slogan a:focus {
        color: #ffffff !important;
    }
}

#slogan a,
#tabWelcome a {
    display: inline-block;
    padding: 15px 20px;
    font-weight: 600;
    font-size: 1rem;
    text-align: center;
    color: #ffffff;
    background-color: transparent;
    text-decoration: none;
    text-transform: uppercase;
    border: 2px solid rgba(255,255,255,0.8);
    background: rgba(66,66,66,0.8);
}

#slogan a:hover,
#slogan a:focus,
#tabWelcome a:hover,
#tabWelcome a:focus {
    background-color: #2d2d2d;
}

.slider-wrapper, #slider {
    height: 100%;
}

.slider-mask {
    display: none;
}

/* ----------------------------------------------- scroll bottom ----------------------------------------------- */

#scrollBottom a {
    position: relative;
    font-size: 0;
    display: block;
    width: 30px;
    height: 30px;
    margin: 50px auto 10px auto;
    text-align: center;
    color: #ffffff;
    background-color: #00856f;
    border: 2px solid #ffffff;
    pointer-events: auto;
    -webkit-animation: bounceAni 2s infinite 2s;
    animation: bounceAni 2s infinite 2s;
    -webkit-transition: all .2s ease-in;
    transition: all .2s ease-in;
}

@media (min-width: 1200px) {
    #scrollBottom a {
        margin-top: 70px;
    }
}

#scrollBottom a:hover,
#scrollBottom a:focus {
    background-color: #025c4d;
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -o-animation-play-state: paused;
    animation-play-state: paused;
}

#scrollBottom a::after,
#scrollBottom a::before {
    position: absolute;
    content: "";
}

#scrollBottom a::after {
    left: 8px;
    top: 9px;
    width: 8px;
    height: 8px;
    display: inline-block;
    border-left: 2px solid #ffffff;
    border-bottom: 2px solid #ffffff;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: border 300ms linear;
    -moz-transition: border 300ms linear;
    -ms-transition: border 300ms linear;
    -o-transition: border 300ms linear;
    transition: border 300ms linear;
}

#scrollBottom a::before {
    left: 12px;
    top: 7px;
    width: 2px;
    height: 12px;
    background-color: #ffffff;
}

@keyframes bounceAni {
    0%,
    100%,
    20%,
    50%,
    80% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    40% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px);
    }
    60% {
        -webkit-transform: translateY(-5px);
        -ms-transform: translateY(-5px);
        transform: translateY(-5px);
    }
}

/* ------------------------------------------------ content ----------------------------------------------- */

main {
    text-align: left;
    padding-bottom: 40px;
    padding-top: 40px;
    position: relative;
}

@media (min-width: 992px) {
    main {
        padding-bottom: 70px;
        padding-top: 70px;
    }
}

@media (min-width: 1500px) {
    .index main::before {
        position: absolute;
        display: block;
        content: '';
        width: 61px;
        height: 708px;
        top: -150px;
        left: 0;
        background: url('../img/wellenpunkte-footer.png') no-repeat;
    }
}

@media (min-width: 1800px) {
    .index main::before {
        top: -150px;
        left: 100px;
    }
}

.index #content {
    padding-bottom: 0;
    padding-top: 0;
}

@media (min-width: 992px) {
    .index #content {
        padding-bottom: 0;
        padding-top: 0;
    }
}

.index #contenttop_right,
.index #breadcrumbincontent,
.index #content_footer {
    display: none;
}

.index #aboveContent {
    margin: 0;
}

/* ------------------------------------------ h1 - h6, newslink ----------------------------------------- */

.h4link a:link, .h4link a:hover, .h4link a:focus, .h4link a:visited, H6, H5, H4, H3, H2, H1 {
    color: #000000;
    font-weight: 600;
    line-height: 1.2;
    font-family: 'Montserrat', sans-serif;
}

h1, .h1, .legacy_h1 {
    font-size: clamp(1.5625rem, 4vw, 2.8125rem);
}

h2, .h2, .legacy_h2 {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
}

h3, .h3, .legacy_h3 {
    font-size: clamp(1.4375rem, 4vw, 2.3rem);
}

h4, .h4, .h4link a:link, .h4link a:hover, .h4link a:focus, .h4link a:visited, .legacy_h4 {
    font-size: clamp(1.375rem, 4vw, 2.1rem);
}

h5, .h5, .legacy_h5 {
    font-size: clamp(1.3125rem, 4vw, 1.9rem);
}

h6, .h6, .legacy_h6 {
    font-size: clamp(1.25rem, 4vw, 1.7rem);
}

#newslinks, #newsmandate {
    border: 1px solid #2d2d2d;
}

/* ----------------------------------------------- buttons ----------------------------------------------- */

#buttonsTop .buttonStyle {
   display: inline-block;
   width: 100%;
   color: #2d2d2d;
   font-weight: 600;
   font-size: clamp(1.125rem, 4vw, 1.375rem);
   text-transform: uppercase;
   background-color: #ffffff;
   border: 3px solid #e0e0e0;
   text-align: center;
   text-decoration: none;
   margin-bottom: 30px;
   font-family: 'Montserrat', sans-serif;
   display: flex;
   align-items: center;
   align-content: center;
}

#buttonsTop .buttonStyle  .template-page .row {
    margin-left: 0px;
    margin-right: 0px;
}

#buttonsTop .buttonStyle .col-md-0, 
#buttonsTop .buttonStyle .col-md-12 {
    padding-left: 0;
    padding-right: 0;
}

#buttonsTop a {
   color: #2d2d2d;
   display: block;
   padding: 30px clamp(40px, 5vw, 120px);
}

#buttonsTop .buttonStyle:hover,
#buttonsTop .buttonStyle:focus {
    background-color: #e0e0e0;
}


#buttonsBottom .buttonStyle {
   display: inline-block;
   width: 100%;
   color: #2d2d2d;
   font-weight: 600;
   font-size: clamp(1.125rem, 4vw, 1.375rem);
   text-transform: uppercase;
   background-color: #ffffff;
   border: 3px solid #e0e0e0;
   text-align: center;
   text-decoration: none;
   margin-bottom: 30px;
   font-family: 'Montserrat', sans-serif;
   display: flex;
   align-items: center;
   align-content: center;
   min-height: 126px;
}


#buttonsBottom .buttonStyle .template-page .row {
    margin-left: 0px;
    margin-right: 0px;
}


#buttonsBottom .buttonStyle .col-md-0, 
#buttonsBottom .buttonStyle .col-md-12 {
    padding-left: 0;
    padding-right: 0;
}


#buttonsBottom a {
   color: #2d2d2d;
   display: block;
   padding: 30px clamp(20px, 5vw, 60px);
}


#buttonsBottom .buttonStyle:hover,
#buttonsBottom .buttonStyle:focus {
    background-color: #e0e0e0;
}



#buttonsFooter .buttonStyle2 {
    display: inline-block;
    width: 100%;
    color: #ffffff;
    font-weight: 600;
    font-size: clamp(1.125rem, 4vw, 1.375rem);
    text-transform: uppercase;
    border: 3px solid #ffffff;
    text-align: center;
    text-decoration: none;
    margin-bottom: 40px;
    font-family: 'Montserrat', sans-serif;
    
}

#buttonsFooter .buttonStyle2 a {
    color: #ffffff;
    display: block;
    padding: 30px clamp(40px, 5vw, 120px);
}

#buttonsFooter .buttonStyle2:hover,
#buttonsFooter .buttonStyle2:focus {
    color: #2d2d2d;
    background-color: #ffffff;
}

#buttonsFooter .buttonStyle2:hover a,
#buttonsFooter .buttonStyle2:focus a {
    color: #2d2d2d;
}

/* --------------------------------------------------- tabs welcome --------------------------------------------------- */

#tabWelcome {
    padding: 50px 0;
}

@media (min-width: 992px) {
    #tabWelcome {
        padding: 40px 0 80px 0;
    }
}

#tabWelcome>.row {
    border: 40px solid #fff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#tabWelcome .tab {
    padding: 40px;
    color: #ffffff;
    font-size: 1.25rem;
    position: relative;
    background: rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
    #tabWelcome>.row {
        border: 5px solid #fff;
    }

    #tabWelcome .tab {
        padding: 20px;
    }
    
}

@media (min-width: 1400px) {
    #tabWelcome .tab::before {
       position: absolute;
       content: '';
       display: block;
       width: 650px;
       height: 100%;
       top: -40px;
       left: -40px;
       background: rgba(0, 0, 0, 0.65);
    }
}

@media (min-width: 1500px) {
    #tabWelcome .tab::before {
        height: 46vw;
    }
}

@media (min-width: 1800px) {
    #tabWelcome .tab::before {
        height: 37vw;
    }
}

@media (max-width: 1399px) {
    #tabWelcome .tab {
        background: rgba(0, 0, 0, 0.65);
    }
}

#tabWelcome .tab .tabHeadline {
    color: #ffffff;
    font-weight: 600;
    font-size: clamp(1.5625rem, 4vw, 2.8125rem);  
    z-index: 1;
    position: relative;
    font-family: 'Montserrat', sans-serif;
    hyphens: auto;
}

/* --------------------------------------------------- tabs images --------------------------------------------------- */

#tabs div {
    margin-bottom: 30px;
}

#tabs .tab {
    position: relative;
    color: #ffffff;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 70%);
    z-index: 1;
}

#tabs .tab::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height:100%;
    width: 100%; 
    background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 70%);
    z-index: 2;
    pointer-events: none;
}

#tabs .tab:hover::before {
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.6) 100%);
}

@media (min-width: 768px) {
    #tabs .tab {
        min-height: 100%;
        height: 100%;
    }
}

#tabs .tabContent {
    padding: 40px 20px;
    font-size: 1.2rem;
    line-height: 1.4;
}

@media (min-width: 768px) {
    #tabs .tabContent {
        padding: 50px;
    }
}

@media (min-width: 992px) {
    #tabs .tabContent {
        padding: 50px 80px 100px 80px;
    }
}

#tabs .tabHeadline,
#tabs .tabContent h1, #tabs .tabContent h2, #tabs h3, #tabs h4, #tabs h5, #tabs h6 {
    margin: 0;
    font-size: clamp(1.5625rem, 4vw, 1.875rem);
    text-transform: uppercase;
    font-weight: 600;
    position: relative;
    z-index: 3;
    font-family: 'Montserrat', sans-serif;
}

#tabs a {
    color: #ffffff;
}

#tabs h1, #tabs h2, #tabs h3, #tabs h4, #tabs h5, #tabs h6 {
    color: #ffffff;
    hyphens: auto;
}

#tabs .tab img,
#tabs .tab img a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    z-index: 1;
    pointer-events: all;
    -ms-interpolation-mode: bicubic;
    -webkit-transition: transform 300ms linear;
    -moz-transition: transform 300ms linear;
    -ms-transition: transform 300ms linear;
    -o-transition: transform 300ms linear;
    transition: transform 300ms linear;
}

#tabs .tab:hover img a,
#tabs .tab:focus img a {
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.6) 100%);
}

#tabs .template-page .row,
#tabs .template-page div[class*="col"] {
    position: static;
}

/* ----------------------------------------------- search ----------------------------------------------- */

.searchTxt {
    color: #000000;
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(1.375rem, 4vw, 1.875rem);
    font-family: 'Montserrat', sans-serif;
}

#search {
    height: 68px;
    background: #ffffff;
    display: inline-block;
    position: relative;
    width: 100%;
    border: 2px solid #444444;
    margin-bottom: 30px;
}

@media (min-width: 992px) {
    #search {
       margin-bottom: 60px;
    }
}

#search_input {
    color: #2d2d2d;
    font-size: 20px;
    font-style: normal;
    background: transparent;
    padding: 0;
    border: 0;
    line-height: 68px;
    padding-left: 30px;
    padding-right: 43px;
    height: 68px;
    width: 100%;
    font-weight: 600;
}
#search_submit {
    width: 68px;
    border-left: 1px solid #cbcbcb;
    background: #ffffff url('../img/lupe-icon.png') center no-repeat;
    background-size: 27px 27px;
    padding: 0;
    cursor: pointer;
    line-height: 68px;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    font-size: 0;
    -webkit-transition: background-color 300ms linear;
    -moz-transition: background-color 300ms linear;
    -ms-transition: background-color 300ms linear;
    -o-transition: background-color 300ms linear;
    transition: background-color 300ms linear;
}
#search_submit:hover{
    background-color: #e0e0e0;
}
#search_input::-ms-input-placeholder {
    color: #2d2d2d !important;
}
#search_input::-webkit-input-placeholder {
    color: #2d2d2d !important;
}
#search_input::-moz-placeholder {
    opacity: 1;
}
#search_input:-moz-placeholder {
    opacity: 1;
}

#search1 hr {
    width: 100%;
    height: 2px;
    margin: 65px 0;
    opacity: 1;
    background-color: #8a8a8a;
}

/* ----------------------------------------------- events ----------------------------------------------- */

#events .specialHeadline *{
    color: #000000;
}

#events .specialHeadline h1,
#events .specialHeadline h2,
#events .specialHeadline h3 {
    font-size: clamp(1.875rem, 4vw, 2.5rem);
    text-transform: uppercase;
    font-weight: 600;
    text-align: center;
    margin-bottom: 48px;
}

#events {
    padding-bottom: 40px;
    padding-top: 40px;
    background-color: #f0f0f0;
    position: relative;
}

@media (min-width: 1500px) {
    #events::before {
        position: absolute;
        display: block;
        content: '';
        width: 61px;
        height: 708px;
        top: -356px;
        right: 0;
        background: url('../img/wellenpunkte-termine.png') no-repeat;
    }
}

@media (min-width: 1800px) {
    #events::before {
        top: -356px;
        right: 70px;
    }
}

@media (min-width: 768px) {
    #events {
        padding-bottom: 30px;
        padding-top: 30px;
    }
}

@media (min-width: 992px) {
    #events {
        padding-bottom: 66px;
        padding-top: 75px;
    }
}

@media (min-width: 576px) {
    #events .tab_link_entries {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media (min-width: 576px) and (max-width: 767px) {
    #events .tab_link_entry {
        width: calc(50% - 15px);
    }

    #events .tab_link_entry:nth-child(2n+1) {
        margin-right: 15px;
    }

    #events .tab_link_entry:nth-child(2n+2) {
        margin-left: 15px;
    }
}

@media (min-width: 768px) {
    #events .tab_link_entry {
        width: calc(33.33% - 20px);
    }

    #events .tab_link_entry:not(:nth-child(3n+1)) {
        margin-left: 30px;
    }
}

#events .tab_link_entries {
    counter-reset: section;
}

#events .tab_link_entry {
    background: #ffffff;
    margin-bottom: 30px;
    padding: 45px 20px;
    overflow: hidden;
    position: relative;
}

#events .tab_link_entry::before {
    counter-increment: section;
    content: "0"counter(section);
    font-size: 180px;
    font-style: italic;
    font-weight: 700;
    pointer-events: none;
    position: absolute;
    right: 31px;
    bottom: -37px;
    color: rgba(45, 45, 45, 0.1);
    line-height: 1;
}

#events .tab_link_title {
    margin-bottom: 6px;
}

#events .tab_link_title a {
    color: #2d2d2d;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    display: block;
}

#events .tab_link_mandat a {
    color: #2d2d2d;
}

#events .tab_link_date {
    font-size: 1rem;
}

#events .tab_link_mehr {
    color: transparent;
    font-size: 0;
}

#events .tab_link_mehr a {
    display: inline-block;
    padding: 8px 20px;
    color: #ffffff;
    font-weight: 600;
    background: #2d2d2d;
    font-size: 1rem;
    text-transform: uppercase;
    transition: all, 300ms;
    border: 2px solid #ffffff;
    text-decoration: none;
}

#events .tab_link_mehr a:hover,
#events .tab_link_mehr a:focus {
    color: #2d2d2d;
    background-color: #e0e0e0;
}


/* ------------------------------------------ sgTab ----------------------------------------- */
.sgTab {
    margin-top: 100px;
    background: #fff;
    border-radius: 3px;
   border: 1px solid rgba(0, 0, 0, 0.15) !important;
   box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
   font-size: 1rem;
   position: relative;
   padding: 0 30px;
}

.sgTab p:first-of-type {
    margin-left: -30px;
    margin-right: -30px;
}

.sgTab .template-page .row {
    margin-left: -15px;
    margin-right: -15px;
    width: auto !important;
    min-width: 100%;
  }

.sgTab a {
    background-color: #2d2d2d;
    color: #fff;
    text-decoration: none;
    transition: all, 300ms;
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    padding: 8px 20px;
    border: 2px solid #ffffff;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
 }
 
 .sgTab a:hover,
 .sgTab a:focus{
    color: #2d2d2d;
    background-color: #e0e0e0;
 }
 
/* ------------------------------------------ news ----------------------------------------- */

#news {
    margin-top: 50px;
    margin-bottom: 50px;
    position: relative;
 }

@media (min-width: 992px) {
    #news {
        margin-top: 100px;
        margin-bottom: 100px;
    }
}

#news .tabHeadline {
   font-size: clamp(2rem, 3vw, 2.5rem);
   color: #000000;
   text-transform: uppercase;
   margin-bottom: 0;
   font-family: 'Montserrat', sans-serif;
}

#newsHeadline {
   position: relative;
   padding-top: 60px;
   padding-bottom: 60px;
}

@media (max-width: 767px) {
   #newsHeadline{
      padding-top: 30px;
      padding-bottom: 10px;
   }
}  

#news::before {
   display: block;
   position: absolute;
   content: "";
   width: 370px;
  height: calc(100% + 35px);
  left: calc(50% - 210px);
   border: 3px solid #d1d1d1;
   z-index: -1;
}

@media (max-width: 991px) {
   #news::before {
      width: unset;
      left: 15px;
      right: 15px;
   }
}

#news .tab_link_entry {
   background: #ffffff;
   border-radius: 3px;
   padding: 150px 30px 30px 30px;
   border: 1px solid rgba(0, 0, 0, 0.15) !important;
   box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
   font-size: 1rem;
   position: relative;
}

#bigNews .tab_link_entries {
   height: 100%;
}

#news .tab_link_entry .tab_link_title a::before {
   content: "";
   background: url('../img/platzhalter-aktuelles.jpg') center / cover no-repeat;
}

#news .tab_link_entry{
   content: '';
   background: #ffffff url('../img/icon-meldungen.png') no-repeat right 15px top 140px;
   background-size: 18%;
}

#news .tab_link_entry .tab_link_title a::before {
   position: absolute;
   display: block;
   top: -1px;
   left: -1px;
   right: -1px;
   height: 120px;
   overflow: hidden;
}

#news .tab_spacer {
   display: none;
}

#news .tab_date,
#news .tab_link_date {
   color: #2d2d2d;
   font-size: 2.5rem;
   font-weight: 600;
   margin-bottom: 15px;
}

#news .tab_link_entry + .tab_link_entry .tab_date {
   font-size: 1.875rem;
   position: relative;
}

#news .tab_link_date::before,
#news .tab_link_date::after {
   content: "";
   display: block;
   position: absolute;
   left: -35px;
   top: 0px;
   width: 35px;
   height: 4px;
   background-color: #f27200;
   opacity: 0;
   -webkit-transition: all 0.5s 0s ease;
   -moz-transition: all 0.5s 0s ease;
   -o-transition: all 0.5s 0s ease;
   transition: all 0.5s 0s ease;
}

#news .tab_link_date::after {
   top: 10px;
   width: 25px;
}

#news .tab_link_title a {
   font-size: 1.25rem;
   font-weight: 600;
   color: #2d2d2d;
}


#news .tab_link_entries{
   display: grid;
   grid-template-columns: 1fr 1fr;
   grid-template-rows: 50% 50%;
   gap: 30px;
}

@media (max-width: 991px) {
   #news .tab_link_entries{
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 50% 50%;
   }
}

@media (max-width: 575px) {
   #news .tab_link_entries{
      grid-template-columns: 1fr;
      grid-template-rows: 50% 50%;
      padding: 30px;
   }
}

#news .tab_link_entry + .tab_link_entry{
   grid-column: auto / auto;
   grid-row: auto / auto;
}

#smallNews .tab_link_entries {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   min-height: 100%;
   max-height: 100%;
}

#news .tab_link_entry + .tab_link_entry .tab_date::before,
#news .tab_link_entry + .tab_link_entry .tab_date::after {
   content: "";
   display: block;
   position: absolute;
   left: -35px;
   top: 0px;
   width: 35px;
   height: 4px;
   background-color: #f27200;
   opacity: 0;
   -webkit-transition: all 0.5s 0s ease;
   -moz-transition: all 0.5s 0s ease;
   -o-transition: all 0.5s 0s ease;
   transition: all 0.5s 0s ease;
}

#news .tab_link_entry + .tab_link_entry .tab_date::after {
   top: 10px;
   width: 25px;
}

#news .tab_link {
   height: 100%;
   max-height: 100%;
}

#news .tab_link_entry + .tab_link_entry {
 display: flex;
 justify-content: start;
 flex-direction: column;
}

#news .tab_preview_picture{
   order: -1;
   position: absolute;
   left: -1px;
   right: -1px;
   top: -1px;
   max-height: 120px;
   overflow: hidden;
   background: #ffffff;
}

#news .tab_link_entry > div:nth-last-child(2){
   display: none;
}

#tab_link_mehr a {
    background-color: #2d2d2d;
    color: #fff;
   text-decoration: none;
   transition: all, 300ms;
   display: inline-block;
   font-size: 1rem;
   font-weight: 700;
   margin-top: 50px;
   padding: 8px 20px;
   border: 2px solid #ffffff;
   text-transform: uppercase;
}

#tab_link_mehr a:hover,
#tab_link_mehr a:focus{
    color: #2d2d2d;
    background-color: #e0e0e0;
}

#news .tab_link_entry:hover .tab_date::before,
#news .tab_link_entry:hover .tab_date::after {
   opacity: 1;
}

/* ----------------------------------------------- footer ----------------------------------------------- */

footer {
    padding-top: 50px;
    padding-bottom: 30px;
    color: #ababab;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

@media (min-width: 1600px) {
    .index footer::before {
        position: absolute;
        content: '';
        display: block;
        width: 61px;
        height: 708px;
        top: -280px;
        left: 0;
        background: url('../img/wellenpunkte-footer.png') no-repeat;
    }
}

@media (min-width: 1800px) {
    .index footer::before {
        left: 90px;
    }
}

footer hr {
    width: 100%;
    height: 1px;
    margin: 15px 0 60px 0;
    opacity: 0.2;
    background-color: #ffffff;
}

#footer2 hr {
    margin: 60px 0 !important;
}

footer a {
    color: #ababab;
    text-decoration: none;
}

footer a:hover,
footer a:focus,
#footer a:hover,
#footer a:focus {
    color: #ffffff;
    text-decoration: none;
}

@media (min-width: 992px) {
    #footer .tab1,
    #footer .tab2,
    #footer .tab3 {
        height: 100%;
        border-right: 1px solid rgba(255, 255, 255, 0.2);
    }
}

@media (max-width: 991px) {
    #footer .tab1,
    #footer .tab2,
    #footer .tab3,
    #footer .tab4 {
        margin-top: 30px;
    }
}

#footer .tabHeadline,
#footer2 .footerContact h2 {
    color: #ffffff;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.375rem;
}

#innerfooter ul {
    padding: 0;
}

#innerfooter li {
    display: inline-block;
}

#innerfooter a {
    color: #ababab;
    text-decoration: none;
    display: inline-block;
    font-weight: 400;
    font-size: 1rem;
}

#innerfooter a:hover,
#innerfooter a:focus {
    color: #ffffff;
}

#innerfooter li+li::before {
    content: "•";
    margin: 0 15px;
    color: #ababab;
}

@media (min-width: 1200px) {
    #innerfooter li+li::before {
        margin: 0 25px;
    }
}

/* --------------------------------------------- vernetzt -------------------------------------------- */

#vernetzt {
    text-align: right;
    font-size: 0.9375rem;
    color: #ababab;
    line-height: 1.3;
    margin: 0 auto;
    font-weight: 400;
    display: inline-block;
}

@media (max-width: 991px) {
    #vernetzt {
        margin: 30px auto;
    }
}

#vernetzt b {
    color: #ffffff;
    font-weight: 400;
}

#vernetzt span {
    color: #ababab;
}

#vernetzt span span {
    display: block;
}

#vernetzt img {
    margin-left: 18px;
}