/*------------------------------------*\
    #VARS
\*------------------------------------*/

/*------------------------------------*
    #KEYFRAMES
\*------------------------------------*/

@-webkit-keyframes rgbshift {
  0% {
    text-shadow: 3px 5px 0px #bbb;
    box-shadow: 3px 5px 0px #bbb;
    opacity: 1;
  }
  4% {
    text-shadow:
      1px 1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      -1px 2px 0px rgba(0, 0, 255, .5);
    box-shadow:
      1px 1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      -1px 2px 0px rgba(0, 0, 255, .5);
    opacity: 1;
  }
  7% {
    text-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    box-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    opacity: 0.6;
  }
  9% {
    text-shadow: none;
    box-shadow: none;
    opacity: 1;
  }
  58% {
    text-shadow: none;
    box-shadow: none;
    opacity: 1;
  }
  59% {
    text-shadow: -3px -4px 0px #bbb;
    box-shadow: -3px -4px 0px #bbb;
    opacity: 0.6;
  }
  62% {
    text-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    box-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    opacity: 1;
  }
  67% {
    text-shadow: none;
    box-shadow: none;
  }
}

@keyframes rgbshift {
  0% {
    text-shadow: 3px 5px 0px #bbb;
    box-shadow: 3px 5px 0px #bbb;
    opacity: 1;
  }
  4% {
    text-shadow:
      1px 1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      -1px 2px 0px rgba(0, 0, 255, .5);
    box-shadow:
      1px 1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      -1px 2px 0px rgba(0, 0, 255, .5);
    opacity: 1;
  }
  7% {
    text-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    box-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    opacity: 0.6;
  }
  9% {
    text-shadow: none;
    box-shadow: none;
    opacity: 1;
  }
  58% {
    text-shadow: none;
    box-shadow: none;
    opacity: 1;
  }
  59% {
    text-shadow: -3px -4px 0px #bbb;
    box-shadow: -3px -4px 0px #bbb;
    opacity: 0.6;
  }
  62% {
    text-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    box-shadow:
      4px -1px 0px rgba(255, 0, 0, .5),
      -3px -1px 0px rgba(0, 255, 0, .5),
      1px -1px 0px rgba(0, 0, 255, .5);
    opacity: 1;
  }
  67% {
    text-shadow: none;
    box-shadow: none;
  }
}

@-webkit-keyframes visible {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes visible {
  0% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*------------------------------------*
    #RESET
\*------------------------------------*/

* {
  box-sizing: border-box;
}

/*------------------------------------*
    #ELEMENTS
\*------------------------------------*/

html {
  height: 100%;
  font: 400 18px/29px ff-schulbuch-nord-web, 'helvetica neue', arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

body {
  padding: 50px 40px;
  margin: 0;
  height: 100%;
  background: #000;
  background-size: 100%;
  color: #fff;
}

p {
  margin: 0 0 20px;
}

a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
}

/*------------------------------------*
    #LAYOUT
\*------------------------------------*/

.Layout {
  margin: 0 auto;
  padding: 60px 0 30px;
  max-width: 700px;
  -webkit-animation: appear 0.6s forwards;
          animation: appear 0.6s forwards;
}

/*------------------------------------*
    #HEADER
\*------------------------------------*/

.Header {
  overflow: hidden;
  text-align: center;
}

.Header-link {
    margin-bottom: 30px;
  }

.Header-logo {
    display: inline-block;
    overflow: hidden;
    height: 30px;
  }

.Header-tagline {
    font-size: 22px;
    font-weight: 400;
    line-height: 32px;
    max-width: 500px;
    margin: 0 auto 90px;
  }

/*------------------------------------*
    #TESTIMONIAL
\*------------------------------------*/

.Testimonial {
  margin-bottom: 90px;
}

.Testimonial-case {
    margin-bottom: 40px;
  }

.Testimonial-content {
    position: relative;
    color: #bbb;
  }

.Testimonial-content:before {
      content: "“";
      font-size: 240px;
      color: #191919;
      position: absolute;
      left: -40px;
      top: 80px;
      z-index: -1;
    }

/*------------------------------------*
    #PERSON
\*------------------------------------*/

.Person-photo {
    margin-right: 15px;
    float: left;
  }

.Person-name {
    padding-top: 5px;
    display: block;
    color: #bbb;
  }

.Person-role {
    color: #fff;
  }

/*------------------------------------*
    #CONTACT
\*------------------------------------*/

.Contact {
  text-align: center;
}

.Contact-tagline {
    font-size: 22px;
    font-weight: 400;
    line-height: 32px;
    max-width: 540px;
    margin: 0 auto 90px;
  }

.Contact-button {
    position: fixed;
    bottom: 40px;
    left: 50%;
    border: 1px solid #fff;
    background: rgba(0, 0, 0, .5);
    box-shadow: 0 0 8px #000;
    margin-left: -90px;
    padding: 8px 20px 3px;
    width: 180px;
    display: none;
    opacity: 0;
  }

.Contact-button.is-visible {
      display: block;
      opacity: 1;
      -webkit-animation: visible 0.2s, rgbshift 3s infinite;
              animation: visible 0.2s, rgbshift 3s infinite;
    }

@media (max-width: 560px) {
  body {
    font-size: 16px;
    line-height: 27px;
    padding: 30px 20px;
  }

  .Layout {
    margin: 0 auto;
    padding: 30px 0;
  }

  .Header-tagline,
  .Contact-tagline {
    font-size: 19px;
    line-height: 28px;
  }

  .Contact-tagline {
    margin-bottom: 60px;
  }

  .Testimonial {
    position: relative;
    margin-bottom: 60px;
  }

  .Header-tagline {
    margin-bottom: 60px;
  }

  .Person {
    font-size: 16px;
  }

  .Person-photo {
    margin-right: 10px;
    width: 48px;
    height: 48px;
  }

  .Person-name {
    padding-top: 0;
  }

  .Contact-button {
    bottom: 30px;
    padding: 8px 0 3px;
    font-size: 14px;
  }
}
