.lightbox-backdrop {
    color: #000;
    cursor: auto;
    font-family: serif;
    font-size: medium;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    letter-spacing: normal;
    line-height: normal;
    list-style: disc;
    text-align: start;
    text-indent: 0;
    text-shadow: none;
    text-transform: none;
    visibility: visible;
    white-space: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    color: #fff;
    font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 300;
    text-align: center;
    background: rgba(0, 0, 0, 0.9);
    z-index: 2000;
    outline: 0;
    /* 1 */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-transform: translate(0, 0);
    /* 2 */
  }
  /**
   * Neat trick to bind the rubberband effect to our canvas instead of the whole
   * document on iOS. It also prevents a bug that causes the document underneath to scroll.
   */
  .lightbox-backdrop,
  .lightbox-container {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .lightbox-content {
    position: relative;
    height: 100vh;
    overflow: hidden;
  }
  .lightbox-view {
    position: absolute;
    width: 100vw;
    height: 100vh;
  
  }
  .lightbox-view:before {
    position: absolute;
    width: 100vw;
    height: 100vh;
  }
  /* .lightbox-content */
  .lightbox-group,
  .lightbox-group .lightbox-view,
  .lightbox-group .lightbox-view:before {
    height: 86vh;
  }
  .lightbox-frame,
  .lightbox-view:before {
    display: inline-block;
    vertical-align: middle;
  }
  /*
   * 1. Remove default margin set by user-agent on the <figure> element.
   */
  .lightbox-figure {
    position: relative;
    margin: 0;
    /* 1 */
  }
  .lightbox-group .lightbox-figure {
    cursor: pointer;
  }
  /**
   * IE adds image dimensions as width and height attributes on the IMG tag,
   * but we need both width and height to be set to auto to enable scaling.
   */
  .lightbox-img {
    width: auto;
    height: auto;
    max-width: none;
  }
  /**
   * 1. Reset if style is set by user on "All Images"
   */
  .lightbox-image {
    display: block;
    float: none;
    /* 1 */
    max-width: 100vw;
    max-height: 100vh;
  }
  .lightbox-group .lightbox-image {
    max-height: 86vh;
  }
  .lightbox-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: .5em 1em;
    background: rgba(0, 0, 0, 0.4);
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
  .lightbox-embed {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .lightbox-control {
    position: absolute;
    top: 0;
    width: 4em;
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    -webkit-transition: all .3s;
    transition: all .3s;
  }
  .lightbox-left {
    display: none;
    bottom: 0;
    left: 0;
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
  }
  .lightbox-right {
    display: none;
    right: 0;
    bottom: 0;
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
  }
  /*
   * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
   * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
   * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
   */
  .lightbox-close {
    right: 0;
    height: 2.6em;
    /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
    background-size: 18px;
  }
  /**
   * 1. All IE versions add extra space at the bottom without this.
   */
  .lightbox-strip {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 1vh;
    line-height: 0;
    /* 1 */
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
  }
  /*
   * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
   *    which doesn’t work in Safari anyway.
   * 2. Chrome renders images pixelated when switching to GPU. Making sure
   *    the parent is also rendered on the GPU (by setting translate3d for
   *    example) fixes this behavior.
   */
  .lightbox-item {
    display: inline-block;
    width: 10vh;
    padding: 2vh 1vh;
    box-sizing: content-box;
    /* 1 */
    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 0);
    /* 2 */
  }
  .lightbox-active {
    opacity: .3;
  }
  .lightbox-thumbnail {
    position: relative;
    height: 10vh;
    background: #222;
    overflow: hidden;
  }
  .lightbox-thumbnail-image {
    position: absolute;
    top: 0;
    left: 0;
  }
  .lightbox-thumbnail .lightbox-tall {
    top: 50%;
    width: 100%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }
  .lightbox-thumbnail .lightbox-wide {
    left: 50%;
    height: 100%;
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  /*
   * Spinner
   *
   * Absolute pixel values are used to avoid rounding errors that would cause
   * the white spinning element to be misaligned with the track.
   */
  .lightbox-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    border: 5px solid rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    -webkit-animation: spin .8s infinite linear;
    animation: spin .8s infinite linear;
  }
  .lightbox-spinner:after {
    content: "";
    position: absolute;
    top: -4px;
    right: -4px;
    bottom: -4px;
    left: -4px;
    border: 3px solid transparent;
    border-bottom-color: #fff;
    border-radius: 50%;
  }
  /*
   * Utility classes
   */
  .lightbox-hide {
    display: none;
  }
  .lightbox-noscroll {
    overflow: hidden;
  }
  @media (min-width: 768px) {
    .lightbox-content {
      height: 96vh;
      margin-top: 2vh;
    }
    .lightbox-view,
    .lightbox-view:before {
      height: 96vh;
    }
    /* .lightbox-content */
    .lightbox-group,
    .lightbox-group .lightbox-view,
    .lightbox-group .lightbox-view:before {
      height: 84vh;
    }
    .lightbox-image {
      max-width: 96vw;
      max-height: 96vh;
    }
    .lightbox-group .lightbox-image {
      max-width: 82.3vw;
      max-height: 84vh;
    }
    .lightbox-left,
    .lightbox-right {
      display: block;
      opacity: .5;
    }
    .lightbox-close {
      opacity: .8;
    }
    .lightbox-control:hover {
      opacity: 1;
    }
  }
  .lightbox-inactive,
  .lightbox-inactive:hover {
    opacity: 0;
  }
  