.Lightbox {
  background-color: rgba(20, 20, 20, 0.8);
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1040;

  &-header {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    height: 4rem;

    .fa-icon {
      path {
        fill: white;
      }
      opacity: 0.4;

      &:hover {
        opacity: 1;
      }
    }

    &-left-spacer {
      display: flex;
      flex: 1;
      justify-content: center;
    }

    &-chapters {
      max-height: 90%;
      overflow: auto;
    }

    &-indicator {
      display: flex;
      flex: 1;
      flex-direction: column;
      margin-right: auto;
      text-align: center;
    }

    &-options {
      display: flex;
      flex-direction: column;
      margin-left: 100px;
      text-align: left;

      &-icon {
        display: inline-block;
      }

      &-inline {
        display: none;
      }
    }

    &-right {
      display: flex;
      flex: 1;
      justify-content: flex-end;
    }

    .fa-icon {
      height: 1.5rem;
      opacity: 1;
      width: 1.5rem;
    }
  }

  &-footer {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    height: 4.5rem;

    & > div {
      flex: 1;

      &:nth-child(2) {
        overflow-wrap: anywhere;
        text-align: center;
      }
    }

    .rating-stars {
      display: flex;
      flex-wrap: nowrap;
      padding-left: 0.38rem;
    }

    .rating-number .text-input {
      width: auto;
    }

    &-left {
      display: flex;
      flex-direction: column;
      justify-content: start;
      padding-left: 1em;
    }

    a {
      color: $text-color;
      font-weight: bold;
      text-decoration: none;
    }
  }

  &-display {
    display: flex;
    height: 100%;
    justify-content: space-between;
    position: relative;
  }

  &-carousel {
    display: flex;
    height: 100%;
    position: absolute;
    transition: left 400ms;

    &-instant {
      transition-duration: 0ms;
    }

    &-image {
      content-visibility: auto;
      display: flex;
      width: 100vw;

      picture {
        display: flex;
        margin: auto;
        position: relative;

        > div {
          display: flex;
          height: 100%;
          position: absolute;
          width: 100%;
        }
      }

      img {
        cursor: pointer;
        object-fit: contain;
      }
    }
  }

  &-navzone {
    cursor: pointer;
    width: 50%;
  }

  &-navbutton {
    z-index: 1045;

    .fa-icon {
      height: 4rem;
      opacity: 0.4;
      width: 4rem;

      path {
        fill: white;
      }

      &:hover {
        opacity: 1;
      }
    }

    &:focus {
      box-shadow: none;
    }

    &:hover {
      filter: drop-shadow(2px 2px 2px black);
    }
  }

  &-nav {
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    height: 10rem;
    margin: 0 auto 2rem 0;
    padding: 0 10rem;
    position: relative;
    transition: left 400ms;

    @media (max-height: 800px) {
      display: none;
    }

    &-selected {
      box-shadow: 0 0 0 6px white;
    }

    &-image {
      cursor: pointer;
      height: 100%;
      margin-right: 1rem;
    }
  }
}
