.navbar-default .navbar-nav > .dropdown .mega-dropdown-menu a,
.navbar-default .navbar-nav > .dropdown .mega-dropdown-menu span
{
  background-color:#000000;
}

.t3-footer
{
  display:none;
}

.navbar-default .navbar-nav > .dropdown.open > a,
.navbar-default .navbar-nav > .dropdown.open > span,
.navbar-default .navbar-nav > .dropdown.open > a:hover,
.navbar-default .navbar-nav > .dropdown.open > span:hover,
.navbar-default .navbar-nav > .dropdown.open > a:focus,
.navbar-default .navbar-nav > .dropdown.open > span:focus {
  background-color: #4eb51b;
  color: #ffffff;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #4eb51b;
  color: #ffffff;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: #4eb51b;
}

.t3-sl
{
  padding:0px;
  /* Ensure main slider area starts properly below header */
  margin-top: 0;
  position: relative;
  z-index: 1;
}

.t3-mainbody
{
  padding:15px;
}

/*override style for "programs" section on homepage */
figure.qx-element-blurb__media.qx-d-inline-block {
    width: 100% !important;
}

/* Custom Header Hide Styles */
.t3-header {
    transition: all 0.3s ease-in-out;
}

/* Normal header state - ensure all banner elements are visible */
.t3-header .container .row {
    transition: all 0.3s ease-in-out;
}

.t3-header .logo-img {
    transition: all 0.3s ease-in-out;
    display: inline-block;
}

.t3-header .logo-img-sm {
    transition: all 0.3s ease-in-out;
    display: none;
}

.t3-header .site-slogan {
    transition: all 0.3s ease-in-out;
}

.t3-header .topGrass {
    transition: all 0.3s ease-in-out;
}

.t3-header .header-social {
    transition: all 0.3s ease-in-out;
}

/* Banner hidden state - completely hide the banner area */
.t3-header.banner-hidden {
    height: 0;
    overflow: hidden;
    padding: 0;
    min-height: 0;
}

.t3-header.banner-hidden .container {
    display: none;
}

.t3-header.banner-hidden .logo-img {
    display: none;
}

.t3-header.banner-hidden .logo-img-sm {
    display: none;
}

.t3-header.banner-hidden .site-slogan {
    display: none;
}

.t3-header.banner-hidden .topGrass {
    display: none;
}

.t3-header.banner-hidden .header-social {
    display: none;
}

/* Ensure header banner can be smoothly hidden */
.t3-header.banner-hidden {
    height: 0;
    overflow: hidden;
    padding: 0;
    min-height: 0;
    margin-bottom: 0;
}

/* Style for sticky navigation when banner is hidden */
.t3-mainnav.sticky-nav {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1001;
    background: #333333 !important; /* Dark background like original */
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    margin-top: 0;
    transition: all 0.3s ease-in-out;
}

/* Ensure navigation content is visible when sticky */
.t3-mainnav.sticky-nav .t3-navbar.navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
}

.t3-mainnav.sticky-nav .navbar-nav {
    display: block !important;
    visibility: visible !important;
}

.t3-mainnav.sticky-nav .container {
    display: block !important;
    visibility: visible !important;
}

/* Ensure dropdown menus work properly when sticky */
.t3-mainnav.sticky-nav .dropdown-menu {
    position: absolute !important;
}

.t3-mainnav.sticky-nav .mega-dropdown-menu {
    position: absolute !important;
}

/* Ensure navigation items have proper spacing when sticky */
.t3-mainnav.sticky-nav .navbar-nav > li {
    display: inline-block !important;
}

.t3-mainnav.sticky-nav .navbar-nav > li > a {
    display: block !important;
    padding: 15px !important;
}

/* Ensure sticky navigation has proper height and visibility */
.t3-mainnav.sticky-nav {
    min-height: 50px !important;
    height: auto !important;
}

.t3-mainnav.sticky-nav .container {
    min-height: 50px !important;
    padding: 0 15px !important;
}

/* Fix for navigation items layout when sticky */
.t3-mainnav.sticky-nav .navbar-nav {
    margin: 0 !important;
    float: left !important;
}

.t3-mainnav.sticky-nav .navbar-header {
    float: right !important;
    display: block !important;
}

/* Fix navigation text colors when sticky */
.t3-mainnav.sticky-nav .navbar-nav > li > a {
    color: #ffffff !important; /* White text on dark background */
}

.t3-mainnav.sticky-nav .navbar-nav > li > a:hover,
.t3-mainnav.sticky-nav .navbar-nav > li > a:focus {
    color: #ffffff !important;
    background-color: #4eb51b !important; /* Keep the green hover effect */
}

