main {
    padding: var(--grid-margin) 0px;
}

.project-item-main-text-container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--grid-gutter);
    padding: 0px var(--grid-margin);
}

.project-item-back-container {
    grid-column: 11 / 13;
    grid-row: 1 / span 100;
}

.project-item-back {
    position: fixed;
}

.project-item-intro {
    grid-column: span 6;
    grid-row: 1;
}

.project-item-description {
    grid-column: span 6;
    grid-row: 2;
}

.project-item-description p {
    margin-top: var(--lh-m);
}

.project-item-description a,
.project-item-credits a,
.project-item-extra-text a {
    text-decoration: underline;
}

.project-item-credits {
    grid-column: span 3;
    grid-row: 2;
}

.project-item-credits p {
    margin-top: var(--lh-m);
}

.project-carousel {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--grid-gutter);
    margin: calc(var(--grid-margin) * 4) 0px calc(var(--grid-margin) * 4 - var(--fs-m));
    padding: 0 var(--grid-margin);
    cursor: none;
}

.project-carousel.is-single {
    cursor: auto;
}

.project-carousel.is-single .project-carousel-zone,
.project-carousel.is-single .project-carousel-cursor {
    display: none;
}

.project-carousel-swiper {
    grid-column: 3 / 11;
    width: 100%;
}

.project-carousel-slide {
    margin: 0;
}

.project-carousel-slide img,
.project-carousel-slide video {
    display: block;
    width: 100%;
    height: 66vh;
    object-fit: contain;
}

.project-carousel-caption {
    padding-top: calc(var(--fs-m)/2);
    text-align: center;
}

.project-carousel-zone {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: 2;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: none;
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .project-carousel-zone {
        pointer-events: auto;
    }
}

.project-carousel-zone-prev {
    left: 0;
}

.project-carousel-zone-next {
    right: 0;
}

.project-carousel-cursor {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    pointer-events: none;
    opacity: 0;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}

.project-carousel-cursor.is-visible {
    opacity: 1;
}

.project-item-extra-text {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: var(--grid-gutter);
    padding: 0 var(--grid-margin);
}

.project-item-extra-text > * {
    grid-column: span 6;
}

.project-item-extra-text p {
    margin-top: var(--lh-m);
}

@media screen and (max-width: 1023px) {
    .project-item-main-text-container {
        padding-top: calc(var(--fs-m) * var(--lh-m) + var(--grid-margin) * 2);
    }

    .project-item-back-container {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .project-item-back {
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        padding: var(--grid-margin);
        background: var(--white);
    }

    .project-item-intro,
    .project-item-description,
    .project-item-credits {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .project-item-intro {
        margin-top: calc(var(--lh-m)*2);
    }

    .project-carousel {
        cursor: auto;
    }

    .project-carousel-swiper {
        grid-column: 1 / -1;
    }

    .project-item-extra-text > * {
        grid-column: 1 / -1;
    }
}