.et_pb_title_container article{
    margin-bottom:30px;
}

/* Ensure fixed header stays above page content */
.et_pb_row_0_tb_header {
    z-index: 9999 !important;
}

/* Homepage banner image - fill container without warping */
.et_pb_image_wrap.hmpage {
    display: block;
    height: 100%;
    width: 100%;
}

/* Remove padding from homepage hero section */
.fl-home-banner,
.et_pb_section_0,
.fl-paralax.fl-home-banner,
.fl-home-banner .et_pb_column_0,
.fl-banner-row .et_pb_column_0 {
    padding-top: 0 !important;
}

#main-content .small-intro .container::before{
    display: none;
}
#main-content .small-intro .container{
    margin:0;
    padding:0!important;
}

.et_pb_image_wrap.hmpage img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Show entire image without cropping */
    object-position: right center;
}

@media (min-width: 981px) and (max-width: 1440px) {
    .fl-site-navigation li{
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .nav li ul, .et-menu li li a{
        width:200px;
    }
    .et-menu li li a{
        padding-left:4px;
    }
    .fl-site-navigation ul li ul.sub-menu li.menu-item-has-children > a:first-child::after{
        right:6px;
    }
    .nav li li ul{
        left:200px;
    }
    
    /* Prevent dropdown clipping */
    .et_pb_menu__wrap,
    .et_pb_menu__menu {
        overflow: visible !important;
    }
}

/* At narrower widths, make dropdowns narrower to fit */
@media (min-width: 981px) and (max-width: 1240px) {
    .nav li ul, 
    .et-menu li ul.sub-menu,
    .et-menu li ul.sub-menu li {
        width: 140px !important;
    }
    .et-menu li li a,
    .et-menu li ul.sub-menu li a {
        width: 100% !important;
        box-sizing: border-box;
    }
    .nav li li ul {
        left: 140px;
    }
}

/* At 980px tablet breakpoint - remove extra whitespace */
@media (max-width: 980px) {
    .fl-home-banner,
    .et_pb_section_0 {
        min-height: auto !important;
        height: auto !important;
    }
    
    .fl-banner-row {
        min-height: auto !important;
    }
    
    .et_pb_image_wrap.hmpage {
        height: auto !important;
        min-height: auto !important;
    }
    
    .et_pb_image_wrap.hmpage img {
        height: auto !important;
        width: auto;
        margin: 0 auto;
    }
    .et_pb_row.et_pb_row_0_tb_header.et_pb_row--with-menu{
        width:100%!important;
    }
    /* Hide the desktop header section that creates blank space */
    #fl-template.et_pb_section_0_tb_header,
    .et_pb_section_0_tb_header {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
    }
    
    /* Hide desktop menu on mobile */
    .et_pb_section_0_tb_header .et_pb_menu__menu {
        display: none !important;
    }
    
    /* Reduce logo size and padding on mobile - header only */
    .et_pb_section_0_tb_header .et_pb_image_0_tb_header,
    .et_pb_row_0_tb_header .fl-mobile-two-thirds {
        padding: 5px 0 !important;
        margin: 0 !important;
    }
    
    .et_pb_section_0_tb_header .et_pb_image_0_tb_header img,
    .et_pb_row_0_tb_header .fl-mobile-two-thirds img {
        max-height: 50px !important;
        width: auto !important;
        height: auto !important;
    }
    
    .et_pb_row_0_tb_header {
        padding: 5px 0px !important;
        min-height: auto !important;
    }
    
    /* Add top padding to main content to account for fixed header - except homepage */
    body:not(.homepage) #main-content,
    body:not(.homepage) .et-l--post,
    body:not(.homepage) .et-l--body {
        padding-top: 38px !important;
    }
    
    /* Add padding back to homepage hero on mobile */
    body.homepage .fl-home-banner,
    body.homepage .et_pb_section_0,
    body.homepage .fl-paralax.fl-home-banner,
    body.homepage .fl-home-banner .et_pb_column_0,
    body.homepage .fl-banner-row .et_pb_column_0 {
        padding-top: 40px !important;
    }
}

/* Tablet range - prevent image cutoff */
@media (min-width: 981px) and (max-width: 1170px) {
    /* Ensure parent containers don't clip the image */
    .fl-banner-row .et_pb_column_1_2.et-last-child,
    .fl-banner-row .et_pb_image,
    .fl-banner-row .et_pb_image_sticky {
        overflow: visible !important;
        height: auto !important;
        min-height: auto;
    }
    
    .et_pb_image_wrap.hmpage {
        overflow: visible;
    }
    
    .et_pb_image_wrap.hmpage img {
        object-fit: contain;
        object-position: center center;
        width: auto;
        margin: 0 auto;
    }
}
