header { display: flex; align-items: center; } header .brand { display: flex; align-items: center; max-width: 40%; } .brand h1 { margin: 0; } .brand img { height: 3em; } nav { flex: 1; } nav ol { display: flex; flex-wrap: wrap; padding-left: 0; text-align: center; list-style-type: none; } nav ol li { flex: 1; } body { display: flex; flex-direction: column; margin: 0; } .main { background: #f00; } footer { margin: auto; }