/* Items */
.items {
}
.item a {
}
.item {
    position: relative;
    margin-bottom: var(--default-spacing);
}
.item .thumbnail {
    position: relative;
    padding-top: 60%;
    margin-bottom: var(--vertical-spacing);
}
.item .thumbnail .wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.item .thumbnail .wrapper img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.item .details {
    padding-left: 20px;
    background: url('../img/arrow.svg') no-repeat left top 4px;
    background-size: 15px;
}


/* Grey background */
.item .thumbnail .wrapper {
    background: #eaeaea;
}

/* Publications */
.item.publication .icon {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.item.publication.podcast .icon {
    background: url('../img/audio.svg') no-repeat center center;
    background-size: 33%;
}
.item.publication.film .icon {
    background: url('../img/video.svg') no-repeat center center;
    background-size: 33%;
}
.item.publication .thumbnail .wrapper img {
    object-fit: contain;
}

/* Grid */
.grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: var(--default-spacing);
}
.grid_section {
}

@media only screen and (min-width: 768px) {
    .item {
        margin-bottom: 0;
    }
    .item .thumbnail {
        margin-bottom: 0;
    }
    .item .details {
        z-index: 2;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        display: none;
        background: url('../img/arrow.svg') no-repeat left 9px top 9px;
        background-size: 15px;
        background-color: rgba(255,255,255, 0.7);
        padding-top: 4px;
        padding-left: 30px;
    }
    .item:hover .details {
        display: block;
    }
    .item:hover .icon {
        display: none;
    }
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .grid_section {
        grid-column: span 2;
    }
    
    /* Publications */
    .item.publication .details {
        display: block;
        background-color: transparent;
    }
    .item.publication .details > .wrapper {
        display: none;
    }
    .item.publication:hover .details > .wrapper {
        display: block;
    }
    .item.publication:hover .details {
        background-color: rgba(255,255,255, 0.7);
    }
}
@media only screen and (min-width: 1024px) {
    .item .details {
        background-size: 20px;
        padding-left: 35px;
    }
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .grid_section {
        grid-column: span 3;
    }
}
@media only screen and (min-width: 1920px) {
    .item .details {
        padding-top: 0;
    }
}
