.gallery-item {
    position: relative;
    cursor: pointer;
    width: 100%;
    border: 1px solid var(--gray-200);
    background-color: rgba(0,0,0,.07);
    &:before {
        /* Make sure the block is always at least square size (1/1 ratio) */
        content: '';
        display: block;
        padding-top: 100%;
        float: left;
    }
    a[data-fancybox="gallery"] {
        text-decoration: initial;
    }
    .bg-image-wrapper {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .bg-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .gallery-tile-content {
        display: flex;
        width: 100%;
        min-height: 100%;
        overflow: hidden;
        align-items: center;
    }
    .gallery-tile-inner {
        display: block; /* Fixes "word-wrap: break-word;" for elements inside */
        width: 100%;
        .description {
            max-width: 100%;
            text-align: center;
            overflow: hidden;
            word-wrap: break-word;
        }
    }
    .gallery-tile-action-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0;
        visibility: hidden;
        transition: opacity 100ms 300ms, visibility 0ms 400ms; /* 500ms fade out */
    }
    .file-type-badge {
        color: var(--text-color);
        border: 1px solid var(--gray-200);
        background-color: var(--blue-100);
        padding: .2rem .5rem;
        border-radius: var(--bs-border-radius);
    }
}

.gallery-item:hover .gallery-tile-action-overlay,
.gallery-tile-action-overlay:hover {
    opacity: 1;
    visibility: visible;
}
