.alert {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.alert.show {
    opacity: 1;
}

.alert.fade {
    transition: opacity 0.3s ease-in-out;
}

#custom-alert-container {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translate(-50%, -60%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

/* Custom colors for different alert types */
.alert-info {
    background-color: #cce5ff;
    border-color: #b8daff;
    color: #004085;
}

.alert-success {
    background-color: #d4edda;
    border-color: #c3e6cb;
    color: #155724;
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    color: #721c24;
}

.alert-warning {
    background-color: #fff3cd;
    border-color: #ffeeba;
    color: #856404;
}
