/*
 *  UniQ Menu (Carousel Styles v1.2.0)
 *  Author: uniq.webdev@gmail.com
 */
.uq-sc-carousel {
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;

  display: none;

  width: 100%;

  -webkit-tap-highlight-color: transparent;
}

.uq-sc-carousel.uq-sc-loaded .uq-row-item {
  max-width: 100% !important;

  flex: 0 0 auto !important;
}

.uq-sc-carousel .uq-sc-stage {
  position: relative;

  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}

.uq-sc-carousel .uq-sc-stage:after {
  line-height: 0;

  display: block;
  visibility: hidden;
  clear: both;

  height: 0;

  content: '.';
}

.uq-sc-carousel .uq-sc-stage-outer {
  position: relative;

  overflow: hidden;
  /* fix for flashing background */

  -webkit-transform: translate3d(0px, 0px, 0px);
}

.uq-sc-carousel .uq-sc-wrapper,
.uq-sc-carousel .uq-sc-item {
  -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
      -ms-transform: translate3d(0, 0, 0);

  -webkit-backface-visibility: hidden;
     -moz-backface-visibility: hidden;
      -ms-backface-visibility: hidden;
}

.uq-sc-carousel .uq-sc-item {
  position: relative;

  float: left;

  min-height: 1px;

  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.uq-sc-carousel .uq-sc-nav.disabled,
.uq-sc-carousel .uq-sc-dots.disabled {
  display: none;
}

.uq-sc-carousel .uq-sc-nav .uq-sc-prev,
.uq-sc-carousel .uq-sc-nav .uq-sc-next,
.uq-sc-carousel .uq-sc-dot {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.uq-sc-carousel .uq-sc-nav button.uq-sc-prev,
.uq-sc-carousel .uq-sc-nav button.uq-sc-next,
.uq-sc-carousel button.uq-sc-dot {
  border: none;
}

.uq-sc-carousel.uq-sc-loaded {
  display: block;
}

.uq-sc-carousel.uq-sc-loading {
  display: block;

  opacity: 0;
}

.uq-sc-carousel.uq-sc-hidden {
  opacity: 0;
}

.uq-sc-carousel.uq-sc-refresh .uq-sc-item {
  visibility: hidden;
}

.uq-sc-carousel.uq-sc-drag .uq-sc-item {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;

  touch-action: pan-y;
}

.uq-sc-carousel.uq-sc-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor:         grab;
}

.uq-sc-carousel.uq-sc-rtl {
  direction: rtl;
}

.uq-sc-carousel.uq-sc-rtl .uq-sc-item {
  float: right;
}

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

/*
 *  Carousel - Animate Plugin
 */
.uq-sc-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;

  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

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

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

.uq-sc-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

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

  100% {
    opacity: 0;
  }
}

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

/*
 * 	Carousel - Lazy Load Plugin
 */
.uq-sc-carousel .uq-sc-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 uq-sc-item that breaks page layouts
		 */
}

.uq-sc-carousel .uq-sc-item .uq-sc-lazy {
  transition: opacity 400ms ease;

  opacity: 0;
}

.uq-sc-carousel .uq-sc-item .uq-sc-lazy[src^=''],
.uq-sc-carousel .uq-sc-item .uq-sc-lazy:not([src]) {
  max-height: 0;
}

.uq-sc-carousel .uq-sc-item img.uq-sc-lazy {
  transform-style: preserve-3d;
}

/*
 * 	Default theme - Carousel CSS File
 */
.uq-carousel-theme .uq-sc-nav {
  text-align: center;

  -webkit-tap-highlight-color: transparent;
}

.uq-carousel-theme .uq-sc-nav [class*='uq-sc-'] {
  font-size: 2rem;
  line-height: 1;

  position: absolute;
  top: 50%;

  display: inline-block;

  margin-top: -2.5rem;
  padding: .75rem .5rem;

  cursor: pointer;
  transition: color .3s ease, background .3s ease;

  color: #bdbdbd;
  border-radius: .25rem;
  outline: 0;
  background: transparent;
}

.uq-carousel-theme .uq-sc-nav [class*='uq-sc-']:hover {
  text-decoration: none;

  color: #fff;
  background: #bdbdbd;
}

.uq-carousel-theme .uq-sc-nav .uq-sc-prev {
  right: auto;
  left: -2.5rem;
}

.uq-carousel-theme .uq-sc-nav .uq-sc-next {
  right: -2.5rem;
  left: auto;
}

[dir='rtl'] .uq-carousel-theme .uq-sc-nav .uq-sc-prev {
  right: -2.5rem;
  left: auto;
}

[dir='rtl'] .uq-carousel-theme .uq-sc-nav .uq-sc-next {
  right: auto;
  left: -2.5rem;
}

.uq-carousel-theme .uq-sc-nav .disabled {
  cursor: default;

  opacity: .5;
}

.uq-carousel-theme .uq-sc-nav.disabled + .uq-sc-dots {
  margin-top: 10px;
}

.uq-carousel-theme .uq-sc-dots {
  text-align: center;

  -webkit-tap-highlight-color: transparent;
}

.uq-carousel-theme .uq-sc-dots .uq-sc-dot {
  display: inline-block;
  zoom: 1;

  padding: 0;

  outline: 0;
  background: none;

  *display: inline;
}

.uq-carousel-theme .uq-sc-dots .uq-sc-dot span {
  display: block;

  width: 10px;
  height: 10px;
  margin: 5px 7px;

  transition: opacity .3s ease, background .3s ease;

  border-radius: 30px;
  background: #eee;

  -webkit-backface-visibility: visible;
}

.uq-carousel-theme .uq-sc-dots .uq-sc-dot.active span,
.uq-carousel-theme .uq-sc-dots .uq-sc-dot:hover span {
  background: #bdbdbd;
}
