* {
    box-sizing: border-box; 
}
body {
    margin: 20px;
    font-family: Arial, Helvetica, sans-serif;
}
.card {
    width: 300px;
    margin: 0px 20px 20px 0px;
    display: inline-block;
    vertical-align: top;
    border: solid 1px #CCC;
}

.bg-img {
    width: 100%;
    height: 250px;
    background-size: cover;
}

.card-block {
    padding: 15px 15px;
}

.btn, .btn:link, .btn:visited, .btn:hover, .btn:active {
    text-decoration: none;
    transition: .2s ease-out;
    margin: 6px;
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    border: 1px solid transparent;
    border-radius: 4px;
    white-space: normal !important;
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 16%), 0 2px 10px 0 rgb(0 0 0 / 12%);
    background: #4285F4;
    color: #fff !important;
}

@media (max-width: 500px) {
    .card {
        width: 100%;
    }
    .bg-img {
        width: 100%;
        height: 350px;
        background-size: cover;
    }
}