/* ----- Änderungen an Bootstrap ------------------------- */

.my-container,
.my-container-fluid,
.my-col {
    padding: 0 20px;
}

.my-mb-15 {
    margin-bottom: 15px !important;
}

.my-mb-30 {
    margin-bottom: 30px !important;
}

.my-mt-5 {
    margin-top: 5px !important;
}

.my-mt-15 {
    margin-top: 15px !important;
}

.my-mt-30 {
    margin-top: 30px !important;
}

.my-mx-10 {
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.my-pb-15 {
    padding-bottom: 15px !important !important;
}

.my-pl-20 {
    padding-left: 20px !important;
}

.my-pl-40 {
    padding-left: 40px !important;
}

.my-pr-20 {
    padding-right: 20px !important;
}

.my-pr-40 {
    padding-right: 40px !important;
}

.my-pt-15 {
    padding-top: 15px !important;
}

.my-px-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.my-px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.my-px-40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.my-py-15 {
    padding-bottom: 15px !important;
    padding-top: 15px !important;
}

.my-py-30 {
    padding-bottom: 30px !important;
    padding-top: 30px !important;
}

.my-py-90 {
    padding-bottom: 90px !important;
    padding-top: 90px !important;
}

.my-py-60 {
    padding-bottom: 60px !important;
    padding-top: 60px !important;
}

.my-py-50 {
    padding-bottom: 50px !important;
    padding-top: 50px !important;
}

.my-py-40 {
    padding-bottom: 40px !important;
    padding-top: 40px !important;
}

.my-py-30 {
    padding-bottom: 30px !important;
    padding-top: 30px !important;
}

.my-row {
    margin: 0 -20px;
}

/* ----- Grundeinstellungen ------------------------- */

a {
    outline: none;
}

a:hover {
    text-decoration: none;
}

#bm-curve-yellow {
    left: 50%;
    opacity: 0;
    position: absolute;
    z-index: 99994;
}

.bm-h1 {
    font-size: calc(3rem * .7) !important;
    font-weight: 300;
    line-height: 1.25;
    margin-bottom: 30px;
}

.bm-h2 {
    font-size: calc(2rem * .7);
    font-weight: 300;
    line-height: 1.25;
    margin-bottom: 15px;
}

.bm-h3 {
    font-size: 1rem;
}

.bm-h4 {
    font-size: .9rem;
}

.bm-icons a {
    background-color: #fff;
    color: #454545;
    font-size: 110%;
    font-weight: 700;
}

.bm-icons a:hover {
    filter: brightness(92%);
}

.bm-icons i {
    font-size: 150px;
}

#bm-loader {
    left: calc(50% - 16px);
    position: fixed;
    top: calc(50% - 16px);
}

#bm-loader .spinner-border {
    border-width: .5rem;
    color: #8c8c8c;
}

#bm-wrapper {
    margin-top: 60px;
    opacity: 0;
}

b, strong {
    font-weight: 700;
}

.fancybox-container {
    z-index: 99999;
}

hr {
    margin-bottom: 30px;
    margin-top: 27px;
    width: 80px;
}

html, body {
    font-family: 'Mulish', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5;
    margin: 0;
}

body {
    overflow-x: hidden;
    overflow-y: scroll;
}

body.no-scrolling {
    overflow-y: hidden;
}

p:last-child {
    margin-bottom: 0;
}

.show-on-scroll {
    opacity: .2;
    -webkit-transition: opacity 1.5s cubic-bezier(0, 0, .5, 1);
    -moz-transition: opacity 1.5s cubic-bezier(0, 0, .5, 1);
    transition: opacity 1.5s cubic-bezier(0, 0, .5, 1);
    will-change: opacity;
}

.show-on-scroll.is-visible {
    opacity: 1;
}

input.tiny{
    width: 80px;
    display: inline-block;
}

/* ----- Header, Logo + Navigation ------------------------- */

#bm-close {
    cursor: pointer;
    line-height: 1;
    padding: 20px 25px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 99998;
}

#bm-close img {
    height: 20px;
    width: 20px;
}

#bm-search {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99998;
    padding: 20px;
}

#bm-search .mobile-search-link,
#bm-search .mobile-search-link:hover,
#bm-search .mobile-search-link:focus,
#bm-search .mobile-search-link:active {
    color: #fff;
}

#bm-hamburger {
    cursor: pointer;
}

#bm-hamburger img {
    height: 30px;
    width: 30px;
}

#bm-header {
    background-color: #00963d;
    font-size: .9rem;
    font-weight: 700;
    height: 60px;
    opacity: 0;
    -webkit-transition: opacity .5s cubic-bezier(0, 0, .5, 1);
    -moz-transition: opacity .5s cubic-bezier(0, 0, .5, 1);
    transition: opacity .5s cubic-bezier(0, 0, .5, 1);
    top: 0;
    z-index: 99996;
}

#bm-header .bm-curve_container {
    display: none;
}

@media (min-width: 992px) {
    #bm-header .bm-curve_container {
        display: block;
    }

    #bm-header .bm-curve_container svg {
        position: absolute;
        top: 0;
        z-index: -1;
        pointer-events: none;
    }

    #bm-header .bm-curve_container svg .wave_green {
        transform: translateY(0);
        transition: 0.35s ease;
    }

    #bm-header .bm-curve_container svg .wave_brown {
        transform: translateY(0);
        transition: 0.5s ease;
    }

    #bm-header .bm-curve_container svg .wave_yellow {
        transform: translateY(0);
        transition: 0.95s ease;
    }
}

#bm-header .bm-curve-green-container{
    pointer-events: none;
}

#bm-header.scrolled-down {
    opacity: .9;
}

#bm-header.scrolled-down:hover {
    opacity: 1;
}

#bm-header .bm-arrow-up-icon img {
    height: 40px;
    width: 40px;
}

