.gallery-reveal {
  position: fixed;
  top: 0 !important;
  left: 0;
  right: 0;
  max-width: 100%;
  width: 100%;
  bottom: 0;
  background-color: white;
  padding: 0;
  z-index: 9999;
  overflow: hidden;
  box-shadow: 0 6px 60px 0 rgba(0,0,0, 0.28);
  .close-reveal {
    position: absolute;
    right: 24px;
    top: 24px;
    i {
      font-size: 30px;
    }
  }
  //Controls the spacing of the white area which forms the reveal
  .gallery-padding-controller {
     padding: 54px 32px 0 32px;
    @include breakpoint(br-768 up) {
      padding: 24px 48px 0 48px;

    }
    @include breakpoint(large up) {
      padding: 24px 85px 0 85px;
    }
  }
  .gallery-title {
    text-align: left;
    @include breakpoint(br-768 up) {
      text-align: center;
    }
    .reveal-title {
      display: inline-block;
      font-size: 24px;
      margin-bottom: 4px;
    }
    .reveal-subtitle {
      display: inline-block;
      font-size: 16px;
      line-height: 20px;
      margin-bottom: 24px;
    }
  }
  //Tablet Styles
  @include breakpoint(br-768 up) {
    left: 24px;
    right: 24px;
    top: 100px !important;
    bottom: 220px;
    border-radius: 4px;
    width: auto;
    height: 566px;
    .close-reveal {
      top: 32px;
    }
  }
  //Desktop Styles
  @include breakpoint(large up) {
    left: 40px;
    right: 40px;
    top: 40px !important;
    bottom: 40px;
    height: calc(100vh - 80px);
    min-height: 648px;
    .close-reveal {
      top: 37px;
    }
  }
}



//Carousel image styles
.gallery-reveal {
  //overflow-y: scroll;
  .feature-image {
    background-position: center;
    background-repeat: no-repeat;
    padding-bottom: 250px;
    box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.06);
    position: relative;
    vertical-align: middle !important;
    background-size: auto 100%;

    &.tns-slide-active {
      &::after {
        display: none;
      }
    }

    .tns-nav {
      bottom: 35px;
      z-index: 8;
    }

    @include breakpoint(br-768 up) {
      padding-bottom: 320px;
      &.tns-slide-active {
        //padding-bottom: 320px;
        margin-left: 3px;
        margin-right: 3px;
      }
    }
    @include breakpoint(large up) {
      padding-bottom: calc(100vh - 80px - 136px);
      min-height: 512px;
      &.tns-slide-active {
        //padding-bottom: 512px;
        margin-left: 3px;
        margin-right: 3px;
      }
    }
  }
  .tns-controls {
    z-index: 10;
    button {
      position: absolute;
      bottom: 15px;
      z-index: 10;
      &:focus {
        outline: none;
      }
      .material-icons {
        font-size: 30px;
        color: white;
        text-shadow: 0 0 20px $charcoal;
      }
      &.prev {
        left: 32px;
      }
      &.next {
        right: 32px;
      }
      @include breakpoint(br-768 up) {
        bottom: -95px;
        .material-icons {
          font-size: 44px;
          color: black;
        }
        &.prev {
          left: 65px;
        }
        &.next {
          right: 65px;
        }
      }
      @include breakpoint(large up) {
        bottom: 63px;
        .material-icons {
          color: white;
        }
        &.prev {
          left: 110px;
        }
        &.next {
          right: 110px;
        }
      }
    }
  }
}
.gallery-carousel-container {
  padding: 0;
  position: relative;
  .tour-button {
    position: absolute;
    z-index: 100;
    top: 32px;
    left: 32px;
    box-shadow: 0 0 12px 0 rgba(0,0,0, 0.1);
    display: none;
  }
  @include breakpoint(br-768 up) {
    padding-left: 48px;
    padding-right: 48px;
    .tour-button {
      display: block;
      left: 80px;
    }
  }
  @include breakpoint(large up) {
    padding-left: 85px;
    padding-right: 85px;
    .tour-button {
      left: 117px;
    }
  }
}
.map-container {
  width: 100%;
  height: 400px;
  position: relative;
}
.gallery-preview-blocks-container {
  position: absolute;
  top: calc(100% + 32px);
  left: 50%;
  transform: translateX(-50%);;
  white-space: nowrap;
  overflow: hidden;
  text-align: center;
  z-index: 5;
  max-width: 258px;
  @include breakpoint(br-768 up) {
    left: 50%;
    transform: translateX(-50%);
    max-width: 438px;
  }
  @include breakpoint(large up) {
    top: unset;
    bottom: 42px;
  }

  .preview {
    display: inline-block;
    width: 78px;
    height: 78px;
    margin-bottom: 0;
    outline: none;
    border-radius: 4px;
    white-space: nowrap;
    background-size: cover;
    transition: transform .35s ease;

    &:not(:last-child) {
      margin-right: 12px;
    }

    &.selected {
      border: 2px solid $honey;
    }
  }
}

.booking-detail-page {
  .desktop-width {
    @include breakpoint(large up) {
      min-width: 408px;
    }
  }
  .gallery-preview-blocks-container {
    display: none;
    @include breakpoint(large up) {
      display: block;
      bottom: unset;
      top: calc(100% + 18px);
      left: 29px;
      right: 29px;
      transform: none;

    }
  }
  .button-over-image-container {
    position: absolute;
    left: 16px;
    top: 16px;
    z-index: 1;
    .material-icons {
      margin-right: 4px;
      color: $grey;
    }
  }
  .tns-controls {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 46px;
    z-index: 50;
    @include breakpoint(br-768 up) {
    left: 24px;
    right: 24px;
  }
    @include breakpoint(large up) {
      left: 0;
      right: 0;
      top: calc(100% + 42px);
      bottom: unset;
    }
    .prev, .next {
      position: absolute;
      color: white;
      .material-icons {
        font-size: 30px;
      }
      @include breakpoint(large up) {
        color: $dark-mint;
      }
    }
    .prev {
      left: 0;
    }
    .next {
      right: 0;
    }

  }
  .feature-image {
    padding-bottom: 260px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 8px;
    @include breakpoint(br-768 up) {
      padding-bottom: 320px;
    }
    @include breakpoint(large up) {
      padding-bottom: 306px;
    }
  }
}