/* 
 * Hero Banner Vertical Centering Fix
 * Ultra high specificity to override any existing styles
 */

/* Force the banner to use flexbox centering with maximum specificity */
html body #banner_section.banner,
html body div#banner_section.banner,
html body .banner#banner_section,
body #banner_section.banner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    height: 100vh !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Ensure banner-text container is properly positioned */
html body #banner_section.banner .banner-text,
html body div#banner_section.banner .banner-text,
html body .banner#banner_section .banner-text {
    position: static !important;
    margin: 0 auto !important;
    max-width: 830px !important;
    text-align: center !important;
    z-index: 1 !important;
    transform: translateY(0) !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}

/* Remove any top margins or padding that could push content up */
html body #banner_section.banner .banner-text .title,
html body #banner_section.banner .banner-text .banner-content {
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    position: relative !important;
}

/* Mobile responsive fixes */
@media only screen and (max-width: 767px) {
    html body #banner_section.banner,
    html body div#banner_section.banner,
    html body .banner#banner_section {
        height: 70vh !important;
        min-height: 500px !important;
        max-height: 70vh !important;
    }
}

/* Tablet responsive fixes */
@media only screen and (max-width: 1024px) {
    html body #banner_section.banner,
    html body div#banner_section.banner,
    html body .banner#banner_section {
        height: 80vh !important;
        min-height: 600px !important;
        max-height: 80vh !important;
    }
}