body { background-color: #fff; font-family: sans; } section { max-width: 500px; margin: 0 auto; background-color: #fff; padding: 1.5em; } form { position: relative; } form div { padding: 0.5em 0; display: grid; grid-gap: 1em; margin: auto; } fieldset { display: block; margin: 1em 0; border: 0; padding: 0; } fieldset#first { grid-column: 1; } fieldset#second { grid-column: 2; } legend h1 { font-size: 1.5em; margin: 0; } legend h3 { margin: 0; } label { grid-column: 1; text-align: right; } form div input { grid-column: 2; } select { grid-column: 2; } textarea { grid-column: 2; min-height: 4em; } input[type=submit] { padding: 0.5em 1em; position: absolute; right: 0; }