@import url("https://lib.hmcms.nl/js/2/select2/css/default.1.css");
@import url("modern-normalize.css");
@import url("fonts.css");

@import url("form.css");
@import url("layout.css");
@import url("styles.css");
@import url("navigation.css");
@import url("navigation-small.css");

@import url("layout-footer.css");
@import url("layout-highlights.css");
@import url("hmcms-popup.css");

/*@import url("widget-searcher.css");*/
@import url("widget-calentim.css");


@import url("articles.css");
@import url("article--map.css");
@import url("article--ambiance.css");
@import url("article--banner.css");
@import url("article--themas.css");
@import url("article--text-carousel.css");
@import url("article--text-media.css");
@import url("article--reviews.css");
@import url("article--activiteiten.css");
@import url("article--service.css");

@import url("acco-details.css");

@import url("swiper-custom.css");

.content-container.footer-alt-container {
    grid-template-columns: 340px auto 500px;
    padding-bottom:2em;
}

.footer-col__links ul {
    padding: 0;
    list-style: none;
}

.footer-col__links ul li a {
    text-decoration: none;
}

.footer-col__links ul li a:hover {
    text-decoration: underline;
}

h3.footer-col__title {
    color: var(--yellow);
    font-size: 1.325em;
}

.footer-alt-container .footer-col-service {
    grid-row: span 2;
}

.footer-alt-container .footer-col-newsletter {
    grid-column: span 1;
}


.facility-filter {
    margin-bottom: 40px;
    border-radius: 8px;
    box-shadow: 0 5px 10px 0 rgb(0 0 0 / 15%);
    background: #fff;
    overflow: hidden;
}

.facility-filter__title {
    background: var(--lightblue);
    color: #fff;
    font-weight: 700;
    padding: 10px 30px;
    cursor: pointer;
}

    .facility-filter__title::after {
        content: "";
        display: inline-block;
        background-image: url('../img/chevron-right-white.svg');
        height: 10px;
        background-size: contain;
        background-repeat: no-repeat;
        width: 10px;
        margin-left: .5em;
        transform: rotate(90deg);
        transition: transform .3s ease;
    }

        .facility-filter.facility-filter--collapsed .facility-filter__title::after{
            transform: rotate(-90deg);
        }

.facility-filter__content {
    padding: 30px;
    position: relative;
    z-index: 1;
}

.facility-filter__category {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px;
}

.facility-filter__audience {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-gap: 15px 30px;
    margin-top: 30px;
}

.facility-filter__audience-item {
    background: var(--blue);
    color: #fff;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 20px 10px;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    transition: background .2s ease;
    cursor: pointer;
}

    .facility-filter__audience-item:hover,
    .facility-filter__audience-item.facility-filter__audience-item--active {
        background: var(--yellow);
    }

.facility-filter__category-item {
    color: #fff;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    position: relative;
    transition: box-shadow .2s ease;
    cursor: pointer;
    aspect-ratio: 16/9;
    font-size: 40px;
    position: relative;
    overflow: hidden;
}

.facility-filter__category-item::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(1deg, rgb(52 83 147 / 80%), rgb(52 83 147 / 0%));
    z-index: -1;
    transition: opacity .2s ease;
}

.facility-filter__category-item:hover::after {
  opacity: 0.4;

}

.facility-filter__category-item:hover {
    box-shadow:  0 0 0 6px var(--yellow);
}

img.facility-filter__category-bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

  .facility-filter__category-item.facility-filter__category-item--active {
      box-shadow:  0 0 0 6px var(--yellow);
  }

    .facility-filter__category-item.facility-filter__category-item--active span {
        position: relative;
    }

    .facility-filter__category-item.facility-filter__category-item--active span::after {
        content: '';
        display: block;
        width: 30px;
        height: 30px;
        background: url(../img/icons/checkmark-yellow.svg) no-repeat center center;
        left: 50%;
        top: 100%;
        position: absolute;
        transform: translate(-50%, 0%);
    }

    @media screen and (max-width: 1170px){
        .facility-filter__category {
            grid-template-columns: repeat(2, 1fr);
        }

        .facility-filter__audience-item {
            grid-column: span 2;
        }
    }

    @media screen and (max-width: 800px){
        .facility-filter__audience-item {
            grid-column: span 3;
        }
    }

    @media screen and (max-width: 800px){
        .facility-filter__audience-item {
            grid-column: span 6;
        }

        .facility-filter__category-item {
            grid-column: span 3;
        }
    }



.facility-filter__reset {
    text-align: center;
    margin-top: 30px;
}


.facility-items {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 20px;
}

 @media screen and (max-width:950px){
    .facility-items {
        grid-template-columns: repeat(2,1fr);
    }
 }

 @media screen and (max-width:600px){
    .facility-items {
        grid-template-columns: 1fr;
    }

    .facility-item__desc {
        padding: 0px 30px 30px 30px !important;
    }
 }

    .facility-item {
        background:#fff;
        border-radius: 9px;
        overflow: hidden;
        box-shadow:0 2px 10px rgb(148 133 133 / 25%);
        display: flex;
        flex-flow:column;
        position: relative;
    }

    .facility-item:nth-chld(2){
        background: var(--blue);
        color: #fff;
    }

        .facility-item__title{
            color:var(--blue);
        }

    .facility-item--wave-left .facility-item__media img {
        clip-path: ellipse(350% 270% at 177% -171%);
        border-radius: 9px 9px 0 0;
    }
    .facility-item--wave-center .facility-item__media img{
        clip-path: ellipse(350% 350% at 50% -253%);
        border-radius: 9px 9px 0 0;
    }
    .facility-item--wave-right .facility-item__media img{
        clip-path: ellipse(350% 270% at -77% -171%);
        border-radius: 9px 9px 0 0;
    }
    .facility-item__desc {
        padding: 10px 40px 40px 40px;
        flex:1;
        display: flex;
        flex-flow: column;
    }

        .facility-item__button {
            margin-top:auto;
        }

        .facility-item__button a::after {
            content:'';
            position: absolute;
            inset:0;
        }

      .facility-item__title {
          font-weight: 700;
          line-height: 1.2;
          font-size: 30px;
      }

      a.button-video.js-show-slide-in {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate3d(-50%, -51%, 0px);
          width: 80px;
          height: 50px;
          display: flex;
          flex-flow: column;
          justify-content: center;
          align-items: center;
          border-radius: 40px;
          box-shadow: 0 0 0 5px #fff inset;
          z-index: 2;
      }

      a.button-video.js-show-slide-in svg {
          height: 30px;
          fill: #fff;
      }

        .alt-facility {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-gap: 30px;
        }

        .alt-facility__item {
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 8px 10px rgba(0,0,0,0.15);
            padding: 20px;
        }

.audience-container {
    margin: 50px auto 0;
    display: flex;
    flex-flow: row wrap;
    grid-gap: 6px 12px;
}

div.cc-window.cc-window {
    background: var(--blue);
    padding: 20px;
}

.cc-banner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 10px 20px !important;
    width: 84%;
    overflow:visible !important;
}

.cc-banner::after {
    content:'';
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:100vw;
    background:var(--blue);
    margin-left:-50vw;
    z-index:-1;
}

.cc-banner .cc-message {
  line-height: 1.1;
}



.layout-article--sfeer {
    padding: 0;
    position: relative;
}

.layout-article--sfeer img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.layout-article--sfeer > svg {
    z-index: 10 !important;
}

.ambiance__label.ambiance__label--sfeer {
    z-index: 100;
    right: auto;
    left: 130px;
    top: 20px;
    bottom: auto;
    width: 510px;
}


article.article.layout-article--plattegrond {
    position: relative;
    aspect-ratio: 16/10;
    background: #ebe9e4;
    display: block;
    padding: 0;
}

.ambiance__label.ambiance__label--sfeer .article__title {
    font-size: 60px;
}


article.sitemap {
    padding-top: 110px;
}

article.sitemap .content-container {
    column-count: 3;
}

.sitemap__section {
    break-inside: avoid-column;
    margin-bottom:50px
}

.sitemap__section h2 {
    color: var(--blue);
}

.banner-score__pincamp {
    display: flex;
    align-items: center;
    grid-gap: 8px 16px;
}

