/* /Components/BackToTop.razor.rz.scp.css */
.back-to-top[b-406fh7sp7u] {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 1030; /* above most content, below nav dropdowns */

    color: var(--bs-white);
    background-color: var(--bs-secondary);
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
    opacity: .9;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease, transform .1s ease;
    border: none;
}

    .back-to-top:hover[b-406fh7sp7u] {
        opacity: 1;
        transform: translateY(-1px);
        box-shadow: 0 2px 8px rgba(0,0,0,.25);
    }

/* Dark theme auto handled via CSS vars. Provide outline focus for a11y */
    .back-to-top:focus[b-406fh7sp7u] {
        outline: 0;
        box-shadow: 0 2px 8px rgba(0,0,0,.25);
    }

    .back-to-top:active[b-406fh7sp7u] {
        outline: 0;
        box-shadow: 0 2px 8px rgba(0,0,0,.25);
    }

.back-to-top i[b-406fh7sp7u] {
    font-size: 1.6rem;
    line-height: 1;
}
/* /Components/Layout/Footer.razor.rz.scp.css */
/*.navbar-toggler {
    cursor: pointer;
    color: #f6a900;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}*/

.nav-item[b-127d6dg13l] {
    font-size: 0.9rem;
}

    .nav-item[b-127d6dg13l]  .nav-link {
        color: white;
    }

    .nav-item[b-127d6dg13l]  .nav-link:hover {
        color: #f6a900;
    }

    .nav-item[b-127d6dg13l]  a.active {
        background-color: rgba(255,255,255,0.37);
        color: white;
    }
/*.navbar-toggler {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand {
    font-size: 1.1rem;
}

.bi {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.nav-item {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type {
        padding-top: 1rem;
    }

    .nav-item:last-of-type {
        padding-bottom: 1rem;
    }

    .nav-item ::deep .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }



.nav-item ::deep .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler {
        display: none;
    }

    .nav-scrollable {*/
        /* Never collapse the sidebar for wide screens */
        /*display: block;*/

        /* Allow sidebar to scroll for tall menus */
        /*height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}*/
/* /Components/Layout/Hero.razor.rz.scp.css */
/* Swooping Brush Stroke Effect */
 .hero-section[b-j9m6lmr2vs] {
    position: relative;
    padding-top:20px;
    padding-bottom: 0px;
    overflow: hidden;
    min-height: 350px;
}

    .hero-section[b-j9m6lmr2vs]::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-5deg);
        width: 2000px;
        height: 550px;
        background: radial-gradient(circle, rgba(114, 102, 186, 0.4) 20%, transparent 90%);
        /*background-color: rgba(114, 102, 186, 0.20);*/
        opacity: .4;
        /*filter: blur(2px);*/
        z-index: 1;
    }

.hero-content[b-j9m6lmr2vs] {
    position: relative;
    padding-left: 40px !important;
    padding-right: 40px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    z-index: 2;
}

/* Use ::deep so projected ChildContent h1 elements (which are not scoped) are targeted */
.hero-content[b-j9m6lmr2vs]  h1 {
    color: var(--sq-hero-title-color, inherit) !important;
}

/*@media (min-width: 768px) {
    :root {
        --sq-navbar-offset: 68px;
    }
}*/

