@view-transition {
    navigation: auto;
}

body {
    touch-action: pan-y pinch-zoom;
}

.nls-swipe-pages {
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 2147483000;
}

.nls-swipe-pages__control {
    align-items: center;
    background: rgba(0, 0, 0, 0.08);
    color: inherit;
    display: flex;
    height: 72vh;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    text-decoration: none;
    top: 14vh;
    transition: background-color 160ms linear, opacity 160ms linear;
    width: 22px;
    z-index: 2147483001;
}

.nls-swipe-pages__control--previous {
    left: 0;
}

.nls-swipe-pages__control--next {
    right: 0;
}

.nls-swipe-pages--ready .nls-swipe-pages__control {
    opacity: 0.62;
    pointer-events: auto;
}

.nls-swipe-pages__control:hover,
.nls-swipe-pages__control:focus-visible {
    background: rgba(0, 0, 0, 0.16);
    opacity: 1;
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

.nls-swipe-pages__control span {
    font-size: 24px;
    line-height: 1;
}

::view-transition-image-pair(root) {
    isolation: auto;
}

html.nls-swipe-next::view-transition-old(root),
html.nls-swipe-next::view-transition-new(root),
html.nls-swipe-previous::view-transition-old(root),
html.nls-swipe-previous::view-transition-new(root) {
    animation-duration: 320ms;
    animation-fill-mode: both;
    animation-timing-function: linear;
    mix-blend-mode: normal;
}

html.nls-swipe-next::view-transition-old(root) {
    animation-name: nls-swipe-out-left;
}

html.nls-swipe-next::view-transition-new(root) {
    animation-name: nls-swipe-in-right;
}

html.nls-swipe-previous::view-transition-old(root) {
    animation-name: nls-swipe-out-right;
}

html.nls-swipe-previous::view-transition-new(root) {
    animation-name: nls-swipe-in-left;
}

@keyframes nls-swipe-out-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes nls-swipe-in-right {
    from {
        transform: translateX(100%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes nls-swipe-out-right {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(100%);
    }
}

@keyframes nls-swipe-in-left {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

@media (pointer: coarse), (any-pointer: coarse) {
    .nls-swipe-pages__control {
        height: 68vh;
        top: 18vh;
        touch-action: manipulation;
        width: 36px;
        -webkit-tap-highlight-color: transparent;
    }
}

html.nls-swipe-fallback-arrival,
html.nls-swipe-fallback-reveal {
    overflow-x: hidden;
}

html.nls-swipe-fallback-arrival.nls-swipe-next body {
    transform: translateX(48px);
}

html.nls-swipe-fallback-arrival.nls-swipe-previous body {
    transform: translateX(-48px);
}

html.nls-swipe-fallback-reveal.nls-swipe-next body {
    animation: nls-swipe-fallback-in-right 220ms ease-out both;
}

html.nls-swipe-fallback-reveal.nls-swipe-previous body {
    animation: nls-swipe-fallback-in-left 220ms ease-out both;
}

@keyframes nls-swipe-fallback-in-right {
    from {
        transform: translateX(48px);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes nls-swipe-fallback-in-left {
    from {
        transform: translateX(-48px);
    }

    to {
        transform: translateX(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .nls-swipe-pages__control {
        transition: none;
    }

    html.nls-swipe-fallback-arrival.nls-swipe-next body,
    html.nls-swipe-fallback-arrival.nls-swipe-previous body {
        transform: none;
    }

    html.nls-swipe-fallback-reveal.nls-swipe-next body,
    html.nls-swipe-fallback-reveal.nls-swipe-previous body {
        animation: none;
    }

    html.nls-swipe-next::view-transition-old(root),
    html.nls-swipe-next::view-transition-new(root),
    html.nls-swipe-previous::view-transition-old(root),
    html.nls-swipe-previous::view-transition-new(root) {
        animation: none;
    }
}



/* NLS Hero video background */
.nls-hero-wrapper { position: relative; transition: none !important; }
.nls-hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.nls-hero-overlay { z-index: 1; }
.nls-hero-inner { position: relative; z-index: 2; }

.nls-hero-seo-picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.nls-hero-seo-image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  object-fit: cover;
  object-position: center center;
}

.nls-hero-seo-picture--hidden,
.nls-hero-seo-picture--hidden .nls-hero-seo-image {
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.nls-text-content h1,
.nls-text-content h2,
.nls-text-content h3,
.nls-text-content h4,
.nls-text-content h5,
.nls-text-content h6 {
    text-wrap: balance;
}
.nls-text-content p,
.nls-text-content li {
    text-wrap: pretty;
    widows: 2;
    orphans: 2;
}
.nls-text-content > :last-child,
.nls-text-flow-content > :last-child {
    margin-bottom: 0;
}
.nls-text-block--shape-circle,
.nls-text-block--shape-star {
    box-sizing: border-box;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    position: relative;
}
.nls-text-block--shape-circle .nls-text-shape-visual,
.nls-text-block--shape-star .nls-text-shape-visual {
    position: absolute;
    inset: 0;
    box-sizing: border-box;
    z-index: 0;
    pointer-events: none;
}
.nls-text-block--shape-circle .nls-text-content--shape,
.nls-text-block--shape-star .nls-text-content--shape {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: var(--nls-text-shape-circle-size, 84%);
    height: var(--nls-text-shape-circle-size, 84%);
    box-sizing: border-box;
    transform: translate(-50%, -50%);
    overflow: hidden;
    border-radius: 50%;
    display: block;
    text-align: center;
    line-height: 1.2;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: manual;
}
.nls-text-block--shape-circle .nls-text-flow-left,
.nls-text-block--shape-star .nls-text-flow-left,
.nls-text-block--shape-circle .nls-text-flow-right,
.nls-text-block--shape-star .nls-text-flow-right {
    display: block;
    width: 50%;
    height: 100%;
    pointer-events: none;
}
.nls-text-block--shape-circle .nls-text-flow-left,
.nls-text-block--shape-star .nls-text-flow-left {
    float: left;
    clear: left;
    shape-outside: polygon(0 0, 100% 0, 73.3% 4%, 60% 8%, 48% 12%, 37.6% 16%, 28.6% 20%, 21.1% 24%, 15% 28%, 10% 32%, 6.2% 36%, 3.5% 40%, 1.5% 44%, 0.4% 48%, 0.4% 52%, 1.5% 56%, 3.5% 60%, 6.2% 64%, 10% 68%, 15% 72%, 21.1% 76%, 28.6% 80%, 37.6% 84%, 48% 88%, 60% 92%, 73.3% 96%, 100% 100%, 0 100%);
    -webkit-shape-outside: polygon(0 0, 100% 0, 73.3% 4%, 60% 8%, 48% 12%, 37.6% 16%, 28.6% 20%, 21.1% 24%, 15% 28%, 10% 32%, 6.2% 36%, 3.5% 40%, 1.5% 44%, 0.4% 48%, 0.4% 52%, 1.5% 56%, 3.5% 60%, 6.2% 64%, 10% 68%, 15% 72%, 21.1% 76%, 28.6% 80%, 37.6% 84%, 48% 88%, 60% 92%, 73.3% 96%, 100% 100%, 0 100%);
}
.nls-text-block--shape-circle .nls-text-flow-right,
.nls-text-block--shape-star .nls-text-flow-right {
    float: right;
    clear: right;
    shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 100%, 26.7% 96%, 40% 92%, 52% 88%, 62.4% 84%, 71.4% 80%, 78.9% 76%, 85% 72%, 90% 68%, 93.8% 64%, 96.5% 60%, 98.5% 56%, 99.6% 52%, 99.6% 48%, 98.5% 44%, 96.5% 40%, 93.8% 36%, 90% 32%, 85% 28%, 78.9% 24%, 71.4% 20%, 62.4% 16%, 52% 12%, 40% 8%, 26.7% 4%, 0 0);
    -webkit-shape-outside: polygon(0 0, 100% 0, 100% 100%, 0 100%, 26.7% 96%, 40% 92%, 52% 88%, 62.4% 84%, 71.4% 80%, 78.9% 76%, 85% 72%, 90% 68%, 93.8% 64%, 96.5% 60%, 98.5% 56%, 99.6% 52%, 99.6% 48%, 98.5% 44%, 96.5% 40%, 93.8% 36%, 90% 32%, 85% 28%, 78.9% 24%, 71.4% 20%, 62.4% 16%, 52% 12%, 40% 8%, 26.7% 4%, 0 0);
}
.nls-text-block--shape-circle .nls-text-flow-content,
.nls-text-block--shape-star .nls-text-flow-content {
    box-sizing: border-box;
    width: 100%;
    min-height: 100%;
}
.nls-text-block--shape-circle .nls-text-flow-content > *,
.nls-text-block--shape-star .nls-text-flow-content > * {
    max-width: 100%;
}
.nls-text-block--shape-circle .nls-text-flow-content p,
.nls-text-block--shape-circle .nls-text-flow-content h1,
.nls-text-block--shape-circle .nls-text-flow-content h2,
.nls-text-block--shape-circle .nls-text-flow-content h3,
.nls-text-block--shape-circle .nls-text-flow-content h4,
.nls-text-block--shape-circle .nls-text-flow-content h5,
.nls-text-block--shape-circle .nls-text-flow-content h6,
.nls-text-block--shape-star .nls-text-flow-content p,
.nls-text-block--shape-star .nls-text-flow-content h1,
.nls-text-block--shape-star .nls-text-flow-content h2,
.nls-text-block--shape-star .nls-text-flow-content h3,
.nls-text-block--shape-star .nls-text-flow-content h4,
.nls-text-block--shape-star .nls-text-flow-content h5,
.nls-text-block--shape-star .nls-text-flow-content h6 {
    margin-top: 0;
    margin-bottom: 0.35em;
}
.nls-text-block--shape-circle .nls-text-flow-content > :last-child,
.nls-text-block--shape-star .nls-text-flow-content > :last-child {
    margin-bottom: 0;
}
.nls-text-content h1,
.nls-text-content h2,
.nls-text-content h3,
.nls-text-content h4,
.nls-text-content h5,
.nls-text-content h6 {
    text-wrap: balance;
}
.nls-text-content p,
.nls-text-content li {
    text-wrap: pretty;
}
.nls-text-block[data-nls-text-flow-group] {
    position: relative;
    overflow: visible;
}
.nls-text-content[data-nls-text-flow-content] {
    box-sizing: border-box;
}
html.translated-ltr .nls-text-block:not([data-nls-text-shape]),
html.translated-rtl .nls-text-block:not([data-nls-text-shape]) {
    height: auto !important;
    overflow: visible !important;
}
html.translated-ltr .nls-text-block:not([data-nls-text-shape]) [data-nls-text-flow-content],
html.translated-rtl .nls-text-block:not([data-nls-text-shape]) [data-nls-text-flow-content] {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}
@media (max-width: 767px) {
.nls-text-block[data-nls-text-flow-group] [data-nls-text-flow-content] {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Vrije plaatsing: alleen actief voor NLS Text-blokken met freePlacement=1. */
.nls-text-free-anchor {
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    min-height: 0;
    overflow: visible;
    pointer-events: none;
}
.nls-text-free-wrapper {
    box-sizing: border-box;
    max-width: none;
    pointer-events: auto;
}
.nls-text-free-wrapper > .nls-text-block {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
}

.ccm-block-nls-spacer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ccm-block-nls-spacer + [class^="ccm-block-"],
.ccm-block-nls-spacer + div {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.nls-spacer {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  display: block;
}