img.banner-score__pincamp-image.banner-score__pincamp-image--2,
img.banner-score__pincamp-image.banner-score__pincamp-image--1 {
    height: 70px;
    width: auto;
}

@media screen and (max-width: 815px){
    html[lang="de"] .banner-scores {
        flex-flow: column wrap;
    }
}

@media screen and (max-width: 480px){
    .banner-score__pincamp {
        display: grid;
        grid-template-columns: auto 1fr;
    }

    img.banner-score__pincamp-image.banner-score__pincamp-image--2 {
        grid-column: 2;
    }
}


.acco-details .booking-widget-map-result {
    border: 0;
    border-radius: 0;
}

.acco-details .booking-widget-map {
    padding: 0;
    height: 90vh;
    max-height: 90vh;
    overflow: hidden;
}

@media screen and (max-width:480px){
    .acco-details .booking-widget-map {
        height: 75vh;
        max-height: 75vh;
    }
}



.text-cloud.text-cloud--over-map {
    z-index: 100000;
    bottom: auto;
    margin-top: -220px;
    right: auto;
    left: 100px;
    left: min(6vw, 100px);
    width: 420px;
    position: absolute;
    max-width: 83vw;

}

.text-cloud__title {
    margin-bottom: 0;
/*    font-size: 44px;*/
}

.text-cloud {
    color: #fff;
    background: #227bc0;
    padding:30px 50px;
    border-radius: 40px;
    container-type: inline-size;
}

.text-cloud p {
    font-size: min(7cqw, 1em);
}

.text-cloud::after {
    content: '';
    position: absolute;
    height: 40px;
    background: #267cbe;
    top: 100%;
    margin-top:-1px;
    left: 40px;
    right: 40px;
    -webkit-mask-image: url(/static/img/text-cloud-bg.svg);
    mask-image: url(/static/img/text-cloud-bg.svg);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
     -webkit-mask-position: bottom -1px center;
    mask-position: bottom -1px center;
}

.booking-widget-reservation .leaflet-marker-icon:not(.leaflet-marker-icon-pointer):not(.icon-map) {
    margin-left: -11px !important;
    margin-top: -22px !important;
    width: 22px !important;
    height: 22px !important;
    padding-left: 22px;
    box-sizing: border-box;
    background: transparent url(/static/img/icons/plattegrond/Kamperen.svg?v=2);
}

.map-icon--bosvilla .booking-widget-reservation .leaflet-marker-icon:not(.leaflet-marker-icon-pointer):not(.icon-map) {
    background: transparent url(/static/img/icons/plattegrond/Bosvilla.svg?v=2);
}
.map-icon--chalet .booking-widget-reservation .leaflet-marker-icon:not(.leaflet-marker-icon-pointer):not(.icon-map) {
    background: transparent url(/static/img/icons/plattegrond/Chalet.svg?v=2);
}
.map-icon--lodge .booking-widget-reservation .leaflet-marker-icon:not(.leaflet-marker-icon-pointer):not(.icon-map) {
    background: transparent url(/static/img/icons/plattegrond/Lodge.svg?v=2);
}
.map-icon--seizoensplaats .booking-widget-reservation .leaflet-marker-icon:not(.leaflet-marker-icon-pointer):not(.icon-map) {
    background: transparent url(/static/img/icons/plattegrond/Seizoensplaats.svg?v=2);
}








.ha-select.ha-select--preferred-object .ha-select__edit {
    margin: -40px -30px -70px;
}

.booking-widget-reservation .booking-widget-map-result.leaflet-container.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag {
    border: 0;
    max-height: 80vh;
    height: 540px;
}


img.leaflet-marker-icon.ha-leaflet-marker-icon-not-available.leaflet-zoom-animated.leaflet-interactive {
        opacity: .5;
        pointer-events: none;
    }

    .map-popup-description {
        border-bottom: 0;
    }

    .booking-widget-reservation .booking-widget-map-result.leaflet-container.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag {
        border: 0;
        max-height: 80vh;
        height: 540px;
    }
