.alert {
    padding: 20px 40px;
    min-width: 300px;
    position: absolute;
    right: 0;
    top: 3rem;
    border-radius: 4px;
    border-left: 8px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    box-shadow: 2px 2px 5px gray;
    z-index:9999;
}

.success {
    background-color: #A8F0C6;
    border-left: 5px solid #178344;
}

.close-success {
    background-color: #6AC08E;
}

.close-success:hover {
    background-color: #5AA278;
}

.error {
    background-color: #F7A7A3;
    border-left: 5px solid #8F130C;
}

.close-error {
    background-color: #D67772;
}

    .close-error:hover {
        background-color: #9B534F
    }

.warning {
    background-color: #FFD48A;
    border-left: 5px solid #8A5700;
}

.close-warning {
    background-color: #C69847;
}

    .close-warning:hover {
        background-color: #9B7531
    }

.alert.showAlert {
    opacity: 1;
    pointer-events: auto;
}

.alert.show {
    animation: show_slide 1s ease forwards, delay-hide 1s 3s ease forwards;
}

@keyframes show_slide {
    0% {
        transform: translateX(100%);
    }

    40% {
        transform: translateX(-10%);
    }

    80% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-10px);
    }
}

@keyframes delay-hide {
    0% {
        transform: translateX(-10px);
        opacity: 1
    }

    40% {
        transform: translateX(0%);
        opacity: .75
    }

    80% {
        transform: translateX(-10%);
        opacity: .50;
    }

    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

.alert.hide {
    animation: hide_slide 1s ease forwards;
}

.disappear {
    display: none;
}

@keyframes hide_slide {
    0% {
        transform: translateX(-10px);
        opacity: 1
    }

    40% {
        transform: translateX(0%);
        opacity: .75
    }

    80% {
        transform: translateX(-10%);
        opacity: .50;
    }

    100% {
        transform: translateX(100%);
        opacity: 0;
    }
}

.alert .fa-exclamation-circle {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #ce8500;
    font-size: 30px;
}

.alert .msg {
    padding: 0 20px;
    font-size: 18px;
    color: black;
}

.alert .alert-close-btn {
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    padding: 20px 18px;
    cursor: pointer;
}

    .alert .alert-close-btn .fas {
        color: #ce8500;
        font-size: 22px;
        line-height: 40px;
    }

.btn:hover {
    background-color: #44084b;
    color: #fff;
}
