* {
  box-sizing: border-box;
}

main h1 {
  text-align: center;
  padding-bottom: 5px;
}

a,
a:visited {
  color: #dd1229;
}

a:hover,
a:focus {
  color: black;
}

span.required::after,
label.required::after {
	color: #dd1229;
	content: " *";
}

body {
  font-family: sans-serif;
  font-size: 1em;
}

header .logo {
  width: 50%;
  margin: 0 auto;
}

header .logo img {
  width: 100%;
}

main {
  padding: 0 5px;
}

figure img {
  width: 100%;
}

figure figcaption {
  text-align: center;
}

header {
  padding-bottom: 10px;
  border-bottom: 20px solid #ffda39;
}

footer {
  border-top: 10px solid #ffda39;
  min-height: 50px;
  padding: 20px;
  margin-top: 50px;
}

footer .logo {
  width: 25%;
  margin: 0 auto;
}

footer .logo img {
  width: 100%;
}

footer .copyright {
  width: 100%;
  text-align: center;
  float: left;
}

footer .link {
  float: right;
  width: 100%;
  text-align: center;
}

footer .link a {
  color: black;
}

footer .link a:hover,
footer .link a:focus {
  color: #dd1229;
}

footer .link a:active {
  color: #dd1229;
}

table {
  margin: 0 auto;
  width: 50%;
  text-align: center;
}

table thead {
  color: white;
  background: black;
}

table tbody tr {
  border: 1px solid black;
}

label {
  display: block;
  margin-bottom: 5px;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 700;
}

.form-line {
  margin: 0 0 15px 0;
}

textarea,
input {
  width: 100%;
  border: 1px solid grey;
  padding: 5px;
}

input[type="submit"] {
  font-size: larger;
  font-weight: bolder;
  padding: 10px;
  background: black;
  color: white;
  cursor: pointer;
  text-transform: uppercase;
  display: block;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
  background: #333;
}

input[type="submit"]:active {
  background: white;
  color: black;
}

input[type="submit"]:disabled {
	background: #999;
	color: #CCC;
}

figure {
  width: 50%;
  margin: 0 auto;
}

figure figcaption {
  font-size: small;
}

.legal {
  font-size: small;
}

@media screen and (min-width: 970px) {
  input {
    width: initial;
  }

  table {
    width: 30%;
    margin: 0 auto;
  }

  main,
  header,
  footer {
    width: 960px;
    margin: 10px auto;
  }

  footer { margin-top: 50px; }

  footer .logo {
    margin: 0;
    width: 25%;
  }

  footer .copyright {
    text-align: left;
    width: 50%;
    float: left;
  }

  footer .link {
    float: right;
    width: 50%;
    text-align: right;
  }

  input[type="submit"] {
    width: 25%;
    margin: 0 auto;
  }
}
