body.site-shell {
    color: var(--brand-text);
    background: #fff;
}

.site-shell ::selection {
    color: #fff;
    background: var(--brand-primary);
}

.site-shell h1,
.site-shell h2,
.site-shell h3,
.site-shell h4,
.site-shell h5,
.site-shell h6 {
    color: var(--brand-ink);
}

.site-shell p,
.site-shell .text-muted {
    color: var(--brand-muted) !important;
}

.site-shell a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.site-shell a:hover {
    color: var(--brand-primary-dark);
}

.site-shell .text-primary {
    color: var(--brand-primary) !important;
}

.site-shell .bg-primary,
.site-shell .badge-primary,
.site-shell .progress-bar {
    background-color: var(--brand-primary) !important;
}

.site-shell .border-primary {
    border-color: var(--brand-primary) !important;
}

.site-shell .gov-banner {
    background: var(--brand-surface) !important;
    border-bottom: 1px solid var(--brand-border);
}

.site-shell header .navbar {
    border-bottom: 1px solid var(--brand-border);
    box-shadow: 0 5px 18px rgba(16, 42, 76, .05);
}

.site-shell .navbar-light .navbar-nav .nav-link {
    color: var(--brand-ink);
}

.site-shell .navbar-light .navbar-nav .nav-link:hover,
.site-shell .navbar-light .navbar-nav .nav-link:focus,
.site-shell .navbar-light .navbar-nav .show > .nav-link {
    color: var(--brand-primary);
}

.site-shell .dropdown-menu {
    padding: 8px;
    border: 1px solid var(--brand-border);
    border-radius: 8px;
    box-shadow: 0 14px 32px rgba(16, 42, 76, .12);
}

.site-shell .dropdown-item {
    color: var(--brand-text);
    border-radius: 6px;
}

.site-shell .dropdown-item:hover,
.site-shell .dropdown-item:focus,
.site-shell .dropdown-item.active {
    color: var(--brand-primary-dark);
    background: var(--brand-surface-strong);
}

.site-shell .navbar-toggler {
    border: 1px solid var(--brand-border);
    border-radius: 8px;
}

.site-shell .navbar-toggler:focus {
    outline: 0;
    box-shadow: 0 0 0 3px var(--brand-shadow);
}

.site-shell .btn,
.site-shell .esButton,
.site-shell .apply {
    border-radius: 8px;
}

.site-shell .btn-primary,
.site-shell .esButton {
    color: #fff;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    box-shadow: 0 7px 18px var(--brand-shadow);
}