.facility-popup .ha-select__content h3,
    h3.map-popup-title {
    font-weight: 700;
    color: var(--blue);
    font-size: 30px;
}


.map-popup-title:first-child {
    margin-top: 0;
}
button.map-popup-button {
    text-decoration: none;
    color: #fff !important;
    background: var(--lightblue) !important;
    padding: 0.525em 1.25em;
    border-radius: 50px;
    display: inline-block;
    font-weight: 700;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px var(--lightblue);
    border: 0;
    filter: drop-shadow(0 0 10px rgba(32,51,105,.1));
    margin-left: auto;
    margin-right: auto;
}

button.map-popup-button:hover {
    box-shadow: inset 0 0 0 1px var(--highlightblue);
    background: var(--highlightblue) !important;
}

.map-popup {
    margin:13px 19px;
}
body .leaflet-popup-content {
    margin: 0;
}

.banner + article {
   padding-top: max(60px, 8vw);
}


.book-2025-info {
    padding: 20px;
    background: #f6f5f5;
    margin-top: 40px;
    font-size: 16px;
}

.reservation-bookinfo__title {
    font-size: 20px;
    position: relative;
    cursor: pointer;
}

.reservation-bookinfo__title:after {
    content:'';
    position: absolute;
    border:2px solid currentColor;
    border-left:0;
    border-top:0;
    transform:rotate(45deg);
    width: 10px;
    height: 10px;
    right: 10px;
    top: 0px;
    transition: all .3s ease;
}

.reservation-bookinfo__text {
    display: none;
}

.reservation-bookinfo__title.open::after {
    transform: rotate(-135deg);
    top: 6px;
}


.service-item.service-item__faq span.select2.select2-container.select2-container--default:not(.select2-container--open)::after {
    content: 'Zoeken';
    position: absolute;
    right: 0;
    top: 0;
    color: #fff;
    background: var(--blue);
    padding: 7px 30px;
    border-radius: 50px;
    font-weight: 700;
    box-shadow: 0 0 0 30px white;
    pointer-events: none;
}

.service-item.service-item__faq html[lang="de"] span.select2.select2-container.select2-container--default:not(.select2-container--open)::after {
    content: 'Suchen';
}

.service-item.service-item__faq html[lang="en"] span.select2.select2-container.select2-container--default:not(.select2-container--open)::after {
    content: 'Search';
}

@media screen and (max-width:480px){
    .service-item.service-item__faq span.select2.select2-container.select2-container--default:not(.select2-container--open)::after {
        top: 45px;
        padding: 4px 24px;
        box-shadow: 0 0 0 10px #fff;
    }
}
span#select2-hmcms-faq_search-container {
    border-bottom: 1px solid #eee;
}

.slide-in__close-bg {
    position: fixed;
    width: 100vw;
    height: 100vw;
    z-index: 100;
    z-index: 100000000000000000;
}

.usp-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    text-align: center;
    font-size: 27px;
    line-height: 1;
    font-weight: 700;
    color: var(--blue);
    grid-gap: 30px;
    margin:30px auto;
    margin: 30px auto;
    max-width: 1150px;
}

.usp-item__icon svg {
    max-width: 90px;
    fill: currentColor;
}

.usp-item__icon {
    margin-bottom: 20px;
}

.footer__nav-menu ul a {
    background: transparent !important;
}

#CybotCookiebotDialog {
    z-index: 10000000000;
}

div#chat-widget-container {
/*    width: 160px !important;*/
}


body > img[src^='//myclang.com'],
body > img[src^='https://myclang.com'] {
    visibility: hidden;
    position: absolute;
    width: 0;
    height: 0;
}


.calentim-next,
.calentim-prev {
    width: 30px;
    height: 30px;
}

.calentim-next {
    margin-right: -11px;
}

.calentim-pref {
    margin-left: -11px;
}


.text-content__form-row input {
    width: 100%;
    border-radius: 60px;
    border: 1px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
    height: 46px;
}

.text-content__form {
    max-width: 520px;
    margin: 2em auto 0;
}

.text-content__form form {
    display: grid;
    grid-gap: 13px;
}

.acco-list__arrival-today-message {
    background: var(--blue);
    color: #fff;
    padding: 40px;
    border-radius: 30px;
}

