* { box-sizing: border-box; } form { display: flex; flex-direction: column; max-width: 200px; width: 100%; align-items: flex-start; padding: 20px; } form label { margin-top: 16px; } form input[type="text"] { width: 100%; } form input[type="password"] { width: 100%; } form button { margin: 0 auto; } input.invalid.touched { border: 1px solid red; } input.hidden { display: none; }