/*****************************************************************************

    ███████╗██╗     ██╗██████╗ ███████╗███████╗██╗  ██╗ ██████╗ ██╗    ██╗
    ██╔════╝██║     ██║██╔══██╗██╔════╝██╔════╝██║  ██║██╔═══██╗██║    ██║
    ███████╗██║     ██║██║  ██║█████╗  ███████╗███████║██║   ██║██║ █╗ ██║
    ╚════██║██║     ██║██║  ██║██╔══╝  ╚════██║██╔══██║██║   ██║██║███╗██║
    ███████║███████╗██║██████╔╝███████╗███████║██║  ██║╚██████╔╝╚███╔███╔╝
    ╚══════╝╚══════╝╚═╝╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝ ╚═════╝  ╚══╝╚══╝ 
                                                                                                                                                                                        
 *****************************************************************************/



    /* Make links non clickable in backend. */

    .is-root-container .nvm-slideshow .button {
        pointer-events: none;
    }



    /* Slideshow main container. */

    .nvm-slideshow {
        position: relative;
        z-index: 0;
        overflow: hidden;

        /* Fallback colour behind the slide images. The images are object-fit:
           cover and fully cover this box, so this is never actually seen, but
           it gives the white slideshow controls a real background colour to be
           measured against - both by contrast checkers and by a real user, in
           case an image is slow to load or fails to load. */
        background-color: var(--brand-color-dark-brown);
    }

    .small .nvm-slideshow {
        height: 87vh;
    }

    .laptop .nvm-slideshow {
        height: 94vh;
    }



    /* No navigation slideshow. */

    .nvm-slideshow-no-navigation .responsiville-slideshow-navigation {
        display: none;
    }

    .nvm-slideshow-no-bullets .responsiville-slideshow-bullets  {
        display: none;
    }



    /* Slideshow aspect ratios. */

    .nvm-slideshow-9x21 {
        aspect-ratio: 9/21;
    }

    .nvm-slideshow-9x16 {
        aspect-ratio: 9/16;
    }

    .nvm-slideshow-3x4 {
        aspect-ratio: 3/4;
    }

    .nvm-slideshow-2x3 {
        aspect-ratio: 2/3;
    }

    .nvm-slideshow-1x1 {
        aspect-ratio: 1/1;
    }

    .nvm-slideshow-3x2 {
        aspect-ratio: 3/2;
    }

    .nvm-slideshow-4x3 {
        aspect-ratio: 4/3;
    }

    .nvm-slideshow-16x9 {
        aspect-ratio: 16/9;
    }

    .nvm-slideshow-21x9 {
        aspect-ratio: 21/9;
    }


    
    /* Slideshow buttons. */

    .nvm-slideshow .responsiville-slideshow-next, 
    .nvm-slideshow .responsiville-slideshow-previous,
    .nvm-slideshow .responsiville-slideshow-bullet {
        box-shadow: none !important;
    }

    .nvm-slideshow .responsiville-slideshow-next::after, 
    .nvm-slideshow .responsiville-slideshow-previous::after,
    .nvm-slideshow .responsiville-slideshow-bullet::after {
        display: none;
        box-shadow: none !important;
    }
    
    .nvm-slideshow .responsiville-slideshow-previous {
        left: -30px;
    }

    .nvm-slideshow .responsiville-slideshow-next {
        right: -30px;
    }

    .nvm-slideshow .responsiville-slideshow-bullets {
        position: relative;
    }

        .nvm-slideshow .responsiville-slideshow-bullet {
            width: 25px;
            height: 25px;
            background-color: transparent;
            line-height: 25px;
            color: var(--nvm-color-white);
            /*margin: 0 10px;*/
        }
    
        .nvm-slideshow .responsiville-slideshow-bullet:hover, 
        .nvm-slideshow .responsiville-slideshow-bullet.responsiville-slideshow-bullet-selected {
            border: 1px solid var(--nvm-color-white);
            background: transparent;
        }

        .nvm-slideshow .responsiville-slideshow-previous-icon::before {
            content: "";
            width: 100%;
            height: 11px;
            -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 18 11" fill="none"><path d="M5.83066 0.290252C6.02419 0.483773 6.02419 0.677304 6.02419 0.870826C6.02419 1.06435 5.92743 1.25788 5.83066 1.4514L2.63701 4.64502L16.9595 4.64502C17.3466 4.64502 17.7336 5.03207 17.7336 5.41914C17.7336 5.8062 17.3466 6.19325 16.9595 6.19325L2.63701 6.19349L5.83066 9.38711C6.12096 9.6774 6.12096 10.1612 5.83066 10.4517C5.54037 10.742 5.05655 10.742 4.76605 10.4517L0.217719 5.90343C-0.0725728 5.61314 -0.0725728 5.12931 0.217719 4.83882L4.76605 0.290532C4.95958 -0.0967569 5.54042 -0.0967979 5.83066 0.290252Z" fill="white"/></svg>');
            mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 18 11" fill="none"><path d="M5.83066 0.290252C6.02419 0.483773 6.02419 0.677304 6.02419 0.870826C6.02419 1.06435 5.92743 1.25788 5.83066 1.4514L2.63701 4.64502L16.9595 4.64502C17.3466 4.64502 17.7336 5.03207 17.7336 5.41914C17.7336 5.8062 17.3466 6.19325 16.9595 6.19325L2.63701 6.19349L5.83066 9.38711C6.12096 9.6774 6.12096 10.1612 5.83066 10.4517C5.54037 10.742 5.05655 10.742 4.76605 10.4517L0.217719 5.90343C-0.0725728 5.61314 -0.0725728 5.12931 0.217719 4.83882L4.76605 0.290532C4.95958 -0.0967569 5.54042 -0.0967979 5.83066 0.290252Z" fill="white"/></svg>');
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-size: contain;
            mask-size: contain;
            right: 0;
            background: white;

        }

        .nvm-slideshow .responsiville-slideshow-next-icon::before {
            content: "";
            width: 100%;
            height: 11px;
            -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 18 11" fill="none"><path d="M11.903 10.3792C11.7095 10.1857 11.7095 9.99213 11.7095 9.79861C11.7095 9.60509 11.8062 9.41156 11.903 9.21804L15.0966 6.02441L0.774143 6.02441C0.38709 6.02441 2.26418e-05 5.63736 2.26587e-05 5.2503C2.26756e-05 4.86323 0.387077 4.47619 0.774143 4.47619L15.0966 4.47595L11.903 1.28232C11.6127 0.992031 11.6127 0.508208 11.903 0.217716C12.1933 -0.0725725 12.6771 -0.0725724 12.9676 0.217716L17.5159 4.76601C17.8062 5.0563 17.8062 5.54012 17.5159 5.83061L12.9676 10.3789C12.7741 10.7662 12.1932 10.7662 11.903 10.3792Z" fill="white"/></svg>');
            mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="11" viewBox="0 0 18 11" fill="none"><path d="M11.903 10.3792C11.7095 10.1857 11.7095 9.99213 11.7095 9.79861C11.7095 9.60509 11.8062 9.41156 11.903 9.21804L15.0966 6.02441L0.774143 6.02441C0.38709 6.02441 2.26418e-05 5.63736 2.26587e-05 5.2503C2.26756e-05 4.86323 0.387077 4.47619 0.774143 4.47619L15.0966 4.47595L11.903 1.28232C11.6127 0.992031 11.6127 0.508208 11.903 0.217716C12.1933 -0.0725725 12.6771 -0.0725724 12.9676 0.217716L17.5159 4.76601C17.8062 5.0563 17.8062 5.54012 17.5159 5.83061L12.9676 10.3789C12.7741 10.7662 12.1932 10.7662 11.903 10.3792Z" fill="white"/></svg>');
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-size: contain;
            mask-size: contain;
            right: 0;
            background: white;
        }

        .nvm-slideshow .responsiville-slideshow-next, 
        .nvm-slideshow .responsiville-slideshow-previous, 
        .nvm-slideshow .responsiville-slideshow-next:hover, 
        .nvm-slideshow .responsiville-slideshow-previous:hover {
            width: 18px;
            height: 25px;
            line-height: 25px;
            color: transparent;
            background-color: transparent;
            font-size: 16px !important;
        }

    /* Slideshow slides. */

    .nvm-slideshow figure.slide-image img {
        object-fit: cover;
        width: 100%;
    }



    /* Slide overlay. */

    .nvm-slideshow .slide {
        position: relative;
    }

    .nvm-slideshow .slide-overlay {
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        background: linear-gradient(
            to top,
            rgba(0, 0, 0, 0.65) 0%,
            rgba(0, 0, 0, 0.25) 50%,
            rgba(0, 0, 0, 0.1) 100%
        );
    }

    .small .nvm-slideshow figure.slide-image img {
        height: 87vh !important;
    }

    .laptop .nvm-slideshow figure.slide-image img {
        height: 94vh !important;
    }

  .nvm-slideshow figure.decorative-image {
        max-width: 200px;
        top: 150px;
        position: relative;
        z-index: 1;
        text-align: center;
        margin: 0 auto;
    }
    
    .nvm-slideshow .slide-text {
        text-align: center;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        color: var(--nvm-color-white);
        z-index: 1;
    }

    .small .nvm-slideshow .slide-text {
        padding: calc(2.63*var(--nvm-text-rhythm)) calc(1.25*var(--nvm-text-rhythm));
    }

    .laptop .nvm-slideshow .slide-text {
        padding: calc(1.6*var(--nvm-text-rhythm)) calc(1.25*var(--nvm-text-rhythm));
    }

        .nvm-slideshow .slide-text-title {
            font-size: clamp(48px, 32px + 4vw, 100px);
            font-style: italic;
            font-weight: 400;
            /*text-transform: uppercase;*/
            max-width: var(--nvm-panel-narrow-width);
            margin-left: auto;
            margin-right: auto;
            
            position: relative;
            z-index: 2;
        }

        .nvm-slideshow .slide-text-message {
            max-width: var(--nvm-panel-narrow-width);
            margin-top: calc(0.25*var(--nvm-text-rhythm));
            margin-bottom: calc(0.5*var(--nvm-text-rhythm));
            margin-left: auto;
            margin-right: auto;
        }

        .slide-buttons {
            margin-top: calc(.7*var(--nvm-text-rhythm));
        }
        .nvm-slideshow .nvm-button {
            /*text-transform: uppercase;*/
            font-size: 16px;
        }



        .responsiville-slideshow-controls-wrapper {
            position: absolute;
            width: auto;
            font-size: 16px !important;
            z-index: 1;
        }

        .small .responsiville-slideshow-controls-wrapper {
            bottom: calc(1.3 * var(--nvm-grid-gutter));
            right: 50%;
            transform: translateX(50%);
        }

        .laptop .responsiville-slideshow-controls-wrapper {
            bottom: calc(.8 * var(--nvm-grid-gutter));
            right: calc(var(--nvm-grid-gutter) + 25px);
            transform: translateX(0);
        }

        .responsiville-slideshow-bullet-number {
            display: block !important;
        }





.nvm-slideshow figure.decorative-image {
    opacity: 0;
    visibility: hidden;
    transform: translateY(100px);
    will-change: opacity, transform;
    transition: opacity 0.5s ease, transform 1.2s ease;
    transition-delay: 0s;
}

.responsiville-slideshow-slide-selected figure.decorative-image {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 1.8s;
}


/* Base hidden state for all animated elements */
h2.slide-text-title, 
.slide-text-message {
  opacity: 0;
  visibility: hidden;
}

/* Performance hint and transitions */
h2.slide-text-title, 
.slide-text-message {
  transform: translateY(100px);
  will-change: opacity, transform;
  transition: opacity 0.5s ease, transform 1s ease;
  transition-delay: 0s;
}



/* Reveal on page load using responsiville-load */
.responsiville-slideshow-slide-selected h2.slide-text-title,
.responsiville-slideshow-slide-selected .slide-text-message {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: .2s;
}

.nvm-slideshow .slide-buttons {
    opacity: 0;
    visibility: hidden;
    transform: translateY(100px);
    will-change: opacity, transform;
    transition: opacity 0.5s ease, transform 1s ease;
    transition-delay: 0s;
}

.responsiville-slideshow-slide-selected .slide-buttons {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 1s;
}


.nvm-slideshow-no-navigation .responsiville-slideshow-previous-icon,
.nvm-slideshow-no-navigation .responsiville-slideshow-next-icon {
    display: none;
}

.nvm-slideshow-no-bullets .responsiville-slideshow-bullets {
    display: none !important;
}

