/*
 *  zgjj Carousel - Core
 */
.zgjj-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}
.zgjj-carousel .zgjj-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}
.zgjj-carousel .zgjj-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}
.zgjj-carousel .zgjj-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}
.zgjj-carousel .zgjj-wrapper,
.zgjj-carousel .zgjj-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}
.zgjj-carousel .zgjj-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.zgjj-carousel .zgjj-item img {
  display: block;
  width: 100%;
}
.zgjj-carousel .zgjj-slide-nav.disabled,
.zgjj-carousel .zgjj-dots.disabled {
  display: none;
}
.zgjj-carousel .zgjj-slide-nav .zgjj-prev,
.zgjj-carousel .zgjj-slide-nav .zgjj-next,
.zgjj-carousel .zgjj-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.zgjj-carousel .zgjj-slide-nav button.zgjj-prev,
.zgjj-carousel .zgjj-slide-nav button.zgjj-next,
.zgjj-carousel button.zgjj-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit;
}
.zgjj-carousel.zgjj-loaded {
  display: block;
}
.zgjj-carousel.zgjj-loading {
  opacity: 0;
  display: block;
}
.zgjj-carousel.zgjj-hidden {
  opacity: 0;
}
.zgjj-carousel.zgjj-refresh .zgjj-item {
  visibility: hidden;
}
.zgjj-carousel.zgjj-drag .zgjj-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.zgjj-carousel.zgjj-grab {
  cursor: move;
  cursor: grab;
}
.zgjj-carousel.zgjj-rtl {
  direction: rtl;
}
.zgjj-carousel.zgjj-rtl .zgjj-item {
  float: right;
}

/* No Js */
.no-js .zgjj-carousel {
  display: block;
}

/*
 *  zgjj Carousel - Animate Plugin
 */
.zgjj-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both;
}

.zgjj-carousel .zgjj-animated-in {
  z-index: 0;
}

.zgjj-carousel .zgjj-animated-out {
  z-index: 1;
}

.zgjj-carousel .fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*
 * 	zgjj Carousel - Auto Height Plugin
 */
.zgjj-height {
  transition: height 500ms ease-in-out;
}

/*
 * 	zgjj Carousel - Lazy Load Plugin
 */
.zgjj-carousel .zgjj-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the zgjj-item that breaks page layouts
		 */
}
.zgjj-carousel .zgjj-item .zgjj-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}
.zgjj-carousel .zgjj-item .zgjj-lazy[src^=""],
.zgjj-carousel .zgjj-item .zgjj-lazy:not([src]) {
  max-height: 0;
}
.zgjj-carousel .zgjj-item img.zgjj-lazy {
  transform-style: preserve-3d;
}

/*
 * 	zgjj Carousel - Video Plugin
 */
.zgjj-carousel .zgjj-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.zgjj-carousel .zgjj-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("zgjj.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease;
}

.zgjj-carousel .zgjj-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.zgjj-carousel .zgjj-video-playing .zgjj-video-tn,
.zgjj-carousel .zgjj-video-playing .zgjj-video-play-icon {
  display: none;
}

.zgjj-carousel .zgjj-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}

.zgjj-carousel .zgjj-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}
