* {
  box-sizing: border-box; }

body {
  background: #f4f4f4;
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  margin-top: 11vh; }

/* Global */
.container {
  width: 80%;
  margin: auto;
  overflow: hidden; }

ul {
  padding: 0;
  margin: 0; }

.button_1 {
  height: 2rem;
  background: #2991f3;
  border-radius: 5px;
  border: 0;
  padding: 0 20px;
  color: #fff; }

.email_input {
  border: 0;
  border-radius: 5px; }

/* Header */
header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  color: #000;
  padding-top: 3vh;
  padding-bottom: 3vh;
  min-height: 10vh;
  border-bottom: #2991f3 3px solid; }

header .container {
  width: 100%; }

header a {
  color: #000;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 500; }

header li {
  display: inline;
  padding: 0 1rem; }

header #branding {
  float: left;
  margin-left: 10vh; }

header #branding a h1 {
  margin: 0;
  color: #000000; }

header nav {
  float: right;
  margin-top: 2vh;
  margin-right: 5vh; }

header .highlight,
header .current a {
  color: #2991f3;
  font-weight: bold; }

header a:hover {
  transition: all 0.5s ease-out;
  color: #2991f3; }

/* Showcase */
#showcase {
  margin-top: 15vh;
  min-height: 400px;
  background: url("../img/showcase.jpg") no-repeat 0;
  text-align: center;
  color: #fff; }

#showcase h1 {
  margin-top: 100px;
  font-size: 55px; }

#showcase p {
  font-size: 20px; }

/* Newsletter */
#newsletter {
  padding: 15px;
  color: #fff;
  background: #35424a; }

#newsletter h1 {
  float: left; }

#newsletter form {
  float: right;
  margin-top: 15px; }

#newsletter input[type="email"] {
  padding: 4px;
  height: 2rem;
  width: 20rem; }

/* Boxes */
#boxes {
  margin-top: 20px; }

#boxes .box {
  float: left;
  text-align: center;
  width: 30%;
  padding: 1rem; }

#boxes .box img {
  width: 90px; }

footer {
  color: #000;
  border-top: #2991f3 3px solid;
  background: #fff;
  text-align: center;
  height: 70px;
  padding-top: 0.5rem; }

@media screen and (min-width: 1171px) {
  #showcase {
    margin-top: 0;
    min-height: 400px;
    background: url("../img/showcase.jpg") no-repeat 0;
    text-align: center;
    color: #fff; } }

@media screen and (max-width: 768px) {
  header #branding,
  header nav,
  header nav li,
  #newsletter h1,
  #newsletter form,
  #boxes .box {
    float: none;
    text-align: center;
    width: 100%;
    margin: 0; }
  header {
    padding-bottom: 20px; }
  #showcase h1 {
    margin-top: 40px; }
  #newsletter button {
    display: block;
    width: 100%; }
  #newsletter form input[type="email"] {
    width: 100%;
    margin-bottom: 5px; } }

@media screen and (max-width: 500px) {
  header #branding,
  header nav,
  header nav li,
  #newsletter h1,
  #newsletter form,
  #boxes .box {
    float: none;
    text-align: center;
    width: 100%; }
  header {
    padding-bottom: 20px; }
  #showcase h1 {
    margin-top: 15vh; }
  #newsletter button {
    display: block;
    width: 100%; }
  #newsletter form input[type="email"] {
    width: 100%;
    margin-bottom: 5px; } }
