.gallery-columns .card:before {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.8);
    content: "";
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    z-index: 1;
    content: "+";
    text-align: center;
    color: #fff;
    font-size: 150%;
}

.gallery-columns .card:hover .card-img-overlay a:hover,
.gallery-columns .card:hover .card-img-overlay a {
    color: #c7c7c7;
}

#gallery-carousel .carousel-inner {
    height: 50vh;
}

@media (min-width: 768px) {
    .gallery-columns .card .card-img-overlay {
        position: absolute !important;
        opacity: 0;
        padding: 1.25rem !important;
    }

    .gallery-columns .card:hover .card-img-overlay {
        opacity: 1;
        transition: all 0.5s ease-in-out;
    }

    .gallery-columns .card:hover:before {
        opacity: 1;
        visibility: visible;
    }

    #gallery-carousel .carousel-inner {
        height: 60vh;
    }
}