
/* Local navigation and hub-page support for the production build */
.Navbar-Item.Dropdown{cursor:pointer}
.css-d2rim3:hover>.Dropdown-Wrapper,.css-d2rim3:focus-within>.Dropdown-Wrapper{display:block!important}
a.Navbar-Item.Dropdown{text-decoration:none;color:inherit}
.local-hub{max-width:1180px;margin:0 auto;padding:64px 24px 80px;font-family:Helvetica Neue,Arial,sans-serif}
.local-hub h1{font-size:44px;line-height:1.1;color:#041254;margin:0 0 16px}
.local-hub-intro{font-size:20px;max-width:780px;margin:0 0 36px;color:#40404a}
.local-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.local-hub-card{display:block;padding:26px;border:1px solid #e4e6ec;border-radius:14px;background:#fff;text-decoration:none;color:#222226;box-shadow:0 6px 20px rgba(4,18,84,.07);transition:.18s ease}
.local-hub-card:hover{transform:translateY(-3px);border-color:#f15a2a;box-shadow:0 10px 28px rgba(4,18,84,.12)}
.local-hub-card h2{font-size:23px;color:#041254;margin:0 0 10px}
.local-hub-card p{font-size:16px;margin:0 0 18px;line-height:1.55}
.local-hub-card span{font-weight:700;color:#e64b24}
@media(max-width:900px){.local-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.local-hub{padding:42px 18px}.local-hub h1{font-size:34px}.local-hub-grid{grid-template-columns:1fr}}

.hub-body{margin:0;background:#f7f8fb;color:#222226;font-family:Helvetica Neue,Arial,sans-serif}
.local-header{background:#fff;border-bottom:1px solid #e7e8ed;position:sticky;top:0;z-index:20}
.local-nav{max-width:1320px;margin:auto;min-height:82px;padding:0 22px;display:flex;align-items:center;gap:24px}
.local-logo img{display:block;width:190px;max-height:58px;object-fit:contain}
.local-nav nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.local-nav nav a{color:#15225a;text-decoration:none;font-size:16px;font-weight:600;white-space:nowrap}
.local-nav nav a:hover{text-decoration:underline;color:#e64b24}
.local-cta{padding:11px 18px;border-radius:999px;background:#f15a2a;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.hub-kicker{text-transform:uppercase;letter-spacing:.12em;color:#e64b24;font-weight:700;font-size:14px;margin-bottom:10px}
.local-footer{background:#041254;color:#fff;padding:28px 24px;text-align:center}
.local-footer div{display:flex;justify-content:center;gap:22px;flex-wrap:wrap}.local-footer a{color:#fff}.local-footer p{margin:14px 0 0;font-size:14px;opacity:.8}
@media(max-width:1100px){.local-nav{flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.local-nav nav{order:3;width:100%;overflow:auto;margin:0}.local-cta{margin-left:auto}}

/* Exact supplied logo: resized only, aspect ratio preserved. */
img[src$="digital-wyoming-llc-pro-logo.png"] {
    width: auto !important;
    height: auto !important;
    max-width: min(100%, 420px) !important;
    max-height: 72px !important;
    object-fit: contain !important;
}

/*
|--------------------------------------------------------------------------
| MOBILE NAVIGATION DRAWER FIX
|--------------------------------------------------------------------------
| Replaces the broken exported mobile-menu height calculation with a
| proper off-canvas drawer. Desktop navigation remains unchanged.
*/
@media (max-width:1199.95px){

    html,
    body{
        max-width:100%;
        overflow-x:hidden;
    }

    /* Keep the mobile header stable instead of letting the menu resize it. */
    .Navbar{
        position:relative !important;
        z-index:10020 !important;
        background:#fff !important;
    }

    /* Professional right-side drawer. */
    .Navbar .Navbar-Menu{
        display:flex !important;
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        left:auto !important;

        width:min(88vw,380px) !important;
        max-width:380px !important;
        height:100dvh !important;
        min-height:100vh !important;
        max-height:100dvh !important;

        padding:76px 18px 28px !important;
        margin:0 !important;

        flex-direction:column !important;
        align-items:stretch !important;
        gap:4px !important;

        overflow-x:hidden !important;
        overflow-y:auto !important;
        overscroll-behavior:contain;

        border-top:0 !important;
        border-left:1px solid #e5e9f0 !important;
        background:#fff !important;
        box-shadow:-20px 0 45px rgba(4,18,84,.18) !important;

        transform:translate3d(105%,0,0) !important;
        visibility:hidden !important;
        opacity:0 !important;
        pointer-events:none !important;

        transition:
            transform .24s ease,
            opacity .18s ease,
            visibility .18s ease !important;

        z-index:10030 !important;
    }

    /* The checkbox already exists in the exported header.
       Use it as the single drawer state. */
    .Navbar:has(#burger_menu:checked) .Navbar-Menu{
        transform:translate3d(0,0,0) !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    /* Darken the page behind the open drawer without shifting content. */
    .Navbar:has(#burger_menu:checked)::after{
        content:"";
        position:fixed;
        inset:0;
        background:rgba(4,18,84,.38);
        backdrop-filter:blur(1px);
        z-index:10025;
    }

    /* Keep the close/menu control above the drawer. */
    .Navbar:has(#burger_menu:checked) .css-14d8bfy{
        position:fixed !important;
        top:20px !important;
        right:18px !important;
        z-index:10040 !important;
        width:38px !important;
        height:38px !important;
        display:grid !important;
        place-items:center !important;
        border-radius:9px !important;
        background:#f3f6fa !important;
        box-shadow:0 2px 8px rgba(4,18,84,.10) !important;
    }

    .Navbar:has(#burger_menu:checked) .css-14d8bfy label{
        width:38px !important;
        height:38px !important;
        display:grid !important;
        place-items:center !important;
        cursor:pointer !important;
    }

    /* Correct the exported icon logic:
       closed = hamburger; open = X. */
    .Navbar #burger_menu:not(:checked) + label svg:first-of-type{
        display:none !important;
    }

    .Navbar #burger_menu:not(:checked) + label svg:last-of-type{
        display:block !important;
        transform:none !important;
    }

    .Navbar #burger_menu:checked + label svg:first-of-type{
        display:block !important;
        transform:none !important;
    }

    .Navbar #burger_menu:checked + label svg:last-of-type{
        display:none !important;
    }

    /* Main menu rows */
    .Navbar .Navbar-Menu > div{
        width:100% !important;
        flex:0 0 auto !important;
    }

    .Navbar .Navbar-Menu .Navbar-Item{
        width:100% !important;
        min-height:46px !important;
        padding:11px 8px !important;
        margin:0 !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        border-bottom:1px solid #edf1f5 !important;
        color:#15225a !important;
        font-size:16px !important;
        font-weight:700 !important;
        line-height:1.25 !important;
        text-decoration:none !important;
    }

    .Navbar .Navbar-Menu .Navbar-Item::after{
        display:none !important;
    }

    /* Dropdown content must remain inside the drawer width. */
    .Navbar .Navbar-Menu .Dropdown-Wrapper{
        position:static !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:10px 8px 16px !important;

        border:0 !important;
        border-bottom:1px solid #edf1f5 !important;
        background:#f8fafc !important;
        box-shadow:none !important;

        overflow:hidden !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiContainer-root,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-root{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-container{
        display:block !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-item{
        width:100% !important;
        max-width:100% !important;
        margin:0 0 12px !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper a{
        max-width:100% !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    /* Prevent large desktop promotional blocks from appearing in drawer. */
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-1ruzi35,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-qgevcu,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-1oh16u0{
        display:none !important;
    }

    /* Ensure CTA/login rows fit cleanly. */
    .Navbar .Navbar-Menu a,
    .Navbar .Navbar-Menu button{
        max-width:100% !important;
    }

    /* Do not let opening the drawer jump the page horizontally. */
    body:has(.Navbar #burger_menu:checked){
        overflow:hidden !important;
        touch-action:none;
    }
}

@media (max-width:575.95px){
    .Navbar .Navbar-Menu{
        width:90vw !important;
        max-width:340px !important;
        padding:68px 14px 24px !important;
    }

    .Navbar .Navbar-Menu .Navbar-Item{
        min-height:43px !important;
        padding:10px 7px !important;
        font-size:15px !important;
    }

    .Navbar:has(#burger_menu:checked) .css-14d8bfy{
        top:15px !important;
        right:14px !important;
    }
}

/*
|--------------------------------------------------------------------------
| MOBILE NAVIGATION DRAWER - JS CONTROLLED
|--------------------------------------------------------------------------
| Uses .dw-mobile-nav-open instead of relying on :has(), so it works on
| real mobile browsers as well as desktop Chrome responsive mode.
*/
@media (max-width:1199.95px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .Navbar{
        position:relative !important;
        z-index:10020 !important;
        background:#fff !important;
    }

    .Navbar .Navbar-Menu{
        display:flex !important;
        position:fixed !important;
        top:0 !important;
        right:0 !important;
        left:auto !important;

        width:min(88vw,380px) !important;
        max-width:380px !important;
        height:100vh !important;
        height:100dvh !important;
        max-height:100vh !important;
        max-height:100dvh !important;

        margin:0 !important;
        padding:72px 16px 28px !important;

        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:3px !important;

        overflow-y:auto !important;
        overflow-x:hidden !important;
        -webkit-overflow-scrolling:touch !important;
        overscroll-behavior:contain !important;

        border-top:0 !important;
        border-left:1px solid #e1e7ef !important;
        background:#fff !important;
        box-shadow:-18px 0 42px rgba(4,18,84,.18) !important;

        transform:translateX(105%) !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        transition:transform .24s ease,opacity .18s ease,visibility .18s ease !important;
        z-index:10030 !important;
    }

    .Navbar.dw-mobile-nav-open .Navbar-Menu{
        transform:translateX(0) !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    html.dw-mobile-nav-open,
    body.dw-mobile-nav-open{
        overflow:hidden !important;
        height:100% !important;
        touch-action:none;
    }

    body.dw-mobile-nav-open::before{
        content:"";
        position:fixed;
        inset:0;
        z-index:10010;
        background:rgba(4,18,84,.42);
    }

    /* Keep the hamburger/X control above the drawer. */
    .Navbar.dw-mobile-nav-open .css-14d8bfy{
        position:fixed !important;
        top:16px !important;
        right:16px !important;
        z-index:10050 !important;
        width:40px !important;
        height:40px !important;
        display:grid !important;
        place-items:center !important;
        border-radius:9px !important;
        background:#f2f5f9 !important;
        box-shadow:0 2px 9px rgba(4,18,84,.12) !important;
    }

    .Navbar .css-14d8bfy label{
        cursor:pointer !important;
        -webkit-tap-highlight-color:transparent;
        touch-action:manipulation;
    }

    /* Closed: hamburger visible, X hidden. */
    .Navbar:not(.dw-mobile-nav-open) #burger_menu + label svg:first-of-type{
        display:none !important;
    }
    .Navbar:not(.dw-mobile-nav-open) #burger_menu + label svg:last-of-type{
        display:block !important;
        transform:none !important;
    }

    /* Open: X visible, hamburger hidden. */
    .Navbar.dw-mobile-nav-open #burger_menu + label svg:first-of-type{
        display:block !important;
        transform:none !important;
    }
    .Navbar.dw-mobile-nav-open #burger_menu + label svg:last-of-type{
        display:none !important;
    }

    .Navbar .Navbar-Menu > div{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 auto !important;
    }

    .Navbar .Navbar-Menu .Navbar-Item{
        width:100% !important;
        min-height:44px !important;
        margin:0 !important;
        padding:10px 7px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;

        border-bottom:1px solid #edf1f5 !important;
        color:#15225a !important;
        font-size:15px !important;
        font-weight:700 !important;
        line-height:1.25 !important;
        text-decoration:none !important;
    }

    .Navbar .Navbar-Menu .Navbar-Item::after{
        display:none !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper{
        position:static !important;
        left:auto !important;
        right:auto !important;
        top:auto !important;

        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;

        margin:0 !important;
        padding:10px 7px 14px !important;

        border:0 !important;
        border-bottom:1px solid #edf1f5 !important;
        background:#f8fafc !important;
        box-shadow:none !important;

        overflow:hidden !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiContainer-root,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-root{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:0 !important;
        padding-right:0 !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-container{
        display:block !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper .MuiGrid-item{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 0 10px !important;
    }

    .Navbar .Navbar-Menu .Dropdown-Wrapper a{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
    }

    /* Desktop promotional blocks do not belong in the mobile drawer. */
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-1ruzi35,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-qgevcu,
    .Navbar .Navbar-Menu .Dropdown-Wrapper .css-1oh16u0{
        display:none !important;
    }
}

@media (max-width:575.95px){
    .Navbar .Navbar-Menu{
        width:91vw !important;
        max-width:340px !important;
        padding:66px 13px 22px !important;
    }

    .Navbar.dw-mobile-nav-open .css-14d8bfy{
        top:13px !important;
        right:13px !important;
        width:38px !important;
        height:38px !important;
    }
}

