/* Shared media loading skeleton. */

/* Image loading skeletons for media-heavy pages. */
.bk-media-skeleton {
    overflow: hidden;
    background: #1a1746;
}

.bk-media-skeleton::before {
    position: absolute;
    inset: 0;
    z-index: 3;
    content: '';
    background:
        linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, .1) 42%, transparent 64%),
        linear-gradient(145deg, rgba(42, 38, 98, .96), rgba(20, 17, 61, .98));
    background-size: 220% 100%, 100% 100%;
    animation: bk-media-skeleton-shimmer 1.25s ease-in-out infinite;
    pointer-events: none;
    transition: opacity .28s ease, visibility .28s ease;
}

.bk-media-skeleton>img[data-skeleton-image] {
    opacity: 0 !important;
    transition: opacity .3s ease, transform .65s cubic-bezier(.2, .8, .2, 1);
}

.bk-media-skeleton.bk-media-loaded::before {
    opacity: 0;
    visibility: hidden;
}

.bk-media-skeleton.bk-media-loaded>img[data-skeleton-image] {
    opacity: 1 !important;
}

@keyframes bk-media-skeleton-shimmer {
    0% {
        background-position: 140% 0, 0 0;
    }

    100% {
        background-position: -40% 0, 0 0;
    }
}

.bk-gallery-archive .bk-media-skeleton::before {
    animation: none;
    background: linear-gradient(145deg, rgba(42, 38, 98, .96), rgba(20, 17, 61, .98));
}

@media (prefers-reduced-motion: reduce) {
    .bk-media-skeleton::before {
        animation: none;
    }
}
