* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: #eee;
    font-family: 'helvetica neue', helvetica, arial, sans-serif;
    color: #222;
}

#form {
    width: 100vw;
    max-width: 700px;
    margin: 0px auto;
    padding: 5vw;
    box-sizing: border-box;
}

.form-field {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 1rem 0;
}
label, input {
    width: 50%;
    padding: 0.5rem;
    box-sizing: border-box;
    justify-content: space-between;
    font-size: 1.1rem;
}
label {
    text-align: right;
}
input {
    border: 2px solid #aaa;
    border-radius: 2px;
}
.error-message {
    flex: 0 0 100%;
    margin-left: 50%;
    color: red;
}