.main {
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 20px;
}

nav {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 0 1rem;
}

.nav-brand {
    text-align: center;
}

.nav-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.wide-input {
    width: 300px;
}

.row-container {
    display: flex;            /* Places elements side-by-side */
    align-items: center;      /* Vertically aligns them in the middle */
    gap: 12px;                /* Adds space between */
}

.intro-text {
    width: 100%;
    box-sizing: border-box;
}

@media (min-width: 1024px) {
    .intro-text {
        max-width: 800px;
        padding: 0;
    }
}

.login-container {
    display: flex;
    width: 100%;
}


.login-left-child {
    flex: 0 0 20%; /* Takes exactly X% width */
    box-sizing: border-box;
    padding-right: 10px;
}

.login-right-child {
    flex: 0 0 80%; /* Takes exactly X% width */
    box-sizing: border-box;
}

caption {
    text-align: left;
    font-size: 1.2em;
    font-weight: 800;
    margin-bottom: 12px;
}