CO2 Cloud Tracker
CSSA stylized CO2 molecular cloud outline slowly contracts as a downward arrow slides through its center, symbolizing carbon reduction.
- Tier
- CSS
- Dependencies
- None
- Duration
- 4 s, loops
- Categories
- Icons and micro-interactions
- Use cases
- Dashboards and reporting, Compliance and audit
- Industries
- Energy and utilities, Cross-industry
- Style
- Minimal line · light stroke
- Set
- emission
- Tags
- arrowminimallinepulsescale
Companion assets
The same artwork, not animated. Derived from the entry’s own resting state, so it matches exactly.
Code
animation.svg
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="pulsar pulsar-emission-co2-cloud" data-pulsar="emission-co2-cloud" viewBox="0 0 160 96"><line x1="42" x2="118" y1="74" y2="74" stroke-dasharray="3 3" opacity=".3"></line><path stroke-width="1.5" d="M58 56c-8 0-12-8-8-14-2-8 6-14 16-12 6-6 22-6 28 0 10-2 18 4 16 12 4 6 0 14-8 14Z" class="emission-cloud-body"></path><g class="emission-cloud-co2-text" opacity=".35"><path stroke-width="1.2" d="M64 42a4 4 0 1 0 0 6"></path><circle cx="76" cy="45" r="3.5" stroke-width="1.2"></circle><path d="M85 43q3-2 3 1-2 2-3 4h4"></path></g><g class="emission-cloud-arrow"><line x1="80" x2="80" y1="20" y2="68" stroke="var(--pulsar-accent, currentColor)" stroke-width="2"></line><polyline stroke="var(--pulsar-accent, currentColor)" stroke-width="2" points="74 62, 80 68, 86 62"></polyline></g><line x1="68" x2="92" y1="74" y2="74" stroke="var(--pulsar-accent, currentColor)" stroke-width="2" class="emission-cloud-ripple"></line></svg>
animation.css
.pulsar-emission-co2-cloud {
display: block;
overflow: visible;
}
.pulsar-emission-co2-cloud .emission-cloud-body {
transform-origin: 80px 42px;
animation: emission-co2-cloud-contract-anim 4000ms ease-in-out infinite;
}
.pulsar-emission-co2-cloud .emission-cloud-co2-text {
transform-origin: 80px 45px;
animation: emission-co2-cloud-text-anim 4000ms ease-in-out infinite;
}
.pulsar-emission-co2-cloud .emission-cloud-arrow {
animation: emission-co2-cloud-arrow-slide 4000ms cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.pulsar-emission-co2-cloud .emission-cloud-ripple {
transform-origin: 80px 74px;
animation: emission-co2-cloud-ripple-anim 4000ms ease-out infinite;
}
@keyframes emission-co2-cloud-contract-anim {
0%,
100% {
transform: scale(1);
opacity: 0.9;
}
45%,
65% {
transform: scale(0.88);
opacity: 0.65;
}
}
@keyframes emission-co2-cloud-text-anim {
0%,
100% {
opacity: 0.35;
transform: scale(1);
}
45%,
65% {
opacity: 0.6;
transform: scale(0.9);
}
}
@keyframes emission-co2-cloud-arrow-slide {
0% {
transform: translateY(-12px);
opacity: 0;
}
20% {
opacity: 1;
}
50%,
75% {
transform: translateY(0px);
opacity: 1;
}
88%,
100% {
transform: translateY(4px);
opacity: 0;
}
}
@keyframes emission-co2-cloud-ripple-anim {
0%,
48% {
transform: scaleX(0.2);
opacity: 0;
}
52% {
opacity: 0.9;
transform: scaleX(0.5);
}
72%,
100% {
transform: scaleX(1.4);
opacity: 0;
}
}
@media (prefers-reduced-motion: reduce) {
.pulsar-emission-co2-cloud .emission-cloud-body,
.pulsar-emission-co2-cloud .emission-cloud-co2-text,
.pulsar-emission-co2-cloud .emission-cloud-arrow,
.pulsar-emission-co2-cloud .emission-cloud-ripple {
animation: none;
transform: none;
opacity: 1;
}
.pulsar-emission-co2-cloud .emission-cloud-ripple {
opacity: 0;
}
}