.slp2-slider{
  --slp2-height-desktop:600px;
  --slp2-height-tablet:480px;
  --slp2-height-mobile:420px;
  --slp2-speed:800ms;
  --slp2-arrow-size:34px;
  --slp2-arrow-color:#ffffff;
  --slp2-arrow-hover-color:#f2f2f2;
  --slp2-arrow-offset:14px;
  --slp2-arrow-opacity:.55;
  --slp2-dot-size:10px;
  --slp2-dot-color:rgba(255,255,255,.45);
  --slp2-dot-active-color:#ffffff;
  --slp2-dot-offset:16px;
  --slp2-dot-opacity:.8;
  position:relative;
  overflow:hidden;
  width:100%;
  height:var(--slp2-height-desktop);
}
.slp2-slider *{ box-sizing:border-box; }
.slp2-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  will-change:transform, opacity;
}
.slp2-slide > *,
.slp2-slide .elementor,
.slp2-slide .elementor-section,
.slp2-slide .elementor-container,
.slp2-slide .elementor-column,
.slp2-slide .elementor-column-wrap,
.slp2-slide .elementor-widget-wrap,
.slp2-slide .e-con,
.slp2-slide .e-parent{ height:100%; }
.slp2-slide.slp2-active,
.slp2-slide[class*="slp2-enter-"],
.slp2-slide[class*="slp2-leave-"],
.slp2-slide.slp2-fade-in,
.slp2-slide.slp2-fade-out,
.slp2-slide.slp2-zoom-in,
.slp2-slide.slp2-zoom-out{
  visibility:visible;
  pointer-events:auto;
}

.slp2-slide.slp2-active{ opacity:1; z-index:2; }
.slp2-slider.slp2-height-auto{
  height:auto;
}
.slp2-slider.slp2-height-auto .slp2-slide > *,
.slp2-slider.slp2-height-auto .slp2-slide .elementor,
.slp2-slider.slp2-height-auto .slp2-slide .elementor-section,
.slp2-slider.slp2-height-auto .slp2-slide .elementor-container,
.slp2-slider.slp2-height-auto .slp2-slide .elementor-column,
.slp2-slider.slp2-height-auto .slp2-slide .elementor-column-wrap,
.slp2-slider.slp2-height-auto .slp2-slide .elementor-widget-wrap,
.slp2-slider.slp2-height-auto .slp2-slide .e-con,
.slp2-slider.slp2-height-auto .slp2-slide .e-parent{ height:auto !important; }
.slp2-slider.slp2-height-auto .slp2-slide.slp2-active{
  position:relative;
  inset:auto;
}
.slp2-slider.slp2-height-auto .slp2-slide.slp2-measuring{
  position:relative !important;
  inset:auto !important;
  visibility:hidden !important;
  opacity:1 !important;
  pointer-events:none !important;
  z-index:-1 !important;
  transform:none !important;
  animation:none !important;
}
.slp2-slider.slp2-height-auto.slp2-height-animating{
  overflow:hidden;
}
.slp2-slider.slp2-height-auto.slp2-height-animating .slp2-slide.slp2-active{
  position:absolute;
  inset:0;
}

.slp2-effect-slide-h .slp2-slide.slp2-before{ transform:translate3d(-100%,0,0); }
.slp2-effect-slide-h .slp2-slide.slp2-after{ transform:translate3d(100%,0,0); }
.slp2-effect-slide-v .slp2-slide.slp2-before{ transform:translate3d(0,-100%,0); }
.slp2-effect-slide-v .slp2-slide.slp2-after{ transform:translate3d(0,100%,0); }
.slp2-effect-fade .slp2-slide.slp2-before,
.slp2-effect-fade .slp2-slide.slp2-after,
.slp2-effect-zoom .slp2-slide.slp2-before,
.slp2-effect-zoom .slp2-slide.slp2-after{ transform:translate3d(0,0,0); }

.slp2-enter-from-right{ opacity:1; z-index:4; animation:slp2-enter-right var(--slp2-speed) ease both; }
.slp2-enter-from-left{ opacity:1; z-index:4; animation:slp2-enter-left var(--slp2-speed) ease both; }
.slp2-leave-to-left{ opacity:1; z-index:3; animation:slp2-leave-left var(--slp2-speed) ease both; }
.slp2-leave-to-right{ opacity:1; z-index:3; animation:slp2-leave-right var(--slp2-speed) ease both; }
@keyframes slp2-enter-right{ from{ transform:translate3d(100%,0,0); opacity:1; } to{ transform:translate3d(0,0,0); opacity:1; } }
@keyframes slp2-enter-left{ from{ transform:translate3d(-100%,0,0); opacity:1; } to{ transform:translate3d(0,0,0); opacity:1; } }
@keyframes slp2-leave-left{ from{ transform:translate3d(0,0,0); opacity:1; } to{ transform:translate3d(-100%,0,0); opacity:1; } }
@keyframes slp2-leave-right{ from{ transform:translate3d(0,0,0); opacity:1; } to{ transform:translate3d(100%,0,0); opacity:1; } }