.site-shell .btn-primary:hover,
.site-shell .btn-primary:focus,
.site-shell .esButton:hover,
.site-shell .esButton:focus {
    color: #fff;
    background: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

.site-shell .btn-outline-primary {
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.site-shell .btn-outline-primary:hover,
.site-shell .btn-outline-primary:focus {
    color: #fff;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
}

.site-shell .btn-outline-secondary {
    color: var(--brand-primary-dark);
    background: #fff;
    border-color: #9fc7ee;
}

.site-shell .btn-outline-secondary:hover,
.site-shell .btn-outline-secondary:focus {
    color: #fff;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px var(--brand-shadow);
}

.site-shell .btn-outline-secondary:hover svg path[stroke],
.site-shell .btn-outline-secondary:focus svg path[stroke] {
    stroke: #fff !important;
}

.site-shell .btn-outline-secondary:hover svg path[fill]:not([fill="none"]),
.site-shell .btn-outline-secondary:focus svg path[fill]:not([fill="none"]) {
    fill: #fff !important;
}

.site-shell .btn-secondary {
    color: #fff;
    background: var(--brand-secondary-dark);
    border-color: var(--brand-secondary-dark);
}

.site-shell .form-control,
.site-shell .custom-select {
    color: var(--brand-text);
    border: 1px solid var(--brand-border);
    border-radius: 8px;
    background-color: #fff;
}

.site-shell .form-control:focus,
.site-shell .custom-select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 3px var(--brand-shadow);
}

.site-shell .custom-control-input:checked ~ .custom-control-label::before,
.site-shell .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.site-shell .card {
    overflow: hidden;
    border: 1px solid var(--brand-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(16, 42, 76, .08);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.site-shell .card:hover {
    transform: translateY(-3px);
    border-color: rgba(18, 110, 245, .35);
    box-shadow: 0 16px 34px rgba(16, 42, 76, .13);
}

.site-shell .card h3,
.site-shell .card-title {
    color: var(--brand-ink);
}

.site-shell .carousel-indicators li {
    width: 28px;
    height: 4px;
    border-radius: 4px;
    background-color: #b9d8f5;
}

.site-shell .carousel-indicators li.active {
    background-color: var(--brand-primary);
}

.site-shell .page-link {
    color: var(--brand-primary);
    border-color: var(--brand-border);
}

.site-shell .page-link:hover,
.site-shell .page-link:focus {
    color: var(--brand-primary-dark);
    background: var(--brand-surface-strong);
    border-color: var(--brand-border);
    box-shadow: none;
}

.site-shell .page-item.active .page-link,
.site-shell .list-group-item.active,
.site-shell .nav-pills .nav-link.active {
    color: #fff;
    background: var(--brand-primary);
    border-color: var(--brand-primary);
}

.site-shell main svg [fill="#4F4F4F"] {
    fill: var(--brand-primary);
}

.site-shell main svg [stroke="#4F4F4F"] {
    stroke: var(--brand-primary);
}

.site-shell .grad {
    background: linear-gradient(105deg, var(--brand-primary) 0%, #087ff3 55%, var(--brand-secondary) 100%);
}

.site-shell .grad p,
.site-shell .grad h2 {
    color: #fff !important;
}

.site-shell .grad .btn-light {
    color: var(--brand-primary-dark);
    border-color: #fff;
    background: #fff;
    font-weight: 600;
}

.site-shell .services-section {
    padding-top: 42px;
    padding-bottom: 48px;
}

.site-shell footer.bg-light {
    background: var(--brand-surface) !important;
    border-top: 1px solid var(--brand-border);
}

.site-shell footer h5 {
    color: var(--brand-ink);
}

.site-shell footer a {
    color: var(--brand-muted);
}

.site-shell footer a:hover {
    color: var(--brand-primary);
    text-decoration: none;
}

.site-shell footer .footer-social path {
    stroke: var(--brand-primary);
}

.site-shell footer .list-group a svg path {
    fill: var(--brand-primary);
}

#universalAccessBtn,
#accessibilityBar strong {
    background: linear-gradient(105deg, var(--brand-primary), var(--brand-secondary)) !important;
}

@supports selector(body:has(*)) {
    body.site-shell:has(iframe[src="about:blank"][width="64px"][height="60px"])::after {
        position: fixed;
        right: 20px;
        bottom: 18px;
        z-index: 2000000001;
        display: flex;
        width: 64px;
        height: 64px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #fff;
        background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
        box-shadow: 0 10px 24px rgba(18, 110, 245, .28);
        content: "\f075";
        font-family: "Font Awesome 5 Free";
        font-size: 22px;
        font-weight: 900;
        pointer-events: none;
    }
}

@media (max-width: 767.98px) {
    .site-shell .gov-banner {
        padding-right: 8px;
        padding-left: 8px;
    }

    .site-shell .gov-banner .row {
        row-gap: 6px;
    }

    .site-shell .services-section {
        padding-top: 24px;
        padding-bottom: 28px;
    }

    .site-shell #carouselIndicators {
        padding-top: 24px !important;
    }

    .site-shell #carouselIndicators .carousel-inner,
    .site-shell #carouselIndicators .carousel-item {
        height: auto !important;
    }

    .site-shell #carouselIndicators .carousel-item {
        padding-bottom: 44px;
    }

    .site-shell .card {
        margin: 10px 0;
    }
}

@media (max-width: 576px) {
    #accessibilityBar button#universalAccessBtn {
        top: auto !important;
        bottom: 96px !important;
        transform: translateX(-110%) !important;
    }
}
