/* =============================================================================
   HOME PAGE BANNER REFINEMENTS (homepage.css)
   ========================================================================== */

#top.page-hero {
    min-height: 55vh;
    padding: 160px 0 80px;
}

#top.page-hero .page-hero-background {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

/* NEW: Full View Hero for specific pages to show full video content */
#top.page-hero.hero-full-view {
    min-height: 48vw;
    /* Forces 16:9 Aspect Ratio on width */
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

#top.page-hero .caption.banner-text-box:hover {
    background-color: rgba(0, 0, 61, 0.78);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

#top.page-hero .caption h1 {
    color: #38bdf8 !important;
    font-weight: 800 !important;
    font-size: 2.45rem !important;
    line-height: 1.25 !important;
    margin-bottom: 1.25rem;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
}

#top.page-hero .caption h6 {
    color: #bae6fd !important;
    font-weight: 600;
    font-size: 0.60rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}

#top.page-hero .caption p.lead {
    color: #f5f5f5 !important;
    font-size: 1rem;
    line-height: 1.75;
    max-width: 780px;
    text-align: center;
    font-weight: 100;
    padding-bottom: 20px;
}

#top.page-hero .video-overlay {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.7), rgba(20, 20, 20, 0.4));
    z-index: 1;
}

@media (max-width: 991px) {

    #top.page-hero {
        min-height: auto;
        padding: 140px 0 60px;
    }

    /* Mobile Adjustment for Full View Hero */
    #top.page-hero.hero-full-view {
        min-height: 50vh;
        /* Reasonable height for mobile */
    }

    #top.page-hero .col-lg-10.offset-lg-1 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-left: 0;
        padding: 0 10px;
    }

    #top.page-hero .caption.banner-text-box {
        padding: 30px 25px;
        max-width: 100%;
        border-radius: 12px;
    }

    #top.page-hero .caption h1 {
        font-size: 2rem !important;
        line-height: 1.3 !important;
        margin-bottom: 1rem;
    }

    #top.page-hero .caption h6 {
        font-size: 0.875rem;
        margin-bottom: 0.75rem;
    }

    #top.page-hero .caption p.lead {
        font-size: 0.95rem;
        line-height: 1.65;
        margin-bottom: 1.25rem;
    }

    #top.page-hero .main-button-red a {
        padding: 14px 32px !important;
        font-size: 13px;
    }

    #top.page-hero .page-hero-background {
        min-height: 100%;
        object-position: center;
    }
}

@media (max-width: 768px) and (min-width: 576px) {
    #top.page-hero .caption.banner-text-box {
        max-width: 90%;
        padding: 35px 30px;
    }

    #top.page-hero .caption h1 {
        font-size: 2.25rem !important;
    }

    #top.page-hero .caption p.lead {
        font-size: 1rem;
    }
}

@media (max-width: 575px) {
    #top.page-hero {
        padding: 100px 0 40px;
        /* Reduced vertical padding */
    }

    #top.page-hero .caption.banner-text-box {
        padding: 20px 15px;
        /* Compact padding */
    }

    #top.page-hero .caption h1 {
        font-size: 1.5rem !important;
        /* Significantly smaller for mobile */
        line-height: 1.3 !important;
        margin-bottom: 0.75rem;
    }

    #top.page-hero .caption h6 {
        font-size: 0.75rem;
        margin-bottom: 0.5rem;
    }

    #top.page-hero .caption p.lead {
        font-size: 0.85rem;
        /* Smaller body text */
        line-height: 1.5;
        margin-bottom: 1.5rem;
        /* More space before button */
    }

    #top.page-hero .main-button-red a {
        padding: 10px 24px !important;
        font-size: 12px;
        width: 100%;
        /* Full width button on mobile */
        text-align: center;
        display: block;
    }
}

/* =============================================================================
   END OF HOME PAGE BANNER REFINEMENTS
   ========================================================================== */

.our-partner-section .partner-logo {
    transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
    pointer-events: auto;
}

/* Apply hover effect only on devices that can hover (e.g., desktops with a mouse) */
@media (hover: hover) and (pointer: fine) {
    .our-partner-section .partner-logo:hover {
        transform: scale(1.05);
        filter: drop-shadow(0 0 8px rgba(39, 121, 214, 0.308));
        cursor: pointer;
    }
}