:root {
    --law-color-black: #000;
    --law-color-white: #fff;
    --law-color-blue: #00274c;
    --law-color-gold: #ffcb05;
    --law-color-green: #218014;
    --law-color-surface-muted: #eff0f1;
    --law-color-border-muted: rgba(0, 0, 0, 0.125);
    --law-color-border-strong: #333;
    --law-color-text-muted: #828282;
    --law-color-badge-neutral-bg: #dee2e6;
    --law-color-badge-neutral-text: #343a40;
    --law-color-badge-primary-bg: #cfe2ff;
    --law-color-badge-primary-text: #052c65;
    --law-shadow-fixed: 0 -1px 2px rgba(0, 0, 0, 0.2);
    --law-shadow-raised: 0 1px 3px rgba(0, 0, 0, 0.2);
    --law-shadow-icon: 4px 4px 6px #adadad;
    --law-radius-sm: 4px;
    --law-radius-md: 6px;
    --law-spacing-inline-sm: 5px;
    --law-spacing-md: 1rem;
    --law-section-gap: 2em;
    --law-site-title-size: 48px;
    --law-group-title-height: 80px;
    --law-accordion-toggle-width: 80px;
}

body {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    justify-content: space-between;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: var(--law-shadow-fixed);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.app-title {
    font-size: var(--law-site-title-size);
}

.loading-bar {
    position: fixed;
    top: calc(50% - 3px);
    left: calc(50% - 250px);
    width: 500px;
    height: 6px;
    background-color: var(--law-color-white);
    overflow: hidden;
    box-shadow: var(--law-shadow-raised);
}

.loading-indicator {
    position: fixed;
    inset: 0;
}

    .loading-bar::after {
        content: '';
        display: block;
        width: 200px;
        height: 100%;
        background-color: var(--law-color-gold);
        animation: progressbar-slide 1s infinite;
        animation-timing-function: ease-in-out;
    }

@keyframes progressbar-slide {
    0% {
        transform: translateX(-200px);
    }

    70% {
        transform: translateX(500px);
    }

    100% {
        transform: translateX(500px);
    }
}

.loading-image {
    position: fixed;
    top: calc(50% - 50px);
    left: calc(50% - 70px);
    width: 500px;
}

label {
    font-weight: bold;
}

.text-pre-line {
    white-space: pre-line;
}

.text-pre-wrap {
    white-space: pre-wrap;
}

.law-bg-light {
    background-color: var(--law-color-badge-neutral-bg);
    color: var(--law-color-badge-neutral-text);
}

.law-bg-primary {
    background-color: var(--law-color-badge-primary-bg);
    color: var(--law-color-badge-primary-text);
}

.hs_formrow {
    background-color: var(--law-color-surface-muted);
    padding: var(--law-spacing-md);
}

.btn-link:hover {
    cursor: pointer;
}

.accordion-button-reset {
    width: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
}

.icon-button {
    border: 0;
    background: transparent;
    padding: 0;
}

.results {
    border-top: 2px solid var(--law-color-border-strong);
    border-radius: 0;
}

.result-item {
    border-bottom: 1px solid var(--law-color-border-muted);
}

.result-item .badge {
    margin-right: var(--law-spacing-inline-sm);
}

.result-item h3 {
    font-weight: 300;
    font-size: 2.44444rem;
    margin-bottom: 0.5em;
}

.result-item h3::after {
    content: '';
    display: block;
    width: 1.4em;
    border-bottom: solid 1px var(--law-color-green);
    left: 0;
    bottom: 0;
    margin-top: 0.25em;
}

    .result-item h4 {
        font-weight: 300;
        font-size: 1.25rem;
        margin-bottom: 0.5em;
    }

.group-heading::after {
    display: none !important;
}

.group-title {
    height: var(--law-group-title-height);
    border-bottom: 1px solid var(--law-color-gold);
}

.group-items {
    border-bottom: 1px solid var(--law-color-gold);
}

.accordion-toggle {
    height: 100%;
    width: var(--law-accordion-toggle-width);
    background-color: var(--law-color-surface-muted);
    margin-left: auto;
}

.accordion-toggle .fa {
    font-size: 1.33333rem;
    color: var(--law-color-green);
    margin: auto;
}

.accordion-toggle:hover,
.accordion-footer:hover {
    cursor: pointer;
}

.accordion-footer {
    font-weight: bold;
    background-color: var(--law-color-surface-muted);
}

.class-group-name {
    margin-bottom: 0 !important;
}

.accordion-close-icon {
    color: var(--law-color-green);
}

.accordion-close-label {
    padding: 0 var(--law-spacing-inline-sm);
}

.rz-scheduler-nav {
    display: none !important;
}

.rz-column-title-content {
    white-space: normal !important;
    word-wrap: break-word !important;
}

.rz-notification {
    z-index: 2100 !important;
}

.rz-event-content {
    background-color: var(--law-color-blue) !important;
}

.rz-switch:focus-within {
    outline: 3px solid #0d6efd;
    outline-offset: 2px;
    border-radius: 999px;
}