.asw-menu,
.asw-widget {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-weight: 400;
    -webkit-font-smoothing: antialiased
}

.asw-menu *,
.asw-widget * {
    box-sizing: border-box !important
}

.asw-menu-btn {
    position: fixed;
    z-index: 500000;
    left: 30px;
    bottom: 30px;
    box-shadow: 0 5px 15px 0 rgb(37 44 97 / 15%), 0 2px 4px 0 rgb(93 100 148 / 20%);
    transition: transform .2s ease;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    display: flex;
    cursor: pointer;
    border: 3px solid #fff !important;
    outline: 5px solid #0048ff !important;
    text-decoration: none !important;
    background: #326cff !important;
    background: linear-gradient(96deg, #326cff 0, #0048ff 100%) !important
}

.asw-menu-btn svg {
    width: 36px;
    height: 36px;
    min-height: 36px;
    min-width: 36px;
    max-width: 36px;
    max-height: 36px;
    background: 0 0 !important
}

.asw-menu-btn:hover {
    transform: scale(1.05)
}

@media only screen and (max-width:768px) {
    .asw-menu-btn {
        width: 42px;
        height: 42px
    }

    .asw-menu-btn svg {
        width: 26px;
        height: 26px;
        min-height: 26px;
        min-width: 26px;
        max-width: 26px;
        max-height: 26px
    }
}

.asw-menu {
    position: fixed;
    left: 0;
    top: 0;
    box-shadow: 0 0 20px #00000080;
    opacity: 1;
    transition: .3s;
    z-index: 500000;
    overflow: hidden;
    background: #eff1f5;
    width: 500px;
    line-height: 1;
    font-size: 16px;
    height: 100%;
    letter-spacing: .015em
}

.asw-menu * {
    color: #000 !important;
    font-family: inherit;
    padding: 0;
    margin: 0;
    line-height: 1 !important;
    letter-spacing: normal !important
}

.asw-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 18px;
    padding-right: 18px;
    height: 55px;
    font-weight: 700 !important;
    background-color: #0848ca !important
}

.asw-menu-title {
    font-size: 16px !important;
    color: #fff !important
}

.asw-menu-header svg {
    fill: #0848ca !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important
}

.asw-menu-header>div {
    display: flex
}

.asw-menu-header div[role=button] {
    padding: 5px;
    background: #fff !important;
    cursor: pointer;
    border-radius: 50%;
    transition: opacity .3s ease
}

.asw-menu-header div[role=button]:hover {
    opacity: .8
}

.asw-card {
    margin: 0 15px 20px
}

.asw-card-title {
    font-size: 14px !important;
    padding: 15px 0;
    font-weight: 600 !important;
    opacity: .8
}

.asw-menu .asw-select {
    width: 100% !important;
    padding: 0 15px !important;
    font-size: 16px !important;
    font-family: inherit !important;
    font-weight: 600 !important;
    border-radius: 45px !important;
    background: #fff !important;
    border: none !important;
    min-height: 45px !important;
    max-height: 45px !important;
    height: 45px !important;
    color: inherit !important
}

.asw-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem
}

.asw-btn {
    aspect-ratio: 6/5;
    border-radius: 12px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    color: #333;
    font-size: 16px !important;
    background: #fff !important;
    border: 2px solid transparent !important;
    transition: border-color .2s ease;
    cursor: pointer;
    word-break: break-word;
    gap: 10px;
    position: relative;
    width: auto !important;
    height: auto !important
}

.asw-adjust-font .asw-label div,
.asw-btn .asw-translate {
    font-size: 14px !important;
    font-weight: 600 !important
}

.asw-minus,
.asw-plus {
    background-color: #eff1f5 !important;
    border: 2px solid transparent;
    transition: border .2s ease
}

.asw-minus:hover,
.asw-plus:hover {
    border-color: #0848ca !important
}

.asw-amount {
    font-size: 18px !important;
    font-weight: 600 !important
}

.asw-adjust-font svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important
}

.asw-btn svg {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important
}

.asw-btn.asw-selected,
.asw-btn:hover {
    border-color: #0848ca !important
}

.asw-btn.asw-selected span,
.asw-btn.asw-selected svg {
    fill: #0848ca !important;
    color: #0848ca !important
}

.asw-btn.asw-selected:after {
    content: "✓";
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #0848ca !important;
    color: #fff;
    padding: 6px;
    font-size: 10px;
    width: 18px;
    height: 18px;
    border-radius: 100%;
    line-height: 6px
}

.asw-footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    padding: 20px;
    text-align: center;
    border-top: 2px solid #eff1f5
}

.asw-footer a {
    font-size: 16px !important;
    text-decoration: none !important;
    color: #000 !important;
    background: 0 0 !important;
    font-weight: 600 !important
}

