.mobile-viewer {

  &--isFullScreen * {
    background: red !important;
  }

  height: 100%;

  &__inner {
    height: 100%;
  }

  @keyframes fadein {
    0% {
      opacity: 0;
    }

    50% {
      opacity: 0;
    }

    100% {
      opacity: 1;
    }
  }

  &__attribution {
    background-color: rgba(0, 0, 0, .5);
    position: absolute;
    bottom: 10px;
    left: 10px;
    text-shadow: 1px 1px 1px #1d1e20;
    line-height: 1.4;
    color: white;
    opacity: 1;
    transition: opacity 0.2s;
    animation: fadein 0.6s;
    z-index: 12;
    max-width: calc(100vw - 90px);
    text-align: center;
    padding: 0.8em;

    & * {
      line-height: 1.4;
      color: white;
    }

    &--hidden {
      opacity: 0;
      pointer-events: none;
    }
  }

  &__canvas-navigation {
    .canvas-navigation__reset {
      right: unset;
      left: 24px;
    }

    .canvas-navigation__next,
    .canvas-navigation__previous {
      transition: opacity 0.2s;
      animation: fadein 0.6s;

      &--isFirstPage,
      &--isLastPage {
        opacity: 0;
        animation: none;
      }
    }

    &--hidden {

      .canvas-navigation__next,
      .canvas-navigation__previous {
        opacity: 0;
        pointer-events: none;
      }
    }
  }

  &__zoom-controls {
    opacity: 1;
    transition: opacity 0.2s;
    animation: fadein 0.6s;

    &--hidden {
      opacity: 0;
      pointer-events: none;
    }
  }

  &__exit-fullscreen {
    opacity: 1;
    transition: opacity 0.2s;
    position: fixed;
    top: 20px;
    left: 10px;
    color: #fff;
    z-index: 12;
    text-shadow: 1px 1px 1px #1d1e20;
    cursor: pointer;
    animation: fadein 0.6s;

    &--hidden {
      opacity: 0;
      pointer-events: none;
    }

    &-icon {
      transform: translateY(5px);
      filter: drop-shadow(1px 0px 1px #1d1e20);
    }
  }

  &__navigation {
    display: none;

    @media (pointer: fine) {
      display: block;
    }
  }

  &__info {
    position: fixed;
    opacity: 1;
    transition: opacity 0.2s;
    bottom: 10px;
    right: 10px;
    z-index: 12;
    background: transparent;
    animation: fadein 0.6s;

    &--hidden {
      opacity: 0;
      pointer-events: none;
    }

    &-icon {
      padding:20px;
      cursor: pointer;
      filter: drop-shadow(1px 1px 1px #1d1e20);
      box-sizing: unset;

      *,
      ::after,
      ::before {
        box-sizing: unset;
      }
    }


    &-panel {
      color: #000;
      position: fixed;
      height: 300px;
      bottom: 0;
      width: 100%;
      background: #fff;
      transition: bottom 0.3s;
      z-index: 13;
      padding: 20px;
      line-height: 1.5em;
      box-sizing: border-box;
      overflow-y: scroll;

      &--hidden {
        bottom: -300px;
      }

      &-close {
        cursor: pointer;
        position: absolute;
        top: 15px;
        right: 15px;

        svg {
          fill: #000;
        }
      }

      &-body {
        overflow-y: auto;
        max-height: 215px;
      }
    }
  }

  &__info-panel-attribution {
    font-size: 12px;
    width: 80%;
    line-height: initial;
  }
}
