PageSourceSearch

https://davidphilipson.com/index_files/stacks_page_page0.js?rwcache=812393528

js davidphilipson.com collected 2026-10-02 14:52:48 UTC 43,810 bytes, 1,041 lines download raw bytes

vendor: 7,199 bytes, lines 1-2
1/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
2jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
2
3var stacks = {};
4stacks.jQuery = jQuery.noConflict(true);
5stacks.com_elixir_stacks_Animagic = {};
6stacks.com_elixir_stacks_Animagic = (function(stack) {
7var jQuery = stacks.jQuery;var $ = jQuery;
8(function() {
9  var Util, WeakMap,
10    __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
11
12  Util = (function() {
13    function Util() {}
14
15    Util.prototype.extend = function(custom, defaults) {
16      var key, value;
17      for (key in custom) {
18        value = custom[key];
19        if (value != null) {
20          defaults[key] = value;
21        }
22      }
23      return defaults;
24    };
25
26    Util.prototype.isMobile = function(agent) {
27      return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(agent);
28    };
29
30    return Util;
31
32  })();
33
34  WeakMap = this.WeakMap || (WeakMap = (function() {
35    function WeakMap() {
36      this.keys = [];
37      this.values = [];
38    }
39
40    WeakMap.prototype.get = function(key) {
41      var i, item, _i, _len, _ref;
42      _ref = this.keys;
43      for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
44        item = _ref[i];
45        if (item === key) {
46          return this.values[i];
47        }
48      }
49    };
50
51    WeakMap.prototype.set = function(key, value) {
52      var i, item, _i, _len, _ref;
53      _ref = this.keys;
54      for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
55        item = _ref[i];
56        if (item === key) {
57          this.values[i] = value;
58          return;
59        }
60      }
61      this.keys.push(key);
62      return this.values.push(value);
63    };
64
65    return WeakMap;
66
67  })());
68
69  this.WOW = (function() {
70    WOW.prototype.defaults = {
71      boxClass: 'wow',
72      animateClass: 'animated',
73      offset: 0,
74      mobile: true
75    };
76
77    function WOW(options) {
78      if (options == null) {
79        options = {};
80      }
81      this.scrollCallback = __bind(this.scrollCallback, this);
82      this.scrollHandler = __bind(this.scrollHandler, this);
83      this.start = __bind(this.start, this);
84      this.scrolled = true;
85      this.config = this.util().extend(options, this.defaults);
86      this.animationNameCache = new WeakMap();
87    }
88
89    WOW.prototype.init = function() {
90      var _ref;
91      this.element = window.document.documentElement;
92      if ((_ref = document.readyState) === "interactive" || _ref === "complete") {
93        return this.start();
94      } else {
95        return document.addEventListener('DOMContentLoaded', this.start);
96      }
97    };
98
99    WOW.prototype.start = function() {
100      var box, _i, _len, _ref;
101      this.boxes = this.element.getElementsByClassName(this.config.boxClass);
102      if (this.boxes.length) {
103        if (this.disabled()) {
104          return this.resetStyle();
105        } else {
106          _ref = this.boxes;
107          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
108            box = _ref[_i];
109            this.applyStyle(box, true);
110          }
111          window.addEventListener('scroll', this.scrollHandler, false);
112          window.addEventListener('resize', this.scrollHandler, false);
113          return this.interval = setInterval(this.scrollCallback, 50);
114        }
115      }
116    };
117
118    WOW.prototype.stop = function() {
119      window.removeEventListener('scroll', this.scrollHandler, false);
120      window.removeEventListener('resize', this.scrollHandler, false);
121      if (this.interval != null) {
122        return clearInterval(this.interval);
123      }
124    };
125
126    WOW.prototype.show = function(box) {
127      this.applyStyle(box);
128      return box.className = "" + box.className + " " + this.config.animateClass;
129    };
130
131    WOW.prototype.applyStyle = function(box, hidden) {
132      var delay, duration, iteration;
133      duration = box.getAttribute('data-wow-duration');
vendor: 4,541 bytes, lines 134-291
134      delay = box.getAttribute('data-wow-delay');
135      iteration = box.getAttribute('data-wow-iteration');
136      return this.animate((function(_this) {
137        return function() {
138          return _this.customStyle(box, hidden, duration, delay, iteration);
139        };
140      })(this));
141    };
142
143    WOW.prototype.animate = (function() {
144      if ('requestAnimationFrame' in window) {
145        return function(callback) {
146          return window.requestAnimationFrame(callback);
147        };
148      } else {
149        return function(callback) {
150          return callback();
151        };
152      }
153    })();
154
155    WOW.prototype.resetStyle = function() {
156      var box, _i, _len, _ref, _results;
157      _ref = this.boxes;
158      _results = [];
159      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
160        box = _ref[_i];
161        _results.push(box.setAttribute('style', 'visibility: visible;'));
162      }
163      return _results;
164    };
165
166    WOW.prototype.customStyle = function(box, hidden, duration, delay, iteration) {
167      if (hidden) {
168        this.cacheAnimationName(box);
169      }
170      box.style.visibility = hidden ? 'hidden' : 'visible';
171      if (duration) {
172        this.vendorSet(box.style, {
173          animationDuration: duration
174        });
175      }
176      if (delay) {
177        this.vendorSet(box.style, {
178          animationDelay: delay
179        });
180      }
181      if (iteration) {
182        this.vendorSet(box.style, {
183          animationIterationCount: iteration
184        });
185      }
186      this.vendorSet(box.style, {
187        animationName: hidden ? 'none' : this.cachedAnimationName(box)
188      });
189      return box;
190    };
191
192    WOW.prototype.vendors = ["moz", "webkit"];
193
194    WOW.prototype.vendorSet = function(elem, properties) {
195      var name, value, vendor, _results;
196      _results = [];
197      for (name in properties) {
198        value = properties[name];
199        elem["" + name] = value;
200        _results.push((function() {
201          var _i, _len, _ref, _results1;
202          _ref = this.vendors;
203          _results1 = [];
204          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
205            vendor = _ref[_i];
206            _results1.push(elem["" + vendor + (name.charAt(0).toUpperCase()) + (name.substr(1))] = value);
207          }
208          return _results1;
209        }).call(this));
210      }
211      return _results;
212    };
213
214    WOW.prototype.vendorCSS = function(elem, property) {
215      var result, style, vendor, _i, _len, _ref;
216      style = window.getComputedStyle(elem);
217      result = style.getPropertyCSSValue(property);
218      _ref = this.vendors;
219      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
220        vendor = _ref[_i];
221        result = result || style.getPropertyCSSValue("-" + vendor + "-" + property);
222      }
223      return result;
224    };
225
226    WOW.prototype.animationName = function(box) {
227      var animationName;
228      try {
229        animationName = this.vendorCSS(box, 'animation-name').cssText;
230      } catch (_error) {
231        animationName = window.getComputedStyle(box).getPropertyValue('animation-name');
232      }
233      if (animationName === 'none') {
234        return '';
235      } else {
236        return animationName;
237      }
238    };
239
240    WOW.prototype.cacheAnimationName = function(box) {
241      return this.animationNameCache.set(box, this.animationName(box));
242    };
243
244    WOW.prototype.cachedAnimationName = function(box) {
245      return this.animationNameCache.get(box);
246    };
247
248    WOW.prototype.scrollHandler = function() {
249      return this.scrolled = true;
250    };
251
252    WOW.prototype.scrollCallback = function() {
253      var box;
254      if (this.scrolled) {
255        this.scrolled = false;
256        this.boxes = (function() {
257          var _i, _len, _ref, _results;
258          _ref = this.boxes;
259          _results = [];
260          for (_i = 0, _len = _ref.length; _i < _len; _i++) {
261            box = _ref[_i];
262            if (!(box)) {
263              continue;
264            }
265            if (this.isVisible(box)) {
266              this.show(box);
267              continue;
268            }
269            _results.push(box);
270          }
271          return _results;
272        }).call(this);
273        if (!this.boxes.length) {
274          return this.stop();
275        }
276      }
277    };
278
279    WOW.prototype.offsetTop = function(element) {
280      var top;
281      while (element.offsetTop === void 0) {
282        element = element.parentNode;
283      }
284      top = element.offsetTop;
285      while (element = element.offsetParent) {
286        top += element.offsetTop;
287      }
288      return top;
289    };
290
291    WOW.prototype.isVisible = function(box) {
292      var bottom, offset, top, viewBottom, viewTop;
293      offset = box.getAttribute('data-wow-offset') || this.config.offset;
294      viewTop = window.pageYOffset;
295      viewBottom = viewTop + this.element.clientHeight - offset;
296      top = this.offsetTop(box);
297      bottom = top + box.clientHeight;
298      return top <= viewBottom && bottom >= viewTop;
299    };
300
301    WOW.prototype.util = function() {
302      return this._util || (this._util = new Util());
303    };
304
305    WOW.prototype.disabled = function() {
306      return !this.config.mobile && this.util().isMobile(navigator.userAgent);
307    };
308
309    return WOW;
310
311  })();
312
313}).call(this);
314
315
316
317$(window).load(function(){
318  new WOW().init();
319});
320
321return stack;})(stacks.com_elixir_stacks_Animagic);
322stacks.stacks_in_509291 = {};
323stacks.stacks_in_509291 = (function(stack) {
324var jQuery = stacks.jQuery;var $ = jQuery;$(window).load(function(){$('#preloader_').fadeOut('slow');$('#preloader').fadeOut('slow');$('body').delay(350).css({'overflow':'visible'});})
325return stack;})(stacks.stacks_in_509291);
326stacks.stacks_in_445713_445716 = {};
327stacks.stacks_in_445713_445716 = (function(stack) {
328var jQuery = stacks.jQuery;var $ = jQuery;// Set Language for Document
329document.documentElement.lang = "en";
330
331$(document).ready(function(){
332  
333    $('body').addClass('foundry-typeface-one');
334  
335
336  
337    $('body').addClass('foundry-typeface-one-page-wide-headers');
338  
339});
340
341$.fn.elementRealHeight = function () {
342   $clone = this.clone()
343       .css("visibility","hidden")
344       .appendTo($('body'));
345   var $height = $clone.outerHeight();
346   $clone.remove();
347   return $height;
348 };
349
350 $.fn.elementRealWidth = function () {
351    $clone = this.clone()
352        .css("visibility","hidden")
353        .appendTo($('body'));
354    var $width = $clone.outerWidth();
355    $clone.remove();
356    return $width;
357  };
358
359
360  // Handles offsets for anchor tags
361  // (function(document, history, location) {
362  //   var HISTORY_SUPPORT = !!(history && history.pushState);
363  //
364  //   var anchorScrolls = {
365  //     ANCHOR_REGEX: /^#[^ ]+$/,
366  //     OFFSET_HEIGHT_PX: 0,
367  //
368  //     /**
369  //      * Establish events, and fix initial scroll position if a hash is provided.
370  //      */
371  //     init: function() {
372  //       this.scrollToCurrent();
373  //       window.addEventListener('hashchange', this.scrollToCurrent.bind(this));
374  //       document.body.addEventListener('click', this.delegateAnchors.bind(this));
375  //     },
376  //
377  //     /**
378  //      * Return the offset amount to deduct from the normal scroll position.
379  //      * Modify as appropriate to allow for dynamic calculations
380  //      */
381  //     getFixedOffset: function() {
382  //       return this.OFFSET_HEIGHT_PX;
383  //     },
384  //
385  //     /**
386  //      * If the provided href is an anchor which resolves to an element on the
387  //      * page, scroll to it.
388  //      * @param  {String} href
389  //      * @return {Boolean} - Was the href an anchor.
390  //      */
391  //     scrollIfAnchor: function(href, pushToHistory) {
392  //       var match, rect, anchorOffset;
393  //
394  //       if(!this.ANCHOR_REGEX.test(href)) {
395  //         return false;
396  //       }
397  //
398  //       match = document.getElementById(href.slice(1));
399  //
400  //       if(match) {
401  //         rect = match.getBoundingClientRect();
402  //         anchorOffset = window.pageYOffset + rect.top - this.getFixedOffset();
403  //         window.scrollTo(window.pageXOffset, anchorOffset);
404  //
405  //         // Add the state to history as-per normal anchor links
406  //         if(HISTORY_SUPPORT && pushToHistory) {
407  //           history.pushState({}, document.title, location.pathname + href);
408  //         }
409  //       }
410  //
411  //       return !!match;
412  //     },
413  //
414  //     /**
415  //      * Attempt to scroll to the current location's hash.
416  //      */
417  //     scrollToCurrent: function() {
418  //       this.scrollIfAnchor(window.location.hash);
419  //     },
420  //
421  //     /**
422  //      * If the click event's target was an anchor, fix the scroll position.
423  //      */
424  //     delegateAnchors: function(e) {
425  //       var elem = e.target;
426  //
427  //       if(
428  //         elem.nodeName === 'A' &&
429  //         this.scrollIfAnchor(elem.getAttribute('href'), true)
430  //       ) {
431  //         e.preventDefault();
432  //       }
433  //     }
434  //   };
435  //
436  //   window.addEventListener(
437  //     'DOMContentLoaded', anchorScrolls.init.bind(anchorScrolls)
438  //   );
439  // })(window.document, window.history, window.location);
440
441return stack;})(stacks.stacks_in_445713_445716);
442stacks.stacks_in_509171_1 = {};
443stacks.stacks_in_509171_1 = (function(stack) {
444var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
445});
446
447return stack;})(stacks.stacks_in_509171_1);
448stacks.stacks_in_509497 = {};
449stacks.stacks_in_509497 = (function(stack) {
450var snowmax=35;var snowcolor=new Array("#AAAACC","#DDDDFF","#CCCCDD","#F3F3F3","#F0FFFF");var snowtype='far fa-snowflake fa-spin'.trim().split(",");var snowLetters='*'.trim().split(",");var sinkspeed=1;var snowmaxsize=40;var snowminsize=8;var snowingzone=1;var snow=new Array(),snowid="stacks_in_509497",marginbottom,marginright,i_snow=0,x_mv=new Array(),crds=new Array(),lftrght=new Array();function randommaker(range){return Math.floor(range*Math.random());}
451function movesnow(){for(i=0;i<=snowmax;i++){crds[i]+=x_mv[i];snow[i].posy+=snow[i].sink;snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i])+'px';snow[i].style.top=snow[i].posy+'px';if(snow[i].posy>=marginbottom-2*snow[i].size||parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){if(snowingzone==1){snow[i].posx=randommaker(marginright-snow[i].size);}
452if(snowingzone==2){snow[i].posx=randommaker(marginright/2-snow[i].size);}
453if(snowingzone==3){snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
454if(snowingzone==4){snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
455snow[i].posy=0;}}
456setTimeout(movesnow,50);}
457function initsnow(){for(let i=0;i<=snowmax;i++){const snowflake=document.createElement("span");snowflake.className="snowflake";snowflake.id=`${snowid}${i}`;snowflake.style.position="absolute";snowflake.style.top=`-${snowmaxsize}px`;snowflake.innerHTML=snowLetters[randommaker(snowLetters.length)].trim();document.body.appendChild(snowflake);}
458marginbottom=document.body.scrollHeight;
458marginright=window.innerWidth-15;var snowsizerange=snowmaxsize-snowminsize;for(i=0;i<=snowmax;i++){crds[i]=0;lftrght[i]=Math.random()*15;x_mv[i]=0.03+Math.random()/10;snow[i]=document.getElementById(snowid+i)
459snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)].trim();snow[i].size=randommaker(snowsizerange)+snowminsize;snow[i].style.fontSize=snow[i].size+'px';snow[i].style.color=snowcolor[randommaker(snowcolor.length)];snow[i].style.zIndex=9999;snow[i].sink=sinkspeed*snow[i].size/5;if(snowingzone==1){snow[i].posx=randommaker(marginright-snow[i].size);}
460if(snowingzone==2){snow[i].posx=randommaker(marginright/2-snow[i].size);}
461if(snowingzone==3){snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4;}
462if(snowingzone==4){snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
463snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size);snow[i].style.left=snow[i].posx+'px';snow[i].style.top=snow[i].posy+'px';}
464movesnow();}
465const isVisible=(el)=>{return el&&!!(el.offsetWidth||el.offsetHeight||el.getClientRects().length);};document.addEventListener("DOMContentLoaded",event=>{const letItSnow=document.getElementById('let-it-snow');if(letItSnow&&isVisible(letItSnow)){if(1){var today=new Date(),start=new Date('2026-11-27T00:00:00PST'.replace(/\D+$/,'')),stop=new Date('2027-02-15T00:00:00PST'.replace(/\D+$/,''));if(today.getTime()>start.getTime()&&today.getTime()<stop.getTime()){console.log('Let it Snow!');initsnow();}
466else{console.log('Out of date range. No snow today');}}
467else{initsnow();}}});
468
469return stack;})(stacks.stacks_in_509497);
470stacks.stacks_in_509426 = {};
471stacks.stacks_in_509426 = (function(stack) {
472var jQuery = stacks.jQuery;var $ = jQuery;// Sticky Plugin v1.0.4 for jQuery
473// =============
474// Author: Anthony Garand
475// Improvements by German M. Bravo (Kronuz) and Ruud Kamphuis (ruudk)
476// Improvements by Leonardo C. Daronco (daronco)
477// Created: 02/14/2011
478// Date: 07/20/2015
479// Website: http://stickyjs.com/
480// Description: Makes an element on the page stick on the screen as you scroll
481//              It will only set the 'top' and 'position' of your element, you
482//              might need to adjust the width in some cases.
483
484(function (factory) {
485    if (typeof define === 'function' && define.amd) {
486        // AMD. Register as an anonymous module.
487        define(['jquery'], factory);
488    } else if (typeof module === 'object' && module.exports) {
489        // Node/CommonJS
490        module.exports = factory(require('jquery'));
491    } else {
492        // Browser globals
493        factory(jQuery);
494    }
495}(function ($) {
496    var slice = Array.prototype.slice; // save ref to original slice()
497    var splice = Array.prototype.splice; // save ref to original slice()
498
499  var defaults = {
500      topSpacing: 0,
501      bottomSpacing: 0,
502      className: 'is-sticky',
503      wrapperClassName: 'sticky-wrapper',
504      center: false,
505      getWidthFrom: '',
506      widthFromWrapper: true, // works only when .getWidthFrom is empty
507      responsiveWidth: false,
508      zIndex: 'auto'
509    },
510    $window = $(window),
511    $document = $(document),
512    sticked = [],
513    windowHeight = $window.height(),
514    scroller = function() {
515      var scrollTop = $window.scrollTop(),
516        documentHeight = $document.height(),
517        dwh = documentHeight - windowHeight,
518        extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
519
520      for (var i = 0, l = sticked.length; i < l; i++) {
521        var s = sticked[i],
522          elementTop = s.stickyWrapper.offset().top,
523          etse = elementTop - s.topSpacing - extra;
524
525        //update height in case of dynamic content
526        s.stickyWrapper.css('height', s.stickyElement.outerHeight());
527        s.stickyElement.css('transform', 'translate3d(0px, 0px, 0px)');
528
529        if (scrollTop < etse) {
530          if (s.currentTop !== null) {
531            s.stickyElement
532              .css({
533                'width': '',
534                'position': '',
535                'top': '',
536                'left': '',
537                'right': '',
538                'z-index': ''
539              });
540            s.stickyElement.parent().removeClass(s.className);
541            s.stickyElement.trigger('sticky-end', [s]);
542            s.currentTop = null;
543          }
544        }
545        else {
546          var newTop = documentHeight - s.stickyElement.outerHeight()
547            - s.topSpacing - s.bottomSpacing - scrollTop - extra;
548          if (newTop < 0) {
549            newTop = newTop + s.topSpacing;
550          } else {
551            newTop = s.topSpacing;
552          }
553          if (s.currentTop !== newTop) {
554            var newWidth;
555            if (s.getWidthFrom) {
556                newWidth = $(s.getWidthFrom).width() || null;
557            } else if (s.widthFromWrapper) {
558                newWidth = s.stickyWrapper.width();
559            }
560            if (newWidth == null) {
561                newWidth = s.stickyElement.width();
562            }
563            s.stickyElement
564              .css('width', newWidth)
565              .css('position', 'fixed')
566              .css('top', newTop)
567              .css('left', '0')
568              .css('right', '0')
569              .css('z-index', s.zIndex);
570
571            s.stickyElement.parent().addClass(s.className);
572
573            if (s.currentTop === null) {
574              s.stickyElement.trigger('sticky-start', [s]);
575            } else {
576              // sticky is started but it have to be repositioned
577              s.stickyElement.trigger('sticky-update', [s]);
578            }
579
580            if (s.currentTop === s.topSpacing && s.currentTop > newTop || s.currentTop === null && newTop < s.topSpacing) {
581              // just reached bottom || just started to stick but bottom is already reached
582              s.stickyElement.trigger('sticky-bottom-reached', [s]);
583            } else if(s.currentTop !== null && newTop === s.topSpacing && s.currentTop < newTop) {
584              // sticky is started && sticked at topSpacing && overflowing from top just finished
585              s.stickyElement.trigger('sticky-bottom-unreached', [s]);
586            }
587
588            s.currentTop = newTop;
589          }
590
591          // Check if sticky has reached end of container and stop sticking
592          var stickyWrapperContainer = s.stickyWrapper.parent();
593          var unstick = (s.stickyElement.offset().top + s.stickyElement.outerHeight() >= stickyWrapperContainer.offset().top + stickyWrapperContainer.outerHeight()) && (s.stickyElement.offset().top <= s.topSpacing);
594
595
596          if( unstick ) {
597            s.stickyElement
598              .css('position', 'relative')
599              .css('top', '')
600              .css('left', '')
601              .css('right', '')
602              .css('bottom', 0)
603              .css('z-index', '');
604          } else {
605            s.stickyElement
606              .css('position', 'fixed')
607              .css('top', newTop)
608              .css('left', '0')
609              .css('right', '0')
610              .css('bottom', '')
611              .css('z-index', s.zIndex);
612          }
613        }
614      }
615    },
616    resizer = function() {
617      windowHeight = $window.height();
618
619      for (var i = 0, l = sticked.length; i < l; i++) {
620        var s = sticked[i];
621        var newWidth = null;
622        if (s.getWidthFrom) {
623            if (s.responsiveWidth) {
624                newWidth = $(s.getWidthFrom).width();
625            }
626        } else if(s.widthFromWrapper) {
627            newWidth = s.stickyWrapper.width();
628        }
629        if (newWidth != null) {
630            s.stickyElement.css('width', newWidth);
631        }
632      }
633
634      scroller();
635
636    },
637    methods = {
638      init: function(options) {
639        var o = $.extend({}, defaults, options);
640        return this.each(function() {
641          var stickyElement = $(this);
642
643          var stickyId = stickyElement.attr('id');
644          var wrapperId = stickyId ? stickyId + '-' + defaults.wrapperClassName : defaults.wrapperClassName;
645          var wrapper = $('<div></div>')
646            .attr('id', wrapperId)
647            .addClass(o.wrapperClassName);
648
649          stickyElement.wrapAll(function() {
650            if ($(this).parent("#" + wrapperId).length == 0) {
651                    return wrapper;
652            }
653});
654
655          var stickyWrapper = stickyElement.parent();
656
657          if (o.center) {
658            stickyWrapper.css({width:stickyElement.outerWidth(),marginLeft:"auto",marginRight:"auto"});
659          }
660
661          if (stickyElement.css("float") === "right") {
662            stickyElement.css({"float":"none"}).parent().css({"float":"right"});
663          }
664
665          o.stickyElement = stickyElement;
666          o.stickyWrapper = stickyWrapper;
667          o.currentTop    = null;
668
669          sticked.push(o);
670
671          methods.setWrapperHeight(this);
672          methods.setupChangeListeners(this);
673        });
674      },
675
676      setWrapperHeight: function(stickyElement) {
677        var element = $(stickyElement);
678        var stickyWrapper = element.parent();
679        if (stickyWrapper) {
680          stickyWrapper.css('height', element.outerHeight());
681        }
682      },
683
684      setupChangeListeners: function(stickyElement) {
685        if (window.MutationObserver) {
686          var mutationObserver = new window.MutationObserver(function(mutations) {
687            if (mutations[0].addedNodes.length || mutations[0].removedNodes.length) {
688              methods.setWrapperHeight(stickyElement);
689            }
690          });
691          mutationObserver.observe(stickyElement, {subtree: true, childList: true});
692        } else {
693          if (window.addEventListener) {
694            stickyElement.addEventListener('DOMNodeInserted', function() {
695              methods.setWrapperHeight(stickyElement);
696            }, false);
697            stickyElement.addEventListener('DOMNodeRemoved', function() {
698              methods.setWrapperHeight(stickyElement);
699            }, false);
700          } else if (window.attachEvent) {
701            stickyElement.attachEvent('onDOMNodeInserted', function() {
702              methods.setWrapperHeight(stickyElement);
703            });
704            stickyElement.attachEvent('onDOMNodeRemoved', function() {
705              methods.setWrapperHeight(stickyElement);
706            });
707          }
708        }
709      },
710      update: scroller,
711      unstick: function(options) {
712        return this.each(function() {
713          var that = this;
714          var unstickyElement = $(that);
715
716          var removeIdx = -1;
717          var i = sticked.length;
718          while (i-- > 0) {
719            if (sticked[i].stickyElement.get(0) === that) {
720                splice.call(sticked,i,1);
721                removeIdx = i;
722            }
723          }
724          if(removeIdx !== -1) {
725            unstickyElement.unwrap();
726            unstickyElement
727              .css({
728                'width': '',
729                'position': '',
730                'top': '',
731                'left': '',
732                'right': '',
733                'float': '',
734                'z-index': ''
735              });
736          }
737        });
738      }
739    };
740
741  // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
742  if (window.addEventListener) {
743    window.addEventListener('scroll', scroller, false);
744    window.addEventListener('resize', resizer, false);
745  } else if (window.attachEvent) {
746    window.attachEvent('onscroll', scroller);
747    window.attachEvent('onresize', resizer);
748  }
749
750  $.fn.sticky = function(method) {
751    if (methods[method]) {
752      return methods[method].apply(this, slice.call(arguments, 1));
753    } else if (typeof method === 'object' || !method ) {
754      return methods.init.apply( this, arguments );
755    } else {
756      $.error('Method ' + method + ' does not exist on jQuery.sticky');
757    }
758  };
759
760  $.fn.unstick = function(method) {
761    if (methods[method]) {
762      return methods[method].apply(this, slice.call(arguments, 1));
763    } else if (typeof method === 'object' || !method ) {
764      return methods.unstick.apply( this, arguments );
765    } else {
766      $.error('Method ' + method + ' does not exist on jQuery.sticky');
767    }
768  };
769  $(function() {
770    setTimeout(scroller, 0);
771  });
772}));
773function foundry_navigation_bar() {
774	// Removes overflow hidden so dropdowns can show as they should.
775	$('#stacks_in_509426 .navigation_bar ').parentsUntil('.stacks_top').css({'overflow' : 'visible'});
776	$('.stacks_top').css({'overflow' : 'visible'});
777
778	// Unwraps the link from dividers and small subheaders
779	$('#stacks_in_509426 .navigation_bar div.nav_divider, #stacks_in_509426 .navigation_bar .small_hdr').unwrap();
780
781
782
783	// Removes href attributes from parent navigation links.
784	// This could be offered as an option possibly.
785	// $('#stacks_in_509426 .navigation_bar .navigation_container > ul > li > a.parent').removeAttr("href").addClass('closed');
786
787	$('#stacks_in_509426 .navigation_bar .navigation_container > ul > li > a.parent').attr("href", "#").addClass('closed');
788
789	
790	
791	//
792	// Handles displaying drop down navigation.
793	//
794	$('#stacks_in_509426 .navigation_bar .navigation_container ul').find("> li").each(function() {
795			if ($(this).find("ul:first").length > 0) {
796
797					$(this).find('> a.parent').click(function() {
798
799						event.preventDefault();
800
801							
802							//
803							// Close all navigation drop downs when another is opened.
804							//
805							$("#stacks_in_509426 .navigation_bar .navigation_container ul li").removeClass('clicked');
806
807							$(this).parent().addClass('clicked');
808
809							$("#stacks_in_509426 .navigation_bar .navigation_container ul li:not(.clicked) a.open").parent().find('ul:first').stop(true, true).slide
809Up(200);
810
811
812							$("#stacks_in_509426 .navigation_bar .navigation_container ul li").find("> a").addClass('closed').removeClass('open');
813							
814
815							//
816							// Show child-level menu items
817							//
818							$(this).parent().find("ul:first").stop(true, true).animate({height: 'toggle' , opacity: 'toggle'}, 200);
819
820							$(this).parent().find("> a").toggleClass('closed').toggleClass('open');
821					});
822			}
823
824		
825						
826		});
827		
828		$('html').click(function() {
829			$('#stacks_in_509426 .navigation_bar .navigation_container ul > li > a').addClass('closed').removeClass('open');
830			$('#stacks_in_509426 .navigation_bar .navigation_container ul > li > ul').stop(true, true).slideUp(200);
831		});
832	
833		$('#stacks_in_509426').click(function(event){
834			event.stopPropagation();
835		});
836
837	
838
839	
840
841
842
843	//
844	// Handles showing and hiding the navigation when the navigation toggle is clicked or tapped.
845	//
846	$('#stacks_in_509426_mobile_navigation_toggle').click(function(){
847		$('#stacks_in_509426 .navigation_bar .navigation_container > ul').slideToggle(175, function(){});
848	});
849
850	//
851	// Handles pairing navigation with parent banner
852	//
853	
854		closestBanner = $('#stacks_in_509426').closest('.nav_pairing');
855		
856		$('#stacks_in_509426').prependTo(closestBanner);
857		
858	
859}
860
861
862
863	// Sticky Navigation
864
865	function stickIt() {
866		$("#stacks_in_509426 .navigation_bar").sticky({
867			topSpacing: 0,
868			bottomSpacing: 0,
869			className: 'is-sticky',
870			wrapperClassName: 'sticky-wrapper',
871			center: true,
872			getWidthFrom: 'body',
873			widthFromWrapper: false, // works only when .getWidthFrom is empty
874			responsiveWidth: false,
875			zIndex: '3000'
876		});
877	}
878
879	function stickItUpdate() {
880		$("#stacks_in_509426 .navigation_bar").sticky('update');
881	}
882
883	$(window).load(function(){
884		foundry_navigation_bar();
885
886		if ($('#stacks_in_509426 .navigation_bar').length){
887			var navTop = $("#stacks_in_509426 .navigation_bar").offset().top;
888
889			if (navTop > 0) {
890				stickIt();
891			} else {
892				$("#stacks_in_509426 .navigation_bar").addClass('sticky simple-sticky');
893			}	
894		}
895	});
896
897	$(window).load(function(){
898		stickItUpdate();
899	});
900
901	document.addEventListener("orientationchange", stickItUpdate);
902
903
904
905return stack;})(stacks.stacks_in_509426);
906stacks.stacks_in_509424 = {};
907stacks.stacks_in_509424 = (function(stack) {
908var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
909
910
911	var isMobile = false; //initiate as false
912	// device detection
913	if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
914	    || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.
914substr(0,4))) isMobile = true;
915
916	if (!isMobile) {
917		$('#stacks_in_509424 .jumbotron').css({ 'background-attachment' : 'fixed' });
918	}
919
920	if (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) {
921		$('#stacks_in_509424 .jumbotron').css({ 'background-attachment' : 'scroll' });
922	}
923
924
925
926});
927
928
929
930
931return stack;})(stacks.stacks_in_509424);
932stacks.stacks_in_509428 = {};
933stacks.stacks_in_509428 = (function(stack) {
934var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
935  $("#stacks_in_509428").closest(".stacks_out").css("overflow", "visible");
936  $("#stacks_in_509428").closest(".stacks_in").css("overflow", "visible");
937	if(!(/Android|iPhone|iPad|iPod|BlackBerry|Windows Phone/i).test(navigator.userAgent || navigator.vendor || window.opera)){
938	  $(".stacks_top").css("overflow", "visible");
939	}
940
941// 
942// Disable animation on mobile devices if the user opts for it ...
943// 
944});
945
946
947return stack;})(stacks.stacks_in_509428);
948stacks.stacks_in_509429 = {};
949stacks.stacks_in_509429 = (function(stack) {
950var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
951  
952});
953
954return stack;})(stacks.stacks_in_509429);
955stacks.stacks_in_509282 = {};
956stacks.stacks_in_509282 = (function(stack) {
957var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
958	
959		$('#stacks_in_509282 > .container').parentsUntil('.stacks_top').css('overflow', 'visible');
960		$('.stacks_top').css({'overflow' : 'visible'});
961	
962});
963
964return stack;})(stacks.stacks_in_509282);
965stacks.stacks_in_446631 = {};
966stacks.stacks_in_446631 = (function(stack) {
967var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
968	
969		$('#stacks_in_446631 > .container').parentsUntil('.stacks_top').css('overflow', 'visible');
970		$('.stacks_top').css({'overflow' : 'visible'});
971	
972});
973
974return stack;})(stacks.stacks_in_446631);
975stacks.stacks_in_509287 = {};
976stacks.stacks_in_509287 = (function(stack) {
977var jQuery = stacks.jQuery;var $ = jQuery;
978
979
980return stack;})(stacks.stacks_in_509287);
981stacks.stacks_in_446630 = {};
982stacks.stacks_in_446630 = (function(stack) {
983var jQuery = stacks.jQuery;var $ = jQuery;$(function(){$(".html5audio_stacks_in_446630").mediaelementplayer({pluginPath:"rw_common/plugins/stacks/mediaelement/",flashName:"flashmediaelement.swf",silverlightName:"silverlightmediaelement.xap",startVolume:0.70,loop:false,pauseOtherPlayers:true,enableAutosize:true,success:function(media){media.play();}});});
984
985return stack;})(stacks.stacks_in_446630);
986stacks.stacks_in_447389 = {};
987stacks.stacks_in_447389 = (function(stack) {
988var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
989	
990		$('#stacks_in_447389 > .container').parentsUntil('.stacks_top').css('overflow', 'visible');
991		$('.stacks_top').css({'overflow' : 'visible'});
992	
993});
994
995return stack;})(stacks.stacks_in_447389);
996stacks.stacks_in_509488 = {};
997stacks.stacks_in_509488 = (function(stack) {
998var jQuery = stacks.jQuery;var $ = jQuery;
999
1000
1001return stack;})(stacks.stacks_in_509488);
1002stacks.stacks_in_509153 = {};
1003stacks.stacks_in_509153 = (function(stack) {
1004var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function(){
1005	
1006});
1007return stack;})(stacks.stacks_in_509153);
1008stacks.stacks_in_509490 = {};
1009stacks.stacks_in_509490 = (function(stack) {
1010var jQuery = stacks.jQuery;var $ = jQuery;
1011
1012
1013return stack;})(stacks.stacks_in_509490);
1014stacks.stacks_in_457735_457738 = {};
1015stacks.stacks_in_457735_457738 = (function(stack) {
1016var jQuery = stacks.jQuery;var $ = jQuery;
1017$(document).ready(function() {
1018
1019    $('#scrollToTopButton').hide().prependTo('.blur_wrapper');
1020
1021    // Scroll to top behavior
1022    $('#scrollToTopButton').click(function() {
1023      $('html, body').animate({ scrollTop: 0 }, 600);
1024    });
1025
1026    var startY = 400;
1027        $(window).scroll(function(){
1028        checkY();
1029    });
1030
1031    function checkY(){
1032        if( $(window).scrollTop() > startY ){
1033            $('#scrollToTopButton').show().removeClass('fadeOutDown').addClass('fadeInUp');
1034        } else {
1035            $('#scrollToTopButton').removeClass('fadeInUp').addClass('fadeOutDown');
1036        }
1037    }
1038
1039});
1040
1041return stack;})(stacks.stacks_in_457735_457738);

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.