.asw-footer a:hover,
.asw-footer a:hover span {
    color: #0848ca !important
}

.asw-menu-content {
    overflow: scroll;
    max-height: calc(100% - 80px);
    padding: 30px 0 15px
}

.asw-adjust-font {
    background: #fff;
    padding: 20px;
    margin-bottom: 20px
}

.asw-adjust-font .asw-label {
    display: flex;
    justify-content: flex-start
}

.asw-adjust-font>div {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    align-items: center;
    font-size: 15px
}

.asw-adjust-font .asw-label div {
    font-size: 15px !important
}

.asw-adjust-font div[role=button] {
    background: #eff1f5 !important;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

.asw-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000
}

@media only screen and (max-width:560px) {
    .asw-menu {
        width: 100%
    }
}

@media only screen and (max-width:420px) {
    .asw-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .5rem
    }
}

.asw-rg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 0;
    pointer-events: none;
    background-color: rgba(0, 0, 0, .8);
    z-index: 1000000
}

/* Static Accessiblity Styles */
@font-face {
    font-family: OpenDyslexic3;
    src: url("/fonts/OpenDyslexic3-Regular.woff") format("woff"),
        url("/fonts/OpenDyslexic3-Regular.ttf") format("truetype");
}

html.asw-readable-font *:not(.material-icons):not(.fa) {
    font-family: OpenDyslexic3, Comic Sans MS, Arial, Helvetica, sans-serif !important;
}

html.asw-big-cursor body * {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='98px' height='98px' viewBox='0 0 48 48'%3E%3Cpath fill='%23E0E0E0' d='M27.8 39.7c-.1 0-.2 0-.4-.1s-.4-.3-.6-.5l-3.7-8.6-4.5 4.2c-.1.2-.3.3-.6.3-.1 0-.3 0-.4-.1-.3-.1-.6-.5-.6-.9V12c0-.4.2-.8.6-.9.1-.1.3-.1.4-.1.2 0 .5.1.7.3l16 15c.3.3.4.7.3 1.1-.1.4-.5.6-.9.7l-6.3.6 3.9 8.5c.1.2.1.5 0 .8-.1.2-.3.5-.5.6l-2.9 1.3c-.2-.2-.4-.2-.5-.2z'/%3E%3Cpath fill='%23212121' d='m18 12 16 15-7.7.7 4.5 9.8-2.9 1.3-4.3-9.9L18 34V12m0-2c-.3 0-.5.1-.8.2-.7.3-1.2 1-1.2 1.8v22c0 .8.5 1.5 1.2 1.8.3.2.6.2.8.2.5 0 1-.2 1.4-.5l3.4-3.2 3.1 7.3c.2.5.6.9 1.1 1.1.2.1.5.1.7.1.3 0 .5-.1.8-.2l2.9-1.3c.5-.2.9-.6 1.1-1.1.2-.5.2-1.1 0-1.5l-3.3-7.2 4.9-.4c.8-.1 1.5-.6 1.7-1.3.3-.7.1-1.6-.5-2.1l-16-15c-.3-.5-.8-.7-1.3-.7z'/%3E%3C/svg%3E") 40 15, auto !important;
}

html.asw-highlight-title h1,
html.asw-highlight-title h2,
html.asw-highlight-title h3,
html.asw-highlight-title h4,
html.asw-highlight-title h5,
html.asw-highlight-title h6,
html.asw-highlight-title .wsite-headline,
html.asw-highlight-title .wsite-content-title {
    outline: 2px solid #0048ff !important;
    outline-offset: 2px !important;
}

html.asw-highlight-links a[href] {
    outline: 2px solid #0048ff !important;
    outline-offset: 2px !important;
}

html.asw-letter-spacing *:not(.material-icons):not(.asw-menu):not(.asw-menu *) {
    letter-spacing: 2px !important;
}

html.asw-line-height *:not(.material-icons):not(.asw-menu):not(.asw-menu *) {
    line-height: 3 !important;
}

html.asw-font-weight *:not(.material-icons):not(.asw-menu):not(.asw-menu *) {
    font-weight: 700 !important;
}

html.asw-stop-animations * {
    transition: none !important;
    animation-fill-mode: forwards !important;
    animation-iteration-count: 1 !important;
    animation-duration: .01s !important;
}

