@media screen and (max-width: 992px) {
    #foto_modal_dialog {
        width: 100%;
        overflow-y: scroll;
    }

    #imagen-modal {
        max-width: 100%;
        object-fit: contain;
    }
}

@media screen and (min-width: 1024px) {
    #foto_modal_dialog {
        width: 100%;
        max-width: 95vw;
        max-height: 91vh;
    }

    #imagen-modal {
        max-width: 100%;
        max-height: 91vh;
        object-fit: contain;
    }

    #masonry img {
        opacity: 75%;
        transition: ease-in-out 0.2s;
    }

    #masonry img:hover {
        opacity: 100%;
        transition: ease-in-out 0.2s;
    }

    #imagen-modal {
        border-radius: 0.375rem 0 0 0.375rem;
    }
}

.blur {
    -webkit-filter: blur(2px) grayscale(90%);
    filter: blur(2px) grayscale(90%);
    transition: -webkit-filter 1s ease, filter 1s ease;
}

.no-blur {
    -webkit-filter: none;
    filter: none;
    transition: -webkit-filter 0.3s ease, filter 0.3s ease;
}

#col-texto-modal {
    background-color: #ffffffeb;
}

.top-left {
    position: absolute;
    top: 15px;
    left: 20px;
}

.top-right {
    position: absolute;
    top: 5px;
    right: 5px;
}

#span-hover-info {
    opacity: 0.92
}

.hidden {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.55s ease-out, transform 0.55s ease-out;
}

.visible {
    opacity: 1;
    transform: translateY(0);
}

#btn-close-modal {
    opacity: 0.70;
}

#btn-close-modal:hover {
    opacity: 1;
}

#tooltip-info-circle {
    opacity: 0.70;
}

#tooltip-info-circle:hover {
    opacity: 1;
}

button:focus,
button:focus-visible,
button:active:focus,
button.active:focus,
button:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

.rounded-card {
    border-radius: 0 0 0.375rem 0.375rem;
}