.toast {
    position: fixed;
    top: 10rem;
    right: 1rem;
    width: min(80%, 350px);
    z-index: 1055;
    background-color: white;
    border: 1px solid black;
    padding: 10px;
    animation: showToast 0.8s cubic-bezier(.25,.46,.45,1.4),
    hideToast 0.5s 7s forwards;
    --clr-success: #00704a;
    --clr-error: #c2202c;
}

.toast-body {
    color: white;
}

.toast.good {
    background-color: var(--clr-success);
    border-color: var(--clr-success);
}

.toast.bad,
.toast.validation,
.toast.error {
    background-color: var(--clr-error);
    border-color: var(--clr-error);
}

@media screen and (max-width: 767.98px){
    .toast {
        top: 12rem;
    }
}

@keyframes showToast {
    0% {
        opacity: 0;
        transform: translateX(120%);
    }
    60% {
        opacity: 1;
        transform: translateX(0);
    }
    80% {
        transform: translateX(-25px);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes hideToast {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(120%);
    }
}