.bm-header-buttons {
    margin-top: -30.5px;
    position: absolute;
    z-index: 99995;
}

.bm-header-buttons .bm-btn {
    gap: 10px;
    background-color: #fff3a6;
    color: rgba(69, 69, 69, 1);
    font-weight: 700;
    font-size: 110%;
    padding: 15px;
    border-radius: 50px;
    transition: color .35s ease, transform .5s ease;
}

@media (any-hover: hover) {
    .bm-header-buttons .bm-btn:hover {
        color: rgba(69, 69, 69, .8);
        transform: translateY(-10px);
    }
}

.bm-header-buttons:not(.demo) .bm-btn img {
    width: 1.5rem;
    height: 1.5rem;
    filter: brightness(0.25);
}

.bm-header-buttons .bm-btn:active {
    box-shadow: none;
    transform: scale(.9875);
}

.bm-header-buttons .bm-btn:focus {
    box-shadow: none;
}

.bm-header-buttons {

    &.demo {
        .bm-btn {
            background-color: rgba(104, 87, 78, 1);
            color: rgba(255, 255, 255, 1);

            @media (any-hover: hover) {
                &:hover {
                    color: rgba(255, 255, 255, .8);
                }
            }

            img {
                width: 1.5rem;
                height: 1.5rem;
            }
        }
    }

    &.v4 {
        .bm-btn {
            background-color: oklch(62.7% 0.194 149.214);
            color: rgba(255, 255, 255, 1);

            img {
                width: 1.5rem;
                height: 1.5rem;
                filter: brightness(1);
            }
        }
    }


    &.v3 {
        .bm-btn {
            background-color: #41b96c;
            color: #ffffff;

            img {
                width: 1.5rem;
                height: 1.5rem;
                filter: brightness(1);
            }
        }
    }

    &.v5 {
        .bm-btn {
            background-color: oklch(62.7% 0.194 149.214);
            color: rgba(255, 255, 255, 1);

            img {
                width: 1.5rem;
                height: 1.5rem;
                filter: brightness(1);
            }
        }
    }

}

#bm-logo-header {
    position: relative;
}

#bm-logo-header .logo {
    height: 4rem;
}

@media (min-width: 768px) {

    #bm-header.shrink #bm-logo-header .logo {
        height: 5rem;
    }

    #bm-header.shrink .bm-curves .wave_green,
    #bm-header.shrink .bm-curves .wave_yellow,
    #bm-header.shrink .bm-curves .wave_brown {
        transform: translateY(-100px);
    }
}

@media (min-width: 992px) {
    #bm-logo-header .logo {
        height: calc(80px + (90 - 80) * ((100vw - 992px) / (1200 - 992)));
        transition: 0.4s;
    }
}

@media (min-width: 1200px) {
    #bm-logo-header .logo {
        height: calc(100px + (125 - 100) * ((100vw - 1200px) / (1450 - 1200)));
    }
}

@media (min-width: 1450px) {
    #bm-logo-header .logo {
        height: 9rem;
    }
}

#bm-nav {
    height: 70px;
}

#bm-nav ul {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

#bm-nav ul li:not(.third-level-item) {
    float: left;
}

#bm-nav ul li.bm-active::after {
    width: 40px;
}

#bm-nav ul li::after {
    content: '';
    display: block;
    height: calc(3px / 1.25 * .9);
    margin-left: calc(11.5px / 1.25 * .9);
    margin-top: calc(-5px / 1.25 * .9);
    position: absolute;
    -webkit-transition: width .5s cubic-bezier(0, 0, .5, 1);
    -moz-transition: width .5s cubic-bezier(0, 0, .5, 1);
    transition: width .5s cubic-bezier(0, 0, .5, 1);
    width: 0;
}

#bm-nav ul li:hover::after {
    -webkit-transition: width .5s cubic-bezier(0, 0, .5, 1);
    -moz-transition: width .5s cubic-bezier(0, 0, .5, 1);
    transition: width .5s cubic-bezier(0, 0, .5, 1);
    width: 40px;
}

#bm-nav ul li:not(:first-child):not(.third-level-item) {
    border-left: 1px dotted #0e782e;
}

#bm-nav .third-level-container {
    position: relative;
}

#bm-nav .third-level-list {
    position: absolute;
    left: 100%;
    top: 0;
    display: none;
}

#bm-nav .third-level-item {
    margin-left: 2px;
}

#bm-nav-mobile {
    display: none;
    overflow-y: scroll;
    z-index: 99997;
}

#bm-nav-mobile .bm-dropdown-item {
    text-transform: none;
}

#bm-nav-mobile .bm-dropdown-item.bm-active {
    font-weight: 700;
}

#bm-nav-mobile .bm-dropdown-menu {
    border-top: 1px dotted #0e782e;
}

#bm-nav-mobile .bm-languages {
    font-size: 1rem;
    margin-top: 15px;
    text-transform: uppercase;
}

#bm-nav-mobile .bm-languages span:not(:first-child) {
    margin-left: 10px;
}

#bm-nav-mobile .bm-logo-nav-mobile {
    margin-top: 60px;
}

#bm-nav-mobile .bm-logo-nav-mobile img {
    max-height: 60px;
    max-width: 66px;
    height: 100%;
    width: 100%;
}

#bm-nav-mobile .bm-nav-link.bm-active {
    font-weight: 700;
}

#bm-nav-mobile hr {
    width: 40px;
}

#bm-nav-mobile span.bm-nav-link {
    color: #f5d613;
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
}

#bm-nav-mobile ul {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

#bm-nav-mobile ul li {
    font-size: 1.25rem;
}

#bm-nav-mobile ul li:not(:first-child) {
    margin-top: 15px;
}

#bm-nav-mobile .third-level-item {
    padding-left: 3rem;
}