.acco-list__arrival-today-message > *:last-child {
    margin-bottom: 0;
}

.acco-list__arrival-today-message > *:first-child {
    margin-top: 0;
}
.acco-list__arrival-today-message h1, .acco-list__arrival-today-message h2, .acco-list__arrival-today-message h3 {
    font-size: 1.6em;
}

li.ha-widget-pt-date-column.today:not(.has-availability) .ha-widget-pt-option.ha-not-available:after {
    content: 'Neem contact op';
    background: transparent;
    color: var(--blue);
    padding-top: 0;
    padding-inline: 12px;
    line-height: 1;
}

html[lang="de"] li.ha-widget-pt-date-column.today:not(.has-availability) .ha-widget-pt-option.ha-not-available:after {
    content: 'Kontaktieren Sie uns';
}

html[lang="en"] li.ha-widget-pt-date-column.today:not(.has-availability) .ha-widget-pt-option.ha-not-available:after {
    content: 'Contact Us';
}


.content-container.footer-alt-container {
    grid-template-columns: 290px auto 500px;
}

.footer-col__links ul {
    padding: 0;
    list-style: none;
}

.footer-col__links ul li a {
    text-decoration: none;
}

.footer-col__links ul li a:hover {
    text-decoration: underline;
}

h3.footer-col__title {
    color: var(--yellow);
    font-size: 1.325em;
}

.footer-alt-container .footer-col-service {
    grid-row: span 2;
}

.footer-alt-container .footer-col-newsletter {
    grid-column: span 1;
}

.footer-col-newsletter {
    padding-top: 0;
    border-top: 0;
    margin-top: 0;
}

h3.footer-col__title p {
    margin-top: 0;
}

.footer-contact-info ul {
    margin-top: 0;
}

.newsletter-row {
    display: flex;
    grid-gap: 1em;
    width: 100%;
}

.newsletter-row input {
    border-radius: 6px;
    border: 0;
    flex: 1 auto;
}

.newsletter-row.newsletter-row--button input {
    flex: 0;
    border-radius: 50px;
}

div#newsletter-subscribe form {
    grid-gap:20px;
}

.footer-col-service img {
    margin-bottom:2em;
}


@media screen and (max-width: 1500px) {
    .newsletter-row {
        display: gid;
    }
}

@media screen and (max-width: 1200px) {
    .content-container.footer-alt-container {
        display: flex;
        flex-flow: row wrap;
    }
}

.banner__media {
    overflow: hidden;
}

.layout-article--map {
    overflow: hidden;
}




li.filter-item.has-items.active {
    font-weight: 700;
}

.park-map__popup img.leaflet-marker-icon.ha-leaflet-marker-icon-available.leaflet-zoom-animated.leaflet-interactive {
/*    display: none;*/
}

.park-map__popup .leaflet-pane.leaflet-shadow-pane {
    display: none;
}

.park-map__popup .leafletMap {
    width: 100vw;
    height: 100vh;
}

.park-map__popup .leaflet-pane {
    transition: all .15s ease !important;
}
.park-map__popup .leaflet-container {
    background: #c7dfa4 ;
}

body:not(.list-view) .booking-widget--map:not(.has-period) img.leaflet-marker-icon.ha-leaflet-marker-icon-available {
    display: none;
}

img.leaflet-marker-icon.ha-leaflet-marker-icon.leaflet-zoom-animated.leaflet-interactive {
    display: none;
}
/*body, html {
    margin:0;
    padding:0;
}

* {
    box-sizing: border-box;
}*/

span.text-label {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%,-50%,0);
    white-space: nowrap;
    color: #fff;
    background: var(--primary);
    font-size: 14px;
    padding: 4px 12px;
    border-radius: 5px;
}

span.text-label.text-label--wit {
    color: var(--primary);
    background: #fff;
    border: 1px solid currentColor;
}

.park-map__popup .booking-widget-map {
    padding:0;
    border:0;
    box-sizing: border-box;
}
.park-map__popup .booking-widget-map {
    padding-left: 380px;
    width: 100vw;
    height: 100vh;
    border: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    background: #c7dfa4;
}

