/**
 * SV Marquee Widget Styles
 * @version 2.0.0
 * @author Softivus
 */
/* =====================
   MARQUEE WRAPPER
   ===================== */
.sv-marquee-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.sv-marquee-wrapper .sv-marquee-horizontal {
  display: flex;
  align-items: center;
}

/* =====================
   MARQUEE CONTENT
   ===================== */
.sv-marquee-content {
  display: flex;
  white-space: nowrap;
  will-change: transform;
}

/* Horizontal Layout */
.sv-marquee-horizontal .sv-marquee-content {
  flex-direction: row;
}

/* Vertical Layout */
.sv-marquee-vertical .sv-marquee-content {
  flex-direction: column;
}

/* =====================
   MARQUEE ITEMS
   ===================== */
.sv-marquee-item {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.sv-marquee-vertical .sv-marquee-item {
  flex-direction: column;
}

.sv-marquee-item a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

/* Image + Text Layout */
.sv-marquee-item .sv-marquee-image {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sv-marquee-item .sv-marquee-image img {
  display: block;
  max-width: 100%;
  height: auto;
  transition: all 0.3s ease;
}

.sv-marquee-item .sv-marquee-text {
  display: inline-block;
  white-space: nowrap;
}

.sv-marquee-vertical .sv-marquee-text {
  writing-mode: vertical-lr;
}

.sv-marquee-vertical.sv-marquee-reverse .sv-marquee-text {
  writing-mode: sideways-lr;
}

/* =====================
   ANIMATIONS
   ===================== */
/* Horizontal - Right to Left (Default) */
@keyframes sv-marquee-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* Horizontal - Left to Right (Reverse) */
@keyframes sv-marquee-left {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
/* Vertical - Top to Bottom (Default) */
@keyframes sv-marquee-down {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}
/* Vertical - Bottom to Top (Reverse) */
@keyframes sv-marquee-up {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
/* =====================
   HOVER EFFECTS
   ===================== */
.sv-marquee-item:hover {
  transform: scale(1.05);
}

/* Image Hover Animations */
.sv-marquee-item .sv-marquee-image img {
  transform-origin: center;
}

/* Zoom In */
.sv-marquee-hover-animation-zoom-in:hover .sv-marquee-image img {
  transform: scale(1.15);
}

/* Zoom Out */
.sv-marquee-hover-animation-zoom-out:hover .sv-marquee-image img {
  transform: scale(0.85);
}

@keyframes sv-marquee-rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Rotate */
.sv-marquee-hover-animation-rotate:hover .sv-marquee-image img,
.sv-marquee-continue-animation-rotate .sv-marquee-image img {
  animation: sv-marquee-rotation 1s linear infinite;
}

@keyframes sv-marquee-scale-rotation {
  0% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.2) rotate(15deg);
  }
}
/* Scale + Rotate */
.sv-marquee-hover-animation-scale-rotate:hover .sv-marquee-image img,
.sv-marquee-continue-animation-scale-rotate .sv-marquee-image img {
  animation: sv-marquee-scale-rotation 1s linear infinite;
}

/* Bounce Animation */
@keyframes sv-marquee-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(-15px);
  }
  75% {
    transform: translateY(-8px);
  }
}
.sv-marquee-hover-animation-bounce:hover .sv-marquee-image img,
.sv-marquee-continue-animation-bounce .sv-marquee-image img {
  animation: sv-marquee-bounce 0.6s ease infinite;
}

/* Swing Animation */
@keyframes sv-marquee-swing {
  0%, 100% {
    transform: rotate(0deg);
  }
  20% {
    transform: rotate(-10deg);
  }
  40% {
    transform: rotate(10deg);
  }
  60% {
    transform: rotate(-5deg);
  }
  80% {
    transform: rotate(5deg);
  }
}
.sv-marquee-hover-animation-swing:hover .sv-marquee-image img,
.sv-marquee-continue-animation-swing .sv-marquee-image img {
  animation: sv-marquee-swing 0.8s ease infinite;
}

/* =====================
   RESPONSIVE
   ===================== */
@media (max-width: 768px) {
  .sv-marquee-item {
    font-size: 14px;
  }
  .sv-marquee-image img {
    max-width: 80px !important;
  }
}
@media (max-width: 480px) {
  .sv-marquee-item {
    font-size: 12px;
  }
  .sv-marquee-image img {
    max-width: 60px !important;
  }
}
/* =====================
   UTILITY CLASSES
   ===================== */
.sv-marquee-content > * {
  flex-shrink: 0;
}

/* Smooth rendering */
.sv-marquee-wrapper,
.sv-marquee-content,
.sv-marquee-item {
  backface-visibility: hidden;
  perspective: 1000;
}

/* Prevent text selection */
.sv-marquee-wrapper {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* GPU Acceleration */
.sv-marquee-content {
  transform: translate3d(0, 0, 0);
}

/* =====================
   PAUSE ON HOVER
   ===================== */
.sv-marquee-pause-hover:hover .sv-marquee-content {
  animation-play-state: paused !important;
}/*# sourceMappingURL=sv-marquee.css.map */