.block {
    scroll-margin-top: 4rem;
    column-gap: 1rem;
}

/* Heading */
.block--heading {
    grid-column: 1/-1;
}

/* text */
.block--text {
    grid-column: 1/-1;
    margin-bottom: 2rem;
}

.block .block--text:last-child {
    margin-bottom: 0;
}


.block--text p {
    white-space: pre-wrap;
    max-width: 600px;
}

/* Video */
.block--type--video {
    grid-column: 1/-1;
}

/* Image */
.block--image {
    grid-column: 1/-1;
    margin-bottom: 2rem;
}

.block--image__caption {
    text-align: center;
}

/* Gallery */
.block--gallery_carousel-container {
    grid-column: 1/-1;
    display: block;
    overflow: hidden;
    margin: 1rem -1rem;
}

.block--gallery_carousel {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x proximity;
     -ms-overflow-style: none;
    scrollbar-width: none;
}

.block--gallery_carousel::-webkit-scrollbar {
    display: none;
}

.block--gallery_carousel-header {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 0 1rem 0.5rem;
}

.block--gallery_carousel_image {
    scroll-snap-align: start;
    min-width: calc(100vw / 6 * 6 - 4rem);
    max-width: calc(100vw / 6 * 6 - 4rem);
    padding-left: 0.75rem;
}

.block--gallery_carousel_image:last-child {
    padding-right: 0.75rem;
}

.block--gallery__image {
    grid-column: span 3;
    margin-bottom: 1rem;
    margin-bottom: 2rem;
}

.block--gallery_carousel_image figcaption,
.block--gallery__image figcaption,
.block--image figcaption {
    margin-top: 0.2rem;
}

.block--gallery_carousel-header__arrow {
    margin-left: 1rem;
    opacity: 0.4;
    transition: 300ms;
}
.block--gallery_carousel-header__arrow.visible {
    opacity: 1;
}
.block--gallery_carousel-header__arrow img {
    height: 14px;
    width: 14px;
}

.block--relations {
    grid-column: 1/-1;
    margin-bottom: 2rem;
}

.block {
    margin-bottom: 1rem;
}


/* Tablet */
@media only screen and (min-width: 475px) {

     /* Heading */
    .block--heading,
    .block--text {
        grid-column: 3/-1;
    }

    .block--gallery_carousel{
        scroll-padding-left: calc(calc(100vw - 2rem) / 8 * 2 + 1.5rem);
    }

    .block--gallery_carousel-header {
        width: calc(calc(100vw - 2rem) / 8 * 6);
        padding: 0;
        margin: 0 0 0.5rem calc(calc(100vw - 2rem) / 8 * 2 + 1.5rem);
    }      

    .block--gallery_carousel_image {
        min-width: calc(calc(100vw - 2rem) / 8 * 5 + 1.5rem);
        max-width: calc(calc(100vw - 2rem) / 8 * 5 + 1.5rem);
        padding: 0;
        padding-right: 1rem;
    }

    .block--gallery_carousel--filler {
        scroll-snap-align: start;
        min-width: calc(calc(100vw - 2rem) / 8 * 2 + 1.5rem);
        max-width: calc(calc(100vw - 2rem) / 8 * 2 + 1.5rem);
        padding-right: 1rem;
    }

    .block--gallery__image {
        grid-column: span 4;
    }

    .block--image.large {
        grid-column: 1/-1;
    }

    .block--image {
        grid-column: 3/-1;
    }

    .block--relations {
        grid-column: 3/-3;
        margin-left: 2rem;
    }

    .block {
        margin-bottom: 1rem;
    }
}


/* Desktop */
@media only screen and (min-width: 1024px) {

    .block {
        column-gap: 0.75rem;
    }

    /* Heading */
    .block--heading {
        grid-column: 4/9;
    }

    /* text */
    .block--text {
        grid-column: 4/9;
    }

    .block--text p {
        white-space: pre-wrap;
        max-width: 600px;
    }

    .block .block--text:last-child {
        margin-bottom: 2rem;
    }

    /* Image */
    .block--image {
        grid-column: 4/9;
    }

    .block--image.large {
        grid-column: 1/-1;
    }

    /* Gallery */
    .block--gallery_carousel-container {
        grid-column: 1/-1;
    }

    .block--gallery_carousel-header {
        width: calc(calc(calc(calc(100vw + 2.75rem) / 12) * 6) - 1rem);
        padding: 0;
        margin: 0 0 0.5rem calc(calc(calc(100vw + 2.75rem) / 12) * 3);
    }        
    
    .block--gallery_carousel{
        scroll-padding-left: calc(calc(calc(100vw + 2.75rem) / 12) * 3);
    }

    .block--gallery_carousel_image {
        min-width: calc(calc(calc(100vw + 2.75rem) / 12) * 6);
        max-width: calc(calc(calc(100vw + 2.75rem) / 12) * 6);
        padding: 0;
        padding-right: 1rem;
    }

    .block--gallery_carousel--filler {
        min-width: calc(calc(calc(100vw + 2.75rem) / 12) * 3);
        max-width: calc(calc(calc(100vw + 2.75rem) / 12) * 3);
    }

    .block--gallery__image {
        grid-column: span 3;
    }

    .block--gallery_carousel_image figcaption,
    .block--gallery__image figcaption,
    .block--image figcaption {
        margin: 0.2rem 0 1rem;
    }

    .block--gallery_carousel-header__arrow {
        margin-left: 0.5rem;
    }

    .block--relations {
        grid-column: 4/9;
    }

    .block {
        margin-bottom: 1rem;
    }
}