Add industry mockup animator script for solutions page
- Enqueued new script `industry-animator.js` for animated device mockups. - Implemented animation logic for various industries including hospitality, retail, corporate, education, outdoor, and live data displays. - Utilized IntersectionObserver for performance optimization by pausing animations when off-screen.
This commit is contained in:
@@ -5422,3 +5422,109 @@ p:last-child { margin-bottom: 0; }
|
||||
.bd-ui__brand-bar { transform: scaleX(1); }
|
||||
.bd-ui__content { opacity: 1; transform: translateY(0); }
|
||||
}
|
||||
|
||||
/* ═══════════════════════════════════════════════════════════════
|
||||
INDUSTRY MOCKUP ANIMATIONS (.platform-visual.has-industry)
|
||||
═══════════════════════════════════════════════════════════════ */
|
||||
|
||||
.platform-visual.has-industry {
|
||||
background: none !important;
|
||||
border: none !important;
|
||||
border-radius: 0;
|
||||
aspect-ratio: unset;
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
box-shadow: none;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.ind-stage {
|
||||
width: 100%;
|
||||
max-width: 480px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.ind-stage svg {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
border-radius: var(--radius-md);
|
||||
box-shadow: 0 8px 32px rgba(0,0,0,.3);
|
||||
}
|
||||
|
||||
/* Subtle glow around active screens */
|
||||
.ind-stage svg rect[fill="#1c2333"] {
|
||||
transition: filter .6s ease;
|
||||
}
|
||||
|
||||
/* Animated content transitions */
|
||||
.ind-menu-price,
|
||||
.ind-sale-tag,
|
||||
.ind-footfall-val,
|
||||
.ind-kpi-val,
|
||||
.ind-meet-status,
|
||||
.ind-alert-text,
|
||||
.ind-weather-icon,
|
||||
.ind-weather-temp,
|
||||
.ind-busy-label,
|
||||
.ind-ld-val,
|
||||
.ind-ld-alert-text {
|
||||
transition: opacity .3s ease;
|
||||
}
|
||||
|
||||
.ind-menu-bar,
|
||||
.ind-rev-bar,
|
||||
.ind-vendor-bar,
|
||||
.ind-ld-bar {
|
||||
transition: height .4s ease, y .4s ease;
|
||||
}
|
||||
|
||||
.ind-product-slot {
|
||||
transition: stroke-width .3s ease;
|
||||
}
|
||||
|
||||
.ind-sched-slot {
|
||||
transition: opacity .4s ease, stroke .3s ease;
|
||||
}
|
||||
|
||||
.ind-wf-dot {
|
||||
transition: opacity .5s ease;
|
||||
}
|
||||
|
||||
.ind-alert-bar {
|
||||
transition: opacity .4s ease;
|
||||
}
|
||||
|
||||
.ind-meet-dot,
|
||||
.ind-busy-dot,
|
||||
.ind-ld-alert {
|
||||
transition: fill .4s ease;
|
||||
}
|
||||
|
||||
.ind-corp-line,
|
||||
.ind-ld-line {
|
||||
transition: d .3s ease;
|
||||
}
|
||||
|
||||
.ind-ld-pie {
|
||||
transition: d .4s ease;
|
||||
}
|
||||
|
||||
/* ── Reduced-motion overrides for industry animations ── */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.ind-menu-bar,
|
||||
.ind-rev-bar,
|
||||
.ind-vendor-bar,
|
||||
.ind-ld-bar,
|
||||
.ind-product-slot,
|
||||
.ind-sched-slot,
|
||||
.ind-wf-dot,
|
||||
.ind-alert-bar,
|
||||
.ind-corp-line,
|
||||
.ind-ld-line,
|
||||
.ind-ld-pie,
|
||||
.ind-meet-dot,
|
||||
.ind-busy-dot,
|
||||
.ind-ld-alert {
|
||||
transition: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user