/** Masonry grid **/
.grid {
    padding: 0;
    margin: 0 0 2rem 0;
    box-sizing: border-box;
}

.grid .grid-item {
    width: 25%;
    padding: 0.5%;
}

.grid .grid-item .background-image-cover img {
    width: 100%;
    visibility: hidden;
}

.grid div.stretchy-wrapper {
    width: 100%;
    position: relative;
    background: black;
}

.grid div.stretchy-wrapper.landscape {
    padding-bottom: 66.66%;
    /* 3:2 */
}

.grid div.stretchy-wrapper.portrait {
    padding-bottom: 137.5%;
    /* 2:3 */
}

.grid div.stretchy-wrapper > a {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    color: white;
    font-size: 24px;
    text-align: center;
    overflow: hidden;
}