.nav-mobile-padding {
    padding-top: 60px;
    padding-bottom: 40px;
}

.search-link {
    line-height: 40px;
    margin-left: 20px;
}

.bm-content-search article p {
    margin-bottom: 30px;
}

.bm-content-search h2 {
    margin-bottom: 30px;
}

/* ----- Content ------------------------- */

.bm-arrow-down-anchor {
    height: 120px;
    position: relative;
    margin-top: -180px;
    z-index: -99999;
}

.bm-arrow-down-icon {
    margin-top: -60px;
    position: relative;
}

.bm-arrow-down-icon img {
    height: 40px;
    width: 40px;
}

.bm-content.bm-gallery a {
    cursor: zoom-in;
}

.bm-content .bm-btn {
    border: none;
    border-radius: 0;
    font-size: 1.125rem;
    font-weight: 300;
    margin: 0 auto;
    padding: 8px 15px;
    text-decoration: none;
    text-transform: uppercase;
    transition: none;
}

.bm-content .bm-btn:active,
.bm-content .bm-btn:focus {
    box-shadow: none !important;
}

.bm-content .bm-carousel-control-next:hover,
.bm-content .bm-carousel-control-prev:hover {
    opacity: 1;
}

.bm-content .bm-carousel-big .bm-carousel-control-next-icon,
.bm-content .bm-carousel-big .bm-carousel-control-prev-icon {
    border-radius: 100%;
}

.bm-content .bm-carousel-big .bm-layer {
    font-size: 1.1rem;
    left: 0;
    position: absolute;
    top: 0;
}

.bm-content .bm-carousel-big .bm-layer .bm-btn {
    font-size: 1.25rem;
    margin-top: 20px;
    padding: 10px 20px;
}

.bm-content .bm-carousel-control-next-icon,
.bm-content .bm-carousel-control-prev-icon {
    background-size: 40px 40px;
    height: 60px;
    width: 60px;
}

.bm-content .bm-carousel-control-next-icon {
    background-image: url(../images/icon__arrow_right.svg);
    margin-right: 20px;
}

.bm-content .bm-carousel-control-prev-icon {
    background-image: url(../images/icon__arrow_left.svg);
    margin-left: 20px;
}

.bm-content .bm-carousel-small .bm-carousel-control-next-icon {
    margin-right: -32px;
}

.bm-content .bm-carousel-small .bm-carousel-control-prev-icon {
    margin-left: -32px;
}

.bm-content .carousel-indicators {
    bottom: 0;
}

.bm-content .carousel-indicators li {
    height: 18px;
    margin-left: 8px;
    margin-right: 8px;
    opacity: .5;
    width: 18px;
}

.bm-content .carousel-indicators li.active {
    opacity: 1;
}

.bm-content p a {
   /* margin: 0 5px; */
    text-decoration: underline;
}

.bm-content p a:hover {
    text-decoration: none;
}

.bm-content img{
    max-width: 100%;
}

.monatstabelle {
    width: 100%;
    table-layout: fixed;
    text-align: center;
    margin-bottom: 25px;
    padding: 15px 20px;
    background-color: #f3f4f6;
}
.monatstabelle a {
    display: block;
}
.monatstabelle a.active {
    background-color: rgba(0, 176, 70, 1);
    color: white;
}

.btn {
    border-radius: unset;
}

.btn-primary{
    background-color:rgba(0, 150, 61, 1);
    border-color: rgba(0, 176, 70, 1);
}

.btn-primary:hover{
    background-color:rgba(0, 176, 70, 1);
    border-color: rgba(0, 176, 70, 1);
}

.basictable td span{
	white-space: pre-wrap;
}
.basictable td.no-before:before{
    content: unset;
}
.basictable .mobile-button{
    background-color: rgba(0, 176, 70, 1);
    color: white;
    padding: 5px 20px;
    margin: 10px 0 0 0;
    display: block;
}

.text-col {
    overflow-x: auto;
}

.text-col table th, .text-col table td {
    padding: 7px;
    font-size: 1rem;
}
@media (min-width: 768px) {
    .text-col table th, .text-col table td {
        font-size: 1.3rem;
    }
}


.image-desktop-halfwidth {
    width: 50%;
}

.news-container {
    margin-top: 10px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dee2e6;
}

.news-container .datum {
    margin-bottom: 0;
}

.news-container .newstext {
    margin-bottom: 20px;
}

/* to prevent "jumping around" on slide animation */
.year-container {
    padding-top: 1px;
}

.year-title h2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0;
}

.year-title h2 .year-slide-icon {
    font-size: 40px;
    line-height: 30px;
}

/* ----- Footer ------------------------- */

#bm-footer a {
    color: #fff;
}

#bm-footer .bm-logo-footer img {
    max-height: 180px;
    max-width: 313px;
    height: 100%;
    width: 100%;
}

#bm-footer .bm-logo-gia img {
    height: 35px;
    width: 106px;
}

#bm-footer .bm-social-media img {
    height: 35px;
    width: 35px;
}

#bm-footer h3 {
    margin-bottom: 30px;
}

#bm-footer li a {
    background-repeat: no-repeat;
    background-size: 36px 36px;
    display: inline-block;
    line-height: 36px;
    margin-right: 20px;
    padding-left: 56px;
    padding-right: 20px;
    text-transform: lowercase;
}

#bm-footer li a.bm-facebook {
    background-image: url(../images/facebook.svg);
}

#bm-footer li a.bm-instagram {
    background-image: url(../images/instagram.svg);
}

#bm-footer ul {
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

#bm-footer .bm-metadata {
    font-size: 1.1rem;
}

#bm-footer .divider {
    height: .5rem;
    width: 100%;
    display: block;
    background-color: #fd0;
}

#bm-footer .bm-footer_logo {
    max-width: 5rem;
    display: block;
}

