body { font-family: sans-serif; } .grid { display: grid; grid-template-columns: 20% 70% 10%; grid-template-areas: "header header header" "nav main sidebar" "footer footer footer"; margin: auto; max-width: 70%; border-top: 1px solid #ccc; } nav { grid-area: nav; } main { grid-area: main; } aside { grid-area: sidebar; } header, footer, main, nav, aside { border-bottom: 1px solid #ccc; padding: .5rem 1rem .2rem 1rem; } header { grid-area: header; } footer { grid-area: footer; } .form-group { display: flex; margin-bottom: 1rem; } .form-group label { width: 30%; } .form-group input, .form-group select { width: 70%; padding: .1rem; } .form-group input[type=submit] { width: auto; }