/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 *  Owl Carousel - Core
 */
/* Owl default: disembunyikan sampai siap */
    .owl-carousel {
    display: none;            /* akan jadi block saat .owl-loaded */
    width: 100%;
    -webkit-tap-highlight-color: transparent;

    /* fix webkit font rendering ketika transform/animasi */
    position: relative;
    z-index: 1;
    }

    /* Setelah Owl inisialisasi */
    .owl-carousel.owl-loaded {
    display: block;
    }

    /* Viewport pembungkus stage */
    .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;          /* cegah item keluar area */
    -webkit-transform: translateZ(0); /* pemicu compositing untuk halus */
    transform: translateZ(0);
    }

    /* Track yang digeser */
    .owl-carousel .owl-stage {
    position: relative;

    /* izinkan scroll vertikal, geser horizontal oleh script */
    -ms-touch-action: pan-y;
    touch-action: pan-y;

    /* kurangi glitch animasi di beberapa browser */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;

    will-change: transform;   /* hint performa */
    }

/* Setiap slide/item */
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Gambar full-bleed (opsional) */
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;     /* biar swipe tidak ketahan img */
}

/* Nonaktif saat drag (opsional) */
.owl-carousel .owl-grab {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

/* Hilangkan flicker pada animasi fade/transform (opsional) */
.owl-carousel .owl-animated {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
    .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden; /* mencegah konten keluar saat slide */
    
    /* fix untuk flashing background saat animasi di Safari & Chrome */
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    }

    /* Track utama (pengganti .owl-wrapper versi lama) */
    .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-y;
    touch-action: pan-y;

    /* hindari glitch pada animasi transform */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;

    will-change: transform;
    }

    /* Setiap item di dalam carousel */
    .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    }

    /* Gambar responsif dan tidak draggable */
    .owl-carousel .owl-item img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-user-drag: none;
    user-select: none;
    pointer-events: none;
    }
    .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;

    /* cegah glitch/flicker saat animasi transform */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;

    /* aktifkan GPU compositing untuk animasi lebih halus */
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);

    /* tambahan opsional untuk performa */
    will-change: transform;
    }
/* Setiap slide/item pada Owl Carousel */
    .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;

    /* float diperlukan oleh Owl Carousel versi lama untuk layout */
    float: left;

    /* Hilangkan glitch saat animasi di Safari/Chrome/Firefox */
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden;

    /* Performa swipe lebih halus */
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);

    /* Hilangkan highlight biru saat tap di mobile */
    -webkit-tap-highlight-color: transparent;

    /* Nonaktifkan callout menu di iOS saat tap & tahan */
    -webkit-touch-callout: none;

    /* Browser hint untuk transform agar animasi lebih smooth */
    will-change: transform;
    }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-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; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  min-height: 1px;
}

/* Elemen lazy (img atau container dengan bg) default transparan */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: opacity, transform;
}

/* Owl v2 menambahkan .loaded setelah resource siap */
.owl-carousel .owl-item .owl-lazy.loaded {
  opacity: 1;
}

/* Saat src masih kosong (sebelum dimuat), cegah tinggi ghost */
.owl-carousel .owl-item .owl-lazy[src=""],
.owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0;
  visibility: hidden;
}

/* IMG lazy: responsif + smooth rendering */
.owl-carousel .owl-item img.owl-lazy {
  display: block;
  width: 100%;
  height: auto;
  transform-style: preserve-3d;           /* kurangi flicker */
  -webkit-transform: translate3d(0,0,0);  /* aktifkan GPU layer */
  transform: translate3d(0,0,0);
}

/* Optional: jika pakai lazy background via data-src pada div/span */
.owl-carousel .owl-lazy-bg {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0;
  transition: opacity 400ms ease;
}
.owl-carousel .owl-lazy-bg.loaded {
  opacity: 1;
}

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;

  /* center dengan transform lebih modern daripada margin negatif */
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);

  background: url("owl.video.play.png") no-repeat center center;
  background-size: contain;  /* pastikan gambar scale bagus di retina */
  
  cursor: pointer;
  z-index: 1;

  /* hilangkan flicker saat transisi transform */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

  /* efek animasi saat hover */
  transition: transform 150ms ease;
  -webkit-transition: transform 150ms ease;
}

/* --- Efek interaksi saat hover/fokus --- */
.owl-carousel .owl-video-play-icon:hover,
.owl-carousel .owl-video-play-icon:focus {
  transform: translate(-50%, -50%) scale(1.1);
  -webkit-transform: translate(-50%, -50%) scale(1.1);
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
      transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }
