.projectblocks {
    grid-column: 3 / span 20;
    margin-bottom: var(--rowheight);
    background: var(--bgcolor);
    padding: var(--rowheight) 0;
}

.projectblocks * {
}

.projectblocks .block--heading {
    grid-column: 2 / span 17;
    margin-bottom: 1.3em;
}

.projectblocks .block--text {
    grid-column: 5 / span 14;
    margin-bottom: 1.3em;
}

.projectblocks em {
    font-style: italic !important;
}

.projectblocks strong {
    font-weight: 500;
}

.projectblocks .block--text p+p {
    margin-top: 1.3em;
}

.projectblocks .block--image {
    grid-column: 2 / span 18;
    margin-bottom: 2.6em;

    position: relative;
}

.imagewrapper {
    grid-column: inherit;
    position: relative;
    grid-column: 1 / span 18;
}

.projectblocks .block--image img {
    grid-column: 1 / span 18;
}

.projectblocks figcaption {
    opacity: .7;
    line-height: 1.3;
    margin-top: .75em;
    grid-column: 4 / span 15;
}

.license {
    position: absolute;
    bottom: .5em;
    right: .5em;
    color: rgba(255,255,255.8);
    background: rgba(0,0,0,.5);
    font-size: 1rem;
}

/* .block--gallery .license {
    bottom: .5em;
    right: .5em;
} */

.projectblocks .block--video {
    grid-column: 2 / span 18;
    margin-bottom: 2.6em;
}

.projectblocks .block--video video {
    grid-column: 1 / span 18;
    max-width: 100%;
}

.projectblocks .block--video iframe {
    grid-column: 1 / span 18;
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    border: none;
}

.projectblocks .block--list {
    grid-column: 5 / span 14;
    margin-bottom: 1.3em;
}

.projectblocks .block--list li+li {
    margin-top: .65em;
}

.projectblocks .block--iframe {
    grid-column: 2 / span 18;
    margin-bottom: 2.6rem;
    outline: solid 1px var(--maincolor);
}

.projectblocks .block--iframe + .gallerycaption {
    margin-top: -1.3rem;
}

.header {
    grid-column: 2 / span 22;
    margin-top: var(--rowheight);
    margin-bottom: var(--rowheight);
    height: calc(12  * var(--rowheight) + 0px);
    background: var(--maincolor);
    color: #fff;
    align-content: flex-end;
    background-size: cover;
    background-position: center;
    position: relative;
}

.header h1 {
    grid-column: 2 / span 20;
    margin-bottom: calc(.25 * var(--rowheight) + 0px);
    position: relative;
    z-index: 1;
}

.header p {
    grid-column: 2 / span 20;
    position: relative;
    z-index: 1;
}

.header-projectdescription {
    margin-bottom: calc(.5 * var(--rowheight) + 0px);
}

.header-projectyears {
    margin-bottom: calc(.5 * var(--rowheight) + 0px);
}

.header:after {
    height: 75%;
    background: linear-gradient(to bottom, transparent 0%, var(--maincolor) 75%);
    display: block;
    position: absolute;
    width: 100%;
    bottom: 0;
    content: '';
}

.meta {
    grid-column: 3 / span 20;
    margin-bottom: var(--rowheight);
}

.meta-projectteam {
    grid-column: 1 / span 9;
}

.meta-list {
    padding: 0 var(--columnwidth) calc(.25 * var(--rowheight) + 0px) var(--columnwidth);
}

.meta-list h3 {
    height: var(--rowheight);
    line-height: var(--rowheight);
    text-transform: uppercase;
}

.meta-list ul {
    list-style-type: none;
}

.meta-list a:after {
    content: '\00a0→';
    font-family: system-ui, sans-serif;
}

.meta-buttons {
    grid-column: 11 / span 10;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-direction: column;
    gap: .5rem;
}

.meta-buttons a {
    background: var(--maincolor);
    color: var(--bgcolor);
    text-decoration: none;
    padding: .4rem 2rem;
    border-radius: 8em;
    width: auto;
    text-align: center;
    align-content: center;
    justify-content: center;
    min-width: 24ch;
    transition: all .3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.meta-buttons a:hover {
    transform: scale(1.05);
}

.meta-buttons a:after {
    content: ' ↗';
    font-family: system-ui, sans-serif;
    padding-left: .3em;
}

.meta-buttons a:not(:first-of-type) {
    background: color-mix(in srgb, var(--maincolor) 70%, transparent);
}

.meta-publications {
    grid-column: 9 / span 12;
    margin-bottom: var(--rowheight);
}

.block--gallery {
    grid-column: 1 / span 20;
    padding-bottom: 20px;
    overflow: hidden;
}

.block--gallery+*:not(.gallerycaption) {
    margin-top: 2.6rem !important;
}

.gallerycaption {
    grid-column: 5 / span 15;
    margin-bottom: 2.6rem !important;
    opacity: .7;
    line-height: 1.3;
}


/* swiper */

/* Swiper styles */
.swiper-container {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.swiper-wrapper {
    display: flex;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;

    padding-left: var(--columnwidth);
    padding-right: var(--columnwidth);
}

.swiper-slide img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Pagination dots */
.swiper-pagination {
    position: absolute;
    text-align: center;
    width: 100%;
}

.swiper-pagination-bullet {
    background: var(--maincolor) !important;
    opacity: .5;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border-radius: 50%;
}

.swiper-pagination-bullet-active {
    background: #333;
    background: var(--maincolor) !important;
}

/* Navigation arrows */
.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    border: none;
    border-radius: 50%;
    font-size: 1.5rem;
    padding: 10px;
    cursor: pointer;
    z-index: 1;
    aspect-ratio: 1;
    color: var(--maincolor) !important;
    background: none;
}

.swiper-button-prev {
    left: 0 !important;
}

.swiper-button-next {
    right: 0 !important;
}

.swiper span {
    border: none !important;
}

h3.relatedheading {
    grid-column: 2 / span 22;
    margin-bottom: calc(1 * var(--rowheight) + 0px);
    line-height: calc(1.5 * var(--rowheight) + 0px);
    height: var(--rowheight);
    text-indent: calc(2 * var(--columnwidth) + 0px);
}

.tiles {
    /* outline: solid 1px red; */
    margin: 0;
    margin-bottom: calc(1 * var(--rowheight));
}

.projectblocks + h3.relatedheading {
    margin-top: calc(1 * var(--rowheight));
}
  
  

@media (max-width: 900px) {
    .meta-projectteam {
        grid-column: 1 / span 22;
        order: 2;
    }

    .meta-buttons {
        grid-column: 1 / span 22;
        align-items: flex-start;
        order: 1;
        margin-bottom: var(--rowheight);
    }

    .meta-publications {
        grid-column: 1 / span 22;
    }

    .projectblocks .block--heading {
        grid-column: 2 / span 20;
    }

    .projectblocks .block--text {
        grid-column: 2 / span 20;
    }

    .projectblocks .block--list {
        grid-column: 3 / span 19;
    }

    .projectblocks .block--image, .projectblocks .block--video {
        grid-column: 2 / span 20;
    }

    .projectblocks .block--video iframe {
        grid-column: 1 / span 20;
    }

    .projectblocks .block--image img, .projectblocks .block--video video, .projectblocks figcaption, .imagewrapper {
        grid-column: 1 / span 20;
    }

    .gallerycaption {
        grid-column: 2 / span 20;
    }

    .projectblocks .block--gallery {
        grid-column: 1 / span 22;
    }

    .projectblocks .block--gallery img {
        width: 100%;
    }

    .projectblocks .block--iframe {
        grid-column: 2 / span 20;
    }

    .swiper-slide {
        padding: 0;
    }

    .swiper-button-prev, .swiper-button-next {
        color: #fff !important;
        background: var(--maincolor) !important;
        height: 60px !important;
        width: 60px !important;
        opacity: .7;
    }

    .header {
        height: calc(24 * var(--rowheight) + 0px);
        grid-column: 1 / span 24;
    }

    .meta {
        grid-column: 2 / span 22;
    }

    .projectblocks {
        grid-column: 2 / span 22;
    }

    h3.relatedheading {
        /* margin-top: calc(1 * var(--rowheight) + 0px); */
        margin-bottom: calc(2 * var(--rowheight) + 0px);
        text-indent: calc(1 * var(--columnwidth) + 0px);
    }

    .projectblocks + h3.relatedheading {
        margin-top: calc(2 * var(--rowheight));
    }

}