.park-map__popup .booking-widget-map-result.leaflet-container.leaflet-fade-anim.leaflet-grab.leaflet-touch-drag {
    border: 0;
    overflow: visible;
}

.park-map__popup .ha-searcher__criteria-header {
    cursor: pointer;
}

.park-map__popup .ha-searcher__criteria-header svg {
    width: 21px;
    height: 16px;
    position: absolute;
    right: 20px;
    margin-top: 3px;
}

.park-map__popup .ha-searcher__criteria-filter:not(.active) .ha-searcher__criteria-item {
    display: none;
}
/*.ha-searcher__item-title,
h3.ha-searcher__criteria-header {
    font-size: 24px;
    line-height: 44px;
    margin-bottom:10px;
    margin-top:20px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #125694;
}*/

/*.calentim-container.calentim-popup {
    position: fixed;
}*/

/*h3.ha-searcher__criteria-header {
    font-size:0;
    line-height: 44px;
    margin-bottom:10px;
    margin-top:20px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #125694;
}*/
/*h3.ha-searcher__criteria-header::before {
    font-size:24px;
}*/


/*input.calentim.picker {
    width: 100%;
}

.ha-searcher__item-field input {
    width: 100%;
}

.ha-searcher__item-field {
    width: 100%;
}

.ha-searcher__item-field input, .ha-searcher__item-field select {
    width: 100%;
    padding: 14px 16px;
    border-radius: 4px;
    border: 1px solid #ddd;
}

.ha-searcher__criteria-filter:not(.open) .ha-searcher__criteria-item {
    display: none;
}

.ha-searcher__criteria-header {
    position:relative;
    cursor:pointer;
}
.ha-searcher__criteria-header::after {
    content: '';
    display:block;
    width:10px;
    height:10px;
    border:2px solid #000;
    border-top:0;
    border-left:0;
    transform:rotate(45deg);
    position:absolute;
    right:10px;
    top:15px;
}

.open .ha-searcher__criteria-header::after {
    content: '';
    display:block;
    width:10px;
    height:10px;
    border:2px solid #000;
    border-top:0;
    border-left:0;
    transform:rotate(-135deg);
    position:absolute;
    right:10px;
    top:20px;
}

.map-popup-description,
.map-popup-period {display: none;}
.leaflet-container a {
    color: #E37222;
}


body.calentim-notouch.hide-names.has-search-params .ha-leaflet-marker-icon-available {
    opacity: 1 !important;
    pointer-events: initial;
}

body.popup-open .leaflet-icon--water-point,
body:not(.has-search-params) img.leaflet-marker-icon.ha-leaflet-marker-icon-selected.leaflet-zoom-animated.leaflet-interactive,
body:not(.has-search-params) img.leaflet-marker-icon.ha-leaflet-marker-icon-available.leaflet-zoom-animated.leaflet-interactive { opacity:0; pointer-events: none;}


.leaflet-control-container a {
    color: #000 !important;
}
*/






/*
.map-popup {
    display: grid;
}

.map-popup-image.count\=1 {
    order: -1;
    margin: -20px -20px 10px -20px;
}

.map-popup {
    padding: 20px;
    font-size: 14px;
}

a.map-popup-link.pull-right {
    background: #e1732d;
    padding: 5px 13px;
    border-radius: 50px;
    display: inline-block;
    margin-top: 11px;
    color:#ffff;
    font-weight: 400;
}

.ha-searcher__item.ha-searcher__criteria {
    grid-gap:0px !important;
}


.leaflet-popup-content:has(.facility-popup) {
    margin: 0;
}

.facility-popup {
    padding: 20px;
}

.facility-popup__title {
    font-size:24px;
    line-height: 1.2;
}

.facility-popup p {
    font-size:14px;
}

.facility-popup .facility-popup__content > *:last-child {
    margin-bottom:0;
}

.facility-popup .facility-popup__content a {
    color:#E37222 !important;
}

*/



.park-map {
    position: relative
}


