#cards, #explain_video {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    width: 90%;
    overflow: hidden;
    margin: auto;
}
.card, #explain_video .video {
    width: 90%;
    margin: 20px auto;
    border: 1px solid gray;
    border-radius: 20px;
    overflow: hidden;
    transition: 0.5s;
}
.card img {
    height: 14rem;
    border-radius: 20px 20px 0px 0px;
}
.card:hover {
    transform: translate(10px, 10px);
}
.card .card-title {
    text-align: center;
}
.card .card-body{
    display: flex;
    flex-direction: column;
}
.card .card-body a {
    margin-top: auto;
    margin-bottom: 10px;
}

#explain_video .video {
    display: flex;
    justify-content: center;
    align-items: center;
}
#explain_video .video video {
    display: block;
    width: 95%;
    max-height: 15rem;
    margin: 10px auto;
}

@media only screen and (max-width: 768px) {
    #cards, #explain_video {
        grid-template-columns: 1fr;
        width: 100%;
    }
}