PageSourceSearch

https://lptv.org/wp-content/uploads/bb-plugin/cache/74-layout-partial.js?ver=9c2bb12a6d5a16a8f3972faef6ab6493

js lptv.org collected 2026-09-24 19:38:30 UTC 59,320 bytes, 1,982 lines download raw bytes

1/*!
2 * Bowser - a browser detector
3 * https://github.com/ded/bowser
4 * MIT License | (c) Dustin Diaz 2015
5 */
6
7!function (name, definition) {
8  if (typeof module != 'undefined' && module.exports) module.exports = definition()
9  else if (typeof define == 'function' && define.amd) define(name, definition)
10  else this[name] = definition()
11}('bowser', function () {
12  /**
13    * See useragents.js for examples of navigator.userAgent
14    */
15
16  var t = true
17
18  function detect(ua) {
19
20    function getFirstMatch(regex) {
21      var match = ua.match(regex);
22      return (match && match.length > 1 && match[1]) || '';
23    }
24
25    function getSecondMatch(regex) {
26      var match = ua.match(regex);
27      return (match && match.length > 1 && match[2]) || '';
28    }
29
30    var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()
31      , likeAndroid = /like android/i.test(ua)
32      , android = !likeAndroid && /android/i.test(ua)
33      , nexusMobile = /nexus\s*[0-6]\s*/i.test(ua)
34      , nexusTablet = !nexusMobile && /nexus\s*[0-9]+/i.test(ua)
35      , chromeos = /CrOS/.test(ua)
36      , silk = /silk/i.test(ua)
37      , sailfish = /sailfish/i.test(ua)
38      , tizen = /tizen/i.test(ua)
39      , webos = /(web|hpw)os/i.test(ua)
40      , windowsphone = /windows phone/i.test(ua)
41      , windows = !windowsphone && /windows/i.test(ua)
42      , mac = !iosdevice && !silk && /macintosh/i.test(ua)
43      , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)
44      , edgeVersion = getFirstMatch(/edge\/(\d+(\.\d+)?)/i)
45      , versionIdentifier = getFirstMatch(/version\/(\d+(\.\d+)?)/i)
46      , tablet = /tablet/i.test(ua)
47      , mobile = !tablet && /[^-]mobi/i.test(ua)
48      , xbox = /xbox/i.test(ua)
49      , result
50
51    if (/opera|opr|opios/i.test(ua)) {
52      result = {
53        name: 'Opera'
54      , opera: t
55      , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)
56      }
57    }
58    else if (/coast/i.test(ua)) {
59      result = {
60        name: 'Opera Coast'
61        , coast: t
62        , version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)
63      }
64    }
65    else if (/yabrowser/i.test(ua)) {
66      result = {
67        name: 'Yandex Browser'
68      , yandexbrowser: t
69      , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)
70      }
71    }
72    else if (/ucbrowser/i.test(ua)) {
73      result = {
74          name: 'UC Browser'
75        , ucbrowser: t
76        , version: getFirstMatch(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)
77      }
78    }
79    else if (/mxios/i.test(ua)) {
80      result = {
81        name: 'Maxthon'
82        , maxthon: t
83        , version: getFirstMatch(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)
84      }
85    }
86    else if (/epiphany/i.test(ua)) {
87      result = {
88        name: 'Epiphany'
89        , epiphany: t
90        , version: getFirstMatch(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)
91      }
92    }
93    else if (/puffin/i.test(ua)) {
94      result = {
95        name: 'Puffin'
96        , puffin: t
97        , version: getFirstMatch(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)
98      }
99    }
100    else if (/sleipnir/i.test(ua)) {
101      result = {
102        name: 'Sleipnir'
103        , sleipnir: t
104        , version: getFirstMatch(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)
105      }
106    }
107    else if (/k-meleon/i.test(ua)) {
108      result = {
109        name: 'K-Meleon'
110        , kMeleon: t
111        , version: getFirstMatch(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)
112      }
113    }
114    else if (windowsphone) {
115      result = {
116        name: 'Windows Phone'
117      , windowsphone: t
118      }
119      if (edgeVersion) {
120        result.msedge = t
121        result.version = edgeVersion
122      }
123      else {
124        result.msie = t
125        result.version = getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i)
126      }
127    }
128    else if (/msie|trident/i.test(ua)) {
129      result = {
130        name: 'Internet Explorer'
131      , msie: t
132      , version: getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i)
133      }
134    } else if (chromeos) {
135      result = {
136        name: 'Chrome'
137      , chromeos: t
138      , chromeBook: t
139      , chrome: t
140      , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
141      }
142    } else if (/chrome.+? edge/i.test(ua)) {
143      result = {
144        name: 'Microsoft Edge'
145      , msedge: t
146      , version: edgeVersion
147      }
148    }
149    else if (/vivaldi/i.test(ua)) {
150      result = {
151        name: 'Vivaldi'
152        , vivaldi: t
153        , version: getFirstMatch(/vivaldi\/(\d+(\.\d+)?)/i) || versionIdentifier
154      }
155    }
156    else if (sailfish) {
157      result = {
158        name: 'Sailfish'
159      , sailfish: t
160      , version: getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i)
161      }
162    }
163    else if (/seamonkey\//i.test(ua)) {
164      result = {
165        name: 'SeaMonkey'
166      , seamonkey: t
167      , version: getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i)
168      }
169    }
170    else if (/firefox|iceweasel|fxios/i.test(ua)) {
171      result = {
172        name: 'Firefox'
173      , firefox: t
174      , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)
175      }
176      if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) {
177        result.firefoxos = t
178      }
179    }
180    else if (silk) {
181      result =  {
182        name: 'Amazon Silk'
183      , silk: t
184      , version : getFirstMatch(/silk\/(\d+(\.\d+)?)/i)
185      }
186    }
187    else if (/phantom/i.test(ua)) {
188      result = {
189        name: 'PhantomJS'
190      , phantom: t
191      , version: getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i)
192      }
193    }
194    else if (/slimerjs/i.test(ua)) {
195      result = {
196        name: 'SlimerJS'
197        , slimer: t
198        , version: getFirstMatch(/slimerjs\/(\d+(\.\d+)?)/i)
199      }
200    }
201    else if (/blackberry|\bbb\d+/i.test(ua) || /rim\stablet/i.test(ua)) {
202      result = {
203        name: 'BlackBerry'
204      , blackberry: t
205      , version: versionIdentifier || getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i)
206      }
207    }
208    else if (webos) {
209      result = {
210        name: 'WebOS'
211      , webos: t
212      , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)
213      };
214      if( /touchpad\//i.test(ua) ){
215        result.touchpad = t;
216      }
217    }
218    else if (/bada/i.test(ua)) {
219      result = {
220        name: 'Bada'
221      , bada: t
222      , version: getFirstMatch(/dolfin\/(\d+(\.\d+)?)/i)
223      };
224    }
225    else if (tizen) {
226      result = {
227        name: 'Tizen'
228      , tizen: t
229      , version: getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || versionIdentifier
230      };
231    }
232    else if (/qupzilla/i.test(ua)) {
233      result = {
234        name: 'QupZilla'
235        , qupzilla: t
236        , version: getFirstMatch(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i) || versionIdentifier
237      }
238    }
239    else if (/chromium/i.test(ua)) {
240      result = {
241        name: 'Chromium'
242        , chromium: t
243        , version: getFirstMatch(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i) || versionIdentifier
244      }
245    }
246    else if (/chrome|crios|crmo/i.test(ua)) {
247      result = {
248        name: 'Chrome'
249        , chrome: t
250        , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)
251      }
252    }
253    else if (android) {
254      result = {
255        name: 'Android'
256        , version: versionIdentifier
257      }
258    }
259    else if (/safari|applewebkit/i.test(ua)) {
260      result = {
261        name: 'Safari'
262      , safari: t
263      }
264      if (versionIdentifier) {
265        result.version = versionIdentifier
266      }
267    }
268    else if (iosdevice) {
269      result = {
270        name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'
271      }
272      // WTF: version is not part of user agent in web apps
273      if (versionIdentifier) {
274        result.version = versionIdentifier
275      }
276    }
277    else if(/googlebot/i.test(ua)) {
278      result = {
279        name: 'Googlebot'
280      , googlebot: t
281      , version: getFirstMatch(/googlebot\/(\d+(\.\d+))/i) || versionIdentifier
282      }
283    }
284    else {
285      result = {
286        name: getFirstMatch(/^(.*)\/(.*) /),
287        version: getSecondMatch(/^(.*)\/(.*) /)
288     };
289   }
290
291    // set webkit or gecko flag for browsers based on these engines
292    if (!result.msedge && /(apple)?webkit/i.test(ua)) {
293      if (/(apple)?webkit\/537\.36/i.test(ua)) {
294        result.name = result.name || "Blink"
295        result.blink = t
296      } else {
297        result.name = result.name || "Webkit"
298        result.webkit = t
299      }
300      if (!result.version && versionIdentifier) {
301        result.version = versionIdentifier
302      }
303    } else if (!result.opera && /gecko\//i.test(ua)) {
304      result.name = result.name || "Gecko"
305      result.gecko = t
306      result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i)
307    }
308
309    // set OS flags for platforms that have multiple browsers
310    if (!result.msedge && (android || result.silk)) {
311      result.android = t
312    } else if (iosdevice) {
313      result[iosdevice] = t
314      result.ios = t
315    } else if (mac) {
316      result.mac = t
317    } else if (xbox) {
318      result.xbox = t
319    } else if (windows) {
320      result.windows = t
321    } else if (linux) {
322      result.linux = t
323    }
324
325    // OS version extraction
326    var osVersion = '';
327    if (result.windowsphone) {
328      osVersion = getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i);
329    } else if (iosdevice) {
330      osVersion = getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i);
331      osVersion = osVersion.replace(/[_\s]/g, '.');
332    } else if (android) {
333      osVersion = getFirstMatch(/android[ \/-](\d+(\.\d+)*)/i);
334    } else if (result.webos) {
335      osVersion = getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i);
336    } else if (result.blackberry) {
337      osVersion = getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i);
338    } else if (result.bada) {
339      osVersion = getFirstMatch(/bada\/(\d+(\.\d+)*)/i);
340    } else if (result.tizen) {
341      osVersion = getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i);
342    }
343    if (osVersion) {
344      result.osversion = osVersion;
345    }
346
347    // device type extraction
348    var osMajorVersion = osVersion.split('.')[0];
349    if (
350         tablet
351      || nexusTablet
352      || iosdevice == 'ipad'
353      || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))
354      || result.silk
355    ) {
356      result.tablet = t
357    } else if (
358         mobile
359      || iosdevice == 'iphone'
360      || iosdevice == 'ipod'
361      || android
362      || nexusMobile
363      || result.blackberry
364      || result.webos
365      || result.bada
366    ) {
367      result.mobile = t
368    }
369
370    // Graded Browser Support
371    // http://developer.yahoo.com/yui/articles/gbs
372    if (result.msedge ||
373        (result.msie && result.version >= 10) ||
374        (result.yandexbrowser && result.version >= 15) ||
375		    (result.vivaldi && result.version >= 1.0) ||
376        (result.chrome && result.version >= 20) ||
377        (result.firefox && result.version >= 20.0) ||
378        (result.safari && result.version >= 6) ||
379        (result.opera && result.version >= 10.0) ||
380        (result.ios && result.osversion && result.osversion.split(".")[0] >= 6) ||
381        (result.blackberry && result.version >= 10.1)
382        || (result.chromium && result.version >= 20)
383        ) {
384      result.a = t;
385    }
386    else if ((result.msie && result.version < 10) ||
387        (result.chrome && result.version < 20) ||
388        (result.firefox && result.version < 20.0) ||
389        (result.safari && result.version < 6) ||
390        (result.opera && result.version < 10.0) ||
391        (result.ios && result.osversion && result.osversion.split(".")[0] < 6)
392        || (result.chromium && result.version < 20)
393        ) {
394      result.c = t
395    } else result.x = t
396
397    return result
398  }
399
400  var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent : '')
401
402  bowser.test = function (browserList) {
403    for (var i = 0; i < browserList.length; ++i) {
404      var browserItem = browserList[i];
405      if (typeof browserItem=== 'string') {
406        if (browserItem in bowser) {
407          return true;
408        }
409      }
410    }
411    return false;
412  }
413
414  /**
415   * Get version precisions count
416   *
417   * @example
418   *   getVersionPrecision("1.10.3") // 3
419   *
420   * @param  {string} version
421   * @return {number}
422   */
423  function getVersionPrecision(version) {
424    return version.split(".").length;
425  }
426
427  /**
428   * Array::map polyfill
429   *
430   * @param  {Array} arr
431   * @param  {Function} iterator
432   * @return {Array}
433   */
434  function map(arr, iterator) {
435    var result = [], i;
436    if (Array.prototype.map) {
437      return Array.prototype.map.call(arr, iterator);
438    }
439    for (i = 0; i < arr.length; i++) {
440      result.push(iterator(arr[i]));
441    }
442    return result;
443  }
444
445  /**
446   * Calculate browser version weight
447   *
448   * @example
449   *   compareVersions(['1.10.2.1',  '1.8.2.1.90'])    // 1
450   *   compareVersions(['1.010.2.1', '1.09.2.1.90']);  // 1
451   *   compareVersions(['1.10.2.1',  '1.10.2.1']);     // 0
452   *   compareVersions(['1.10.2.1',  '1.0800.2']);     // -1
453   *
454   * @param  {Array<String>} versions versions to compare
455   * @return {Number} comparison result
456   */
457  function compareVersions(versions) {
458    // 1) get common precision for both versions, for example for "10.0" and "9" it should be 2
459    var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));
460    var chunks = map(versions, function (version) {
461      var delta = precision - getVersionPrecision(version);
462
463      // 2) "9" -> "9.0" (for precision = 2)
464      version = version + new Array(delta + 1).join(".0");
465
466      // 3) "9.0" -> ["000000000"", "000000009"]
467      return map(version.split("."), function (chunk) {
468        return new Array(20 - chunk.length).join("0") + chunk;
469      }).reverse();
470    });
471
472    // iterate in reverse order by reversed chunks array
473    while (--precision >= 0) {
474      // 4) compare: "000000009" > "000000010" = false (but "9" > "10" = true)
475      if (chunks[0][precision] > chunks[1][precision]) {
476        return 1;
477      }
478      else if (chunks[0][precision] === chunks[1][precision]) {
479        if (precision === 0) {
480          // all version chunks are same
481          return 0;
482        }
483      }
484      else {
485        return -1;
486      }
487    }
488  }
489
490  /**
491   * Check if browser is unsupported
492   *
493   * @example
494   *   bowser.isUnsupportedBrowser({
495   *     msie: "10",
496   *     firefox: "23",
497   *     chrome: "29",
498   *     safari: "5.1",
499   *     opera: "16",
500   *     phantom: "534"
501   *   });
502   *
503   * @param  {Object}  minVersions map of minimal version to browser
504   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map
505   * @param  {String}  [ua] user agent string
506   * @return {Boolean}
507   */
508  function isUnsupportedBrowser(minVersions, strictMode, ua) {
509    var _bowser = bowser;
510
511    // make strictMode param optional with ua param usage
512    if (typeof strictMode === 'string') {
513      ua = strictMode;
514      strictMode = void(0);
515    }
516
517    if (strictMode === void(0)) {
518      strictMode = false;
519    }
520    if (ua) {
521      _bowser = detect(ua);
522    }
523
524    var version = "" + _bowser.version;
525    for (var browser in minVersions) {
526      if (minVersions.hasOwnProperty(browser)) {
527        if (_bowser[browser]) {
528          // browser version and min supported version.
529          return compareVersions([version, minVersions[browser]]) < 0;
530        }
531      }
532    }
533
534    return strictMode; // not found
535  }
536
537  /**
538   * Check if browser is supported
539   *
540   * @param  {Object} minVersions map of minimal version to browser
541   * @param  {Boolean} [strictMode = false] flag to return false if browser wasn't found in map
542   * @param  {String}  [ua] user agent string
543   * @return {Boolean}
544   */
545  function check(minVersions, strictMode, ua) {
546    return !isUnsupportedBrowser(minVersions, strictMode, ua);
547  }
548
549  bowser.isUnsupportedBrowser = isUnsupportedBrowser;
550  bowser.compareVersions = compareVersions;
551  bowser.check = check;
552
553  /*
554   * Set our detect method to the main bowser object so we can
555   * reuse it to test other user agents.
556   * This is needed to implement future tests.
557   */
558  bowser._detect = detect;
559
560  return bowser
561});
562
563(function($){
564  UABBTrigger = {
565
566      /**
567       * Trigger a hook.
568       *
569       * @since 1.1.0.3
570       * @method triggerHook
571       * @param {String} hook The hook to trigger.
572       * @param {Array} args An array of args to pass to the hook.
573       */
574      triggerHook: function( hook, args )
575      {
576        $( 'body' ).trigger( 'uabb-trigger.' + hook, args );
577      },
578    
579      /**
580       * Add a hook.
581       *
582       * @since 1.1.0.3
583       * @method addHook
584       * @param {String} hook The hook to add.
585       * @param {Function} callback A function to call when the hook is triggered.
586       */
587      addHook: function( hook, callback )
588      {
589        $( 'body' ).on( 'uabb-trigger.' + hook, callback );
590      },
591    
592      /**
593       * Remove a hook.
594       *
595       * @since 1.1.0.3
596       * @method removeHook
597       * @param {String} hook The hook to remove.
598       * @param {Function} callback The callback function to remove.
599       */
600      removeHook: function( hook, callback )
601      {
602        $( 'body' ).off( 'uabb-trigger.' + hook, callback );
603      },
604  };
605})(jQuery);
606
607jQuery(document).ready(function( $ ) {
608
609    if( typeof bowser !== 'undefined' && bowser !== null ) {
610
611      var uabb_browser   = bowser.name,
612          uabb_browser_v = bowser.version,
613          uabb_browser_class = uabb_browser.replace(/\s+/g, '-').toLowerCase(),
614          uabb_browser_v_class = uabb_browser_class + parseInt( uabb_browser_v );
615      
616      $('html').addClass(uabb_browser_class).addClass(uabb_browser_v_class);
617      
618    }
619
620    $('.uabb-row-separator').parents('html').css('overflow-x', 'hidden');
621});
622
623;(function($) {
624	UABBOffCanvasModule = function( settings ) {
625
626		this.settings       = settings;
627		this.node           = settings.id;
628		this.overlay_click	= settings.overlay_click;
629		this.esc_keypress	= settings.esc_keypress;
630		this.preview_off_canvas = settings.preview_off_canvas;
631		this.offcanvas_on = settings.offcanvas_on;
632		this.offcanvas_custom = settings.offcanvas_custom;
633		this.close_on = settings.close_on;
634		this.is_builder_active = settings.is_builder_active;
635		this.collapse_inactive = settings.collapse_inactive;
636		this.submenu_toggle = settings.submenu_toggle;
637
638		if ( 'yes' !== this.is_builder_active ) {
639
640			this._initCanvas();
641		}
642	};
643	UABBOffCanvasModule.prototype = {
644
645		_initCanvas: function() {
646
647			$this = this;
648
649			$node_module = $( '.fl-node-' + $this.node );
650
651			if ( 'yes' === $this.close_on ) {
652
653				menu_selector = $node_module.find( '.uabb-offcanvas-menu' );
654
655				get_li = menu_selector.find( 'li');
656
657				get_li.each(function() {
658
659					if ( !( $(this).hasClass( 'uabb-has-submenu' ) ) ) {
660						$(this).addClass( 'uabb-offcanvas-close' );
661					}
662
663				});
664			}
665
666			close_canvas = $node_module.find( '.uabb-offcanvas-close' );
667
668			if ( 'custom' === $this.offcanvas_on ) {
669
670				var custom_wrap = $( $this.offcanvas_custom );
671
672				if ( custom_wrap.length ) {
673
674					custom_wrap.addClass( 'uabb-offcanvas-trigger' );
675
676					canvas_trigger = custom_wrap;
677
678					canvas_trigger.bind("click", function(){return false;});
679
680					canvas_trigger.on( "click", $.proxy( $this._showOffCanvas, $this ) );
681
682					close_canvas.off('click').on( "click", $.proxy( $this._closeOffCanvas, $this ) );
683					
684				}
685			}
686			$node_module.find( '.uabb-offcanvas-trigger' ).each(function( index ) {
687
688				canvas_trigger = $( this );
689
690				canvas_trigger.bind("click", function(){return false;});
691
692				canvas_trigger.off('click').on( "click", $.proxy( $this._showOffCanvas, $this ) );
693
694				close_canvas.off('click').on( "click", $.proxy( $this._closeOffCanvas, $this ) );
695
696			});
697		},
698		_showOffCanvas: function(event) {
699
700			current_this = this;
701
702			event.preventDefault();
703
704			nodeClass = $( '.fl-node-' + current_this.node );
705
706			ovarlay = nodeClass.find( '.uabb-offcanvas-overlay' );
707
708			var wrap_width 	= $( '#offcanvas-' + current_this.node ).width() + 'px';
709
710		 	if ( $( '#offcanvas-' + current_this.node ).hasClass( 'uabb-offcanvas-position-at-left' ) ) {
711
712		 		$( 'body' ).css( 'margin-left' , '0' );
713
714		 		$( '#offcanvas-' + current_this.node ).css( 'left', '0' );
715
716		 		/* If Push Transition is enabled */
717				if( $( '#offcanvas-' + current_this.node ).hasClass( 'uabb-offcanvas-type-push' ) ) {
718
719					$( 'body' ).addClass( 'uabb-offcanvas-animating' ).css({ 
720						width: $( 'body' ).width(),
721						position: 'absolute',
722						'margin-left' : wrap_width,
723						'margin-right' : 'auto'
724					});
725
726				}
727
728				$( '#offcanvas-' + current_this.node ).addClass( 'uabb-off-canvas-show' );
729
730		 	} else if( $( '#offcanvas-' + current_this.node ).hasClass( 'uabb-offcanvas-position-at-right' ) ) {
731
732				$( 'body' ).css( 'margin-right', '0' );
733
734				$( '#offcanvas-' + current_this.node ).css( 'right', '0' );
735		 		
736		 		/* If Push Transition is enabled */
737				if( $( '#offcanvas-' + current_this.node ).hasClass( 'uabb-offcanvas-type-push' ) ) {
738
739					$( 'body' ).addClass( 'uabb-offcanvas-animating' ).css({ 
740						width: $( 'body' ).width(),
741						position: 'absolute',
742						'margin-left' : '-' + wrap_width,
743						'margin-right' : 'auto',
744					});
745				}
746
747				$( '#offcanvas-' + current_this.node ).addClass( 'uabb-off-canvas-show' );
748
749		 	}
750
751		 	if ( 'arrows' === current_this.submenu_toggle || 'plus' === current_this.submenu_toggle ) {
752		 		current_this._menuOnClick();
753		 	}
754		 	
755		 	if ( 'yes' === current_this.esc_keypress ) {
756			 	$(document).on('keyup',function(e) {
757
758					if ( e.keyCode == 27) { 
759						current_this._closeOffCanvas();
760					}
761				});
762		 	}
763
764			if ( 'yes' === current_this.overlay_click ) {
765				ovarlay.off('click').on( 'click', $.proxy( current_this._closeOffCanvas, current_this ));
766			}
767		},
768		/**
769		 * Logic for submenu toggling on accordions or mobile menus (vertical, horizontal)
770		 *
771		 * @since  1.6.0
772		 * @return void
773		 */
774		_menuOnClick: function() {
775			$( '.uabb-has-submenu-container' ).off().click( $.proxy( function( e ) {
776
777				var self            = this,
778					$link			= $( e.target ).parents( '.uabb-has-submenu' ).first(),
779					$subMenu 		= $link.children( '.sub-menu' ).first(),
780					$href	 		= $link.children('.uabb-has-submenu-container').first().find('> a').attr('href'),
781					$subMenuParents = $( e.target ).parents( '.sub-menu' ),
782					$activeParent 	= $( e.target ).closest( '.uabb-has-submenu.uabb-active' ),
783					wrapperClass    = self.nodeClass + ' .uabb-creative-menu';
784
785				if( !$subMenu.is(':visible') || $(e.target).hasClass('uabb-menu-toggle')
786					|| ($subMenu.is(':visible') && (typeof $href === 'undefined' || $href == '#')) ) {
787					e.preventDefault();
788				}
789				else {
790					window.location.href = $href;
791					return;
792				}
793
794				if ( 'yes' === self.collapse_inactive ){
795
796					if ( !$link.parents('.menu-item').hasClass('uabb-active') ) {
797						$('.uabb-active', self.wrapperClass).not($link).removeClass('uabb-active');
798					}
799					else if ($link.parents('.menu-item').hasClass('uabb-active') && $link.parent('.sub-menu').length) {
800						$('.uabb-active', self.wrapperClass).not($link).not($activeParent).removeClass('uabb-active');
801					}
802
803					$('.sub-menu', self.wrapperClass).not($subMenu).not($subMenuParents).slideUp('normal');
804				}
805
806				$subMenu.slideToggle();
807				$link.toggleClass( 'uabb-active' );
808			}, this ) );
809
810		},
811		_closeOffCanvas: function() {
812
813			var self = this,
814				offCanvasNode = $( '#offcanvas-' + this.node );
815			nodeClass		= jQuery( '.fl-node-' + self.node );
816
817			var wrap_width = offCanvasNode.width() + 'px';
818
819			if ( offCanvasNode.hasClass( 'uabb-offcanvas-position-at-left' ) ) {
820
821				offCanvasNode.css( 'left', '-' + wrap_width );
822
823				/* If Push Transition  is enabled*/
824				if( offCanvasNode.hasClass( 'uabb-offcanvas-type-push' ) ) {
825
826					$( 'body' ).css({ 
827						position: '',
828						'margin-left' : '',
829						'margin-right' : '',
830					});
831
832					setTimeout( function() {
833						$( 'body' ).removeClass( 'uabb-offcanvas-animating' ).css({ 
834							width: '',
835						});
836					}, 300 );
837				}
838
839				offCanvasNode.removeClass( 'uabb-off-canvas-show' );
840
841			} else if ( offCanvasNode.hasClass( 'uabb-offcanvas-position-at-right' ) ) {
842
843				offCanvasNode.css( 'right', '-' + wrap_width );
844
845				/* If Push Transition is enabled */
846				if( offCanvasNode.hasClass( 'uabb-offcanvas-type-push' ) ) {
847
848					$( 'body' ).css({
849						position: '',
850						'margin-right' : '',
851						'margin-left' : '',
852					});
853
854					setTimeout( function() {
855						$( 'body' ).removeClass( 'uabb-offcanvas-animating' ).css({ 
856							width: '',
857						});
858					}, 300 );
859				}
860
861				offCanvasNode.removeClass( 'uabb-off-canvas-show' );
862			}			
863		}
864	};
865})(jQuery);jQuery(document).ready(function() {
866	new UABBOffCanvasModule({
867		id: '5e051819dc8f4',
868		overlay_click: 'yes',
869		esc_keypress: 'yes',
870		preview_off_canvas: '1',
871		offcanvas_on: 'custom',
872		offcanvas_custom: '#popup-overlay-menu, .popup-overlay-menu .fl-button-group-button:last-child .fl-button',
873		close_on: 'no',
874		is_builder_active : '',
875		collapse_inactive : 'yes',
876		submenu_toggle : 'none'
877	});
878
879});
880(function($){
881	})(jQuery);
882(function($){
883	})(jQuery);
884
885;/* eslint-disable no-undef */
886(function($) {
887
888	/**
889	 * Class for Menu Module
890	 *
891	 * @since 1.6.1
892	 */
893	FLBuilderMenu = function( settings ){
894
895		// set params
896		this.nodeId              = settings.id;
897		this.nodeClass           = '.fl-node-' + settings.id;
898		this.wrapperClass        = this.nodeClass + ' .fl-menu';
899		this.type				 				 = settings.type;
900		this.mobileToggle		     = settings.mobile;
901		this.mobileBelowRow		   = settings.mobileBelowRow;
902		this.mobileFlyout		     = settings.mobileFlyout;
903		this.breakPoints         = settings.breakPoints;
904		this.mobileBreakpoint	 	 = settings.mobileBreakpoint;
905		this.currentBrowserWidth = $( window ).width();
906		this.postId              = settings.postId;
907		this.mobileStacked       = settings.mobileStacked;
908		this.submenuIcon         = settings.submenuIcon;
909		this.flyoutWidth         = settings.flyoutWidth;
910
911		// initialize the menu
912		this._initMenu();
913
914		// check if viewport is resizing
915		$( window ).on( 'resize', $.proxy( function() {
916
917			var width = $( window ).width();
918
919			// if screen width is resized, reload the menu
920		    if( width != this.currentBrowserWidth ){
921
922				this.currentBrowserWidth = width;
923				this._initMenu( true );
924 				this._clickOrHover( true );
925			}
926
927			this._resizeFlyoutMenuPanel();
928		}, this ) );
929
930		$( window ).on( 'scroll', $.proxy( function() {
931			this._resizeFlyoutMenuPanel();
932		}, this ) );
933
934		// Move focus to the first menu item if the layout is set to BelowRow
935		$( this.wrapperClass ).on( 'keydown', '.fl-menu-mobile-toggle, .menu-item:first a:first', $.proxy( function ( event ) {
936			// Make sure it is a tab key with both the menu toggle enabled & below row layout set
937			if ( event.key !== 'Tab' || ! this._isMenuToggle() || ! this._isMobileBelowRowEnabled() ) {
938				return;
939			}
940			// Trigger focus on the mobile toggle button if the user is shift tabbing from the first menu item
941			if ( event.shiftKey && $( event.currentTarget ).is( 'a' ) ) {
942				event.preventDefault();
943				$( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).trigger( 'focus' );
944			}
945			// Trigger focus on the first menu item if the user is tabbing from the mobile toggle button
946			else if ( ! event.shiftKey && $( event.currentTarget ).hasClass( 'fl-menu-mobile-toggle' ) && $( event.currentTarget ).hasClass( 'fl-active' )  ) {
947				event.preventDefault();
948				$( this.wrapperClass ).find( '.menu-item' ).first().find( 'a' ).first().trigger( 'focus' );
949			}
950		}, this ) );
951
952		// Close mobile menu or accordion when tabbing out from the first or last menu item
953		$( this.wrapperClass ).on( 'focusout', $.proxy( function ( event ) {
954			if ( $( this.wrapperClass + ' nav' ).has( $( event.relatedTarget ) ).length === 0 ) {
955				if ( this.type === 'accordion' ) {
956					this._toggleSubmenu( $( event.target ).parents( '.fl-has-submenu' ).last(), false );
957				}
958				else {
959					this._clickOrHover( true );
960				}
961				const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' );
962				if ( this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) && ! $( event.relatedTarget ).is( mobileToggle ) && 'expanded' !== this.mobileToggle ) {
963					mobileToggle.trigger( 'click' );
964				}
965			}
966		}, this ) );
967
968	};
969
970	FLBuilderMenu.prototype = {
971		nodeClass		: '',
972		wrapperClass: '',
973		type				: '',
974		breakPoints	: {},
975		$submenus		: null,
976
977		/**
978		 * Check if the screen size fits a mobile viewport.
979		 *
980		 * @since  1.6.1
981		 * @return bool
982		 */
983		_isMobile: function(){
984			return this.currentBrowserWidth <= this.breakPoints.small ? true : false;
985		},
986
987		/**
988		 * Check if the device is connected to a mouse.
989		 * 
990		 * @since  2.9.0
991		 * @return bool
992		 */
993		_isMouseAvailable: function(){
994			return window.matchMedia("(pointer: fine) and (hover: hover)").matches;
995		},
996
997		/**
998		 * Check if the screen size fits a medium viewport.
999		 *
1000		 * @since  1.10.5
1001		 * @return bool
1002		 */
1003		_isMedium: function(){
1004			return this.currentBrowserWidth <= this.breakPoints.medium ? true : false;
1005		},
1006
1007		/**
1008		 * Check if the screen size fits a large viewport.
1009		 *
1010		 * @since  1.10.5
1011		 * @return bool
1012		 */
1013		_isLarge: function(){
1014			return this.currentBrowserWidth <= this.breakPoints.large ? true : false;
1015		},
1016
1017		/**
1018		 * Check if the menu should toggle for the current viewport base on the selected breakpoint.
1019		 *
1020		 * @see 	 this._isMobile()
1021		 * @see 	 this._isMedium()
1022		 * @since  1.10.5
1023		 * @return bool
1024		 */
1025		_isMenuToggle: function(){
1026			if ( ( 'always' == this.mobileBreakpoint
1027				|| ( this._isMobile() && 'mobile' == this.mobileBreakpoint )
1028				|| ( this._isMedium() && 'medium-mobile' == this.mobileBreakpoint )
1029				|| ( this._isLarge() && 'large-mobile' == this.mobileBreakpoint )
1030			) && ( $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).is(':visible') || 'expanded' == this.mobileToggle ) ) {
1031				return true;
1032			}
1033
1034			return false;
1035		},
1036
1037		/**
1038		 * Initialize the toggle logic for the menu.
1039		 *
1040		 * @see    this._isMenuToggle()
1041		 * @see    this._menuOnCLick()
1042		 * @see    this._clickOrHover()
1043		 * @see    this._submenuOnRight()
1044		 * @see    this._submenuRowZindexFix()
1045		 * @see    this._toggleForMobile()
1046		 * @since  1.6.1
1047		 * @return void
1048		 */
1049		_initMenu: function( resized = false ){
1050			this._setupSubmenu();
1051			if ( ! resized ) {
1052				this._menuOnFocus();
1053				this._menuOnClick();
1054				this._menuOnEscape();
1055			}
1056			if ( $( this.nodeClass ).length && this.type == 'horizontal' ) {
1057				this._initMegaMenus();
1058			}
1059
1060			if( this._isMenuToggle() || this.type == 'accordion' ){
1061
1062				$( this.wrapperClass ).off( 'mouseenter mouseleave' );
1063				this._clickOrHover();
1064
1065			} else {
1066				this._submenuOnRight();
1067				this._submenuRowZindexFix();
1068			}
1069
1070			if( this.mobileToggle != 'expanded' ){
1071				this._toggleForMobile();
1072			}
1073
1074			if( $( this.wrapperClass ).find( '.fl-menu-search-item' ).length ){
1075				this._toggleMenuSearch();
1076			}
1077
1078			if( $( this.wrapperClass ).find( '.fl-menu-cart-item').length ){
1079				this._wooUpdateParams();
1080			}
1081		},
1082
1083		/**
1084		 * Whether the toggle behavior for submenus is through hovering or not.
1085		 *
1086		 * @since  2.5
1087		 * @return void
1088		 */
1089		_setupSubmenu: function() {
1090			if ( ! this._isMouseAvailable() || this._isMenuToggle() || this.type === 'accordion' ) {
1091				$( this.wrapperClass ).addClass( 'no-hover' );
1092			}
1093			else {
1094				$( this.wrapperClass ).removeClass( 'no-hover' );
1095			}
1096		},
1097
1098		/**
1099		 * Logic for menu items when focused.
1100		 *
1101		 * @since  1.9.0
1102		 * @return void
1103		 */
1104		_menuOnFocus: function(){
1105			$( this.wrapperClass ).on( 'focus', 'a:not(.fl-button), .fl-menu-toggle', $.proxy( function( event ) {
1106				const focusedMenuItem = $( event.currentTarget ).closest( '.menu-item' );
1107				const blurredMenuItem = $( event.relatedTarget ).closest( '.menu-item' );
1108				// In case the blurred & focused items are siblings
1109				if ( focusedMenuItem.closest( 'ul' ).is( blurredMenuItem.closest( 'ul' ) ) )	{
1110					// Check if the focus event is not between the link & submenu icon of the same menu item
1111					if ( ! focusedMenuItem.is( blurredMenuItem ) ) {
1112						this._toggleSubmenu( blurredMenuItem, false );
1113					}
1114				}
1115				// In case neither items are child & parent nor vice versa
1116				else if ( focusedMenuItem.has( blurredMenuItem ).length === blurredMenuItem.has( focusedMenuItem ).length ) {
1117					// Get the blurred item parent & is the sibling of the focused item
1118					blurredMenuItem.parents( '.fl-has-submenu' ).each( ( _, parent ) => {
1119						if ( focusedMenuItem.closest( 'ul' ).is( $( parent ).closest( 'ul' ) ) ) {
1120							this._toggleSubmenu( $( parent ), false );
1121							return false;
1122						}
1123					} );
1124				}
1125				// In case the blurred item is a child of the focused item
1126				else if ( focusedMenuItem.has( blurredMenuItem ).length ) {
1127					if ( this.type !== 'accordion' && this.submenuIcon === 'none' ) {
1128						this._toggleSubmenu( blurredMenuItem, false );
1129					}
1130				}
1131			}, this ) );
1132		},
1133
1134		/**
1135		 * Logic for menu items when Escape key is pressed.
1136		 *
1137		 * @since  2.7.1
1138		 * @return void
1139		 */
1140		_menuOnEscape: function(){
1141			$( this.wrapperClass ).on( 'keydown', $.proxy( function( event ){
1142				if ( event.key !== 'Escape' ) return;
1143				const menuItem = $( event.target ).closest( '.menu-item' );
1144				const mobileToggle = $( this.wrapperClass ).find( '.fl-menu-mobile-toggle' );
1145				// In case there is a focused menu item
1146				if ( menuItem.length || $( event.target ).hasClass( 'fl-menu-mobile-close' ) ) {
1147					// Close the search form if it is open
1148					if ( menuItem.hasClass( 'fl-menu-search-item' ) && $( this.wrapperClass ).find('.fl-search-form-input-wrap').is( ':visible' ) ) {
1149						$( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))').trigger( 'focus' );
1150					}
1151					// Close all the submenus of the focused menu item
1152					else if ( menuItem.hasClass( 'fl-has-submenu' ) && menuItem.find( '.sub-menu' ).first().is( ':visible' ) ) {
1153						this._toggleSubmenu( menuItem, false );
1154					}
1155					else {
1156						// Shift focus to the parent while closing all its submenus
1157						const parentMenuItem = menuItem.parents( '.fl-has-submenu' ).not( '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading' ).first();
1158						// Close the mobile menu if there is no parent menu item and the mobile toggle is active
1159						if ( parentMenuItem.length === 0 && this._isMenuToggle() && mobileToggle.hasClass( 'fl-active' ) ) {
1160							// Blur to trigger the focus-out event for closing the menu
1161							mobileToggle.trigger( 'blur' ).trigger( 'focus' );
1162						}
1163						// Close the parent submenu and shift focus to its link
1164						else if ( parentMenuItem.length !== 0 ) {
1165							this._toggleSubmenu( parentMenuItem, false );
1166							parentMenuItem.find( 'a' ).first().trigger( 'focus' );
1167						}
1168					}
1169				}
1170				// Close the mobile menu if the mobile toggle is active
1171				else if ( $( event.target ).hasClass( 'fl-menu-mobile-toggle' ) && mobileToggle.hasClass( 'fl-active' ) ) {
1172					// Blur to trigger the focus-out event for closing the menu
1173					mobileToggle.trigger( 'blur' ).trigger( 'focus' );
1174				}
1175			}, this ) );
1176		},
1177
1178		/**
1179		 * Logic for menu items when clicked.
1180		 *
1181		 * @since  1.6.1
1182		 * @return void
1183		 */
1184		_menuOnClick: function(){
1185			// Fallback for span elements and fake links to interact with the keyboard
1186			$( this.wrapperClass ).on( 'keydown', 'a:not(.fl-button, [href]), span.fl-menu-toggle', $.proxy( function( event ) {
1187				if ( event.key === 'Enter' || event.key === ' ' ) {
1188					event.preventDefault();
1189					$( event.currentTarget ).trigger( 'click' );
1190				}
1191			}, this ) );
1192			$( this.wrapperClass ).on( 'click', 'a, .fl-menu-toggle', $.proxy( function( event ) {
1193				// Only allow mouse clicks with accordion & mobile menus
1194				if ( this._isMouseAvailable() && ! this._isMenuToggle() && event.detail && this.type !== 'accordion' ) return;
1195				// Links only open & do not toggle submenus if there is either a submenu icon or an accordion layout
1196				if ( $( event.currentTarget ).is( 'a' ) && ( this.submenuIcon !== 'none' || this.type === 'accordion' ) ) return;
1197				const menuItem = $( event.currentTarget ).closest( '.menu-item, .fl-menu-logo' );
1198				const menuLink = menuItem.find( 'a' ).first().attr( 'href' );
1199				const submenuHidden = menuItem.find( '.sub-menu' ).first().is( ':hidden' );
1200				if ( typeof menuLink === 'undefined' || menuLink === '#' || submenuHidden ) {
1201					event.preventDefault();
1202				}
1203				if ( $( event.currentTarget ).hasClass( 'fl-menu-toggle' ) || submenuHidden ) {
1204					this._toggleSubmenu( menuItem, submenuHidden );
1205				}
1206			}, this ) );
1207		},
1208
1209		/**
1210		 * Controls toggling the visibility of all submenu items for desktop & mobile.
1211		 *
1212		 * @since  2.10
1213		 * @return void
1214		 */
1215		_toggleSubmenu: function ( menuItem, opened ) {
1216			const togglingClass = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus';
1217			const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle';
1218			const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading';
1219			if ( opened && menuItem.hasClass( 'fl-has-submenu' ) && ! menuItem.is( hiddenMenu ) ) {
1220				menuItem.addClass( togglingClass );
1221				menuItem.find( toggleElement ).first().attr( 'aria-expanded', true );
1222				if ( this._isMenuToggle() || this.type === 'accordion' ) {
1223					menuItem.find( '.sub-menu' ).first().filter( ':hidden' ).slideDown();
1224				}
1225			}
1226			else {
1227				menuItem.parent().find( '.menu-item' ).removeClass( togglingClass );
1228				menuItem.parent().find( '.fl-has-submenu' ).not( hiddenMenu ).find( toggleElement ).attr( 'aria-expanded', false );
1229				if ( this._isMenuToggle() || this.type === 'accordion' ) {
1230					menuItem.find( '.sub-menu' ).filter( ':visible' ).slideUp();
1231				}
1232			}
1233		},
1234
1235		/**
1236		 * Changes general styling and behavior of menus based on mobile / desktop viewport.
1237		 *
1238		 * @see    this._isMenuToggle()
1239		 * @since  1.6.1
1240		 * @return void
1241		 */
1242		_clickOrHover: function( clear = false ){
1243			const selector = this._isMobileBelowRowEnabled() ? this.nodeClass + '-clone' : this.nodeClass;
1244			this.$submenus = this.$submenus || $( selector ).find( '.sub-menu' );
1245
1246			const className = this._isMenuToggle() || this.type === 'accordion' ? 'fl-active' : 'focus';
1247			const toggleElement = this.submenuIcon === 'none' ? 'a' : '.fl-menu-toggle';
1248			const hiddenMenu = '.mega-menu.hide-heading, .mega-menu-disabled.hide-heading';
1249			$( selector ).find( '.fl-has-submenu' ).not( hiddenMenu ).each( function() {
1250				if( clear || ! $ ( this ).hasClass( className ) ){
1251					if ( clear ) $( this ).removeClass( className );
1252					$( this ).find( toggleElement ).first().attr( 'aria-expanded', false );
1253					if ( className === 'fl-active' ) {
1254						$( this ).find( '.sub-menu' ).fadeOut();
1255					} else if ( className === 'focus' ) {
1256						$( this ).find( '.sub-menu' ).css( {
1257							'display' : '',
1258							'opacity' : ''
1259						} );
1260					}
1261				}
1262			} );
1263		},
1264
1265		/**
1266		 * Logic to prevent submenus to go outside viewport boundaries.
1267		 *
1268		 * @since  1.6.1
1269		 * @return void
1270		 */
1271		_submenuOnRight: function(){
1272
1273			$( this.wrapperClass )
1274				.on( 'mouseenter focus', '.fl-has-submenu', $.proxy( function( e ){
1275
1276					if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) {
1277						return;
1278					}
1279
1280					var $link           = $( e.currentTarget ),
1281						$parent         = $link.parent(),
1282						$subMenu        = $link.find( '.sub-menu' ),
1283						subMenuWidth    = $subMenu.width(),
1284						subMenuPos      = 0,
1285						bodyWidth       = $( 'body' ).width();
1286
1287					if( $link.closest( '.fl-menu-submenu-right' ).length !== 0) {
1288
1289						$link.addClass( 'fl-menu-submenu-right' );
1290
1291					} else if( $( 'body' ).hasClass( 'rtl' ) ) {
1292
1293						subMenuPos = $parent.is( '.sub-menu' ) ?
1294									 $parent.offset().left - subMenuWidth:
1295									 $link.offset().left - $link.width() - subMenuWidth;
1296
1297						if( subMenuPos <= 0 ) {
1298							$link.addClass( 'fl-menu-submenu-right' );
1299						}
1300
1301					} else {
1302
1303						subMenuPos = $parent.is( '.sub-menu' ) ?
1304									 $parent.offset().left + $parent.width() + subMenuWidth :
1305									 $link.offset().left + $link.width() + subMenuWidth;
1306
1307						if( subMenuPos > bodyWidth ) {
1308							$link.addClass('fl-menu-submenu-right');
1309						}
1310					}
1311				}, this ) )
1312				.on( 'mouseleave', '.fl-has-submenu', $.proxy( function( e ){
1313					$( e.currentTarget ).removeClass( 'fl-menu-submenu-right' );
1314				}, this ) );
1315
1316		},
1317
1318		/**
1319		 * Logic to prevent submenus to go behind the next overlay row.
1320		 *
1321		 * @since  1.10.9
1322		 * @return void
1323		 */
1324		_submenuRowZindexFix: function(){
1325
1326			$( this.wrapperClass )
1327				.on( 'mouseenter', 'ul.menu > .fl-has-submenu', $.proxy( function( e ){
1328
1329					if( $ ( e.currentTarget ).find('.sub-menu').length === 0 ) {
1330						return;
1331					}
1332
1333					$( this.nodeClass )
1334						.closest( '.fl-row' )
1335						.find( '.fl-row-content' )
1336						.css( 'z-index', '10' );
1337
1338				}, this ) )
1339				.on( 'mouseleave', 'ul.menu > .fl-has-submenu', $.proxy( function(){
1340
1341					$( this.nodeClass )
1342						.closest( '.fl-row' )
1343						.find( '.fl-row-content' )
1344						.css( 'z-index', '' );
1345
1346				}, this ) );
1347		},
1348
1349		/**
1350		 * Logic for the mobile menu button.
1351		 *
1352		 * @since  1.6.1
1353		 * @return void
1354		 */
1355		_toggleForMobile: function(){
1356
1357			var $wrapper = null,
1358				$menu    = null,
1359				self     = this;
1360
1361			$( this.wrapperClass ).find( '.fl-menu-mobile-toggle' ).attr('aria-controls', $( this.wrapperClass ).find( 'ul.menu' ).attr('id'));
1362
1363			if( this._isMenuToggle() ){
1364
1365				if ( this._isMobileBelowRowEnabled() ) {
1366					this._placeMobileMenuBelowRow();
1367					$wrapper = $( this.wrapperClass );
1368					$menu    = $( this.nodeClass + '-clone' );
1369					$menu.find( 'ul.menu' ).show();
1370				}
1371				else {
1372					$wrapper = $( this.wrapperClass );
1373					$menu    = $wrapper.find( '.menu' );
1374				}
1375
1376				if( !$wrapper.find( '.fl-menu-mobile-toggle' ).hasClass( 'fl-active' ) && ! self.mobileFlyout ){
1377					$menu.css({ display: 'none' });
1378				}
1379
1380				// Flayout Menu
1381				if ( self.mobileFlyout ) {
1382					this._initFlyoutMenu();
1383				}
1384
1385				$wrapper.on( 'click', '.fl-menu-mobile-toggle', function( e ){
1386					e.stopImmediatePropagation();
1387
1388					$( this ).toggleClass( 'fl-active' );
1389
1390					if ( self.mobileFlyout ) {
1391						self._toggleFlyoutMenu();
1392						const flyoutWrapper = $( '.fl-menu-mobile-flyout' );
1393						if ( $( this ).hasClass( 'fl-active' ) ) {
1394							flyoutWrapper.attr( 'aria-hidden', false );
1395							flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex="-1"]' ).attr( 'tabindex', 0 );
1396						}
1397						else {
1398							flyoutWrapper.attr( 'aria-hidden', true );
1399							flyoutWrapper.find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not
1399([tabindex="-1"])' ).attr( 'tabindex', -1 );
1400						}
1401					}
1402					else {
1403						var targetMenu = null;
1404
1405						if ( self.mobileBelowRow ) {
1406							var $closestCol = $( this ).parents( '.fl-col, .fl-module-box' ),
1407								$closestColGroup = $closestCol.length ? $closestCol.parent( '.fl-col-group' ) : null;
1408								targetMenu  = $closestCol.length ? $closestCol.last().next( '.fl-menu-mobile-clone' ) : null;
1409
1410							if ( $closestColGroup.length ) {
1411								if ( $closestColGroup.hasClass( 'fl-col-group-responsive-reversed' ) ) {
1412									$closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', -1 );
1413								} else if ( $closestColGroup ) {
1414									$closestColGroup.find( '.fl-menu-mobile-clone' ).css( 'order', 2 );
1415								}
1416							}
1417						} else {
1418							targetMenu = $( this ).closest( '.fl-menu' ).find( 'ul.menu' );
1419						}
1420						
1421						if ( targetMenu.length ) {
1422							$menu = $( targetMenu );
1423						}
1424
1425						$menu.slideToggle();
1426					}
1427
1428					e.stopPropagation();
1429				} );
1430
1431				// Hide active menu when click on anchor link ID that exists on a page
1432				$menu.off().on( 'click', '.menu-item > a[href*="#"]:not([href="#"])', function(){
1433					var $href = $(this).attr('href'),
1434						$targetID = $href.split('#')[1],
1435						element = $('#' + $targetID);
1436					if ( $('body').find(element).length > 0 ) {
1437						$( this ).toggleClass( 'fl-active' );
1438						FLBuilderLayout._scrollToElement( element );
1439						if ( ! self._isMenuToggle() ) {
1440							$menu.slideToggle();
1441						}
1442					}
1443				});
1444			}
1445			else {
1446
1447				if ( this._isMobileBelowRowEnabled() ) {
1448					this._removeMenuFromBelowRow();
1449				}
1450
1451				$wrapper = $( this.wrapperClass ),
1452				$menu    = $wrapper.find( 'ul.menu' );
1453				$wrapper.find( '.fl-menu-mobile-toggle' ).removeClass( 'fl-active' );
1454				$menu.css({ display: '' });
1455
1456				if ( ! this._isMobileBelowRowEnabled() ) {
1457					$menu.off( 'click', '.menu-item > a[href*="#"]:not([href="#"])' );
1458				}
1459
1460				if ( this.mobileFlyout && $wrapper.find( '.fl-menu-mobile-flyout' ).length > 0 ) {
1461					$( 'body' ).css( 'margin', '' );
1462					$( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' );
1463					$menu.unwrap();
1464					$wrapper.find( '.fl-menu-mobile-close' ).remove();
1465					$wrapper.find( '.fl-menu-mobile-opacity' ).remove();
1466				}
1467			}
1468		},
1469
1470		/**
1471		 * Init any mega menus that exist.
1472		 *
1473		 * @see 	 this._isMenuToggle()
1474		 * @since  1.10.4
1475		 * @return void
1476		 */
1477		_initMegaMenus: function(){
1478
1479			var module     = $( this.nodeClass ),
1480				rowContent = module.closest( '.fl-row-content' ),
1481				rowWidth   = rowContent.width(),
1482				megas      = module.find( '.mega-menu' ),
1483				disabled   = module.find( '.mega-menu-disabled' ),
1484				isToggle   = this._isMenuToggle();
1485
1486			if ( isToggle ) {
1487				megas.removeClass( 'mega-menu' ).addClass( 'mega-menu-disabled' );
1488				module.find( 'li.mega-menu-disabled > ul.sub-menu' ).css( 'width', '' );
1489				rowContent.css( 'position', '' );
1490			} else {
1491				disabled.removeClass( 'mega-menu-disabled' ).addClass( 'mega-menu' );
1492				module.find( 'li.mega-menu > ul.sub-menu' ).css( 'width', rowWidth + 'px' );
1493				rowContent.css( 'position', 'relative' );
1494			}
1495		},
1496
1497		/**
1498		 * Check to see if Below Row should be enabled.
1499		 *
1500		 * @since  1.11
1501		 * @return boolean
1502		 */
1503		_isMobileBelowRowEnabled: function() {
1504			return this.mobileBelowRow && ( $( this.nodeClass ).parents( '.fl-col, .fl-module-box' ).length );
1505		},
1506
1507		/**
1508		 * Logic for putting the mobile menu below the menu's
1509		 * column so it spans the full width of the page.
1510		 *
1511		 * @since  1.10
1512		 * @return void
1513		 */
1514		_placeMobileMenuBelowRow: function(){
1515
1516			if ( $( this.nodeClass + '-clone' ).length ) {
1517				return;
1518			}
1519
1520			var module = $( this.nodeClass ),
1521				clone  = null,
1522				col    = module.parents( '.fl-col, .fl-module-box' ).last();
1523
1524			if ( module.length < 1 ) {
1525				return;
1526			}
1527
1528			clone = ( module.length > 1 ) ? $( module[0] ).clone() : module.clone();
1529			module.find( 'ul.menu' ).remove();
1530			clone.addClass( ( this.nodeClass + '-clone' ).replace( '.', '' ) );
1531			clone.addClass( 'fl-menu-mobile-clone' );
1532			clone.find( '.fl-menu-mobile-toggle' ).remove();
1533			col.after( clone );
1534
1535			// Removes animation when enabled
1536			if ( module.hasClass( 'fl-animation' ) ) {
1537				clone.removeClass( 'fl-animation' );
1538			}
1539
1540			this._menuOnFocus();
1541			this._menuOnClick();
1542			this._menuOnEscape();
1543		},
1544
1545		/**
1546		 * Logic for removing the mobile menu from below the menu's
1547		 * column and putting it back in the main wrapper.
1548		 *
1549		 * @since  1.10
1550		 * @return void
1551		 */
1552		_removeMenuFromBelowRow: function(){
1553
1554			if ( ! $( this.nodeClass + '-clone' ).length ) {
1555				return;
1556			}
1557
1558			var module = $( this.nodeClass ),
1559				clone  = $( this.nodeClass + '-clone' ),
1560				menu   = clone.find( 'ul.menu' ),
1561				nav    = module.find( 'nav' );
1562
1563			if ( nav.length ) {
1564				nav.append( menu );
1565			} else {
1566				module.find( '.fl-menu-mobile-toggle' ).after( menu );
1567			}
1568			clone.remove();
1569			menu.find( 'a' ).each( FLBuilderLayout._initAnchorLink );
1570		},
1571
1572		/**
1573		 * Logic for Flyout responsive menu.
1574		 *
1575		 * @since  2.2
1576		 * @return void
1577		 */
1578		_initFlyoutMenu: function(){
1579			var wrapper = $( this.wrapperClass ),
1580				menu  	= wrapper.find( 'ul.menu' ),
1581				button	= wrapper.find( '.fl-menu-mobile-toggle' );
1582
1583			if ( 0 === wrapper.find( '.fl-menu-mobile-flyout' ).length ) {
1584				menu.wrap( '<div class="fl-menu-mobile-flyout" aria-hidden="true"></div>' );
1585			}
1586
1587			if ( 0 === wrapper.find( '.fl-menu-mobile-close' ).length ) {
1588				var close = window.fl_responsive_close || 'Close'
1589				wrapper.find( '.fl-menu-mobile-flyout' ).prepend( '<button class="fl-menu-mobile-close fl-content-ui-button" aria-label="' + close + '"><i class="fas fa-times"></i></button>' );
1590			}
1591
1592			// Push with opacity
1593			if ( wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ) && 0 === wrapper.find( '.fl-menu-mobile-opacity' ).length ) {
1594				wrapper.append( '<div class="fl-menu-mobile-opacity"></div>' );
1595			}
1596
1597			wrapper.off( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close' ).on( 'click', '.fl-menu-mobile-opacity, .fl-menu-mobile-close', function(e){
1598				button.trigger('focus').trigger( 'click' );
1599				e.stopPropagation();
1600			});
1601
1602			if ( 'undefined' !== typeof FLBuilder ) {
1603				FLBuilder.addHook('restartEditingSession', function(){
1604					$( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', '' );
1605
1606					// Toggle active menu
1607					if ( button.hasClass( 'fl-active' ) ) {
1608						button.trigger( 'click' );
1609					}
1610				});
1611			}
1612			$( '.fl-menu-mobile-flyout' ).find( 'a[href], button, input, select, textarea, span.fl-menu-toggle, [tabindex]:not([tabindex="-1"])' ).attr( 'tabindex', -1 );
1613		},
1614
1615		/**
1616		 * Logic to enable/disable the Flyout menu on button click.
1617		 *
1618		 * @since  2.2
1619		 * @return void
1620		 */
1621		_toggleFlyoutMenu: function(){
1622			var wrapper		= $( this.wrapperClass ),
1623				button		= wrapper.find( '.fl-menu-mobile-toggle' ),
1624				position 	= wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left',
1625				pushMenu 	= wrapper.hasClass( 'fl-menu-responsive-flyout-push' ) || wrapper.hasClass( 'fl-menu-responsive-flyout-push-opacity' ),
1626				opacity		= wrapper.find( '.fl-menu-mobile-opacity' ),
1627				marginPos	= {},
1628				fixedPos 	= {},
1629				fixedHeader	= $('header, header > div');
1630
1631			this._resizeFlyoutMenuPanel();
1632
1633			// Fix the push menu when builder ui panel is pinned
1634			if ( $( '.fl-builder-ui-pinned-content-transform' ).length > 0 && ! $( 'body' ).hasClass( 'fl-builder-edit' ) ) {
1635				$( '.fl-builder-ui-pinned-content-transform' ).css( 'transform', 'none' );
1636			}
1637
1638			if ( pushMenu ) {
1639				marginPos[ 'margin-' + position ] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px';
1640				$( 'body' ).animate( marginPos, 200);
1641
1642				// Fixed header
1643				if ( fixedHeader.length > 0 ) {
1644					fixedPos[ position] = button.hasClass( 'fl-active' ) ? this.flyoutWidth + 'px' : '0px';
1645					fixedHeader.each(function(){
1646						if ( 'fixed' == $( this ).css( 'position' ) ) {
1647							$( this ).css({ 'transition' : 'none' });
1648							$( this ).animate( fixedPos, 200 );
1649						}
1650					});
1651				}
1652			}
1653
1654			if ( opacity.length > 0 && button.hasClass( 'fl-active' ) ) {
1655				opacity.show();
1656			}
1657			else {
1658				opacity.hide();
1659			}
1660		},
1661
1662		/**
1663		 * Resize or reposition the Flyout Menu Panel.
1664		 * 
1665		 * @since  2.8.1
1666		 * @return void
1667		 */
1668		_resizeFlyoutMenuPanel: function(){
1669			const wrapper    = $( this.wrapperClass );
1670			const wrapFlyout = wrapper.find( '.fl-menu-mobile-flyout' );
1671				
1672			if ( wrapFlyout.length > 0 ) {
1673				wrapFlyout.css( this._getFlyoutMenuPanelPosition() );
1674			}
1675		},
1676
1677		/**
1678		 * Compute the Flyout Menu Panel's position on the screen.
1679		 * 
1680		 * @since  2.8.1
1681		 * @return object
1682		 */
1683		_getFlyoutMenuPanelPosition: function() {
1684			var wrapper        = $( this.wrapperClass ),
1685				button         = wrapper.find( '.fl-menu-mobile-toggle' ),
1686				side           = wrapper.hasClass( 'fl-flyout-right' ) ? 'right' : 'left',
1687				winHeight      = $(window).outerHeight(),
1688				winTop         = $(window).scrollTop(),
1689				adminBarHeight = $( '#wpadminbar' ).length ? $( '#wpadminbar' ).height() : 0,
1690				flyoutPosition = {};
1691
1692			flyoutPosition[ side ]  = '-' + ( parseInt( this.flyoutWidth ) + 15 ) + 'px';
1693			if ( ! button.hasClass( 'fl-active' ) ) {
1694				return flyoutPosition;
1695			}
1696
1697			flyoutPosition[ side ]  = '0px';
1698			flyoutPosition[ 'height' ]  = winHeight + 'px';
1699			flyoutPosition[ 'top' ] = '0px';
1700			
1701			if ( adminBarHeight > 0 ) {
1702				const diff = adminBarHeight - winTop;
1703				flyoutPosition[ 'top' ] = diff <= 0 ? '0px' : (diff) + 'px';
1704			}
1705
1706			return flyoutPosition;
1707		},
1708
1709		/**
1710		 * Shows or hides the nav search form.
1711		 *
1712		 * @since  2.5
1713		 * @method _toggleMenuSearch
1714		 */
1715		_toggleMenuSearch: function(){
1716			const form   = $( this.wrapperClass ).find('.fl-menu-search-item .fl-search-form-input-wrap'); 
1717			const button = $( this.wrapperClass ).find('.fl-menu-search-item .fl-button:is(a, button:not([type="submit"]))');
1718			form.on('submit', () => form.stop().fadeToggle('fast'));
1719			// Close the search form when focus is lost
1720			form.on('focusout', (event) => {
1721				if (form.is(':visible') && form.has($(event.relatedTarget)).length === 0) {
1722					button.trigger('click');
1723				}
1724			});
1725			button.attr('aria-expanded', false);
1726			// Close other open submenus when focusing on the search button
1727			button.on('focus', (event) => {
1728				const parentMenus = $(event.relatedTarget).parents('.menu-item.fl-has-submenu');
1729				if (event.relatedTarget && parentMenus.length) {
1730					this._toggleSubmenu(parentMenus, false);
1731				}
1732			});
1733			button.on('click', (event) => {
1734				// Prevent toggling when clicking with mouse while the form is already open
1735				if (event.detail && event.type === 'click' && form.is(':visible')) return;
1736				form.stop().fadeToggle('fast', () => {
1737					button.attr('aria-expanded', form.is(':visible'));
1738					if(form.is(':visible')) {
1739						form.find('.fl-search-text').focus();
1740					}
1741				});
1742			});
1743		},
1744
1745		/**
1746		 * Adds menu node and post ID to WooCommerce ajax URL requests.
1747		 *
1748		 * @since  2.5
1749		 * @return void
1750		 */
1751		_wooUpdateParams: function() {
1752			if ( 'undefined' !== typeof wc_cart_fragments_params ) {
1753				wc_cart_fragments_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId;
1754			}
1755			if ( 'undefined' !== typeof wc_add_to_cart_params ) {
1756				wc_add_to_cart_params.wc_ajax_url += '&fl-menu-node='+ this.nodeId +'&post-id='+ this.postId;
1757			}
1758		},
1759	};
1760
1761})(jQuery);
1762
1763(function($) {
1764
1765	$(function() {
1766
1767		new FLBuilderMenu({
1768			id: '61byrhaotpuq',
1769			type: 'vertical',
1770			mobile: 'expanded',
1771			mobileBelowRow: false,
1772			mobileFlyout: false,
1773			breakPoints: {
1774				large: 1280,
1775				medium: 992,
1776				small: 720			},
1777			mobileBreakpoint: 'mobile',
1778			postId : '74',
1779			mobileStacked: true,
1780			submenuIcon: 'none',
1781			flyoutWidth: '250',
1782		});
1783
1784	});
1785
1786})(jQuery);
1787
1788(function($) {
1789
1790	$(function() {
1791
1792		new FLBuilderMenu({
1793			id: '9cw8lpfismz4',
1794			type: 'vertical',
1795			mobile: 'expanded',
1796			mobileBelowRow: false,
1797			mobileFlyout: false,
1798			breakPoints: {
1799				large: 1280,
1800				medium: 992,
1801				small: 720			},
1802			mobileBreakpoint: 'mobile',
1803			postId : '74',
1804			mobileStacked: true,
1805			submenuIcon: 'none',
1806			flyoutWidth: '250',
1807		});
1808
1809	});
1810
1811})(jQuery);
1812
1813;/**
1814 * This file should contain frontend logic for 
1815 * all module instances.
1816 */
1817(function($) {
1818
1819	function equalheight() {
1820
1821		if( window.navigator.userAgent.indexOf( 'MSIE ' ) > 0 ) {
1822			return;
1823		}
1824
1825		var maxHeight = 0;
1826		$('.fl-node-ulxnk4gdy61q .pp-logos-wrapper .pp-logo').each(function(index) {
1827			if(($(this).find('.logo-image').outerHeight() + 0) > maxHeight) {
1828				maxHeight = $(this).find('.logo-image').outerHeight() + 0;
1829			}
1830		});
1831		$('.fl-node-ulxnk4gdy61q .pp-logos-wrapper .pp-logo').css('height', maxHeight + 'px');
1832
1833				return maxHeight;
1834	}
1835
1836	$('.fl-node-ulxnk4gdy61q .pp-logos-wrapper').imagesLoaded(function() {
1837			// Clear the controls in case they were already created.
1838		//$('.fl-node-ulxnk4gdy61q .logo-slider-next').empty();
1839		//$('.fl-node-ulxnk4gdy61q .logo-slider-prev').empty();
1840
1841		var getMinSlides = function() {
1842			var minSlides = ( $( window ).width() <= 768 ) ? parseInt( $( '.fl-node-ulxnk4gdy61q' ).width() / 375) : 6;
1843
1844						if ( window.innerWidth <= 1280 ) {
1845				minSlides = 6;
1846			}
1847									if ( window.innerWidth <= 992 ) {
1848				minSlides = 4;
1849			}
1850									if ( window.innerWidth <= 720 ) {
1851				minSlides = 3;
1852			}
1853			
1854			minSlides = (minSlides === 0) ? 1 : minSlides;
1855
1856			return minSlides;
1857		}
1858
1859		var minSlides = getMinSlides();
1860
1861		var maxSlides = minSlides;
1862		var moveSlides = maxSlides;
1863
1864		
1865		var totalSlides = minSlides - 1;
1866
1867		$(window).on('resize', function() {
1868			minSlides = getMinSlides();
1869			maxSlides = minSlides;
1870			moveSlides = maxSlides;
1871
1872			
1873			totalSlides = minSlides - 1;
1874		});
1875
1876		
1877				//equalheight();
1878		
1879		var totalSlides = $('.fl-node-ulxnk4gdy61q .pp-logo:not(.bx-clone)').length;
1880
1881		var options = {
1882							slideWidth: 250,
1883						moveSlides: moveSlides,
1884			slideMargin: 25,
1885			minSlides: minSlides,
1886			maxSlides: maxSlides,
1887			autoStart : 1,
1888			auto : true,
1889			autoHover: true,
1890			adaptiveHeight: false,
1891			pause : 4000,
1892			mode : 'horizontal',
1893			speed : 500,
1894			infiniteLoop: true,
1895			pager : 0,
1896			controls: false,
1897			ariaLive: false,
1898			onSliderLoad: function() {
1899				$('.fl-node-ulxnk4gdy61q .pp-logos-wrapper').addClass('pp-logos-wrapper-loaded');
1900				$('.fl-node-ulxnk4gdy61q .pp-logo').attr('role', 'group');
1901
1902				var visibleCount = 0;
1903				$('.fl-node-ulxnk4gdy61q .pp-logo').each(function() {
1904					if ( ! $(this).hasClass( 'bx-clone' ) ) {
1905						visibleCount++;
1906						$(this).attr('aria-label', 'Slide ' + visibleCount + ' of ' + totalSlides );
1907					}
1908				});
1909
1910				setTimeout( function() {
1911					$(window).trigger('resize');
1912				}, 200 );
1913
1914				// Fix keyboard navigation
1915				var hasItemFocus = false;
1916				$('.fl-node-ulxnk4gdy61q').off('keyup').on('keyup', function(e) {
1917					e.stopPropagation();
1918					if ( $(e.target).hasClass('pp-logos-wrapper') || $(e.target).closest('.pp-logos-wrapper').length ) {
1919						hasItemFocus = true;
1920					}
1921					if ( hasItemFocus && $(e.target).hasClass('logo-slider-nav') ) {
1922						$(this).find('.pp-logos-wrapper').data('bxSlider').reloadSlider();
1923						hasItemFocus = false;
1924					}
1925				});
1926
1927				$(document).trigger( 'pp_logos_on_slider_load', [ $('.fl-node-ulxnk4gdy61q') ] );
1928			},
1929			onSlideBefore: function( ele, oldIndex, newIndex ) {
1930				this.stopAuto( true );
1931				$('.fl-node-ulxnk4gdy61q .logo-slider-nav').addClass('disabled');
1932				$('.fl-node-ulxnk4gdy61q .bx-controls .bx-pager-link').addClass('disabled');
1933								this.startAuto( true );
1934				
1935				var visibleCount = 0;
1936				$('.fl-node-ulxnk4gdy61q .pp-logo').each(function() {
1937					if ( ! $(this).hasClass( 'bx-clone' ) ) {
1938						visibleCount++;
1939						$(this).attr('aria-label', 'Slide ' + visibleCount + ' of ' + totalSlides );
1940					}
1941				});
1942			},
1943			onSlideAfter: function( ele, oldIndex, newIndex ) {
1944				$('.fl-node-ulxnk4gdy61q .logo-slider-nav').removeClass('disabled');
1945				$('.fl-node-ulxnk4gdy61q .bx-controls .bx-pager-link').removeClass('disabled');
1946			}
1947		};
1948
1949		options.onSliderResize = function(currentIndex) {
1950			options.working = false;
1951			options.minSlides = minSlides;
1952			options.maxSlides = maxSlides;
1953			options.moveSlides = moveSlides;
1954
1955			this.reloadSlider( options );
1956		};
1957
1958		// Create the slider.
1959		var slider = $('.fl-node-ulxnk4gdy61q .pp-logos-wrapper').bxSlider( options );
1960
1961		// Store a reference to the slider.
1962		slider.data('bxSlider', slider);
1963
1964
1965		
1966		
1967	
1968			});
1969
1970})(jQuery);
1971(function($){
1972	})(jQuery);
1973
1974/* Start Global Node Custom JS */
1975
1976/* End Global Node Custom JS */
1977
1978
1979/* Start Layout Custom JS */
1980
1981/* End Layout Custom JS */
1982

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.