.park-map__overlay {
    position: absolute;
    inset: 0;
    place-content: center;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: linear-gradient(45deg, #00000033, #0000002e);
    color: #fff;
}

.park-map__title {
/*    font-size: 4em*/
line-height: 1;
}

.park-map .button {
/*    font-size: 1.2em*/
}

.park-map__background-img {
    max-height: 580px;
    object-fit: cover;
    width: 100%;
}

.park-map__popup {
    background: #000;
    z-index: 10000;
    transition: all .5s ease;
    box-shadow: 0 0 0 200vh rgba(0,0,0,0);
    background-size: cover !important;
    opacity: 0;
    pointer-events: none;
    overflow:hidden;
    position: fixed;
    top:50%;
    left: 0;
    width: 100%;
    height: 0;
}

.park-map__popup.park-map__popup--grow {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1;
    pointer-events: initial
}

.park-map__popup-close {
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 10000
}

.park-map__popup-close:before,.park-map__popup-close:after {
    content: '';
    width: 30px;
    height: 3px;
    background: #000;
    display: block;
    top: 18.5px;
    position: absolute;
    left: 5px;
    transform: rotate(45deg);
    border-radius: 5px
}

.park-map__popup-close:after {
    transform: rotate(-45deg)
}

.park-map__container .ha-searcher {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 40px;
}

.park-map__container .ha-searcher__item {
    padding-left: 0;
    margin-left: 0;
    border: 0;
}





.park-map__filters {
    position: fixed;
    z-index: 1000;
    left: 30px;
    top: 30px;
    background: #fff;
    padding: 30px;
    width: 350px;
    border-radius: 20px;
    bottom: 30px;
    overflow: auto;
    box-shadow: 0 2px 10px rgba(148, 133, 133, .25);
}

li.filter-cat span {
    font-weight: 600;
    font-size: 14px;
    display: flex;
    padding: 1em 0;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

li.filter-cat span svg {
    transition: transform .3s ease;
}


li.filter-cat {
    border-bottom: 1px dotted var(--dim-grey);
    list-style: none;
}

li.filter-cat.active {
    padding-bottom:1em;
}

li.filter-cat.active > span svg {
    transform:scale(1,-1);
}
li.filter-cat li {
    list-style: none !important;
}

li.filter-cat:not(.active) ul {
    display: none;
    list-style: none;
}


ul.filter-cat__group {
    display: grid;
    grid-gap: 6px;
}

ul.filter-cat__group span {
    font-weight: 400;
    padding: 0;
}

li.filter-cat__subgroup-title {
    color: var(--primary);
    padding-top:.5em;
}

li.filter-cat__subgroup-title:first-child{
    padding-top:0;
}

li.filter-item::before {
    content: '';
    display: block;
    width: 1em;
    height: 1em;
    border: 1px solid var(--dim-grey);
    border-radius: 4px;
}

li.filter-item.active::before{
    background-image: url(/static/img/icons/tick.svg);
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: center;
}

li.filter-item {
    display: flex;
    align-items: center;
    grid-gap: 12px;
}

li.filter-item:not(.has-items){
    opacity: .2;
}

body.hide-labels .text-label {
    display: none;
}

.leaflet-marker-bounce {
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: bounce;
    animation-timing-function: cubic-bezier(0.280, 0.840, 0.420, 1);
    z-index: 100000 !important;
}

@keyframes bounce {
    0%   { top: 0; }
    30%  { top: 0; }
    40%  { top: -10px; }
    50%  { top: 0; }
    55%  { top: -2px; }
    60%  { top: 0; }
    100% { top: 0; }
}


.park-map__ha-filters .ha-searcher__criteria-header {
    color: var(--blue);
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: 700;
    margin-top:20px;
}

.park-map__ha-filters .ha-searcher__criteria-header::after {
    display: none;
}

.park-map__ha-filters .ha-searcher__criteria-filter.active svg {
    transform:scale(1,-1);
}

.park-map__ha-filters .ha-searcher__criteria-filter.active {
    padding-bottom: 1em;
}

.park-map__ha-filters .ha-searcher__criteria-filter {
    display: grid;
    padding:0;
    border-top:1px dotted var(--dim-grey);
    border-bottom:1px dotted var(--dim-grey);
}

.park-map__ha-filters .ha-searcher__criteria-filter.active .ha-searcher__criteria-item {
    display: flex !important;
    line-height: 1.1;
    align-items: center;
    grid-gap: 12px;
    padding:.2em;
}

.park-map__container input.calentim.picker {
    width: 100%;
    border-radius: 7px;
    border: 1px solid #ccc;
    border-bottom: 2px solid var(--blue);
    cursor: pointer;
}

.park-map__container .ha-searcher__criteria-item label {
    display: grid;
    grid-template-columns: 20px auto;
    grid-gap: 12px;
    font-size: 18px;
}

.park-map__container .ha-searcher__criteria-field {
    display: none;
}

.park-map__container input.calentim.picker::placeholder {
    color:#212121;
}

.park-map__container .ha-searcher__item-title {
    display: none;
}

.park-map__filters-title h3 {
    margin-bottom: 10px;
    font-size: 22px;
    font-weight: 700;
    color: var(--blue);
}

.js-reset-filter {
    font-size: 14px;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    margin-left: auto;
}

.park-map__filters-title {
    display: flex;
    align-items: baseline;
    margin-bottom: 1em;
}

.facility-popup__title {
    font-size: 18px;
}

.facility-popup__content p {
    font-size: 13px;
}

.facility-popup__content > *:last-child {
    margin-bottom:0;
}

.hide-pois img.leaflet-poi {
    display: none;
}

.park-map__mobile-toggle {
    position: fixed;
    bottom:10px;
    left: 50%;
    transform: translateX(-50%);
    max-width: 90vw;
}

.park-map__mobile-toggle.btn {
    display: none;
}

.park-map__container .leaflet-top.leaflet-left {
    left: auto;
    right: 30px;
    top: auto;
    bottom: 20px;
}

@media screen and (max-width: 900px) {
    .park-map__mobile-toggle.btn {
        display: block;
    }

    .park-map__popup .booking-widget-map {
        padding-left:0;
    }

    .park-map__filters {
        top: 100%;
        left: 0;
        right: 0px;
        width: auto;
        bottom: 0;
        z-index: 10000;
        transition: top .5s ease;
        display: flex;
        flex-flow: column;
    }

    .park-map__mobile-toggle.btn {
        position: absolute;
        bottom: 100%;
        margin-bottom: 20px;
        padding: 1em;
    }

    body.body--has-park-map-filter .park-map__mobile-toggle-hidden-text {
        display: none;
    }

    body:not(.body--has-park-map-filter) .park-map__mobile-toggle-visible-text {
        display: none;
    }

    .body--has-park-map-filter .park-map__filters {
        top: 0;
        overflow: auto;
    }

    .body--has-park-map-filter .park-map__mobile-toggle.btn {
        top: initial;
        bottom: auto;
        position: relative;
        order:2;
        margin-top: auto;
        margin-bottom: -10px;
    }
}


.newsletter-row.newsletter-row--pp p {
    font-size: 14px;
    line-height: 1.3;
    margin: 0 !important;
}

.newsletter-row.newsletter-row--pp label {
    display: grid;
    grid-template-columns: 18px 1fr;
    grid-gap: .6em;
    justify-content: flex-start;
}

.newsletter-row.newsletter-row--pp input {
    height: 20px;
}


b.calentim-month-switch {
    position: relative;
}

b.calentim-month-switch:hover::after {
    content: 'Klik hier om snel van maand te wisselen';
    display: block;
    pointer-events: none;
    text-decoration: none !important;
    color: #424242;
    background: #fff;
    position: absolute;
    font-size: 14px;
    line-height: 1;
    padding: 19px;
    box-shadow: 0px 0px 13px -5px rgba(0,0,0,.4);
    z-index: 100;
    bottom: 100%;
    text-transform: none;
}

html[lang="de"] b.calentim-month-switch:hover::after {
    content: 'Klicken Sie hier, um schnell zwischen den Monaten zu wechseln';
}

html[lang="en"] b.calentim-month-switch:hover::after {
    content: 'Click here to quickly switch months';
}


.calentim-container .calentim-input, .calentim-container-mobile .calentim-input {
    overflow: initial;
}