.t3-mainnav.sticky-nav .navbar-nav > .open > a,
.t3-mainnav.sticky-nav .navbar-nav > .open > a:hover,
.t3-mainnav.sticky-nav .navbar-nav > .open > a:focus {
    color: #ffffff !important;
    background-color: #4eb51b !important;
}

.t3-mainnav.sticky-nav .navbar-nav > .dropdown.open > a,
.t3-mainnav.sticky-nav .navbar-nav > .dropdown.open > a:hover,
.t3-mainnav.sticky-nav .navbar-nav > .dropdown.open > a:focus {
    color: #ffffff !important;
    background-color: #4eb51b !important;
}

/* Fix active/current page styling when sticky */
.t3-mainnav.sticky-nav .navbar-nav > .current.active > a,
.t3-mainnav.sticky-nav .navbar-nav > .active > a {
    color: #ffffff !important; /* White text */
    background-color: #555555 !important; /* Darker gray background for active item */
    font-weight: bold !important;
}

.t3-mainnav.sticky-nav .navbar-nav > .current.active > a:hover,
.t3-mainnav.sticky-nav .navbar-nav > .active > a:hover {
    color: #ffffff !important;
    background-color: #4eb51b !important;
}

/* Fix dropdown carets and other elements when sticky */
.t3-mainnav.sticky-nav .navbar-nav > li > a .caret,
.t3-mainnav.sticky-nav .navbar-nav > li > a em.caret {
    border-top-color: #ffffff !important; /* White carets on dark background */
    border-bottom-color: #ffffff !important;
}

.t3-mainnav.sticky-nav .navbar-nav > li > a:hover .caret,
.t3-mainnav.sticky-nav .navbar-nav > li > a:hover em.caret,
.t3-mainnav.sticky-nav .navbar-nav > .open > a .caret,
.t3-mainnav.sticky-nav .navbar-nav > .open > a em.caret {
    border-top-color: #ffffff !important;
    border-bottom-color: #ffffff !important;
}

/* Content jumping prevented by placeholder element */

/* Simple content spacing for sticky nav - only on long pages */
body:has(.t3-mainnav.sticky-nav) .t3-sl {
    padding-top: 70px;
    transition: padding-top 0.3s ease-in-out;
}

body:has(.t3-mainnav.sticky-nav) .t3-mainbody {
    margin-top: 70px;
    transition: margin-top 0.3s ease-in-out;
}

/* Prevent layout shifts during sticky nav transitions */
.t3-mainnav {
    transition: all 0.3s ease-in-out;
    position: relative;
    will-change: transform; /* Optimize for transforms */
}

.t3-mainnav.sticky-nav {
    will-change: transform, position;
}

/* Ensure smooth content flow on short pages */
body {
    overflow-x: hidden; /* Prevent horizontal scroll issues */
}

/* Add stable height calculation to prevent jumping */
.t3-header {
    transition: height 0.3s ease-in-out, margin-bottom 0.3s ease-in-out;
}

/* Responsive adjustments for mobile and small tablets */
@media (max-width: 991px) {
    /* Normal state on mobile: use smaller logo */
    .t3-header .logo-img {
        display: none;
    }
    
    .t3-header .logo-img-sm {
        display: inline-block;
        max-height: 60px;
        width: auto;
    }
    
    /* Banner hidden state on mobile - same behavior as desktop */
    .t3-header.banner-hidden {
        height: 0;
        overflow: hidden;
        padding: 0;
        min-height: 0;
    }
    
    /* Hide sticky navigation completely on mobile - hamburger menu will suffice */
    .t3-mainnav.sticky-nav {
        display: none !important;
    }
    
    /* No content spacing needed on mobile since nav is hidden when sticky */
    body:has(.t3-mainnav.sticky-nav) .t3-sl {
        padding-top: 0 !important;
    }
    
    body:has(.t3-mainnav.sticky-nav) .t3-mainbody {
        margin-top: 0 !important;
    }
}

/* Large tablet/small desktop adjustments */
@media (min-width: 992px) and (max-width: 1024px) {
    /* Normal state on tablet: still use large logo but smaller */
    .t3-header .logo-img {
        max-height: 80px;
        width: auto;
    }
    
    /* Banner hidden state on tablet - same behavior as desktop */
    .t3-header.banner-hidden {
        height: 0;
        overflow: hidden;
        padding: 0;
        min-height: 0;
    }
    
    /* Content spacing for tablet */
    body:has(.t3-mainnav.sticky-nav) .t3-sl {
        padding-top: 65px;
    }
    
    body:has(.t3-mainnav.sticky-nav) .t3-mainbody {
        margin-top: 65px;
    }
}