.reveal.cd-intro-content h1 {
  position: relative;
  /* overwrite default style */
  opacity: 1;
  font-weight: 700;
  /* <h1> text is not visible - it is used only as a container for the ::after element */
  color: transparent;
  overflow: hidden;
}
.reveal.cd-intro-content h1::after {
  /* this is the animated text */
  content: attr(data-content);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  color: #ffffff;
  opacity: 0;
  -webkit-animation-name: cd-reveal-up;
  -moz-animation-name: cd-reveal-up;
  animation-name: cd-reveal-up;
  -webkit-animation-fill-mode: forwards;
  -moz-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.no-cssanimations .reveal.cd-intro-content h1::after {
  opacity: 1;
}
@media only screen and (min-width: 768px) {
  .reveal.cd-intro-content h1 {
    -webkit-transform: translateY(5px);
    -moz-transform: translateY(5px);
    -ms-transform: translateY(5px);
    -o-transform: translateY(5px);
    transform: translateY(5px);
  }
}

.reveal.cd-intro-content p {
  position: relative;
  margin: 0;
  padding: 1em;
  background-color: #202e4a;
  -webkit-animation-name: cd-reveal-down;
  -moz-animation-name: cd-reveal-down;
  animation-name: cd-reveal-down;
}
@media only screen and (min-width: 1170px) {
  .reveal.cd-intro-content p {
    padding: 1em 1.6em;
  }
}

.reveal.cd-intro-content h1::after,
.reveal.cd-intro-content p {
  -webkit-animation-duration: 0.4s;
  -moz-animation-duration: 0.4s;
  animation-duration: 0.4s;
  -webkit-animation-delay: 0.7s;
  -moz-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.reveal.cd-intro-content .action-wrapper {
  position: relative;
  overflow: hidden;
}
.reveal.cd-intro-content .action-wrapper::before {
  /* this is the loading bar */
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  background-color: #202e4a;
  -webkit-animation: cd-loading 0.4s 0.3s backwards;
  -moz-animation: cd-loading 0.4s 0.3s backwards;
  animation: cd-loading 0.4s 0.3s backwards;
}
.reveal.cd-intro-content .action-wrapper .cd-btn {
  display: block;
  opacity: 1;
  max-width: 200px;
  margin: 1em auto 0;
}
@media only screen and (min-width: 768px) {
  .reveal.cd-intro-content .action-wrapper .cd-btn {
    display: inline-block;
    margin: 0 0 0 1em;
  }
}

@-webkit-keyframes cd-reveal-up {
  0% {
    opacity: 1;
    -webkit-transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes cd-reveal-up {
  0% {
    opacity: 1;
    -moz-transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@keyframes cd-reveal-up {
  0% {
    opacity: 1;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes cd-reveal-down {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes cd-reveal-down {
  0% {
    opacity: 1;
    -moz-transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}
@keyframes cd-reveal-down {
  0% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}
@-webkit-keyframes cd-loading {
  0% {
    -webkit-transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
  }
}
@-moz-keyframes cd-loading {
  0% {
    -moz-transform: scaleX(0);
  }
  100% {
    -moz-transform: scaleX(1);
  }
}
@keyframes cd-loading {
  0% {
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transform: scaleX(0);
  }
  100% {
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
    transform: scaleX(1);
  }
}