.card {
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.card--enter {
    opacity: 0;
    transform: translateY(8px);
}

.card--fade-out {
    opacity: 0;
    transform: translateY(-8px);
}

.skeleton-block {
    animation: cards-skeleton-shimmer 1.2s linear infinite;
}

.card-loader {
    animation: card-loader-spin 0.8s linear infinite;
}

@keyframes cards-skeleton-shimmer {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

@keyframes card-loader-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: translateX(-50%) scale(1);
    }
    50% {
        -webkit-transform: scale(1.03);
        transform: translateX(-50%) scale(1.03);
    }
    100% {
        -webkit-transform: scale(1);
        transform: translateX(-50%) scale(1);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: translateX(-50%) scale(1);
    }
    50% {
        -webkit-transform: scale(1.03);
        transform: translateX(-50%) scale(1.03);
    }
    100% {
        -webkit-transform: scale(1);
        transform: translateX(-50%) scale(1);
    }
}