@media (min-width: 992px) {
    .hero-content[b-j9m6lmr2vs] {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
}

@media (min-width: 1500px) {
    .hero-content[b-j9m6lmr2vs] {
        padding-left: 200px !important;
        padding-right: 200px !important;
    }
}

@media (min-width: 2000px) {
    .hero-content[b-j9m6lmr2vs] {
        padding-left: 400px !important;
        padding-right: 400px !important;
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-gnk29an7j5] {
    position: relative;
    display: flex;
    flex-direction: column;
}

#blazor-error-ui[b-gnk29an7j5] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-gnk29an7j5] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* Always feed the offcanvas width var to Bootstrap offcanvas */
#mainNavbarOffcanvas[b-ykqowjcvw1] {
    --bs-offcanvas-width: var(--sq-offcanvas-width);
}

/* Optional: backdrop dim strength (only affects overlay mode) */
.offcanvas-backdrop.show[b-ykqowjcvw1] { opacity: .35; }

/* Keep existing dropdown/link styling untouched */
.navbar-toggler[b-ykqowjcvw1] {
    cursor: pointer;
    color: #f6a900;
}

.navbar-toggler-icon[b-ykqowjcvw1] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.nav-item[b-ykqowjcvw1] { font-size: 0.9rem; }
.nav-item[b-ykqowjcvw1]  .nav-link { color: #FFFFFF; }
/*.nav-item ::deep .nav-link:hover { color: #f6a900; }*/
    .nav-item[b-ykqowjcvw1]  .nav-link:active,
    .nav-item[b-ykqowjcvw1]  .nav-link.active {
        color: var(--bs-secondary)
    }


.navbar[b-ykqowjcvw1]  .dropdown-menu .dropdown-item {
    color: var(--sq-nav-dropdown-item-color);
}

    .navbar[b-ykqowjcvw1]  .dropdown-menu .dropdown-item.active,
    .navbar[b-ykqowjcvw1]  .dropdown-menu .dropdown-item:active {
        background-color: var(--sq-nav-dropdown-item-color-active);
    }

.navbar[b-ykqowjcvw1]  .dropdown-menu .dropdown-item:hover,
.navbar[b-ykqowjcvw1]  .dropdown-menu .dropdown-item:focus { 
    background-color: rgba(255,255,255,0.1);
}

/* Auto-open Services dropdown when offcanvas is shown (overlay mode). */
/* Applies only on < md because offcanvas is inline on >= md. */
@media (max-width: 767.98px) {
    #mainNavbarOffcanvas.show .dropdown.default-open[b-ykqowjcvw1],
    #mainNavbarOffcanvas.showing .dropdown.default-open[b-ykqowjcvw1] {
        position: static; /* allow menu to flow */
    }

    #mainNavbarOffcanvas.show .dropdown.default-open > .dropdown-toggle[b-ykqowjcvw1],
    #mainNavbarOffcanvas.showing .dropdown.default-open > .dropdown-toggle[b-ykqowjcvw1] {
        aria-expanded: true; /* visual only; real aria is attribute, but keep style grouping */
    }

    #mainNavbarOffcanvas.show .dropdown.default-open > .dropdown-menu[b-ykqowjcvw1],
    #mainNavbarOffcanvas.showing .dropdown.default-open > .dropdown-menu[b-ykqowjcvw1] {
        display: block;
        position: static;
        margin-top: .25rem;
    }

    /* Bootstrap adds .show classes in JS path; ensure visibility even without it */
    #mainNavbarOffcanvas.show .dropdown.default-open[b-ykqowjcvw1],
    #mainNavbarOffcanvas.showing .dropdown.default-open[b-ykqowjcvw1] {
        /* simulate .show */
    }
}
/* /Components/Offering/OfferingCategory.razor.rz.scp.css */
/* Scoped styles for razor file */
.toc[b-rgz4xad9qf] {
    position: fixed !important; /* enforce sticky in case of overrides */
    top: var(--sq-navbar-offset, 64px) !important; /* stop below fixed header */
    z-index: 50;
    text-align: center;
    width: 100%;
    padding: 1rem;
    background-color: var(--bs-body-bg, #fff); /* ensure content under doesn't bleed through */
}

.toc[b-rgz4xad9qf]::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-5deg);
    width: 2500px;
    height: 550px;
    background: radial-gradient(circle, rgba(114, 102, 186, 0.4) 20%, transparent 90%);
    opacity: .4;
    z-index: 0; /* keep glow under the content */
    pointer-events: none; /* never block interactions */
}

/* Ensure content paints above the ::before layer */
.toc h1[b-rgz4xad9qf],
.toc nav[b-rgz4xad9qf] {
    position: relative;
    z-index: 1;
}

/* Theme-driven colors via CSS variables defined globally in app.css */
.toc h1[b-rgz4xad9qf] {
    color: var(--sq-hero-title-color, inherit);
}

.toc nav[b-rgz4xad9qf] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    width: 100%;
    border: none;
}

