.slideshow {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 0;


  .black_layer,
  .page_background {
    -webkit-backface-visibility: hidden;
    position: relative;
  }

  .content_and_background {
    -webkit-backface-visibility: hidden;
  }

  .page {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    overflow: hidden;

    .background_image {
      background-attachment: scroll;
    }

  }

  section.active {
    display: block;
    -webkit-backface-visibility: hidden;

    .page_background {
      opacity: 1;
    }
  }

  section .video_page .video-js {
    background-color: black;
  }

  section.invert .video_page .video-js {
    background-color: white;
  }

  .content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;

    z-index: 2;
    overflow: hidden;
  }

  .page.hidden_by_overlay .content {
    opacity: 0;
    pointer-events: 0;
  }

  .scroller {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;

    &-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      bottom: 0;
    }

    > div {
      position: absolute;
      @include box-sizing(border-box);
      min-height: 100%;
      z-index: 1;

      @include transform(translateZ(0));
      @include user-select(none);
      @include text-size-adjust(none);

      -webkit-tap-highlight-color: rgba(0,0,0,0);
      -webkit-touch-callout: none;
    }
  }

  @each $io in in, out {
    @each $direction in forwards backwards {
      .animate-#{$io}-#{$direction} {
        display: block;
      }
    }
  }
}
