@font-face { font-family: merriweather; src: url(/fonts/merriweather-regular.ttf); } * { box-sizing: border-box; } body { margin: 0; font-family: merriweather, serif; min-height: 100vh; display: flex; flex-direction: column; align-items: center; line-height: 1.8; } nav ul { display: flex; flex-direction: column; list-style-type: none; padding: 0; li a { display: block; padding: .7em; border: 1px solid #000; margin: .5em; text-decoration: none; color: #000; font-size: 1.2em; text-align: center; &:hover { color: #fff; background-color: #C61730; border: 1px solid #C61730; } } } header { display: flex; align-items: center; justify-content: space-around; padding: 4em 0; max-width: 100em; width: 100vw; img { max-height: 7em; } h1 { font-size: 2em; } nav ul { flex-direction: row; } } main { text-align: center; h1, h2 { margin-top: 2em; } .hero { width: 100vw; position: relative; left: 50%; margin-left: -50vw; background-color: #C61730; color: #fff; padding: 4em 0; text-align: center; h1 { margin-top: .5em; margin-bottom: 2em; font-size: 1.6em; } } } footer { background-color: #C61730; color: #fff; display: flex; justify-content: center; padding: 1em; margin-top: auto; width: 100vw; p { border-left: 1px solid #fff; border-right: 1px solid #fff; text-align: center; display: inline-block; padding: .5em 2em; a { color: inherit; text-decoration: inherit; &:hover { text-decoration: underline; } } } } .wrap { max-width: 55em; margin: 0 auto; }