/* =========================================
   Match original mega menu display behavior
========================================= */

header.et-l--header,
#logo-row,
#logo-menu-row,
.et_pb_section_1_tb_header,
.et_pb_section_1_tb_header .et_pb_row,
.et_pb_section_1_tb_header .et_pb_column {
    position: relative;
    z-index: 10000 !important;
    overflow: visible !important;
}

.de-mega-menu {
    z-index: 10001 !important;
}

.mm-overlay {
    z-index: 10000 !important;
}

#et-main-area,
.et_pb_section_4,
.et_pb_fullwidth_section,
.homepage-slider,
.et_pb_fullwidth_slider_0 {
    position: relative;
    z-index: 1 !important;
}

    .homepage-slider .et_pb_slide {
        display: none;
    }

        .homepage-slider .et_pb_slide.et-pb-active-slide {
            display: block;
        }

    .homepage-slider .et_pb_slide_title {
        font-size: 72px !important;
        line-height: 1.05 !important;
        color: #fff !important;
        text-shadow: 0 2px 8px rgba(0,0,0,.35);
    }

    .homepage-slider .et_pb_slide_content {
        color: #fff !important;
    }

#banner-cta-row {
    margin-top: 30px !important;
}

.cta-homebanner-mobile {
    background: rgba(255,255,255,.18) !important;
    backdrop-filter: blur(4px);
    min-height: 180px;
}

    .cta-homebanner-mobile h5 {
        color: #fff !important;
        font-size: 30px !important;
        line-height: 1.1 !important;
        margin-bottom: 16px !important;
    }

    .cta-homebanner-mobile p {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
    }

.cta-arrow {
    width: 26px;
    height: 25px;
    display: inline-block;
}

@media (max-width: 980px) {
    .homepage-slider .et_pb_slide_title {
        font-size: 44px !important;
    }
}

@media (max-width: 767px) {
    .homepage-slider .et_pb_slide_title {
        font-size: 34px !important;
    }

    .cta-homebanner-mobile {
        min-height: auto;
    }
}










header.et-l--header,
#logo-row,
#logo-menu-row,
.et_pb_section_1_tb_header,
.et_pb_section_1_tb_header .et_pb_row,
.et_pb_section_1_tb_header .et_pb_column {
    position: relative;
    z-index: 10000 !important;
    overflow: visible !important;
}

.de-mega-menu {
    z-index: 10001 !important;
}

.mm-overlay {
    z-index: 10000 !important;
}

.homepage-slider,
.et_pb_fullwidth_slider_0,
.et_pb_section_4,
.et_pb_fullwidth_section {
    position: relative;
    z-index: 1 !important;
}



#programs-mega.de-mega-menu,
#involved-mega.de-mega-menu {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999;
}

#programs-mega.de-mega-menu,
#involved-mega.de-mega-menu {
    animation-name: fadeBottom;
    max-width: 1080px;
    margin-top: 0 !important;
}

.mm-overlay {
    opacity: 0;
    position: fixed;
    inset: 0;
    background-color: rgba(0,0,0,0.45);
    z-index: -1;
    transition: opacity 0.18s ease-in-out;
    pointer-events: none;
}

    .mm-overlay.active {
        opacity: 1;
        z-index: 9998;
        pointer-events: auto;
    }

.de-mega-menu {
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
    z-index: 9999;
    display: none;
    top: 0;
    position: absolute;
    left: 0;
    right: 0;
}

    .de-mega-menu.active {
        display: block !important;
        animation: fadeBottom 0.7s ease-in-out;
    }

    .de-mega-menu.fixed {
        top: 53px;
    }