.bm-box h3, .bm-h3 { font-family: 'Mulish','News Cycle', 'DM Serif Text', serif; font-size: 1.3rem; font-weight:700; }

.bm-h2 { font-family: 'Mulish','News Cycle', 'DM Serif Text', serif; font-size: 32px; font-weight:700; }

.bm-h1 { font-family: 'Mulish','News Cycle', 'DM Serif Text', serif; font-size: 70px; font-weight:300; }

.textslider { padding:20px; background-color: rgba(0,0,0,.6); }

.bm-content .bm-box:hover { filter: brightness(92%);}



/* Mitarbeiterkarten */
/*.mitarbeiter {*/
/*    margin-bottom: 100px;*/
/*}*/

.mitarbeiter-box-container {
    margin-bottom: 20px;
}

.mitarbeiter-box {
    height: 100%;
    width: 100%;
    display: inline-block;
    background-color: rgba(250, 250, 250, 1);
    color: rgba(69, 69, 69, 1);
}

.mitarbeiter-box-bild {
    padding: 0;
}

.mitarbeiter-box-bild img {
    width: 100%;
}

.mitarbeiter-box-text {
    padding: 20px;
}

.mitarbeiter-box-text a {
    text-decoration: underline;
    color: rgba(171, 204, 89, 1);
}

.mitarbeiter-box-text a:hover {
    text-decoration: none;
}

/*----------------------room reservation------------------------*/

 .rr-step {
    display: none;
}

.rr-step-1 {
    display: block;
}

.rr-button-container {
    display: flex;
    justify-content: space-between;
}

.rr-show-on-recurring {
    display: none;
}

.rr-process .alert ul {
    margin-bottom: 0;
}

/*--------------------------------------------------------------*/

@media(max-width: 767px) {
    .basictable tr{
        border-bottom: 1px solid rgba(0, 176, 70, 1);
        padding-bottom: 10px;
        margin-bottom: 10px;
        display: block;
    }
    .basictable td{
        padding: 0;
    }
}
@media(max-width: 575px) {

    .bm-arrow-down-icon,
    .bm-content .bm-carousel-control-next,
    .bm-content .bm-carousel-control-prev {
        display: none;
    }

    #bm-close {
        height: 60px;
        padding: 20px 25px;
    }

    .bm-content .carousel-indicators li {
        height: 13px;
        margin-left: 4px;
        margin-right: 4px;
        width: 13px;
    }

}

@media(min-width: 576px) {

    .my-container,
    .my-container-fluid,
    .my-col {
        padding: 0 40px;
    }

    .my-row {
        margin: 0 -40px;
    }

}

@media(min-width: 768px) {

    .bm-arrow-down-icon .bm-background:active,
    .bm-content.bm-gallery a img:active,
    .bm-content .bm-carousel-control-next-icon:active,
    .bm-content .bm-carousel-control-prev-icon:active,
    #bm-hamburger img:active,
    #bm-header .bm-arrow-up-icon img:active,
    #bm-logo-header img:active {
        transform: scale(.9875);
    }

    #bm-footer a:active,
    #bm-footer a:focus {
        opacity: 1 !important;
    }

    #bm-footer a:hover {
        opacity: .8;
    }
    .plz-input{
		display: inline-block;
		width: 150px;
		margin-right: 15px;
	}
    .ort-input{
		display: inline-block;
		width: calc(100% - 170px);
	}

    .basictable .mobile-button{
        background-color: transparent;
        color: rgba(0, 176, 70, 1);
        padding: 0;
        margin: 0;
        display: block;

        
        margin-left: 5px;
    }

}

@media(max-width: 992px) {

    .bm-content .my-col + .my-col {
        margin-top: 45px;
    }

    #bm-footer .my-col + .my-col {
        margin-top: 30px;
    }

    .bm-icons i {
        font-size: 100px;
    }

    #bm-nav-mobile .bm-dropdown-item {
        font-size: 1rem;
    }

    #bm-nav-mobile .bm-dropdown-item:focus,
    #bm-nav-mobile .bm-dropdown-item:hover {
        background-color: transparent;
    }

    .image-desktop-halfwidth {
        width: 100%;
    }
}

@media(min-width: 992px) {

    .my-px-lg-30 {
        margin-left: -30px !important;
        margin-right: -30px !important;
    }

    .my-pl-lg-30 {
        padding-left: 30px !important;
    }

    .my-pl-lg-30.col-lg-4,
    .my-pr-lg-30.col-lg-4 {
        -ms-flex: 0 0 calc(33.333333% + 22.91625px);
        flex: 0 0 calc(33.333333% + 22.91625px);
        max-width: calc(33.333333% + 22.91625px);
    }

    .my-px-lg-30.col-lg-4 {
        -ms-flex: 0 0 calc(33.333333% + 12.498px);
        flex: 0 0 calc(33.333333% + 12.498px);
        max-width: calc(33.333333% + 12.498px);
    }

    .my-pr-lg-30 {
        padding-right: 30px !important;
    }

    .my-px-lg-30 {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .my-row.my-h-lg-100 {
        height: calc(100% + 60px) !important;
    }

    .bm-2-col {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 60px;
        -moz-column-gap: 60px;
        column-gap: 60px;
    }

    .bm-h1 {
        font-size: 4rem !important;
    }

    .bm-h2 {
        color: rgba(69, 69, 69, 1) !important;
        font-size: 2rem !important;
        margin: 0;
        margin-top: 25px;
        margin-bottom: 15px;
    }

    .bm-content .bm-carousel-big .bm-blurred img {
        -webkit-filter: blur(20px);
        filter: blur(20px);
    }

    #bm-nav .bm-dropdown-item {
        font-size: calc(1rem / 1.25 * .9);
        padding: calc(10px / 1.25 * .9) calc(20px / 1.25 * .9); 
    }

    #bm-nav a.bm-dropdown-item {
        color: rgba(69, 69, 69, 1) !important; 
    }

    #bm-nav a.bm-dropdown-item:hover {
        font-weight: 700;
    }

    #bm-nav .bm-dropdown-menu {
        border: none;
        border-radius: 0;
        margin-left: calc(-10px / 1.25 * .9);
        margin-top: 0;
        min-width: 250px;
        background-color: transparent;
    }

    #bm-nav .bm-nav-item.bm-show .bm-dropdown-menu {
        display: block;
    }

    #bm-nav .bm-nav-item.bm-active .bm-dropdown-item,
    #bm-nav .bm-nav-item .bm-dropdown-item {
        font-weight: 300;
        background-color: #eeeeee;
        margin-bottom: 2px;
    }

    #bm-nav .bm-nav-item .bm-dropdown-item.bm-active {
        font-weight: 700;
    }

    #bm-nav .bm-nav-link {
        line-height: calc(40px / 1.25 * .9);
        padding: 0 calc(10px / 1.25 * .9);
    }

    #bm-nav .bm-nav-link:active {
        opacity: .8;
    }

    #bm-nav-mobile .bm-nav-item.bm-show .bm-dropdown-menu {
        display: inline-block;
    }

}

