@keyframes lum-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes lum-fadeZoom {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes lum-loader-rotate {
  0% {
    transform: translate(-50%, -50%) rotate(0);
  }
  50% {
    transform: translate(-50%, -50%) rotate(-180deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(-360deg);
  }
}

@keyframes lum-loader-before {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(6px);
  }
  25% {
    transform: scale(1.3) translateX(8px);
  }
  40% {
    transform: scale(1.2) translateX(6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(6px);
  }
  75% {
    transform: scale(0.7) translateX(8px);
  }
  90% {
    transform: scale(0.8) translateX(6px);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes lum-loader-after {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.2) translateX(-6px);
  }
  25% {
    transform: scale(1.3) translateX(-8px);
  }
  40% {
    transform: scale(1.2) translateX(-6px);
  }
  50% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.8) translateX(-6px);
  }
  75% {
    transform: scale(0.7) translateX(-8px);
  }
  90% {
    transform: scale(0.8) translateX(-6px);
  }
  100% {
    transform: scale(1);
  }
}

.lum-lightbox {
  background: rgba(0, 0, 0, 0.9);
  z-index:9999;
}

.lum-lightbox-inner {
  top: 2.5%;
  right:2.5%;
  bottom: 2.5%;
  left:2.5%;
}

.lum-lightbox-inner img {
  position: relative;
  max-width:80vw;
}

.lum-lightbox-image-wrapper {
  background-color:rgba(0, 0, 0, 0.0);
}

.lum-lightbox-inner .lum-lightbox-caption {
  color: #fff;
  max-width:80vw;
  margin: 5px auto 0;
  font-size:14px;
  text-align: center;
}

.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: lum-loader-rotate 1800ms infinite linear;
}

.lum-lightbox-loader:before,
.lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.lum-lightbox-loader:before {
  left: 0;
  animation: lum-loader-before 1800ms infinite linear;
}

.lum-lightbox-loader:after {
  right: 0;
  animation: lum-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
}

.lum-lightbox.lum-opening {
  animation: lum-fade 180ms ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: lum-fadeZoom 180ms ease-out;
}

.lum-lightbox.lum-closing {
  animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}

.lum-img {
  transition: opacity 120ms ease-out;
}

.lum-loading .lum-img {
  opacity: 0;
}

.lum-close-button {
  position: absolute;
  right:calc(2.5% + 5px);
  top:30px;
  width:85px;
  height:40px;
  background:url(images/close.png) no-repeat right top;
  background-size:contain;
  opacity: 1;
  transition:opacity 300ms;
  cursor:pointer;
}
.lum-close-button:hover {
  opacity: 0.7;
}

.lum-gallery-button {
  overflow: hidden;
  text-indent: 1.5;
  white-space: nowrap;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  position: absolute;
  top:0;
  width:100%;
  height: 100px;
  max-height: 100%;
  font-size:0;
}

.lum-gallery-button:after {
  content:'';
  display: block;
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
}

.lum-previous-button {
  position: absolute;
  top:40%;
  left:0;
  width:40%;
  height:20%;
background-color:rgba(255,0,0,0.0);
}
.lum-next-button {
  position:absolute;
  top:40%;
  right:0;
  width:40%;
  height:20%;
background-color:rgba(0,255,0,0.0);
}

.lum-previous-button:after {
  top:calc(50% - 30px);
  left:0%;
  width:60px;
  height:60px;
  background:url(images/arrow_l.png) no-repeat 0 0;
  background-size:contain;
  cursor:pointer;
}

.lum-next-button:after {
  top:calc(50% - 30px);
  right:0;
  width:60px;
  height:60px;
  background:url(images/arrow_r.png) no-repeat 0 0;
  background-size:contain;
  cursor:pointer;
}
@media (max-width: 750px) {
  .lum-lightbox-inner .lum-lightbox-caption {
    font-size:18px;
  }
  .lum-close-button {
    width:112px;
    height:42px;
  }
  .lum-close-button:hover {
    opacity:1;
  }
}
