@media (max-width: 767px) {

    .portfolio-grid .grid-sizer,
    .portfolio-grid .grid-item {
        width: 45vw !important;
        float: left !important;
        transform: unset !important;
        position: initial !important;
    }

    .grid-item img {
        width: 100% !important;
        float: left !important;
        transform: unset !important;
        position: initial !important;
    }

    .portfolio-grid {
        position: absolute;
        top: 20vh;
        left: 0;
        width: 100vw;
    }
}

@media (min-width: 768px) {

    .portfolio-grid .grid-sizer,
    .portfolio-grid .grid-item {
        width: 33.3%;
        min-width: 200px;
        padding: 0.5em
    }

    .grid-item img {
        max-width: 100%;
        max-height: 100%;
    }
}

.grid-item {
    position: relative;
    overflow: hidden;
    pointer-events: none;
}

.grid-item img {
    transition: transform 0.5s ease;
}

.grid-item a {
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: auto;
}

.grid-item:hover img {
    transform: scale(1.1);
}

.grid-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* 
    background-color: rgba(65, 63, 63, 0.5); */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    backdrop-filter: blur(2px);
}

.grid-item:hover::after {
    opacity: 1;
}

.grid-item:hover .image-title {
    display: block;
}

.image-title {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-size: 1.5em;
    font-weight: bold;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
    z-index: 1;
}