body > main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100vh - 7rem);
    padding: 1rem 0;
  }

  article {
    padding: 0;
    overflow: hidden;
  }

  article div {
    padding: 1rem;
  }

  @media (min-width: 576px) {

    body > main {
      padding: 1.25rem 0;
    }

    article div {
      padding: 1.25rem;
    }
  }

  @media (min-width: 768px) {

    body > main {
      padding: 1.5rem 0;
    }

    article div {
      padding: 1.5rem;
    }
  }

  @media (min-width: 992px) {

    body > main {
      padding: 1.75rem 0;
    }

    article div {
      padding: 1.75rem;
    }
  }

  @media (min-width: 1200px) {

    body > main {
      padding: 2rem 0;
    }

    article div {
      padding: 2rem;
    }
  }

  /* Hero Image */
  article div:nth-of-type(2) {
    display: none;
    background-color: #374956;
    background-position: center;
    background-size: cover;
  }

  @media (min-width: 992px) {
    .grid > div:nth-of-type(2) {
      display: block;
    }
  }

  /* Footer */
  body > footer {
    padding: 1rem 0;
    text-align: center;
  }

  div.alert {
    padding: 1rem 0;
    text-align: center;
    background: #6d0000;
  }