form {
    max-width: 500px;
    margin: auto;
    display: grid;
    grid-template-areas: 
    ". . username username username . ." 
    ". . password password password . ." 
    ". . submit submit . . ."
    ". . error error . . .";
    grid-template-columns: auto auto masonry auto auto auto auto;
}

h1 {
    grid-area: header;
    justify-self: center;
}

label[for="username"] {
    grid-area: username;
    display: grid;
    grid-template-columns: subgrid
}

label[for="password"] {
    grid-area: password;
    display: grid;
    grid-template-columns: subgrid
}

label span {
    padding: 5px;
    margin: 5px;
}

input[type="submit"] {
    grid-area: submit;
}

#login_error {
    grid-area: error;
    margin: auto;
}