/* Main Custom CSS */
:root {
    --primary-color: #0056b3;
    --secondary-color: #00a8cc;
}

/* Bootstrap Overrides for Brand Consistency */
.text-primary {
    color: var(--primary-color) !important;
}

.bg-primary {
    background-color: var(--primary-color) !important;
}

.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: #004494 !important;
    border-color: #004494 !important;
}

.btn-outline-primary {
    color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-outline-primary:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

/* Custom Classes */
.text-primary-custom {
    color: var(--primary-color);
}

.text-secondary-custom {
    color: var(--secondary-color);
}

.bg-primary-custom {
    background-color: var(--primary-color);
}

/* Hover effects */
.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

/* Hero Section Background */
.hero-section {
    background: linear-gradient(rgba(0, 86, 179, 0.9), rgba(0, 168, 204, 0.8)), url('../images/hero-bg.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: white;
}

/* Fallback if image not present */
.hero-section-no-img {
    background: linear-gradient(135deg, #0056b3 0%, #00a8cc 100%);
    color: white;
}

/* Animations */
@keyframes ken-burns {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1);
    }
}

.animate-ken-burns {
    animation: ken-burns 20s ease-out infinite alternate;
}

.hero-overlay {
    background: linear-gradient(to right, rgba(0, 86, 179, 0.9), rgba(0, 40, 80, 0.8));
}

@keyframes blob {
    0% { transform: translate(0px, 0px) scale(1); }
    33% { transform: translate(30px, -50px) scale(1.1); }
    66% { transform: translate(-20px, 20px) scale(0.9); }
    100% { transform: translate(0px, 0px) scale(1); }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Ensure images are responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Navbar Fixes */
.navbar-brand img {
    max-height: 40px; /* Limit logo height */
    width: auto;
}

/* Ensure grayscale logos behave */
.grayscale-logos img {
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

.grayscale-logos img:hover {
    filter: grayscale(0%);
}
