PageSourceSearch

https://kabulnow.com/wp-content/themes/KabulNow/assets/js/functions.js?ver=1769430618

js kabulnow.com collected 2026-09-24 07:52:53 UTC 168,591 bytes, 6,523 lines download raw bytes

1/*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */
2!(function (e, t) {
3	'object' == typeof exports && 'undefined' != typeof module
4		? (module.exports = t())
5		: 'function' == typeof define && define.amd
6			? define(t)
7			: ((e =
8					'undefined' != typeof globalThis
9						? globalThis
10						: e || self).DOMPurify = t());
11})(this, function () {
12	'use strict';
13	const {
14		entries: e,
15		setPrototypeOf: t,
16		isFrozen: n,
17		getPrototypeOf: o,
18		getOwnPropertyDescriptor: r,
19	} = Object;
20	let { freeze: i, seal: a, create: l } = Object,
21		{ apply: c, construct: s } = 'undefined' != typeof Reflect && Reflect;
22	i ||
23		(i = function (e) {
24			return e;
25		}),
26		a ||
27			(a = function (e) {
28				return e;
29			}),
30		c ||
31			(c = function (e, t, n) {
32				return e.apply(t, n);
33			}),
34		s ||
35			(s = function (e, t) {
36				return new e(...t);
37			});
38	const u = b(Array.prototype.forEach),
39		m = b(Array.prototype.pop),
40		p = b(Array.prototype.push),
41		f = b(String.prototype.toLowerCase),
42		d = b(String.prototype.toString),
43		h = b(String.prototype.match),
44		g = b(String.prototype.replace),
45		T = b(String.prototype.indexOf),
46		y = b(String.prototype.trim),
47		E = b(Object.prototype.hasOwnProperty),
48		_ = b(RegExp.prototype.test),
49		A =
50			((N = TypeError),
51			function () {
52				for (
53					var e = arguments.length, t = new Array(e), n = 0;
54					n < e;
55					n++
56				)
57					t[n] = arguments[n];
58				return s(N, t);
59			});
60	var N;
61	function b(e) {
62		return function (t) {
63			for (
64				var n = arguments.length,
65					o = new Array(n > 1 ? n - 1 : 0),
66					r = 1;
67				r < n;
68				r++
69			)
70				o[r - 1] = arguments[r];
71			return c(e, t, o);
72		};
73	}
74	function S(e, o) {
75		let r =
76			arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : f;
77		t && t(e, null);
78		let i = o.length;
79		for (; i--; ) {
80			let t = o[i];
81			if ('string' == typeof t) {
82				const e = r(t);
83				e !== t && (n(o) || (o[i] = e), (t = e));
84			}
85			e[t] = !0;
86		}
87		return e;
88	}
89	function R(e) {
90		for (let t = 0; t < e.length; t++) {
91			E(e, t) || (e[t] = null);
92		}
93		return e;
94	}
95	function w(t) {
96		const n = l(null);
97		for (const [o, r] of e(t)) {
98			E(t, o) &&
99				(Array.isArray(r)
100					? (n[o] = R(r))
101					: r && 'object' == typeof r && r.constructor === Object
102						? (n[o] = w(r))
103						: (n[o] = r));
104		}
105		return n;
106	}
107	function C(e, t) {
108		for (; null !== e; ) {
109			const n = r(e, t);
110			if (n) {
111				if (n.get) return b(n.get);
112				if ('function' == typeof n.value) return b(n.value);
113			}
114			e = o(e);
115		}
116		return function () {
117			return null;
118		};
119	}
120	const L = i([
121			'a',
122			'abbr',
123			'acronym',
124			'address',
125			'area',
126			'article',
127			'aside',
128			'audio',
129			'b',
130			'bdi',
131			'bdo',
132			'big',
133			'blink',
134			'blockquote',
135			'body',
136			'br',
137			'button',
138			'canvas',
139			'caption',
140			'center',
141			'cite',
142			'code',
143			'col',
144			'colgroup',
145			'content',
146			'data',
147			'datalist',
148			'dd',
149			'decorator',
150			'del',
151			'details',
152			'dfn',
153			'dialog',
154			'dir',
155			'div',
156			'dl',
157			'dt',
158			'element',
159			'em',
160			'fieldset',
161			'figcaption',
162			'figure',
163			'font',
164			'footer',
165			'form',
166			'h1',
167			'h2',
168			'h3',
169			'h4',
170			'h5',
171			'h6',
172			'head',
173			'header',
174			'hgroup',
175			'hr',
176			'html',
177			'i',
178			'img',
179			'input',
180			'ins',
181			'kbd',
182			'label',
183			'legend',
184			'li',
185			'main',
186			'map',
187			'mark',
188			'marquee',
189			'menu',
190			'menuitem',
191			'meter',
192			'nav',
193			'nobr',
194			'ol',
195			'optgroup',
196			'option',
197			'output',
198			'p',
199			'picture',
200			'pre',
201			'progress',
202			'q',
203			'rp',
204			'rt',
205			'ruby',
206			's',
207			'samp',
208			'section',
209			'select',
210			'shadow',
211			'small',
212			'source',
213			'spacer',
214			'span',
215			'strike',
216			'strong',
217			'style',
218			'sub',
219			'summary',
220			'sup',
221			'table',
222			'tbody',
223			'td',
224			'template',
225			'textarea',
226			'tfoot',
227			'th',
228			'thead',
229			'time',
230			'tr',
231			'track',
232			'tt',
233			'u',
234			'ul',
235			'var',
236			'video',
237			'wbr',
238		]),
239		D = i([
240			'svg',
241			'a',
242			'altglyph',
243			'altglyphdef',
244			'altglyphitem',
245			'animatecolor',
246			'animatemotion',
247			'animatetransform',
248			'circle',
249			'clippath',
250			'defs',
251			'desc',
252			'ellipse',
253			'filter',
254			'font',
255			'g',
256			'glyph',
257			'glyphref',
258			'hkern',
259			'image',
260			'line',
261			'lineargradient',
262			'marker',
263			'mask',
264			'metadata',
265			'mpath',
266			'path',
267			'pattern',
268			'polygon',
269			'polyline',
270			'radialgradient',
271			'rect',
272			'stop',
273			'style',
274			'switch',
275			'symbol',
276			'text',
277			'textpath',
278			'title',
279			'tref',
280			'tspan',
281			'view',
282			'vkern',
283		]),
284		v = i([
285			'feBlend',
286			'feColorMatrix',
287			'feComponentTransfer',
288			'feComposite',
289			'feConvolveMatrix',
290			'feDiffuseLighting',
291			'feDisplacementMap',
292			'feDistantLight',
293			'feDropShadow',
294			'feFlood',
295			'feFuncA',
296			'feFuncB',
297			'feFuncG',
298			'feFuncR',
299			'feGaussianBlur',
300			'feImage',
301			'feMerge',
302			'feMergeNode',
303			'feMorphology',
304			'feOffset',
305			'fePointLight',
306			'feSpecularLighting',
307			'feSpotLight',
308			'feTile',
309			'feTurbulence',
310		]),
311		O = i([
312			'animate',
313			'color-profile',
314			'cursor',
315			'discard',
316			'font-face',
317			'font-face-format',
318			'font-face-name',
319			'font-face-src',
320			'font-face-uri',
321			'foreignobject',
322			'hatch',
323			'hatchpath',
324			'mesh',
325			'meshgradient',
326			'meshpatch',
327			'meshrow',
328			'missing-glyph',
329			'script',
330			'set',
331			'solidcolor',
332			'unknown',
333			'use',
334		]),
335		x = i([
336			'math',
337			'menclose',
338			'merror',
339			'mfenced',
340			'mfrac',
341			'mglyph',
342			'mi',
343			'mlabeledtr',
344			'mmultiscripts',
345			'mn',
346			'mo',
347			'mover',
348			'mpadded',
349			'mphantom',
350			'mroot',
351			'mrow',
352			'ms',
353			'mspace',
354			'msqrt',
355			'mstyle',
356			'msub',
357			'msup',
358			'msubsup',
359			'mtable',
360			'mtd',
361			'mtext',
362			'mtr',
363			'munder',
364			'munderover',
365			'mprescripts',
366		]),
367		k = i([
368			'maction',
369			'maligngroup',
370			'malignmark',
371			'mlongdiv',
372			'mscarries',
373			'mscarry',
374			'msgroup',
375			'mstack',
376			'msline',
377			'msrow',
378			'semantics',
379			'annotation',
380			'annotation-xml',
381			'mprescripts',
382			'none',
383		]),
384		M = i(['#text']),
385		I = i([
386			'accept',
387			'action',
388			'align',
389			'alt',
390			'autocapitalize',
391			'autocomplete',
392			'autopictureinpicture',
393			'autoplay',
394			'background',
395			'bgcolor',
396			'border',
397			'capture',
398			'cellpadding',
399			'cellspacing',
400			'checked',
401			'cite',
402			'class',
403			'clear',
404			'color',
405			'cols',
406			'colspan',
407			'controls',
408			'controlslist',
409			'coords',
410			'crossorigin',
411			'datetime',
412			'decoding',
413			'default',
414			'dir',
415			'disabled',
416			'disablepictureinpicture',
417			'disableremoteplayback',
418			'download',
419			'draggable',
420			'enctype',
421			'enterkeyhint',
422			'face',
423			'for',
424			'headers',
425			'height',
426			'hidden',
427			'high',
428			'href',
429			'hreflang',
430			'id',
431			'inputmode',
432			'integrity',
433			'ismap',
434			'kind',
435			'label',
436			'lang',
437			'list',
438			'loading',
439			'loop',
440			'low',
441			'max',
442			'maxlength',
443			'media',
444			'method',
445			'min',
446			'minlength',
447			'multiple',
448			'muted',
449			'name',
450			'nonce',
451			'noshade',
452			'novalidate',
453			'nowrap',
454			'open',
455			'optimum',
456			'pattern',
457			'placeholder',
458			'playsinline',
459			'popover',
460			'popovertarget',
461			'popovertargetaction',
462			'poster',
463			'preload',
464			'pubdate',
465			'radiogroup',
466			'readonly',
467			'rel',
468			'required',
469			'rev',
470			'reversed',
471			'role',
472			'rows',
473			'rowspan',
474			'spellcheck',
475			'scope',
476			'selected',
477			'shape',
478			'size',
479			'sizes',
480			'span',
481			'srclang',
482			'start',
483			'src',
484			'srcset',
485			'step',
486			'style',
487			'summary',
488			'tabindex',
489			'title',
490			'translate',
491			'type',
492			'usemap',
493			'valign',
494			'value',
495			'width',
496			'wrap',
497			'xmlns',
498			'slot',
499		]),
500		U = i([
501			'accent-height',
502			'accumulate',
503			'additive',
504			'alignment-baseline',
505			'ascent',
506			'attributename',
507			'attributetype',
508			'azimuth',
509			'basefrequency',
510			'baseline-shift',
511			'begin',
512			'bias',
513			'by',
514			'class',
515			'clip',
516			'clippathunits',
517			'clip-path',
518			'clip-rule',
519			'color',
520			'color-interpolation',
521			'color-interpolation-filters',
522			'color-profile',
523			'color-rendering',
524			'cx',
525			'cy',
526			'd',
527			'dx',
528			'dy',
529			'diffuseconstant',
530			'direction',
531			'display',
532			'divisor',
533			'dur',
534			'edgemode',
535			'elevation',
536			'end',
537			'fill',
538			'fill-opacity',
539			'fill-rule',
540			'filter',
541			'filterunits',
542			'flood-color',
543			'flood-opacity',
544			'font-family',
545			'font-size',
546			'font-size-adjust',
547			'font-stretch',
548			'font-style',
549			'font-variant',
550			'font-weight',
551			'fx',
552			'fy',
553			'g1',
554			'g2',
555			'glyph-name',
556			'glyphref',
557			'gradientunits',
558			'gradienttransform',
559			'height',
560			'href',
561			'id',
562			'image-rendering',
563			'in',
564			'in2',
565			'k',
566			'k1',
567			'k2',
568			'k3',
569			'k4',
570			'kerning',
571			'keypoints',
572			'keysplines',
573			'keytimes',
574			'lang',
575			'lengthadjust',
576			'letter-spacing',
577			'kernelmatrix',
578			'kernelunitlength',
579			'lighting-color',
580			'local',
581			'marker-end',
582			'marker-mid',
583			'marker-start',
584			'markerheight',
585			'markerunits',
586			'markerwidth',
587			'maskcontentunits',
588			'maskunits',
589			'max',
590			'mask',
591			'media',
592			'method',
593			'mode',
594			'min',
595			'name',
596			'numoctaves',
597			'offset',
598			'operator',
599			'opacity',
600			'order',
601			'orient',
602			'orientation',
603			'origin',
604			'overflow',
605			'paint-order',
606			'path',
607			'pathlength',
608			'patterncontentunits',
609			'patterntransform',
610			'patternunits',
611			'points',
612			'preservealpha',
613			'preserveaspectratio',
614			'primitiveunits',
615			'r',
616			'rx',
617			'ry',
618			'radius',
619			'refx',
620			'refy',
621			'repeatcount',
622			'repeatdur',
623			'restart',
624			'result',
625			'rotate',
626			'scale',
627			'seed',
628			'shape-rendering',
629			'specularconstant',
630			'specularexponent',
631			'spreadmethod',
632			'startoffset',
633			'stddeviation',
634			'stitchtiles',
635			'stop-color',
636			'stop-opacity',
637			'stroke-dasharray',
638			'stroke-dashoffset',
639			'stroke-linecap',
640			'stroke-linejoin',
641			'stroke-miterlimit',
642			'stroke-opacity',
643			'stroke',
644			'stroke-width',
645			'style',
646			'surfacescale',
647			'systemlanguage',
648			'tabindex',
649			'targetx',
650			'targety',
651			'transform',
652			'transform-origin',
653			'text-anchor',
654			'text-decoration',
655			'text-rendering',
656			'textlength',
657			'type',
658			'u1',
659			'u2',
660			'unicode',
661			'values',
662			'viewbox',
663			'visibility',
664			'version',
665			'vert-adv-y',
666			'vert-origin-x',
667			'vert-origin-y',
668			'width',
669			'word-spacing',
670			'wrap',
671			'writing-mode',
672			'xchannelselector',
673			'ychannelselector',
674			'x',
675			'x1',
676			'x2',
677			'xmlns',
678			'y',
679			'y1',
680			'y2',
681			'z',
682			'zoomandpan',
683		]),
684		P = i([
685			'accent',
686			'accentunder',
687			'align',
688			'bevelled',
689			'close',
690			'columnsalign',
691			'columnlines',
692			'columnspan',
693			'denomalign',
694			'depth',
695			'dir',
696			'display',
697			'displaystyle',
698			'encoding',
699			'fence',
700			'frame',
701			'height',
702			'href',
703			'id',
704			'largeop',
705			'length',
706			'linethickness',
707			'lspace',
708			'lquote',
709			'mathbackground',
710			'mathcolor',
711			'mathsize',
712			'mathvariant',
713			'maxsize',
714			'minsize',
715			'movablelimits',
716			'notation',
717			'numalign',
718			'open',
719			'rowalign',
720			'rowlines',
721			'rowspacing',
722			'rowspan',
723			'rspace',
724			'rquote',
725			'scriptlevel',
726			'scriptminsize',
727			'scriptsizemultiplier',
728			'selection',
729			'separator',
730			'separators',
731			'stretchy',
732			'subscriptshift',
733			'supscriptshift',
734			'symmetric',
735			'voffset',
736			'width',
737			'xmlns',
738		]),
739		F = i([
740			'xlink:href',
741			'xml:id',
742			'xlink:title',
743			'xml:space',
744			'xmlns:xlink',
745		]),
746		H = a(/\{\{[\w\W]*|[\w\W]*\}\}/gm),
747		z = a(/<%[\w\W]*|[\w\W]*%>/gm),
748		B = a(/\${[\w\W]*}/gm),
749		W = a(/^data-[\-\w.\u00B7-\uFFFF]/),
750		G = a(/^aria-[\-\w]+$/),
751		Y = a(
752			/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
753		),
754		j = a(/^(?:\w+script|data):/i),
755		X = a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),
756		q = a(/^html$/i),
757		$ = a(/^[a-z][.\w]*(-[.\w]+)+$/i);
758	var K = Object.freeze({
759		__proto__: null,
760		MUSTACHE_EXPR: H,
761		ERB_EXPR: z,
762		TMPLIT_EXPR: B,
763		DATA_ATTR: W,
764		ARIA_ATTR: G,
765		IS_ALLOWED_URI: Y,
766		IS_SCRIPT_OR_DATA: j,
767		ATTR_WHITESPACE: X,
768		DOCTYPE_NAME: q,
769		CUSTOM_ELEMENT: $,
770	});
771	const V = 1,
772		Z = 3,
773		J = 7,
774		Q = 8,
775		ee = 9,
776		te = function () {
777			return 'undefined' == typeof window ? null : window;
778		};
779	var ne = (function t() {
780		let n =
781			arguments.length > 0 && void 0 !== arguments[0]
782				? arguments[0]
783				: te();
784		const o = (e) => t(e);
785		if (
786			((o.version = '3.1.6'),
787			(o.removed = []),
788			!n || !n.document || n.document.nodeType !== ee)
789		)
790			return (o.isSupported = !1), o;
791		let { document: r } = n;
792		const a = r,
793			c = a.currentScript,
794			{
795				DocumentFragment: s,
796				HTMLTemplateElement: N,
797				Node: b,
798				Element: R,
799				NodeFilter: H,
800				NamedNodeMap: z = n.NamedNodeMap || n.MozNamedAttrMap,
801				HTMLFormElement: B,
802				DOMParser: W,
803				trustedTypes: G,
804			} = n,
805			j = R.prototype,
806			X = C(j, 'cloneNode'),
807			$ = C(j, 'remove'),
808			ne = C(j, 'nextSibling'),
809			oe = C(j, 'childNodes'),
810			re = C(j, 'parentNode');
811		if ('function' == typeof N) {
812			const e = r.createElement('template');
813			e.content &&
814				e.content.ownerDocument &&
815				(r = e.content.ownerDocument);
816		}
817		let ie,
818			ae = '';
819		const {
820				implementation: le,
821				createNodeIterator: ce,
822				createDocumentFragment: se,
823				getElementsByTagName: ue,
824			} = r,
825			{ importNode: me } = a;
826		let pe = {};
827		o.isSupported =
828			'function' == typeof e &&
829			'function' == typeof re &&
830			le &&
831			void 0 !== le.createHTMLDocument;
832		const {
833			MUSTACHE_EXPR: fe,
834			ERB_EXPR: de,
835			TMPLIT_EXPR: he,
836			DATA_ATTR: ge,
837			ARIA_ATTR: Te,
838			IS_SCRIPT_OR_DATA: ye,
839			ATTR_WHITESPACE: Ee,
840			CUSTOM_ELEMENT: _e,
841		} = K;
842		let { IS_ALLOWED_URI: Ae } = K,
843			Ne = null;
844		const be = S({}, [...L, ...D, ...v, ...x, ...M]);
845		let Se = null;
846		const Re = S({}, [...I, ...U, ...P, ...F]);
847		let we = Object.seal(
848				l(null, {
849					tagNameCheck: {
850						writable: !0,
851						configurable: !1,
852						enumerable: !0,
853						value: null,
854					},
855					attributeNameCheck: {
856						writable: !0,
857						configurable: !1,
858						enumerable: !0,
859						value: null,
860					},
861					allowCustomizedBuiltInElements: {
862						writable: !0,
863						configurable: !1,
864						enumerable: !0,
865						value: !1,
866					},
867				})
868			),
869			Ce = null,
870			Le = null,
871			De = !0,
872			ve = !0,
873			Oe = !1,
874			xe = !0,
875			ke = !1,
876			Me = !0,
877			Ie = !1,
878			Ue = !1,
879			Pe = !1,
880			Fe = !1,
881			He = !1,
882			ze = !1,
883			Be = !0,
884			We = !1,
885			Ge = !0,
886			Ye = !1,
887			je = {},
888			Xe = null;
889		const qe = S({}, [
890			'annotation-xml',
891			'audio',
892			'colgroup',
893			'desc',
894			'foreignobject',
895			'head',
896			'iframe',
897			'math',
898			'mi',
899			'mn',
900			'mo',
901			'ms',
902			'mtext',
903			'noembed',
904			'noframes',
905			'noscript',
906			'plaintext',
907			'script',
908			'style',
909			'svg',
910			'template',
911			'thead',
912			'title',
913			'video',
914			'xmp',
915		]);
916		let $e = null;
917		const Ke = S({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
918		let Ve = null;
919		const Ze = S({}, [
920				'alt',
921				'class',
922				'for',
923				'id',
924				'label',
925				'name',
926				'pattern',
927				'placeholder',
928				'role',
929				'summary',
930				'title',
931				'value',
932				'style',
933				'xmlns',
934			]),
935			Je = 'http://www.w3.org/1998/Math/MathML',
936			Qe = 'http://www.w3.org/2000/svg',
937			et = 'http://www.w3.org/1999/xhtml';
938		let tt = et,
939			nt = !1,
940			ot = null;
941		const rt = S({}, [Je, Qe, et], d);
942		let it = null;
943		const at = ['application/xhtml+xml', 'text/html'];
944		let lt = null,
945			ct = null;
946		const st = r.createElement('form'),
947			ut = function (e) {
948				return e instanceof RegExp || e instanceof Function;
949			},
950			mt = function () {
951				let e =
952					arguments.length > 0 && void 0 !== arguments[0]
953						? arguments[0]
954						: {};
955				if (!ct || ct !== e) {
956					if (
957						((e && 'object' == typeof e) || (e = {}),
958						(e = w(e)),
959						(it =
960							-1 === at.indexOf(e.PARSER_MEDIA_TYPE)
961								? 'text/html'
962								: e.PARSER_MEDIA_TYPE),
963						(lt = 'application/xhtml+xml' === it ? d : f),
964						(Ne = E(e, 'ALLOWED_TAGS')
965							? S({}, e.ALLOWED_TAGS, lt)
966							: be),
967						(Se = E(e, 'ALLOWED_ATTR')
968							? S({}, e.ALLOWED_ATTR, lt)
969							: Re),
970						(ot = E(e, 'ALLOWED_NAMESPACES')
971							? S({}, e.ALLOWED_NAMESPACES, d)
972							: rt),
973						(Ve = E(e, 'ADD_URI_SAFE_ATTR')
974							? S(w(Ze), e.ADD_URI_SAFE_ATTR, lt)
975							: Ze),
976						($e = E(e, 'ADD_DATA_URI_TAGS')
977							? S(w(Ke), e.ADD_DATA_URI_TAGS, lt)
978							: Ke),
979						(Xe = E(e, 'FORBID_CONTENTS')
980							? S({}, e.FORBID_CONTENTS, lt)
981							: qe),
982						(Ce = E(e, 'FORBID_TAGS')
983							? S({}, e.FORBID_TAGS, lt)
984							: {}),
985						(Le = E(e, 'FORBID_ATTR')
986							? S({}, e.FORBID_ATTR, lt)
987							: {}),
988						(je = !!E(e, 'USE_PROFILES') && e.USE_PROFILES),
989						(De = !1 !== e.ALLOW_ARIA_ATTR),
990						(ve = !1 !== e.ALLOW_DATA_ATTR),
991						(Oe = e.ALLOW_UNKNOWN_PROTOCOLS || !1),
992						(xe = !1 !== e.ALLOW_SELF_CLOSE_IN_ATTR),
993						(ke = e.SAFE_FOR_TEMPLATES || !1),
994						(Me = !1 !== e.SAFE_FOR_XML),
995						(Ie = e.WHOLE_DOCUMENT || !1),
996						(Fe = e.RETURN_DOM || !1),
997						(He = e.RETURN_DOM_FRAGMENT || !1),
998						(ze = e.RETURN_TRUSTED_TYPE || !1),
999						(Pe = e.FORCE_BODY || !1),
1000						(Be = !1 !== e.SANITIZE_DOM),
1001						(We = e.SANITIZE_NAMED_PROPS || !1),
1002						(Ge = !1 !== e.KEEP_CONTENT),
1003						(Ye = e.IN_PLACE || !1),
1004						(Ae = e.ALLOWED_URI_REGEXP || Y),
1005						(tt = e.NAMESPACE || et),
1006						(we = e.CUSTOM_ELEMENT_HANDLING || {}),
1007						e.CUSTOM_ELEMENT_HANDLING &&
1008							ut(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck) &&
1009							(we.tagNameCheck =
1010								e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
1011						e.CUSTOM_ELEMENT_HANDLING &&
1012							ut(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) &&
1013							(we.attributeNameCheck =
1014								e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
1015						e.CUSTOM_ELEMENT_HANDLING &&
1016							'boolean' ==
1017								typeof e.CUSTOM_ELEMENT_HANDLING
1018									.allowCustomizedBuiltInElements &&
1019							(we.allowCustomizedBuiltInElements =
1020								e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
1021						ke && (ve = !1),
1022						He && (Fe = !0),
1023						je &&
1024							((Ne = S({}, M)),
1025							(Se = []),
1026							!0 === je.html && (S(Ne, L), S(Se, I)),
1027							!0 === je.svg && (S(Ne, D), S(Se, U), S(Se, F)),
1028							!0 === je.svgFilters &&
1029								(S(Ne, v), S(Se, U), S(Se, F)),
1030							!0 === je.mathMl && (S(Ne, x), S(Se, P), S(Se, F))),
1031						e.ADD_TAGS &&
1032							(Ne === be && (Ne = w(Ne)), S(Ne, e.ADD_TAGS, lt)),
1033						e.ADD_ATTR &&
1034							(Se === Re && (Se = w(Se)), S(Se, e.ADD_ATTR, lt)),
1035						e.ADD_URI_SAFE_ATTR && S(Ve, e.ADD_URI_SAFE_ATTR, lt),
1036						e.FORBID_CONTENTS &&
1037							(Xe === qe && (Xe = w(Xe)),
1038							S(Xe, e.FORBID_CONTENTS, lt)),
1039						Ge && (Ne['#text'] = !0),
1040						Ie && S(Ne, ['html', 'head', 'body']),
1041						Ne.table && (S(Ne, ['tbody']), delete Ce.tbody),
1042						e.TRUSTED_TYPES_POLICY)
1043					) {
1044						if (
1045							'function' !=
1046							typeof e.TRUSTED_TYPES_POLICY.createHTML
1047						)
1048							throw A(
1049								'TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.'
1050							);
1051						if (
1052							'function' !=
1053							typeof e.TRUSTED_TYPES_POLICY.createScriptURL
1054						)
1055							throw A(
1056								'TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.'
1057							);
1058						(ie = e.TRUSTED_TYPES_POLICY), (ae = ie.createHTML(''));
1059					} else
1060						void 0 === ie &&
1061							(ie = (function (e, t) {
1062								if (
1063									'object' != typeof e ||
1064									'function' != typeof e.createPolicy
1065								)
1066									return null;
1067								let n = null;
1068								const o = 'data-tt-policy-suffix';
1069								t &&
1070									t.hasAttribute(o) &&
1071									(n = t.getAttribute(o));
1072								const r = 'dompurify' + (n ? '#' + n : '');
1073								try {
1074									return e.createPolicy(r, {
1075										createHTML: (e) => e,
1076										createScriptURL: (e) => e,
1077									});
1078								} catch (e) {
1079									return (
1080										console.warn(
1081											'TrustedTypes policy ' +
1082												r +
1083												' could not be created.'
1084										),
1085										null
1086									);
1087								}
1088							})(G, c)),
1089							null !== ie &&
1090								'string' == typeof ae &&
1091								(ae = ie.createHTML(''));
1092					i && i(e), (ct = e);
1093				}
1094			},
1095			pt = S({}, ['mi', 'mo', 'mn', 'ms', 'mtext']),
1096			ft = S({}, ['foreignobject', 'annotation-xml']),
1097			dt = S({}, ['title', 'style', 'font', 'a', 'script']),
1098			ht = S({}, [...D, ...v, ...O]),
1099			gt = S({}, [...x, ...k]),
1100			Tt = function (e) {
1101				p(o.removed, { element: e });
1102				try {
1103					re(e).removeChild(e);
1104				} catch (t) {
1105					$(e);
1106				}
1107			},
1108			yt = function (e, t) {
1109				try {
1110					p(o.removed, { attribute: t.getAttributeNode(e), from: t });
1111				} catch (e) {
1112					p(o.removed, { attribute: null, from: t });
1113				}
1114				if ((t.removeAttribute(e), 'is' === e && !Se[e]))
1115					if (Fe || He)
1116						try {
1117							Tt(t);
1118						} catch (e) {}
1119					else
1120						try {
1121							t.setAttribute(e, '');
1122						} catch (e) {}
1123			},
1124			Et = function (e) {
1125				let t = null,
1126					n = null;
1127				if (Pe) e = '<remove></remove>' + e;
1128				else {
1129					const t = h(e, /^[\r\n\t ]+/);
1130					n = t && t[0];
1131				}
1132				'application/xhtml+xml' === it &&
1133					tt === et &&
1134					(e =
1135						'<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' +
1136						e +
1137						'</body></html>');
1138				const o = ie ? ie.createHTML(e) : e;
1139				if (tt === et)
1140					try {
1141						t = new W().parseFromString(o, it);
1142					} catch (e) {}
1143				if (!t || !t.documentElement) {
1144					t = le.createDocument(tt, 'template', null);
1145					try {
1146						t.documentElement.innerHTML = nt ? ae : o;
1147					} catch (e) {}
1148				}
1149				const i = t.body || t.documentElement;
1150				return (
1151					e &&
1152						n &&
1153						i.insertBefore(
1154							r.createTextNode(n),
1155							i.childNodes[0] || null
1156						),
1157					tt === et
1158						? ue.call(t, Ie ? 'html' : 'body')[0]
1159						: Ie
1160							? t.documentElement
1161							: i
1162				);
1163			},
1164			_t = function (e) {
1165				return ce.call(
1166					e.ownerDocument || e,
1167					e,
1168					H.SHOW_ELEMENT |
1169						H.SHOW_COMMENT |
1170						H.SHOW_TEXT |
1171						H.SHOW_PROCESSING_INSTRUCTION |
1172						H.SHOW_CDATA_SECTION,
1173					null
1174				);
1175			},
1176			At = function (e) {
1177				return (
1178					e instanceof B &&
1179					('string' != typeof e.nodeName ||
1180						'string' != typeof e.textContent ||
1181						'function' != typeof e.removeChild ||
1182						!(e.attributes instanceof z) ||
1183						'function' != typeof e.removeAttribute ||
1184						'function' != typeof e.setAttribute ||
1185						'string' != typeof e.namespaceURI ||
1186						'function' != typeof e.insertBefore ||
1187						'function' != typeof e.hasChildNodes)
1188				);
1189			},
1190			Nt = function (e) {
1191				return 'function' == typeof b && e instanceof b;
1192			},
1193			bt = function (e, t, n) {
1194				pe[e] &&
1195					u(pe[e], (e) => {
1196						e.call(o, t, n, ct);
1197					});
1198			},
1199			St = function (e) {
1200				let t = null;
1201				if ((bt('beforeSanitizeElements', e, null), At(e)))
1202					return Tt(e), !0;
1203				const n = lt(e.nodeName);
1204				if (
1205					(bt('uponSanitizeElement', e, {
1206						tagName: n,
1207						allowedTags: Ne,
1208					}),
1209					e.hasChildNodes() &&
1210						!Nt(e.firstElementChild) &&
1211						_(/<[/\w]/g, e.innerHTML) &&
1212						_(/<[/\w]/g, e.textContent))
1213				)
1214					return Tt(e), !0;
1215				if (e.nodeType === J) return Tt(e), !0;
1216				if (Me && e.nodeType === Q && _(/<[/\w]/g, e.data))
1217					return Tt(e), !0;
1218				if (!Ne[n] || Ce[n]) {
1219					if (!Ce[n] && wt(n)) {
1220						if (
1221							we.tagNameCheck instanceof RegExp &&
1222							_(we.tagNameCheck, n)
1223						)
1224							return !1;
1225						if (
1226							we.tagNameCheck instanceof Function &&
1227							we.tagNameCheck(n)
1228						)
1229							return !1;
1230					}
1231					if (Ge && !Xe[n]) {
1232						const t = re(e) || e.parentNode,
1233							n = oe(e) || e.childNodes;
1234						if (n && t) {
1235							for (let o = n.length - 1; o >= 0; --o) {
1236								const r = X(n[o], !0);
1237								(r.__removalCount =
1238									(e.__removalCount || 0) + 1),
1239									t.insertBefore(r, ne(e));
1240							}
1241						}
1242					}
1243					return Tt(e), !0;
1244				}
1245				return e instanceof R &&
1246					!(function (e) {
1247						let t = re(e);
1248						(t && t.tagName) ||
1249							(t = { namespaceURI: tt, tagName: 'template' });
1250						const n = f(e.tagName),
1251							o = f(t.tagName);
1252						return (
1253							!!ot[e.namespaceURI] &&
1254							(e.namespaceURI === Qe
1255								? t.namespaceURI === et
1256									? 'svg' === n
1257									: t.namespaceURI === Je
1258										? 'svg' === n &&
1259											('annotation-xml' === o || pt[o])
1260										: Boolean(ht[n])
1261								: e.namespaceURI === Je
1262									? t.namespaceURI === et
1263										? 'math' === n
1264										: t.namespaceURI === Qe
1265											? 'math' === n && ft[o]
1266											: Boolean(gt[n])
1267									: e.namespaceURI === et
1268										? !(t.namespaceURI === Qe && !ft[o]) &&
1269											!(
1270												t.namespaceURI === Je && !pt[o]
1271											) &&
1272											!gt[n] &&
1273											(dt[n] || !ht[n])
1274										: !(
1275												'application/xhtml+xml' !==
1276													it || !ot[e.namespaceURI]
1277											))
1278						);
1279					})(e)
1280					? (Tt(e), !0)
1281					: ('noscript' !== n &&
1282								'noembed' !== n &&
1283								'noframes' !== n) ||
1284						  !_(/<\/no(script|embed|frames)/i, e.innerHTML)
1285						? (ke &&
1286								e.nodeType === Z &&
1287								((t = e.textContent),
1288								u([fe, de, he], (e) => {
1289									t = g(t, e, ' ');
1290								}),
1291								e.textContent !== t &&
1292									(p(o.removed, { element: e.cloneNode() }),
1293									(e.textContent = t))),
1294							bt('afterSanitizeElements', e, null),
1295							!1)
1296						: (Tt(e), !0);
1297			},
1298			Rt = function (e, t, n) {
1299				if (Be && ('id' === t || 'name' === t) && (n in r || n in st))
1300					return !1;
1301				if (ve && !Le[t] && _(ge, t));
1302				else if (De && _(Te, t));
1303				else if (!Se[t] || Le[t]) {
1304					if (
1305						!(
1306							(wt(e) &&
1307								((we.tagNameCheck instanceof RegExp &&
1308									_(we.tagNameCheck, e)) ||
1309									(we.tagNameCheck instanceof Function &&
1310										we.tagNameCheck(e))) &&
1311								((we.attributeNameCheck instanceof RegExp &&
1312									_(we.attributeNameCheck, t)) ||
1313									(we.attributeNameCheck instanceof
1314										Function &&
1315										we.attributeNameCheck(t)))) ||
1316							('is' === t &&
1317								we.allowCustomizedBuiltInElements &&
1318								((we.tagNameCheck instanceof RegExp &&
1319									_(we.tagNameCheck, n)) ||
1320									(we.tagNameCheck instanceof Function &&
1321										we.tagNameCheck(n))))
1322						)
1323					)
1324						return !1;
1325				} else if (Ve[t]);
1326				else if (_(Ae, g(n, Ee, '')));
1327				else if (
1328					('src' !== t && 'xlink:href' !== t && 'href' !== t) ||
1329					'script' === e ||
1330					0 !== T(n, 'data:') ||
1331					!$e[e]
1332				) {
1333					if (Oe && !_(ye, g(n, Ee, '')));
1334					else if (n) return !1;
1335				} else;
1336				return !0;
1337			},
1338			wt = function (e) {
1339				return 'annotation-xml' !== e && h(e, _e);
1340			},
1341			Ct = function (e) {
1342				bt('beforeSanitizeAttributes', e, null);
1343				const { attributes: t } = e;
1344				if (!t) return;
1345				const n = {
1346					attrName: '',
1347					attrValue: '',
1348					keepAttr: !0,
1349					allowedAttributes: Se,
1350				};
1351				let r = t.length;
1352				for (; r--; ) {
1353					const i = t[r],
1354						{ name: a, namespaceURI: l, value: c } = i,
1355						s = lt(a);
1356					let p = 'value' === a ? c : y(c);
1357					if (
1358						((n.attrName = s),
1359						(n.attrValue = p),
1360						(n.keepAttr = !0),
1361						(n.forceKeepAttr = void 0),
1362						bt('uponSanitizeAttribute', e, n),
1363						(p = n.attrValue),
1364						Me && _(/((--!?|])>)|<\/(style|title)/i, p))
1365					) {
1366						yt(a, e);
1367						continue;
1368					}
1369					if (n.forceKeepAttr) continue;
1370					if ((yt(a, e), !n.keepAttr)) continue;
1371					if (!xe && _(/\/>/i, p)) {
1372						yt(a, e);
1373						continue;
1374					}
1375					ke &&
1376						u([fe, de, he], (e) => {
1377							p = g(p, e, ' ');
1378						});
1379					const f = lt(e.nodeName);
1380					if (Rt(f, s, p)) {
1381						if (
1382							(!We ||
1383								('id' !== s && 'name' !== s) ||
1384								(yt(a, e), (p = 'user-content-' + p)),
1385							ie &&
1386								'object' == typeof G &&
1387								'function' == typeof G.getAttributeType)
1388						)
1389							if (l);
1390							else
1391								switch (G.getAttributeType(f, s)) {
1392									case 'TrustedHTML':
1393										p = ie.createHTML(p);
1394										break;
1395									case 'TrustedScriptURL':
1396										p = ie.createScriptURL(p);
1397								}
1398						try {
1399							l
1400								? e.setAttributeNS(l, a, p)
1401								: e.setAttribute(a, p),
1402								At(e) ? Tt(e) : m(o.removed);
1403						} catch (e) {}
1404					}
1405				}
1406				bt('afterSanitizeAttributes', e, null);
1407			},
1408			Lt = function e(t) {
1409				let n = null;
1410				const o = _t(t);
1411				for (
1412					bt('beforeSanitizeShadowDOM', t, null);
1413					(n = o.nextNode());
1414
1415				)
1416					bt('uponSanitizeShadowNode', n, null),
1417						St(n) ||
1418							(n.content instanceof s && e(n.content), Ct(n));
1419				bt('afterSanitizeShadowDOM', t, null);
1420			};
1421		return (
1422			(o.sanitize = function (e) {
1423				let t =
1424						arguments.length > 1 && void 0 !== arguments[1]
1425							? arguments[1]
1426							: {},
1427					n = null,
1428					r = null,
1429					i = null,
1430					l = null;
1431				if (
1432					((nt = !e),
1433					nt && (e = '\x3c!--\x3e'),
1434					'string' != typeof e && !Nt(e))
1435				) {
1436					if ('function' != typeof e.toString)
1437						throw A('toString is not a function');
1438					if ('string' != typeof (e = e.toString()))
1439						throw A('dirty is not a string, aborting');
1440				}
1441				if (!o.isSupported) return e;
1442				if (
1443					(Ue || mt(t),
1444					(o.removed = []),
1445					'string' == typeof e && (Ye = !1),
1446					Ye)
1447				) {
1448					if (e.nodeName) {
1449						const t = lt(e.nodeName);
1450						if (!Ne[t] || Ce[t])
1451							throw A(
1452								'root node is forbidden and cannot be sanitized in-place'
1453							);
1454					}
1455				} else if (e instanceof b)
1456					(n = Et('\x3c!----\x3e')),
1457						(r = n.ownerDocument.importNode(e, !0)),
1458						(r.nodeType === V && 'BODY' === r.nodeName) ||
1459						'HTML' === r.nodeName
1460							? (n = r)
1461							: n.appendChild(r);
1462				else {
1463					if (!Fe && !ke && !Ie && -1 === e.indexOf('<'))
1464						return ie && ze ? ie.createHTML(e) : e;
1465					if (((n = Et(e)), !n)) return Fe ? null : ze ? ae : '';
1466				}
1467				n && Pe && Tt(n.firstChild);
1468				const c = _t(Ye ? e : n);
1469				for (; (i = c.nextNode()); )
1470					St(i) || (i.content instanceof s && Lt(i.content), Ct(i));
1471				if (Ye) return e;
1472				if (Fe) {
1473					if (He)
1474						for (l = se.call(n.ownerDocument); n.firstChild; )
1475							l.appendChild(n.firstChild);
1476					else l = n;
1477					return (
1478						(Se.shadowroot || Se.shadowrootmode) &&
1479							(l = me.call(a, l, !0)),
1480						l
1481					);
1482				}
1483				let m = Ie ? n.outerHTML : n.innerHTML;
1484				return (
1485					Ie &&
1486						Ne['!doctype'] &&
1487						n.ownerDocument &&
1488						n.ownerDocument.doctype &&
1489						n.ownerDocument.doctype.name &&
1490						_(q, n.ownerDocument.doctype.name) &&
1491						(m =
1492							'<!DOCTYPE ' +
1493							n.ownerDocument.doctype.name +
1494							'>\n' +
1495							m),
1496					ke &&
1497						u([fe, de, he], (e) => {
1498							m = g(m, e, ' ');
1499						}),
1500					ie && ze ? ie.createHTML(m) : m
1501				);
1502			}),
1503			(o.setConfig = function () {
1504				mt(
1505					arguments.length > 0 && void 0 !== arguments[0]
1506						? arguments[0]
1507						: {}
1508				),
1509					(Ue = !0);
1510			}),
1511			(o.clearConfig = function () {
1512				(ct = null), (Ue = !1);
1513			}),
1514			(o.isValidAttribute = function (e, t, n) {
1515				ct || mt({});
1516				const o = lt(e),
1517					r = lt(t);
1518				return Rt(o, r, n);
1519			}),
1520			(o.addHook = function (e, t) {
1521				'function' == typeof t && ((pe[e] = pe[e] || []), p(pe[e], t));
1522			}),
1523			(o.removeHook = function (e) {
1524				if (pe[e]) return m(pe[e]);
1525			}),
1526			(o.removeHooks = function (e) {
1527				pe[e] && (pe[e] = []);
1528			}),
1529			(o.removeAllHooks = function () {
1530				pe = {};
1531			}),
1532			o
1533		);
1534	})();
1535	return ne;
1536});
1537//# sourceMappingURL=purify.min.js.map
1538/**
1539 * Copyright: Codetipi
1540 */
1541/* global jQuery, zeenJS, IntersectionObserver, imagesLoaded, gsap, Power2, Cookies, Linear, Power0, ga, _gaq, zenscroll, FB, DISQUS */
1542(function ($) {
1543	'use strict';
1544	var zeenPrv = {
1545		initMethods: function () {
1546			this.dom();
1547			this.data();
1548			this.bind();
1549			this.anis();
1550			this.sticky();
1551			this.sliderInit();
1552			this.lightboxInit();
1553			this.sidebars();
1554			this.infScr();
1555			this.fillRunner();
1556			this.mobileMenuClass();
1557			this.header();
1558			this.topBlock();
1559			this.anchorTouch();
1560			this.parallax3s();
1561			this.parallaxIt();
1562			this.maskLoader();
1563			this.hero31();
1564			this.ipl();
1565			this.imgControl();
1566			this.progressPosition();
1567			this.postTracks();
1568			this.foldMid();
1569			this.modalCheck();
1570			this.footerReveal();
1571			this.topBarMsg();
1572			this.videoWrap();
1573			this.videoBg();
1574			this.stickyCheck();
1575			this.stickyEl();
1576			this.hovererBlock();
1577			this.videosBlock();
1578			this.metaLocation34();
1579			this.twitchLoad();
1580		},
1581		init: function () {
1582			if (
1583				'IntersectionObserver' in window &&
1584				'IntersectionObserverEntry' in window &&
1585				'intersectionRatio' in
1586					window.IntersectionObserverEntry.prototype
1587			) {
1588				this.initMethods();
1589			} else {
1590				this.loadScript(zeenJS.args.polyfill);
1591			}
1592		},
1593		dom: function () {
1594			this.$win = $(window);
1595			this.$doc = $(document);
1596			this.$body = $('body');
1597			this.$page = $('#page');
1598			this.$rtl = this.$body.hasClass('rtl');
1599			this.$content = $('#content');
1600			this.$contentWrap = $('#contents-wrap');
1601			this.$hovererBlock = this.$contentWrap
1602				.find('> .block-wrap-hoverer')
1603				.add(
1604					this.$contentWrap.find(
1605						'> .block-wrap-110 .block-wrap-hoverer'
1606					)
1607				);
1608			this.$videosBlock = this.$contentWrap
1609				.find('> .block-wrap-video-player')
1610				.add(
1611					this.$contentWrap.find(
1612						'> .block-wrap-110 .block-wrap-video-player'
1613					)
1614				);
1615			this.$metaLocation34 = this.$contentWrap
1616				.find('> .block-wrap > div > div > .meta-overlay-excerpt')
1617				.add(
1618					this.$contentWrap.find(
1619						'> .block-wrap-110 .meta-overlay-excerpt'
1620					)
1621				);
1622			this.$timedPup = $('#timed-pup');
1623			this.$modal = $('#modal');
1624			this.$baseOverlay = $('#tipi-overlay');
1625			this.$skinMode = $('.mode__wrap');
1626			this.$modalCustom = this.$modal.find('.content-custom');
1627			this.$modalSearch = this.$modal.find('.content-search');
1628			this.$modalSearchField = this.$modalSearch.find('.search-field');
1629			this.$modalSearchFound = this.$modalSearch.find('.content-found');
1630			this.$dropSearch = $('.drop-search');
1631			this.$dropSearchFound = this.$dropSearch.find('.content-found');
1632			this.$dropSearchField = this.$dropSearch.find('.search-field');
1633			this.$searchResults = $('.search-all-results');
1634			this.resizing = false;
1635			this.$stickyOff = true;
1636			this.$header = $('#masthead');
1637			this.$trendingSecondary = $('#trending-secondary');
1638			this.$siteNav = $('#site-navigation');
1639			this.$secondaryWrap = $('#secondary-wrap');
1640			this.$stickyP2Share = $('#sticky-p2-share');
1641			this.$stickyP2 = $('#sticky-p2');
1642			this.$dropper = this.$siteNav
1643				.find('.horizontal-menu > .dropper')
1644				.add(this.$secondaryWrap.find('.horizontal-menu > .dropper'))
1645				.add(this.$header.find('.horizontal-menu > .dropper'));
1646			this.$dropperChild = this.$dropper.find('.block-mm-changer');
1647			this.$toolTip = $('.tipi-tip');
1648			this.$toolTipOutput = '';
1649			this.$toolTipCurrent = '';
1650			this.headerOne = this.$header.hasClass('main-menu-inline');
1651			this.$wpAdminBar = $('#wpadminbar');
1652			this.$primary = $('#primary');
1653			this.$verticalMenu = $('#site-header-side-70s');
1654			this.$entryContentWrap = this.$primary.find('.entry-content-wrap');
1655			this.$entryContent = this.$primary.find('.entry-content');
1656			this.$parentAnimation = this.$primary.find(
1657				'.parent-animation:not(.loaded)'
1658			);
1659			this.$toTopWrap = $('#to-top-wrap');
1660			this.$toTopA = $('#to-top-a');
1661			this.$progress = $('#progress');
1662			this.$mobBotShare = $('#mob-bot-share');
1663			this.$iplTitle = $('#sticky-title');
1664			this.$slideIn = $('#slide-in-box');
1665			this.$slideInX = this.$slideIn.find('> .tipi-closer');
1666			this.$slideForm = this.$slideIn.find('form');
1667			this.slideInScene = '';
1668			this.mobMenuClearTO = '';
1669			this.resizeTo = '';
1670			this.pubTimer = '';
1671			this.detectDark =
1672				zeenJS.args.browserMode &&
1673				window.matchMedia &&
1674				window.matchMedia('(prefers-color-scheme: dark)').matches;
1675			this.ticking = false;
1676			this.tickingLb = false;
1677			this.lastScrollY = 0;
1678			this.$sorter = $('.sorter');
1679			this.$topBarMsg = $('#top-bar-message');
1680			this.$topBlock = $('#zeen-top-block');
1681			this.imgAni = document.getElementsByClassName('article-ani');
1682			this.$footer = $('#colophon');
1683			this.$footerBgArea = this.$footer.find('.bg-area');
1684			this.stickyVertical = false;
1685			this.$stickyMenu = $('.sticky-menu');
1686			this.$hero31 = $('.hero-31 > .hero');
1687			this.infST = [];
1688			this.paraSaved = [];
1689			this.stickies = [];
1690			this.sbsSaved = [];
1691			this.ro = false;
1692			this.roS = false;
1693			this.roP = false;
1694			this.progressScene = '';
1695			this.nonce = zeenJS.nonce;
1696			this.$main = $('#main');
1697			this.ignoreCodes = [
1698				9, 13, 16, 17, 18, 20, 32, 45, 116, 224, 93, 91,
1699			];
1700			this.timer = 0;
1701			this.headerIsSticky = false;
1702			this.$slideInMenu = $('#slide-in-menu');
1703			this.$slideMenuOpen = $('.slide-menu-tr-open');
1704			this.$mobMenuOpen = $('.mob-tr-open');
1705			this.$mobMenuClose = $('.mob-tr-close');
1706			this.$mobHead = $('#mobhead');
1707			this.$mobMenu = this.$mobHead
1708				.find('.mobile-navigation')
1709				.add($('#mob-menu-wrap').find('.mobile-navigation'));
1710			this.$mobMenuChildren = this.$mobMenu.find(
1711				'.menu-item-has-children'
1712			);
1713			this.thePaged = zeenJS.qry.paged || 1;
1714			this.audio = new Audio();
1715			this.video = document.createElement('video');
1716			this.ajaxCall = '';
1717			this.ajaxData = {};
1718			this.wooArchive = '';
1719			this.wooActive = this.$body.hasClass('woo--active');
1720			this.wooGridM = $('#woo-grid-m');
1721			this.wooGridS = $('#woo-grid-s');
1722			this.$products = '';
1723			this.headAreaHeight = 0;
1724			this.activeFocusTarget = '';
1725		},
1726		verticalMenus: function () {
1727			if (this.$verticalMenu.length === 0) {
1728				return;
1729			}
1730			this.$verticalMenu.addClass('v-70-vis');
1731		},
1732		data: function () {
1733			this.$docHeight = this.$doc.height();
1734			this.$winWidth = this.$win.width();
1735			this.$winHeight = this.$win.height() + 1;
1736			this.$headerHeight = this.$header.outerHeight(true);
1737			this.$wpAdminBarHeight = 0;
1738			this.$wpAdminBarHeightNeg = 0;
1739			if (
1740				this.$body.hasClass('admin-bar') &&
1741				!this.$body.hasClass('tipi-builder-frame-inner')
1742			) {
1743				this.$wpAdminBarHeight = this.$winWidth > 783 ? 32 : 46;
1744				this.$wpAdminBarHeightNeg = this.$wpAdminBarHeight * -1;
1745			}
1746
1747			this.mmAni = 0;
1748			if (this.$body.hasClass('mm-ani-3')) {
1749				this.mmAni = 3;
1750			}
1751
1752			if (zeenPrv.$winWidth < 767) {
1753				this.headAreaHeight = this.$mobHead.outerHeight();
1754			} else {
1755				if (
1756					this.$header.hasClass('sticky-menu-1') ||
1757					this.$header.hasClass('sticky-menu-3')
1758				) {
1759					this.headerIsSticky = true;
1760					this.headAreaHeight = this.$headerHeight;
1761				}
1762
1763				if (
1764					this.$siteNav.hasClass('sticky-menu-1') ||
1765					this.$siteNav.hasClass('sticky-menu-3')
1766				) {
1767					this.headerIsSticky = false;
1768					this.headAreaHeight = this.$siteNav.outerHeight();
1769				}
1770			}
1771
1772			var passiveSupported = false;
1773			try {
1774				var options = Object.defineProperty({}, 'passive', {
1775					get: function () {
1776						passiveSupported = true;
1777					},
1778				});
1779				window.addEventListener('zeen', options, options);
1780				window.removeEventListener('zeen', options, options);
1781			} catch (err) {
1782				passiveSupported = false;
1783			}
1784			this.$listener = passiveSupported ? { passive: true } : false;
1785		},
1786		bind: function () {
1787			this.$win.on('resize', this.resize.bind(this));
1788			this.$win.on(
1789				'orientationchange',
1790				this.orientationchange.bind(this)
1791			);
1792			this.$toTopA.on('click', this.toTopInit);
1793			this.$doc.on('keyup', this.keyUp.bind(this));
1794			this.$body.on('click', '.block-more', this.blockMore);
1795			this.$body.on('click', '.inf-load-more', this.loadMoreButton);
1796			this.$body.on('click', '.media-tr, .modal-tr', this.modalOn);
1797			this.$body.on('click', '.close, .tipi-overlay', this.modalOff);
1798			this.$body.on('click', '.collapsible__title', this.collapsible);
1799			this.$body.on('click', '.trending-op', this.trending);
1800			this.$body.on('click', '.tipi-like-count', this.likes);
1801			if (this.$body.hasClass('body--mobile--limit')) {
1802				this.$body.on('click', '.mobile--limiter', this.mobLimiter);
1803			}
1804			if (this.$body.hasClass('single')) {
1805				this.$body.on(
1806					'click',
1807					'.zeen-comments-count',
1808					this.commentScroll
1809				);
1810			}
1811			if (this.$modalSearchFound.length > 0) {
1812				this.$modalSearchField.on('keyup', this.liveSearch);
1813			}
1814			if (this.$skinMode.length > 0) {
1815				this.$skinMode.on('click', this.skinMode);
1816				if (
1817					(parseInt(Cookies.get('wp_alt_mode')) === 1 ||
1818						this.detectDark) &&
1819					!this.$body.hasClass('body--dark--tr')
1820				) {
1821					this.skinMode();
1822				}
1823			}
1824			if (this.$dropSearchFound.length > 0) {
1825				this.$dropSearchField.on('keyup', function (event) {
1826					var wrapper = $(this).parent().parent();
1827					var args = {
1828						field: $(this),
1829						wrapper: wrapper,
1830						ppp: 2,
1831						results: wrapper.find('.content-found'),
1832					};
1833					zeenPrv.liveSearch(event, args);
1834				});
1835			}
1836			if (
1837				this.$dropSearchFound.length > 0 ||
1838				this.$modalSearchFound.length
1839			) {
1840				this.$searchResults.on('click', this.liveSearchTr);
1841			}
1842
1843			this.$siteNav
1844				.find('.horizontal-menu')
1845				.add(this.$secondaryWrap.find('.horizontal-menu'))
1846				.add(this.$header.find('.horizontal-menu'))
1847				.menuAim({
1848					activateCallback: zeenPrv.menuAc,
1849					deactivateCallback: zeenPrv.menuDeac,
1850					submenuDirection: 'below',
1851					openClassName: 'active',
1852					tolerance: 0,
1853					exitMenuCallback: zeenPrv.menuEx,
1854				});
1855
1856			this.$mobMenuClose.on('click', this.closeMobMenu.bind(this));
1857			this.$mobMenuOpen.on('click', this.openMobMenu.bind(this));
1858			this.$mobMenu.on('click', '.open-child', this.verticalMenuShow);
1859
1860			this.$slideMenuOpen.on('click', this.openSlideMenu.bind(this));
1861
1862			this.$toolTip.on('mouseenter', this.toolTipInit);
1863
1864			this.$slideInX.on('click', this.slideInPX.bind(this));
1865			this.$slideForm.on('submit', this.slideInSubmit.bind(this));
1866			this.$sorter.on('click', this.sorter);
1867			if (
1868				this.$body.hasClass('single') &&
1869				!this.$body.hasClass('single-product')
1870			) {
1871				this.$primary.on('click', '.reaction', this.reaction);
1872				this.$primary.on('click', '.zeen__up-down', this.upDown);
1873			}
1874			this.$win.on('load', function () {
1875				zeenPrv.loaded();
1876			});
1877
1878			if (this.$dropperChild.length > 0) {
1879				zeenPrv.dropperChild();
1880			}
1881			if (this.wooActive === true) {
1882				if (
1883					this.$body.hasClass('term-woocategory') ||
1884					this.$body.hasClass('post-type-archive-product') ||
1885					this.$body.hasClass('woocommerce-page')
1886				) {
1887					this.wooArchive = true;
1888					this.$products = this.$entryContentWrap.find(
1889						'.products:not(.related):not(.upsells)'
1890					);
1891				}
1892				this.wooGridM.on('click', this.wooLayoutChange);
1893				this.wooGridS.on('click', this.wooLayoutChange);
1894				zeenPrv.$doc.on('added_to_cart', function () {
1895					zeenPrv.modalOff();
1896				});
1897			}
1898		},
1899		wooLayoutChange: function (e) {
1900			e.preventDefault();
1901			var $this = $(this),
1902				size = $this.data('size');
1903			if ($this.hasClass('active')) {
1904				return;
1905			}
1906			zeenPrv.wooGridM.add(zeenPrv.wooGridS).removeClass('active');
1907			zeenPrv.$main
1908				.removeClass(
1909					'products-layout-3 products-layout-4 products-layout-12 products-layout-13'
1910				)
1911				.addClass('products-layout-' + size)
1912				.data('ppl', size);
1913			$this.addClass('active');
1914			zeenPrv.fillRunner(true);
1915		},
1916		commentScroll: function (e) {
1917			const $this = $(this),
1918				postWrap = $this.closest('.post-wrap');
1919			if (postWrap.length === 0) {
1920				return;
1921			}
1922			const commentsWrap = postWrap.find('.comments__wrap');
1923			if (commentsWrap.length === 0) {
1924				return;
1925			}
1926			e.preventDefault();
1927
1928			if (commentsWrap.hasClass('comments__type-2')) {
1929				commentsWrap.find('.collapsible__title').trigger('click');
1930			}
1931			commentsWrap[0].scrollIntoView({
1932				behavior: 'smooth',
1933				block: 'end',
1934				inline: 'nearest',
1935			});
1936		},
1937		collapsible: function (e) {
1938			e.preventDefault();
1939			var $this = $(this),
1940				$collapsible = $this
1941					.closest('.collapsible__wrap')
1942					.find('> .collapsible__content');
1943			if (!$this.hasClass('active')) {
1944				$this.addClass('active');
1945				gsap.set($collapsible, {
1946					height: 'auto',
1947					marginBottom: 20,
1948					opacity: 1,
1949				});
1950				gsap.from($collapsible, 0.3, {
1951					height: 0,
1952					opacity: 0,
1953					marginBottom: 0,
1954					ease: 'power4.inOut',
1955				});
1956			} else {
1957				$this.removeClass('active');
1958				gsap.to($collapsible, 0.3, {
1959					height: 0,
1960					opacity: 0,
1961					marginBottom: 0,
1962					ease: 'power4.inOut',
1963				});
1964			}
1965		},
1966		footerReveal: function (e) {
1967			if (!this.$body.hasClass('footer--reveal')) {
1968				return;
1969			}
1970			var _this = this;
1971			if (_this.$winWidth > 767) {
1972				this.$footer.imagesLoaded().always(function (instance) {
1973					_this.$content.css(
1974						'margin-bottom',
1975						parseInt(_this.$footer.outerHeight()) - 1 + 'px'
1976					);
1977				});
1978			} else {
1979				_this.$content.css('margin-bottom', '');
1980			}
1981		},
1982		trending: function (e) {
1983			var $selected = $(this);
1984			var $uid = $selected.parent().data('uid');
1985			var $blockData = $('#block-wrap-' + $uid);
1986			var $blockLoading = $blockData.find(' > div');
1987			if ($blockLoading.hasClass('loading')) {
1988				return;
1989			}
1990			var paged = $selected.data('r'),
1991				trendingName = 'now';
1992			if (paged === 1) {
1993				paged = 2;
1994			} else if (paged === 2) {
1995				paged = 7;
1996				trendingName = 'week';
1997			} else {
1998				paged = 30;
1999				trendingName = 'month';
2000			}
2001			$selected.siblings().removeClass('trending-selected');
2002			$selected.addClass('trending-selected');
2003			var setter = 'zeen_' + $uid;
2004			var blockData = window[setter];
2005			var args = {
2006				blockData: blockData,
2007				$blockData: $blockData,
2008				changer: false,
2009				append: 2,
2010				manual: true,
2011				response: '',
2012				mm: true,
2013			};
2014			$.ajax({
2015				method: 'GET',
2016				data: {
2017					uid: $uid,
2018					mm: true,
2019					excerpt_off: true,
2020					counter: true,
2021					counter_class: 'border',
2022					byline_off: true,
2023					review_off: true,
2024					data: blockData,
2025					trending: ['zeen-trending-' + trendingName, paged],
2026				},
2027				dataType: 'html',
2028				url: zeenJS.root + 'block',
2029				beforeSend: function (xhr) {
2030					$blockLoading.addClass('loading');
2031					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
2032					if (zeenPrv.ajaxChecker(setter + '_' + paged)) {
2033						args.response = zeenPrv.ajaxGetter(
2034							setter + '_' + paged
2035						);
2036						zeenPrv.ajaxLoadMore(args);
2037						$blockData.addClass('loaded');
2038						return false;
2039					}
2040				},
2041				success: function (response) {
2042					response = JSON.parse(response);
2043					args.response = response;
2044					zeenPrv.ajaxLoadMore(args);
2045					zeenPrv.ajaxSetter(setter + '_' + paged, response);
2046					$blockData.addClass('loaded');
2047				},
2048				fail: function (response) {
2049					console.log('ERROR', response);
2050				},
2051			});
2052		},
2053		hovererBlock: function () {
2054			if (this.$hovererBlock.length === 0) {
2055				return;
2056			}
2057			this.$hovererBlock.each(function () {
2058				var _this = $(this),
2059					maskWrap = _this.find('.mask__wrap'),
2060					article = _this.find('article');
2061				_this.on('mouseenter', zeenPrv.hovererLazy);
2062				article.on('mouseenter mouseleave', function (e) {
2063					var _thisArticle = $(this),
2064						selection = _thisArticle.data('i'),
2065						excerpt = _thisArticle.find('.excerpt');
2066					_thisArticle.siblings().removeClass('selected');
2067					if (e.type === 'mouseenter') {
2068						maskWrap.children().removeClass('selected');
2069						_thisArticle.addClass('selected');
2070						maskWrap
2071							.find("> [data-i='" + selection + "']")
2072							.addClass('selected');
2073						if (excerpt.length > 0) {
2074							gsap.set(excerpt, { height: 'auto', opacity: 1 });
2075							gsap.from(excerpt, 0.3, {
2076								height: 0,
2077								opacity: 0,
2078								ease: 'power4.inOut',
2079							});
2080						} else {
2081							_thisArticle.addClass('no-excerpt__ani');
2082						}
2083					} else {
2084						if (excerpt.length > 0) {
2085							gsap.to(excerpt, 0.3, {
2086								height: 0,
2087								opacity: 0,
2088								ease: 'power4.inOut',
2089							});
2090						} else {
2091							_thisArticle.removeClass('no-excerpt__ani');
2092						}
2093					}
2094				});
2095			});
2096		},
2097		hovererLazy: function () {
2098			var _this = $(this);
2099			_this.find('.zeen-hoverer-lazy-load').each(function () {
2100				zeenPrv.iframeAttrLoad($(this)[0]);
2101			});
2102			_this.off('mouseenter');
2103		},
2104		videosBlock: function () {
2105			if (this.$videosBlock.length === 0) {
2106				return;
2107			}
2108			this.$videosBlock.each(function () {
2109				var _this = $(this),
2110					video = _this.find('.block-piece-2 article');
2111				video.each(function () {
2112					$(this).on('click', function () {
2113						$(this).find('.media-tr').get(0).click();
2114					});
2115				});
2116			});
2117		},
2118		metaLocation34: function () {
2119			if (this.$metaLocation34.length === 0) {
2120				return;
2121			}
2122			this.$metaLocation34.each(function () {
2123				var _this = $(this),
2124					article = _this.find('article');
2125				article.on('mouseenter mouseleave', function (e) {
2126					var _thisArticle = $(this),
2127						excerpt = _thisArticle.find('.excerpt');
2128					if (e.type === 'mouseenter') {
2129						if (excerpt.length > 0) {
2130							gsap.set(excerpt, { height: 'auto', opacity: 1 });
2131							gsap.from(excerpt, 0.3, {
2132								height: 0,
2133								opacity: 0,
2134								ease: 'power4.inOut',
2135							});
2136						} else {
2137							_thisArticle.addClass('no-excerpt__ani');
2138						}
2139					} else {
2140						if (excerpt.length > 0) {
2141							gsap.to(excerpt, 0.3, {
2142								height: 0,
2143								opacity: 0,
2144								ease: 'power4.inOut',
2145							});
2146						} else {
2147							_thisArticle.removeClass('no-excerpt__ani');
2148						}
2149					}
2150				});
2151			});
2152		},
2153		anchorTouch: function () {
2154			var touch =
2155				'ontouchstart' in document.documentElement ? true : false;
2156
2157			this.$dropper.each(function (index, elem) {
2158				var dropper = $(this),
2159					dropperA = dropper.find('> a'),
2160					href = dropperA.attr('href');
2161				if (typeof href !== 'undefined' && href.indexOf('#') > -1) {
2162					if (
2163						'#search' === href ||
2164						'#latl' === href ||
2165						'#subscribe' === href
2166					) {
2167						dropperA
2168							.addClass('modal-tr')
2169							.attr('data-type', href.split('#')[1]);
2170						return;
2171					} else {
2172						dropperA.on('click.anchor', function (e) {
2173							var targetY = 0,
2174								targetElem = document.getElementById(
2175									href.split('#')[1]
2176								);
2177							if (href !== '#') {
2178								if (!targetElem) {
2179									return;
2180								}
2181								targetY = zenscroll.getTopOf(targetElem);
2182							}
2183							e.preventDefault();
2184							zenscroll.toY(
2185								targetY -
2186									zeenPrv.headAreaHeight -
2187									zeenPrv.$wpAdminBarHeight,
2188								null
2189							);
2190						});
2191					}
2192				}
2193				if (touch === false) {
2194					return true;
2195				}
2196				if (dropper.find('> .menu').length > 0) {
2197					dropperA.on('click', function (e) {
2198						var current = $(this);
2199						dropper.siblings('.tapped').removeClass('tapped');
2200						if (
2201							((dropper.find('.menu').length === 0 &&
2202								dropper.find('.sub-menu').length === 0) ||
2203								dropper.hasClass('tapped')) &&
2204							current.attr('href') !== '#'
2205						) {
2206							return true;
2207						} else {
2208							e.preventDefault();
2209							dropper.addClass('tapped');
2210						}
2211					});
2212				}
2213			});
2214		},
2215		topBlock: function () {
2216			if (
2217				this.$topBlock.length === 0 ||
2218				this.$topBlock.hasClass('standard-ani') ||
2219				this.$topBlock.hasClass('loaded')
2220			) {
2221				return;
2222			}
2223			var _this = this;
2224			this.$topBlock.imagesLoaded().always(function (instance) {
2225				var args = { y: 100 };
2226
2227				if (_this.$winWidth > 767) {
2228					if (
2229						_this.$topBlock.hasClass('zeen-top-block-92') ||
2230						_this.$topBlock.hasClass('zeen-top-block-94')
2231					) {
2232						args = {};
2233					}
2234				}
2235				args.scrollTrigger = {
2236					start: 'top top',
2237					end: 'bottom top',
2238					trigger: _this.$topBlock,
2239					scrub: true,
2240				};
2241				var img = _this.$topBlock.find('img');
2242				if (img.length > 0) {
2243					gsap.to(img, args);
2244				}
2245			});
2246		},
2247		anis: function (e) {
2248			this.tempAni();
2249			this.loopAni();
2250			this.blockAni();
2251		},
2252		lrTempAni: function () {
2253			var box = document.querySelectorAll('.lets-review-unseen'),
2254				observer = new IntersectionObserver(
2255					function (entries) {
2256						entries.forEach(function (entry) {
2257							if (entry.intersectionRatio > 0) {
2258								entry.target.classList.add('lets-review-seen');
2259								observer.unobserve(entry.target);
2260							}
2261						});
2262					},
2263					{ threshold: [0] }
2264				);
2265			for (var i = box.length - 1; i >= 0; i--) {
2266				observer.observe(box[i]);
2267			}
2268		},
2269		tempAni: function () {
2270			var ani = document.getElementsByClassName('ani-base'),
2271				observer = new IntersectionObserver(
2272					function (entries) {
2273						entries.forEach(function (entry) {
2274							if (entry.isIntersecting) {
2275								imagesLoaded(entry.target, function (instance) {
2276									entry.target.classList.add(
2277										'article-window'
2278									);
2279								});
2280								entry.target.classList.remove('article-ani');
2281								var revs = entry.target.getElementsByClassName(
2282									'lets-review-api-wrap'
2283								);
2284
2285								if (
2286									revs.length > 0 &&
2287									(entry.target.parentElement.classList.contains(
2288										'preview-review-bot'
2289									) ||
2290										entry.target.parentElement.parentElement.classList.contains(
2291											'preview-review-bot'
2292										))
2293								) {
2294									setTimeout(function () {
2295										entry.target.classList.add(
2296											'review-ani-done'
2297										);
2298										gsap.fromTo(
2299											revs[0],
2300											1,
2301											{ width: '0' },
2302											{
2303												width:
2304													revs[0].getAttribute(
2305														'data-api-100'
2306													) + '%',
2307												ease: Power2.easeOut,
2308											}
2309										);
2310									}, 300);
2311								}
2312								observer.unobserve(entry.target);
2313							}
2314						});
2315					},
2316					{ threshold: [0] }
2317				);
2318			for (var i = ani.length - 1; i >= 0; i--) {
2319				if (!ani[i].classList.contains('article-window')) {
2320					observer.observe(ani[i]);
2321				}
2322			}
2323
2324			var blockToSee = document.getElementsByClassName('block-to-see'),
2325				blockToSeeObs = new IntersectionObserver(
2326					function (entries) {
2327						entries.forEach(function (entry) {
2328							if (entry.isIntersecting) {
2329								entry.target.classList.add('tipi-seen');
2330								blockToSeeObs.unobserve(entry.target);
2331							}
2332						});
2333					},
2334					{ threshold: [0], rootMargin: '-100px 0px' }
2335				);
2336			for (i = blockToSee.length - 1; i >= 0; i--) {
2337				if (!blockToSee[i].classList.contains('tipi-seen')) {
2338					blockToSeeObs.observe(blockToSee[i]);
2339				}
2340			}
2341			if (zeenJS.args.lazy !== true) {
2342				return;
2343			}
2344			var lazy = document.getElementsByClassName('zeen-lazy-load');
2345
2346			for (i = lazy.length - 1; i >= 0; i--) {
2347				if (lazy[i].getAttribute('data-lazy-src') === null) {
2348					lazy[i].classList.remove('zeen-lazy-load');
2349				}
2350			}
2351
2352			var lazyObs = new IntersectionObserver(
2353				function (entries) {
2354					entries.forEach(function (entry) {
2355						if (entry.isIntersecting) {
2356							lazyObs.unobserve(entry.target);
2357							zeenPrv.imgAttrLoad(entry.target);
2358						}
2359					});
2360				},
2361				{ threshold: [0], rootMargin: '600px 0px' }
2362			);
2363			for (i = lazy.length - 1; i >= 0; i--) {
2364				if (!lazy[i].classList.contains('zeen-lazy-loaded')) {
2365					lazyObs.observe(lazy[i]);
2366				}
2367			}
2368		},
2369		iFrameLazy: function () {
2370			var iLazy = document.getElementsByClassName(
2371					'zeen-iframe-lazy-load'
2372				),
2373				ilazyObs = new IntersectionObserver(
2374					function (entries) {
2375						entries.forEach(function (entry) {
2376							if (entry.isIntersecting) {
2377								ilazyObs.unobserve(entry.target);
2378								zeenPrv.iframeAttrLoad(entry.target);
2379							}
2380						});
2381					},
2382					{ threshold: [0], rootMargin: '150px 0px' }
2383				);
2384			for (var i = iLazy.length - 1; i >= 0; i--) {
2385				if (!iLazy[i].classList.contains('zeen-lazy-loaded')) {
2386					ilazyObs.observe(iLazy[i]);
2387				}
2388			}
2389		},
2390		imgAttrLoad: function (img, imgLdd) {
2391			var el = img,
2392				src;
2393			if (el.tagName === 'PICTURE') {
2394				src = el.querySelectorAll('source')[0];
2395				img = el.querySelectorAll('img')[0];
2396				var srcSrcset = src.getAttribute('data-lazy-srcset');
2397				var srcSizes = src.getAttribute('data-lazy-sizes');
2398				if (srcSrcset) {
2399					src.srcset = srcSrcset;
2400					src.removeAttribute('data-lazy-srcset');
2401				}
2402				if (srcSizes) {
2403					src.sizes = srcSizes;
2404					src.removeAttribute('data-lazy-sizes');
2405				}
2406			}
2407			src = img.getAttribute('data-lazy-src');
2408			var srcset = img.getAttribute('data-lazy-srcset');
2409			var sizes = img.getAttribute('data-lazy-sizes');
2410			if (src) {
2411				img.src = src;
2412				img.removeAttribute('data-lazy-src');
2413			}
2414			if (srcset) {
2415				img.srcset = srcset;
2416				img.removeAttribute('data-lazy-srcset');
2417			}
2418			if (sizes) {
2419				img.sizes = sizes;
2420				img.removeAttribute('data-lazy-sizes');
2421			}
2422			var imgLddOn = el.classList.contains('zeen-images-loaded');
2423			if (imgLdd === true || imgLddOn === true) {
2424				imagesLoaded(img, function (instance) {
2425					instance.images[0].img.classList.remove('zeen-lazy-load');
2426					instance.images[0].img.classList.add('zeen-lazy-loaded');
2427					if (
2428						instance.images[0].img.parentElement.tagName ===
2429						'PICTURE'
2430					) {
2431						instance.images[0].img.parentElement.parentElement.classList.add(
2432							'zeen-lazy-loaded-wrap'
2433						);
2434					} else {
2435						instance.images[0].img.parentElement.classList.add(
2436							'zeen-lazy-loaded-wrap'
2437						);
2438					}
2439				});
2440			} else {
2441				el.classList.remove('zeen-lazy-load');
2442				el.classList.add('zeen-lazy-loaded');
2443			}
2444		},
2445		iframeAttrLoad: function (iframe) {
2446			var src = iframe.getAttribute('data-lazy-src');
2447			iframe.setAttribute('src', src);
2448			$(iframe).on('load', function () {
2449				iframe.classList.add('zeen-lazy-loaded');
2450				iframe.classList.add('loaded');
2451			});
2452		},
2453		mobLimiter: function (e) {
2454			e.preventDefault();
2455			$(this).closest('.post-wrap').addClass('mobile--limiter--more');
2456			zeenPrv.progressScene.destroy();
2457			zeenPrv.postTracks();
2458		},
2459		progressPosition: function () {
2460			if (this.$progress.length === 0) {
2461				return;
2462			}
2463			if (this.$winWidth < 767 && this.$mobHead.length > 0) {
2464				this.$progress.addClass('has--moved');
2465				var progressData = this.$progress.data('parent');
2466				if (typeof progressData === 'undefined') {
2467					this.$progress.data(
2468						'parent',
2469						this.$progress.closest('header').attr('id')
2470					);
2471				}
2472				this.$mobHead.append(this.$progress);
2473			} else if (this.$progress.hasClass('has--moved')) {
2474				$('#' + this.$progress.data('parent'))
2475					.find('> .bg-area')
2476					.append(this.$progress);
2477			}
2478		},
2479		loopAni: function (e) {
2480			if (this.$winWidth < 1200) {
2481				return;
2482			}
2483			this.$primary.find('> .post-wrap').each(function () {
2484				var current = $(this);
2485				if (current.hasClass('loop-ani-checked')) {
2486					return true;
2487				}
2488				if (current.hasClass('align-fade-up')) {
2489					var ani = current.find('.alignleft, .alignright'),
2490						observer = new IntersectionObserver(
2491							function (entries) {
2492								entries.forEach(function (entry) {
2493									if (
2494										entry.boundingClientRect.top > 0 ||
2495										entry.isIntersecting
2496									) {
2497										entry.target.classList.add('tipi-seen');
2498										observer.unobserve(entry.target);
2499									}
2500								});
2501							},
2502							{ threshold: [0], rootMargin: '500px 0px 0px 0px' }
2503						);
2504					for (var i = ani.length - 1; i >= 0; i--) {
2505						observer.observe(ani[i]);
2506					}
2507				}
2508				current.addClass('loop-ani-checked');
2509			});
2510		},
2511		blockAni: function () {
2512			var ani = document.getElementsByClassName('block-ani');
2513			if (ani.length === 0) {
2514				return;
2515			}
2516			var observer = new IntersectionObserver(
2517				function (entries) {
2518					entries.forEach(function (entry) {
2519						if (entry.isIntersecting) {
2520							entry.target.classList.add('loaded');
2521							observer.unobserve(entry.target);
2522						}
2523					});
2524				},
2525				{ threshold: [0] }
2526			);
2527			for (var i = ani.length - 1; i >= 0; i--) {
2528				if (!ani[i].classList.contains('loaded')) {
2529					observer.observe(ani[i]);
2530				}
2531			}
2532		},
2533		dropperChild: function () {
2534			var timer;
2535			this.$dropperChild.on('mouseover mouseleave', function (e) {
2536				clearTimeout(timer);
2537				if (e.type === 'mouseover') {
2538					var _this = $(this);
2539					timer = setTimeout(function () {
2540						zeenPrv.blockMore(e, _this);
2541					}, 300);
2542				}
2543			});
2544		},
2545		twitchLoad: function () {
2546			var ani = document.getElementsByClassName('twitch');
2547			if (ani.length === 0) {
2548				return;
2549			}
2550
2551			var observer = new IntersectionObserver(
2552				function (entries) {
2553					entries.forEach(function (entry) {
2554						if (entry.isIntersecting) {
2555							var tw = $(entry.target);
2556							tw.append(
2557								'<iframe title="Twitch" width="1280" height="720" scrolling="no" class="twitch-frame" src="' +
2558									tw.data('src') +
2559									'" frameborder="0" seamless="seamless" allowfullscreen="true"></iframe>'
2560							);
2561							tw.find('iframe').on('load', function () {
2562								tw.addClass('ani-in loaded');
2563							});
2564							observer.unobserve(entry.target);
2565						}
2566					});
2567				},
2568				{ threshold: [0] }
2569			);
2570			for (var i = ani.length - 1; i >= 0; i--) {
2571				if (!ani[i].classList.contains('loaded')) {
2572					observer.observe(ani[i]);
2573				}
2574			}
2575		},
2576		sorter: function () {
2577			var $sorter = $(this);
2578
2579			if ($sorter.hasClass('load-more-wrap')) {
2580				return;
2581			}
2582			zeenPrv.activeFocus($sorter, 'active');
2583		},
2584		activeFocus: function (el, classes) {
2585			if (el.hasClass(classes)) {
2586				el.blur();
2587				el.removeClass(classes);
2588				return;
2589			}
2590			el.addClass(classes);
2591			if ('ontouchstart' in document.documentElement) {
2592				zeenPrv.$doc.on('touchstart', function (e) {
2593					el.removeClass(classes);
2594					zeenPrv.$doc.off('touchstart');
2595					el.off('touchstart');
2596				});
2597				el.on('touchstart', function (e) {
2598					e.stopPropagation();
2599				});
2600			} else {
2601				zeenPrv.activeFocusTarget = el;
2602				zeenPrv.$doc.on('click', zeenPrv.activeFocusClick);
2603			}
2604		},
2605		activeFocusClick: function (e) {
2606			if (zeenPrv.activeFocusTarget.has(e.target).length === 0) {
2607				zeenPrv.activeFocusTarget.removeClass('active active-search');
2608				zeenPrv.activeFocusTarget = '';
2609				zeenPrv.$doc.off('click', zeenPrv.activeFocusClick);
2610			}
2611		},
2612		loading: function (el, status) {
2613			if (status === 'on') {
2614				el.addClass('loading');
2615			} else {
2616				el.removeClass('loading');
2617			}
2618		},
2619		slideInP: function () {
2620			var postSlide = this.$slideIn.hasClass('slide-in-2') ? true : false;
2621			if (
2622				this.$slideIn.length === 0 ||
2623				this.$winWidth < 767 ||
2624				(Cookies.get('wp_sliding_box_p') === 'off' &&
2625					postSlide === true) ||
2626				(Cookies.get('wp_sliding_box') === 'off' && postSlide === false)
2627			) {
2628				return;
2629			}
2630
2631			var trigger = this.$content,
2632				start =
2633					parseInt(zeenJS.args.slidingBoxStartPoint) > 0
2634						? parseInt(zeenJS.args.slidingBoxStartPoint)
2635						: 50;
2636			if (postSlide === true && this.$entryContentWrap.length > 0) {
2637				// Wrap used for vertical galleries and sticky gets shifted
2638				trigger = this.$entryContentWrap;
2639			}
2640			this.slideInScene = ScrollTrigger.create({
2641				trigger: trigger,
2642				start: 'top+=' + start + '% bottom',
2643				end: 'bottom center',
2644				toggleClass: { targets: this.$slideIn, className: 'active' },
2645			});
2646		},
2647		slideInPX: function () {
2648			this.$body.removeClass('slide-in-active');
2649			if (this.$slideIn.hasClass('slide-in-1')) {
2650				this.turnItOff(1);
2651			}
2652			if (this.$slideIn.hasClass('slide-in-2')) {
2653				this.turnItOff(2);
2654			}
2655			if (typeof this.slideInScene === 'object') {
2656				this.slideInScene.kill();
2657			}
2658		},
2659		slideInSubmit: function () {
2660			this.turnItOff(1);
2661		},
2662		turnItOff: function (arg) {
2663			if (arg === 1) {
2664				Cookies.set('wp_sliding_box', 'off', {
2665					sameSite: 'lax',
2666					expires: zeenJS.args.cookieDuration,
2667					path: zeenJS.args.path,
2668				});
2669			} else if (arg === 2) {
2670				Cookies.set('wp_sliding_box_p', 'off', {
2671					sameSite: 'lax',
2672					expires: zeenJS.args.cookieDuration,
2673					path: zeenJS.args.path,
2674				});
2675			} else if (arg === 3) {
2676				Cookies.set('wp_timed_pp', 'off', {
2677					sameSite: 'lax',
2678					expires: zeenJS.args.cookieDuration,
2679					path: zeenJS.args.path,
2680				});
2681			} else if (arg === 4) {
2682				Cookies.set('wp_top_bar', 'off', {
2683					sameSite: 'lax',
2684					expires: zeenJS.args.cookieDuration,
2685					path: zeenJS.args.path,
2686				});
2687			} else if (arg === 5) {
2688				Cookies.set('subL', 'off', {
2689					sameSite: 'lax',
2690					expires: zeenJS.args.cookieDuration,
2691					path: zeenJS.args.path,
2692				});
2693			} else if (arg === 6) {
2694				Cookies.set('wp_timed_sub', 'off', {
2695					sameSite: 'lax',
2696					expires: zeenJS.args.cookieDuration,
2697					path: zeenJS.args.path,
2698				});
2699			}
2700		},
2701		topBarMsg: function () {
2702			if (this.$topBarMsg.length === 0) {
2703				return;
2704			}
2705			$('#top-bar-message-close').on('click', function () {
2706				var closer = $(this);
2707				zeenPrv.$topBarMsg.slideUp();
2708				closer.off('click');
2709				zeenPrv.turnItOff(4);
2710			});
2711		},
2712		timedPup: function () {
2713			var els = this.$timedPup.add(this.$modal.find('.timed-sub'));
2714			if (els.length === 0 || Cookies.get('wp_timed_sub') === 'off') {
2715				return;
2716			}
2717			var _this = this;
2718			els.each(function () {
2719				var self = $(this),
2720					disabler = 3,
2721					timer = self.data('t'),
2722					disable = self.data('d'),
2723					type = self.data('type');
2724				if (typeof timer === 'undefined') {
2725					timer = 15000;
2726				} else {
2727					timer = timer * 1000;
2728				}
2729				setTimeout(function () {
2730					_this.modalOff();
2731					setTimeout(function () {
2732						if ('pup' === type) {
2733							_this.$baseOverlay.addClass('active');
2734							_this.$body.addClass('modal-active');
2735							_this.$timedPup.addClass('active');
2736							if (disable === 1) {
2737								_this.$baseOverlay.on('click', function () {
2738									_this.turnItOff(disabler);
2739									_this.$baseOverlay.off('click');
2740								});
2741							}
2742						} else if ('sub' === type) {
2743							zeenPrv.modalSubscribe();
2744							disabler = 6;
2745							if (disable === 1) {
2746								zeenPrv.$body.addClass('sub-pup');
2747							}
2748						}
2749					}, 300);
2750				}, timer);
2751			});
2752		},
2753		postTracks: function () {
2754			if (this.$progress.length === 0 && this.$mobBotShare.length === 0) {
2755				return;
2756			}
2757			var targets = [];
2758			if (this.$progress.length > 0) {
2759				targets.push(zeenPrv.$progress);
2760			}
2761			if (this.$mobBotShare.length > 0) {
2762				targets.push(zeenPrv.$mobBotShare);
2763			}
2764			this.$entryContent.each(function (index, elem) {
2765				var $elem = $(elem);
2766				if (
2767					$elem.hasClass('sticky-el') ||
2768					($elem.hasClass('woocommerce-Tabs-panel') &&
2769						!$elem.hasClass('woocommerce-Tabs-panel--description'))
2770				) {
2771					return true;
2772				}
2773				$elem.addClass('progresson');
2774				$elem.find('img').imagesLoaded(function () {
2775					var $elemOuter = $elem.outerHeight(true);
2776					if (zeenPrv.$winHeight < $elemOuter + 50) {
2777						var ST = gsap.timeline({
2778							scrollTrigger: {
2779								trigger: $elem,
2780								start: 'top center',
2781								end: 'bottom center',
2782								scrub: true,
2783								toggleClass: {
2784									targets: targets,
2785									className: 'active',
2786								},
2787							},
2788						});
2789					}
2790					if (zeenPrv.$progress.length !== 0) {
2791						if (zeenPrv.$winHeight < $elemOuter + 50) {
2792							ST.fromTo(
2793								zeenPrv.$progress,
2794								{
2795									width: '0',
2796									ease: 'none',
2797								},
2798								{
2799									width: '100%',
2800									ease: 'none',
2801								}
2802							);
2803						}
2804					}
2805				});
2806			});
2807		},
2808		keyUp: function (e) {
2809			if (
2810				this.$modal.hasClass('inactive') &&
2811				!this.$body.hasClass('slide-menu-open')
2812			) {
2813				return;
2814			}
2815			var keyCheck = false;
2816
2817			if ('key' in e) {
2818				keyCheck = e.key === 'Escape' || e.key === 'Esc';
2819			} else {
2820				keyCheck = e.keyCode === 27;
2821			}
2822
2823			if (keyCheck !== false) {
2824				this.closeSlideMenu(e);
2825				this.modalOff();
2826			}
2827		},
2828		header: function (resize) {
2829			if (this.$winWidth > 767) {
2830				var isStickyTop = false;
2831
2832				if (
2833					this.$header.hasClass('sticky-top') &&
2834					!this.$header.hasClass('evented')
2835				) {
2836					var offset = zeenPrv.$header.hasClass('sticky-menu-4')
2837						? { top: 0, left: 0 }
2838						: this.$header.offset();
2839					window.addEventListener(
2840						'scroll',
2841						function (e) {
2842							var currentScroll =
2843								window.pageYOffset ||
2844								document.documentElement.scrollTop;
2845							if (!zeenPrv.ticking) {
2846								window.requestAnimationFrame(function () {
2847									if (
2848										currentScroll >
2849											Math.min(
2850												45,
2851												zeenPrv.$headerHeight
2852											) &&
2853										currentScroll >=
2854											offset.top -
2855												zeenPrv.$wpAdminBarHeight
2856									) {
2857										if (
2858											!zeenPrv.$header[0].classList.contains(
2859												'sticky-header--active'
2860											)
2861										) {
2862											zeenPrv.$header[0].classList.add(
2863												'sticky-header--active'
2864											);
2865										}
2866									} else {
2867										zeenPrv.$header[0].classList.remove(
2868											'sticky-header--active'
2869										);
2870									}
2871									zeenPrv.ticking = false;
2872								});
2873								zeenPrv.ticking = true;
2874							}
2875						},
2876						zeenPrv.$listener
2877					);
2878					isStickyTop = true;
2879					this.$header.addClass('evented');
2880				}
2881				if (
2882					zeenJS.args.stickyHeaderCustomize === true &&
2883					(isStickyTop || this.$header.hasClass('sticky-menu'))
2884				) {
2885					var logo = this.$header.find('.logo-main img');
2886					logo.imagesLoaded(function () {
2887						logo.css('height', '').css('height', logo.height());
2888						zeenPrv.$header
2889							.css('height', '')
2890							.css('height', zeenPrv.$headerHeight)
2891							.addClass('size-set');
2892					});
2893				}
2894			}
2895		},
2896		mobileMenuClass: function () {
2897			var $mobChild = this.$mobMenuChildren.find('> a');
2898			$mobChild.each(function (index) {
2899				var $this = $(this);
2900				if ($this.attr('href') === '#') {
2901					$this.addClass('open-child text-link');
2902				} else {
2903					$this.addClass('open-child text-link text-with-link');
2904				}
2905			});
2906			$mobChild.after(
2907				'<a href="#" class="open-child"><i class="tipi-i-chevron-down"></i></a>'
2908			);
2909		},
2910		verticalMenuShow: function (e) {
2911			var currentVerticalMenu = $(this);
2912			var currentParent = currentVerticalMenu.parent();
2913			var currentSiblings = currentParent.siblings(
2914				'.menu-item-has-children'
2915			);
2916			currentSiblings.find('> .opened-child').removeClass('opened-child');
2917			currentSiblings
2918				.find('> .child-is-open')
2919				.removeClass('child-is-open');
2920			var currentVerticalSubMenu = currentParent.find('> .sub-menu');
2921			if (currentVerticalMenu.hasClass('child-is-open')) {
2922				if (!currentVerticalMenu.hasClass('text-with-link')) {
2923					e.preventDefault();
2924					currentParent.find('a').removeClass('child-is-open');
2925					currentVerticalSubMenu.removeClass('opened-child');
2926				}
2927			} else {
2928				e.preventDefault();
2929				currentParent.find('> a').addClass('child-is-open');
2930				currentVerticalSubMenu.addClass('opened-child');
2931			}
2932		},
2933		secondaryImgs: function (event) {
2934			var hovered = $(this);
2935			if (event.type === 'mouseenter') {
2936				hovered.addClass('hovering');
2937			} else {
2938				hovered.removeClass('hovering');
2939			}
2940		},
2941		stickyCheck: function () {
2942			var el = document.createElement('a'),
2943				check = el.style;
2944			check.cssText = 'position:sticky;position:-webkit-sticky;';
2945			this.$stickyOff = check.position.indexOf('sticky') !== -1;
2946			if (this.$stickyOff === false) {
2947				this.$body.addClass('sticky-disabled');
2948			}
2949		},
2950		stickyEl: function () {
2951			var spacing;
2952			if (this.headAreaHeight === 0 || this.$stickyOff === false) {
2953				return;
2954			}
2955			$('.sticky-el').each(function (index, elem) {
2956				var $elem = $(this);
2957				if (
2958					$elem.hasClass('block-wrap') &&
2959					parseInt(
2960						$elem.find('> .tipi-row-inner-style').css('padding-top')
2961					) > 0
2962				) {
2963					spacing = 0;
2964				} else {
2965					spacing = 30;
2966				}
2967				if (zeenPrv.$winWidth < 767) {
2968					spacing = 15;
2969				}
2970				$elem.css(
2971					'top',
2972					zeenPrv.headAreaHeight + zeenPrv.$wpAdminBarHeight + spacing
2973				);
2974			});
2975		},
2976		sticky: function () {
2977			if (this.$stickyMenu.length === 0) {
2978				return;
2979			}
2980
2981			this.$stickyMenu.each(function (index, elem) {
2982				var stickyElem = $(elem);
2983				if (stickyElem.hasClass('stickied')) {
2984					return;
2985				}
2986				stickyElem.addClass('stickied');
2987				var media = 'd';
2988				if (stickyElem.hasClass('site-mob-header')) {
2989					media = 'm';
2990				}
2991				var args = {
2992					end: '99999999',
2993					trigger: $('#header-line'),
2994				};
2995				var offset = 200,
2996					extras,
2997					stickyMenuType;
2998				if (stickyElem.hasClass('site-mob-header')) {
2999					offset = zeenPrv.$winHeight;
3000					args.trigger = $('#mob-line');
3001				}
3002				args.start = zeenPrv.$wpAdminBarHeightNeg + 'px top';
3003				var onUpdateKeep;
3004				if (stickyElem.hasClass('sticky-menu-2')) {
3005					stickyMenuType = 2;
3006					stickyElem.addClass('still');
3007					var stickyElemHeight = stickyElem.outerHeight(true);
3008					args.onUpdate = function (_ref) {
3009						if (_ref.progress * _ref.end > stickyElemHeight) {
3010							stickyElem.addClass('stuck');
3011							if (_ref.direction === 1) {
3012								stickyElem.removeClass('active');
3013							} else if (_ref.direction === -1) {
3014								stickyElem
3015									.addClass('active')
3016									.removeClass('still');
3017							}
3018						} else if (_ref.progress * _ref.end === 0) {
3019							stickyElem
3020								.removeClass('stuck active')
3021								.addClass('still');
3022							if (_ref.direction === 1) {
3023							} else if (_ref.direction === -1) {
3024							}
3025						}
3026					};
3027				} else if (stickyElem.hasClass('sticky-menu-3')) {
3028					stickyMenuType = 3;
3029					onUpdateKeep = true;
3030					args.onUpdate = function (_ref) {
3031						if (_ref.progress * _ref.end > offset) {
3032							stickyElem.addClass('slidedown stuck');
3033						} else if (_ref.progress * _ref.end === 0) {
3034							stickyElem.removeClass('slidedown stuck');
3035						}
3036					};
3037					if (
3038						zeenPrv.$body.hasClass('single-post') &&
3039						stickyElem.hasClass('main-navigation')
3040					) {
3041						extras = true;
3042					}
3043				} else if (
3044					(stickyElem.hasClass('sticky-menu-1') ||
3045						stickyElem.hasClass('sticky-menu-4')) &&
3046					!stickyElem.hasClass('site-mob-header')
3047				) {
3048					stickyMenuType = 1;
3049					if (
3050						zeenPrv.$body.hasClass('single-post') &&
3051						stickyElem.hasClass('main-navigation')
3052					) {
3053						extras = true;
3054					}
3055					args.start =
3056						'top ' + zeenPrv.$wpAdminBarHeight > 0
3057							? zeenPrv.$wpAdminBarHeight + 'px'
3058							: 'top';
3059					args.onLeaveBack = function (_ref) {
3060						stickyElem.removeClass('stuck');
3061					};
3062					args.onEnter = function (_ref) {
3063						stickyElem.addClass('stuck');
3064					};
3065				}
3066				if (extras === true) {
3067					args.onUpdate = function (_ref) {
3068						if (_ref.progress * _ref.end > zeenPrv.$winHeight / 2) {
3069							stickyElem.addClass('stuck-full');
3070							if (_ref.direction === 1) {
3071								stickyElem.removeClass('stuck-up');
3072							} else if (_ref.direction === -1) {
3073								stickyElem.addClass('stuck-up');
3074							}
3075						}
3076						if (onUpdateKeep === true) {
3077							if (_ref.progress * _ref.end > offset) {
3078								stickyElem.addClass('slidedown stuck');
3079							} else if (_ref.progress * _ref.end === 0) {
3080								stickyElem.removeClass('slidedown stuck');
3081							}
3082						}
3083					};
3084					args.onLeaveBack = function (_ref) {
3085						stickyElem.removeClass('stuck-up stuck-full stuck');
3086					};
3087				}
3088				ScrollTrigger.matchMedia({
3089					'(min-width: 860px)': function () {
3090						if (media === 'd') {
3091							zeenPrv.stickies.push(ScrollTrigger.create(args));
3092						}
3093					},
3094					'(max-width: 1199px)': function () {
3095						if (media === 'm') {
3096							zeenPrv.stickies.push(ScrollTrigger.create(args));
3097						}
3098					},
3099				});
3100			});
3101		},
3102		liveSearchTr: function (e) {
3103			e.preventDefault();
3104			$(this)
3105				.closest('.search-form-wrap')
3106				.find('> form')
3107				.trigger('submit');
3108		},
3109		liveSearch: function (e, args) {
3110			if (typeof args === 'undefined') {
3111				args = {
3112					field: zeenPrv.$modalSearchField,
3113					wrapper: zeenPrv.$modalSearch,
3114					results: zeenPrv.$modalSearchFound,
3115				};
3116			}
3117			if (zeenPrv.timer) {
3118				clearTimeout(zeenPrv.timer);
3119			}
3120			if ($.inArray(e.keyCode, zeenPrv.ignoreCodes) === -1) {
3121				zeenPrv.timer = setTimeout(function () {
3122					zeenPrv.searchAjax(args);
3123				}, 800);
3124			}
3125		},
3126		searchAjax: function (args) {
3127			var typing = args.field.val();
3128			args.wrapper.removeClass('with-results');
3129			if (typing.length < 2) {
3130				args.wrapper.addClass('zero-typo');
3131				return;
3132			}
3133			var ppp = zeenJS.args.searchPpp;
3134			var child = 0;
3135			if (typeof args.ppp !== 'undefined') {
3136				ppp = args.ppp;
3137				child = 1;
3138			}
3139
3140			$.ajax({
3141				method: 'GET',
3142				url: zeenJS.root + 's?kw=' + typing + '&ppp=' + ppp,
3143				dataType: 'html',
3144				beforeSend: function (xhr) {
3145					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
3146					args.wrapper.css('height', args.wrapper.height());
3147				},
3148				success: function (response) {
3149					args.results.empty();
3150					args.results.append(response);
3151					args.wrapper.removeClass('zero-typo');
3152					var articles = args.results.find('article');
3153					if (articles.length === 0) {
3154						args.wrapper.addClass('no-results-found');
3155					} else {
3156						args.wrapper.removeClass('no-results-found');
3157						if ((articles.length + 1) % 3 === 0) {
3158							args.results
3159								.find('.block')
3160								.append('<article></article>');
3161						}
3162					}
3163
3164					articles.imagesLoaded(function () {
3165						zeenPrv.blockAni();
3166						args.wrapper.css('height', 'auto');
3167					});
3168					args.wrapper.addClass('with-results with-results-cache');
3169				},
3170				fail: function (response) {
3171					console.log('ERROR', response);
3172				},
3173			});
3174		},
3175		mediaPlay: function () {
3176			zeenPrv.video.play();
3177			zeenPrv.audio.play();
3178		},
3179		mediaStop: function () {
3180			zeenPrv.audio.pause();
3181			zeenPrv.video.pause();
3182		},
3183		subL: function () {
3184			if (zeenJS.args.subL === false || Cookies.get('subL') === 'off') {
3185				return;
3186			}
3187			document.documentElement.addEventListener(
3188				'mouseleave',
3189				zeenPrv.subE,
3190				zeenPrv.$listener
3191			);
3192		},
3193		modalSubscribe: function () {
3194			zeenPrv.$modal.addClass('active active-4').removeClass('inactive');
3195			zeenPrv.$body.addClass('modal-active');
3196			setTimeout(function () {
3197				zeenPrv.$modal
3198					.find('.content-subscribe input[type=email]')
3199					.trigger('focus');
3200			}, 400);
3201		},
3202		modalOn: function (e) {
3203			e.preventDefault();
3204			var trigger = $(this),
3205				modalData = trigger.data(),
3206				modalOutput;
3207			if (!zeenPrv.$body.hasClass('modal-skin-2')) {
3208				if (
3209					modalData.type == 'frame' ||
3210					modalData.type == 'qv' ||
3211					modalData.type == 'embed' ||
3212					modalData.type == '46'
3213				) {
3214					zeenPrv.$modal
3215						.addClass('dark-overlay')
3216						.removeClass('light-overlay');
3217				} else {
3218					zeenPrv.$modal
3219						.addClass('light-overlay')
3220						.removeClass('dark-overlay');
3221				}
3222			}
3223
3224			if (
3225				modalData.type == 'frame' ||
3226				modalData.type == 'embed' ||
3227				modalData.type == '46'
3228			) {
3229				if (modalData.source == 'ext') {
3230					if (modalData.src === '') {
3231						modalOutput =
3232							'<span class="embed-error">' +
3233							zeenJS.i18n.embedError +
3234							'</span>';
3235					} else {
3236						modalOutput =
3237							'<iframe title="media" width="560" height="315"  class="frame" src="' +
3238							modalData.src +
3239							'" frameborder="0" seamless="seamless" allow="autoplay" allowfullscreen></iframe>';
3240					}
3241				} else {
3242					if (modalData.format === 'audio') {
3243						if (zeenPrv.audio.canPlayType('audio/mpeg;')) {
3244							zeenPrv.audio.type = 'audio/mpeg';
3245							if (modalData.srcA !== '') {
3246								zeenPrv.audio.src = modalData.srcA;
3247							}
3248						} else {
3249							zeenPrv.audio.type = 'audio/ogg';
3250							if (modalData.srcB !== '') {
3251								zeenPrv.audio.src = modalData.srcB;
3252							}
3253						}
3254						zeenPrv.audio.controls = true;
3255						modalOutput = zeenPrv.audio;
3256						zeenPrv.audio.setAttribute(
3257							'controlsList',
3258							'nodownload'
3259						);
3260						zeenPrv.audio.setAttribute('data-pid', modalData.pid);
3261						zeenPrv.mediaPlay();
3262					}
3263					if (modalData.format === 'video') {
3264						if (zeenPrv.video.canPlayType('video/mp4;')) {
3265							zeenPrv.video.type = 'video/mp4';
3266							if (modalData.srcA !== '') {
3267								zeenPrv.video.src = modalData.srcA;
3268							}
3269						} else {
3270							zeenPrv.video.type = 'video/ogg';
3271							if (modalData.srcB !== '') {
3272								zeenPrv.video.src = modalData.srcB;
3273							}
3274						}
3275						zeenPrv.video.setAttribute('controls', 'controls');
3276						zeenPrv.video.setAttribute(
3277							'controlsList',
3278							'nodownload'
3279						);
3280						zeenPrv.mediaPlay();
3281						modalOutput = zeenPrv.video;
3282					}
3283					setTimeout(function () {
3284						zeenPrv.$modalCustom.addClass('ani-in');
3285					}, 350);
3286				}
3287			}
3288			if (modalData.type == 'frame') {
3289				zeenPrv.audio = new Audio();
3290				zeenPrv.video = document.createElement('video');
3291				zeenPrv.$modalCustom
3292					.addClass('is-' + modalData.format)
3293					.append(modalOutput);
3294				zeenPrv.$modal
3295					.addClass('active active-1')
3296					.removeClass('inactive');
3297				zeenPrv.$body.addClass('modal-active');
3298				zeenPrv.$modalCustom.addClass('tipi-spin ani-in');
3299				if (modalData.source == 'ext') {
3300					zeenPrv.$modalCustom.find('iframe').on('load', function () {
3301						zeenPrv.$modalCustom
3302							.addClass('frame-ldd')
3303							.removeClass('tipi-spin');
3304					});
3305				} else {
3306					var obj = zeenPrv.$modalCustom.find('audio, video');
3307					obj.on('loadstart', function () {
3308						zeenPrv.$modalCustom
3309							.addClass('frame-ldd')
3310							.removeClass('tipi-spin');
3311					});
3312				}
3313			}
3314
3315			if (modalData.type == 'embed') {
3316				var embedTarget = trigger.closest('.hero-wrap');
3317				if (
3318					typeof modalData.target !== 'undefined' &&
3319					modalData.target !== 'hero-wrap'
3320				) {
3321					embedTarget = embedTarget.find($(modalData.target));
3322				}
3323				if (embedTarget.hasClass('active-embed')) {
3324					return;
3325				}
3326				var targetVal = parseInt(Math.random() * (9999 - 1000) + 1000);
3327				embedTarget
3328					.append(
3329						'<div id="frame-wrap-' +
3330							targetVal +
3331							'" class="frame-wrap media-wrap-' +
3332							modalData.format +
3333							'"></div>'
3334					)
3335					.addClass('active-embed is-' + modalData.format)
3336					.removeClass('inactive-embed');
3337				$('#frame-wrap-' + targetVal).append(modalOutput);
3338			}
3339
3340			if (modalData.type == '46') {
3341				var triggerArticle = trigger.closest('article');
3342				if (triggerArticle.hasClass('playing')) {
3343					return;
3344				}
3345				var targetBlockWrap = $('#block-wrap-' + modalData.target);
3346				var targetBlockPiece1 = targetBlockWrap.find('.block-piece-1');
3347				var target = targetBlockPiece1.find('.mask');
3348				targetBlockPiece1
3349					.addClass('loading-embed')
3350					.removeClass('active-embed');
3351				target.html(
3352					'<div class="frame-wrap-46-pad"><div id="frame-wrap-' +
3353						modalData.target +
3354						'" class="frame-wrap tipi-spin frame-wrap-46"></div></div>'
3355				);
3356				$('#frame-wrap-' + modalData.target).append(modalOutput);
3357
3358				setTimeout(function () {
3359					targetBlockPiece1.addClass('active-embed embed-ldd-once');
3360				}, 150);
3361
3362				if (trigger.hasClass('icon-size-s')) {
3363					triggerArticle
3364						.addClass('playing')
3365						.siblings()
3366						.removeClass('playing');
3367				}
3368			}
3369
3370			if (modalData.type == 'search') {
3371				zeenPrv.$modal
3372					.addClass('active active-3')
3373					.removeClass('inactive');
3374				zeenPrv.$body.addClass('modal-active');
3375				if (zeenPrv.$winWidth > 1024) {
3376					setTimeout(function () {
3377						zeenPrv.$modalSearchField.trigger('focus');
3378					}, 500);
3379				}
3380			}
3381
3382			if (modalData.type == 'subscribe') {
3383				zeenPrv.modalSubscribe();
3384			}
3385
3386			if (modalData.type == 'latl') {
3387				zeenPrv.$modal
3388					.addClass('active active-2')
3389					.removeClass('inactive');
3390				zeenPrv.$body.addClass('modal-active');
3391				setTimeout(function () {
3392					zeenPrv.$modal
3393						.find('.latl-username > input')
3394						.trigger('focus');
3395				}, 700);
3396			}
3397
3398			if (modalData.type == 'search-drop') {
3399				zeenPrv.activeFocus(
3400					trigger.closest('.drop-search-wrap'),
3401					'active-search'
3402				);
3403				setTimeout(function () {
3404					trigger.parent().find('.search-field').trigger('focus');
3405				}, 250);
3406			}
3407
3408			if (modalData.type == 'qv') {
3409				zeenPrv.$modal
3410					.addClass('active active-qv')
3411					.removeClass('inactive');
3412				zeenPrv.$body.addClass('modal-active');
3413				zeenPrv.ajaxCall = $.ajax({
3414					method: 'GET',
3415					dataType: 'html',
3416					url: zeenJS.root + 'qv?id=' + modalData.pid,
3417					beforeSend: function (xhr) {
3418						zeenPrv.$modal.addClass('tipi-spin');
3419						zeenPrv.$modalCustom
3420							.empty()
3421							.removeClass('is-video is-audio');
3422					},
3423					success: function (response) {
3424						zeenPrv.$modalCustom.html(DOMPurify.sanitize(response));
3425						zeenPrv.$modalCustom
3426							.find('img')
3427							.imagesLoaded()
3428							.always(function (instance) {
3429								zeenPrv.$modal.removeClass('tipi-spin');
3430								setTimeout(function () {
3431									zeenPrv.$modalCustom.addClass('ani-in');
3432								}, 50);
3433							});
3434						var forms =
3435							zeenPrv.$modalCustom.find('.variations_form');
3436						$(document).trigger('zeenQVSuccess', {
3437							forms: forms,
3438						});
3439						forms.each(function () {
3440							$(this)
3441								.find('.tipi-tip')
3442								.addClass('modal-tip')
3443								.on('mouseenter', zeenPrv.toolTipInit);
3444						});
3445					},
3446					fail: function (response) {
3447						console.log('ERROR', response);
3448					},
3449				});
3450			}
3451			return false;
3452		},
3453		modalOff: function (e) {
3454			if (typeof e !== 'undefined') {
3455				e.preventDefault();
3456			}
3457			zeenPrv.closeSlideMenu(e);
3458			zeenPrv.mediaStop();
3459			var to = 0;
3460			if (zeenPrv.$modalCustom.hasClass('ani-in')) {
3461				zeenPrv.$modalCustom.removeClass('ani-in');
3462				to = 220;
3463			}
3464			setTimeout(function () {
3465				zeenPrv.$modal
3466					.removeClass(
3467						'active active-qv active-4 active-3 active-2 active-1'
3468					)
3469					.addClass('inactive');
3470				zeenPrv.$body.removeClass('modal-active');
3471				zeenPrv.$timedPup.removeClass('active');
3472			}, to);
3473			setTimeout(function () {
3474				zeenPrv.$modalCustom.empty().removeClass('is-video is-audio');
3475			}, to * 1.5);
3476
3477			setTimeout(function () {
3478				zeenPrv.$modalSearch.removeClass(
3479					'with-results-cache with-results'
3480				);
3481				zeenPrv.$modalSearchField.val('');
3482			}, 600);
3483
3484			if (zeenPrv.$body.hasClass('sub-l')) {
3485				zeenPrv.turnItOff(5);
3486			}
3487			if (zeenPrv.$body.hasClass('sub-pup')) {
3488				zeenPrv.turnItOff(6);
3489			}
3490			$(document).trigger('zeenModalOff');
3491		},
3492		parallax3s: function (override) {
3493			if (
3494				this.$body.hasClass('tipi-builder-frame-inner') &&
3495				override !== true
3496			) {
3497				return;
3498			}
3499			var $parallax = $('.block-65');
3500			if ($parallax.length === 0 || this.$winWidth < 480) {
3501				return;
3502			}
3503			$parallax.find('> article').each(function (index, elem) {
3504				var $elem = $(elem);
3505				if ($elem.hasClass('parallaxed')) {
3506					return true;
3507				}
3508				$elem.addClass('parallaxed');
3509				$elem.imagesLoaded(function () {
3510					var elemOH = $elem.outerHeight(true);
3511					var $yData = $elem.hasClass('odd')
3512						? elemOH * 0.35
3513						: elemOH * 0.15;
3514					zeenPrv.paraSaved.push(
3515						gsap
3516							.timeline({
3517								scrollTrigger: {
3518									trigger: $elem,
3519									end: '+=' + (zeenPrv.$winHeight + elemOH),
3520									scrub: true,
3521								},
3522							})
3523							.fromTo(
3524								$elem.find('> .preview-mini-wrap'),
3525								{
3526									y: $yData + 'px',
3527									ease: 'none',
3528								},
3529								{
3530									y: $yData * -1 + 'px',
3531									ease: 'none',
3532								}
3533							)
3534					);
3535				});
3536			});
3537		},
3538		modalCheck: function () {
3539			var modalData = zeenPrv.$modal.data('fid');
3540			if (
3541				modalData !== '' &&
3542				modalData === zeenPrv.$modal.find('.mc4wp-form').attr('id')
3543			) {
3544				zeenPrv.modalSubscribe();
3545			}
3546		},
3547		maskLoader: function (el) {
3548			var ldd =
3549				typeof el === 'undefined'
3550					? $('.hero-wrap')
3551					: el.find('.hero-wrap');
3552			if (ldd.length === 0) {
3553				return;
3554			}
3555			ldd.imagesLoaded(function () {
3556				ldd.addClass('mask-loaded');
3557			});
3558		},
3559		parallaxIt: function (override, el) {
3560			var $parallaxIt =
3561				typeof el === 'undefined'
3562					? $('.parallax')
3563					: el.find('.parallax');
3564			if (
3565				$parallaxIt.length === 0 ||
3566				(this.$body.hasClass('tipi-builder-frame-inner') &&
3567					override !== true)
3568			) {
3569				return;
3570			}
3571
3572			gsap.utils.toArray($parallaxIt).forEach(function (el, i) {
3573				if (el.classList.contains('parallaxed')) {
3574					return;
3575				}
3576				el.classList.add('parallaxed');
3577				var args = {
3578					trigger: el,
3579					scrub: true,
3580				};
3581				var img,
3582					imgWrap,
3583					hero = el.classList.contains('hero-wrap');
3584				if (
3585					el.classList.contains('hero-43') ||
3586					el.classList.contains('hero-19')
3587				) {
3588					imgWrap = el.querySelectorAll('.hero-background');
3589					img = imgWrap[0].querySelectorAll('img ');
3590				} else {
3591					img = el.querySelectorAll('img:not(.avatar)');
3592					imgWrap = el.classList.contains('hero-wrap')
3593						? el.querySelectorAll('.hero')
3594						: el.querySelectorAll('.mask');
3595				}
3596				if (imgWrap.length === 0) {
3597					return;
3598				}
3599				var $img = $(img),
3600					$imgWrap = $(imgWrap);
3601				$imgWrap.css('height', '');
3602
3603				if (hero === false) {
3604					$img.imagesLoaded(function () {
3605						el.classList.add('mask-loaded');
3606					});
3607				} else {
3608					var parent = el
3609						.closest('.post-wrap')
3610						.classList.contains('ipl-wrap');
3611					args.top = parent === true ? 'top bottom' : 'top top';
3612				}
3613
3614				var imgHeight = imgWrap[0].offsetHeight,
3615					movement = imgHeight * 0.2;
3616				if (el.classList.contains('parallax--resized')) {
3617					$img.css('top', imgHeight * -0.1);
3618					$imgWrap.css('height', parseInt(imgHeight * 0.8) + 'px');
3619				}
3620				if (el.classList.contains('parallax-tight')) {
3621					movement = imgHeight * 0.16;
3622				} else if (zeenPrv.$winHeight > zeenPrv.$winWidth) {
3623					movement = imgHeight * 0.125;
3624				}
3625				if (img.length > 0) {
3626					zeenPrv.roP = true;
3627					zeenPrv.resizeObs();
3628					zeenPrv.paraSaved.push(
3629						gsap.timeline({ scrollTrigger: args }).fromTo(
3630							img[0],
3631							{
3632								y: movement * -1 + 'px',
3633								ease: 'none',
3634							},
3635							{
3636								y: movement + 'px',
3637								ease: 'none',
3638							}
3639						)
3640					);
3641				}
3642			});
3643		},
3644		resizeObs: function () {
3645			if ('ResizeObserver' in window && zeenPrv.ro === false) {
3646				var obsHeight = 0;
3647				zeenPrv.ro = true;
3648				new ResizeObserver(function (entries) {
3649					var newHeight = entries[0].contentRect.height;
3650					if (parseInt(newHeight) !== obsHeight) {
3651						if (zeenPrv.roP === true) {
3652							zeenPrv.parallaxRefresh();
3653						}
3654						if (zeenPrv.roS === true) {
3655							zeenPrv.reSidebars();
3656						}
3657						obsHeight = parseInt(newHeight);
3658					}
3659				}).observe(zeenPrv.$page[0]);
3660			}
3661		},
3662		hero31: function () {
3663			if (this.$hero31.length === 0) {
3664				return;
3665			}
3666			var $figure;
3667			if (this.$hero31.closest('.post-wrap').hasClass('format-gallery')) {
3668				$figure = this.$hero31.find('> .slider');
3669				this.doHero31($figure);
3670			} else {
3671				$figure = this.$hero31.find('.fi-bg');
3672				$figure.imagesLoaded({ background: true }, function () {
3673					$figure.addClass('fi-bg-ldd');
3674					gsap.to($figure, 0.3, { opacity: 1 });
3675					setTimeout(function () {
3676						zeenPrv.doHero31($figure);
3677					}, 300);
3678				});
3679			}
3680		},
3681		doHero31: function ($figure) {
3682			var height = this.$winHeight - this.$wpAdminBarHeight;
3683			if (zeenPrv.$winWidth > 767) {
3684				height -=
3685					this.$headerHeight -
3686					this.$siteNav.outerHeight() -
3687					this.$secondaryWrap.outerHeight();
3688			} else {
3689				height -= this.$mobHead.outerHeight();
3690			}
3691			height -= this.$winHeight * 0.1;
3692			this.$hero31.parent().height(height);
3693
3694			var ST = gsap
3695				.timeline({
3696					scrollTrigger: {
3697						trigger: this.$body,
3698						scrub: true,
3699						start: 'top top',
3700						end: this.$winHeight * 0.1 + 'px',
3701					},
3702				})
3703				.fromTo(
3704					$figure,
3705					{
3706						opacity: '1',
3707						ease: 'none',
3708					},
3709					{
3710						opacity: zeenJS.args.heroFade,
3711						ease: 'none',
3712					}
3713				)
3714				.fromTo(
3715					this.$hero31.find('.mask-overlay'),
3716					{
3717						opacity: '0',
3718						ease: 'none',
3719					},
3720					{
3721						opacity: 1,
3722						ease: 'none',
3723					}
3724				);
3725		},
3726		loadMoreButton: function (e) {
3727			e.preventDefault();
3728			var $elem = $(this),
3729				$elemData = $elem.data();
3730			if ($elem.hasClass('loaded')) {
3731				return;
3732			}
3733			zeenPrv.loadMore($elem, $elemData);
3734		},
3735		infScr: function () {
3736			var infScr = $('.inf-scr');
3737			if (infScr.length === 0) {
3738				return;
3739			}
3740			var $elem, $elemData;
3741			var mnp = infScr.first().data('mnp');
3742
3743			infScr.each(function (index, elem) {
3744				$elem = $(elem);
3745				var $block = $elem.closest('.block-wrap');
3746				if (
3747					$elem.hasClass('loaded') ||
3748					$elem.hasClass('inf-load-more') ||
3749					($block.hasClass('dt-off') && zeenPrv.$winWidth > 767) ||
3750					($block.hasClass('mob-off') && zeenPrv.$winWidth < 768)
3751				) {
3752					return;
3753				}
3754				$elemData = $elem.data();
3755				$elemData.mnp = mnp;
3756				var masonry = !$block.hasClass('block-wrap-masonry');
3757				var ST = ScrollTrigger.create({
3758					trigger: $elem,
3759					start: '-=500 bottom',
3760					once: masonry,
3761					onEnter: function (_ref) {
3762						zeenPrv.loadMore($elem, $elemData);
3763						$elem.addClass('loaded');
3764						zeenPrv.infStRefresh();
3765					},
3766				});
3767				if (masonry === false) {
3768					zeenPrv.infST.push(ST);
3769				}
3770			});
3771		},
3772		loaded: function () {
3773			if (
3774				this.$body.hasClass('body--dark--tr') &&
3775				this.$body.hasClass('skin-light')
3776			) {
3777				this.skinMode(undefined);
3778			}
3779			this.slideInP();
3780			this.subL();
3781			this.timedPup();
3782			this.verticalMenus();
3783			this.iFrameLazy();
3784		},
3785		likes: function (e) {
3786			e.preventDefault();
3787			var elem = $(this);
3788			if (elem.hasClass('liking') || elem.hasClass('liked')) {
3789				return;
3790			}
3791			var data = elem.data();
3792			$.ajax({
3793				method: 'POST',
3794				data: { pid: data.pid },
3795				url: zeenJS.root + 'lk',
3796				beforeSend: function (xhr) {
3797					elem.addClass('liking');
3798					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
3799				},
3800				success: function (response) {
3801					elem.removeClass('liking').addClass('liked');
3802					elem.find('.tipi-value').html(
3803						DOMPurify.sanitize(response[0])
3804					);
3805					var checker = Cookies.getJSON('wp_liked_articles');
3806					if (typeof checker === 'undefined') {
3807						checker = response[1];
3808					} else {
3809						checker.push(response[1][0]);
3810					}
3811					Cookies.set('wp_liked_articles', checker, {
3812						sameSite: 'lax',
3813						expires: zeenJS.args.cookieDuration,
3814						path: zeenJS.args.path,
3815					});
3816				},
3817				fail: function (response) {
3818					console.log('ERROR', response);
3819				},
3820			});
3821		},
3822		upDown: function (e) {
3823			e.preventDefault();
3824			var _this = $(this),
3825				type = _this.data('type'),
3826				_thisP = _this.closest('.zeen-up-down'),
3827				pid = _thisP.data('pid');
3828			if (_this.hasClass('updown-do')) {
3829				return;
3830			}
3831			$.ajax({
3832				method: 'POST',
3833				data: {
3834					type: type,
3835					pid: pid,
3836				},
3837				url: zeenJS.root + 'ud',
3838				beforeSend: function (xhr) {
3839					_thisP.addClass('updown-do');
3840					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
3841				},
3842				success: function (response) {
3843					_thisP
3844						.find('.zeen__up .updown-count')
3845						.html(DOMPurify.sanitize(response['upNew']));
3846					_thisP
3847						.find('.zeen__down .updown-count')
3848						.html(DOMPurify.sanitize(response['downNew']));
3849					Cookies.set('updown', JSON.stringify(response['cook']), {
3850						sameSite: 'lax',
3851						expires: 30,
3852					});
3853					_thisP.removeClass('updown-do');
3854				},
3855				error: function (response) {
3856					console.log('ERROR', response.responseText);
3857				},
3858			});
3859		},
3860		reaction: function (e) {
3861			e.preventDefault();
3862			var _this = $(this),
3863				reaction = _this.data('reaction'),
3864				_thisP = _this.closest('.reaction-wrap'),
3865				pid = _thisP.data('pid');
3866			$.ajax({
3867				method: 'POST',
3868				data: {
3869					reaction: reaction,
3870					pid: pid,
3871				},
3872				url: zeenJS.root + 'rt',
3873				beforeSend: function (xhr) {
3874					_thisP.addClass('reacting--active');
3875					_this.addClass('reacting');
3876					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
3877				},
3878				success: function (response) {
3879					if (parseInt(response.countStyle) === 2) {
3880						var oldScore = _this.find('.count').data('old-score');
3881						if (typeof oldScore === 'undefined') {
3882							_this
3883								.find('.count')
3884								.data('old-score', _this.find('.count').html());
3885							if (response.vote === 1) {
3886								_this.find('.count').html('+1');
3887							} else {
3888								_this.find('.count').html('-1');
3889							}
3890						} else {
3891							_this
3892								.find('.count')
3893								.html(_this.find('.count').data('old-score'))
3894								.removeData('old-score');
3895						}
3896					} else {
3897						_this
3898							.find('.count')
3899							.html(DOMPurify.sanitize(response.newScore));
3900					}
3901					Cookies.set('reaction', JSON.stringify(response.cook), {
3902						sameSite: 'lax',
3903						expires: zeenJS.args.cookieDuration,
3904						path: zeenJS.args.path,
3905					});
3906					_thisP.removeClass('reacting--active');
3907					_this.removeClass('reacting');
3908					_this.toggleClass('reacted');
3909				},
3910				error: function (response) {
3911					thisP.removeClass('reacting--active');
3912					_this.removeClass('reacting');
3913					console.log('ERROR', response.responseText);
3914				},
3915			});
3916		},
3917		ipl: function () {
3918			var $ipl = $('.ipl');
3919			if (
3920				$ipl.length === 0 ||
3921				(zeenJS.args.iplMob !== true && zeenPrv.$winWidth < 768)
3922			) {
3923				return;
3924			}
3925			$ipl.each(function (index, elem) {
3926				elem = $(this);
3927				var data = elem.data();
3928				if (elem.hasClass('loaded')) {
3929					return;
3930				}
3931				ScrollTrigger.create({
3932					trigger: $(elem),
3933					start: '-=' + zeenPrv.$winHeight * 2 + ' center',
3934					once: true,
3935					onEnter: function (_ref) {
3936						zeenPrv.runIpl(elem, data);
3937						elem.addClass('loaded');
3938					},
3939				});
3940			});
3941		},
3942		updateHref: function (title, url) {
3943			if (zeenJS.args.infUrlChange === false) {
3944				return;
3945			}
3946			window.history.pushState('', title, url);
3947			if (title !== '') {
3948				document.title = title;
3949			}
3950		},
3951		GA: function (url) {
3952			var index = url.indexOf(zeenJS.args.siteUrl);
3953			if (index !== -1) {
3954				url =
3955					url.slice(0, index) +
3956					url.slice(index + zeenJS.args.siteUrl.length);
3957			}
3958			if (typeof _gaq !== 'undefined' && _gaq !== null) {
3959				_gaq.push(['_trackPageview', url]);
3960			}
3961			if (typeof ga !== 'undefined' && ga !== null) {
3962				ga('send', 'pageview', url);
3963			}
3964		},
3965		subE: function (e) {
3966			if (
3967				Cookies.get('subL') === 'off' &&
3968				zeenJS.args.subCookie === true
3969			) {
3970				document.documentElement.removeEventListener(
3971					'mouseleave',
3972					zeenPrv.subE,
3973					zeenPrv.$listener
3974				);
3975				return;
3976			}
3977			if (zeenPrv.$body.hasClass('modal-active') || e.clientY > 0) {
3978				return;
3979			}
3980			zeenPrv.$body.addClass('sub-l');
3981			zeenPrv.modalSubscribe();
3982		},
3983		runIpl: function (elem, data) {
3984			if (typeof data === 'undefined') {
3985				elem = $(this);
3986				data = elem.data();
3987			}
3988			var method = zeenJS.args.iplCached === true ? 'GET' : 'POST';
3989			$.ajax({
3990				method: method,
3991				data: { pid: data.pid, ipl: true },
3992				dataType: 'html',
3993				url: zeenJS.root + 'ipl',
3994				beforeSend: function (xhr) {
3995					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
3996				},
3997				success: function (response) {
3998					zeenPrv.$primary.append(response);
3999					var $currentPost = zeenPrv.$primary.find(
4000						'> .post-' + data.pid
4001					);
4002
4003					var rect = $currentPost[0].getBoundingClientRect(),
4004						scrollTop =
4005							window.pageYOffset ||
4006							document.documentElement.scrollTop,
4007						height = rect.top + scrollTop;
4008					if (zeenPrv.$winWidth > 767) {
4009						height -= 180;
4010						if (
4011							zeenPrv.$header.hasClass('sticky-menu-1') ||
4012							zeenPrv.$header.hasClass('sticky-menu-3')
4013						) {
4014							height -= zeenPrv.$headerHeight;
4015						}
4016						if (
4017							zeenPrv.$siteNav.hasClass('sticky-menu-1') ||
4018							zeenPrv.$siteNav.hasClass('sticky-menu-3')
4019						) {
4020							height -= zeenPrv.$siteNav.outerHeight();
4021						}
4022					}
4023					if (scrollTop > height) {
4024						window.scrollTo(0, height);
4025					}
4026					$(document).trigger('zeenAfterInfinitePostLoad', {
4027						postid: data.pid,
4028					});
4029					zeenPrv.blockAni();
4030					zeenPrv.tempAni();
4031					zeenPrv.iFrameLazy();
4032					zeenPrv.lrTempAni();
4033					zeenPrv.sliderInit();
4034
4035					for (var i = zeenJS.args.ipl.length - 1; i >= 0; i--) {
4036						$.get(
4037							zeenJS.args.pluginsUrl + '/' + zeenJS.args.ipl[i]
4038						);
4039					}
4040					if (typeof window.instgrm !== 'undefined') {
4041						window.instgrm.Embeds.process();
4042					}
4043
4044					if (
4045						zeenJS.args.fbComs === true &&
4046						zeenJS.args.iplComs === true
4047					) {
4048						FB.XFBML.parse($currentPost[0]);
4049					}
4050					var asr;
4051
4052					ScrollTrigger.create({
4053						trigger: elem,
4054						start: 'top center',
4055						onLeaveBack: function (_ref) {
4056							if (zeenJS.args.disqus !== false) {
4057								asr = zeenPrv.$primary.find(
4058									'> .post-' +
4059										data.pidori +
4060										' .disqus-replace'
4061								);
4062								if (asr.length > 0) {
4063									$('#disqus_thread')
4064										.attr('id', '')
4065										.addClass('disqus-replace');
4066									asr.attr('id', 'disqus_thread');
4067									setTimeout(function () {
4068										DISQUS.reset({
4069											reload: true,
4070											config: function () {
4071												this.page.identifier =
4072													data.pidori;
4073												this.page.url = data.prev;
4074												this.page.title =
4075													data.titlePrev;
4076											},
4077										});
4078									}, 50);
4079								}
4080							}
4081							if (zeenPrv.$progress.length > 0) {
4082								zeenPrv.$progress.css(
4083									'background-color',
4084									data.prevHex
4085								);
4086							}
4087							zeenPrv.updateHref(data.titlePrev, data.prev);
4088							zeenPrv.GA(data.prev);
4089							zeenPrv.$iplTitle.html(data.titlePrev);
4090							if (zeenPrv.$stickyP2Share.length > 0) {
4091								zeenPrv.$stickyP2Share
4092									.find('.share-button-tw')
4093									.attr(
4094										'href',
4095										'https://twitter.com/share?url=' +
4096											encodeURIComponent(data.prev)
4097									);
4098								zeenPrv.$stickyP2Share
4099									.find('.share-button-fb')
4100									.attr(
4101										'href',
4102										'https://www.facebook.com/sharer/sharer.php?u=' +
4103											encodeURIComponent(data.prev)
4104									);
4105							}
4106
4107							if (zeenPrv.$mobBotShare.length > 0) {
4108								zeenPrv.$mobBotShare
4109									.find('.share-button-tw')
4110									.attr(
4111										'href',
4112										'https://twitter.com/share?url=' +
4113											encodeURIComponent(data.prev)
4114									);
4115								zeenPrv.$mobBotShare
4116									.find('.share-button-fb')
4117									.attr(
4118										'href',
4119										'https://www.facebook.com/sharer/sharer.php?u=' +
4120											encodeURIComponent(data.prev)
4121									);
4122								zeenPrv.$mobBotShare
4123									.find('.share-button-msg')
4124									.attr(
4125										'href',
4126										'fb-messenger://share/?link=' +
4127											encodeURIComponent(data.prev)
4128									);
4129								zeenPrv.$mobBotShare
4130									.find('.share-button-wa')
4131									.attr(
4132										'href',
4133										'whatsapp://send?text=' +
4134											data.titlePrev +
4135											' – ' +
4136											encodeURIComponent(data.prev)
4137									);
4138							}
4139						},
4140						onEnter: function (_ref) {
4141							if (zeenPrv.$progress.length > 0) {
4142								zeenPrv.$progress.css(
4143									'background-color',
4144									data.nextHex
4145								);
4146							}
4147							zeenPrv.updateHref(data.titleNext, data.next);
4148							zeenPrv.GA(data.next);
4149							zeenPrv.$iplTitle.html(data.titleNext);
4150							if (zeenPrv.$stickyP2Share.length > 0) {
4151								zeenPrv.$stickyP2Share
4152									.find('.share-button-tw')
4153									.attr(
4154										'href',
4155										'https://twitter.com/share?url=' +
4156											encodeURIComponent(data.next)
4157									);
4158								zeenPrv.$stickyP2Share
4159									.find('.share-button-fb')
4160									.attr(
4161										'href',
4162										'https://www.facebook.com/sharer/sharer.php?u=' +
4163											encodeURIComponent(data.next)
4164									);
4165							}
4166							if (zeenPrv.$mobBotShare.length > 0) {
4167								zeenPrv.$mobBotShare
4168									.find('.share-button-tw')
4169									.attr(
4170										'href',
4171										'https://twitter.com/share?url=' +
4172											encodeURIComponent(data.next)
4173									);
4174								zeenPrv.$mobBotShare
4175									.find('.share-button-fb')
4176									.attr(
4177										'href',
4178										'https://www.facebook.com/sharer/sharer.php?u=' +
4179											encodeURIComponent(data.next)
4180									);
4181								zeenPrv.$mobBotShare
4182									.find('.share-button-msg')
4183									.attr(
4184										'href',
4185										'fb-messenger://share/?link=' +
4186											encodeURIComponent(data.next)
4187									);
4188								zeenPrv.$mobBotShare
4189									.find('.share-button-wa')
4190									.attr(
4191										'href',
4192										'whatsapp://send?text=' +
4193											data.titleNext +
4194											' – ' +
4195											encodeURIComponent(data.next)
4196									);
4197							}
4198
4199							if (zeenJS.args.disqus !== false) {
4200								asr = $currentPost.find('.disqus-replace');
4201								if (asr.length > 0) {
4202									$('#disqus_thread')
4203										.attr('id', '')
4204										.addClass('disqus-replace');
4205									asr.attr('id', 'disqus_thread');
4206									setTimeout(function () {
4207										DISQUS.reset({
4208											reload: true,
4209											config: function () {
4210												this.page.identifier = data.pid;
4211												this.page.url = data.next;
4212												this.page.title =
4213													data.titleNext;
4214											},
4215										});
4216									}, 50);
4217								}
4218							}
4219						},
4220					});
4221					ScrollTrigger.create({
4222						trigger: elem,
4223						start: 'top bottom',
4224						once: true,
4225						onEnter: function (_ref) {
4226							zeenPrv.$stickyP2.addClass('ipl-done');
4227							$currentPost.removeClass('ipl-loading');
4228							$currentPost.prev().addClass('ipl-bg');
4229							setTimeout(function () {
4230								zeenPrv.parallaxIt(null, $currentPost);
4231								zeenPrv.maskLoader($currentPost);
4232							}, 500);
4233							setTimeout(function () {
4234								zeenPrv.sidebars();
4235								zeenPrv.stickyEl();
4236								zeenPrv.imgControl();
4237								zeenPrv.lightboxInit();
4238							}, 750);
4239							setTimeout(function () {
4240								zeenPrv.postTracks();
4241							}, 900);
4242						},
4243					});
4244					zeenPrv.$entryContent = $(
4245						'.entry-content:not(.progresson)'
4246					);
4247					zeenPrv.videoWrap();
4248					zeenPrv.stickyEl();
4249					zeenPrv.loopAni();
4250					zeenPrv.ipl();
4251
4252					if (
4253						zeenPrv.$primary.find('.no-more-articles-wrap').length >
4254						0
4255					) {
4256						$('#ipl-loader').addClass('ipl-end');
4257					}
4258					if (
4259						(zeenPrv.$skinMode.length > 0 &&
4260							zeenPrv.$skinMode.hasClass('triggered')) ||
4261						zeenPrv.$body.hasClass('body--dark--tr')
4262					) {
4263						var reviewBlocks = $currentPost.find(
4264							'.lets-review-block__wrap'
4265						);
4266						if (
4267							zeenPrv.$skinMode.hasClass('mode--alt') ||
4268							zeenPrv.$body.hasClass('body--dark--tr')
4269						) {
4270							$currentPost
4271								.removeClass('article-layout-skin-1')
4272								.addClass('article-layout-skin-2');
4273							reviewBlocks
4274								.removeClass('lets-review-skin-1')
4275								.addClass('lets-review-skin-2');
4276						} else {
4277							reviewBlocks.each(function () {
4278								var _this = $(this);
4279								if (parseInt(_this.data('skin')) === 1) {
4280									_this
4281										.removeClass('lets-review-skin-2')
4282										.addClass('lets-review-skin-1');
4283								}
4284							});
4285							$currentPost
4286								.removeClass('article-layout-skin-2')
4287								.addClass('article-layout-skin-1');
4288						}
4289					}
4290				},
4291				fail: function (response) {
4292					console.log('ERROR', response);
4293				},
4294			});
4295			$('.inf-scr').removeClass('active');
4296		},
4297		blockMore: function (e, _ref) {
4298			var $elem = typeof _ref === 'undefined' ? $(this) : _ref;
4299			if (!$elem.hasClass('block-mm-changer')) {
4300				e.preventDefault();
4301			}
4302			if ($elem.hasClass('no-more') || $elem.hasClass('active')) {
4303				return;
4304			}
4305			var $elemPa, $elemMenu, mm, mmChanger;
4306			if ($elem.hasClass('block-mm-changer')) {
4307				$elemMenu = $elem.closest('.menu');
4308				if (
4309					parseInt($elemMenu.data('mm')) < 10 ||
4310					parseInt($elemMenu.data('mm')) > 50
4311				) {
4312					return;
4313				}
4314				$elemPa = $elemMenu.find('.block-wrap');
4315				mm = true;
4316				mmChanger = true;
4317			} else {
4318				$elemPa = $elem.closest('.block-wrap');
4319				if ($elemPa.parent().hasClass('menu-wrap')) {
4320					mm = true;
4321				}
4322			}
4323
4324			var data = $elem.data(),
4325				parentData = $elemPa.data();
4326			var $blockData = $('#block-wrap-' + parentData.id);
4327			var $blockLoading = $blockData.find('> div');
4328			if ($blockLoading.hasClass('loading')) {
4329				return;
4330			}
4331
4332			var changer = $elem.hasClass('block-changer') ? true : false,
4333				dataDir =
4334					typeof data.dir !== 'undefined' && data.dir === 1 ? 1 : 2,
4335				trigger_type = typeof data.dir === 'undefined' ? 1 : 2,
4336				append = trigger_type,
4337				paged,
4338				loaders,
4339				term = { term: data.term, id: data.tid },
4340				setter = 'zeen_' + parentData.id;
4341
4342			if (
4343				window[setter].target !== 0 &&
4344				(typeof data.tid === 'undefined' || data.tid === 0)
4345			) {
4346				setter = setter + '_' + window[setter].target;
4347			}
4348
4349			if (data.tid > 0) {
4350				setter = setter + '_' + data.tid;
4351				if (typeof window[setter] === 'undefined') {
4352					window[setter] = $.extend(
4353						true,
4354						{},
4355						window['zeen_' + parentData.id]
4356					);
4357					window[setter].args.cat = '';
4358					window[setter].args.tag__in = '';
4359					window[setter].args.post__in = '';
4360					window[setter].term = '';
4361					if (data.term === 'category') {
4362						window[setter].args.cat = data.tid;
4363					} else if (data.term === 'post_tag') {
4364						window[setter].args.tag__in = data.tid;
4365					} else {
4366						window[setter].args.tax_query = {
4367							taxonomy: term.term,
4368							field: 'term_id',
4369							terms: term.id,
4370						};
4371						window[setter].term = term;
4372					}
4373				}
4374				window['zeen_' + parentData.id].target = data.tid;
4375			}
4376			if (data.reset === 1) {
4377				setter = 'zeen_' + parentData.id;
4378				window[setter].target = 0;
4379			}
4380			var title = data.title,
4381				reset = data.reset,
4382				subtitle = data.subtitle,
4383				newUrl = data.ur,
4384				$elemN = $elemPa.find('.block-more-2'),
4385				$elemP = $elemPa.find('.block-more-1'),
4386				mnp;
4387			if ($elemN.length === 0) {
4388				$elemN = $elemPa.find('.block-more-3');
4389			} else {
4390				if (typeof data.term !== 'undefined') {
4391					$elemN.data({ term: data.term, tid: data.tid });
4392					$elemP.data({ term: data.term, tid: data.tid });
4393				} else {
4394					$elemN.removeData('term').removeData('tid');
4395					$elemP.removeData('term').removeData('tid');
4396				}
4397			}
4398			if (changer === true) {
4399				paged = 1;
4400				append = 2;
4401				if ($elem.hasClass('block-mm-changer')) {
4402					$elemMenu.find('.active').removeClass('active');
4403				} else {
4404					var $sorter = $elem.closest('.sorter');
4405					$sorter.find('.block-changer').removeClass('active');
4406					$sorter
4407						.find('.current-txt')
4408						.html(data.sorttitle + zeenJS.args.iconSorter);
4409				}
4410				if ($elem.hasClass('block-mm-init')) {
4411					$elemMenu
4412						.find('.block-mm-init')
4413						.removeClass('block-mm-init');
4414				}
4415				$elem.addClass('active');
4416				window[setter].next = 2;
4417				window[setter].prev = 0;
4418				mnp = data.mnp;
4419				if (mnp === 1) {
4420					loaders = 'off';
4421				}
4422			} else {
4423				mnp = window[setter].mnp;
4424				if (dataDir === 1) {
4425					paged = window[setter].prev;
4426					window[setter].prev = parseInt(window[setter].prev) - 1;
4427					window[setter].next = parseInt(window[setter].next) - 1;
4428				} else {
4429					paged = window[setter].next;
4430					window[setter].prev = parseInt(window[setter].prev) + 1;
4431					window[setter].next = parseInt(window[setter].next) + 1;
4432				}
4433			}
4434
4435			var blockData = window[setter],
4436				args = {
4437					blockData: blockData,
4438					$blockData: $blockData,
4439					$elemN: $elemN,
4440					$elemP: $elemP,
4441					dir: data.dir,
4442					changer: changer,
4443					trigger_type: trigger_type,
4444					append: append,
4445					loaders: loaders,
4446					title: title,
4447					newUrl: newUrl,
4448					reset: reset,
4449					subtitle: subtitle,
4450					response: '',
4451					mm: mm,
4452				};
4453			$.ajax({
4454				method: 'GET',
4455				data: {
4456					paged: paged,
4457					type: trigger_type,
4458					mm: mm,
4459					term: term,
4460					data: blockData,
4461				},
4462				dataType: 'html',
4463				url: zeenJS.root + 'block',
4464				beforeSend: function (xhr) {
4465					if (mmChanger === true) {
4466						if (
4467							$elemMenu.parent().find('> a').data('ppp') >=
4468							data.count
4469						) {
4470							args.loaders = 'off';
4471						}
4472					}
4473
4474					$blockLoading.addClass('loading tipi-spin');
4475					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
4476					if (zeenPrv.ajaxChecker(setter + '_' + paged)) {
4477						args.response = zeenPrv.ajaxGetter(
4478							setter + '_' + paged
4479						);
4480						zeenPrv.ajaxLoadMore(args);
4481
4482						if (mmChanger === true) {
4483							$elemPa.closest('.mm-wrap').addClass('active-1');
4484						} else if (mm === true) {
4485							$elemPa.closest('.mm-wrap').removeClass('active-1');
4486						}
4487						if (append === 2) {
4488							if (dataDir === 1) {
4489								$elemPa
4490									.removeClass('loaded block-ani-r')
4491									.addClass('block-ani-l');
4492							} else {
4493								$elemPa
4494									.removeClass('loaded block-ani-l')
4495									.addClass('block-ani-r');
4496							}
4497						}
4498						zeenPrv.reSidebars();
4499						$elemPa.addClass('loaded');
4500						zeenPrv.parallaxRefresh();
4501						zeenPrv.videoWrap();
4502						return false;
4503					}
4504				},
4505				success: function (response) {
4506					response = JSON.parse(response);
4507					args.response = response;
4508					zeenPrv.ajaxLoadMore(args);
4509					if (mmChanger === true) {
4510						$elemPa.closest('.mm-wrap').addClass('active-1');
4511					} else if (mm === true) {
4512						$elemPa.closest('.mm-wrap').removeClass('active-1');
4513					}
4514					zeenPrv.ajaxSetter(setter + '_' + paged, response);
4515					$elemPa.addClass('loaded');
4516					zeenPrv.parallaxRefresh();
4517					zeenPrv.videoWrap();
4518					if (append === 2) {
4519						if (dataDir === 1) {
4520							$elemPa
4521								.removeClass('block-ani-r')
4522								.addClass('block-ani-l');
4523						} else {
4524							$elemPa
4525								.removeClass('block-ani-l')
4526								.addClass('block-ani-r');
4527						}
4528					}
4529				},
4530				fail: function (response) {
4531					console.log('ERROR', response);
4532				},
4533			});
4534			return false;
4535		},
4536		masonryAppend: function ($items, target) {
4537			$items.each(function () {
4538				var item = $(this);
4539				if (item.hasClass('masonry__col-1')) {
4540					target
4541						.find('.masonry__col-1')
4542						.append(item.children('article'));
4543				} else if (item.hasClass('masonry__col-2')) {
4544					target
4545						.find('.masonry__col-2')
4546						.append(item.children('article'));
4547				} else if (item.hasClass('masonry__col-3')) {
4548					target
4549						.find('.masonry__col-3')
4550						.append(item.children('article'));
4551				} else if (item.hasClass('pagination')) {
4552					target.append(item);
4553				}
4554			});
4555		},
4556		ajaxLoadMore: function (args) {
4557			var $items = $(args.response[1]);
4558			if (
4559				typeof args.title !== 'undefined' ||
4560				typeof args.subtitle !== 'undefined'
4561			) {
4562				var titleTarget = args.$blockData.find('.block-title-wrap');
4563				if (typeof args.title !== 'undefined') {
4564					if (typeof args.newUrl !== 'undefined') {
4565						titleTarget
4566							.find('.block-title-url')
4567							.attr('href', args.newUrl)
4568							.html(args.title);
4569					} else {
4570						titleTarget.find('.block-title').html(args.title);
4571					}
4572				}
4573				if (typeof args.subtitle !== 'undefined') {
4574					titleTarget.find('.block-subtitle').html(args.subtitle);
4575				}
4576			}
4577			var target = args.$blockData.find('.block');
4578			var masonryTarget = target.find('> .block-masonry');
4579			if (args.append === 1) {
4580				if (args.$blockData.hasClass('block-wrap-grid')) {
4581					target.last().after($items);
4582				} else if (masonryTarget.length > 0) {
4583					zeenPrv.masonryAppend($items, target);
4584				} else {
4585					target.append($items);
4586				}
4587				zeenPrv.reSidebars();
4588			} else {
4589				if (args.$blockData.hasClass('block-wrap-grid')) {
4590					args.$blockData.css('height', args.$blockData.height());
4591					if (target.length === 1) {
4592						target.replaceWith($items);
4593					} else {
4594						$items = $items.filter(function () {
4595							return this.nodeType === 1;
4596						});
4597						for (var i = 0; i < target.length; i++) {
4598							target[i].replaceWith($items[i]);
4599						}
4600					}
4601					target.imagesLoaded(function () {
4602						args.$blockData.css('height', 'auto');
4603					});
4604				} else {
4605					target.css('height', target.height());
4606					target.html($items);
4607					target.imagesLoaded(function () {
4608						target.css('height', 'auto');
4609					});
4610				}
4611			}
4612			if (args.manual !== true) {
4613				if (args.changer === true) {
4614					if (args.loaders === 'off') {
4615						args.$elemN.addClass('no-more');
4616						args.$elemP.addClass('no-more');
4617						if (args.$elemN.hasClass('block-more-3')) {
4618							args.$elemN.html(zeenJS.i18n.noMore);
4619						}
4620					} else {
4621						args.$elemN.removeClass('no-more');
4622						args.$elemP.addClass('no-more');
4623						if (args.$elemN.hasClass('block-more-3')) {
4624							args.$elemN.html(zeenJS.i18n.loadMore);
4625						}
4626					}
4627				} else {
4628					if (args.trigger_type === 1) {
4629						if (
4630							args.blockData !== '' &&
4631							args.blockData.next > args.response[0]
4632						) {
4633							args.$elemP
4634								.html(zeenJS.i18n.noMore)
4635								.addClass('no-more');
4636						}
4637					} else {
4638						args.$elemN.removeClass('no-more');
4639						args.$elemP.removeClass('no-more');
4640						if (
4641							args.blockData !== '' &&
4642							args.blockData.prev === 0
4643						) {
4644							args.$elemP.addClass('no-more');
4645							args.$elemN.removeClass('no-more');
4646						}
4647
4648						if (
4649							args.blockData !== '' &&
4650							args.response[0] < args.blockData.next
4651						) {
4652							if (args.blockData.prev !== 0) {
4653								args.$elemP.removeClass('no-more');
4654							}
4655							args.$elemN.addClass('no-more');
4656						}
4657					}
4658				}
4659			}
4660
4661			args.$blockData.find('> div').removeClass('loading tipi-spin');
4662			zeenPrv.fillRunner();
4663			zeenPrv.tempAni();
4664			zeenPrv.iFrameLazy();
4665			if (typeof args.mm !== 'undefined' && args.mm === true) {
4666				args.$blockData.find('.zeen-lazy-load-mm').each(function () {
4667					zeenPrv.imgAttrLoad($(this)[0], true);
4668				});
4669			}
4670		},
4671		ajaxGetter: function (ajaxCall) {
4672			return zeenPrv.ajaxData[ajaxCall];
4673		},
4674		ajaxSetter: function (ajaxCall, ajaxData) {
4675			zeenPrv.ajaxDeleter(ajaxCall);
4676			zeenPrv.ajaxData[ajaxCall] = ajaxData;
4677		},
4678		videoWrap: function () {
4679			$('iframe').each(function () {
4680				var _this = $(this),
4681					src = _this.attr('src'),
4682					lazySrc = _this.data('lazy-src'),
4683					thisParent = _this.parent(),
4684					video = false;
4685				if (
4686					src === 'about:blank' &&
4687					typeof lazySrc !== 'undefined' &&
4688					lazySrc.length > 0
4689				) {
4690					src = lazySrc;
4691				}
4692				if (typeof src === 'undefined') {
4693					return;
4694				}
4695				src = src.toLowerCase();
4696				if (
4697					src.indexOf('yout') >= 0 ||
4698					src.indexOf('vime') >= 0 ||
4699					src.indexOf('dailymo') >= 0
4700				) {
4701					video = true;
4702				}
4703				if (video === false) {
4704					return;
4705				}
4706				if (
4707					!thisParent.hasClass('video-wrap') &&
4708					!thisParent.hasClass('wp-block-embed__wrapper') &&
4709					!thisParent.parent().hasClass('wp-block-embed__wrapper') &&
4710					!thisParent.hasClass('frame-wrap') &&
4711					!thisParent.hasClass('content-custom') &&
4712					!_this.hasClass('elementor-video-iframe') &&
4713					!_this.hasClass('skip-video') &&
4714					!thisParent.hasClass('fluid-width-video-wrapper')
4715				) {
4716					_this.wrap('<div class="video-wrap"></div>');
4717				}
4718			});
4719		},
4720		videoBg: function () {
4721			if (this.$winWidth > 767) {
4722				var $media_bg = [],
4723					$header_bg = this.$header.find(
4724						'.bg-area > .background .media-bg'
4725					),
4726					$footer_bg = this.$footerBgArea.find(
4727						'.background .media-bg'
4728					);
4729				if ($header_bg.length > 0) {
4730					$media_bg.push($header_bg);
4731				}
4732				if ($footer_bg.length > 0) {
4733					$media_bg.push($footer_bg);
4734				}
4735				for (var i = $media_bg.length - 1; i >= 0; i--) {
4736					if ($media_bg[i].find('> source').length > 0) {
4737						var $media_bg_src = $media_bg[i].find('> source');
4738						$media_bg_src
4739							.attr('src', $media_bg_src.data('src'))
4740							.removeAttr('data-src');
4741						$media_bg[i][0].load();
4742					} else {
4743						$media_bg[i].attr('src', $media_bg[i].data('src'));
4744					}
4745					$media_bg[i].addClass('active');
4746				}
4747			}
4748		},
4749		skinMode: function (e) {
4750			if (typeof e !== 'undefined') {
4751				e.preventDefault();
4752			}
4753			if (zeenPrv.$body.hasClass('tipi-builder-frame-inner')) {
4754				return;
4755			}
4756			zeenPrv.$skinMode.addClass('triggered');
4757			var logo = $('.logo'),
4758				logoImg = logo.find('img').add(logo.find('picture')),
4759				$primary = $('#primary');
4760			if (zeenPrv.$skinMode.hasClass('mode--alt')) {
4761				zeenPrv.$skinMode.removeClass('mode--alt');
4762				zeenPrv.$body.removeClass('mode--alt--b');
4763				Cookies.remove('wp_alt_mode', { path: zeenJS.args.path });
4764				logoImg.each(function () {
4765					var _this = $(this),
4766						el = _this,
4767						baseSrc = _this.data('base-src');
4768					if (_this.is('picture')) {
4769						el = _this.find('source');
4770					}
4771					if (typeof baseSrc !== 'undefined') {
4772						el.attr('src', baseSrc);
4773						var baseSrcset = _this.data('base-srcset');
4774						if (typeof baseSrcset !== 'undefined') {
4775							el.attr('srcset', baseSrcset);
4776						}
4777					}
4778				});
4779
4780				if (
4781					zeenPrv.$body.hasClass('single') ||
4782					(zeenPrv.$body.hasClass('page') &&
4783						!zeenPrv.$body.hasClass('tipi-builder-page'))
4784				) {
4785					$primary
4786						.find('> .article-layout-skin-2')
4787						.removeClass('article-layout-skin-2')
4788						.addClass('article-layout-skin-1');
4789					$primary
4790						.find('.entry-content >.lets-review-skin-2')
4791						.each(function () {
4792							var _this = $(this);
4793							if (parseInt(_this.data('skin')) === 1) {
4794								_this
4795									.removeClass('lets-review-skin-2')
4796									.addClass('lets-review-skin-1');
4797							}
4798						});
4799				}
4800			} else {
4801				zeenPrv.$skinMode.addClass('mode--alt');
4802				zeenPrv.$body.addClass('mode--alt--b');
4803				Cookies.set('wp_alt_mode', '1', {
4804					sameSite: 'lax',
4805					expires: zeenJS.args.cookieDuration,
4806					path: zeenJS.args.path,
4807				});
4808				logoImg.each(function () {
4809					var _this = $(this),
4810						el = _this,
4811						altSrc = _this.data('alt-src');
4812					if (_this.is('picture')) {
4813						el = _this.find('source');
4814					}
4815					if (typeof altSrc !== 'undefined') {
4816						el.attr('src', altSrc);
4817						var altSrcset = _this.data('alt-srcset');
4818						if (typeof altSrcset !== 'undefined') {
4819							el.attr('srcset', altSrcset);
4820						}
4821					}
4822				});
4823
4824				if (
4825					zeenPrv.$body.hasClass('single') ||
4826					(zeenPrv.$body.hasClass('page') &&
4827						!zeenPrv.$body.hasClass('tipi-builder-page'))
4828				) {
4829					$primary
4830						.find('> .article-layout-skin-1')
4831						.removeClass('article-layout-skin-1')
4832						.addClass('article-layout-skin-2');
4833					$primary
4834						.find('.entry-content >.lets-review-skin-1')
4835						.removeClass('lets-review-skin-1')
4836						.addClass('lets-review-skin-2');
4837				}
4838			}
4839		},
4840		imgControl: function (resize) {
4841			this.$primary.find('> .post-wrap').each(function () {
4842				var current = $(this);
4843				var img = current
4844					.find('.entry-content .alignnone')
4845					.add(current.find('.entry-content .aligncenter'));
4846				if (img.length > 0) {
4847					var imgObs = new IntersectionObserver(
4848						function (entries) {
4849							entries.forEach(function (entry) {
4850								if (entry.isIntersecting) {
4851									entry.target.classList.add('embed-vis');
4852									imgObs.unobserve(entry.target);
4853								}
4854							});
4855						},
4856						{ threshold: [0], rootMargin: '-100px 0px' }
4857					);
4858					var currentImg;
4859					img.each(function (index, elem) {
4860						currentImg = $(this);
4861						if (!currentImg.hasClass('embed-vis')) {
4862							imgObs.observe(currentImg[0]);
4863						}
4864					});
4865				}
4866			});
4867		},
4868		ajaxDeleter: function (ajaxCall, target) {
4869			if (target === true) {
4870				for (var el in zeenPrv.ajaxData) {
4871					if (el.indexOf(ajaxCall) === 0) {
4872						delete zeenPrv.ajaxData[el];
4873					}
4874				}
4875				if (typeof window[ajaxCall + '_2'] !== 'undefined') {
4876					window[ajaxCall + '_2'] = '';
4877				}
4878			} else {
4879				delete zeenPrv.ajaxData[ajaxCall];
4880			}
4881		},
4882		ajaxChecker: function (ajaxCall) {
4883			if (
4884				typeof window[ajaxCall] !== 'undefined' &&
4885				window[ajaxCall] !== ''
4886			) {
4887				zeenPrv.ajaxData[ajaxCall] = window[ajaxCall];
4888				return true;
4889			}
4890
4891			if (typeof zeenPrv.ajaxData[ajaxCall] !== 'undefined') {
4892				return true;
4893			}
4894		},
4895		lightboxClasses: function () {
4896			this.$entryContent
4897				.find('a')
4898				.has('img')
4899				.each(function () {
4900					var attrTitle = $('img', this).attr('title'),
4901						$instance = $(this),
4902						attrHref = $instance.attr('href');
4903
4904					if (typeof attrTitle !== 'undefined') {
4905						$instance.attr('title', attrTitle);
4906					}
4907					if (
4908						typeof attrHref !== 'undefined' &&
4909						$instance.data('rel') !== 'prettyPhoto[product-gallery]'
4910					) {
4911						var splitHref = attrHref.split('.'),
4912							ext = $(splitHref)[$(splitHref).length - 1];
4913						if (
4914							ext.substring(0, 3) === 'jpg' ||
4915							ext.substring(0, 4) === 'jpeg' ||
4916							ext.substring(0, 3) === 'png' ||
4917							ext.substring(0, 3) === 'gif' ||
4918							ext.substring(0, 4) === 'webp'
4919						) {
4920							$instance.addClass('tipi-lightbox');
4921						}
4922					}
4923				});
4924			if (parseInt(zeenJS.args.lightboxChoice) === 2) {
4925				var lists = this.$entryContent.find('> .zeen__list--1');
4926				if (lists.length > 0) {
4927					lists.find('a').has('img').removeClass('tipi-lightbox');
4928				}
4929			}
4930		},
4931		loadMore: function (elem, data) {
4932			elem.addClass('loaded');
4933			if (
4934				typeof zeenPrv.thePaged === 'undefined' ||
4935				zeenPrv.thePaged === 0
4936			) {
4937				zeenPrv.thePaged = 1;
4938			}
4939			if (typeof data === 'undefined') {
4940				elem = $(this);
4941				data = elem.data();
4942			}
4943			var elemBlockWrap = elem.closest('.block-wrap');
4944			var type = data.type;
4945			if (type === 4) {
4946				type = 3;
4947			}
4948			var target = elemBlockWrap,
4949				masonry;
4950
4951			if (elemBlockWrap.hasClass('block-masonry-wrap')) {
4952				target = target.find('.block');
4953				masonry = true;
4954			} else if (elemBlockWrap.hasClass('block-wrap-65')) {
4955				target = target.find('.block');
4956				masonry = 65;
4957			} else {
4958				target = target.find(
4959					'> .tipi-row-inner-style > .tipi-row-inner-box'
4960				);
4961			}
4962			var currentLoader,
4963				qry = zeenJS.qry,
4964				bid = elemBlockWrap.data('id');
4965			if (
4966				typeof bid !== 'undefined' &&
4967				typeof window['zeen_' + bid] !== 'undefined' &&
4968				!zeenPrv.$body.hasClass('blog')
4969			) {
4970				qry = window['zeen_' + bid].args;
4971			}
4972			$.ajax({
4973				method: 'POST',
4974				data: {
4975					preview: data.preview,
4976					img_shape: data.shape,
4977					byline_off: data.byline,
4978					excerpt_off: data.excerpt,
4979					mnp: data.mnp,
4980					qry: qry,
4981					paged: zeenPrv.thePaged,
4982					frontpage: zeenJS.args.frontpage,
4983					basePagi: window.location.pathname,
4984					type: type,
4985				},
4986				url: zeenJS.root + 'pagi',
4987				dataType: 'html',
4988				beforeSend: function (xhr) {
4989					zeenPrv.thePaged = parseInt(zeenPrv.thePaged) + 1;
4990					xhr.setRequestHeader('X-WP-Nonce', zeenPrv.nonce);
4991					currentLoader = elemBlockWrap
4992						.find('.inf-load-more-wrap:not(.inf-loaded)')
4993						.addClass('tipi-spin inf-loading');
4994				},
4995				success: function (response) {
4996					var $items = $(response),
4997						item;
4998					var offset;
4999					if (masonry === 65) {
5000						offset = zeenPrv.getDetails(target);
5001						elemBlockWrap
5002							.find('.inf-scr:not(.inf-scr-masonry)')
5003							.css('top', offset.height - 200)
5004							.addClass('inf-scr-masonry');
5005						currentLoader
5006							.addClass('inf-scr-masonry')
5007							.css('top', offset.height - 200);
5008						$items.each(function () {
5009							item = $(this);
5010							if (
5011								item.hasClass('pagination') ||
5012								item.hasClass('inf-scr')
5013							) {
5014								elemBlockWrap.append(item);
5015							} else {
5016								target.append(item);
5017							}
5018						});
5019					} else if (masonry === true) {
5020						zeenPrv.masonryAppend($items, target);
5021					} else {
5022						target.append($items);
5023					}
5024					currentLoader
5025						.removeClass('tipi-spin inf-loading')
5026						.addClass('inf-loaded');
5027					zeenPrv.tempAni();
5028					zeenPrv.iFrameLazy();
5029					zeenPrv.parallaxRefresh();
5030					zeenPrv.infScr();
5031					zeenPrv.fillRunner();
5032					if (masonry !== true) {
5033						zeenPrv.infPagi(elem, data);
5034						zeenPrv.reSidebars();
5035					}
5036					zeenPrv.GA(data.next);
5037					zeenPrv.infStRefresh();
5038				},
5039				fail: function (response) {
5040					console.log('ERROR', response);
5041				},
5042			});
5043			$('.inf-scr').removeClass('active');
5044		},
5045		infStRefresh: function () {
5046			for (var i = zeenPrv.infST.length - 1; i >= 0; i--) {
5047				if (zeenPrv.infST[i].scrollTrigger !== null) {
5048					zeenPrv.infST[i].refresh();
5049				}
5050			}
5051		},
5052		infPagi: function (elem, data) {
5053			if (zeenJS.args.archiveUrlChange !== true) {
5054				return;
5055			}
5056			ScrollTrigger.create({
5057				trigger: elem,
5058				start: 'top center',
5059				onEnter: function (_ref) {
5060					zeenPrv.updateHref(data.titleNext, data.next);
5061				},
5062				onLeaveBack: function (_ref) {
5063					zeenPrv.updateHref(data.titlePrev, data.prev);
5064				},
5065			});
5066		},
5067		menuAc: function (row) {
5068			var drop = $(row),
5069				_parent = drop.closest('.horizontal-menu');
5070			if (!drop.hasClass('dropper')) {
5071				_parent.removeClass('menu--active');
5072				if (zeenPrv.mmAni === 3) {
5073					var stopper = _parent.find('.menu--slid');
5074					stopper.stop().slideUp(200);
5075				}
5076				return;
5077			}
5078			if (!drop.hasClass('zeen-lazy-loaded')) {
5079				drop.find('.zeen-lazy-load-mm').each(function () {
5080					zeenPrv.imgAttrLoad($(this)[0], true);
5081				});
5082			}
5083			drop.addClass('active active-1 zeen-lazy-loaded');
5084			if (zeenPrv.mmAni === 3) {
5085				var trigger = drop.find('> .menu');
5086				if (trigger.hasClass('mm-1')) {
5087					trigger = trigger.find('> .menu-wrap > .sub-menu');
5088				}
5089				_parent.find('.menu--slid').hide().removeClass('menu--slid');
5090				trigger
5091					.css({ visibility: 'visible', opacity: '1' })
5092					.addClass('menu--slid');
5093				if (_parent.hasClass('menu--active')) {
5094					trigger.show();
5095				} else {
5096					trigger.hide().stop().slideDown(200);
5097				}
5098			}
5099			setTimeout(function () {
5100				_parent.addClass('menu--active');
5101			}, 220);
5102		},
5103		menuDeac: function (row) {
5104			$(row).removeClass('active');
5105		},
5106		menuEx: function (item) {
5107			if (zeenPrv.mmAni === 3) {
5108				var trigger = $(item).find('.menu--slid');
5109				trigger.stop().slideUp(200);
5110			}
5111			$(item).removeClass('menu--active');
5112		},
5113		reSidebars: function (index) {
5114			if (typeof index !== 'undefined') {
5115				zeenPrv.sbsSaved[index].refresh();
5116				return;
5117			}
5118			for (var i = zeenPrv.sbsSaved.length - 1; i >= 0; i--) {
5119				if (zeenPrv.sbsSaved[i] !== null) {
5120					zeenPrv.sbsSaved[i].refresh();
5121				}
5122			}
5123		},
5124		sidebars: function () {
5125			var builder = '';
5126			if (this.$body.hasClass('tipi-builder-frame-inner')) {
5127				builder = true;
5128			}
5129			var _this = this,
5130				stickies;
5131			if (zeenPrv.$winWidth < 1020) {
5132				stickies = $('.sticky-sb-on:not(.sidebar-wrap)');
5133			} else {
5134				stickies = $('.sticky-sb-on');
5135			}
5136			stickies.each(function () {
5137				var sb = $(this),
5138					heightCheck,
5139					isSb = false,
5140					tweaks = 0;
5141				sb.imagesLoaded(function () {
5142					var cont = sb.closest('.sticky--wrap'),
5143						contHeight;
5144					if (typeof cont !== 'undefined') {
5145						var totalHeight = 0;
5146						var $wrapP = sb.parent(),
5147							$wrap = $wrapP.hasClass('sticky--wrap')
5148								? sb
5149								: $wrapP;
5150						$wrap.children().each(function () {
5151							totalHeight =
5152								totalHeight + $(this).outerHeight(true);
5153						});
5154						contHeight = cont.outerHeight();
5155						if (totalHeight >= contHeight) {
5156							return;
5157						}
5158					}
5159					if (sb.hasClass('sidebar-wrap')) {
5160						isSb = true;
5161						heightCheck = sb.find('> .sidebar').outerHeight(true);
5162					} else {
5163						heightCheck = sb.outerHeight(true);
5164					}
5165					if (contHeight > 0 && heightCheck >= contHeight) {
5166						return;
5167					}
5168					var navH = 0;
5169					if (_this.$siteNav.hasClass('sticky-menu')) {
5170						if (!_this.$siteNav.hasClass('sticky-menu-2')) {
5171							navH = _this.$siteNav.outerHeight();
5172						}
5173					} else {
5174						var navP = _this.$siteNav.closest('.site-header');
5175						if (
5176							navP.length > 0 &&
5177							!navP.hasClass('sticky-menu-2')
5178						) {
5179							navH = navP.outerHeight();
5180						}
5181					}
5182
5183					if (_this.headerIsSticky === true) {
5184						navH =
5185							_this.$headerHeight -
5186							_this.$header.data('ptDiff') -
5187							_this.$header.data('pbDiff');
5188						tweaks = 15;
5189					}
5190					var top = 30 + zeenPrv.$wpAdminBarHeight + navH - tweaks;
5191					if (
5192						(_this.$winWidth < 1020 && isSb === true) ||
5193						_this.$winWidth < 767
5194					) {
5195						top = 0;
5196					}
5197					if (_this.$winHeight < heightCheck + top) {
5198						if (sb.hasClass('sticky-on') || builder === true) {
5199							sb.removeClass('sticky-sb sticky-el');
5200							return;
5201						}
5202						if (typeof cont !== 'undefined') {
5203							_this.pinner({
5204								element: sb,
5205								top: top,
5206								start: 'top ' + top + 'px',
5207								end: 'bottom bottom',
5208								endTrigger: cont[0],
5209								cont: cont,
5210							});
5211						}
5212					} else {
5213						sb.addClass('sticky-sb sticky-el');
5214						sb.css('top', top);
5215					}
5216				});
5217			});
5218		},
5219		sliderInit: function (reset) {
5220			zeenPrv.wooSliderInit();
5221			var sliders = $('.slider');
5222			if (sliders.length === 0) {
5223				return;
5224			}
5225			sliders.each(function () {
5226				var $slider = $(this),
5227					$sliderData = $slider.data(),
5228					arrows = true,
5229					artArrows = false,
5230					run = true,
5231					hideMeta,
5232					$sliderToArrow = $slider,
5233					sliderEffect = parseInt($sliderData.effect);
5234				var args = {
5235					wrapAround: true,
5236					imagesLoaded: true,
5237					draggable: false,
5238					pageDots: false,
5239					setGallerySize: false,
5240					prevNextButtons: false,
5241					cellSelector:
5242						typeof $sliderData.cell !== 'undefined'
5243							? $sliderData.cell
5244							: '.slide',
5245					contain: true,
5246					rightToLeft: zeenPrv.$rtl,
5247				};
5248				if (zeenPrv.$winWidth < 768) {
5249					args.draggable = true;
5250				}
5251				if ($slider.hasClass('flickity-enabled')) {
5252					run = false;
5253				}
5254
5255				if ($sliderData.s === 10) {
5256					hideMeta = true;
5257					args.draggable = true;
5258					args.lazyLoad = 1;
5259					if ($sliderData.fs === 's' || $sliderData.fs === 'm') {
5260						args.fullscreen = true;
5261					}
5262					args.autoPlay = zeenJS.args.galleryAutoplay;
5263				}
5264
5265				if ($sliderData.s > 50 && $sliderData.s < 60) {
5266					args.setGallerySize = true;
5267					args.adaptiveHeight = true;
5268					args.selectedAttraction = 0.0925;
5269					args.friction = 0.725;
5270					if (
5271						sliderEffect === 2 ||
5272						($sliderData.s !== 51 && $sliderData.s !== 55)
5273					) {
5274						args.autoPlay = zeenJS.args.sDelay;
5275					}
5276				}
5277
5278				if ($sliderData.s === 56) {
5279					args.draggable = true;
5280					args.adaptiveHeight = false;
5281					args.autoPlay = false;
5282					args.freeScroll = true;
5283					if ($sliderData.layout === 2) {
5284						args.wrapAround = true;
5285					} else {
5286						args.groupCells = zeenPrv.$winWidth < 768 ? 1 : 2;
5287						args.pageDots = true;
5288						args.wrapAround = false;
5289						arrows = false;
5290					}
5291					if ($sliderData.sWoo) {
5292						args.pageDots = true;
5293						args.freeScroll = false;
5294						args.adaptiveHeight = true;
5295						args.setGallerySize = true;
5296					}
5297				}
5298				if ($sliderData.s === 51 || $sliderData.s === 55) {
5299					artArrows = true;
5300					arrows = false;
5301					if (sliderEffect === 0) {
5302						args.selectedAttraction = 0.2;
5303						args.friction = 0.8;
5304					}
5305				}
5306				if (zeenPrv.$winWidth > 768) {
5307					if ($sliderData.s === 52) {
5308						args.groupCells = 2;
5309					} else if ($sliderData.s === 53) {
5310						args.groupCells = 3;
5311					} else if ($sliderData.s === 54) {
5312						args.groupCells = 4;
5313					}
5314				}
5315
5316				if ($sliderData.s === 15) {
5317					arrows = false;
5318					args.wrapAround = false;
5319					args.lazyLoad = 2;
5320					args.draggable = true;
5321				}
5322				if ($sliderData.s === 16) {
5323					args.wrapAround = false;
5324					args.cellAlign = 'left';
5325					$sliderToArrow = $slider.prev();
5326					args.asNavFor = $sliderToArrow[0];
5327				}
5328				if ($sliderData.s === 21) {
5329					args.setGallerySize = true;
5330					args.wrapAround = false;
5331					args.adaptiveHeight = true;
5332				}
5333				// Gallery BLock
5334				if ($sliderData.s === 31) {
5335					args.setGallerySize = true;
5336					args.draggable = true;
5337					args.lazyLoad = 2;
5338					args.wrapAround = false;
5339					args.adaptiveHeight = true;
5340					args.freeScroll = true;
5341					args.fullscreen = true;
5342					args.cellAlign = 'left';
5343					args.autoPlay =
5344						$sliderData.autoplay === 'on' ? 3000 : false;
5345				}
5346
5347				if (sliderEffect === 2) {
5348					args.contain = false;
5349					args.fade = true;
5350					args.pageDots = true;
5351					arrows = false;
5352					artArrows = false;
5353				}
5354
5355				if (run === true) {
5356					$slider.on('ready.flickity', function () {
5357						$slider.addClass('slider-ldd');
5358						if ($sliderData.s === 21) {
5359							$slider.removeClass('tipi-spin');
5360						}
5361						var slides;
5362						if ($sliderData.s > 50) {
5363							slides = $slider.find('article');
5364						} else {
5365							slides = $slider.find('img');
5366						}
5367						if ($sliderData.s === 51 || $sliderData.s === 55) {
5368							slides.first().imagesLoaded(function () {
5369								$slider.addClass('slider-rdy');
5370							});
5371						} else if ($sliderData.s === 52) {
5372							slides.slice(0, 1).imagesLoaded(function () {
5373								$slider.addClass('slider-rdy');
5374							});
5375						} else if (
5376							$sliderData.s === 53 ||
5377							$sliderData.s === 56
5378						) {
5379							slides.slice(0, 2).imagesLoaded(function () {
5380								$slider.addClass('slider-rdy');
5381							});
5382						} else if ($sliderData.s === 54) {
5383							slides.slice(0, 3).imagesLoaded(function () {
5384								$slider.addClass('slider-rdy');
5385							});
5386						} else if (
5387							$sliderData.s === 10 ||
5388							$sliderData.s === 15
5389						) {
5390							slides.imagesLoaded(function (e) {
5391								$slider.addClass('slider-rdy');
5392								$slider
5393									.closest('.hero-wrap')
5394									.addClass('mask-loaded');
5395							});
5396						} else if ($sliderData.s === 16) {
5397							slides.imagesLoaded(function (e) {
5398								$slider.addClass('nav-slider-rdy');
5399							});
5400						}
5401					});
5402					$slider.flickity(args);
5403					var flkty = '';
5404					if (args.wrapAround === false) {
5405						flkty = $slider.data('flickity');
5406					}
5407					if (arrows === true) {
5408						var prev = $slider.find('.slider-arrow-prev');
5409						var next = $slider.find('.slider-arrow-next');
5410						prev.on('click', function () {
5411							$sliderToArrow.flickity('previous');
5412							if (args.wrapAround === false) {
5413								if (flkty.selectedIndex === 0) {
5414									prev.addClass('disabled');
5415								} else {
5416									prev.removeClass('disabled');
5417								}
5418								if (
5419									flkty.selectedIndex ===
5420									flkty.slides.length - 1
5421								) {
5422									next.addClass('disabled');
5423								} else {
5424									next.removeClass('disabled');
5425								}
5426							}
5427						});
5428						next.on('click', function () {
5429							$sliderToArrow.flickity('next');
5430							if (args.wrapAround === false) {
5431								if (flkty.selectedIndex === 0) {
5432									prev.addClass('disabled');
5433								} else {
5434									prev.removeClass('disabled');
5435								}
5436								if (
5437									flkty.selectedIndex ===
5438									flkty.slides.length - 1
5439								) {
5440									next.addClass('disabled');
5441								} else {
5442									next.removeClass('disabled');
5443								}
5444							}
5445						});
5446					}
5447					if (hideMeta === true) {
5448						$slider.on('change.flickity', function (event, index) {
5449							var sliderHeroWrap = $slider.closest('.hero-wrap');
5450							if (!sliderHeroWrap.hasClass('gallery-viewing')) {
5451								$slider.on('mouseleave', function () {
5452									sliderHeroWrap.removeClass(
5453										'gallery-viewing'
5454									);
5455									$slider.off('mouseleave');
5456								});
5457							}
5458							sliderHeroWrap.addClass('gallery-viewing');
5459						});
5460					}
5461					if (artArrows === true) {
5462						flkty = $slider.data('flickity');
5463						var $sliderArrows = $slider.find('.slider-arrow');
5464						$sliderArrows.on('click', function () {
5465							var arrow = $(this);
5466							if (arrow.data('doing')) return;
5467							arrow.data('doing', true);
5468							var start = flkty.selectedIndex;
5469							if (arrow.hasClass('slider-arrow-next')) {
5470								$sliderToArrow.flickity('next');
5471							} else {
5472								$sliderToArrow.flickity('previous');
5473							}
5474							var finish = flkty.selectedIndex;
5475							if (flkty.cells.length > 1) {
5476								zeenPrv.sliderAlt(
5477									flkty,
5478									start,
5479									finish,
5480									$sliderData.effect
5481								);
5482							}
5483						});
5484
5485						if (zeenJS.args.sDelay > 0) {
5486							$slider.data('autoplay', true);
5487							setInterval(function () {
5488								if ($slider.data('autoplay') === true) {
5489									var start = flkty.selectedIndex;
5490									$sliderToArrow.flickity('next');
5491									var finish = flkty.selectedIndex;
5492									if (flkty.cells.length > 1) {
5493										zeenPrv.sliderAlt(
5494											flkty,
5495											start,
5496											finish,
5497											$sliderData.effect
5498										);
5499									}
5500								}
5501							}, zeenJS.args.sDelay);
5502							$slider.on('mouseenter', function () {
5503								$slider.data('autoplay', false);
5504							});
5505							$slider.on('mouseleave', function () {
5506								$slider.data('autoplay', true);
5507							});
5508						}
5509
5510						$slider.on('settle.flickity', function (event, index) {
5511							$sliderArrows.removeData('doing');
5512						});
5513
5514						$slider.on('settle.flickity', function (event, index) {
5515							$sliderArrows.removeData('doing');
5516						});
5517					}
5518				} else if (reset === true) {
5519					$slider.flickity('reposition').flickity('resize');
5520				}
5521			});
5522		},
5523		sliderAlt: function (flkty, start, finish, effect) {
5524			if (parseInt(effect) !== 0) {
5525				return;
5526			}
5527			var length = flkty.cells.length;
5528			if (finish === length) {
5529				finish = 0;
5530			}
5531			var dir =
5532					!(start === 0 && finish === length - 1) &&
5533					((finish === 0 && start === length - 1) || start < finish)
5534						? 'R'
5535						: 'L',
5536				$start = $(flkty.slides[start].cells[0].element),
5537				$finish = $(flkty.slides[finish].cells[0].element),
5538				outerWidth = flkty.slides[start].outerWidth,
5539				ease = Power2.easeInOut,
5540				outerWidthCalc = outerWidth - outerWidth * 0.2,
5541				finishR =
5542					dir === 'R' ? -Math.abs(outerWidthCalc) : outerWidthCalc,
5543				startMaskL =
5544					dir === 'L' ? -Math.abs(outerWidthCalc) : outerWidthCalc,
5545				startL = dir === 'L' ? -Math.abs(outerWidth) : outerWidth,
5546				startR = dir === 'R' ? -Math.abs(outerWidth) : outerWidth;
5547			for (var i = flkty.slides.length - 1; i >= 0; i--) {
5548				flkty.slides[i].cells[0].element.classList.remove(
5549					'old-slide',
5550					'new-slide'
5551				);
5552			}
5553			$start.addClass('old-slide');
5554			$finish.addClass('new-slide');
5555
5556			gsap.fromTo($finish, 0.6, { x: startL }, { x: 0, ease: ease });
5557			gsap.fromTo($start, 0.6, { x: 0 }, { x: startR, ease: ease });
5558			var finishMask = $finish.find('> .mask');
5559			if (finishMask.length > 0) {
5560				gsap.fromTo(
5561					finishMask,
5562					0.6,
5563					{ x: finishR },
5564					{ x: 0, ease: ease }
5565				);
5566			}
5567			var startMask = $start.find('> .mask');
5568			if (startMask.length > 0) {
5569				gsap.fromTo(
5570					startMask,
5571					0.6,
5572					{ x: 0 },
5573					{ x: startMaskL, ease: ease }
5574				);
5575			}
5576			gsap.fromTo(
5577				$finish.find('> .meta'),
5578				0.6,
5579				{ x: startR },
5580				{ x: 0, ease: ease }
5581			);
5582			gsap.fromTo(
5583				$start.find('> .meta'),
5584				0.6,
5585				{ x: 0 },
5586				{ x: startL, ease: ease }
5587			);
5588		},
5589		lightboxInit: function () {
5590			zeenPrv.lightboxClasses();
5591			if (zeenJS.args.lightbox !== true) {
5592				return;
5593			}
5594			if (parseInt(zeenJS.args.lightboxChoice) === 2) {
5595				var parentCheck = false,
5596					_thisParent;
5597				$('.tipi-lightbox')
5598					.fluidbox({
5599						loader: true,
5600					})
5601					.on('openstart.fluidbox', function () {
5602						var _this = $(this);
5603						_thisParent = _this.parent();
5604						if (
5605							_thisParent.hasClass('alignwide') ||
5606							_thisParent.hasClass('gallery-block__image')
5607						) {
5608							parentCheck = true;
5609							_thisParent.addClass('lightboxing');
5610						}
5611						zeenPrv.lastScrollY = window.scrollY;
5612						window.addEventListener(
5613							'scroll',
5614							zeenPrv.lbHandler,
5615							zeenPrv.$listener
5616						);
5617					})
5618					.on('closeend.fluidbox', function () {
5619						if (parentCheck === true) {
5620							_thisParent.removeClass('lightboxing');
5621							parentCheck = false;
5622						}
5623						window.removeEventListener(
5624							'scroll',
5625							zeenPrv.lbHandler,
5626							zeenPrv.$listener
5627						);
5628					});
5629			} else {
5630				zeenPrv.$body.on(
5631					'click',
5632					'.tipi-lightbox',
5633					zeenPrv.openPhotoswipe
5634				);
5635				this.$entryContent
5636					.find('.wp-block-gallery')
5637					.each(function (index) {
5638						var $this = $(this);
5639						$this.attr('id', 'gallery-uid-' + index);
5640						var links = $this.find('.tipi-lightbox');
5641						links.attr('data-gallery-uid', index);
5642						links.each(function (index) {
5643							$(this).attr('data-index', index);
5644						});
5645					});
5646			}
5647		},
5648		openPhotoswipe: function (e) {
5649			e.preventDefault();
5650			var items = [],
5651				tipiLightbox = $(e.currentTarget),
5652				tipiLightboxGID = tipiLightbox.data('gallery-uid'),
5653				options = {
5654					bgOpacity: 0.9,
5655					showHideOpacity: true,
5656					shareButtons: [
5657						{
5658							id: 'facebook',
5659							label:
5660								'<i class="tipi-i-facebook"></i> ' +
5661								zeenJS.i18n.share,
5662							url: 'https://facebook.com/sharer/sharer.php?u={{url}}',
5663						},
5664						{
5665							id: 'twitter',
5666							label:
5667								'<i class="tipi-i-x"></i> ' + zeenJS.i18n.tweet,
5668							url: 'https://twitter.com/intent/tweet?text={{text}}&url={{url}}',
5669						},
5670						{
5671							id: 'pinterest',
5672							label:
5673								'<i class="tipi-i-pinterest"></i> ' +
5674								zeenJS.i18n.pin,
5675							url: 'https://pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}',
5676						},
5677					],
5678				};
5679			if (typeof tipiLightboxGID !== 'undefined') {
5680				options.index = tipiLightbox.data('index');
5681				$('#gallery-uid-' + tipiLightboxGID)
5682					.find('.tipi-lightbox')
5683					.each(function () {
5684						items.push(zeenPrv.itemPusher($(this)));
5685					});
5686			} else {
5687				items.push(zeenPrv.itemPusher(tipiLightbox));
5688			}
5689			var photoswipe = new PhotoSwipe(
5690				$('#pswp')[0],
5691				PhotoSwipeUI_Default,
5692				items,
5693				options
5694			);
5695			photoswipe.init();
5696		},
5697		itemPusher: function ($item) {
5698			var $img = $item.find('img'),
5699				title = $img.attr('data-caption')
5700					? $img.attr('data-caption')
5701					: $img.attr('title'),
5702				caption;
5703			if (typeof title === 'undefined') {
5704				caption = $item.next();
5705				if (caption.is('figcaption')) {
5706					title = caption.text();
5707				}
5708			}
5709			return {
5710				alt: $img.attr('alt'),
5711				src: $item.attr('href'),
5712				title: title,
5713			};
5714		},
5715		pinner: function (vars) {
5716			var element = gsap.utils.toArray(vars.element)[0];
5717			var placeholder = document.createElement('span');
5718			element.insertAdjacentElement('beforebegin', placeholder);
5719			var keywords = {
5720					top: '0',
5721					center: '50%',
5722					bottom: '100%',
5723				},
5724				overlap,
5725				topOffset,
5726				updateOverlap = function updateOverlap() {
5727					topOffset =
5728						(
5729							(typeof vars.start === 'function'
5730								? vars.start()
5731								: vars.start || '0 0') + ''
5732						).split(' ')[1] || '0';
5733					topOffset = keywords[topOffset] || topOffset;
5734					topOffset = ~topOffset.indexOf('%')
5735						? (parseFloat(topOffset) / 100) * zeenPrv.$winWidth
5736						: parseFloat(topOffset) || 0;
5737					overlap = Math.max(
5738						0,
5739						element.offsetHeight - zeenPrv.$winHeight + topOffset
5740					);
5741				},
5742				_vars = vars,
5743				onUpdate = _vars.onUpdate,
5744				onRefresh = _vars.onRefresh,
5745				offset = 0,
5746				lastY = 0,
5747				pinned,
5748				pin = function pin(value, bottom) {
5749					pinned = value;
5750					if (pinned) {
5751						var bounds = element.getBoundingClientRect();
5752						gsap.set(element, {
5753							position: 'fixed',
5754							left: bounds.left,
5755							width: bounds.width,
5756							y: 0,
5757							top: bottom ? topOffset - overlap : topOffset,
5758						});
5759					} else {
5760						gsap.set(element, {
5761							position: 'relative',
5762							clearProps: 'left,top,width',
5763							y: offset,
5764						});
5765					}
5766				},
5767				self;
5768			updateOverlap();
5769			vars.trigger = placeholder;
5770			vars.start = 'start' in vars ? vars.start : 'top top';
5771			vars.onRefresh = function (self) {
5772				updateOverlap();
5773				self.vars.onUpdate(self);
5774				onRefresh && onRefresh(self);
5775			};
5776			vars.onUpdate = function (_ref) {
5777				if (
5778					zeenPrv.$winWidth < 1020 &&
5779					_ref.vars.element.hasClass('sidebar-wrap')
5780				) {
5781					gsap.set(element, {
5782						position: 'relative',
5783						clearProps: 'left,top,width',
5784						y: '0',
5785					});
5786					return;
5787				}
5788				var progress = _ref.progress,
5789					start = _ref.start,
5790					end = _ref.end,
5791					isActive = _ref.isActive;
5792				var y = progress * (end - start),
5793					delta = y - lastY,
5794					exceedsBottom = y + Math.max(0, delta) >= overlap + offset;
5795				if (
5796					(exceedsBottom || y + Math.min(0, delta) < offset) &&
5797					isActive
5798				) {
5799					offset += exceedsBottom ? y - overlap - offset : y - offset;
5800					pinned || pin(true, exceedsBottom);
5801				} else if (pinned || !isActive) {
5802					isActive ||
5803						(offset =
5804							y && typeof self !== 'undefined'
5805								? self.end - self.start - overlap
5806								: 0);
5807					pin(false);
5808				}
5809
5810				lastY = y;
5811				onUpdate && onUpdate(self);
5812			};
5813			var i = zeenPrv.sbsSaved.length;
5814			vars.endTrigger.setAttribute('data-sticky', i);
5815			if ('ResizeObserver' in window) {
5816				zeenPrv.roS = true;
5817				zeenPrv.resizeObs();
5818			} else {
5819				new IntersectionObserver(
5820					function (entries) {
5821						entries.forEach(function (entry) {
5822							if (entry.intersectionRatio > 0) {
5823								zeenPrv.reSidebars(
5824									entry.target.getAttribute('data-sticky')
5825								);
5826							}
5827						});
5828					},
5829					{
5830						threshold: [0],
5831						rootMargin: vars.top * -1 + 'px 0px 0px 0px',
5832					}
5833				).observe(vars.endTrigger);
5834			}
5835			self = ScrollTrigger.create(vars);
5836			zeenPrv.sbsSaved.push(self);
5837			return self;
5838		},
5839		toolTipInit: function (e, el) {
5840			zeenPrv.$toolTipCurrent =
5841				typeof el === 'undefined' ? $(this) : $(el);
5842			if (
5843				zeenPrv.$winWidth < 1200 ||
5844				zeenPrv.$toolTipCurrent.hasClass('tipi-tipped')
5845			)
5846				return;
5847			zeenPrv.$toolTipCurrent.addClass('tipi-tipped');
5848			var direction = 'tipi-tip-wrap-b';
5849			var zIndex = '';
5850			if (zeenPrv.$toolTipCurrent.hasClass('modal-tip')) {
5851				zIndex = ' z-index-override';
5852			}
5853
5854			if (zeenPrv.$toolTipCurrent.hasClass('tipi-tip-r')) {
5855				direction = 'tipi-tip-wrap-r';
5856			} else if (zeenPrv.$toolTipCurrent.hasClass('tipi-tip-l')) {
5857				direction = 'tipi-tip-wrap-l';
5858			} else if (zeenPrv.$toolTipCurrent.hasClass('tipi-tip-t')) {
5859				direction = 'tipi-tip-wrap-t';
5860			}
5861
5862			var output =
5863				'<div class="tipi-tip-wrap font-' +
5864				zeenJS.args.toolTipFont +
5865				' ' +
5866				direction +
5867				zIndex +
5868				'">' +
5869				'<div class="inner">' +
5870				zeenPrv.$toolTipCurrent.data('title') +
5871				'</div>' +
5872				'<div class="detail"></div>' +
5873				'</div>';
5874
5875			zeenPrv.$body.append(output);
5876
5877			zeenPrv.$toolTipOutput = zeenPrv.$body.find(
5878				' > .tipi-tip-wrap:not(.removing)'
5879			);
5880
5881			if (zeenPrv.$toolTipCurrent.hasClass('tipi-tip-move')) {
5882				zeenPrv.$toolTipCurrent.on('mousemove', zeenPrv.tooltipLive);
5883				zeenPrv.$toolTipOutput.addClass('tipi-tip-mover');
5884			} else {
5885				zeenPrv.tooltipSetup();
5886			}
5887
5888			zeenPrv.$toolTipCurrent.on('mouseleave', zeenPrv.tooltipDestroy);
5889		},
5890		tooltipDestroy: function () {
5891			zeenPrv.$toolTipOutput.addClass('removing');
5892			zeenPrv.$toolTipCurrent.removeClass('tipi-tipped');
5893			setTimeout(function () {
5894				$('.removing').remove();
5895			}, 500);
5896			zeenPrv.$toolTipCurrent.off('mouseleave mousemove');
5897		},
5898		tooltipLive: function (e) {
5899			zeenPrv.tooltipSetup({ left: e.clientX, top: e.clientY });
5900		},
5901		tooltipSetup: function (args) {
5902			if (typeof args === 'undefined') {
5903				args = {};
5904			}
5905			if (typeof args.output === 'undefined') {
5906				args.output = zeenPrv.$toolTipOutput;
5907			}
5908
5909			if (typeof args.current === 'undefined') {
5910				args.current = zeenPrv.$toolTipCurrent;
5911			}
5912
5913			var instanceDetails = zeenPrv.getDetails(args.output);
5914			var offset = zeenPrv.getDetails(args.current);
5915			if (typeof args.left === 'undefined') {
5916				args.left =
5917					offset.left + offset.width / 2 - instanceDetails.width / 2;
5918			} else {
5919				args.left = args.left - instanceDetails.width / 2;
5920			}
5921
5922			if (typeof args.top === 'undefined') {
5923				args.top = offset.top;
5924				args.top = args.top + offset.height;
5925			} else {
5926				args.top = args.top + 10;
5927			}
5928
5929			if (args.current.hasClass('tipi-tip-r')) {
5930				args.top =
5931					offset.top + offset.height / 2 - instanceDetails.height / 2;
5932				args.left = offset.width + offset.left + 10;
5933			} else if (args.current.hasClass('tipi-tip-l')) {
5934				args.top =
5935					offset.top + offset.height / 2 - instanceDetails.height / 2;
5936				args.left = offset.left - instanceDetails.width - 10;
5937			} else if (args.current.hasClass('tipi-tip-t')) {
5938				args.top = offset.top - instanceDetails.height;
5939			}
5940			args.output
5941				.css({
5942					left: args.left,
5943					top: args.top,
5944				})
5945				.addClass('tipi-tip-wrap-visible');
5946		},
5947		getDetails: function (elem) {
5948			var output = elem[0].getBoundingClientRect();
5949			return {
5950				left: output.left,
5951				top: output.top,
5952				width: output.width,
5953				height: output.height,
5954			};
5955		},
5956		orientationchange: function () {
5957			this.cleanUp();
5958			this.parallaxRefresh();
5959		},
5960		resize: function () {
5961			this.resizing = true;
5962			var width = this.$winWidth;
5963			this.data();
5964			var _this = this;
5965			clearTimeout(this.resizeTo);
5966			this.resizeTo = setTimeout(function () {
5967				if (width !== _this.$winWidth) {
5968					_this.cleanUp();
5969					_this.header();
5970					_this.sticky();
5971					_this.sliderInit();
5972					_this.sidebars();
5973					_this.reSidebars();
5974					_this.progressPosition();
5975					if (_this.$winWidth > 767) {
5976						_this.$body.removeClass('mob-open');
5977					}
5978				}
5979				_this.imgControl(true);
5980				_this.resizing = false;
5981			}, 275);
5982		},
5983		cleanUp: function () {
5984			this.cleanUpParallax();
5985			$('.parallaxed').removeClass('parallaxed');
5986			this.parallaxIt();
5987			this.footerReveal();
5988		},
5989		cleanUpParallax: function () {
5990			for (var i = zeenPrv.paraSaved.length - 1; i >= 0; i--) {
5991				if (zeenPrv.paraSaved[i].scrollTrigger !== null) {
5992					zeenPrv.paraSaved[i].kill();
5993					zeenPrv.paraSaved[i].scrollTrigger.kill();
5994				}
5995			}
5996		},
5997		parallaxRefresh: function () {
5998			for (var i = zeenPrv.paraSaved.length - 1; i >= 0; i--) {
5999				if (zeenPrv.paraSaved[i].scrollTrigger !== null) {
6000					zeenPrv.paraSaved[i].scrollTrigger.refresh();
6001				}
6002			}
6003		},
6004		cleanupStickies: function () {
6005			for (var i = zeenPrv.stickies.length - 1; i >= 0; i--) {
6006				if (zeenPrv.stickies[i] !== null) {
6007					zeenPrv.stickies[i].kill();
6008				}
6009			}
6010		},
6011		lbHandler: function () {
6012			var currentScroll =
6013				window.pageYOffset || document.documentElement.scrollTop;
6014			if (!zeenPrv.tickingLb) {
6015				window.requestAnimationFrame(function () {
6016					if (Math.abs(currentScroll - zeenPrv.lastScrollY) > 45) {
6017						$('.tipi-lightbox').fluidbox('close');
6018					}
6019					zeenPrv.tickingLb = false;
6020				});
6021				zeenPrv.tickingLb = true;
6022			}
6023		},
6024		fillRunner: function (override) {
6025			if (
6026				this.$body.hasClass('tipi-builder-frame-inner') &&
6027				override !== true
6028			) {
6029				return;
6030			}
6031			if (override === true) {
6032				$('.tipi-fill').remove();
6033			}
6034			if (this.wooArchive === true) {
6035				var woo = this.$entryContentWrap.data('ppl');
6036				if (woo > 2 && this.$products.length > 0) {
6037					this.$products.each(function () {
6038						zeenPrv.fillIt($(this), woo, 'product');
6039					});
6040				}
6041			}
6042			var block = this.$primary
6043				.add(this.$dropper)
6044				.find('.ppl-l-4, .ppl-m-4');
6045			if (block.length > 0) {
6046				block = block.find('.block:not(.block-65)');
6047				block.each(function () {
6048					zeenPrv.fillIt($(this), 4);
6049				});
6050			}
6051			block = this.$primary.add(this.$dropper).find('.ppl-l-5, .ppl-m-5');
6052			if (block.length > 0) {
6053				block = block.find('.block:not(.block-65)');
6054				block.each(function () {
6055					zeenPrv.fillIt($(this), 5);
6056				});
6057			}
6058			block = this.$primary.add(this.$dropper).find('.ppl-l-3, .ppl-m-3');
6059			if (block.length > 0) {
6060				block = block.find('.block:not(.block-65)');
6061				block.each(function () {
6062					if (!block.hasClass('block-wrap-65')) {
6063						zeenPrv.fillIt($(this), 3);
6064					}
6065				});
6066			}
6067		},
6068		fillIt: function (block, count, classes) {
6069			if (this.$winWidth > 767) {
6070				var counter = block.children().length;
6071				if (counter === count) {
6072					return;
6073				}
6074				var remainder;
6075				if (counter < count) {
6076					remainder = count - counter;
6077				} else {
6078					remainder = counter - Math.floor(counter / count) * count;
6079					remainder = count - remainder;
6080				}
6081				if (remainder < count) {
6082					for (var i = 0; i < remainder; i++) {
6083						var article = document.createElement('article');
6084						article.classList.add('tipi-fill');
6085						if (typeof classes !== 'undefined') {
6086							article.classList.add(classes);
6087						}
6088						block.append(article);
6089					}
6090				}
6091			} else {
6092				$('.tipi-fill').remove();
6093			}
6094		},
6095		toTopInit: function (e) {
6096			e.preventDefault();
6097			zenscroll.toY(0, 800);
6098		},
6099		foldMid: function () {
6100			var togglers = this.$toTopWrap
6101				.add(this.$verticalMenu)
6102				.add($('#next-block__wrap'))
6103				.add($('#cart__float'))
6104				.add($('#prev-block__wrap'));
6105			if (togglers.length > 0) {
6106				ScrollTrigger.create({
6107					trigger: this.$body,
6108					start: Math.min(400, this.$winHeight),
6109					toggleClass: { targets: togglers, className: 'past__mid' },
6110				});
6111			}
6112		},
6113		openSlideMenu: function (e) {
6114			e.preventDefault();
6115			this.$body.addClass('slide-menu-open');
6116			this.$baseOverlay.addClass('active');
6117			this.$slideInMenu.addClass('active');
6118		},
6119		closeSlideMenu: function (e) {
6120			if (typeof e !== 'undefined') {
6121				e.preventDefault();
6122			}
6123			this.$body.removeClass('slide-menu-open');
6124			this.$slideInMenu.removeClass('active');
6125			this.$baseOverlay.removeClass('active');
6126		},
6127		openMobMenu: function (e) {
6128			e.preventDefault();
6129			if (this.$body.hasClass('site-mob-menu-a-3')) {
6130				var currentTop = $(window).scrollTop();
6131				zeenPrv.$body.addClass('mob-open mob-open-3');
6132				this.$content
6133					.add(this.$topBlock)
6134					.add(this.$mobHead)
6135					.css('top', '-' + currentTop + 'px');
6136				this.$page.css('height', this.$winHeight);
6137			} else {
6138				if (this.$body.hasClass('mob-open')) {
6139					this.$body.removeClass('mob-open');
6140				} else {
6141					this.$body.addClass('mob-open');
6142				}
6143			}
6144		},
6145		mobMenuClear: function (e) {
6146			this.$body.removeClass('mob-open');
6147			if (!this.$body.hasClass('site-mob-menu-a-3')) {
6148				return;
6149			}
6150			clearTimeout(zeenPrv.mobMenuClearTO);
6151			zeenPrv.mobMenuClearTO = setTimeout(function () {
6152				var scrollTo = zeenPrv.$content.css('top');
6153				zeenPrv.$content
6154					.add(zeenPrv.$topBlock)
6155					.add(zeenPrv.$mobHead)
6156					.css('top', '');
6157				zeenPrv.$page.css('height', '');
6158				zeenPrv.$body.removeClass('mob-open mob-open-3');
6159				window.scrollTo(0, scrollTo);
6160			}, 500);
6161		},
6162		closeMobMenu: function (e) {
6163			e.preventDefault();
6164			zeenPrv.mobMenuClear();
6165		},
6166		loadScript: function (src) {
6167			var js = document.createElement('script');
6168			js.src = src;
6169			js.onload = function () {
6170				zeenPrv.initMethods();
6171			};
6172			js.onerror = function () {
6173				console.log('ERROR: JS');
6174			};
6175			document.head.appendChild(js);
6176		},
6177		wooSliderInit: function () {
6178			if (
6179				!(
6180					zeenPrv.$body.hasClass('single-product') &&
6181					zeenPrv.$main.hasClass('product-hero-slider--off')
6182				)
6183			) {
6184				return;
6185			}
6186			var wrapper = zeenPrv.$main.find(
6187				'.woocommerce-product-gallery__wrapper'
6188			);
6189			if (wrapper.length === 0) {
6190				return;
6191			}
6192			if (zeenPrv.$winWidth < 768) {
6193				wrapper.addClass('slider');
6194				if (!wrapper.hasClass('slider--data')) {
6195					wrapper.addClass('slider-data').data({
6196						s: 56,
6197						sWoo: true,
6198						cell: '.woocommerce-product-gallery__image',
6199						layout: 2,
6200					});
6201				}
6202			} else {
6203				if (wrapper.data('flickity')) {
6204					wrapper.removeClass('slider').flickity('destroy');
6205				}
6206			}
6207		},
6208		pub: function () {
6209			var _this = this;
6210			clearTimeout(this.pubTimer);
6211			this.pubTimer = setTimeout(function () {
6212				_this.cleanUpParallax();
6213				$('.parallaxed').removeClass('parallaxed');
6214				$(
6215					'.tipi-parallax-ani .bg, .tipi-parallax-ani iframe, .tipi-parallax-ani img'
6216				).css('transform', '');
6217				_this.dom();
6218				_this.data();
6219				_this.anis();
6220				_this.sliderInit(true);
6221				_this.sidebars();
6222				_this.reSidebars();
6223				_this.maskLoader();
6224				_this.fillRunner(true);
6225				_this.stickyEl();
6226				_this.parallaxIt(true);
6227				_this.parallax3s(true);
6228			}, 50);
6229		},
6230		cus: function (setting) {
6231			if (setting === 'sticky') {
6232				zeenPrv.cleanupStickies();
6233			}
6234			this.dom();
6235			this.data();
6236			this.bind();
6237			if (setting === 'sticky') {
6238				this.$stickyMenu.removeClass(
6239					'slidedown stickied stuck active still'
6240				);
6241				this.sticky();
6242			}
6243		},
6244	};
6245	zeenPrv.init();
6246
6247	window.zeenPub = function () {
6248		zeenPrv.pub();
6249	};
6250
6251	window.zeenCus = function (setting) {
6252		zeenPrv.cus(setting);
6253	};
6254
6255	window.zeenToolTip = function (e) {
6256		zeenPrv.toolTipInitPub(e);
6257	};
6258})(jQuery);
6259
6260/**
6261 * Zenscroll 4.0.2
6262 * https://github.com/zengabor/zenscroll/
6263 *
6264 * Copyright 2015–2018 Gabor Lenard
6265 *
6266 * This is free and unencumbered software released into the public domain.
6267 * 
6268 * Anyone is free to copy, modify, publish, use, compile, sell, or
6269 * distribute this software, either in source code form or as a compiled
6270 * binary, for any purpose, commercial or non-commercial, and by any
6271 * means.
6272 * 
6273 * In jurisdictions that recognize copyright laws, the author or authors
6274 * of this software dedicate any and all copyright interest in the
6275 * software to the public domain. We make this dedication for the benefit
6276 * of the public at large and to the detriment of our heirs and
6277 * successors. We intend this dedication to be an overt act of
6278 * relinquishment in perpetuity of all present and future rights to this
6279 * software under copyright law.
6280 * 
6281 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
6282 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6283 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
6284 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
6285 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
6286 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
6287 * OTHER DEALINGS IN THE SOFTWARE.
6288 * 
6289 * For more information, please refer to <http://unlicense.org>
6290 * 
6291 */
6292
6293
6294 /* CODETIPI CHANGES:
6295
6296 Removed auto smoothscroll entire section
6297
6298/*jshint devel:true, asi:true */
6299
6300/*global define, module */
6301
6302
6303(function (root, factory) {
6304	if (typeof define === "function" && define.amd) {
6305		define([], factory())
6306	} else if (typeof module === "object" && module.exports) {
6307		module.exports = factory()
6308	} else {
6309		(function install() {
6310			// To make sure Zenscroll can be referenced from the header, before `body` is available
6311			if (document && document.body) {
6312				root.zenscroll = factory()
6313			} else {
6314				// retry 9ms later
6315				setTimeout(install, 9)
6316			}
6317		})()
6318	}
6319}(this, function () {
6320	"use strict"
6321
6322
6323	// Detect if the browser already supports native smooth scrolling (e.g., Firefox 36+ and Chrome 49+) and it is enabled:
6324	var isNativeSmoothScrollEnabledOn = function (elem) {
6325		return elem && "getComputedStyle" in window &&
6326			window.getComputedStyle(elem)["scroll-behavior"] === "smooth"
6327	}
6328
6329
6330	// Exit if it’s not a browser environment:
6331	if (typeof window === "undefined" || !("document" in window)) {
6332		return {}
6333	}
6334
6335
6336	var makeScroller = function (container, defaultDuration, edgeOffset) {
6337
6338		// Use defaults if not provided
6339		defaultDuration = defaultDuration || 999 //ms
6340		if (!edgeOffset && edgeOffset !== 0) {
6341			// When scrolling, this amount of distance is kept from the edges of the container:
6342			edgeOffset = 9 //px
6343		}
6344
6345		// Handling the life-cycle of the scroller
6346		var scrollTimeoutId
6347		var setScrollTimeoutId = function (newValue) {
6348			scrollTimeoutId = newValue
6349		}
6350
6351		/**
6352		 * Stop the current smooth scroll operation immediately
6353		 */
6354		var stopScroll = function () {
6355			clearTimeout(scrollTimeoutId)
6356			setScrollTimeoutId(0)
6357		}
6358
6359		var getTopWithEdgeOffset = function (elem) {
6360			return Math.max(0, container.getTopOf(elem) - edgeOffset)
6361		}
6362
6363		/**
6364		 * Scrolls to a specific vertical position in the document.
6365		 *
6366		 * @param {targetY} The vertical position within the document.
6367		 * @param {duration} Optionally the duration of the scroll operation.
6368		 *        If not provided the default duration is used.
6369		 * @param {onDone} An optional callback function to be invoked once the scroll finished.
6370		 */
6371		var scrollToY = function (targetY, duration, onDone) {
6372			stopScroll()
6373			if (duration === 0 || (duration && duration < 0) || isNativeSmoothScrollEnabledOn(container.body)) {
6374				container.toY(targetY)
6375				if (onDone) {
6376					onDone()
6377				}
6378			} else {
6379				var startY = container.getY()
6380				var distance = Math.max(0, targetY) - startY
6381				var startTime = new Date().getTime()
6382				duration = duration || Math.min(Math.abs(distance), defaultDuration);
6383				(function loopScroll() {
6384					setScrollTimeoutId(setTimeout(function () {
6385						// Calculate percentage:
6386						var p = Math.min(1, (new Date().getTime() - startTime) / duration)
6387						// Calculate the absolute vertical position:
6388						var y = Math.max(0, Math.floor(startY + distance*(p < 0.5 ? 2*p*p : p*(4 - p*2)-1)))
6389						container.toY(y)
6390						if (p < 1 && (container.getHeight() + y) < container.body.scrollHeight) {
6391							loopScroll()
6392						} else {
6393							setTimeout(stopScroll, 99) // with cooldown time
6394							if (onDone) {
6395								onDone()
6396							}
6397						}
6398					}, 9))
6399				})()
6400			}
6401		}
6402
6403		/**
6404		 * Scrolls to the top of a specific element.
6405		 *
6406		 * @param {elem} The element to scroll to.
6407		 * @param {duration} Optionally the duration of the scroll operation.
6408		 * @param {onDone} An optional callback function to be invoked once the scroll finished.
6409		 */
6410		var scrollToElem = function (elem, duration, onDone) {
6411			scrollToY(getTopWithEdgeOffset(elem), duration, onDone)
6412		}
6413
6414		/**
6415		 * Scrolls an element into view if necessary.
6416		 *
6417		 * @param {elem} The element.
6418		 * @param {duration} Optionally the duration of the scroll operation.
6419		 * @param {onDone} An optional callback function to be invoked once the scroll finished.
6420		 */
6421		var scrollIntoView = function (elem, duration, onDone) {
6422			var elemHeight = elem.getBoundingClientRect().height
6423			var elemBottom = container.getTopOf(elem) + elemHeight
6424			var containerHeight = container.getHeight()
6425			var y = container.getY()
6426			var containerBottom = y + containerHeight
6427			if (getTopWithEdgeOffset(elem) < y || (elemHeight + edgeOffset) > containerHeight) {
6428				// Element is clipped at top or is higher than screen.
6429				scrollToElem(elem, duration, onDone)
6430			} else if ((elemBottom + edgeOffset) > containerBottom) {
6431				// Element is clipped at the bottom.
6432				scrollToY(elemBottom - containerHeight + edgeOffset, duration, onDone)
6433			} else if (onDone) {
6434				onDone()
6435			}
6436		}
6437
6438		/**
6439		 * Scrolls to the center of an element.
6440		 *
6441		 * @param {elem} The element.
6442		 * @param {duration} Optionally the duration of the scroll operation.
6443		 * @param {offset} Optionally the offset of the top of the element from the center of the screen.
6444		 *        A value of 0 is ignored.
6445		 * @param {onDone} An optional callback function to be invoked once the scroll finished.
6446		 */
6447		var scrollToCenterOf = function (elem, duration, offset, onDone) {
6448			scrollToY(Math.max(0, container.getTopOf(elem) - container.getHeight()/2 + (offset || elem.getBoundingClientRect().height/2)), duration, onDone)
6449		}
6450
6451		/**
6452		 * Changes default settings for this scroller.
6453		 *
6454		 * @param {newDefaultDuration} Optionally a new value for default duration, used for each scroll method by default.
6455		 *        Ignored if null or undefined.
6456		 * @param {newEdgeOffset} Optionally a new value for the edge offset, used by each scroll method by default. Ignored if null or undefined.
6457		 * @returns An object with the current values.
6458		 */
6459		var setup = function (newDefaultDuration, newEdgeOffset) {
6460			if (newDefaultDuration === 0 || newDefaultDuration) {
6461				defaultDuration = newDefaultDuration
6462			}
6463			if (newEdgeOffset === 0 || newEdgeOffset) {
6464				edgeOffset = newEdgeOffset
6465			}
6466			return {
6467				defaultDuration: defaultDuration,
6468				edgeOffset: edgeOffset
6469			}
6470		}
6471
6472		return {
6473			setup: setup,
6474			to: scrollToElem,
6475			toY: scrollToY,
6476			intoView: scrollIntoView,
6477			center: scrollToCenterOf,
6478			stop: stopScroll,
6479			moving: function () { return !!scrollTimeoutId },
6480			getY: container.getY,
6481			getTopOf: container.getTopOf
6482		}
6483
6484	}
6485
6486
6487	var docElem = document.documentElement
6488	var getDocY = function () { return window.scrollY || docElem.scrollTop }
6489
6490	// Create a scroller for the document:
6491	var zenscroll = makeScroller({
6492		body: document.scrollingElement || document.body,
6493		toY: function (y) { window.scrollTo(0, y) },
6494		getY: getDocY,
6495		getHeight: function () { return document.documentElement.clientHeight || docElem.clientHeight },
6496		getTopOf: function (elem) { return elem.getBoundingClientRect().top + getDocY() - docElem.offsetTop }
6497	})
6498
6499
6500	/**
6501	 * Creates a scroller from the provided container element (e.g., a DIV)
6502	 *
6503	 * @param {scrollContainer} The vertical position within the document.
6504	 * @param {defaultDuration} Optionally a value for default duration, used for each scroll method by default.
6505	 *        Ignored if 0 or null or undefined.
6506	 * @param {edgeOffset} Optionally a value for the edge offset, used by each scroll method by default. 
6507	 *        Ignored if null or undefined.
6508	 * @returns A scroller object, similar to `zenscroll` but controlling the provided element.
6509	 */
6510	zenscroll.createScroller = function (scrollContainer, defaultDuration, edgeOffset) {
6511		return makeScroller({
6512			body: scrollContainer,
6513			toY: function (y) { scrollContainer.scrollTop = y },
6514			getY: function () { return scrollContainer.scrollTop },
6515			getHeight: function () { return Math.min(scrollContainer.clientHeight, document.documentElement.clientHeight || docElem.clientHeight) },
6516			getTopOf: function (elem) { return elem.offsetTop }
6517		}, defaultDuration, edgeOffset)
6518	}
6519
6520	return zenscroll
6521
6522
6523}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.