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

@-moz-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-o-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

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

@-webkit-keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@-moz-keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@-o-keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

@keyframes slideInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.animate-title .animate-line span, .animate-text .animate-line span {
  opacity: 0; }

.animate-title.is-inview .animate-line, html:not(.has-scroll-smooth) .animate-title .animate-line, .animate-text.is-inview .animate-line, html:not(.has-scroll-smooth) .animate-text .animate-line {
  display: block;
  overflow-y: hidden; }
  .animate-title.is-inview .animate-line:nth-child(1) span, html:not(.has-scroll-smooth) .animate-title .animate-line:nth-child(1) span, .animate-text.is-inview .animate-line:nth-child(1) span, html:not(.has-scroll-smooth) .animate-text .animate-line:nth-child(1) span {
    display: block;
    -webkit-animation-name: slideInUp;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-delay: 0.1s;
    -moz-animation-name: slideInUp;
    -moz-animation-fill-mode: both;
    -moz-animation-timing-function: ease;
    -moz-animation-duration: 0.8s;
    -moz-animation-delay: 0.1s;
    -o-animation-name: slideInUp;
    -o-animation-fill-mode: both;
    -o-animation-timing-function: ease;
    -o-animation-duration: 0.8s;
    -o-animation-delay: 0.1s;
    animation-name: slideInUp;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-duration: 0.8s;
    animation-delay: 0.1s; }
  .animate-title.is-inview .animate-line:nth-child(2) span, html:not(.has-scroll-smooth) .animate-title .animate-line:nth-child(2) span, .animate-text.is-inview .animate-line:nth-child(2) span, html:not(.has-scroll-smooth) .animate-text .animate-line:nth-child(2) span {
    display: block;
    -webkit-animation-name: slideInUp;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-delay: 0.2s;
    -moz-animation-name: slideInUp;
    -moz-animation-fill-mode: both;
    -moz-animation-timing-function: ease;
    -moz-animation-duration: 0.8s;
    -moz-animation-delay: 0.2s;
    -o-animation-name: slideInUp;
    -o-animation-fill-mode: both;
    -o-animation-timing-function: ease;
    -o-animation-duration: 0.8s;
    -o-animation-delay: 0.2s;
    animation-name: slideInUp;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-duration: 0.8s;
    animation-delay: 0.2s; }
  .animate-title.is-inview .animate-line:nth-child(3) span, html:not(.has-scroll-smooth) .animate-title .animate-line:nth-child(3) span, .animate-text.is-inview .animate-line:nth-child(3) span, html:not(.has-scroll-smooth) .animate-text .animate-line:nth-child(3) span {
    display: block;
    -webkit-animation-name: slideInUp;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-delay: 0.3s;
    -moz-animation-name: slideInUp;
    -moz-animation-fill-mode: both;
    -moz-animation-timing-function: ease;
    -moz-animation-duration: 0.8s;
    -moz-animation-delay: 0.3s;
    -o-animation-name: slideInUp;
    -o-animation-fill-mode: both;
    -o-animation-timing-function: ease;
    -o-animation-duration: 0.8s;
    -o-animation-delay: 0.3s;
    animation-name: slideInUp;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-duration: 0.8s;
    animation-delay: 0.3s; }
  .animate-title.is-inview .animate-line:nth-child(4) span, html:not(.has-scroll-smooth) .animate-title .animate-line:nth-child(4) span, .animate-text.is-inview .animate-line:nth-child(4) span, html:not(.has-scroll-smooth) .animate-text .animate-line:nth-child(4) span {
    display: block;
    -webkit-animation-name: slideInUp;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-delay: 0.4s;
    -moz-animation-name: slideInUp;
    -moz-animation-fill-mode: both;
    -moz-animation-timing-function: ease;
    -moz-animation-duration: 0.8s;
    -moz-animation-delay: 0.4s;
    -o-animation-name: slideInUp;
    -o-animation-fill-mode: both;
    -o-animation-timing-function: ease;
    -o-animation-duration: 0.8s;
    -o-animation-delay: 0.4s;
    animation-name: slideInUp;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-duration: 0.8s;
    animation-delay: 0.4s; }
  .animate-title.is-inview .animate-line:nth-child(5) span, html:not(.has-scroll-smooth) .animate-title .animate-line:nth-child(5) span, .animate-text.is-inview .animate-line:nth-child(5) span, html:not(.has-scroll-smooth) .animate-text .animate-line:nth-child(5) span {
    display: block;
    -webkit-animation-name: slideInUp;
    -webkit-animation-fill-mode: both;
    -webkit-animation-timing-function: ease;
    -webkit-animation-duration: 0.8s;
    -webkit-animation-delay: 0.5s;
    -moz-animation-name: slideInUp;
    -moz-animation-fill-mode: both;
    -moz-animation-timing-function: ease;
    -moz-animation-duration: 0.8s;
    -moz-animation-delay: 0.5s;
    -o-animation-name: slideInUp;
    -o-animation-fill-mode: both;
    -o-animation-timing-function: ease;
    -o-animation-duration: 0.8s;
    -o-animation-delay: 0.5s;
    animation-name: slideInUp;
    animation-fill-mode: both;
    animation-timing-function: ease;
    animation-duration: 0.8s;
    animation-delay: 0.5s; }

.amazon-btn, .download-btn {
  transition: all .8s ease;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  transition-delay: .5s; }
  .amazon-btn.is-inview, html:not(.has-scroll-smooth) .amazon-btn, .download-btn.is-inview, html:not(.has-scroll-smooth) .download-btn {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1; }

.thumbnail {
  transition: all .8s ease; }
  .thumbnail img {
    transition: all .8s ease;
    transform: scale(0);
    transition-delay: .5s; }
  .thumbnail.is-inview, html:not(.has-scroll-smooth) .thumbnail {
    overflow: visible; }
    .thumbnail.is-inview img, html:not(.has-scroll-smooth) .thumbnail img {
      transform: scale(1); }

.spec-align-left .pin-holder {
  transition: all .8s ease;
  display: block;
  transform: scaleX(0);
  transform-origin: left;
  transition-delay: .5s; }
  .spec-align-left .pin-holder.is-inview, html:not(.has-scroll-smooth) .spec-align-left .pin-holder {
    transform: scaleX(1); }

.spec-align-right .pin-holder {
  transition: all .8s ease;
  display: block;
  transform: scaleX(0);
  transform-origin: right;
  transition-delay: .5s; }
  .spec-align-right .pin-holder.is-inview, html:not(.has-scroll-smooth) .spec-align-right .pin-holder {
    transform: scaleX(1); }
