.as-grid-table {
    display: grid;

    & > :is(thead, tbody) {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: 1 / -1;

        & > tr {
            display: grid;
            grid-template-columns: subgrid;
            grid-column: 1 / -1;

            & > :is(th, td) {
                display: block;

                &[colspan] {
                    grid-column: span attr(colspan);
                }
                /* ^ isnt supported in firefox yet */
                /* ^ isnt supported in safari yet */
                &[colspan="2"] {
                    grid-column: span 2;
                }
                &[colspan="3"] {
                    grid-column: span 3;
                }

                &+ :is(th, td) {
                    border-left-width: 0;
                }

            }

            &+tr :is(th, td) {
                border-top-width: 0;
            }
        }
    }
}
.as-grid-table--a1 {
    grid-template-columns: auto 1fr;
    gap: 0.25rem;
}

form.m-usa-form--inline {
    display: flex;
    align-items: center;
    gap: 1rem;

    & input.usa-input {
        margin-top: 0;
    }
    & select.usa-select {
        margin-top: 0;
    }
    & button.usa-button {
        margin-top: 0;
        white-space: nowrap;
    }
}

.m-usa-button--thin {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.usa-button-group {
    margin: 1rem -0.25rem;
}

li.usa-button-group__item > form.usa-form {
    margin: 0;
}

.m-usa-tag--green-cool-vivid {
    background-color: #70e17b; /* green-cool-20v */
    color: #154c21; /* green-cool-70v */
}

.usa-alert {
    margin: 1rem 0;
}

.usa-nav + .usa-nav {
    border-top-width: 0;
}

.usa-tag > img:first-child {
    vertical-align: sub;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body > div {
    flex-grow: 1;
}

.usa-checkbox {
    background-color: inherit;
}

.usa-collection--condensed .usa-collection__item {
    padding-top: 0;
    margin: 1rem 0;
    max-width: unset;
}

/* partial mobile reset */
/* default sheet turns nav into a sidebar */
.usa-nav {
    display: block;
    position: unset;
    width: unset;
    padding: initial;
}

.usa-form .usa-button {
    margin-top: 1rem;
}

kbd {
    font-size: .8rem;
    padding: .1rem;
    background-color: var(--gray-cool-2);
    border: solid 1px var(--gray-cool-20);
    border-bottom-color: var(--gray-cool-20);
    box-shadow: inset 0 -1px 0 var(--gray-cool-20);
    border-radius: .25rem;
}

/* fixed in v3.12.0 */
/* https://github.com/uswds/uswds/commit/89954ed11b715c89093257028767f70923997c84 */
.usa-checkbox__label {
    display: inline-block;
}
