body {
    height:100%;
    margin:0;
    padding:0;
}
body * {
    box-sizing: border-box;
}

.cards {
    display: flex;
    flex-wrap: wrap;
    height: 100vh;
    margin: 0;
    padding: 0;
    padding-left: 20px;
    padding-bottom: 20px;
}

.card {
    width: calc(25% - 20px);
    height: calc(50% - 20px);
    min-height: 120px;
    background-size: cover;
    background-position: center;
    cursor: pointer;
    margin-right: 20px;
    margin-top: 20px;
}
.image:hover {
    opacity: 0.7;
}

/* Media Queries */
@media (max-width: 900px) {
    main .card { 
        width: calc(50% - 20px);
        height: calc(50vh - 20px);
    }
}

@media (max-width: 550px) {
    main .card { 
        width: calc(100% - 20px);
        height: 70vh;
    }
}
