body {
    display: flex;
    flex-direction: column;
    background-color: var(--md-background);
}

.home {
    width: min(46rem, 100%);
    margin: 0 auto auto;
    padding: 2.5rem 1.25rem 1.75rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.navbar-brand {
    margin: 0 0 2rem;
    color: var(--md-on-surface);
    font-weight: 600;
    letter-spacing: -0.01em;
}

#groupform {
    width: min(28rem, 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}

#groupform label {
    display: block;
    font-weight: 500;
}

#groupform #group {
    width: 100%;
    max-width: 24rem;
}

#groupform #submitbutton {
    min-width: 7.5rem;
}

.home #theme-toggle {
    margin-top: 1.5rem;
}

#errormessage {
    color: var(--md-danger);
    font-weight: 700;
    min-height: 1.2rem;
    margin: 1rem 0 0;
}

#public-groups {
    width: min(42rem, 100%);
    margin-top: 2rem;
}

#public-groups-table {
    margin: 0 auto;
}

#public-groups-table tr a {
    font-weight: 700;
}

.nogroups {
    display: none;
}

a {
    text-decoration: none;
    color: var(--md-primary);
}

a:hover {
    color: var(--md-primary-dark);
}

@media only screen and (max-device-width: 768px) {
    .home {
        padding: 1.25rem 0.75rem 1rem;
    }

    .navbar-brand {
        margin-bottom: 1.5rem;
    }
}
