/* CUSTOM */

.carousel {
  padding: 0 !important;
  border-radius: 30px;
  overflow: hidden;
  z-index: 999;
}

.carousel .portfolio-item {
  margin-bottom: 0;
  border-radius: 0;
}

.carousel-mobile {
  position: absolute !important;
  width: 100%;
  top: 50px;
  border-radius: 0;
  z-index: -1;
}

.mobile-ux-nav {
  position: absolute;
  top: 65px;
  right: 73px;
}

.mobile-ux-nav span {
  cursor: url('../img/cursor-pointer.svg'), pointer;
  opacity: 0.075;
  display: block;
  width: 10px;
  height: 10px;
  overflow: hidden;
  margin-bottom: 5px;
  background-color: #000;
  border-radius: 50%;
  transition: opacity 400ms ease;
}

.mobile-ux-nav span.active, .mobile-ux-nav span:hover {
  opacity: 1;
}

.carousel-cell {
  width: 70%;
  opacity: 1;
  margin-right: 25px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 0 50px -35px rgba(20, 20, 20, 0.50);
}

.portfolio-item.mobile .carousel-cell {
  width: 224px;
  top: 12px;
  opacity: 1;
  height: 500px;
}

.mobile-shadow {
  width: 550px !important;
  height: 655px;
  display: inline-block;
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%) !important;
  z-index: -2;
}

.portfolio-item.mobile::before {
  content: '';
  display: block;
  width: 235px;
  height: 500px;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50px;
  background: #f8f9fa;
  z-index: -1;
}

.carousel-cell.is-selected {
  overflow: hidden;
  transition: transform .7s ease, width .7s ease;
  transition: opacity .5s ease;
}

.carousel-cell.is-selected .iframe-label{
  opacity: 1;
}

.carousel-cell:not(.carousel-cell.is-selected) {
  opacity: 0.9;
  transition: opacity .5s ease;
}

.portfolio-item.mobile .carousel-cell:not(.carousel-cell.is-selected) {
  opacity: 0;
  transition: opacity .5s ease;
}

.carousel-cell:not(.carousel-cell.is-selected):hover {
  opacity: 1;
}

.flickity-button {
  width: 55px !important;
  height: 55px !important;
  background-color: rgba(255,255,255,0.5) !important;
  border: 1px solid rgba(255, 255, 255, 1) !important;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.3);
}

.portfolio-item.mobile .flickity-button {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.05);
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 39% !important;
  top: 0 !important;
  width: 23% !important;
  height: 100% !important;
}

.flickity-prev-next-button.previous {
  left: 155px !important;
}

.flickity-prev-next-button.next {
  right: 155px !important;
}

.carousel-mobile .flickity-prev-next-button.previous {
  left: 50px !important;
}

.carousel-mobile .flickity-prev-next-button.next {
  right: 50px !important;
}

@media (max-width:1024px) {
  .carousel {
    border-radius: 0;
  }
  .carousel-cell {
    width: 100%;
    border-radius: 0;
  }
  .flickity-button {
    width: 44px !important;
    height: 44px !important;
    background-color: rgba(255,255,255,0.5) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.3);
    margin: 0;
  }
  .flickity-prev-next-button.next {
    bottom: 20px;
    right: 20px !important;
    top: unset;
    transform: none;
  }
  .flickity-prev-next-button.previous {
    bottom: 20px;
    left: 20px !important;
    top: unset;
    transform: none;
  }
  .ux-frame .iframe-label {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
  }
  .carousel-mobile .flickity-prev-next-button.next {
    height: 50px !important;
    width: 50px !important;
    bottom: 20px;
    right: 75px !important;
    background-color: rgba(255,255,255,0.5) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.3);
  }
  .carousel-mobile .flickity-prev-next-button.previous {
    height: 50px !important;
    width: 50px !important;
    bottom: 20px;
    left: 75px !important;
    background-color: rgba(255,255,255,0.5) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    box-shadow: 0 0 50px 0 rgba(0, 0, 0, 0.3);
  }
  .mobile-ux-nav {
    display: none;
    position: relative;
    top: unset;
    bottom: 20px;
    left: 50%;
    transform: translateX(calc(-50% + 7.5px));
  }
  .mobile-ux-nav span {
    display: inline-block;
    margin-bottom: 0;
    margin-right: 15px;
  }
}

/* ORIGINAL */

/*! Flickity v2.2.2
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: url('../img/cursor-pointer.svg'), pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: none;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: url('../img/cursor-pointer.svg'), pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/* ---- fade in image when loaded ---- */

.carousel-cell-image {
  transition: opacity 0.4s;
  opacity: 0;
}

.carousel-cell-image.flickity-lazyloaded,
.carousel-cell-image.flickity-lazyerror {
  opacity: 1;
}