﻿/* SVG geometry stays visible until this element has a working observer. */
.rew-icon-wrap{display:flex}
.rew-icon{--rew-icon-size:56px;--rew-icon-primary:var(--rew-ink);--rew-icon-secondary:var(--rew-accent);--rew-icon-stroke:3;--rew-icon-fill-opacity:.55;--rew-icon-dur:1400ms;--rew-icon-ambient:8000ms;--rew-icon-delay:0ms;--rew-icon-float:6px;--rew-icon-scale:1.04;--rew-icon-rotate:0deg;--rew-icon-bg:var(--mg-bg-soft);--rew-icon-pad:18px;display:inline-flex;align-items:center;justify-content:center;flex:none;transform:rotate(var(--rew-icon-rotate));color:var(--rew-icon-primary)}
.rew-icon .rew-svg{display:block;width:var(--rew-icon-size);height:var(--rew-icon-size);overflow:visible;transition:transform .35s ease}
.rew-icon .rew-i-s{stroke:var(--rew-icon-primary);stroke-width:var(--rew-icon-stroke)}
.rew-icon .rew-i-f{fill:var(--rew-icon-secondary);opacity:var(--rew-icon-fill-opacity)}
.rew-icon--no-fill .rew-i-f{display:none}
.rew-icon--shape-circle,.rew-icon--shape-rounded,.rew-icon--shape-arch{padding:var(--rew-icon-pad);background:var(--rew-icon-bg)}
.rew-icon--shape-circle{border-radius:50%}.rew-icon--shape-rounded{border-radius:28%}.rew-icon--shape-arch{border-radius:999px 999px 18px 18px}
.rew-motion-ready.rew-icon--draw .rew-i-s{stroke-dasharray:1;stroke-dashoffset:1}
.rew-motion-ready.rew-icon--draw .rew-i-f{opacity:0;transition:opacity .6s ease calc(var(--rew-icon-delay) + var(--rew-icon-dur)*.6)}
.rew-motion-ready.rew-icon--draw.is-in .rew-i-s{animation:rew-draw var(--rew-icon-dur) ease var(--rew-icon-delay) forwards}
.rew-motion-ready.rew-icon--draw.is-in .rew-i-f{opacity:var(--rew-icon-fill-opacity)}
@keyframes rew-draw{to{stroke-dashoffset:0}}
.rew-motion-ready.rew-icon--reveal:not(.is-in) .rew-svg{opacity:0;transform:translateY(8px)}
.rew-motion-ready.rew-icon--scale:not(.is-in) .rew-svg{opacity:0;transform:scale(.96)}
.rew-icon--reveal .rew-svg,.rew-icon--scale .rew-svg{transition:opacity .7s ease var(--rew-icon-delay),transform .7s ease var(--rew-icon-delay)}
.rew-icon--float.is-in .rew-svg,.rew-icon--bounce.is-in .rew-svg,.rew-icon--then-float.is-in .rew-svg{animation:rew-float var(--rew-icon-ambient) ease-in-out infinite}
.rew-icon--organic.is-in .rew-svg{animation:svg-organic var(--rew-icon-ambient) ease-in-out infinite}
.rew-icon--then-float.is-in .rew-svg,.rew-icon--then-sway.is-in .rew-svg{animation-delay:var(--rew-icon-dur)}
.rew-icon--pulse.is-in .rew-svg{animation:rew-pulse var(--rew-icon-ambient) ease-in-out infinite}
.rew-icon--rotate.is-in .rew-svg{animation:svg-rotate 48s linear infinite}
.rew-icon--sway.is-in .rew-svg,.rew-icon--then-sway.is-in .rew-svg{animation:rew-sway var(--rew-icon-ambient) ease-in-out infinite;transform-origin:50% 90%}
.rew-icon.is-paused .rew-svg{animation-play-state:paused}
@keyframes rew-float{50%{transform:translateY(calc(-1 * min(var(--rew-icon-float),12px)))}}
@keyframes rew-pulse{50%{transform:scale(min(var(--rew-icon-scale),1.04))}}
@keyframes rew-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.rew-icon--hover-lift:hover .rew-svg,.e-con:hover>.elementor-widget-rew-icon .rew-icon--hover-lift .rew-svg{translate:0 -2px}
.rew-icon--hover-scale:hover .rew-svg{scale:min(var(--rew-icon-scale),1.04)}
.rew-icon--hover-spin:hover .rew-svg,.rew-icon--hover-wiggle:hover .rew-svg{rotate:3deg}
/* Reusable classes for Advanced > CSS Classes on native Image/Icon widgets or decoration wrappers. */
.svg-decor{pointer-events:none}.svg-motion-target{--svg-ambient-duration:8000ms;--svg-draw-duration:1400ms;--svg-reveal-duration:700ms;--svg-float-y:6px;--svg-float-x:3px;--svg-float-angle:2deg;transform-origin:center;transition:opacity var(--svg-reveal-duration) ease,translate var(--svg-reveal-duration) ease}
.svg-motion-managed .rew-icon .rew-svg{animation:none}.svg-motion-managed .rew-icon--draw .rew-i-s{stroke-dasharray:none;stroke-dashoffset:0}.svg-motion-managed .rew-icon--draw .rew-i-f{opacity:var(--rew-icon-fill-opacity)}
.svg-reveal.svg-motion-ready:not(.svg-is-in) .svg-motion-target,.svg-line-reveal.svg-motion-ready:not(.svg-is-in):not(.svg-inline-draw) .svg-motion-target{opacity:0;translate:0 8px}
.svg-inline-draw.svg-motion-ready .svg-draw-path{stroke-dasharray:var(--svg-path-length);stroke-dashoffset:var(--svg-path-length)}
.svg-inline-draw.svg-is-in .svg-draw-path{animation:rew-draw var(--svg-draw-duration,1400ms) ease forwards}
.svg-float.svg-is-in .svg-motion-target{animation:svg-float var(--svg-ambient-duration) ease-in-out infinite}
.svg-float-organic.svg-is-in .svg-motion-target{animation:svg-organic var(--svg-ambient-duration) ease-in-out infinite}
.svg-rotate-slow.svg-is-in .svg-motion-target{animation:svg-rotate var(--svg-rotation-duration,48000ms) linear infinite}
.svg-motion-ready:not(.svg-motion-active) .svg-motion-target{animation-play-state:paused}
.svg-parallax .svg-motion-target{translate:0 var(--svg-parallax-y,0px)}
.svg-hover:hover .svg-motion-target{translate:0 -2px;rotate:1deg}
@keyframes svg-float{50%{transform:translateY(calc(-1 * var(--svg-float-y)))}}
@keyframes svg-organic{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(var(--svg-float-x,3px),calc(-1 * var(--svg-float-y,6px))) rotate(var(--svg-float-angle,2deg))}70%{transform:translate(calc(-1 * var(--svg-float-x,3px)),-3px) rotate(calc(-1 * var(--svg-float-angle,2deg)))}}
@keyframes svg-rotate{to{transform:rotate(360deg)}}
.rew-editor-preview .svg-decor{pointer-events:auto}
/* Static states cancel motion only. Opacity is left alone: the reveal's hidden state needs .svg-motion-ready, which
   rew-icon.js never adds in the editor, under reduced motion or without IntersectionObserver, and forcing opacity:1
   here overrode the Image widget's own Opacity control (faint line art turned solid). */
.rew-editor-preview .svg-motion-target,.rew-editor-preview .rew-icon .rew-svg{animation:none!important;transform:none!important;translate:none!important}
.rew-editor-preview .svg-draw-path,.rew-editor-preview .rew-icon .rew-i-s{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}
@media(max-width:767px){.svg-hide-small{display:none!important}.svg-parallax .svg-motion-target{translate:none}}
@media(prefers-reduced-motion:reduce){.svg-motion-target,.rew-icon .rew-svg{animation:none!important;transition:none!important;transform:none!important;translate:none!important;rotate:none!important;scale:none!important}.svg-draw-path,.rew-icon .rew-i-s{animation:none!important;stroke-dasharray:none!important;stroke-dashoffset:0!important}.rew-icon .rew-i-f{opacity:var(--rew-icon-fill-opacity)!important;transition:none!important}}

.svg-static .svg-motion-target,.svg-static .rew-svg{animation:none!important;translate:none!important}
