.home .ez-ad-stick .sticks {
  animation:
    heroScaleIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s forwards,
    heroSubtleFloat 4s ease-in-out 1.5s infinite;
}

.home .ez-ad-stick .new-badge {
  left: 120px;
  top: 100px;
  transform: rotate(-10deg);
  animation:
    heroScaleIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 1.2s forwards,
    pulse 2s ease-in-out 2s infinite;
}

.celebrate-text-wrapper {
  position: absolute;
  top: -10px;
  right: 22px;
  opacity: 0;
  animation: heroFloatIn 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s forwards;
}

.celebrate-badge {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(23, 179, 204, 0.2);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  color: #1a1a1a;
}

.hero-screen-wrapper .ez-ad-software {
  left: 75px;
  bottom: 0;
  opacity: 0;
  animation:
    heroScaleIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0.5s forwards,
    heroSubtleFloat 4s ease-in-out 1.5s infinite;
}

.hero-screen-wrapper .ez-ad-stick-wrapper {
  bottom: -3px;
  right: 105px;
  opacity: 0;
  animation: heroSlideUp 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s forwards;
}

.hero-screen-wrapper .new-badge {
  right: -39px;
  top: 81px;
  opacity: 0;
  animation:
    heroScaleIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 1.2s forwards,
    pulse 2s ease-in-out 2s infinite;
}

.hero-screen-wrapper .ez-ad-software,
.hero-screen-wrapper .ez-ad-stick-wrapper,
.hero-screen-wrapper .new-badge {
  animation-play-state: paused;
}

.hero-screen-wrapper .ez-ad-stick-wrapper.active-animation,
.hero-screen-wrapper .ez-ad-software.active-animation,
.hero-screen-wrapper .new-badge.active-animation {
  animation-play-state: running;
}

#industryTabContent .img-wrapper img:hover {
  transform: scale(1.05);
}

.video-wrap::before,
.video-wrap::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  width: 2px;
  height: 100%;
  background: #fff;
  pointer-events: auto;
}

.video-wrap::before {
  left: -1px;
}

.video-wrap::after {
  right: -1px;
}

@media screen and (min-width: 1800.98px) {
  .home .ez-ad-stick-gradient-banner {
    border-radius: 14px;
    border: 4px solid #76ecff;
    background: linear-gradient(
      86deg,
      #17b3cc 46.4%,
      rgba(23, 135, 204, 0.22) 94.13%
    );
    position: relative;
    transform: translateX(78px);
  }
}

@media screen and (min-width: 1399.98px) {
  .home .ez-ad-stick .sticks {
    bottom: -150px;
  }
  .home .ez-ad-stick .new-badge {
    top: 300px;
  }
}

@media screen and (max-width: 767.98px) {
  .home .ez-ad-stick .new-badge {
    left: 70px;
    width: 60px;
    height: 60px;
    top: 70px;
  }
}

@media screen and (max-width: 1399.98px) {
  .celebrate-text-wrapper {
    top: -10px;
    right: 20px;
  }
  .hero-screen-wrapper .ez-ad-software {
    left: 0;
    width: 250px;
  }
  .hero-screen-wrapper .ez-ad-stick-wrapper {
    right: 20px;
  }
  .hero-screen-wrapper .ez-ad-tv-stick {
    width: 150px;
  }
  .hero-screen-wrapper .new-badge {
    width: 60px;
    height: 60px;
    right: -19px;
    top: 64px;
  }
}

@media screen and (max-width: 991.98px) {
  .celebrate-text-wrapper {
    position: relative;
    top: auto;
    right: auto;
  }
  .celebrate-text-wrapper .celebrate-text {
    font-size: 14px;
  }
  .celebrate-text-wrapper .icon {
    width: 17px;
    height: 17px;
  }
  .hero-screen-wrapper .ez-ad-software {
    left: 0;
    width: 120px;
  }
  .hero-screen-wrapper .ez-ad-tv-stick {
    width: 100px;
  }
  .hero-screen-wrapper .ez-ad-stick-wrapper {
    bottom: auto;
    top: 60px;
    right: 25px;
    transform: rotate(-30deg);
  }
  .hero-screen-wrapper .new-badge {
    width: 35px;
    height: 35px;
    right: -7px;
    top: 38px;
  }
}

@media screen and (max-width: 575.98px) {
  .celebrate-text-wrapper .celebrate-text {
    font-size: 13px;
  }
  .hero-screen-wrapper .ez-ad-software {
    left: 15px;
    width: 85px;
  }
  .hero-screen-wrapper .ez-ad-tv-stick {
    width: 70px;
  }
  .hero-screen-wrapper .ez-ad-stick-wrapper {
    top: 50px;
  }
}

@media screen and (max-width: 390.98px) {
  .celebrate-text-wrapper .celebrate-text {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .celebrate-text-wrapper,
  .hero-screen-wrapper .ez-ad-software,
  .hero-screen-wrapper .ez-ad-stick-wrapper,
  .hero-screen-wrapper .new-badge {
    animation: none;
    opacity: 1;
  }
}

/* Hero Slider - Random Animation Overrides for Bootstrap Carousel */
#heroSlider .carousel-item {
  transition: none;
}

#heroSlider .carousel-item-next,
#heroSlider .carousel-item-prev {
  opacity: 0;
}

#heroSlider .carousel-item.active {
  opacity: 1;
}

#heroSlider .carousel-item.hero-anim-active {
  opacity: 1;
}

/* Fade In */
@keyframes heroFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Fade through black */
@keyframes heroFadeBlackIn {
  0% { opacity: 0; background: #000; }
  40% { opacity: 1; background: #000; }
  100% { opacity: 1; background: transparent; }
}

/* Slide from top */
@keyframes heroSlideFromTop {
  from { opacity: 1; transform: translateY(-100%); }
  to { opacity: 1; transform: translateY(0); }
}

/* Slide from bottom */
@keyframes heroSlideFromBottom {
  from { opacity: 1; transform: translateY(100%); }
  to { opacity: 1; transform: translateY(0); }
}

/* Zoom in */
@keyframes heroZoomIn {
  from { opacity: 0; transform: scale(1.3); }
  to { opacity: 1; transform: scale(1); }
}

/* Zoom out reveal */
@keyframes heroZoomOut {
  from { opacity: 0; transform: scale(0.7); }
  to { opacity: 1; transform: scale(1); }
}

/* Slide from left */
@keyframes heroSlideFromLeft {
  from { opacity: 1; transform: translateX(-100%); }
  to { opacity: 1; transform: translateX(0); }
}

/* Slide from right */
@keyframes heroSlideFromRight {
  from { opacity: 1; transform: translateX(100%); }
  to { opacity: 1; transform: translateX(0); }
}

/* Flip horizontal */
@keyframes heroFlipIn {
  from { opacity: 0; transform: perspective(800px) rotateY(90deg); }
  to { opacity: 1; transform: perspective(800px) rotateY(0); }
}

/* Blur fade in */
@keyframes heroBlurIn {
  from { opacity: 0; filter: blur(20px); }
  to { opacity: 1; filter: blur(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider__slide.entering {
    animation: heroFadeIn 0.3s ease forwards !important;
  }
}
