@font-face { font-family: merriweather; src: url(/fonts/merriweather-regular.ttf); } * { box-sizing: border-box; } ::selection{ background-color: #ffffb2; color: #000; } body { margin: 0; font-family: merriweather, serif; min-height: 100vh; display: flex; flex-direction: column; align-items: center; line-height: 1.8; overflow-x: hidden; } 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 !important; 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 1rem; max-width: 100em; width: 100%; img { height: 7em; } h1 { font-size: 2em; a { color: #000; text-decoration: none; } } nav ul { flex-direction: row; } } main { text-align: center; margin-bottom: 5em; max-width: 50em; width: 100%; padding: 1rem; h1, h2 { margin-top: 2em; } a { color: #C61730; text-decoration: none; &:hover { text-decoration: underline; } } .hero { width: 100vw; position: relative; left: 50%; margin-left: -50vw; background-color: #C61730; color: #fff; padding: 3em 1rem; text-align: center; font-size: 1.1rem; h1 { margin-top: .5em; margin-bottom: 1.5em; font-size: 2rem; } } .contact { max-width: 25em; margin: 0 auto; &:after { content: ''; display: block; margin: 3em auto; max-width: 20em; height: 1px; background: #C61730; } &:last-child:after { content: none; } h2 { margin-bottom: .5em; font-weight: normal; } ul { list-style-type: none; padding: 0; margin-top: 0; } } form { width: 100%; display: grid; grid-template-columns: 50% 50%; grid-gap: 2em 1.5em; text-align: left; label { color: #777; } input, select { width: 100%; padding: .5em; border: 1px solid #000; font-size: 1.2em; font-family: merriweather, serif; background: inherit; &::placeholder { font-size: .7em; color: #bbb; } } input[type="checkbox"] { width: auto; } input[type="submit"] { background: #C61730; color: #fff; border: 0; padding: .8em; font-weight: bold; font-size: 1.2em; width: auto; margin: 0 auto; } .fullwidth { grid-column: 1/-1; } } } footer { background-color: #C61730; color: #fff; display: flex; justify-content: center; padding: 1em; margin-top: auto; width: 100%; p { border-left: 1px solid #fff; border-right: 1px solid #fff; text-align: center; display: inline-block; padding: 0 2em; a { color: inherit; text-decoration: inherit; &:hover { text-decoration: underline; } } } } .wrap { max-width: 48em; margin: 0 auto; } @media screen and (max-width: 999px) { header { flex-direction: column; img { display: none; } nav { width: 100%; ul { flex-direction: column; } } } main form { display: flex; flex-direction: column; div { margin-bottom: 2em; } } }