@media(min-width: 1200px) {

    .my-col-xl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .my-mt-xl-0 {
        margin-top: 0 !important;
    }

    .my-pt-xl-15 {
        padding-top: 15px !important;
    }

    .my-pt-xl-30 {
        padding-top: 30px !important;
    }

    /* ------------------------------ */

    .bm-content .bm-box p { font-size: 1.2rem; }

    #bm-footer li {
        float: left;
    }

}

@media(min-width: 1400px) {

    .my-container-fluid {
        max-width: 2000px;
    }

    .my-container {
        max-width: 1400px;
    }

    /* ------------------------------ */

    .bm-1-col p, .bm-content p, .bm-content li {
        font-size: 1.3rem;
    }

    #bm-header {
        font-size: 1.25rem;
    }

    #bm-nav .bm-dropdown-item {
        font-size: 1rem;
        padding: 10px 20px;
    }

    #bm-nav .bm-dropdown-menu {
        margin-left: -10px;
    }

    #bm-nav .bm-nav-link {
        line-height: 40px;
        padding: 0 10px;
    }

    #bm-nav ul li::after {
        height: 3px;
        margin-left: 11.5px;
        margin-top: -5px;
    }

}

/* -------------------------------------------------- */

.article {
    margin-bottom: 30px;
}

.personalien-row {
    display: flex;
    align-items: baseline;
    margin-bottom: 20px;
}

.personalien-row label {
    width: 20%;
}

.personalien-row .input-container {
    display: flex;
    align-items: baseline;
    width: 80%;
}


/*----------------------callendar------------------------*/
#callendar div.head { border-right:1px solid #000;border-bottom:1px solid #000; height:30px;}
#callendar div.head p { line-height:30px; padding:0px; margin:0px; }
#callendar div span { border-right:1px solid #000;border-bottom:1px solid #000; display:block; height:28px; width: 14.25%; float:left; line-height:25px;}

#callendar span.haslink a {
    color: #000000;
    display: block;
    height: 100%;
    text-decoration: none;
    width: 100%;
    background: #dcdcdc;
}

#callendar span.haslink a.selected {
    color: #ffffff;
    background: #139138;
}

#callendar span.haslink a.selected.invalid {
    background: #DD3333;
}

#callendar span.blocked-from-user-choice{
    pointer-events: none !important;
}

#callendar span.red { color:red; }

#callendar .month-container {
    text-align:center;
    float: left;
    margin: 0 20px 20px 0;
    width:100%;
    border:1px solid #000;
    border-bottom:0 none;
    border-right:0 none;
}
#callendar .month-wrapper {
    display: block;
    height: auto;
    width: 100%;
    float: left;
}

#callendar table.monatstabelle {
    width: 650px;
    display: block;
    margin-top: 5px;
}
#callendar table.monatstabelle td {
    padding: 0;
    margin-right: 0;

}
#callendar table.monatstabelle td.monat > a {
    display: block;
    width: 54px;
    text-align: center;
    background: #AAAAAA;
    color: #fff;
    text-decoration: none;
    border-top: 1px solid #AAAAAA;
}

table.monatstabelle td.monat > a {
    transition: background .25s ease, color .25s ease;
}

#callendar table.monatstabelle td.monat > a:hover,
table.monatstabelle td.monat > a.active,
table.monatstabelle td.monat > a:hover {
    color: #707173;
    background: #fff;
}

#callendar .calendar-area-visible {
    display: block;
    width: 100%;
}

#callendar .calendar-area-hidden {
    display: none;
}


.pano {
    font-family: 'Mulish', 'Helvetica Neue', 'Helvetica', 'Arial';
    background: #FFF;
    overflow: hidden;
    height: 100%;
    padding: 0;
    margin: 0;
    position: relative !important;
}

.pano #overview {
    align-items: center;
    background-color: #fff;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 1;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: scale(1,1);
    transition: all 1s ease-out;
    width: 100%;
    z-index: 0.5;
}

.pano #overview.hidden {
    opacity: 0;
    transform: scale(3,3);
}

.pano #overview.hidden a {
    pointer-events: none;
}

.pano #overview a {
    color: black;
    display: block;
    text-decoration: none;
    position: absolute;
    cursor: pointer;
    padding: 1em;
    pointer-events: all;
}

.pano #overview a:hover {
    color: white;
}

.pano #overview a[href="#boezberg"] {
    background: transparent;
    width: 40%;
    height: 100%;
    left: 30%;
    top: 0%;
}

.pano #overview svg {
    height: 80%;
    max-width: 80%;
    width: auto;
}

