BNA8/files_server/alarm-spinner.svg
2025-12-18 16:54:14 +04:00

83 lines
2.5 KiB
XML

<svg viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet">
<defs>
<linearGradient id="bell-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" style="stop-color:#e74c3c;stop-opacity:1" />
<stop offset="100%" style="stop-color:#c0392b;stop-opacity:1" />
</linearGradient>
<filter id="glow">
<feGaussianBlur stdDeviation="3" result="coloredBlur"/>
<feMerge>
<feMergeNode in="coloredBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
</defs>
<style>
@keyframes bellSwing {
0%, 100% { transform: rotate(-15deg); }
25% { transform: rotate(15deg); }
50% { transform: rotate(-15deg); }
75% { transform: rotate(15deg); }
}
@keyframes pulse {
0%, 100% { opacity: 0.4; transform: scale(0.95); }
50% { opacity: 0.7; transform: scale(1.05); }
}
.bell-swing {
animation: bellSwing 1.4s ease-in-out infinite;
transform-origin: 60px 42px;
}
.pulse-ring {
animation: pulse 2s ease-in-out infinite;
transform-origin: center;
}
</style>
<!-- Background pulse circles -->
<g class="pulse-ring">
<circle cx="60" cy="60" r="45" fill="none" stroke="#000000" stroke-width="2" opacity="0.5"/>
<circle cx="60" cy="60" r="38" fill="none" stroke="#000000" stroke-width="2" opacity="0.3"/>
</g>
<!-- Swinging bell -->
<g class="bell-swing">
<!-- Bell mounting point (circle at top) -->
<circle cx="60" cy="42" r="3.5" fill="#95a5a6"/>
<!-- Bell top handle -->
<rect x="56.5" y="45" width="7" height="3" rx="1" fill="url(#bell-gradient)"/>
<!-- Main bell body (classic bell curve) -->
<path d="M 57 48
Q 55 50, 54 54
Q 52 60, 50 66
Q 49 70, 48 74
L 48 77
Q 48 78, 48.5 78.5
L 71.5 78.5
Q 72 78, 72 77
L 72 74
Q 71 70, 70 66
Q 68 60, 66 54
Q 65 50, 63 48
Z"
fill="url(#bell-gradient)"
stroke="#c0392b"
stroke-width="1.5"
stroke-linejoin="round"/>
<!-- Bell bottom opening/rim - inner darker -->
<ellipse cx="60" cy="78" rx="11.5" ry="3" fill="#7f2318"/>
<!-- Bell bottom rim - outer edge -->
<ellipse cx="60" cy="78" rx="12" ry="3.5" fill="none" stroke="#a93226" stroke-width="1.5"/>
<!-- Small clapper visible at bottom -->
<ellipse cx="60" cy="77.5" rx="3" ry="2" fill="#95a5a6"/>
</g>
</svg>