/*-- Desktop Stationary Navigation --*/
.d-nav {
    position: fixed;
    left: 0;
    right: 0;
    z-index:9999;
    display:none;
    background-color:#ffffff00;
}

@media (min-width: 776px) {.d-nav {display:block;}}

/*-- Banner --*/

.d-nav .banner {padding:1.2rem;}

.d-nav .banner p {text-transform:uppercase; font-size:1.3rem; font-weight:700; color:var(--white);}

#dark .d-nav .banner p {color:var(--black) !important;}


/* Main Nav */

    .d-nav .main-nav {
        position: relative;
        border:.2rem var(--black) solid;
        border-radius:.7rem;
        background-color: #FEFBFB;
    }

    .d-nav .main-nav:has(.dd-menu:hover) {
    border-bottom-color: transparent;
    border-radius:.7rem .7rem 0 0;
    border:.2rem var(--black) solid;
     
}

.d-nav .main-nav > .col-md {position: static;}

.d-nav .imgbox img {
    height:7rem;
    margin-top:0rem;
}

@media (min-width: 776px) {.d-nav .imgbox img {height:6.1rem; margin-top:.4rem;}}

.d-nav ul li {
        list-style-type:none;
        display:inline-block;
        margin-top:1rem;
    }

    .d-nav ul li a,
    .dd button {
            text-decoration:none;
            font-family:'gravita-hum-variable', sans-serif;
            font-size:1.3rem;
            color:var(--black);
            letter-spacing:.03rem;
            cursor:pointer;
        }

        .d-nav ul li a:hover,
        .d-nav ul li a:active {
            color:var(--orange);
            transform:.4s;
        }

        .d-nav ul li a {
            display:inline-block;
            padding: 1.5rem 1.5rem 2.5rem 1.5rem;
            vertical-align: middle !important;
            line-height:1.5;
            font-weight:600;
            text-transform:uppercase;
            
        } 

        .d-nav ul li .btn {
            font-size:1.3rem !important;
            margin-top:-.1rem;
        }

        .d-nav .textbox {
            margin-right: 1rem;
            text-align:right;
        }
    
            .d-nav .textbox li {
                text-align:right;
                margin-right:1rem;
            }
    
            @media (min-width: 1200px) {.d-nav .textbox li {margin-right:3.5rem;}}
            @media (min-width: 1300px) {.d-nav .textbox li {margin-right:2rem;}}
    
    /* Solutions Dropdown */

    .dd-menu {display: inline-block;}
          
    .dd-menu-content {
        display: grid;
        grid-template-rows: 0fr;
        position: absolute;
        top: 102%;                          /* was 7.1rem — now sits on the bar's bottom edge */
        left: -.15rem;                      /* was -18.85% — line up with the bar's left border */
        right: -.15rem;                     /* new — line up with the right border */
        min-width: 0;                       /* was 100vw — match the bar's width */
        background-color: #FEFBFB;
        padding: 10px 15px;
        z-index: 1;
        text-align: left;
        border: .2rem var(--black) solid;  /* was border-bottom #ccc — match the bar */
        border-radius:0 0 .8rem .8rem;
        border-top: none;                   /* no line where panel meets bar */
        opacity: 0;
        visibility: hidden;
        transition:
            grid-template-rows .4s ease,
            opacity .3s ease,
            visibility 0s linear .4s;
    }

    .dd-menu-content > .row {
        overflow: hidden;
        min-height: 0;
    }

            .dd-menu-content .imgbox a {text-decoration:none !important;}
        
            .dd-menu-content .imgbox img {
                width:100% !important;
                height:auto !important;
                margin:2rem auto .2rem auto;
                border-radius:.98rem;
                border:#ff990000 2px solid;
            }

            .dd-menu-content .imgbox h4 {
                font-family:"gravita-hum-variable", sans-serif;
                color:var(--black);
                font-size:1.4rem;
                text-transform:uppercase;
                font-weight:600;
            }

            .dd-menu-content .imgbox p {
                font-family:"gravita-hum-variable", sans-serif;
                color:var(--black) !important;
                text-decoration:none;
                font-size:1.2rem;
                margin-bottom:2rem;
            }

                .dd-menu-content .imgbox:hover h4, .dd-menu-content .imgbox:hover p {color:var(--brown) !important; transition:.4s;}


          
    .dd-menu:hover .dd-menu-content {
    grid-template-rows: 1fr;       /* was: display: block */
    opacity: 1;
    visibility: visible;
    transition:
        grid-template-rows .4s ease,
        opacity .3s ease,
        visibility 0s;             /* show immediately on open */
}