.pano #logo {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    position: absolute;
    width: 150px;
    height: 150px;
    left: 0;
    top: 0;
    z-index: 1;
    cursor: pointer;
    background-image: url(../../360/logo.jpg);
    background-position: 0 0;
    background-size: 150px 150px;
}

#map-360 {
    width: 100%;
    height: 100vh;
}

.fancybox-is-open .fancybox-bg {
    opacity: 1;
    transition-timing-function: cubic-bezier(.22,.61,.36,1);
}

.fancybox-slide--iframe .fancybox-content {
    max-width  : 100%;
    max-height : 100%;
}

/* .compensate-for-scrollbar #bm-header {
    width: calc(100% - 17px);
    margin-left: 0;
} */

#iframe-360 {
    width: 100%;
    height: 100vh;
    border: none;
    position: absolute;
    z-index: 99997;
}


.form-control {
    border-radius: unset;
}
/* ===================================
            Boxen  2 oder 3 Neu
   =================================== */
@media (min-width: 991px) {
    .bm-content .bm-box .my-col:nth-child(1) img {
        aspect-ratio: 3 / 2;
    }
}

.bm-content .bm-box .my-col:nth-child(1):not(img) {
    padding: 1.5rem;
}

.bm-content .bm-box .my-col:nth-child(2) {
    padding: 1rem;
}

.bm-content .bm-box .my-col:nth-child(2) p {
    text-align: center;
}
/* ===================================
            Gallery Neu
   =================================== */
@media only screen and (min-width: 0rem) {
    .bm_gallery {
        padding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
        position: relative;
        overflow: hidden;

        .bm_image-group {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: clamp(1rem, 1.5vw, 1.25rem);
        }

        .bm_item {
            width: 100%;
            height: 100%;
            aspect-ratio: 1;
            margin: 0;
            position: relative;
            display: block;
        }

        img {
            position: absolute;
            top: 0;
            left: 0;
            height: 100%;
            width: 100%;
            object-fit: cover;
        }
    }
}

@media only screen and (min-width: 37.5rem) {
    .bm_gallery {
        .bm_image-group {
            display: grid;
            grid-template-columns: repeat(12, 1fr);
            grid-template-rows: 1fr;
        }

        .bm_item {
            grid-column: span 6;
        }
    }
}

@media only screen and (min-width: 48rem) {
    .bm_gallery {
        .bm_item {
            grid-column: span 4;
        }
    }
}
/* ===================================
            Navigation
   =================================== */
#bm-nav .bm-nav-link.dropdown-toggle::after,
#bm-nav .bm-nav-item .bm-dropdown-item.dropdown-toggle::after{
    vertical-align: middle;
}
#bm-nav .bm-nav-item .dropright .bm-dropdown-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#bm-nav .bm-nav-item .dropright .bm-dropdown-item::after {
    height: 9px;
}
/* ===================================
        Slideshow | schmal Header
   =================================== */
.bm-carousel-big .carousel-inner .carousel-item {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
}
.bm-carousel-big .carousel-inner .carousel-item:before {
    content: "";
    display: block;
    padding-top: 50%;
}
@media screen and (min-width: 768px) {
    .bm-carousel-big .carousel-inner .carousel-item:before {
        padding-top: 35%;
    }
}
.bm-carousel-big .carousel-inner .carousel-item img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}
/* ===================================
        Formular [58] [59] [60]
   =================================== */
.bm_form-construction, .bm_form-streetlamps, .bm_form-memorial {
    margin-top: 3rem;
}
/* ===================================
      Alle Mitarbeiter pro Abteilung
   =================================== */
@media (min-width: 576px) {
    section.mitarbeiter .media_block .mitarbeiter-box {
        display: flex;
    }
    section.mitarbeiter .mitarbeiter-box-bild, .mitarbeiter-box-text {
        flex: 1 1 50%;
        margin-bottom: 0;
    }
}

section {
    &.mitarbeiter {
        .media_block {
            .mitarbeiter-box-text {
                h2 {
                    font-weight: 700;
                    @media(min-width: 991px) {
                        margin-bottom: 3rem;
                    }
                }
                p {
                    font-size: 1rem;

                    @media(min-width: 1400px) {
                        font-size: 1.3rem;
                    }
                }
            }
        }
    }
}
/* ===================================
            Vereine Liste
   =================================== */
table {
    &.bm_club-table {
        tbody {
            th, td {
                font-size: 1rem;

                @media (min-width: 1400px) {
                    font-size: 1.3rem;
                }
            }
        }
    }
}
/* ===================================
            Räume - Liste
   =================================== */
table {
    &.bm_rooms-table {
        tbody {
            th, td {
                font-size: 1rem;

                @media (min-width: 1400px) {
                    font-size: 1.3rem;
                }
            }
        }
    }
}
/* ===================================
        Veranstaltungen Liste
   =================================== */
.bm_events-section {
    .bm_legende {
        display: flex;
        align-items: center;
        gap: 5px;
        margin-bottom: 20px;
        p {
            margin-bottom: 0;
            font-size: 1em;
        }
    }
}
/* ===================================
            Boxen Neu
   =================================== */
