/* ================= RESET ================= */
* {
  box-sizing: border-box; }

html, body {
  min-height: 100vh;
  min-width: 100%; }

html, body, div, header, main, footer, ul, li {
  margin: 0;
  padding: 0; }

.clear::after {
  content: "";
  clear: both;
  display: block; }

/* ================= Containers ================= */
html {
  background-color: #F2F2F2; }

header {
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 10;
  background-color: white;
  top: 0; }

.logo {
  padding: 15px 10px 5px;
  text-align: center;
  margin: 0 auto; }
  .logo img {
    max-height: 80px;
    width: 100%;
    max-width: 329px; }
  .logo span {
    font-size: 100%; }

.footer-wrap, footer {
  height: 50px; }

footer {
  overflow: hidden;
  background-color: #c1272c;
  bottom: 0;
  border-top: 2px white solid; }

/* ================= Navigation ================= */
nav ul {
  font-family: BradleyHandITC;
  transition: all 0.65s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;
  text-align: center;
  list-style: none; }
  nav ul a, nav ul a:visited {
    display: block;
    color: white;
    font-size: 1.5em;
    font-weight: bold;
    text-decoration: none;
    padding: 5px; }
  nav ul li:nth-child(3n+1) {
    background-color: #c1272c; }
  nav ul li:nth-child(3n+2) {
    background-color: #006837; }
  nav ul li:nth-child(3n+3) {
    background-color: #0071bc; }

/* ================= Forms ================= */
input, textarea, label {
  display: block;
  width: 100%;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
  margin: 0; }

label {
  margin-bottom: 5px; }

input, textarea {
  padding: 5px;
  font-family: "Trebuchet MS", sans-serif;
  font-size: 0.8em;
  background-color: #F2F2F2;
  margin-bottom: 10px; }

textarea {
  min-height: 10em; }

input[type=submit] {
  width: auto;
  background-color: #0071bc;
  color: white;
  font-size: 1em; }

.error, .succes {
  padding: 5px;
  font-size: 0.9em;
  margin-bottom: 10px; }

.error {
  background: #f88;
  border: #800 solid 2px;
  color: #800; }

.succes {
  background: #8f8;
  border: #080 solid 2px;
  color: #080; }

/* ================= Media Tags ================= */
@media screen and (min-height: 500px) {
  .logo img {
    max-width: 100%; }

  footer {
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 10; } }
@media screen and (min-width: 500px) {
  .logo {
    padding: 15px 0; } }
@font-face {
  font-family: BradleyHandITC;
  src: url("fonts/bradley.eot");
  src: url("fonts/bradley.eot#iefix") format("embedded-opentype"), url("fonts/bradley.woff") format("woff"), url("fonts/bradley.ttf") format("truetype"), url("fonts/bradley.svg#BradleyHandITC") format("svg"); }
html {
  font-family: "Trebuchet MS", sans-serif;
  font-size: 14px; }

.font-bradley {
  font-family: BradleyHandITC, "Comic Sans MS", sans-serif; }

a, a:visited {
  color: yellow; }

.header-wrap, header {
  height: 180px; }

.logo img {
  max-width: 100%;
  max-height: 80px; }

.subtitle {
  font-family: BradleyHandITC;
  color: #c1272c;
  text-align: center;
  font-weight: bold;
  line-height: 1.5em; }

body {
  background-color: darkgray;
  height: 100%; }

.page {
  min-height: 100vh;
  display: flex;
  flex-flow: column;
  max-width: 1366px;
  margin: 0 auto; }
  .page .header-wrap {
    flex: 0 1 auto; }
  .page main {
    flex: 1 1 auto; }
  .page .footer-wrap {
    flex: 0 1 50px; }

main {
  position: relative;
  background-image: url("../images/home.jpg");
  background-position: center top;
  background-size: cover; }
  main .pic-author {
    position: absolute;
    bottom: 10px;
    right: 10px;
    color: white;
    font-size: 0.8em;
    font-style: italic; }

/* ================= Media Tags ================= */
@media screen and (min-width: 500px) {
  .header-wrap, header {
    height: 125px; }

  .logo {
    padding: 15px 10px 5px; }

  nav ul {
    display: flex;
    justify-content: space-around; }
  nav li {
    width: calc(100% / 3); } }
@media screen and (min-width: 768px) {
  .header-wrap, header {
    height: 150px; }

  .logo {
    height: 110px;
    padding: 20px 10px 5px; }
    .logo img {
      max-height: 100%; }

  .subtitle {
    line-height: 40px;
    font-size: 1.5em; }

  nav ul {
    max-width: 750px;
    margin: 0 auto; }
  nav li {
    width: 100%;
    max-width: 200px; } }
@media screen and (min-width: 1020px) {
  .header-wrap, header {
    height: 250px; }

  .logo {
    height: 200px;
    padding: 40px 10px 10px; }

  .subtitle {
    font-size: 2em;
    line-height: 50px; }

  nav ul {
    max-width: 900px;
    margin: 0 auto; } }