@keyframes fadeBottom {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.desktop-menu > a,
.programs-hook > a,
.involved-hook > a {
    padding-right: 20px;
}

.programs-hook.menu-open > a,
.involved-hook.menu-open > a {
    color: #e86932 !important;
}

/* =========================================
   Keep original header visual behavior
========================================= */
.desktop-menu {
    display: list-item;
}

.mobile-menu {
    display: none;
}

/* =========================================
   Mega menu inner styling
========================================= */
.de-mega-menu .et_pb_section {
    background-color: #085536 !important;
}

.brightpath-mega-five-col,
.brightpath-mega-four-col {
    z-index: 3;
    padding-bottom: 0 !important;
}

.mega-title-block {
    margin-top: 34px;
    margin-bottom: 8px !important;
}

    .mega-title-block h3 {
        color: #e86932 !important;
        font-size: 16px !important;
        margin: 0 0 8px 0 !important;
        line-height: 1.35;
        font-weight: 700;
    }

        .mega-title-block h3 a {
            color: #e86932 !important;
        }

.de-mega-menu .et-menu.nav,
.de-mega-menu .et-menu.nav li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.de-mega-menu .et-menu.nav {
    display: block !important;
}

    .de-mega-menu .et-menu.nav li {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
        float: none !important;
        clear: both !important;
        line-height: 1.35 !important;
    }

        .de-mega-menu .et-menu.nav li:last-child {
            margin-bottom: 0 !important;
        }

        .de-mega-menu .et-menu.nav li a {
            display: block !important;
            width: 100% !important;
            color: #ffffff !important;
            text-decoration: none !important;
            line-height: 1.4 !important;
            font-size: 15px !important;
            padding: 0 !important;
            white-space: normal !important;
        }

            .de-mega-menu .et-menu.nav li a:hover {
                color: #e86932 !important;
            }

.mega-strong-link {
    font-weight: 700 !important;
}

.mega-side-copy {
    margin-top: 12px;
}

    .mega-side-copy p {
        color: #fff !important;
        margin-bottom: 12px !important;
        line-height: 1.5;
    }

.mega-action-btn {
    background-color: #e86932 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 20px !important;
    display: inline-block !important;
    text-decoration: none !important;
}

    .mega-action-btn:hover {
        opacity: 0.92;
    }

.de-mega-menu .et_pb_image img {
    display: block;
    width: 100%;
    height: auto;
}

/* =========================================
   Desktop dropdowns for normal menu items
========================================= */
.et_pb_menu__menu .et-menu.nav > li {
    position: relative;
}

    .et_pb_menu__menu .et-menu.nav > li > a {
        position: relative;
        z-index: 2;
    }

    .et_pb_menu__menu .et-menu.nav > li.menu-item-has-children:not(.desktop-menu):not(.programs-hook):not(.involved-hook):hover > .sub-menu {
        display: block;
    }

    .et_pb_menu__menu .et-menu.nav > li > .sub-menu {
        display: none;
        position: absolute;
        top: calc(100% + 2px);
        left: 0;
        background: #ffffff;
        min-width: 240px;
        box-shadow: 0 8px 18px rgba(0,0,0,0.12);
        z-index: 10001;
        padding: 10px 0 !important;
    }

        .et_pb_menu__menu .et-menu.nav > li > .sub-menu li {
            list-style: none;
            margin: 0 !important;
            padding: 0 !important;
            float: none !important;
            display: block !important;
        }

            .et_pb_menu__menu .et-menu.nav > li > .sub-menu li a {
                color: #222 !important;
                display: block !important;
                padding: 10px 18px !important;
                white-space: nowrap;
                text-decoration: none !important;
                line-height: 1.4;
            }

                .et_pb_menu__menu .et-menu.nav > li > .sub-menu li a:hover {
                    background: #f4f4f4;
                    color: #e86932 !important;
                }

/* =========================================
   Mobile nav
========================================= */
.et_mobile_nav_menu {
    display: none;
}

.mobile_nav {
    position: relative;
}

    .mobile_nav .mobile_menu_bar {
        display: inline-block;
        cursor: pointer;
        font-size: 32px;
        line-height: 1;
    }

        .mobile_nav .mobile_menu_bar:before {
            content: "\61";
            font-family: ETmodules, sans-serif !important;
            color: #ffffff;
        }

    .mobile_nav.opened .mobile_menu_bar:before {
        content: "\4d";
    }

.et_mobile_menu {
    display: none;
    background: #085536;
    border-top: 3px solid #e86932;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 0 !important;
    z-index: 9999;
}

    .et_mobile_menu li {
        position: relative;
        list-style: none;
    }

        .et_mobile_menu li a {
            display: block;
            color: #ffffff !important;
            text-decoration: none;
            padding: 12px 20px;
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }

        .et_mobile_menu li ul.sub-menu,
        .et_mobile_menu li ul.children {
            display: none;
            background: rgba(0,0,0,0.12);
        }

            .et_mobile_menu li ul.sub-menu.visible,
            .et_mobile_menu li ul.children.visible {
                display: block;
            }

        .et_mobile_menu li .mobile-toggle {
            position: absolute;
            right: 0;
            top: 0;
            width: 44px;
            height: 44px;
            text-decoration: none;
            z-index: 2;
        }

            .et_mobile_menu li .mobile-toggle:before {
                content: "+";
                color: #ffffff;
                display: block;
                text-align: center;
                line-height: 44px;
                font-size: 24px;
            }

        .et_mobile_menu li.dt-open > .mobile-toggle:before {
            content: "-";
        }

/* =========================================
   Breakpoint behavior based on sample
========================================= */
@media all and (max-width: 980px) {
    .mm-overlay.active {
        opacity: 0 !important;
    }

    .de-mega-menu {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

        .de-mega-menu .et_pb_section,
        .de-mega-menu .et_pb_row {
            width: 100%;
            max-width: 100%;
        }

    .et_pb_menu__menu {
        display: none !important;
    }

    .et_mobile_nav_menu {
        display: block !important;
    }

    .desktop-menu {
        display: none !important;
    }

    .mobile-menu {
        display: list-item !important;
    }

    .de-mega-menu {
        display: none !important;
    }
}