.bm_box-section {
    .bm_grid-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        /*grid-template-rows: repeat(3, auto);*/
        gap: 18px;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (min-width: 991px) {
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        }

        .bm_grid-item {
            display: grid;
            box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
            transition: box-shadow .45s ease;

            @media (min-width: 991px) {
                grid-template-rows: subgrid;
                grid-row: span 2;
            }

            &:hover {
                box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;

                .bm_link-wrapper {
                    .un-arrow-icon {
                        transform: translate3d(3px, 0, 0);
                        stroke: #00963d;
                        fill: #00963d;

                        .un-arrow-icon_circle {
                            stroke-dashoffset: 0;
                        }
                    }
                }
            }

            .bm_content-wrapper {
                display: flex;
                flex-direction: column;
                gap: 1rem;
                padding: 25px 20px 0;

                .title {
                    display: grid;
                    grid-template-columns: 1fr;
                    gap: 1rem;
                    color: #454545;

                    &:has(> img) {
                        grid-template-columns: .15fr 1fr;
                    }

                    h2, .h2 {
                        font-size: 1.5rem;
                        font-weight: 700;
                        hyphens: auto;
                        text-wrap: balance;
                    }
                }

                .content {
                    color: #454545;
                }
            }
            .bm_link-wrapper {
                padding-inline: 20px;
                padding-block: 0 20px;

                .un-arrow-icon {
                    width: 1.25em;
                    height: 1.25em;
                    stroke-width: 0;
                    stroke: #00963d;
                    fill: #00963d;
                    vertical-align: sub;
                    font-size: 21px;
                    transition: transform 0.3s ease;

                    .un-arrow-icon_circle {
                        transition: stroke-dashoffset 0.3s ease;
                        stroke-dasharray: 95;
                        stroke-dashoffset: 95;
                    }
                }
            }
        }
    }
}

.bm_box-section--v2,
.bm_box-section--v5 {
    .bm_grid-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        /*grid-template-rows: repeat(3, auto);*/
        gap: 3rem 2rem;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (min-width: 991px) {
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        }

        .bm_grid-item {
            display: grid;
            padding: 25px 20px 20px;
            background-color: #FFFFFF;
            border-bottom: 1px solid rgba(0, 176, 70, 1);
            border-radius: 1rem;
            box-shadow: rgba(0, 0, 0, 0.16) 0px 3px 6px, rgba(0, 0, 0, 0.23) 0px 3px 6px;
            transition: box-shadow .45s ease;

            @media (min-width: 991px) {
                grid-template-rows: subgrid;
                gap: 0;
            }

            &:hover {
                box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;

                .bm_link-wrapper {
                    .un-arrow-icon {
                        transform: translate3d(3px, 0, 0);
                        stroke: #00963d;
                        fill: #00963d;

                        .un-arrow-icon_circle {
                            stroke-dashoffset: 0;
                        }
                    }
                }
            }

            .bm_content-wrapper {
                display: flex;
                flex-direction: column;
                gap: 1rem;

                .title {
                    display: grid;
                    grid-template-columns: 1fr;
                    gap: 1rem;
                    color: #454545;

                    &:has(> img) {
                        grid-template-columns: .15fr 1fr;
                    }

                    h2, .h2 {
                        font-size: 1.5rem;
                        font-weight: 700;
                        hyphens: auto;
                        text-wrap: balance;
                    }
                }

                .content {
                    color: #454545;

                    p {
                        font-size: 1rem;
                    }
                }
            }

            .bm_link-wrapper {
                margin-left: auto;

                .un-arrow-icon {
                    width: 1.25em;
                    height: 1.25em;
                    stroke-width: 0;
                    stroke: #00963d;
                    fill: #00963d;
                    vertical-align: sub;
                    font-size: 21px;
                    transition: transform 0.3s ease;

                    .un-arrow-icon_circle {
                        transition: stroke-dashoffset 0.3s ease;
                        stroke-dasharray: 95;
                        stroke-dashoffset: 95;
                    }
                }
            }
        }
    }
}

