/* Override Bootstrap primary color to a darker, less saturated blue */
:root {
    --bs-primary: #2c5282;
    --bs-primary-rgb: 44, 82, 130;
    --bs-primary-text-emphasis: #1a3050;
    --bs-primary-bg-subtle: #d4dfe9;
    --bs-primary-border-subtle: #a9bfd4;
}

/* Ensure the primary color is applied to buttons, backgrounds, etc. */
.btn-primary {
    --bs-btn-bg: #2c5282;
    --bs-btn-border-color: #2c5282;
    --bs-btn-hover-bg: #234166;
    --bs-btn-hover-border-color: #1f3a5c;
    --bs-btn-active-bg: #1f3a5c;
    --bs-btn-active-border-color: #1a3050;
}

.bg-primary {
    background-color: #2c5282 !important;
}

.text-primary {
    color: #2c5282 !important;
}

.border-primary {
    border-color: #2c5282 !important;
}

/* Make navbar text white */
.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
    color: white !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.8) !important;
}

.navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Make navbar toggler icon white for mobile */
.navbar-light .navbar-toggler-icon {
    filter: invert(1);
}

/* Flash message slide-in animation */
@keyframes slideInFromTop {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.alert {
    animation: slideInFromTop 0.5s ease-out;
}