.grid {
    display: grid;
    grid-gap: 0.5rem;
}

.grid__user-watching,
.grid__user-items,
.grid__results,
.grid__reportees {
    grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 576px) {
    .grid__user-watching,
    .grid__user-items,
    .grid__results,
    .grid__reportees {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width: 768px) {
    .grid__user-watching,
    .grid__user-items,
    .grid__results,
    .grid__reportees {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width: 992px) {
    .grid__user-watching,
    .grid__user-items,
    .grid__results,
    .grid__reportees {
        grid-template-columns: repeat(4, 1fr)
    }
}

.container {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    width: 100%;
    padding-right: calc(var(--bs-gutter-x)*.5);
    padding-left: calc(var(--bs-gutter-x)*.5);
    margin-right: auto;
    margin-left: auto;
}

.row {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1*var(--bs-gutter-y));
    margin-right: calc(-0.5*var(--bs-gutter-x));
    margin-left: calc(-0.5*var(--bs-gutter-x));
}

.row > * {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x)*.5);
    padding-left: calc(var(--bs-gutter-x)*.5);
    margin-top: var(--bs-gutter-y);
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }

    .col-md-3 {
        flex: 0 0 auto;
        width: 25%;
    }

    .col-md-6 {
        flex: 0 0 auto;
        width: 50%;
    }

    .col-md-9 {
        flex: 0 0 auto;
        width: 75%;
    }

    .col-md-12 {
        flex: 0 0 auto;
        width: 100%;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }

    .col-lg-5 {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .col-lg-7 {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .order-lg-1 {
        order: 1;
    }

    nav form {
        flex: 0 0 auto;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }

    .col-xl-4 {
        flex: 0 0 auto;
        width: 33.33333333%;
    }

    .col-xl-8 {
        flex: 0 0 auto;
        width: 66.66666667%;
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}
