/* MoxKit chart widget. */
/* Chart widget (dependency-free SVG) */
/* The SVG has no intrinsic width, so in a wrapping container (Elementor's mobile default) the widget was sized as if it
   were 300px wide and its labels ran into the next element. A definite width keeps the height in step with the drawing. */
.elementor-widget-moxkit-chart:not(.elementor-widget__width-auto,.elementor-widget__width-initial){width:100%}
.moxkit-chart{--moxkit-chart-grid:#eceff3;--moxkit-chart-text:#697386;--moxkit-chart-value-offset:6px}
.moxkit-chart-svg{width:100%;height:auto;display:block;overflow:visible}
.moxkit-chart-grid{stroke:var(--moxkit-chart-grid);stroke-width:1}
/* Text is HTML laid over / beside the SVG, so it keeps its real size and the site's typography. */
.moxkit-chart-value{color:var(--moxkit-chart-text);font-size:13px;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}
.moxkit-chart-label{color:var(--moxkit-chart-text);font-size:13px;font-weight:500;line-height:1.3}
.moxkit-chart-plot{position:relative}
.moxkit-chart-ghost{display:block;visibility:hidden;margin-bottom:var(--moxkit-chart-value-offset);pointer-events:none}
.moxkit-chart-canvas{position:relative}
.moxkit-chart-pin{position:absolute;z-index:1;pointer-events:none;transform:translate(-50%,calc(-100% - var(--moxkit-chart-value-offset)))}
.moxkit-chart-pin.is-inside{transform:translate(-50%,var(--moxkit-chart-value-offset));color:#fff}
.moxkit-chart-pin.is-below{transform:translate(-50%,var(--moxkit-chart-value-offset))}
.moxkit-chart-ticks{display:grid;margin-top:8px}
.moxkit-chart-tick{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding-inline:4px;text-align:center}
.moxkit-chart-tick--label-left,.moxkit-chart-tick--label-right{flex-direction:row;align-items:baseline;justify-content:center;gap:6px}
.moxkit-chart-tick .moxkit-chart-label{max-width:100%;overflow-wrap:break-word;word-break:normal}
.moxkit-chart-ticks--truncate .moxkit-chart-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.moxkit-chart-tick--label-left .moxkit-chart-label,.moxkit-chart-tick--label-right .moxkit-chart-label{min-width:0}
/* Vertical bars with the label and value beside each bar. */
.moxkit-chart-side{position:absolute;z-index:1;display:flex;align-items:baseline;gap:4px;line-height:1.2;pointer-events:none}
.moxkit-chart-side.is-vertical{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.moxkit-chart-side.is-vertical.is-right{margin-left:var(--moxkit-chart-side-gap, 6px)}
.moxkit-chart-side.is-vertical.is-left{margin-right:var(--moxkit-chart-side-gap, 6px)}
.moxkit-chart-side:is(.is-top,.is-bottom){flex-direction:column;align-items:flex-start;gap:2px;overflow-wrap:break-word}
.moxkit-chart-side:is(.is-top,.is-bottom).is-right{padding-left:var(--moxkit-chart-side-gap, 10px)}
.moxkit-chart-side:is(.is-top,.is-bottom).is-left{align-items:flex-end;padding-right:var(--moxkit-chart-side-gap, 10px);text-align:right}
.moxkit-chart-side.is-bottom .moxkit-chart-label{opacity:.75}
/* With a Maximum value the rest of each bar shows as a track in the grid color, unless Track color sets one. */
.moxkit-chart--max{--moxkit-chart-track-auto:var(--moxkit-chart-grid)}
.moxkit-chart-vtrack{fill:var(--moxkit-chart-track, var(--moxkit-chart-track-auto, transparent))}
/* Horizontal bars: one shared grid so labels, bars, and values line up across rows. */
.moxkit-chart-hgrid{--moxkit-chart-bar-h:14px;display:grid;align-items:center;column-gap:12px;row-gap:var(--moxkit-chart-row-gap, 14px)}
.moxkit-chart-hgrid--label-top{row-gap:6px}
.moxkit-chart-hgrid--label-top .moxkit-chart-row+.moxkit-chart-row .moxkit-chart-hlabel{margin-top:calc(var(--moxkit-chart-row-gap, 14px) - 6px)}
.moxkit-chart-row{display:contents}
.moxkit-chart-hlabel{display:flex;align-items:baseline;gap:8px;min-width:0}
.moxkit-chart-hgrid--label-right .moxkit-chart-hlabel{justify-content:flex-start}
.moxkit-chart-hlabel .moxkit-chart-label{overflow-wrap:break-word}
.moxkit-chart-hlabel .moxkit-chart-value{margin-inline-start:auto}
.moxkit-chart-track{position:relative;display:flex;align-items:center;min-width:0;height:var(--moxkit-chart-bar-h);border-radius:var(--moxkit-chart-radius, 4px);background:var(--moxkit-chart-track, var(--moxkit-chart-track-auto, transparent))}
.moxkit-chart-hbar{display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;height:100%;min-width:0;border-radius:var(--moxkit-chart-radius, 4px);transform-origin:0 50%}
[dir=rtl] .moxkit-chart-hbar{transform-origin:100% 50%}
.moxkit-chart-hbar.is-end-round{border-start-start-radius:0;border-end-start-radius:0}
.moxkit-chart-value.is-inside{color:#fff}
.moxkit-chart-hbar .moxkit-chart-value{padding-inline:8px;overflow:hidden}
.moxkit-chart-value.is-end{position:absolute;top:50%;margin-inline-start:var(--moxkit-chart-value-offset);transform:translateY(-50%)}
.moxkit-chart-reserve{visibility:hidden;padding-inline-start:var(--moxkit-chart-value-offset)}
.moxkit-chart-vcell{min-width:0}
.moxkit-chart-donut-wrap{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.moxkit-chart-donut{position:relative;width:200px;max-width:100%;aspect-ratio:1;flex:0 0 auto}
.moxkit-chart-donut svg{width:100%;height:100%;display:block}
.moxkit-chart-donut-track{stroke:var(--moxkit-chart-grid)}
.moxkit-chart-donut-center{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.moxkit-chart-center-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:inherit;box-sizing:border-box;width:var(--moxkit-chart-hole, 60%);aspect-ratio:1;padding:6%;border-radius:50%;background:var(--moxkit-chart-center-bg, transparent);text-align:center;line-height:1.15;overflow-wrap:anywhere}
.moxkit-chart-center-value{font-size:26px;font-weight:750;color:var(--moxkit-ink)}
.moxkit-chart-center-label{font-size:13px;color:var(--moxkit-muted)}
.moxkit-chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:150px;flex:1}
.moxkit-chart-legend li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--moxkit-ink)}
.moxkit-chart-swatch{width:var(--moxkit-chart-swatch, 12px);height:var(--moxkit-chart-swatch, 12px);border-radius:3px;flex:0 0 auto}
.moxkit-chart-legend-value{margin-inline-start:auto;font-weight:700;font-variant-numeric:tabular-nums}
/* Chart entrance animations: widgets.js adds .is-armed, then .is-inview when the chart is visible. */
.moxkit-chart{--moxkit-chart-dur:900ms;--moxkit-chart-step:0ms}
.moxkit-chart[data-stagger=yes]{--moxkit-chart-step:calc(var(--moxkit-chart-dur) / (var(--moxkit-chart-count, 6) + 2))}
.moxkit-chart-bar,.moxkit-chart-dot{transform-box:fill-box;transform-origin:50% 100%;transition:opacity .2s}
.moxkit-chart-dot{transform-origin:50% 50%}
.moxkit-chart-line,.moxkit-chart-area{transform-box:fill-box;transform-origin:50% 100%}
.moxkit-chart.is-armed:not(.is-inview) :is(.moxkit-chart-bar,.moxkit-chart-line,.moxkit-chart-area,.moxkit-chart-dot,.moxkit-chart-value,.moxkit-chart-slice){opacity:0}
.moxkit-chart.is-inview .moxkit-chart-bar{animation-duration:var(--moxkit-chart-dur);animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-delay:calc(var(--moxkit-i, 0) * var(--moxkit-chart-step))}
.moxkit-chart[data-anim=grow].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-grow}
.moxkit-chart[data-anim=bounce].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-bounce;animation-timing-function:ease-out}
.moxkit-chart[data-anim=elastic].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-elastic;animation-timing-function:linear}
.moxkit-chart[data-anim=fade].is-inview .moxkit-chart-bar{animation-name:moxkit-chart-fade}
.moxkit-chart[data-anim=slide].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-slide}
.moxkit-chart[data-anim=zoom].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-zoom;transform-origin:50% 50%}
.moxkit-chart[data-anim=drop].is-inview .moxkit-chart-bar{animation-name:moxkit-bar-drop;animation-timing-function:ease-out}
.moxkit-chart.is-inview .moxkit-chart-value{animation:moxkit-chart-fade .4s ease both;animation-delay:calc(var(--moxkit-i, 0) * var(--moxkit-chart-step) + var(--moxkit-chart-dur) * .7)}
/* Line & area. */
.moxkit-chart[data-anim=draw].is-inview .moxkit-chart-line{stroke-dasharray:var(--moxkit-len, 2000);animation:moxkit-line-draw var(--moxkit-chart-dur) ease-in-out both}
.moxkit-chart[data-anim=rise].is-inview :is(.moxkit-chart-line,.moxkit-chart-area){animation:moxkit-line-rise var(--moxkit-chart-dur) cubic-bezier(.2,.8,.2,1) both}
.moxkit-chart[data-anim=fade].is-inview :is(.moxkit-chart-line,.moxkit-chart-area){animation:moxkit-chart-fade var(--moxkit-chart-dur) ease both}
.moxkit-chart[data-anim=draw].is-inview .moxkit-chart-area{animation:moxkit-chart-fade calc(var(--moxkit-chart-dur) * .6) ease both;animation-delay:calc(var(--moxkit-chart-dur) * .5)}
.moxkit-chart:is([data-anim=draw],[data-anim=rise],[data-anim=fade]).is-inview .moxkit-chart-dot{animation:moxkit-dot-pop .45s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--moxkit-chart-dur) * .35 + var(--moxkit-i, 0) * var(--moxkit-chart-step))}
/* Donut. */
.moxkit-chart[data-anim=sweep].is-inview .moxkit-chart-slice{animation:moxkit-slice-sweep calc(var(--moxkit-chart-dur) * .7) ease-out both;animation-delay:calc(var(--moxkit-i, 0) * var(--moxkit-chart-step))}
.moxkit-chart[data-anim=spin].is-inview .moxkit-chart-donut svg{animation:moxkit-donut-spin var(--moxkit-chart-dur) cubic-bezier(.2,.8,.2,1) both}
.moxkit-chart[data-anim=spin].is-armed:not(.is-inview) .moxkit-chart-slice{opacity:1}
.moxkit-chart[data-anim=spin].is-armed:not(.is-inview) .moxkit-chart-donut svg{opacity:0}
.moxkit-chart[data-anim=fade].is-inview .moxkit-chart-slice{animation:moxkit-chart-fade var(--moxkit-chart-dur) ease both;animation-delay:calc(var(--moxkit-i, 0) * var(--moxkit-chart-step))}
.moxkit-chart--horizontal[data-anim=grow].is-inview .moxkit-chart-bar{animation-name:moxkit-hbar-grow}
.moxkit-chart--horizontal[data-anim=bounce].is-inview .moxkit-chart-bar{animation-name:moxkit-hbar-bounce}
.moxkit-chart--horizontal[data-anim=elastic].is-inview .moxkit-chart-bar{animation-name:moxkit-hbar-elastic}
.moxkit-chart--horizontal[data-anim=slide].is-inview .moxkit-chart-bar{animation-name:moxkit-hbar-slide}
.moxkit-chart--horizontal[data-anim=drop].is-inview .moxkit-chart-bar{animation-name:moxkit-hbar-drop}
.moxkit-chart--horizontal[data-anim=zoom].is-inview .moxkit-chart-bar{transform-origin:50% 50%}
@media(prefers-reduced-motion:reduce){
 .moxkit-chart :is(.moxkit-chart-bar,.moxkit-chart-line,.moxkit-chart-area,.moxkit-chart-dot,.moxkit-chart-value,.moxkit-chart-slice,svg){animation:none!important}
}
.moxkit-chart.is-done :is(.moxkit-chart-bar,.moxkit-chart-line,.moxkit-chart-area,.moxkit-chart-dot,.moxkit-chart-value,.moxkit-chart-slice,svg){animation:none}
@keyframes moxkit-chart-fade{from{opacity:0}to{opacity:1}}
@keyframes moxkit-hbar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes moxkit-hbar-bounce{0%{transform:scaleX(0)}
60%{transform:scaleX(1.08)}
80%{transform:scaleX(.97)}
100%{transform:scaleX(1)}
}
@keyframes moxkit-hbar-elastic{0%{transform:scaleX(0)}
35%{transform:scaleX(1.12)}
55%{transform:scaleX(.94)}
72%{transform:scaleX(1.04)}
86%{transform:scaleX(.99)}
100%{transform:scaleX(1)}
}
@keyframes moxkit-hbar-slide{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
@keyframes moxkit-hbar-drop{0%{opacity:0;transform:translateY(-24px)}
60%{opacity:1;transform:translateY(4px)}
80%{transform:translateY(-2px)}
100%{transform:none}
}
@keyframes moxkit-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes moxkit-bar-bounce{0%{transform:scaleY(0)}
60%{transform:scaleY(1.12)}
80%{transform:scaleY(.95)}
100%{transform:scaleY(1)}
}
@keyframes moxkit-bar-elastic{0%{transform:scaleY(0)}
35%{transform:scaleY(1.2)}
55%{transform:scaleY(.9)}
72%{transform:scaleY(1.06)}
86%{transform:scaleY(.98)}
100%{transform:scaleY(1)}
}
@keyframes moxkit-bar-slide{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes moxkit-bar-zoom{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
@keyframes moxkit-bar-drop{0%{opacity:0;transform:translateY(-120px)}
60%{opacity:1;transform:translateY(8px)}
80%{transform:translateY(-3px)}
100%{transform:none}
}
@keyframes moxkit-line-draw{from{stroke-dashoffset:var(--moxkit-len, 2000)}to{stroke-dashoffset:0}}
@keyframes moxkit-line-rise{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}
@keyframes moxkit-dot-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes moxkit-slice-sweep{from{stroke-dasharray:0 100}}
@keyframes moxkit-donut-spin{from{opacity:0;transform:rotate(-120deg) scale(.7)}to{opacity:1;transform:none}}