/*-- Desktop Stationary Navigation --*/



/*-- Mobile Floating Navigation --*/

/*-- 'floating-nav' is the navigation bar below 996px --*/

.mobile-nav {position:fixed; z-index:9999; width:100%;}

.floating-nav {
    padding:.4rem 0;
    display:block;
    position: relative;              /* in-flow + anchor, so the bordered box grows */
    z-index:9999;
    border:.2rem var(--black) solid;
    border-radius:.7rem;
    background-color: #FEFBFB;
    margin-top:1rem;
}
@media (min-width: 776px) {.floating-nav {display:none;}}

.floating-nav img {height:5.5rem; margin-top:.1rem;}

.navbar-trigger {
    cursor:pointer;
    color:var(--black);
    font-size:3rem;
    line-height:1;
    position:absolute;
    top:1.1rem;
    right:5%;
    user-select:none;
}

/* Drop-down panel */
.mobile-dropdown {
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .35s ease, visibility 0s linear .35s;
    visibility:hidden;
}
.floating-nav.open .mobile-dropdown {
    grid-template-rows:1fr;
    visibility:visible;
    transition:grid-template-rows .35s ease, visibility 0s;
}
.mobile-dropdown-inner { overflow:hidden; min-height:0; }

.mobile-menu { list-style:none; padding:.5rem 1.5rem 1.5rem; }
.mobile-menu > li { border-bottom:#e2ddd4 1px solid; }
.mobile-menu > li:last-child { border-bottom:none; }

/* Shared look for a top-level link and an accordion button */
.mobile-nav-link,
.accordion {
    text-decoration:none;
    display:block;
    width:100%;
    text-align:left;
    color:var(--black);
    text-transform:uppercase;
    font-size:1.7rem;
    font-weight:600;
    border:none;
    background:none;
    cursor:pointer;
    padding:1.5rem 0;
    font-family:"gravita-hum-variable", sans-serif;


}
.mobile-nav-link:hover, .accordion:hover {color:var(--brown); transition:.2s; }

.accordion:after {content:'\002795'; /* + */ font-size:1.3rem; color:var(--brown); float:right;}
.accordion.active:after { content:'\002796'; }   /* – */

/* Accordion sub-panel */
.acc-panel { display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s ease; }
.accordion.active + .acc-panel { grid-template-rows:1fr; }
.acc-panel-inner { overflow:hidden; min-height:0; }

.mobile-sublink { display:block; text-decoration:none; color:#444; font-size:1.5rem; padding:.6rem 0 .6rem 1rem;}
.mobile-sublink:last-child { padding-bottom:1.4rem; }
.mobile-sublink:hover {color:var(--brown);}

.mobile-cta {margin:2rem 0 .5rem; text-align:center;}

.mobile-cta a {display:block;}

.nav-btn:link, .nav-btn:visited {
    display:inline-block;
    font-weight:700;
    padding:1.5rem 2.5rem;
    text-decoration:none;
    text-transform:uppercase;
    font-size:1.7rem;
    background-color:var(--brown); 
    border-radius:6px;
    color:#fff !important;
    letter-spacing:.1rem;
    width:100%;
}

@media (prefers-reduced-motion:reduce){.mobile-dropdown,.acc-panel{transition-duration:.001s;}}



.acc-panel { max-height: none !important; }
    
/*-- Mobile Floating Navigation --*/