.slp2-enter-from-bottom{ opacity:1; z-index:4; animation:slp2-enter-bottom var(--slp2-speed) ease both; }
.slp2-enter-from-top{ opacity:1; z-index:4; animation:slp2-enter-top var(--slp2-speed) ease both; }
.slp2-leave-to-top{ opacity:1; z-index:3; animation:slp2-leave-top var(--slp2-speed) ease both; }
.slp2-leave-to-bottom{ opacity:1; z-index:3; animation:slp2-leave-bottom var(--slp2-speed) ease both; }
@keyframes slp2-enter-bottom{ from{ transform:translate3d(0,100%,0); opacity:1; } to{ transform:translate3d(0,0,0); opacity:1; } }
@keyframes slp2-enter-top{ from{ transform:translate3d(0,-100%,0); opacity:1; } to{ transform:translate3d(0,0,0); opacity:1; } }
@keyframes slp2-leave-top{ from{ transform:translate3d(0,0,0); opacity:1; } to{ transform:translate3d(0,-100%,0); opacity:1; } }
@keyframes slp2-leave-bottom{ from{ transform:translate3d(0,0,0); opacity:1; } to{ transform:translate3d(0,100%,0); opacity:1; } }

.slp2-fade-in{ opacity:1; z-index:4; animation:slp2-fade-in-kf var(--slp2-speed) ease both; }
.slp2-fade-out{ opacity:1; z-index:3; animation:slp2-fade-out-kf var(--slp2-speed) ease both; }
@keyframes slp2-fade-in-kf{ from{ opacity:0; } to{ opacity:1; } }
@keyframes slp2-fade-out-kf{ from{ opacity:1; } to{ opacity:0; } }

.slp2-zoom-in{ opacity:1; z-index:3; animation:slp2-zoom-in-kf var(--slp2-speed) ease both; }
.slp2-zoom-out{ opacity:1; z-index:4; animation:slp2-zoom-out-kf var(--slp2-speed) ease both; }
@keyframes slp2-zoom-in-kf{ from{ transform:scale(1.12); opacity:.45; } to{ transform:scale(1); opacity:1; } }
@keyframes slp2-zoom-out-kf{ from{ transform:scale(1); opacity:1; } to{ transform:scale(1.12); opacity:0; } }

.slp2-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  background:#eee;
  color:#666;
  font-size:14px;
}
.slp2-slider.slp2-is-loading .slp2-slide{ opacity:0 !important; visibility:hidden !important; }
.slp2-loader{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.96);
  z-index:20;
}
.slp2-spinner{
  width:42px;
  height:42px;
  border:4px solid #d9d9d9;
  border-top-color:#222;
  border-radius:50%;
  animation:slp2-spin 1s linear infinite;
}
@keyframes slp2-spin{ from{ transform:rotate(0deg);} to{ transform:rotate(360deg);} }

.slp2-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:12;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  appearance:none;
  -webkit-appearance:none;
  color:var(--slp2-arrow-color);
  opacity:var(--slp2-arrow-opacity);
  font-size:var(--slp2-arrow-size);
  line-height:1;
  padding:0 6px;
  cursor:pointer;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
  transition:opacity .2s ease, color .2s ease, transform .2s ease;
}
.slp2-arrow:hover,
.slp2-arrow:active,
.slp2-arrow:focus{
  background:transparent !important;
  box-shadow:none !important;
}
.slp2-arrow:hover,
.slp2-arrow:active,
.slp2-arrow:focus,
.slp2-arrow:visited{
  color:var(--slp2-arrow-color) !important;
  background:transparent !important;
  background-color:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
  opacity:1;
}
.slp2-arrow:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:2px;
}
.slp2-arrow-prev{ left:var(--slp2-arrow-offset); }
.slp2-arrow-next{ right:var(--slp2-arrow-offset); }

.slp2-dots{
  position:absolute;
  left:50%;
  bottom:var(--slp2-dot-offset);
  transform:translateX(-50%);
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.slp2-dot{
  width:var(--slp2-dot-size);
  height:var(--slp2-dot-size);
  min-width:var(--slp2-dot-size);
  min-height:var(--slp2-dot-size);
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--slp2-dot-color);
  opacity:var(--slp2-dot-opacity);
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease, background .2s ease;
}
.slp2-dot:hover{ opacity:1; }
.slp2-dot:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:2px;
}
.slp2-dot.is-active{
  background:var(--slp2-dot-active-color);
  opacity:1;
  transform:scale(1.15);
}

@media (max-width: 1024px){
  .slp2-slider{ height:var(--slp2-height-tablet); }
}
@media (max-width: 767px){
  .slp2-slider{ height:var(--slp2-height-mobile); }
  .slp2-arrow{ padding:0 4px; }
}
