@keyframes toNext {
    75% {
        left: 0;
    }
    95% {
        left: 100%;
    }
    98% {
        left: 100%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toNext-webkit {
    75% {
        left: 0;
    }
    95% {
        left: 100%;
    }
    98% {
        left: 100%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toNext-moz {
    75% {
        left: 0;
    }
    95% {
        left: 100%;
    }
    98% {
        left: 100%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toNext-o {
    75% {
        left: 0;
    }
    95% {
        left: 100%;
    }
    98% {
        left: 100%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart9 {
    75% {
        left: 0;
    }
    95% {
        left: -800%;
    }
    98% {
        left: -800%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart9-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -800%;
    }
    98% {
        left: -800%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart9-moz {
    75% {
        left: 0;
    }
    95% {
        left: -800%;
    }
    98% {
        left: -800%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart9-o {
    75% {
        left: 0;
    }
    95% {
        left: -800%;
    }
    98% {
        left: -800%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart8 {
    75% {
        left: 0;
    }
    95% {
        left: -700%;
    }
    98% {
        left: -700%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart8-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -700%;
    }
    98% {
        left: -700%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart8-moz {
    75% {
        left: 0;
    }
    95% {
        left: -700%;
    }
    98% {
        left: -700%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart8-o {
    75% {
        left: 0;
    }
    95% {
        left: -700%;
    }
    98% {
        left: -700%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart7 {
    75% {
        left: 0;
    }
    95% {
        left: -600%;
    }
    98% {
        left: -600%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart7-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -600%;
    }
    98% {
        left: -600%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart7-moz {
    75% {
        left: 0;
    }
    95% {
        left: -600%;
    }
    98% {
        left: -600%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart7-o {
    75% {
        left: 0;
    }
    95% {
        left: -600%;
    }
    98% {
        left: -600%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart6 {
    75% {
        left: 0;
    }
    95% {
        left: -500%;
    }
    98% {
        left: -500%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart6-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -500%;
    }
    98% {
        left: -500%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart6-moz {
    75% {
        left: 0;
    }
    95% {
        left: -500%;
    }
    98% {
        left: -500%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart6-o {
    75% {
        left: 0;
    }
    95% {
        left: -500%;
    }
    98% {
        left: -500%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart5 {
    75% {
        left: 0;
    }
    95% {
        left: -400%;
    }
    98% {
        left: -400%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart5-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -400%;
    }
    98% {
        left: -400%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart5-moz {
    75% {
        left: 0;
    }
    95% {
        left: -400%;
    }
    98% {
        left: -400%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart5-o {
    75% {
        left: 0;
    }
    95% {
        left: -400%;
    }
    98% {
        left: -400%;
    }
    99% {
        left: 0;
    }
}


@keyframes toStartfhzg {
    75% {
        left: 0;
    }
    95% {
        left: -4000%;
    }
    98% {
        left: -4000%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStartfhzg-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -4000%;
    }
    98% {
        left: -4000%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStartfhzg-moz {
    75% {
        left: 0;
    }
    95% {
        left: -4000%;
    }
    98% {
        left: -4000%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStartfhzg-o {
    75% {
        left: 0;
    }
    95% {
        left: -4000%;
    }
    98% {
        left: -4000%;
    }
    99% {
        left: 0;
    }
}

@keyframes toStart {
    75% {
        left: 0;
    }
    95% {
        left: -200%;
    }
    98% {
        left: -200%;
    }
    99% {
        left: 0;
    }
}
@-webkit-keyframes toStart-webkit {
    75% {
        left: 0;
    }
    95% {
        left: -200%;
    }
    98% {
        left: -200%;
    }
    99% {
        left: 0;
    }
}
@-moz-keyframes toStart-moz {
    75% {
        left: 0;
    }
    95% {
        left: -200%;
    }
    98% {
        left: -200%;
    }
    99% {
        left: 0;
    }
}
@-o-keyframes toStart-o {
    75% {
        left: 0;
    }
    95% {
        left: -200%;
    }
    98% {
        left: -200%;
    }
    99% {
        left: 0;
    }
}

@keyframes snap {
    96% {
        scroll-snap-align: center;
    }
    97% {
        scroll-snap-align: none;
    }
    99% {
        scroll-snap-align: none;
    }
    100% {
        scroll-snap-align: center;
    }
}
@-webkit-keyframes snap-webkit {
    96% {
        scroll-snap-align: center;
    }
    97% {
        scroll-snap-align: none;
    }
    99% {
        scroll-snap-align: none;
    }
    100% {
        scroll-snap-align: center;
    }
}
@-moz-keyframes snap-moz {
    96% {
        scroll-snap-align: center;
    }
    97% {
        scroll-snap-align: none;
    }
    99% {
        scroll-snap-align: none;
    }
    100% {
        scroll-snap-align: center;
    }
}
@-o-keyframes snap-o {
    96% {
        scroll-snap-align: center;
    }
    97% {
        scroll-snap-align: none;
    }
    99% {
        scroll-snap-align: none;
    }
    100% {
        scroll-snap-align: center;
    }
}

ol, li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.carousel {
    position: relative;
    height: 100%;
    filter: drop-shadow(0 0 10px #0003);
    perspective: 100px;
}

.carousel__viewport::-webkit-scrollbar {
    width: 0;
}

.carousel__viewport::-webkit-scrollbar-track {
    background: transparent;
}

.carousel__viewport::-webkit-scrollbar-thumb {
    background: transparent;
    border: none;
}

.carousel__viewport {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    overflow-x: hidden;
    counter-reset: item;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
}

.carousel__slide {
    position: relative;
    flex: 0 0 100%;
    width: 100%;
    counter-increment: item;
    background-repeat: no-repeat;
    background-size: cover;
}
.carousel__slide.bg-no-cover {
    background-size: initial;
}

.carousel__snapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    scroll-snap-align: center;
}

/*@media (hover: hover) {*/
    .carousel__snapper {
        animation-name: toNext, snap;
        -webkit-animation-name: toNext-webkit, snap-webkit;
        -moz-animation-name: toNext-moz, snap-moz;
        -o-animation-name: toNext-o, snap-o;
        animation-timing-function: ease;
        -webkit-animation-timing-function: ease;
        -moz-animation-timing-function: ease;
        -o-animation-timing-function: ease;
        animation-duration: 4s;
        -webkit-animation-duration: 4s;
        -moz-animation-duration: 4s;
        -o-animation-duration: 4s;
        animation-iteration-count: infinite;
        -webkit-animation-iteration-count: infinite;
        -moz-animation-iteration-count: infinite;
        -o-animation-iteration-count: infinite;
    }

    .carousel__snapper-delay-3 {
        animation-delay: 3s;
        -webkit-animation-delay: 3s;
        -moz-animation-delay: 3s;
        -o-animation-delay: 3s;
    }

    .carousel__snapper-delay-5 {
        animation-delay: 5s;
        -webkit-animation-delay: 5s;
        -moz-animation-delay: 5s;
        -o-animation-delay: 5s;
    }

    .carousel__snapper-delay-7 {
        animation-delay: 7s;
        -webkit-animation-delay: 7s;
        -moz-animation-delay: 7s;
        -o-animation-delay: 7s;
    }

    .carousel__slide:last-child .carousel__snapper {
        animation-name: toStart, snap;
        -webkit-animation-name: toStart-webkit, snap-webkit;
        -moz-animation-name: toStart-moz, snap-moz;
        -o-animation-name: toStart-o, snap-o;
    }

    .carousel__slide:last-child .carousel__snapper-5 {
        animation-name: toStart5, snap;
        -webkit-animation-name: toStart5-webkit, snap-webkit;
        -moz-animation-name: toStart5-moz, snap-moz;
        -o-animation-name: toStart5-o, snap-o;
    }

    .carousel__slide:last-child .carousel__snapper-6 {
        animation-name: toStart6, snap;
        -webkit-animation-name: toStart6-webkit, snap-webkit;
        -moz-animation-name: toStart6-moz, snap-moz;
        -o-animation-name: toStart6-o, snap-o;
    }

    .carousel__slide:last-child .carousel__snapper-7 {
        animation-name: toStart7, snap;
        -webkit-animation-name: toStart7-webkit, snap-webkit;
        -moz-animation-name: toStart7-moz, snap-moz;
        -o-animation-name: toStart7-o, snap-o;
    }

    .carousel__slide:last-child .carousel__snapper-8 {
        animation-name: toStart8, snap;
        -webkit-animation-name: toStart8-webkit, snap-webkit;
        -moz-animation-name: toStart8-moz, snap-moz;
        -o-animation-name: toStart8-o, snap-o;
    }

    .carousel__slide:last-child .carousel__snapper-9 {
        animation-name: toStart9, snap;
        -webkit-animation-name: toStart9-webkit, snap-webkit;
        -moz-animation-name: toStart9-moz, snap-moz;
        -o-animation-name: toStart9-o, snap-o;
    }

.carousel__slide:last-child .carousel__snapper-fhzg {
    animation-name: toStartfhzg, snap;
    -webkit-animation-name: toStartfhzg-webkit, snap-webkit;
    -moz-animation-name: toStartfhzg-moz, snap-moz;
    -o-animation-name: toStartfhzg-o, snap-o;
}
/*}*/

@media (prefers-reduced-motion: reduce) {
    .carousel__snapper {
        animation-name: none;
    }
}


/*------*/

@keyframes slidy {
    0% { left: 0%; }
    10% { left: 0%; }
    15% { left: -126%; }
    25% { left: -126%; }
    30% { left: -252%; }
    40% { left: -252%; }
    45% { left: -378%; }
    55% { left: -378%; }
    60% { left: -504%; }
    70% { left: -504%; }
    75% { left: -630%; }
    85% { left: -630%; }
    90% { left: -756%; }
    98% { left: -756%; }
    100% { left: 0%; }
}
* {
    box-sizing: border-box;
}
body, figure {
    margin: 0; background: #101010;
    /*font-family: Istok Web, sans-serif;*/
    font-weight: 100;
}
div#captioned-gallery {
    width: 100%;
    overflow: hidden;
}
figure.slider {
    position: relative;
    width: 900%;
    font-size: 0;
    animation: 30s slidy infinite;
}
figure.slider figure {
    width: 14%;
    height: auto;
    display: inline-block;
    position: inherit;
}
figure.slider img {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
figure.slider figure figcaption {
    position: absolute;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    color: #fff;
    width: 100%;
    font-size: 2rem;
    padding: .6rem;
}

@media screen and (max-width: 768px) {
    .section-start figure.slider img {
        object-position: center bottom;
    }
}
@media screen and (max-width: 620px) {
    .section-start figure.slider img {
        object-position: center -200px;
    }
}



/*------*/

@media not all and (min-resolution:.001dpcm) {
    @media {
        /*.carousel::before,
        .carousel::after,*/
        .carousel__prev,
        .carousel__next {
            position: absolute;
            top: 0;
            margin-top: 37.5%;
            width: 4rem;
            height: 4rem;
            transform: translateY(-50%);
            border-radius: 50%;
            font-size: 0;
            outline: 0;
        }

        /*.carousel::before,*/
        .carousel__prev {
            left: -1rem;
        }

        /*.carousel::after,*/
        .carousel__next {
            right: -1rem;
        }

        /*.carousel::before,
        .carousel::after,*/
        .carousel__prev::before,
        .carousel__next::after{
            content: '';
            z-index: 1;
            background-color: #333;
            background-size: 1.5rem 1.5rem;
            background-repeat: no-repeat;
            background-position: center center;
            color: #fff;
            font-size: 2.5rem;
            line-height: 4rem;
            text-align: center;
            pointer-events: none;
        }

        /*.carousel::before,*/
        .carousel__prev::before {
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='0,50 80,100 80,0' fill='%23fff'/%3E%3C/svg%3E");
        }

        /*.carousel::after,*/
        .carousel__next::after {
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='100,50 20,100 20,0' fill='%23fff'/%3E%3C/svg%3E");
        }
    }
}