/* Contrast Modes */
html[data-asw-contrast="dark-contrast"] h1,
html[data-asw-contrast="dark-contrast"] h2,
html[data-asw-contrast="dark-contrast"] h3,
html[data-asw-contrast="dark-contrast"] h4,
html[data-asw-contrast="dark-contrast"] h5,
html[data-asw-contrast="dark-contrast"] h6,
html[data-asw-contrast="dark-contrast"] .wsite-headline,
html[data-asw-contrast="dark-contrast"] .wsite-content-title,
html[data-asw-contrast="dark-contrast"] img,
html[data-asw-contrast="dark-contrast"] p,
html[data-asw-contrast="dark-contrast"] i,
html[data-asw-contrast="dark-contrast"] svg,
html[data-asw-contrast="dark-contrast"] a,
html[data-asw-contrast="dark-contrast"] button:not(.asw-btn),
html[data-asw-contrast="dark-contrast"] label,
html[data-asw-contrast="dark-contrast"] li,
html[data-asw-contrast="dark-contrast"] ol {
    color: #FFF !important;
    fill: #FFF !important;
    background-color: #000 !important;
}

html[data-asw-contrast="light-contrast"] h1,
html[data-asw-contrast="light-contrast"] h2,
html[data-asw-contrast="light-contrast"] h3,
html[data-asw-contrast="light-contrast"] h4,
html[data-asw-contrast="light-contrast"] h5,
html[data-asw-contrast="light-contrast"] h6,
html[data-asw-contrast="light-contrast"] .wsite-headline,
html[data-asw-contrast="light-contrast"] .wsite-content-title,
html[data-asw-contrast="light-contrast"] img,
html[data-asw-contrast="light-contrast"] p,
html[data-asw-contrast="light-contrast"] i,
html[data-asw-contrast="light-contrast"] svg,
html[data-asw-contrast="light-contrast"] a,
html[data-asw-contrast="light-contrast"] button:not(.asw-btn),
html[data-asw-contrast="light-contrast"] label,
html[data-asw-contrast="light-contrast"] li,
html[data-asw-contrast="light-contrast"] ol {
    color: #000 !important;
    fill: #000 !important;
    background-color: #FFF !important;
}

html[data-asw-contrast="high-contrast"] {
    filter: contrast(125%) !important;
}

html[data-asw-contrast="high-saturation"] {
    filter: saturate(200%) !important;
}

html[data-asw-contrast="low-saturation"] {
    filter: saturate(50%) !important;
}

html[data-asw-contrast="monochrome"] {
    filter: grayscale(100%) !important;
}

/* Refactored Inline Styles from accessibility.min.js */
.asw-menu-btn svg {
    fill: white !important;
}

.asw-menu-header>div:last-child {
    gap: 15px;
}

.asw-adjust-font .asw-label {
    margin: 0 !important;
}

.asw-adjust-font .asw-label svg {
    margin-right: 15px;
}

.asw-footer a span {
    font-weight: 700 !important;
    color: inherit;
}

.asw-rg-bottom {
    top: auto !important;
    bottom: 0 !important;
}

/* Accessibility & Active State Styles */
.swiper-pagination-bullet-active,
.hero-slider .swiper-pagination-bullet-active {
    background-color: #FFA500 !important;
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
}

.swiper-pagination-bullet-active:focus,
.swiper-pagination-bullet-active:focus-visible,
.hero-slider .swiper-pagination-bullet-active:focus,
.hero-slider .swiper-pagination-bullet-active:focus-visible,
.hero-slider .swiper-pagination-bullet:focus,
.hero-slider .swiper-pagination-bullet:focus-visible,
.swiper-pagination-bullet:focus,
.swiper-pagination-bullet:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
}

/* Footer and Blog cards / carousel focus indicator - match Mail Us */
.section-footer .hsl-carousel-item a:focus,
.section-footer .hsl-carousel-item a:focus-visible,
.section-footer .hsl-carousel-nav-btn:focus,
.section-footer .hsl-carousel-nav-btn:focus-visible,
.section-blog .hsl-carousel-item a:focus,
.section-blog .hsl-carousel-item a:focus-visible,
.section-blog .hsl-carousel-nav-btn:focus,
.section-blog .hsl-carousel-nav-btn:focus-visible,
a.carousel2-link:focus,
a.carousel2-link:focus-visible,
.carousel2 .item a:focus,
.carousel2 .item a:focus-visible,
.focusedd-content:focus,
.focusedd-content:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
    border-radius: 8px !important;
}

.section-blog .hsl-carousel-item a:focus .card,
.section-blog .hsl-carousel-item a:focus-visible .card,
.carousel2 .item a:focus-visible .card,
.carousel2 .item a:focus .card {
    border: none !important;
}

.desktop-view .navbar-main .nav-item:hover .nav-link,
.desktop-view .navbar-main .nav-item.active .nav-link,
.desktop-view .navbar-nav .nav-link.active {
    color: #FFA500 !important;
    border-bottom: 2px solid #FFA500 !important;
}

.offleft {
    position: absolute;
    left: -9999px;
}