@keyframes slideInBounce {
    0% {
        transform: translateX(100%);
        opacity: 0;
    }

    40% {
        transform: translateX(-20px);
        opacity: 1;
    }

    60% {
        transform: translateX(10px);
        opacity: 1;
    }

    80% {
        transform: translateX(-5px);
        opacity: 1;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOutFade {
    0% {
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

.alert-animate {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 99;
    animation: slideInBounce 2s ease-out, slideOutFade 1s ease-in 8s forwards;
}