.bm_box-section--v3 {
    .bm_grid-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 3rem 2rem;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (min-width: 991px) {
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        }

        .bm_grid-item {
            display: grid;
            padding: 25px 20px 20px;
            background-color: #FFFFFF;
            /*border-bottom: 1px solid rgba(0, 176, 70, 1);*/
            border-radius: 12px;
            box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
            transition: box-shadow .45s ease;

            @media (min-width: 991px) {
                grid-template-rows: subgrid;
                gap: 0;
            }

            &:hover {
                box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;

                .bm_link-wrapper {
                    .un-arrow-icon {
                        transform: translate3d(3px, 0, 0);
                        stroke: #00963d;
                        fill: #00963d;

                        .un-arrow-icon_circle {
                            stroke-dashoffset: 0;
                        }
                    }
                }
            }

            .bm_content-wrapper {
                display: flex;
                flex-direction: column;
                gap: 1rem;

                .title {
                    display: grid;
                    grid-template-columns: 1fr;
                    align-items: center;
                    gap: 1rem;
                    color: #454545;

                    &:has(> img),
                    &:has(> span) {
                        grid-template-columns: auto 1fr;
                    }

                    span {
                        height: 50px;
                        width: 50px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        padding: 10px;
                        background-color: #26be4726;
                        border-radius: 50%;
                    }

                    img {
                        height: 35px;
                    }

                    h2, .h2 {
                        font-size: 1.5rem;
                        font-weight: 700;
                        hyphens: auto;
                        text-wrap: balance;
                    }
                }

                .content {
                    color: #454545;

                    p {
                        font-size: 1rem;
                    }
                }
            }

            .bm_link-wrapper {
                margin-left: auto;

                .un-arrow-icon {
                    width: 1.25em;
                    height: 1.25em;
                    stroke-width: 0;
                    stroke: #00963d;
                    fill: #00963d;
                    vertical-align: sub;
                    font-size: 21px;
                    transition: transform 0.3s ease;

                    .un-arrow-icon_circle {
                        transition: stroke-dashoffset 0.3s ease;
                        stroke-dasharray: 95;
                        stroke-dashoffset: 95;
                    }
                }
            }
        }
    }
}
.bm_box-section--v4 {
    .bm_grid-wrapper {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 3rem 2rem;

        @media (min-width: 768px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (min-width: 991px) {
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
        }

        .bm_grid-item {
            display: grid;
            padding: 25px 20px 20px;
            background-color: #FFFFFF;
            border: 1px solid transparent;
            border-radius: 12px;
            box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
            transition: border .3s ease, box-shadow .45s ease;

            @media (min-width: 991px) {
                grid-template-rows: subgrid;
                gap: 0;
            }

            &:hover {
                box-shadow: rgba(0, 0, 0, 0.3) 0px 19px 38px, rgba(0, 0, 0, 0.22) 0px 15px 12px;

                .bm_link-wrapper {
                    .un-arrow-icon {
                        transform: translate3d(3px, 0, 0);
                    }
                }
            }

            &:nth-child(1) {

                &:hover {
                    border: 1px solid oklch(60% 0.118 184.704);
                }

                .bg_soft {
                    background-color: oklch(97.9% 0.021 166.113);
                    .bg_inner {
                        background-color: oklch(60% 0.118 184.704);
                    }
                }
            }

            &:nth-child(2) {
                &:hover {
                    border: 1px solid oklch(62.3% 0.214 259.815);
                }

                .bg_soft {
                    background-color: oklch(97% 0.014 254.604);
                    .bg_inner {
                        background-color: oklch(62.3% 0.214 259.815);
                    }
                }
            }

            &:nth-child(3) {
                &:hover {
                    border: 1px solid oklch(70.5% 0.213 47.604);
                }

                .bg_soft {
                    background-color: oklch(98% 0.016 73.684);
                    .bg_inner {
                        background-color: oklch(70.5% 0.213 47.604);
                    }
                }
            }

            &:nth-child(4) {
                &:hover {
                    border: 1px solid oklch(62.7% 0.265 303.9);
                }

                .bg_soft {
                    background-color: oklch(97.7% 0.014 308.299);
                    .bg_inner {
                        background-color: oklch(62.7% 0.265 303.9);
                    }
                }
            }

            &:nth-child(5) {
                &:hover {
                    border: 1px solid oklch(65.6% 0.241 354.308);
                }

                .bg_soft {
                    background-color: oklch(97.1% 0.014 343.198);
                    .bg_inner {
                        background-color: oklch(65.6% 0.241 354.308);
                    }
                }
            }

            &:nth-child(6) {
                &:hover {
                    border: 1px solid oklch(63.7% 0.237 25.331);
                }

                .bg_soft {
                    background-color: oklch(97.1% 0.013 17.38);
                    .bg_inner {
                        background-color: oklch(63.7% 0.237 25.331);
                    }
                }
            }

            &:nth-child(7) {
                &:hover {
                    border: 1px solid oklch(58.5% 0.233 277.117);
                }

                .bg_soft {
                    background-color: oklch(96.2% 0.018 272.314);
                    .bg_inner {
                        background-color: oklch(58.5% 0.233 277.117);
                    }
                }
            }

            &:nth-child(8) {
                &:hover {
                    border: 1px solid oklch(70.4% 0.14 182.503);
                }

                .bg_soft {
                    background-color: oklch(98.4% 0.014 180.72);
                    .bg_inner {
                        background-color: oklch(70.4% 0.14 182.503);
                    }
                }
            }

            &:nth-child(9) {
                &:hover {
                    border: 1px solid oklch(55.4% 0.046 257.417);
                }

                .bg_soft {
                    background-color: oklch(98.4% 0.003 247.858);
                    .bg_inner {
                        background-color: oklch(55.4% 0.046 257.417);
                    }
                }
            }

            .bm_content-wrapper {
                display: flex;
                flex-direction: column;
                gap: 1rem;

                .title {
                    display: grid;
                    grid-template-columns: auto 1fr;
                    align-items: center;
                    gap: 1rem;
                    color: #454545;

                    &:has(> img),
                    &:has(> span) {
                        grid-template-columns: auto 1fr;
                    }

                    .bg_soft {
                        height: 50px;
                        width: 50px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        padding: 10px;
                        border-radius: 50%;

                        .bg_inner {
                            height: 32px;
                            width: 32px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-radius: 50%;
                        }
                    }

                    img {
                        height: 20px;
                    }

                    h2, .h2 {
                        font-size: 1.5rem;
                        font-weight: 700;
                        hyphens: auto;
                        text-wrap: balance;
                    }
                }

                .content {
                    color: #454545;

                    p {
                        font-size: 1rem;
                    }
                }
            }

            .bm_link-wrapper {
                margin-left: auto;

                .un-arrow-icon {
                    width: 1.25em;
                    height: 1.25em;
                    stroke-width: 0;
                    stroke: oklch(44.6% 0.03 256.802);
                    fill: oklch(44.6% 0.03 256.802);
                    vertical-align: sub;
                    font-size: 21px;
                    background-color: oklch(96.7% 0.003 264.542);
                    border-radius: 50%;
                    transition: transform 0.3s ease;

                    .un-arrow-icon_circle {
                        transition: stroke-dashoffset 0.3s ease;
                        stroke-dasharray: 95;
                        stroke-dashoffset: 95;
                    }
                }
            }
        }
    }
}
/* ===================================
    Raeume (neu) - Reservation [50]
   =================================== */
form {
    &.rr-form {

        input[required]:user-valid,
        textarea[required]:user-valid,
        select[required]:user-valid {
            border-color: #0e782e;
        }

        input[required]:user-invalid,
        textarea[required]:user-invalid,
        select[required]:user-invalid {
            border-color: #f8d7da;
        }
        #rr-extra-4 {
            display: none;
            
            &.is_visible {
                display: block;
            }
        }

        .bst_traffic-wrapper {
            display: none;
            gap: 1rem;
            margin-top: .5rem;

            &.is_visible {
                display: flex;
            }
        }
    }
}
/* ===================================
    Mein Profil - Raumreservationenliste [53]
   =================================== */
.qr .bt-content {
    display: flex;
    justify-content: end;
    white-space: nowrap;
}

.qr .bt-content .mobile-button {
    background-color: transparent;
}
