.viewer {
  @include rem(min-width, $site-min-width);
  bottom: 0;
  cursor: grab;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;

  &:active {
    cursor: grabbing;
  }
}

.viewer__canvas {
  bottom: 0;
  height: auto !important;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: auto !important;
}

.viewer__prompt {
  @include rem(padding-top, 75px);
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.3s;
  transition-property: opacity;
  transition-timing-function: ease-in-out;

  img {
    @include rem(margin-left, -15px);
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-name: hand-prompt;
    animation-timing-function: $ease-in-out-cubic;
    height: 61px;
    left: 50%;
    position: absolute;
    position: absolute;
    top: 0;
    transform-origin: 50% 100%;
    width: 49px;
  }

  .drag-text {
    @include rem(font-size, 14px);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.75);
  }

  &.is-visible {
    opacity: 1;
  }
}

.viewer__loading-text {
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.3s;
  transition-property: opacity;
  transition-timing-function: ease-in-out;

  &.is-visible {
    opacity: 1;
  }
}

.viewer__play {
  @include rem(height, 100px);
  @include rem(width, 100px);
  cursor: pointer;
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 42%;
  transform: translate(-50%, -50%);
  transition: visibility 0s linear 0.5s, opacity 0.25s $ease-in-out-cubic;
  visibility: hidden;
  z-index: 9;

  &.is-visible {
    opacity: 1;
    visibility: visible;
  }
}

.canvas-border {
  border: 1px solid rgba(255, 255, 255, .5);
  pointer-events: none;
  position: absolute;
  z-index: 5;
}

.canvas-window-sm,
.canvas-border {
  background-clip: padding-box;
  bottom: 130px !important;
  cursor: pointer;
  left: auto !important;
  right: 20px !important;
  top: auto !important;
  height: 78px !important;
  width: 120px !important;

  :fullscreen & {
    bottom: 105px !important;
  }

  .speed-enabled & {
    bottom: 175px !important;
  }

  @include respond-up(sm) {
    height: 114px !important;
    width: 205px !important;
  }
}

.canvas-window-sm {
  z-index: $z-pov-thumb !important;
}
