PageSourceSearch

https://www.warreninsgrp.com/wp-content/themes/brightfire-stellar/…/dist/js/brightfire_stellar.js?ver=3.21.0

js warreninsgrp.com collected 2026-10-06 22:34:52 UTC 60,742 bytes, 1,819 lines download raw bytes

vendor: 3,603 bytes, lines 1-89
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = 0);
85/******/ })
86/************************************************************************/
87/******/ ({
88
89/***/ "./
89assets/src/js/bf_animations_queue.js":
90/*!**********************************************!*\
91  !*** ./assets/src/js/bf_animations_queue.js ***!
92  \**********************************************/
93/*! no static exports found */
94/***/ (function(module, exports) {
95
96/**
97 * BFAnimationQueue
98 * Creates waypoints and a queue of any '.animated' item within a given scope;
99 * @scope - The scope is a parent element which the queue is limited to
100 */
101(function ($) {
102  /**
103   * The main JS Object
104   * @param el
105   * @returns {$.AnimationQueue}
106   * @constructor
107   */
108  $.AnimationQueue = function (el) {
109    this.scope = el instanceof $ ? el : $(el); // This is our scope -- Row, Widget, Etc that this queue manages
110    this.waypoints = []; // Holds each waypoint object so we can clean up after ourselves
111    this.waypoints_offset = '85%'; // threshold to trigger waypoints
112    this.queue = []; // Work that is ready to do - the queue itself
113    this.delay = 0; // Default delay to be used for sequential option ( defaults as 0 )
114    this.items = []; // Default items
115    this.order = 'asc'; // Default ordering for items
116
117    // Set everything up :: This is the base initialization of the object
118    this.setup();
119
120    // Need to return the plugin function so we can chain jQuery functions if needed
121    return this;
122  };
123
124  /**
125   * Set up the queue, and register waypoints
126   */
127  $.AnimationQueue.prototype.setup = function () {
128    var self = this;
129
130    // If our scope is tagged with sequential animations, set our default delay
131    if (self.scope.hasClass('sequential-vertical')) {
132      self.sequential_type = 'vertical';
133      self.delay = 350;
134    } else if (self.scope.hasClass('sequential-column')) {
135      self.sequential_type = 'column';
136      self.delay = 350;
137    } else {
138      self.sequential_type = 'none';
139      self.delay = 0;
140    }
141    if (self.scope.hasClass('animate-desc')) {
142      self.order = 'desc';
143    }
144    self.buildItems();
145    self.registerWaypoint();
146  };
147
148  /**
149   * Finds all animated items within our scope, and attaches them to self.items along with their offset value
150   */
151  $.AnimationQueue.prototype.buildItems = function () {
152    var self = this;
153    var rtn_items = [];
154    self.scope.find('.animated').each(function (i, el) {
155      el = el instanceof $ ? el : $(el);
156      var offset = el.offset().top;
157      rtn_items.push({
158        'element': el,
159        'offset': offset
160      });
161    });
162    self.items = rtn_items;
163  };
164
165  /**
166   * Registers a Waypoint to a single element
167   */
168  $.AnimationQueue.prototype.registerWaypoint = function () {
169    var self = this;
170    var waypoint_id = self.scope.attr('id');
171
172    // Create a waypoints object and callback handler for the element
173    // and store it in our waypoints property for later reference
174    self.waypoints[waypoint_id] = new Waypoint({
175      element: self.scope,
176      handler: function handler() {
177        self.execWaypoint();
178      },
179      offset: self.waypoints_offset
180    });
181  };
182
183  /**
184   * Executes when a waypoint for a given element is hit
185   */
186  $.AnimationQueue.prototype.execWaypoint = function () {
187    var self = this; // Give access to the parent inside functions
188    var waypoint_id = self.scope.attr('id');
189
190    // If using vertical sequencing, we need to reorder our 'self.items' based on offset().top
191    if ('vertical' === self.sequential_type) {
192      self.items.sort(function (a, b) {
193        return a.offset - b.offset;
194      });
195    }
196    $.each(self.items, function (i, data) {
197      self.addToQueue(data.element);
198    });
199
200    // If the queue isn't already running, start it
201    self.playQueue();
202
203    // We don't need this waypoint anymore - clean up
204    self.waypoints[waypoint_id].destroy();
205  };
206
207  /**
208   * Adds an element to the queue
209   * @param el
210   */
211  $.AnimationQueue.prototype.addToQueue = function (el) {
212    var self = this; // Give access to the parent inside functions
213    el = el instanceof $ ? el : $(el);
214    // Add our item to the queue as ready to animate
215
216    if ('desc' === self.order) {
217      self.queue.unshift(el);
218    } else {
219      self.queue.push(el);
220    }
221  };
222
223  /**
224   * Iterative Function: Plays the current queue through
225   * @returns {boolean}
226   */
227  $.AnimationQueue.prototype.playQueue = function () {
228    var self = this; // Give access to the parent inside functions
229
230    // Get the next item in the queue, and remove it from the queue
231    var nextInQueue = self.queue.shift();
232    // Trigger our animation
233    var animation_type = nextInQueue.attr('data-animation');
234    nextInQueue.css('visibility', 'visible').addClass(animation_type);
235
236    // Complete Animations
237    self.cleanup(nextInQueue, animation_type);
238
239    // After our set delay time, check for the next item in the queue
240    setTimeout(function () {
241      if (self.queue.length !== 0) {
242        return self.playQueue(); // Iterate if items are left in the queue
243      } else {
244        return true;
245      }
246    }, self.delay);
247  };
248
249  /**
250   * Cleans up animation classes so we don't conflict with any other @keyframe based animations (eg - hover)
251   * @param el
252   * @param animation_type
253   */
254  $.AnimationQueue.prototype.cleanup = function (el, animation_type) {
255    setTimeout(function () {
256      el.removeClass('animated');
257      el.removeClass(animation_type);
258    }, 1000);
259  };
260
261  /**
262   * Main Plugin Function
263   * @returns {*}
264   * @constructor
265   */
266  $.fn.AnimationQueue = function () {
267    // Return each instance to allow for chaining of jQuery functions if needed
268    return this.each(function (i, el) {
269      // Only create a new AnimationQueue instance if we have '.animated' elements within
270      if ($(el).find('.animated').length !== 0) {
271        new $.AnimationQueue(el);
272      }
273    });
274  };
275})(jQuery);
276
277/***/ }),
278
279/***/ "./assets/src/js/bf_parallax.js":
280/*!**************************************!*\
281  !*** ./assets/src/js/bf_parallax.js ***!
282  \**************************************/
283/*! no static exports found */
284/***/ (function(module, exports) {
285
286var $ = jQuery.noConflict();
287$(window).load(function () {
288  // parallax rows
289  $('div.stellar-row-parallax').bf_parallax();
290});
291
292/**
293 * Parallax Object
294 * @param el
295 */
296$.bf_parallax = function (el) {
297  var viewport = $(el);
298  viewport.layers = viewport.find("div[data-type='parallax']");
299  var methods = {
300    init: function init() {
301      viewport.height = viewport.outerHeight();
302      viewport.offsetVertical = viewport.offset().top;
303      $(window).on('scroll', function () {
304        methods.scrollLayers();
305      });
306      $(window).on('resize', function () {
307        methods.resizeAdjust();
308      });
309      methods.scrollLayers();
310    },
311    scrollLayers: function scrollLayers() {
312      var window_scroll = $(window).scrollTop();
313      var relative_scroll = window_scroll - viewport.offsetVertical;
314      if (relative_scroll >= 0) {
315        viewport.layers.each(function () {
316          var layer = $(this);
317          var depth = layer.attr('data-depth');
318          var movement = relative_scroll * depth;
319          layer.css({
320            "transform": "translate3d(0px, " + movement + "px, 0px)"
321          });
322        });
323      } else {
324        viewport.layers.css({
325          "transform": "translate3d(0px, 0px, 0px)"
326        });
327      }
328    },
329    resizeAdjust: function resizeAdjust() {
330      viewport.height = viewport.outerHeight();
331      viewport.offsetVertical = viewport.offset().top;
332    }
333  };
334  methods.init(); // Fire, baby
335};
336
337/**
338 * Parallax init crawler
339 */
340$.fn.bf_parallax = function () {
341  return this.each(function () {
342    new $.bf_parallax(this); // Instantiate a new object for each output range slider
343  });
344};
345
346/***/ }),
347
348/***/ "./assets/src/js/bfmenu.js":
349/*!*********************************!*\
350  !*** ./assets/src/js/bfmenu.js ***!
351  \*********************************/
352/*! no exports provided */
353/***/ (function(module, __webpack_exports__, __webpack_require__) {
354
355"use strict";
356__webpack_require__.r(__webpack_exports__);
357/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
358/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
359
360(function ($) {
361  jQuery.fn.bfmenu = function (options) {
362    var settings;
363    $.extend(settings = {
364      showSpeed: 300,
365      hideSpeed: 300,
366      trigger: "hover",
367      showDelay: 250,
368      hideDelay: 250,
369      effect: "fade",
370      align: "left",
371      responsive: true,
372      indentChildren: false,
373      indicatorFirstLevel: "fa-caret-right",
374      scrollable: false,
375      scrollableMaxHeight: 400,
376      mobileMenuText: 'MENU'
377    }, options);
378
379    // variables
380    var menu_container = $(this);
381    var menu = $(menu_container).children(".bfmenu-menubar");
382    var menu_li = $(menu).find("li");
383    var showHideButton;
384    var mobileWidthBase = 768;
385    var bigScreenFlag = 2000; // a number greater than "mobileWidthBase"
386    var smallScreenFlag = 200; // a number less than "mobileWidthBase"
387
388    // dropdown/megamenu indicators
389    $(menu).children("li").children("a").each(function () {
390      if ($(this).siblings(".dropdown, .megamenu").length > 0) {
391        $(this).append('<i class="indicator fa ' + settings.indicatorFirstLevel + '" role="presentation" aria-hidden="true"></i>');
392      }
393    });
394    $(menu).find(".dropdown").children("li").children("a").each(function () {
395      if ($(this).siblings(".dropdown").length > 0) {
396        $(this).append('<i class="indicator fa ' + settings.indicatorFirstLevel + '" role="presentation" aria-hidden="true"></i>');
397      }
398    });
399
400    // responsive behavior
401    if (settings.responsive) {
402      $(menu_container).prepend('<a href="#" class="showhide"><span>' + settings.mobileMenuText + '</span><i class="fa fa-bars" role="presentation" aria-hidden="true"></i></a>');
403      showHideButton = $(menu_container).children(".showhide");
404    }
405
406    // scrollable menu
407    if (settings.scrollable) {
408      if (settings.responsive) {
409        $(menu).css("max-height", settings.scrollableMaxHeight).addClass("scrollable").append("<li class='scrollable-fix'></li>");
410      }
411    }
412
413    // shows a dropdown
414    function showDropdown(item) {
415      $(item).addClass("active");
416      $('> a', item).attr("aria-expanded", "true");
417      if (settings.effect == "fade") $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.showDelay).fadeIn(settings.showSpeed).addClass('active');else $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.showDelay).slideDown(settings.showSpeed).addClass('active');
418    }
419
420    // hides a dropdown
421    function hideDropdown(item) {
422      $(item).removeClass("active"); // We don't want this to affect tab-items
423      $('> a', item).attr("aria-expanded", "false");
424      if (settings.effect == "fade") $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).fadeOut(settings.hideSpeed).removeClass('active');else $(item).children(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).slideUp(settings.hideSpeed).removeClass('active');
425      $(item).children(".dropdown, .megamenu").find(".dropdown, .megamenu").stop(true, true).delay(settings.hideDelay).fadeOut(settings.hideSpeed);
426    }
427
428    // landscape mode
429    function landscapeMode() {
430      $(menu).find(".dropdown, .megamenu").hide(0);
431      if (navigator.userAgent.match(/Mobi/i) || window.navigator.msMaxTouchPoints > 0 || settings.trigger == "click") {
432        $(".bfmenu-menubar > li > a, .bfmenu-menubar ul.dropdown li a").bind("click touchstart", function (e) {
433          e.stopPropagation();
434          e.preventDefault();
435          $(this).parent("li").siblings("li").removeClass('active').find(".dropdown, .megamenu").stop(true, true).fadeOut(300);
436          if ($(this).siblings(".dropdown, .megamenu").css("display") == "none") {
437            showDropdown($(this).parent("li"));
438            return false;
439          } else {
440            hideDropdown($(this).parent("li"));
441          }
442          window.location.href = $(this).attr("href");
443        });
444        $(document).bind("click.menu touchstart.menu", function (ev) {
445          if ($(ev.target).closest(".bfmenu").length == 0) {
446            $(".bfmenu-menubar").find("li").removeClass('active');
447            $(".bfmenu-menubar").find(".dropdown, .megamenu").fadeOut(300);
448          }
449        });
450      } else {
451        $(menu_li).bind("mouseenter", function () {
452          showDropdown(this);
453        }).bind("mouseleave", function () {
454          hideDropdown(this);
455        });
456      }
457    }
458
459    // portrait mode
460    function portraitMode() {
461      $(menu).find(".dropdown, .megamenu").hide(0);
462      $(menu).find(".indicator").each(function () {
463        if ($(this).parent("a").siblings(".dropdown, .megamenu").length > 0) {
464          $(this).bind("click", function (e) {
465            var clickedElement = $(this);
466            if ($(this).parent().prop("tagName") == "A") {
467              e.preventDefault();
468            }
469            if ($(this).parent("a").siblings(".dropdown, .megamenu").css("display") == "none") {
470              $(this).parent("a").siblings(".dropdown, .megamenu").delay(settings.showDelay).slideDown({
471                duration: settings.showSpeed,
472                start: function start() {
473                  $(this).siblings("a").find(".indicator").css({
474                    'transform': 'rotate(90deg)',
475                    'transition': 'all ' + settings.showSpeed + 'ms'
476                  });
477                  $('html, body').animate({
478                    scrollTop: $(clickedElement).offset().top
479                  }, 500);
480                }
481              });
482              $(this).parent("a").parent("li").siblings("li").find(".dropdown, .megamenu").slideUp({
483                duration: settings.hideSpeed,
484                start: function start() {
485                  $(this).parent("li").find(".indicator").css({
486                    'transform': 'rotate(0)',
487                    'transition': 'all ' + settings.hideSpeed + 'ms'
488                  });
489                }
490              });
491              $(this).closest('li').siblings().removeClass('active');
492              $(this).closest('li').addClass('active');
493            } else {
494              $(this).parent("a").siblings(".dropdown, .megamenu").slideUp({
495                duration: settings.hideSpeed,
496                start: function start() {
497                  $(this).parent("li").find(".indicator").css({
498                    'transform': 'rotate(0)',
499                    'transition': 'all ' + settings.hideSpeed + 'ms'
500                  });
501                }
502              });
503              $(this).parent("a").siblings("ul").find(".dropdown, .megamenu").slideUp({
504                duration: settings.hideSpeed,
505                start: function start() {
506                  $(this).parent("li").find(".indicator").css({
507                    'transform': 'rotate(0)',
508                    'transition': 'all ' + settings.hideSpeed + 'ms'
509                  });
510                }
511              });
512              $(this).closest('li').removeClass('active');
513            }
514          });
515        }
516      });
517    }
518
519    // Fix the submenu on the right side
520    function fixSubmenuRight() {
521      var submenus = $(menu).children("li").children(".dropdown, .megamenu");
522      if ($(window).innerWidth() > mobileWidthBase) {
523        var menu_width = $(menu_container).outerWidth(true);
524        for (var i = 0; i < submenus.length; i++) {
525          if ($(submenus[i]).parent("li").position().left + $(submenus[i]).outerWidth() > menu_width) {
526            $(submenus[i]).css("right", 0);
527            $(submenus[i]).find(".dropdown").addClass('dropdown-left');
528          } else {
529            if (menu_width == $(submenus[i]).outerWidth() || menu_width - $(submenus[i]).outerWidth() < 20) {
530              $(submenus[i]).css("left", 0);
531            }
532            if ($(submenus[i]).parent("li").position().left + $(submenus[i]).outerWidth() < menu_width) {
533              $(submenus[i]).css("right", "auto");
534            }
535          }
536        }
537      }
538    }
539
540    // show the bar to show/hide menu items on mobile
541    function showMobileBar() {
542      $(menu).hide(0);
543      $(showHideButton).show(0).click(function (e) {
544        e.preventDefault();
545        if ($(menu).css("display") == "none") {
546          $(menu).slideDown(settings.showSpeed);
547        } else {
548          $(menu).slideUp(settings.hideSpeed).find(".dropdown, .megamenu").hide(settings.hideSpeed);
549          $(menu).find('li').removeClass('active');
550          $(menu).find(".indicator").css({
551            'transform': 'rotate(0)'
552          });
553        }
554      });
555    }
556
557    // hide the bar to show/hide menu items on mobile
558    function hideMobileBar() {
559      $(menu).show(0);
560      $(showHideButton).hide(0);
561    }
562
563    // unbind events
564    function unbindEvents() {
565      $(menu_container).find("li, a").unbind();
566      $(document).unbind("click.menu touchstart.menu");
567    }
568    function menuTabs() {
569      $(".bfmenu-tab-content").hide();
570      $(".bfmenu-tab-content:first").show();
571
572      /* if in tab mode */
573      $("li.tab-nav-item > a").unbind('click touchstart').bind("click touchstart", function (event) {
574        event.stopPropagation();
575        event.preventDefault();
576        $(".bfmenu-tab-content").hide();
577        var activeTab = $(this).attr("rel");
578        $("#" + activeTab).show();
579        $("li.tab-nav-item a").removeClass("active");
580        $("li.tab-nav-item").removeClass("active");
581        $(this).addClass("active");
582        $(this).parents("li").addClass("active");
583        $(".bfmenu-tab-heading").removeClass("active");
584        $(".bfmenu-tab-heading[rel^='" + activeTab + "']").addClass("active");
585      });
586
587      /* if in accordion mode */
588      $(".bfmenu-tab-heading").unbind('click touchstart').bind("click touchstart", function (event) {
589        event.stopPropagation();
590        event.preventDefault();
591        var accordion_activeTab = $(this).attr("rel");
592        var isActive = $(this).hasClass("active");
593        $(".bfmenu-tab-heading").removeClass("active");
594        $("li.tab-nav-item a").removeClass("active");
595        if (isActive) {
596          $("#" + accordion_activeTab).slideUp(settings.showSpeed).removeClass("active");
597          $(this).removeClass("active");
598        } else {
599          $(".bfmenu-tab-content").hide();
600          $("#" + accordion_activeTab).slideDown(settings.showSpeed).addClass("active");
601          $(this).addClass("active");
602          $("li.tab-nav-item a[rel^='" + accordion_activeTab + "']").addClass("active");
603          $('html, body').animate({
604            scrollTop: $(this).offset().top
605          }, 500);
606        }
607      });
608    }
609
610    // return window's width
611    function windowWidth() {
612      return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
613    }
614
615    // navigation start function
616    function startMenu() {
617      fixSubmenuRight();
618      if (windowWidth() <= mobileWidthBase && bigScreenFlag > mobileWidthBase) {
619        unbindEvents();
620        if (settings.responsive) {
621          showMobileBar();
622          portraitMode();
623        } else {
624          landscapeMode();
625        }
626      }
627      if (windowWidth() > mobileWidthBase && smallScreenFlag <= mobileWidthBase) {
628        unbindEvents();
629        hideMobileBar();
630        landscapeMode();
631      }
632      bigScreenFlag = windowWidth();
633      smallScreenFlag = windowWidth();
634      menuTabs();
635      /* IE8 fix */
636      if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) && windowWidth() < mobileWidthBase) {
637        var ieversion = new Number(RegExp.$1);
638        if (ieversion == 8) {
639          $(showHideButton).hide(0);
640          $(menu).show(0);
641          unbindEvents();
642          landscapeMode();
643        }
644      }
645    }
646    startMenu();
647    $(window).resize(function () {
648      startMenu();
649      fixSubmenuRight();
650    });
651  };
652})(jQuery);
653
654/**
655* jquery.scrollTo
656* Copyright (c) 2007-2014 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
657* Licensed under MIT
658* @author Ariel Flesler
659* @version 1.4.13
660*/
661
662(function (k) {
663  'use strict';
664
665  k(['jquery'], function ($) {
666    var j = $.scrollTo = function (a, b, c) {
667      return $(window).scrollTo(a, b, c);
668    };
669    j.defaults = {
670      axis: 'xy',
671      duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1,
672      limit: !0
673    };
674    j.window = function (a) {
675      return $(window)._scrollable();
676    };
677    $.fn._scrollable = function () {
678      return this.map(function () {
679        var a = this,
680          isWin = !a.nodeName || $.inArray(a.nodeName.toLowerCase(), ['iframe', '#document', 'html', 'body']) != -1;
681        if (!isWin) return a;
682        var b = (a.contentWindow || a).document || a.ownerDocument || a;
683        return /webkit/i.test(navigator.userAgent) || b.compatMode == 'BackCompat' ? b.body : b.documentElement;
684      });
685    };
686    $.fn.scrollTo = function (f, g, h) {
687      if (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(g) == 'object') {
688        h = g;
689        g = 0;
690      }
691      if (typeof h == 'function') h = {
692        onAfter: h
693      };
694      if (f == 'max') f = 9e9;
695      h = $.extend({}, j.defaults, h);
696      g = g || h.duration;
697      h.queue = h.queue && h.axis.length > 1;
698      if (h.queue) g /= 2;
699      h.offset = both(h.offset);
700      h.over = both(h.over);
701      return this._scrollable().each(function () {
702        if (f == null) return;
703        var d = this,
704          $elem = $(d),
705          targ = f,
706          toff,
707          attr = {},
708          win = $elem.is('html,body');
709        switch (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(targ)) {
710          case 'number':
711          case 'string':
712            if (/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)) {
713              targ = both(targ);
714              break;
715            }
716            targ = win ? $(targ) : $(targ, this);
717            if (!targ.length) return;
718          case 'object':
719            if (targ.is || targ.style) toff = (targ = $(targ)).offset();
720        }
721        var e = $.isFunction(h.offset) && h.offset(d, targ) || h.offset;
722        $.each(h.axis.split(''), function (i, a) {
723          var b = a == 'x' ? 'Left' : 'Top',
724            pos = b.toLowerCase(),
725            key = 'scroll' + b,
726            old = d[key],
727            max = j.max(d, a);
728          if (toff) {
729            attr[key] = toff[pos] + (win ? 0 : old - $elem.offset()[pos]);
730            if (h.margin) {
731              attr[key] -= parseInt(targ.css('margin' + b)) || 0;
732              attr[key] -= parseInt(targ.css('border' + b + 'Width')) || 0;
733            }
734            attr[key] += e[pos] || 0;
735            if (h.over[pos]) attr[key] += targ[a == 'x' ? 'width' : 'height']() * h.over[pos];
736          } else {
737            var c = targ[pos];
738            attr[key] = c.slice && c.slice(-1) == '%' ? parseFloat(c) / 100 * max : c;
739          }
740          if (h.limit && /^\d+$/.test(attr[key])) attr[key] = attr[key] <= 0 ? 0 : Math.min(attr[key], max);
741          if (!i && h.queue) {
742            if (old != attr[key]) animate(h.onAfterFirst);
743            delete attr[key];
744          }
745        });
746        animate(h.onAfter);
747        function animate(a) {
748          $elem.animate(attr, g, h.easing, a && function () {
749            a.call(this, targ, h);
750          });
751        }
752      }).end();
753    };
754    j.max = function (a, b) {
755      var c = b == 'x' ? 'Width' : 'Height',
756        scroll = 'scroll' + c;
757      if (!$(a).is('html,body')) return a[scroll] - $(a)[c.toLowerCase()]();
758      var d = 'client' + c,
759        html = a.ownerDocument.documentElement,
760        body = a.ownerDocument.body;
761      return Math.max(html[scroll], body[scroll]) - Math.min(html[d], body[d]);
762    };
763    function both(a) {
764      return $.isFunction(a) || _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(a) == 'object' ? a : {
765        top: a,
766        left: a
767      };
768    }
769    return j;
770  });
771})(typeof define === 'function' && __webpack_require__(/*! !webpack amd options */ "./node_modules/webpack/buildin/amd-options.js") ? define : function (a, b) {
772  if ( true && module.exports) {
773    module.exports = b(__webpack_require__(/*! jquery */ "jquery"));
774  } else {
775    b(jQuery);
776  }
777});
778/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../node_modules/webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
779
780/***/ }),
781
782/***/ "./assets/src/js/brightfire-stellar.js":
783/*!*********************************************!*\
784  !*** ./assets/src/js/brightfire-stellar.js ***!
785  \*********************************************/
786/*! no static exports found */
787/***/ (function(module, exports) {
788
789/*! BrightFire Stellar - v0.0.1
790 * https://www.brightfire.com
791 * Copyright (c) 2016; * Licensed GPLv2+ */
792
793(function ($, stellar) {
794  var stellar_mobile_breakpoint;
795  var stellar_mobile;
796
797  /**
798   * Set up all our vars on window.load
799   */
800  $(window).load(function () {
801    // Find and set our Breakpoint
802    stellar_mobile_breakpoint = stellar.getBreakpoint();
803
804    // Check viewport size and set mobile class
805    stellar.assignMobile();
806    stellar.mobile_video_override();
807    stellar.customizerExec();
808    stellar.stellarSlider();
809    stellar.matchWidgetHeight();
810    stellar.setupFixedRows();
811    stellar.forceZindex();
812    $(".overlap").fadeTo('500ms', 1);
813  });
814
815  /**
816   * Resize Events
817   */
818  $(window).on('resize', function () {
819    if (true === stellar.breakpointSwitch()) {
820      stellar.assignMobile();
821      stellar.resetFixedRows();
822    }
823    stellar.mobile_video_override();
824    stellar.matchWidgetHeight();
825  });
826
827  /**
828   * Customizer Initial Setup (and refresh)
829   */
830  stellar.customizerExec = function () {
831    $('div.row').AnimationQueue();
832    stellar.stellarSlider();
833    stellar.matchWidgetHeight();
834    stellar.setupFixedRows();
835    stellar.forceZindex();
836    stellar.responsiveEmbed();
837    $(".overlap").fadeTo('500ms', 1);
838  };
839
840  /**
841   * Gets stellar breakpoint
842   * @returns {*|jQuery}
843   */
844  stellar.getBreakpoint = function () {
845    return $('body').attr('data-breakpoint');
846  };
847
848  /**
849   * Sets JS var and body .mobile class
850   */
851  stellar.assignMobile = function () {
852    if (true === stellar.isMobileViewport()) {
853      stellar_mobile = true;
854      $('body').addClass('mobile');
855    } else {
856      stellar_mobile = false;
857      $('body').removeClass('mobile');
858    }
859  };
860
861  /**
862   * Checks viewport width against breakpoint
863   * @returns {boolean}
864   */
865  stellar.isMobileViewport = function () {
866    var viewport_width = $(window).width();
867    if (viewport_width < stellar_mobile_breakpoint) {
868      return true;
869    } else {
870      return false;
871    }
872  };
873
874  /**
875   * On resize are we moving past a breakpoint?
876   * @returns {boolean}
877   */
878  stellar.breakpointSwitch = function () {
879    // Are we moving past Mobile Breakpoint
880    if (true === stellar.isMobileViewport() && true === stellar_mobile || false === stellar.isMobileViewport() && false === stellar_mobile) {
881      return false;
882    }
883    return true;
884  };
885
886  /**
887   * Set up fixed frows
888   */
889  stellar.setupFixedRows = function () {
890    var body = $('body').not('.wp-admin').not('.mobile'),
891      fixed_row_element = body.find('*[data-row-fixed="true"]');
892    if (fixed_row_element.length) {
893      // if .row-fixed exists
894
895      var eleHeight = fixed_row_element.actual('outerHeight'),
896        menuBg = fixed_row_element.css('background-color'),
897        eleTop = fixed_row_element.offset().top,
898        adminBar = {};
899      if (!$('.row-fixed-placeholder').length) {
900        $(fixed_row_element).after('<div class="row-fixed-placeholder" style="height: ' + eleHeight + 'px; background-color: ' + menuBg + ';"></div>');
901      }
902      var placeholder = $('.row-fixed-placeholder');
903      placeholder.hide();
904
905      // Set Initial
906      stellar.setRelativePosition(fixed_row_element, placeholder, eleTop);
907
908      // Scroll Listener
909      $(document).bind('scroll.fixedRows', function () {
910        stellar.setRelativePosition(fixed_row_element, placeholder, eleTop);
911      });
912
913      // Resize Listener
914      $(window).resize(function () {
915        adminBar = stellar.getWpAdminBarSize();
916        eleHeight = fixed_row_element.actual('outerHeight'); // If we resize, make sure our height didn't change
917        placeholder.css('height', eleHeight + 'px'); // on resize, make sure our placeholder gets height changes
918
919        if (fixed_row_element.hasClass('traveling')) {
920          // if our header is sticky, compensate for possible change in wpHeight
921          fixed_row_element.css('top', adminBar.bottom + 'px');
922        }
923      });
924    }
925  };
926  stellar.setRelativePosition = function (fixed_row_element, placeholder, eleTop) {
927    var scrollOffset = $(document).scrollTop(),
928      adminBar = stellar.getWpAdminBarSize();
929    if (scrollOffset > eleTop - adminBar.height) {
930      placeholder.show(); // Put in the placeholder so we don't lose vertical alignment
931      fixed_row_element.css('position', 'fixed').css('width', '100%').css('top', adminBar.bottom + 'px').css('left', 0).addClass('traveling');
932    } else {
933      placeholder.hide();
934      fixed_row_element.css({
935        'position': '',
936        'width': '',
937        'top': '',
938        'left': ''
939      }).removeClass('traveling');
940    }
941  };
942  stellar.getWpAdminBarSize = function () {
943    var bottom,
944      height,
945      adminBar = {},
946      scrollOffset = $(document).scrollTop();
947    if ($('#wpadminbar').length) {
948      // if #wpadminbar exists
949      height = $('#wpadminbar').actual('outerHeight');
950      bottom = $('#wpadminbar').offset().top + height - scrollOffset;
951    } else {
952      bottom = 0;
953      height = 0;
954    }
955    if (bottom <= 0) {
956      bottom = 0; // If it's less than 0, make it 0
957    }
958    if (height <= 0) {
959      height = 0; // If it's less than 0, make it 0
960    }
961    adminBar.bottom = bottom;
962    adminBar.height = height;
963    return adminBar;
964  };
965
966  /**
967   * Rebuild fixed rows
968   * @returns {boolean}
969   */
970  stellar.resetFixedRows = function () {
971    $('body').find('*[data-row-fixed="true"]').css({
972      'position': '',
973      'width': '',
974      'top': '',
975      'left': ''
976    }).removeClass('traveling');
977    $('.row-fixed-placeholder').remove(); // If we are going to call setupFixedRows again, we should remove this
978    $(document).unbind('scroll.fixedRows');
979    stellar.setupFixedRows();
980  };
981  stellar.stellarSlider = function () {
982    var slider = $('.stellar-slider').not('.slick-initialized');
983    $.each(slider, function () {
984      $(this).slick({
985        autoplay: true,
986        arrows: false,
987        slidesToShow: 1,
988        slidesToScroll: 1
989      });
990    });
991  };
992  stellar.matchWidgetHeight = function () {
993    // Find all our match elements
994    var body = $('body').not('.wp-admin').not('.mobile'); // Don't do this on mobile
995    var columns = body.find('.column');
996
997    // Reset all '.matched' element heights
998    $('.matched').height('auto').removeClass('matched');
999
1000    // Loop Through Each of our columns
1001    $.each(columns, function () {
1002      var max_height = 0; // Reset our max-height for each columng
1003      var match_elements = $(this).find('.match-widget-height'); // All elements to match in this column
1004
1005      // Loop through all '.match-height' widgets
1006      $.each(match_elements, function () {
1007        var ele_height = $(this).actual('outerHeight');
1008        if (ele_height > max_height) {
1009          max_height = ele_height;
1010        }
1011      });
1012      $.each(match_elements, function () {
1013        var ele_height = $(this).actual('height');
1014        var ele_outer_height = $(this).actual('outerHeight');
1015        if (ele_outer_height < max_height) {
1016          var adjusted_height = max_height - ele_outer_height;
1017          $(this).height(ele_height + adjusted_height);
1018        }
1019      });
1020      match_elements.addClass('matched'); // Set 'matched' class
1021    });
1022  };
1023
1024  // Set row z-indices appropriately for menus, overlap widgets and fixed rows
1025  stellar.forceZindex = function () {
1026    var els = $(".overlap, .bfmenu-menubar").parents(".row");
1027    els = els.add($('[data-row-fixed="true"]'));
1028    var i = els.length * 20; // 20 will be the lowest z-index used here.
1029
1030    els.each(function () {
1031      $(this).css({
1032        "z-index": +i
1033      });
1034      i = i - 20;
1035    });
1036  };
1037  stellar.mobile_video_override = function () {
1038    $('video.background-video source').each(function () {
1039      if (stellar.isMobileViewport()) {
1040        $(this).attr('src', '');
1041        $(this).parent('video')[0].pause();
1042      } else {
1043        $(this).attr('src', $(this).data('video-src'));
1044        $(this).parent('video')[0].play();
1045      }
1046    });
1047  };
1048  stellar.responsiveEmbed = function () {
1049    // Find iFrames with a youtube.com OR youtu.be in the SRC attribute
1050    var iframes = $('.widget_bf_cpc iframe[src*="youtube.com"], .widget_bf_cpc iframe[src*="youtu.be"]');
1051    iframes.each(function () {
1052      // Remove width and height
1053      $(this).css('width', '100%').removeAttr('height').wrap('<div class="stellar-embed-wrapper aspect-16-9"></div>');
1054    });
1055  };
1056})(jQuery, window.stellar);
1057
1058/***/ }),
1059
1060/***/ "./assets/src/js/gf-honeypot-patchfix.js":
1061/*!***********************************************!*\
1062  !*** ./assets/src/js/gf-honeypot-patchfix.js ***!
1063  \***********************************************/
1064/*! no static exports found */
1065/***/ (function(module, exports) {
1066
1067/**
1068 * Gravity Forms Honeypot Patch Fix.
1069 *
1070 * If the Honeypot field is being used and shows up in any order other than last,
1071 * it can cause display issues with forms that are intended to be a set number of columns.
1072 * This only applies to Legacy Markup and can be removed if/when we transition away from it.
1073 *
1074 * @see https://brightfirellc.atlassian.net/browse/ST-59
1075 */
1076(function ($) {
1077  "use strict";
1078
1079  // Get all Legacy Markup Gravity Forms on the page.
1080  var $forms = $('.gform_wrapper.gform_legacy_markup_wrapper form');
1081  if (0 === $forms.length) {
1082    // No forms? Short-circuit.
1083    return;
1084  }
1085
1086  // Loop through all the forms on the page.
1087  $forms.each(function () {
1088    var $form = $(this);
1089    var $fieldsWrapper = $form.find('.gform_fields');
1090    var $honeypot = $fieldsWrapper.find('.gfield--type-honeypot');
1091    if (0 === $honeypot.length) {
1092      // No honeypot? Short-circuit.
1093      return;
1094    }
1095
1096    // Get the complete markup of the Honeypot field.
1097    var honeypotMarkup = $honeypot.prop('outerHTML');
1098
1099    // Remove the existing Honeypot. This could be anywhere in the field list.
1100    $honeypot.remove();
1101
1102    // Append the copy of the Honeypot field to the very end.
1103    $fieldsWrapper.append(honeypotMarkup);
1104  });
1105})(jQuery);
1106
1107/***/ }),
1108
1109/***/ "./assets/src/js/waypoints.js":
1110/*!************************************!*\
1111  !*** ./assets/src/js/waypoints.js ***!
1112  \************************************/
1113/*! no static exports found */
1114/***/ (function(module, exports) {
1115
1116/*!
1117Waypoints - 4.0.1
1118Copyright © 2011-2016 Caleb Troughton
1119Licensed under the MIT license.
1120https://github.com/imakewebthings/waypoints/blob/master/licenses.txt
1121*/
1122(function () {
1123  'use strict';
1124
1125  var keyCounter = 0;
1126  var allWaypoints = {};
1127
1128  /* http://imakewebthings.com/waypoints/api/waypoint */
1129  function Waypoint(options) {
1130    if (!options) {
1131      throw new Error('No options passed to Waypoint constructor');
1132    }
1133    if (!options.element) {
1134      throw new Error('No element option passed to Waypoint constructor');
1135    }
1136    if (!options.handler) {
1137      throw new Error('No handler option passed to Waypoint constructor');
1138    }
1139    this.key = 'waypoint-' + keyCounter;
1140    this.options = Waypoint.Adapter.extend({}, Waypoint.defaults, options);
1141    this.element = this.options.element;
1142    this.adapter = new Waypoint.Adapter(this.element);
1143    this.callback = options.handler;
1144    this.axis = this.options.horizontal ? 'horizontal' : 'vertical';
1145    this.enabled = this.options.enabled;
1146    this.triggerPoint = null;
1147    this.group = Waypoint.Group.findOrCreate({
1148      name: this.options.group,
1149      axis: this.axis
1150    });
1151    this.context = Waypoint.Context.findOrCreateByElement(this.options.context);
1152    if (Waypoint.offsetAliases[this.options.offset]) {
1153      this.options.offset = Waypoint.offsetAliases[this.options.offset];
1154    }
1155    this.group.add(this);
1156    this.context.add(this);
1157    allWaypoints[this.key] = this;
1158    keyCounter += 1;
1159  }
1160
1161  /* Private */
1162  Waypoint.prototype.queueTrigger = function (direction) {
1163    this.group.queueTrigger(this, direction);
1164  };
1165
1166  /* Private */
1167  Waypoint.prototype.trigger = function (args) {
1168    if (!this.enabled) {
1169      return;
1170    }
1171    if (this.callback) {
1172      this.callback.apply(this, args);
1173    }
1174  };
1175
1176  /* Public */
1177  /* http://imakewebthings.com/waypoints/api/destroy */
1178  Waypoint.prototype.destroy = function () {
1179    this.context.remove(this);
1180    this.group.remove(this);
1181    delete allWaypoints[this.key];
1182  };
1183
1184  /* Public */
1185  /* http://imakewebthings.com/waypoints/api/disable */
1186  Waypoint.prototype.disable = function () {
1187    this.enabled = false;
1188    return this;
1189  };
1190
1191  /* Public */
1192  /* http://imakewebthings.com/waypoints/api/enable */
1193  Waypoint.prototype.enable = function () {
1194    this.context.refresh();
1195    this.enabled = true;
1196    return this;
1197  };
1198
1199  /* Public */
1200  /* http://imakewebthings.com/waypoints/api/next */
1201  Waypoint.prototype.next = function () {
1202    return this.group.next(this);
1203  };
1204
1205  /* Public */
1206  /* http://imakewebthings.com/waypoints/api/previous */
1207  Waypoint.prototype.previous = function () {
1208    return this.group.previous(this);
1209  };
1210
1211  /* Private */
1212  Waypoint.invokeAll = function (method) {
1213    var allWaypointsArray = [];
1214    for (var waypointKey in allWaypoints) {
1215      allWaypointsArray.push(allWaypoints[waypointKey]);
1216    }
1217    for (var i = 0, end = allWaypointsArray.length; i < end; i++) {
1218      allWaypointsArray[i][method]();
1219    }
1220  };
1221
1222  /* Public */
1223  /* http://imakewebthings.com/waypoints/api/destroy-all */
1224  Waypoint.destroyAll = function () {
1225    Waypoint.invokeAll('destroy');
1226  };
1227
1228  /* Public */
1229  /* http://imakewebthings.com/waypoints/api/disable-all */
1230  Waypoint.disableAll = function () {
1231    Waypoint.invokeAll('disable');
1232  };
1233
1234  /* Public */
1235  /* http://imakewebthings.com/waypoints/api/enable-all */
1236  Waypoint.enableAll = function () {
1237    Waypoint.Context.refreshAll();
1238    for (var waypointKey in allWaypoints) {
1239      allWaypoints[waypointKey].enabled = true;
1240    }
1241    return this;
1242  };
1243
1244  /* Public */
1245  /* http://imakewebthings.com/waypoints/api/refresh-all */
1246  Waypoint.refreshAll = function () {
1247    Waypoint.Context.refreshAll();
1248  };
1249
1250  /* Public */
1251  /* http://imakewebthings.com/waypoints/api/viewport-height */
1252  Waypoint.viewportHeight = function () {
1253    return window.innerHeight || document.documentElement.clientHeight;
1254  };
1255
1256  /* Public */
1257  /* http://imakewebthings.com/waypoints/api/viewport-width */
1258  Waypoint.viewportWidth = function () {
1259    return document.documentElement.clientWidth;
1260  };
1261  Waypoint.adapters = [];
1262  Waypoint.defaults = {
1263    context: window,
1264    continuous: true,
1265    enabled: true,
1266    group: 'default',
1267    horizontal: false,
1268    offset: 0
1269  };
1270  Waypoint.offsetAliases = {
1271    'bottom-in-view': function bottomInView() {
1272      return this.context.innerHeight() - this.adapter.outerHeight();
1273    },
1274    'right-in-view': function rightInView() {
1275      return this.context.innerWidth() - this.adapter.outerWidth();
1276    }
1277  };
1278  window.Waypoint = Waypoint;
1279})();
1280(function () {
1281  'use strict';
1282
1283  function requestAnimationFrameShim(callback) {
1284    window.setTimeout(callback, 1000 / 60);
1285  }
1286  var keyCounter = 0;
1287  var contexts = {};
1288  var Waypoint = window.Waypoint;
1289  var oldWindowLoad = window.onload;
1290
1291  /* http://imakewebthings.com/waypoints/api/context */
1292  function Context(element) {
1293    this.element = element;
1294    this.Adapter = Waypoint.Adapter;
1295    this.adapter = new this.Adapter(element);
1296    this.key = 'waypoint-context-' + keyCounter;
1297    this.didScroll = false;
1298    this.didResize = false;
1299    this.oldScroll = {
1300      x: this.adapter.scrollLeft(),
1301      y: this.adapter.scrollTop()
1302    };
1303    this.waypoints = {
1304      vertical: {},
1305      horizontal: {}
1306    };
1307    element.waypointContextKey = this.key;
1308    contexts[element.waypointContextKey] = this;
1309    keyCounter += 1;
1310    if (!Waypoint.windowContext) {
1311      Waypoint.windowContext = true;
1312      Waypoint.windowContext = new Context(window);
1313    }
1314    this.createThrottledScrollHandler();
1315    this.createThrottledResizeHandler();
1316  }
1317
1318  /* Private */
1319  Context.prototype.add = function (waypoint) {
1320    var axis = waypoint.options.horizontal ? 'horizontal' : 'vertical';
1321    this.waypoints[axis][waypoint.key] = waypoint;
1322    this.refresh();
1323  };
1324
1325  /* Private */
1326  Context.prototype.checkEmpty = function () {
1327    var horizontalEmpty = this.Adapter.isEmptyObject(this.waypoints.horizontal);
1328    var verticalEmpty = this.Adapter.isEmptyObject(this.waypoints.vertical);
1329    var isWindow = this.element == this.element.window;
1330    if (horizontalEmpty && verticalEmpty && !isWindow) {
1331      this.adapter.off('.waypoints');
1332      delete contexts[this.key];
1333    }
1334  };
1335
1336  /* Private */
1337  Context.prototype.createThrottledResizeHandler = function () {
1338    var self = this;
1339    function resizeHandler() {
1340      self.handleResize();
1341      self.didResize = false;
1342    }
1343    this.adapter.on('resize.waypoints', function () {
1344      if (!self.didResize) {
1345        self.didResize = true;
1346        Waypoint.requestAnimationFrame(resizeHandler);
1347      }
1348    });
1349  };
1350
1351  /* Private */
1352  Context.prototype.createThrottledScrollHandler = function () {
1353    var self = this;
1354    function scrollHandler() {
1355      self.handleScroll();
1356      self.didScroll = false;
1357    }
1358    this.adapter.on('scroll.waypoints', function () {
1359      if (!self.didScroll || Waypoint.isTouch) {
1360        self.didScroll = true;
1361        Waypoint.requestAnimationFrame(scrollHandler);
1362      }
1363    });
1364  };
1365
1366  /* Private */
1367  Context.prototype.handleResize = function () {
1368    Waypoint.Context.refreshAll();
1369  };
1370
1371  /* Private */
1372  Context.prototype.handleScroll = function () {
1373    var triggeredGroups = {};
1374    var axes = {
1375      horizontal: {
1376        newScroll: this.adapter.scrollLeft(),
1377        oldScroll: this.oldScroll.x,
1378        forward: 'right',
1379        backward: 'left'
1380      },
1381      vertical: {
1382        newScroll: this.adapter.scrollTop(),
1383        oldScroll: this.oldScroll.y,
1384        forward: 'down',
1385        backward: 'up'
1386      }
1387    };
1388    for (var axisKey in axes) {
1389      var axis = axes[axisKey];
1390      var isForward = axis.newScroll > axis.oldScroll;
1391      var direction = isForward ? axis.forward : axis.backward;
1392      for (var waypointKey in this.waypoints[axisKey]) {
1393        var waypoint = this.waypoints[axisKey][waypointKey];
1394        if (waypoint.triggerPoint === null) {
1395          continue;
1396        }
1397        var wasBeforeTriggerPoint = axis.oldScroll < waypoint.triggerPoint;
1398        var nowAfterTriggerPoint = axis.newScroll >= waypoint.triggerPoint;
1399        var crossedForward = wasBeforeTriggerPoint && nowAfterTriggerPoint;
1400        var crossedBackward = !wasBeforeTriggerPoint && !nowAfterTriggerPoint;
1401        if (crossedForward || crossedBackward) {
1402          waypoint.queueTrigger(direction);
1403          triggeredGroups[waypoint.group.id] = waypoint.group;
1404        }
1405      }
1406    }
1407    for (var groupKey in triggeredGroups) {
1408      triggeredGroups[groupKey].flushTriggers();
1409    }
1410    this.oldScroll = {
1411      x: axes.horizontal.newScroll,
1412      y: axes.vertical.newScroll
1413    };
1414  };
1415
1416  /* Private */
1417  Context.prototype.innerHeight = function () {
1418    /*eslint-disable eqeqeq */
1419    if (this.element == this.element.window) {
1420      return Waypoint.viewportHeight();
1421    }
1422    /*eslint-enable eqeqeq */
1423    return this.adapter.innerHeight();
1424  };
1425
1426  /* Private */
1427  Context.prototype.remove = function (waypoint) {
1428    delete this.waypoints[waypoint.axis][waypoint.key];
1429    this.checkEmpty();
1430  };
1431
1432  /* Private */
1433  Context.prototype.innerWidth = function () {
1434    /*eslint-disable eqeqeq */
1435    if (this.element == this.element.window) {
1436      return Waypoint.viewportWidth();
1437    }
1438    /*eslint-enable eqeqeq */
1439    return this.adapter.innerWidth();
1440  };
1441
1442  /* Public */
1443  /* http://imakewebthings.com/waypoints/api/context-destroy */
1444  Context.prototype.destroy = function () {
1445    var allWaypoints = [];
1446    for (var axis in this.waypoints) {
1447      for (var waypointKey in this.waypoints[axis]) {
1448        allWaypoints.push(this.waypoints[axis][waypointKey]);
1449      }
1450    }
1451    for (var i = 0, end = allWaypoints.length; i < end; i++) {
1452      allWaypoints[i].destroy();
1453    }
1454  };
1455
1456  /* Public */
1457  /* http://imakewebthings.com/waypoints/api/context-refresh */
1458  Context.prototype.refresh = function () {
1459    /*eslint-disable eqeqeq */
1460    var isWindow = this.element == this.element.window;
1461    /*eslint-enable eqeqeq */
1462    var contextOffset = isWindow ? undefined : this.adapter.offset();
1463    var triggeredGroups = {};
1464    var axes;
1465    this.handleScroll();
1466    axes = {
1467      horizontal: {
1468        contextOffset: isWindow ? 0 : contextOffset.left,
1469        contextScroll: isWindow ? 0 : this.oldScroll.x,
1470        contextDimension: this.innerWidth(),
1471        oldScroll: this.oldScroll.x,
1472        forward: 'right',
1473        backward: 'left',
1474        offsetProp: 'left'
1475      },
1476      vertical: {
1477        contextOffset: isWindow ? 0 : contextOffset.top,
1478        contextScroll: isWindow ? 0 : this.oldScroll.y,
1479        contextDimension: this.innerHeight(),
1480        oldScroll: this.oldScroll.y,
1481        forward: 'down',
1482        backward: 'up',
1483        offsetProp: 'top'
1484      }
1485    };
1486    for (var axisKey in axes) {
1487      var axis = axes[axisKey];
1488      for (var waypointKey in this.waypoints[axisKey]) {
1489        var waypoint = this.waypoints[axisKey][waypointKey];
1490        var adjustment = waypoint.options.offset;
1491        var oldTriggerPoint = waypoint.triggerPoint;
1492        var elementOffset = 0;
1493        var freshWaypoint = oldTriggerPoint === null;
1494        var contextModifier, wasBeforeScroll, nowAfterScroll;
1495        var triggeredBackward, triggeredForward;
1496        if (waypoint.element !== waypoint.element.window) {
1497          elementOffset = waypoint.adapter.offset()[axis.offsetProp];
1498        }
1499        if (typeof adjustment === 'function') {
1500          adjustment = adjustment.apply(waypoint);
1501        } else if (typeof adjustment === 'string') {
1502          adjustment = parseFloat(adjustment);
1503          if (waypoint.options.offset.indexOf('%') > -1) {
1504            adjustment = Math.ceil(axis.contextDimension * adjustment / 100);
1505          }
1506        }
1507        contextModifier = axis.contextScroll - axis.contextOffset;
1508        waypoint.triggerPoint = Math.floor(elementOffset + contextModifier - adjustment);
1509        wasBeforeScroll = oldTriggerPoint < axis.oldScroll;
1510        nowAfterScroll = waypoint.triggerPoint >= axis.oldScroll;
1511        triggeredBackward = wasBeforeScroll && nowAfterScroll;
1512        triggeredForward = !wasBeforeScroll && !nowAfterScroll;
1513        if (!freshWaypoint && triggeredBackward) {
1514          waypoint.queueTrigger(axis.backward);
1515          triggeredGroups[waypoint.group.id] = waypoint.group;
1516        } else if (!freshWaypoint && triggeredForward) {
1517          waypoint.queueTrigger(axis.forward);
1518          triggeredGroups[waypoint.group.id] = waypoint.group;
1519        } else if (freshWaypoint && axis.oldScroll >= waypoint.triggerPoint) {
1520          waypoint.queueTrigger(axis.forward);
1521          triggeredGroups[waypoint.group.id] = waypoint.group;
1522        }
1523      }
1524    }
1525    Waypoint.requestAnimationFrame(function () {
1526      for (var groupKey in triggeredGroups) {
1527        triggeredGroups[groupKey].flushTriggers();
1528      }
1529    });
1530    return this;
1531  };
1532
1533  /* Private */
1534  Context.findOrCreateByElement = function (element) {
1535    return Context.findByElement(element) || new Context(element);
1536  };
1537
1538  /* Private */
1539  Context.refreshAll = function () {
1540    for (var contextId in contexts) {
1541      contexts[contextId].refresh();
1542    }
1543  };
1544
1545  /* Public */
1546  /* http://imakewebthings.com/waypoints/api/context-find-by-element */
1547  Context.findByElement = function (element) {
1548    return contexts[element.waypointContextKey];
1549  };
1550  window.onload = function () {
1551    if (oldWindowLoad) {
1552      oldWindowLoad();
1553    }
1554    Context.refreshAll();
1555  };
1556  Waypoint.requestAnimationFrame = function (callback) {
1557    var requestFn = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || requestAnimationFrameShim;
1558    requestFn.call(window, callback);
1559  };
1560  Waypoint.Context = Context;
1561})();
1562(function () {
1563  'use strict';
1564
1565  function byTriggerPoint(a, b) {
1566    return a.triggerPoint - b.triggerPoint;
1567  }
1568  function byReverseTriggerPoint(a, b) {
1569    return b.triggerPoint - a.triggerPoint;
1570  }
1571  var groups = {
1572    vertical: {},
1573    horizontal: {}
1574  };
1575  var Waypoint = window.Waypoint;
1576
1577  /* http://imakewebthings.com/waypoints/api/group */
1578  function Group(options) {
1579    this.name = options.name;
1580    this.axis = options.axis;
1581    this.id = this.name + '-' + this.axis;
1582    this.waypoints = [];
1583    this.clearTriggerQueues();
1584    groups[this.axis][this.name] = this;
1585  }
1586
1587  /* Private */
1588  Group.prototype.add = function (waypoint) {
1589    this.waypoints.push(waypoint);
1590  };
1591
1592  /* Private */
1593  Group.prototype.clearTriggerQueues = function () {
1594    this.triggerQueues = {
1595      up: [],
1596      down: [],
1597      left: [],
1598      right: []
1599    };
1600  };
1601
1602  /* Private */
1603  Group.prototype.flushTriggers = function () {
1604    for (var direction in this.triggerQueues) {
1605      var waypoints = this.triggerQueues[direction];
1606      var reverse = direction === 'up' || direction === 'left';
1607      waypoints.sort(reverse ? byReverseTriggerPoint : byTriggerPoint);
1608      for (var i = 0, end = waypoints.length; i < end; i += 1) {
1609        var waypoint = waypoints[i];
1610        if (waypoint.options.continuous || i === waypoints.length - 1) {
1611          waypoint.trigger([direction]);
1612        }
1613      }
1614    }
1615    this.clearTriggerQueues();
1616  };
1617
1618  /* Private */
1619  Group.prototype.next = function (waypoint) {
1620    this.waypoints.sort(byTriggerPoint);
1621    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints);
1622    var isLast = index === this.waypoints.length - 1;
1623    return isLast ? null : this.waypoints[index + 1];
1624  };
1625
1626  /* Private */
1627  Group.prototype.previous = function (waypoint) {
1628    this.waypoints.sort(byTriggerPoint);
1629    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints);
1630    return index ? this.waypoints[index - 1] : null;
1631  };
1632
1633  /* Private */
1634  Group.prototype.queueTrigger = function (waypoint, direction) {
1635    this.triggerQueues[direction].push(waypoint);
1636  };
1637
1638  /* Private */
1639  Group.prototype.remove = function (waypoint) {
1640    var index = Waypoint.Adapter.inArray(waypoint, this.waypoints);
1641    if (index > -1) {
1642      this.waypoints.splice(index, 1);
1643    }
1644  };
1645
1646  /* Public */
1647  /* http://imakewebthings.com/waypoints/api/first */
1648  Group.prototype.first = function () {
1649    return this.waypoints[0];
1650  };
1651
1652  /* Public */
1653  /* http://imakewebthings.com/waypoints/api/last */
1654  Group.prototype.last = function () {
1655    return this.waypoints[this.waypoints.length - 1];
1656  };
1657
1658  /* Private */
1659  Group.findOrCreate = function (options) {
1660    return groups[options.axis][options.name] || new Group(options);
1661  };
1662  Waypoint.Group = Group;
1663})();
1664(function () {
1665  'use strict';
1666
1667  var $ = window.jQuery;
1668  var Waypoint = window.Waypoint;
1669  function JQueryAdapter(element) {
1670    this.$element = $(element);
1671  }
1672  $.each(['innerHeight', 'innerWidth', 'off', 'offset', 'on', 'outerHeight', 'outerWidth', 'scrollLeft', 'scrollTop'], function (i, method) {
1673    JQueryAdapter.prototype[method] = function () {
1674      var args = Array.prototype.slice.call(arguments);
1675      return this.$element[method].apply(this.$element, args);
1676    };
1677  });
1678  $.each(['extend', 'inArray', 'isEmptyObject'], function (i, method) {
1679    JQueryAdapter[method] = $[method];
1680  });
1681  Waypoint.adapters.push({
1682    name: 'jquery',
1683    Adapter: JQueryAdapter
1684  });
1685  Waypoint.Adapter = JQueryAdapter;
1686})();
1687(function () {
1688  'use strict';
1689
1690  var Waypoint = window.Waypoint;
1691  function createExtension(framework) {
1692    return function () {
1693      var waypoints = [];
1694      var overrides = arguments[0];
1695      if (framework.isFunction(arguments[0])) {
1696        overrides = framework.extend({}, arguments[1]);
1697        overrides.handler = arguments[0];
1698      }
1699      this.each(function () {
1700        var options = framework.extend({}, overrides, {
1701          element: this
1702        });
1703        if (typeof options.context === 'string') {
1704          options.context = framework(this).closest(options.context)[0];
1705        }
1706        waypoints.push(new Waypoint(options));
1707      });
1708      return waypoints;
1709    };
1710  }
1711  if (window.jQuery) {
1712    window.jQuery.fn.waypoint = createExtension(window.jQuery);
1713  }
1714  if (window.Zepto) {
1715    window.Zepto.fn.waypoint = createExtension(window.Zepto);
1716  }
1717})();
1718
1719/***/ }),
1720
vendor: 853 bytes, lines 1721-1740
1721/***/ "./node_modules/@babel/runtime/helpers/typeof.js":
1722/*!*******************************************************!*\
1723  !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
1724  \*******************************************************/
1725/*! no static exports found */
1726/***/ (function(module, exports) {
1727
1728function _typeof(o) {
1729  "@babel/helpers - typeof";
1730
1731  return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
1732    return typeof o;
1733  } : function (o) {
1734    return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
1735  }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o);
1736}
1737module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
1738
1739/***/ }),
1740
vendor: 460 bytes, lines 1741-1754
1741/***/ "./node_modules/webpack/buildin/amd-options.js":
1742/*!****************************************!*\
1743  !*** (webpack)/buildin/amd-options.js ***!
1744  \****************************************/
1745/*! no static exports found */
1746/***/ (function(module, exports) {
1747
1748/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */
1749module.exports = __webpack_amd_options__;
1750
1751/* WEBPACK VAR INJECTION */}.call(this, {}))
1752
1753/***/ }),
1754
vendor: 854 bytes, lines 1755-1788
1755/***/ "./node_modules/webpack/buildin/harmony-module.js":
1756/*!*******************************************!*\
1757  !*** (webpack)/buildin/harmony-module.js ***!
1758  \*******************************************/
1759/*! no static exports found */
1760/***/ (function(module, exports) {
1761
1762module.exports = function(originalModule) {
1763	if (!originalModule.webpackPolyfill) {
1764		var module = Object.create(originalModule);
1765		// module.parent = undefined by default
1766		if (!module.children) module.children = [];
1767		Object.defineProperty(module, "loaded", {
1768			enumerable: true,
1769			get: function() {
1770				return module.l;
1771			}
1772		});
1773		Object.defineProperty(module, "id", {
1774			enumerable: true,
1775			get: function() {
1776				return module.i;
1777			}
1778		});
1779		Object.defineProperty(module, "exports", {
1780			enumerable: true
1781		});
1782		module.webpackPolyfill = 1;
1783	}
1784	return module;
1785};
1786
1787
1788/***/ })
1788,
1789
1790/***/ 0:
1791/*!************************************************************************************************************************************************************************************************************************!*\
1792  !*** multi ./assets/src/js/brightfire-stellar.js ./assets/src/js/bf_parallax.js ./assets/src/js/bf_animations_queue.js ./assets/src/js/bfmenu.js ./assets/src/js/waypoints.js ./assets/src/js/gf-honeypot-patchfix.js ***!
1793  \************************************************************************************************************************************************************************************************************************/
1794/*! no static exports found */
1795/***/ (function(module, exports, __webpack_require__) {
1796
1797__webpack_require__(/*! ./assets/src/js/brightfire-stellar.js */"./assets/src/js/brightfire-stellar.js");
1798__webpack_require__(/*! ./assets/src/js/bf_parallax.js */"./assets/src/js/bf_parallax.js");
1799__webpack_require__(/*! ./assets/src/js/bf_animations_queue.js */"./assets/src/js/bf_animations_queue.js");
1800__webpack_require__(/*! ./assets/src/js/bfmenu.js */"./assets/src/js/bfmenu.js");
1801__webpack_require__(/*! ./assets/src/js/waypoints.js */"./assets/src/js/waypoints.js");
1802module.exports = __webpack_require__(/*! ./assets/src/js/gf-honeypot-patchfix.js */"./assets/src/js/gf-honeypot-patchfix.js");
1803
1804
1805/***/ }),
1806
1807/***/ "jquery":
1808/*!*************************!*\
1809  !*** external "jQuery" ***!
1810  \*************************/
1811/*! no static exports found */
1812/***/ (function(module, exports) {
1813
1814module.exports = jQuery;
1815
1816/***/ })
1817
1818/******/ });
1819//# sourceMappingURL=brightfire_stellar.js.map

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.