/* Mizrahnik icons: colours for light and dark, and the entry motion. No script, nothing loaded from outside.
   Every rule is scoped to .mzi, the root of an icon. This file is the source: the icon library is generated against it. */
/* The second line of tokens: an object that has a colour of its own (a hand, a heart, a coin) is drawn in it, the same in both modes.
   --i-edge is the line of such an object. It stays dark in dark mode: a light line around a full colour reads as a frame. */
.mzi{display:block;--i-ink:#111827;--i-fill:#FFEEAD;--i-green-fill:#5FA886;--i-accent:#5FA886;--i-solid:#5FA886;--i-badge:#5FA886;--i-on-badge:#fff;
--i-edge:#111827;--i-skin:#F2C4A0;--i-pink:#F6B5C6;--i-petal:#F6A6C1;--i-red:#F47C7C;--i-roof:#E57368;--i-sun:#FFC83D;--i-gold:#F7C948;--i-sand:#E9C46A;--i-wheat:#E9B949;--i-sky:#A9D3F5;--i-money:#A9D9A8;--i-leaf:#5FA886;--i-wood:#C89B6D;--i-carton:#DDB07A;--i-leather:#B98A5E;--i-stone:#C5CBD3;--i-white:#fff}
html[data-theme="dark"] .mzi{--i-ink:#e5e7eb;--i-fill:rgba(95,168,134,.30);--i-green-fill:rgba(95,168,134,.65)}
.mzi.mzi-badge,html[data-theme="dark"] .mzi.mzi-badge{--i-ink:#fff;--i-accent:#FFEEAD;--i-solid:#fff}
/* An icon on a surface that is yellow in light mode: its yellow fill would vanish, so it turns white. The class is written by hand when the icon is placed. */
html:not([data-theme="dark"]) .mzi.mzi-on-yellow{--i-fill:#fff}

/* Motion. The icon draws itself when its Elementor widget enters the viewport (Elementor adds the class "animated"). Outside such a widget the icon is simply drawn. */
.elementor-element.animated .mzi .st{stroke-dasharray:1.02 1;animation:mzi-draw .7s cubic-bezier(.6,0,.3,1) both;animation-delay:var(--dd,calc(var(--i)*70ms + 120ms))}
.elementor-element.animated .mzi .fl{animation:mzi-fade .4s ease-out both;animation-delay:calc(var(--i)*70ms + 300ms)}
.elementor-element.animated .mzi .fo{animation:mzi-fill .6s cubic-bezier(.2,.7,.2,1) .45s both}
.elementor-element.animated .mzi .dc{transform-box:fill-box;transform-origin:center;animation:mzi-disc .55s cubic-bezier(.2,.7,.2,1) both}
.elementor-element.animated .mzi .bd{transform-box:fill-box;transform-origin:center;animation:mzi-pop .5s cubic-bezier(.3,1.4,.5,1) .75s both}
.elementor-element.animated .mzi .cp{animation:mzi-fade .01s .35s both}
@keyframes mzi-draw{0%{stroke-dashoffset:1.02;opacity:0}6%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@keyframes mzi-fade{from{opacity:0}to{opacity:1}}
@keyframes mzi-fill{from{opacity:0}to{opacity:1}}
@keyframes mzi-disc{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes mzi-pop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}

/* Choreography of one part: fx-<kind>, timed by --d, shaped by --x --y --r and transform-origin (24 grid units). */
.mzi .fx{transform-origin:12px 12px}
.elementor-element.animated .mzi .fx{animation:var(--k) var(--t,.9s) var(--d,0s) var(--e,cubic-bezier(.2,.7,.2,1)) both}
.mzi .fx-pop,.mzi .fx-beat,.mzi .fx-zoom,.mzi .fx-tap{transform-box:fill-box;transform-origin:center}
.mzi .fx-grow{transform-box:fill-box;transform-origin:50% 100%}
.mzi .fx-growd{transform-box:fill-box;transform-origin:50% 0}
.mzi .fx-mv{--k:mzi-e-mv;--t:1s}
.mzi .fx-land{--k:mzi-e-land;--t:1.5s;--e:ease-out}
.mzi .fx-drop{--k:mzi-e-drop;--t:.75s;--e:linear}
.mzi .fx-pop{--k:mzi-e-pop;--t:.5s;--e:cubic-bezier(.3,1.5,.5,1)}
.mzi .fx-zoom{--k:mzi-e-zoom;--t:.9s}
.mzi .fx-unfold{--k:mzi-e-unfold;--t:.75s;--e:cubic-bezier(.3,1.3,.5,1)}
.mzi .fx-grow,.mzi .fx-growd{--k:mzi-e-grow;--t:.7s;--e:cubic-bezier(.3,1.25,.5,1)}
.mzi .fx-step{--k:mzi-e-step;--t:1.7s;--e:ease-out}
.mzi .fx-blink{--k:mzi-e-blink;--t:1s;--e:linear}
.mzi .fx-wave{--k:mzi-e-wave;--t:1.5s;--e:ease-out}
.mzi .fx-rise{--k:mzi-e-rise;--t:1.8s;--e:ease-out}
.mzi .fx-fall{--k:mzi-e-fall;--t:1.4s;--e:ease-in}
.mzi .fx-rot{--k:mzi-e-rot;--t:1.2s;--e:cubic-bezier(.4,0,.3,1)}
.mzi .fx-swing{--k:mzi-e-swing;--t:1.5s;--e:ease-in-out}
.mzi .fx-shake{--k:mzi-e-shake;--t:.9s;--e:linear}
.mzi .fx-beat{--k:mzi-e-beat;--t:.9s;--e:ease-in-out}
.mzi .fx-tap{--k:mzi-e-tap;--t:.7s}
.mzi .fx-nod{--k:mzi-e-nod;--t:.8s;--e:ease-in-out}
@keyframes mzi-e-mv{0%{opacity:0;transform:translate(var(--x),var(--y))}18%{opacity:1}100%{opacity:1;transform:none}}
@keyframes mzi-e-land{0%{opacity:0;transform:translate(var(--x),var(--y))}14%{opacity:1}68%{transform:none}80%{transform:translateY(-1px)}100%{opacity:1;transform:none}}
@keyframes mzi-e-drop{0%{opacity:0;transform:translateY(var(--y));animation-timing-function:cubic-bezier(.5,0,1,.7)}12%{opacity:1}55%{transform:none;animation-timing-function:ease-out}76%{transform:translateY(calc(var(--y)*.14));animation-timing-function:ease-in}100%{opacity:1;transform:none}}
@keyframes mzi-e-pop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
@keyframes mzi-e-zoom{from{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}
@keyframes mzi-e-unfold{0%{opacity:0;transform:scaleX(.12)}25%{opacity:1}100%{opacity:1;transform:none}}
@keyframes mzi-e-grow{0%{opacity:0;transform:scaleY(.1)}25%{opacity:1}100%{opacity:1;transform:none}}
@keyframes mzi-e-step{0%{opacity:0;transform:translateY(3px)}14%,50%{opacity:1;transform:none}62%{opacity:.2;transform:translateY(-2.5px)}78%,100%{opacity:1;transform:none}}
@keyframes mzi-e-blink{0%{opacity:0}15%{opacity:1}30%{opacity:.15}50%{opacity:1}65%{opacity:.15}85%,100%{opacity:1}}
@keyframes mzi-e-wave{0%{opacity:0;transform:scale(.72)}22%{opacity:1;transform:none}48%{opacity:0;transform:scale(1.12)}52%{opacity:0;transform:scale(.72)}78%,100%{opacity:1;transform:none}}
@keyframes mzi-e-rise{0%{opacity:0;transform:translateY(var(--y))}22%{opacity:1}45%{opacity:0;transform:translateY(calc(var(--y)*-1))}46%{opacity:0;transform:translateY(var(--y))}70%{opacity:1}100%{opacity:1;transform:none}}
@keyframes mzi-e-fall{0%{opacity:0;transform:translateY(var(--y))}28%{opacity:1;transform:none}44%{opacity:0;transform:translateY(calc(var(--y)*-1))}46%{opacity:0;transform:translateY(var(--y))}80%,100%{opacity:1;transform:none}}
@keyframes mzi-e-rot{0%{transform:rotate(var(--r))}78%{transform:rotate(calc(var(--r)*-.05))}100%{transform:none}}
@keyframes mzi-e-swing{0%,100%{transform:none}14%{transform:rotate(var(--r))}34%{transform:rotate(calc(var(--r)*-.75))}54%{transform:rotate(calc(var(--r)*.5))}72%{transform:rotate(calc(var(--r)*-.28))}88%{transform:rotate(calc(var(--r)*.1))}}
@keyframes mzi-e-shake{0%,100%{transform:none}10%{transform:rotate(var(--r))}25%{transform:rotate(calc(var(--r)*-1))}40%{transform:rotate(calc(var(--r)*.8))}55%{transform:rotate(calc(var(--r)*-.6))}70%{transform:rotate(calc(var(--r)*.4))}85%{transform:rotate(calc(var(--r)*-.2))}}
@keyframes mzi-e-beat{0%,100%{transform:none}20%{transform:scale(1.16)}40%{transform:scale(.96)}60%{transform:scale(1.1)}80%{transform:scale(.99)}}
@keyframes mzi-e-tap{0%,100%{transform:none}35%{transform:translateY(1.4px) scale(.92)}70%{transform:translateY(-.4px) scale(1.02)}}
@keyframes mzi-e-nod{0%,100%{transform:none}40%{transform:translate(var(--x),var(--y))}72%{transform:translate(calc(var(--x)*-.15),calc(var(--y)*-.15))}}

/* A glyph without choreography: one soft move of the whole glyph. */
.elementor-element.animated .mzi .mo{transform-box:fill-box;transform-origin:var(--mo-o,center);animation:var(--mo) var(--mo-t,1.1s) var(--mo-d,.15s) cubic-bezier(.3,.7,.3,1) both}
.mzi .mo-fly{--mo:mzi-fly}
.mzi .mo-spin{--mo:mzi-spin;--mo-t:1.2s}
.mzi .mo-beat{--mo:mzi-e-beat;--mo-d:.9s;--mo-t:.8s}
.mzi .mo-wobble{--mo:mzi-wobble;--mo-o:50% 90%;--mo-d:.8s;--mo-t:.8s}
.mzi .mo-float{--mo:mzi-float;--mo-d:.3s;--mo-t:1.3s}
@keyframes mzi-fly{from{transform:translate(-7px,7px)}to{transform:none}}
@keyframes mzi-spin{from{transform:rotate(-270deg)}to{transform:none}}
@keyframes mzi-wobble{0%,100%{transform:none}25%{transform:rotate(-5deg)}55%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}}
@keyframes mzi-float{0%{transform:translateY(3px)}60%{transform:translateY(-1.2px)}100%{transform:none}}

@media (prefers-reduced-motion:reduce){.mzi *{animation:none!important;opacity:1!important}}
/* A widget that still waits for its own entrance holds the motion, even when a parent section has already entered.
   Same specificity as the motion rules above, so this rule must stay last. */
.elementor-element.elementor-invisible .mzi :is(.st,.fl,.fo,.dc,.bd,.cp,.fx,.mo){animation:none}
