
:root {
  --fx-duration: .35s;
  --fx-ease: cubic-bezier(.22, 1, .36, 1);
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

.fx-fade-up {
  animation: fxFadeUp var(--fx-duration) var(--fx-ease) both;
}
.fx-fade-in {
  animation: fxFadeIn .5s var(--fx-ease) both;
}
.fx-scale-in {
  animation: fxScaleIn .45s var(--fx-ease) both;
}

@keyframes fxFadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fxFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes fxScaleIn {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}

body.fx-enabled.fx-card-hover .fu-card,
body.fx-enabled.fx-card-hover .fu-product-card,
body.fx-enabled.fx-card-hover .product-card,
body.fx-enabled.fx-card-hover .shopping-product-card,
body.fx-enabled.fx-card-hover .fu-feature-card,
body.fx-enabled.fx-card-hover .fu-sol-card,
body.fx-enabled.fx-card-hover .fu-why-card,
body.fx-enabled.fx-card-hover .fu-prod-card,
body.fx-enabled.fx-card-hover .offer-item,
body.fx-enabled.fx-card-hover .user-center_product {
  transition: transform var(--fx-duration) var(--fx-ease), box-shadow var(--fx-duration) var(--fx-ease), border-color var(--fx-duration) var(--fx-ease);
}
body.fx-enabled.fx-card-hover .fu-card:hover,
body.fx-enabled.fx-card-hover .fu-product-card:hover,
body.fx-enabled.fx-card-hover .product-card:hover,
body.fx-enabled.fx-card-hover .shopping-product-card:hover,
body.fx-enabled.fx-card-hover .fu-feature-card:hover,
body.fx-enabled.fx-card-hover .fu-sol-card:hover,
body.fx-enabled.fx-card-hover .fu-prod-card:hover,
body.fx-enabled.fx-card-hover .offer-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(37, 99, 235, .12);
}

body.fx-enabled .btn,
body.fx-enabled .btn-primary,
body.fx-enabled .fu-primary-btn,
body.fx-enabled .fu-ghost-btn,
body.fx-enabled .button-a,
body.fx-enabled .fu-hero-cta,
body.fx-enabled .fu-btn-register {
  transition: background-color var(--fx-duration) var(--fx-ease), color var(--fx-duration) var(--fx-ease), transform .2s var(--fx-ease), box-shadow var(--fx-duration) var(--fx-ease);
}
body.fx-enabled .btn-primary:hover,
body.fx-enabled .fu-primary-btn:hover,
body.fx-enabled .fu-hero-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, .25);
}

body.fx-enabled.fx-nav-uline .fu-menu-link,
body.fx-enabled.fx-nav-uline .horizontal-menu-navbar-menu li a,
body.fx-enabled.fx-nav-uline .fu-main-nav a {
  position: relative;
}
body.fx-enabled.fx-nav-uline .fu-menu-link::after,
body.fx-enabled.fx-nav-uline .horizontal-menu-navbar-menu li a::after,
body.fx-enabled.fx-nav-uline .fu-main-nav a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 0;
  height: 2px;
  background: var(--fu-primary, #2563eb);
  transition: width var(--fx-duration) var(--fx-ease), left var(--fx-duration) var(--fx-ease);
}
body.fx-enabled.fx-nav-uline .fu-menu-link:hover::after,
body.fx-enabled.fx-nav-uline .fu-menu-link.is-active::after,
body.fx-enabled.fx-nav-uline .horizontal-menu-navbar-menu li a:hover::after,
body.fx-enabled.fx-nav-uline .fu-main-nav a:hover::after {
  width: 60%;
  left: 20%;
}

body.fx-enabled.fx-page-enter .fu-main-content,
body.fx-enabled.fx-page-enter .fu-hero,
body.fx-enabled.fx-page-enter .fu-section,
body.fx-enabled.fx-page-enter .fu-block,
body.fx-enabled.fx-page-enter .fu-features,
body.fx-enabled.fx-page-enter .shopping-cart-content {
  animation: fxFadeUp .5s var(--fx-ease) both;
}
body.fx-enabled.fx-page-enter .L_code-right-form {
  animation: fxScaleIn .55s var(--fx-ease) both;
}

body.fx-enabled.fx-stagger .fu-features-grid,
body.fx-enabled.fx-stagger .fu-sol-grid,
body.fx-enabled.fx-stagger .fu-why-grid,
body.fx-enabled.fx-stagger .fu-prod-grid,
body.fx-enabled.fx-stagger .fx-stagger {
  
}
body.fx-enabled.fx-stagger .fu-features-grid > *,
body.fx-enabled.fx-stagger .fu-sol-grid > *,
body.fx-enabled.fx-stagger .fu-why-grid > *,
body.fx-enabled.fx-stagger .fu-prod-grid > *,
body.fx-enabled.fx-stagger .fx-stagger > * {
  animation: fxFadeUp .5s var(--fx-ease) both;
}
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(1),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(1),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(1),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(1),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(1) { animation-delay: .05s; }
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(2),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(2),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(2),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(2),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(2) { animation-delay: .1s; }
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(3),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(3),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(3),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(3),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(3) { animation-delay: .15s; }
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(4),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(4),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(4),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(4),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(4) { animation-delay: .2s; }
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(5),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(5),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(5),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(5),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(5) { animation-delay: .25s; }
body.fx-enabled.fx-stagger .fu-features-grid > *:nth-child(6),
body.fx-enabled.fx-stagger .fu-sol-grid > *:nth-child(6),
body.fx-enabled.fx-stagger .fu-why-grid > *:nth-child(6),
body.fx-enabled.fx-stagger .fu-prod-grid > *:nth-child(6),
body.fx-enabled.fx-stagger .fx-stagger > *:nth-child(6) { animation-delay: .3s; }

.fx-pulse {
  animation: fxPulse 1.6s ease-in-out infinite;
}
@keyframes fxPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .55; }
}
