/* Items */
.item {
    position: relative;
    margin-bottom: var(--big-spacing);
}
.item:last-child {
    margin-bottom: 0;
}
.item .thumbnail {
    position: relative;
    padding-top: 66.66%;
}
.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 .thumbnail {
    margin-bottom: var(--default-spacing);
}
.item .details {
    box-sizing: border-box;
    /*padding-top: var(--default-spacing);*/
}
.item .details .city,
.item .details .category,
.item .details .year {
    display: none;
}



/* Grid */
.grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 0 var(--default-spacing);
    grid-auto-flow: dense;
}
@media only screen and (min-width: 768px) {
    .grid {
        grid-gap: var(--default-spacing) var(--default-spacing);
        grid-template-columns: repeat(2, 1fr);
    }
    .item .thumbnail,
    .item {
        margin-bottom: 0;
    }
    
    .item.big {
        grid-column: span 2;
        grid-row: span 2;
    }
    .item.big .thumbnail {
        padding-top: 67.3%;
    }
    .item.vertical {
        grid-row: span 2;
    }
    .item.vertical .thumbnail {
        padding-top: 137%;
    }
    .item .details {
        padding-top: 0;
        display: none;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #fff;
    }
    .item:hover .details {
        display: block;
    }
    .item .details .city,
    .item .details .category,
    .item .details .year {
        display: block;
    }
    
}
@media only screen and (min-width: 1024px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .item {
        margin-bottom: 0;
    }
    .item .thumbnail {
        margin-bottom: 0;
    }
    
}
@media only screen and (min-width: 1280px) {
    /*.grid {
        grid-template-columns: repeat(2, 1fr);
    }*/
}