[b-rgz4xad9qf] .toc-scroll {
    grid-column: 2;          /* always occupy the middle 1fr track */
    width: 100%;             /* stretch to the grid track width */
    min-width: 0;            /* allow shrinking inside CSS grid */
    overflow-x: auto;
    overflow-y: hidden;
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
    display: flex;               /* flex container to allow centering when not overflowing */
    justify-content: flex-start; /* default align left for scrollable content */
    scroll-behavior: auto;     /* Let JS control animation for ultra smoothness */
}

    [b-rgz4xad9qf] .toc-scroll.centered {
        justify-content: center;
    }
    [b-rgz4xad9qf] .toc-scroll::-webkit-scrollbar {
        display: none;
    }

    [b-rgz4xad9qf] .toc-scroll ul {
        display: inline-flex;
        gap: .5rem .75rem;
        list-style: none;
        padding: 1rem 0.25rem; /* small horizontal pad so first/last chip not clipped under arrows */
        margin: 0;
    }

    [b-rgz4xad9qf] .toc-scroll li {
        flex: 0 0 auto;
    }

    [b-rgz4xad9qf] .toc-scroll button {
        display: inline-block;
        padding: .4rem .9rem;
        border-radius: 9999px;
        text-decoration: none;
        color: var(--bs-body-color, #212529);
        border: 1px solid var(--bs-border-color, #dee2e6);
        background-color: transparent;
        transition: color .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
        white-space: nowrap; /* prevent wrapping inside buttons */
    }

        [b-rgz4xad9qf] .toc-scroll button:hover,
        [b-rgz4xad9qf] .toc-scroll button:focus {
            color: var(--bs-primary, #0d6efd);
            border-color: var(--bs-primary, #0d6efd);
            background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), .06);
            box-shadow: 0 0 0 .15rem rgba(var(--bs-primary-rgb, 13, 110, 253), .12);
            outline: 0;
        }

/* Arrow buttons - icon only */
.toc .toc-nav[b-rgz4xad9qf] {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0 .1rem;
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    min-width: 1rem; 
    min-height: 2rem;
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    color: var(--sq-toc-arrow-color, var(--bs-primary)); /* theme-driven color */
}
.toc .toc-nav.is-hidden[b-rgz4xad9qf] { visibility: hidden; pointer-events: none; }

/* Set hero margin top*/
.offer-lead-margin-top[b-rgz4xad9qf] {
    margin-top:175px;
}

.offer-lead-content[b-rgz4xad9qf] {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

@media (min-width: 992px) {
    .offer-lead-content[b-rgz4xad9qf] {
        padding-left: 100px !important;
        padding-right: 100px !important;
    }
}

@media (min-width: 1500px) {
    .offer-lead-content[b-rgz4xad9qf] {
        padding-left: 200px !important;
        padding-right: 200px !important;
    }
}

@media (min-width: 2000px) {
    .offer-lead-content[b-rgz4xad9qf] {
        padding-left: 600px !important;
        padding-right: 600px !important;
    }
}

/* Ensure anchored sections aren't hidden under the fixed header/TOC */
[b-rgz4xad9qf] .scroll-id-anchor {
    scroll-margin-top: calc(var(--sq-navbar-offset, 64px) + 90px);
}
/* /Components/Offering/OfferingDetail.razor.rz.scp.css */
/* Anchor scroll offset sets where the content will appear under the service specific menu. */
.scroll-id-anchor[b-lofai5jfzt] {
    scroll-margin-top: calc(var(--sq-navbar-offset, 64px) + 175px);
}

/*
    When the screen size is smaller the services specific menu may wrap and increases in height so this add pixels to
    the offset to compensate for where the content will appear under teh menu.
*/
/*@media (max-width: 768px) {
    .scroll-id-anchor {
        scroll-margin-top: calc(var(--sq-navbar-offset, 64px) + 135px);*/ /* 48px approx. TOC height */
    /*}
}*/
/* /Components/Pages/Home.razor.rz.scp.css */
.home-section[b-djoh86bbxn] {
    position: relative;
    padding-top: 40px;
    padding-bottom: 0px;
    overflow: hidden;
    min-height: 100px;
}

.home-section[b-djoh86bbxn]::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translate(-50%, -40%) rotate(-5deg);
    width: 2000px;
    height: 125px;
    background: radial-gradient(circle, rgba(114, 102, 186, 0.4) 20%, transparent 90%);
    /*background-color: rgba(114, 102, 186, 0.20);*/
    opacity: .4;
    /*filter: blur(2px);*/
    z-index: 1;
}

.home-title[b-djoh86bbxn] {
    position: relative;
    padding-left: 40px !important;
    padding-right: 40px !important;
    padding-top: 5px !important;
    padding-bottom: 10px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    z-index: 2;
}

    /* Use ::deep so projected ChildContent h1 elements (which are not scoped) are targeted */
    .home-title[b-djoh86bbxn]  h1 {
        color: var(--sq-hero-title-color, inherit) !important;
    }
