PageSourceSearch

https://rensguesthouse.com/_static/??-eJyVUMsKwkAM/CHXKMWqB/Fb1m3a…f5Lzu2z+6LThywbGJR5fuXMp+3+UGyOu7IsugdVKIFm

js rensguesthouse.com collected 2026-10-07 10:46:44 UTC 150,308 bytes, 3,932 lines download raw bytes

1/**
2 * File navigation.js.
3 *
4 * Handles toggling the navigation menu for small screens and enables tab
5 * support for dropdown menus.
6 */
7( function() {
8	var container, button, menu, links, subMenus, i, len;
9
10	container = document.getElementById( 'site-navigation' );
11	if ( ! container ) {
12		return;
13	}
14
15	button = container.getElementsByTagName( 'button' )[0];
16	if ( 'undefined' === typeof button ) {
17		return;
18	}
19
20	menu = container.getElementsByTagName( 'ul' )[0];
21
22	// Hide menu toggle button if menu is empty and return early.
23	if ( 'undefined' === typeof menu ) {
24		button.style.display = 'none';
25		return;
26	}
27
28	menu.setAttribute( 'aria-expanded', 'false' );
29	if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
30		menu.className += ' nav-menu';
31	}
32
33	button.onclick = function() {
34		if ( -1 !== container.className.indexOf( 'toggled' ) ) {
35			container.className = container.className.replace( ' toggled', '' );
36			button.setAttribute( 'aria-expanded', 'false' );
37			menu.setAttribute( 'aria-expanded', 'false' );
38		} else {
39			container.className += ' toggled';
40			button.setAttribute( 'aria-expanded', 'true' );
41			menu.setAttribute( 'aria-expanded', 'true' );
42		}
43	};
44
45	// Get all the link elements within the menu.
46	links    = menu.getElementsByTagName( 'a' );
47	subMenus = menu.getElementsByTagName( 'ul' );
48
49	// Set menu items with submenus to aria-haspopup="true".
50	for ( i = 0, len = subMenus.length; i < len; i++ ) {
51		subMenus[i].parentNode.setAttribute( 'aria-haspopup', 'true' );
52	}
53
54	// Each time a menu link is focused or blurred, toggle focus.
55	for ( i = 0, len = links.length; i < len; i++ ) {
56		links[i].addEventListener( 'focus', toggleFocus, true );
57		links[i].addEventListener( 'blur', toggleFocus, true );
58	}
59
60	/**
61	 * Sets or removes .focus class on an element.
62	 */
63	function toggleFocus() {
64		var self = this;
65
66		// Move up through the ancestors of the current link until we hit .nav-menu.
67		while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
68
69			// On li elements toggle the class .focus.
70			if ( 'li' === self.tagName.toLowerCase() ) {
71				if ( -1 !== self.className.indexOf( 'focus' ) ) {
72					self.className = self.className.replace( ' focus', '' );
73				} else {
74					self.className += ' focus';
75				}
76			}
77
78			self = self.parentElement;
79		}
80	}
81} )();
82;
83/**
84 * File skip-link-focus-fix.js.
85 *
86 * Helps with accessibility for keyboard only users.
87 *
88 * Learn more: https://git.io/vWdr2
89 */
90( function() {
91	var isWebkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
92	    isOpera  = navigator.userAgent.toLowerCase().indexOf( 'opera' )  > -1,
93	    isIe     = navigator.userAgent.toLowerCase().indexOf( 'msie' )   > -1;
94
95	if ( ( isWebkit || isOpera || isIe ) && document.getElementById && window.addEventListener ) {
96		window.addEventListener( 'hashchange', function() {
97			var id = location.hash.substring( 1 ),
98				element;
99
100			if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
101				return;
102			}
103
104			element = document.getElementById( id );
105
106			if ( element ) {
107				if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
108					element.tabIndex = -1;
109				}
110
111				element.focus();
112			}
113		}, false );
114	}
115})();
116;
117/*
118     _ _      _       _
119 ___| (_) ___| | __  (_)___
120/ __| | |/ __| |/ /  | / __|
121\__ \ | | (__|   < _ | \__ \
122|___/_|_|\___|_|\_(_)/ |___/
123                   |__/
124
125 Version: 1.5.9
126  Author: Ken Wheeler
127 Website: http://kenwheeler.github.io
128    Docs: http://kenwheeler.github.io/slick
129    Repo: http://github.com/kenwheeler/slick
130  Issues: http://github.com/kenwheeler/slick/issues
131
132 */
133/* global window, document, define, jQuery, setInterval, clearInterval */
134(function(factory) {
135    'use strict';
136    if (typeof define === 'function' && define.amd) {
137        define(['jquery'], factory);
138    } else if (typeof exports !== 'undefined') {
139        module.exports = factory(require('jquery'));
140    } else {
141        factory(jQuery);
142    }
143
144}(function($) {
145    'use strict';
146    var Slick = window.Slick || {};
147
148    Slick = (function() {
149
150        var instanceUid = 0;
151
152        function Slick(element, settings) {
153
154            var _ = this, dataSettings;
155
156            _.defaults = {
157                accessibility: true,
158                adaptiveHeight: false,
159                appendArrows: $(element),
160                appendDots: $(element),
161                arrows: true,
162                asNavFor: null,
163                prevArrow: '<button type="button" data-role="none" class="slick-prev" aria-label="Previous" tabindex="0" role="button">Previous</button>',
164                nextArrow: '<button type="button" data-role="none" class="slick-next" aria-label="Next" tabindex="0" role="button">Next</button>',
165                autoplay: false,
166                autoplaySpeed: 3000,
167                centerMode: false,
168                centerPadding: '50px',
169                cssEase: 'ease',
170                customPaging: function(slider, i) {
171                    return '<button type="button" data-role="none" role="button" aria-required="false" tabindex="0">' + (i + 1) + '</button>';
172                },
173                dots: false,
174                dotsClass: 'slick-dots',
175                draggable: true,
176                easing: 'linear',
177                edgeFriction: 0.35,
178                fade: false,
179                focusOnSelect: false,
180                infinite: true,
181                initialSlide: 0,
182                lazyLoad: 'ondemand',
183                mobileFirst: false,
184                pauseOnHover: true,
185                pauseOnDotsHover: false,
186                respondTo: 'window',
187                responsive: null,
188                rows: 1,
189                rtl: false,
190                slide: '',
191                slidesPerRow: 1,
192                slidesToShow: 1,
193                slidesToScroll: 1,
194                speed: 500,
195                swipe: true,
196                swipeToSlide: false,
197                touchMove: true,
198                touchThreshold: 5,
199                useCSS: true,
200                useTransform: false,
201                variableWidth: false,
202                vertical: false,
203                verticalSwiping: false,
204                waitForAnimate: true,
205                zIndex: 1000
206            };
207
208            _.initials = {
209                animating: false,
210                dragging: false,
211                autoPlayTimer: null,
212                currentDirection: 0,
213                currentLeft: null,
214                currentSlide: 0,
215                direction: 1,
216                $dots: null,
217                listWidth: null,
218                listHeight: null,
219                loadIndex: 0,
220                $nextArrow: null,
221                $prevArrow: null,
222                slideCount: null,
223                slideWidth: null,
224                $slideTrack: null,
225                $slides: null,
226                sliding: false,
227                slideOffset: 0,
228                swipeLeft: null,
229                $list: null,
230                touchObject: {},
231                transformsEnabled: false,
vendor: 5,875 bytes, lines 232-412
232                unslicked: false
233            };
234
235            $.extend(_, _.initials);
236
237            _.activeBreakpoint = null;
238            _.animType = null;
239            _.animProp = null;
240            _.breakpoints = [];
241            _.breakpointSettings = [];
242            _.cssTransitions = false;
243            _.hidden = 'hidden';
244            _.paused = false;
245            _.positionProp = null;
246            _.respondTo = null;
247            _.rowCount = 1;
248            _.shouldClick = true;
249            _.$slider = $(element);
250            _.$slidesCache = null;
251            _.transformType = null;
252            _.transitionType = null;
253            _.visibilityChange = 'visibilitychange';
254            _.windowWidth = 0;
255            _.windowTimer = null;
256
257            dataSettings = $(element).data('slick') || {};
258
259            _.options = $.extend({}, _.defaults, dataSettings, settings);
260
261            _.currentSlide = _.options.initialSlide;
262
263            _.originalSettings = _.options;
264
265            if (typeof document.mozHidden !== 'undefined') {
266                _.hidden = 'mozHidden';
267                _.visibilityChange = 'mozvisibilitychange';
268            } else if (typeof document.webkitHidden !== 'undefined') {
269                _.hidden = 'webkitHidden';
270                _.visibilityChange = 'webkitvisibilitychange';
271            }
272
273            _.autoPlay = $.proxy(_.autoPlay, _);
274            _.autoPlayClear = $.proxy(_.autoPlayClear, _);
275            _.changeSlide = $.proxy(_.changeSlide, _);
276            _.clickHandler = $.proxy(_.clickHandler, _);
277            _.selectHandler = $.proxy(_.selectHandler, _);
278            _.setPosition = $.proxy(_.setPosition, _);
279            _.swipeHandler = $.proxy(_.swipeHandler, _);
280            _.dragHandler = $.proxy(_.dragHandler, _);
281            _.keyHandler = $.proxy(_.keyHandler, _);
282            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
283
284            _.instanceUid = instanceUid++;
285
286            // A simple way to check for HTML strings
287            // Strict HTML recognition (must start with <)
288            // Extracted from jQuery v1.11 source
289            _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
290
291
292            _.registerBreakpoints();
293            _.init(true);
294            _.checkResponsive(true);
295
296        }
297
298        return Slick;
299
300    }());
301
302    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
303
304        var _ = this;
305
306        if (typeof(index) === 'boolean') {
307            addBefore = index;
308            index = null;
309        } else if (index < 0 || (index >= _.slideCount)) {
310            return false;
311        }
312
313        _.unload();
314
315        if (typeof(index) === 'number') {
316            if (index === 0 && _.$slides.length === 0) {
317                $(markup).appendTo(_.$slideTrack);
318            } else if (addBefore) {
319                $(markup).insertBefore(_.$slides.eq(index));
320            } else {
321                $(markup).insertAfter(_.$slides.eq(index));
322            }
323        } else {
324            if (addBefore === true) {
325                $(markup).prependTo(_.$slideTrack);
326            } else {
327                $(markup).appendTo(_.$slideTrack);
328            }
329        }
330
331        _.$slides = _.$slideTrack.children(this.options.slide);
332
333        _.$slideTrack.children(this.options.slide).detach();
334
335        _.$slideTrack.append(_.$slides);
336
337        _.$slides.each(function(index, element) {
338            $(element).attr('data-slick-index', index);
339        });
340
341        _.$slidesCache = _.$slides;
342
343        _.reinit();
344
345    };
346
347    Slick.prototype.animateHeight = function() {
348        var _ = this;
349        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
350            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
351            _.$list.animate({
352                height: targetHeight
353            }, _.options.speed);
354        }
355    };
356
357    Slick.prototype.animateSlide = function(targetLeft, callback) {
358
359        var animProps = {},
360            _ = this;
361
362        _.animateHeight();
363
364        if (_.options.rtl === true && _.options.vertical === false) {
365            targetLeft = -targetLeft;
366        }
367        if (_.transformsEnabled === false) {
368            if (_.options.vertical === false) {
369                _.$slideTrack.animate({
370                    left: targetLeft
371                }, _.options.speed, _.options.easing, callback);
372            } else {
373                _.$slideTrack.animate({
374                    top: targetLeft
375                }, _.options.speed, _.options.easing, callback);
376            }
377
378        } else {
379
380            if (_.cssTransitions === false) {
381                if (_.options.rtl === true) {
382                    _.currentLeft = -(_.currentLeft);
383                }
384                $({
385                    animStart: _.currentLeft
386                }).animate({
387                    animStart: targetLeft
388                }, {
389                    duration: _.options.speed,
390                    easing: _.options.easing,
391                    step: function(now) {
392                        now = Math.ceil(now);
393                        if (_.options.vertical === false) {
394                            animProps[_.animType] = 'translate(' +
395                                now + 'px, 0px)';
396                            _.$slideTrack.css(animProps);
397                        } else {
398                            animProps[_.animType] = 'translate(0px,' +
399                                now + 'px)';
400                            _.$slideTrack.css(animProps);
401                        }
402                    },
403                    complete: function() {
404                        if (callback) {
405                            callback.call();
406                        }
407                    }
408                });
409
410            } else {
411
412                _.applyTransition();
413                targetLeft = Math.ceil(targetLeft);
414
415                if (_.options.vertical === false) {
416                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
417                } else {
418                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
419                }
420                _.$slideTrack.css(animProps);
421
422                if (callback) {
423                    setTimeout(function() {
424
425                        _.disableTransition();
426
427                        callback.call();
428                    }, _.options.speed);
429                }
430
431            }
432
433        }
434
435    };
436
437    Slick.prototype.asNavFor = function(index) {
438
439        var _ = this,
440            asNavFor = _.options.asNavFor;
441
442        if ( asNavFor && asNavFor !== null ) {
443            asNavFor = $(asNavFor).not(_.$slider);
444        }
445
446        if ( asNavFor !== null && typeof asNavFor === 'object' ) {
447            asNavFor.each(function() {
448                var target = $(this).slick('getSlick');
449                if(!target.unslicked) {
450                    target.slideHandler(index, true);
451                }
452            });
453        }
454
455    };
456
457    Slick.prototype.applyTransition = function(slide) {
458
459        var _ = this,
460            transition = {};
461
462        if (_.options.fade === false) {
463            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
464        } else {
465            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
466        }
467
468        if (_.options.fade === false) {
469            _.$slideTrack.css(transition);
470        } else {
471            _.$slides.eq(slide).css(transition);
472        }
473
474    };
475
476    Slick.prototype.autoPlay = function() {
477
478        var _ = this;
479
480        if (_.autoPlayTimer) {
481            clearInterval(_.autoPlayTimer);
482        }
483
484        if (_.slideCount > _.options.slidesToShow && _.paused !== true) {
485            _.autoPlayTimer = setInterval(_.autoPlayIterator,
486                _.options.autoplaySpeed);
487        }
488
489    };
490
491    Slick.prototype.autoPlayClear = function() {
492
493        var _ = this;
494        if (_.autoPlayTimer) {
495            clearInterval(_.autoPlayTimer);
496        }
497
498    };
499
500    Slick.prototype.autoPlayIterator = function() {
501
502        var _ = this;
503
504        if (_.options.infinite === false) {
505
506            if (_.direction === 1) {
507
508                if ((_.currentSlide + 1) === _.slideCount -
509                    1) {
510                    _.direction = 0;
511                }
512
513                _.slideHandler(_.currentSlide + _.options.slidesToScroll);
514
515            } else {
516
517                if ((_.currentSlide - 1 === 0)) {
518
519                    _.direction = 1;
520
521                }
522
523                _.slideHandler(_.currentSlide - _.options.slidesToScroll);
524
525            }
526
527        } else {
528
529            _.slideHandler(_.currentSlide + _.options.slidesToScroll);
530
531        }
532
533    };
534
535    Slick.prototype.buildArrows = function() {
536
537        var _ = this;
538
539        if (_.options.arrows === true ) {
540
541            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
542            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
543
544            if( _.slideCount > _.options.slidesToShow ) {
545
546                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
547                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
548
549                if (_.htmlExpr.test(_.options.prevArrow)) {
550                    _.$prevArrow.prependTo(_.options.appendArrows);
551                }
552
553                if (_.htmlExpr.test(_.options.nextArrow)) {
554                    _.$nextArrow.appendTo(_.options.appendArrows);
555                }
556
557                if (_.options.infinite !== true) {
558                    _.$prevArrow
559                        .addClass('slick-disabled')
560                        .attr('aria-disabled', 'true');
561                }
562
563            } else {
564
565                _.$prevArrow.add( _.$nextArrow )
566
567                    .addClass('slick-hidden')
568                    .attr({
569                        'aria-disabled': 'true',
570                        'tabindex': '-1'
571                    });
572
573            }
574
575        }
576
577    };
578
579    Slick.prototype.buildDots = function() {
580
581        var _ = this,
582            i, dotString;
583
584        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
585
586            dotString = '<ul class="' + _.options.dotsClass + '">';
587
588            for (i = 0; i <= _.getDotCount(); i += 1) {
589                dotString += '<li>' + _.options.customPaging.call(this, _, i) + '</li>';
590            }
591
592            dotString += '</ul>';
593
594            _.$dots = $(dotString).appendTo(
vendor: 14,856 bytes, lines 595-1078
595                _.options.appendDots);
596
597            _.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');
598
599        }
600
601    };
602
603    Slick.prototype.buildOut = function() {
604
605        var _ = this;
606
607        _.$slides =
608            _.$slider
609                .children( _.options.slide + ':not(.slick-cloned)')
610                .addClass('slick-slide');
611
612        _.slideCount = _.$slides.length;
613
614        _.$slides.each(function(index, element) {
615            $(element)
616                .attr('data-slick-index', index)
617                .data('originalStyling', $(element).attr('style') || '');
618        });
619
620        _.$slider.addClass('slick-slider');
621
622        _.$slideTrack = (_.slideCount === 0) ?
623            $('<div class="slick-track"/>').appendTo(_.$slider) :
624            _.$slides.wrapAll('<div class="slick-track"/>').parent();
625
626        _.$list = _.$slideTrack.wrap(
627            '<div aria-live="polite" class="slick-list"/>').parent();
628        _.$slideTrack.css('opacity', 0);
629
630        if (_.options.centerMode === true || _.options.swipeToSlide === true) {
631            _.options.slidesToScroll = 1;
632        }
633
634        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
635
636        _.setupInfinite();
637
638        _.buildArrows();
639
640        _.buildDots();
641
642        _.updateDots();
643
644
645        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
646
647        if (_.options.draggable === true) {
648            _.$list.addClass('draggable');
649        }
650
651    };
652
653    Slick.prototype.buildRows = function() {
654
655        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
656
657        newSlides = document.createDocumentFragment();
658        originalSlides = _.$slider.children();
659
660        if(_.options.rows > 1) {
661
662            slidesPerSection = _.options.slidesPerRow * _.options.rows;
663            numOfSlides = Math.ceil(
664                originalSlides.length / slidesPerSection
665            );
666
667            for(a = 0; a < numOfSlides; a++){
668                var slide = document.createElement('div');
669                for(b = 0; b < _.options.rows; b++) {
670                    var row = document.createElement('div');
671                    for(c = 0; c < _.options.slidesPerRow; c++) {
672                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
673                        if (originalSlides.get(target)) {
674                            row.appendChild(originalSlides.get(target));
675                        }
676                    }
677                    slide.appendChild(row);
678                }
679                newSlides.appendChild(slide);
680            }
681
682            _.$slider.html(newSlides);
683            _.$slider.children().children().children()
684                .css({
685                    'width':(100 / _.options.slidesPerRow) + '%',
686                    'display': 'inline-block'
687                });
688
689        }
690
691    };
692
693    Slick.prototype.checkResponsive = function(initial, forceUpdate) {
694
695        var _ = this,
696            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
697        var sliderWidth = _.$slider.width();
698        var windowWidth = window.innerWidth || $(window).width();
699
700        if (_.respondTo === 'window') {
701            respondToWidth = windowWidth;
702        } else if (_.respondTo === 'slider') {
703            respondToWidth = sliderWidth;
704        } else if (_.respondTo === 'min') {
705            respondToWidth = Math.min(windowWidth, sliderWidth);
706        }
707
708        if ( _.options.responsive &&
709            _.options.responsive.length &&
710            _.options.responsive !== null) {
711
712            targetBreakpoint = null;
713
714            for (breakpoint in _.breakpoints) {
715                if (_.breakpoints.hasOwnProperty(breakpoint)) {
716                    if (_.originalSettings.mobileFirst === false) {
717                        if (respondToWidth < _.breakpoints[breakpoint]) {
718                            targetBreakpoint = _.breakpoints[breakpoint];
719                        }
720                    } else {
721                        if (respondToWidth > _.breakpoints[breakpoint]) {
722                            targetBreakpoint = _.breakpoints[breakpoint];
723                        }
724                    }
725                }
726            }
727
728            if (targetBreakpoint !== null) {
729                if (_.activeBreakpoint !== null) {
730                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
731                        _.activeBreakpoint =
732                            targetBreakpoint;
733                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
734                            _.unslick(targetBreakpoint);
735                        } else {
736                            _.options = $.extend({}, _.originalSettings,
737                                _.breakpointSettings[
738                                    targetBreakpoint]);
739                            if (initial === true) {
740                                _.currentSlide = _.options.initialSlide;
741                            }
742                            _.refresh(initial);
743                        }
744                        triggerBreakpoint = targetBreakpoint;
745                    }
746                } else {
747                    _.activeBreakpoint = targetBreakpoint;
748                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
749                        _.unslick(targetBreakpoint);
750                    } else {
751                        _.options = $.extend({}, _.originalSettings,
752                            _.breakpointSettings[
753                                targetBreakpoint]);
754                        if (initial === true) {
755                            _.currentSlide = _.options.initialSlide;
756                        }
757                        _.refresh(initial);
758                    }
759                    triggerBreakpoint = targetBreakpoint;
760                }
761            } else {
762                if (_.activeBreakpoint !== null) {
763                    _.activeBreakpoint = null;
764                    _.options = _.originalSettings;
765                    if (initial === true) {
766                        _.currentSlide = _.options.initialSlide;
767                    }
768                    _.refresh(initial);
769                    triggerBreakpoint = targetBreakpoint;
770                }
771            }
772
773            // only trigger breakpoints during an actual break. not on initialize.
774            if( !initial && triggerBreakpoint !== false ) {
775                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
776            }
777        }
778
779    };
780
781    Slick.prototype.changeSlide = function(event, dontAnimate) {
782
783        var _ = this,
784            $target = $(event.target),
785            indexOffset, slideOffset, unevenOffset;
786
787        // If target is a link, prevent default action.
788        if($target.is('a')) {
789            event.preventDefault();
790        }
791
792        // If target is not the <li> element (ie: a child), find the <li>.
793        if(!$target.is('li')) {
794            $target = $target.closest('li');
795        }
796
797        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
798        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
799
800        switch (event.data.message) {
801
802            case 'previous':
803                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
804                if (_.slideCount > _.options.slidesToShow) {
805                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
806                }
807                break;
808
809            case 'next':
810                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
811                if (_.slideCount > _.options.slidesToShow) {
812                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
813                }
814                break;
815
816            case 'index':
817                var index = event.data.index === 0 ? 0 :
818                    event.data.index || $target.index() * _.options.slidesToScroll;
819
820                _.slideHandler(_.checkNavigable(index), false, dontAnimate);
821                $target.children().trigger('focus');
822                break;
823
824            default:
825                return;
826        }
827
828    };
829
830    Slick.prototype.checkNavigable = function(index) {
831
832        var _ = this,
833            navigables, prevNavigable;
834
835        navigables = _.getNavigableIndexes();
836        prevNavigable = 0;
837        if (index > navigables[navigables.length - 1]) {
838            index = navigables[navigables.length - 1];
839        } else {
840            for (var n in navigables) {
841                if (index < navigables[n]) {
842                    index = prevNavigable;
843                    break;
844                }
845                prevNavigable = navigables[n];
846            }
847        }
848
849        return index;
850    };
851
852    Slick.prototype.cleanUpEvents = function() {
853
854        var _ = this;
855
856        if (_.options.dots && _.$dots !== null) {
857
858            $('li', _.$dots).off('click.slick', _.changeSlide);
859
860            if (_.options.pauseOnDotsHover === true && _.options.autoplay === true) {
861
862                $('li', _.$dots)
863                    .off('mouseenter.slick', $.proxy(_.setPaused, _, true))
864                    .off('mouseleave.slick', $.proxy(_.setPaused, _, false));
865
866            }
867
868        }
869
870        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
871            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
872            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
873        }
874
875        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
876        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
877        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
878        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
879
880        _.$list.off('click.slick', _.clickHandler);
881
882        $(document).off(_.visibilityChange, _.visibility);
883
884        _.$list.off('mouseenter.slick', $.proxy(_.setPaused, _, true));
885        _.$list.off('mouseleave.slick', $.proxy(_.setPaused, _, false));
886
887        if (_.options.accessibility === true) {
888            _.$list.off('keydown.slick', _.keyHandler);
889        }
890
891        if (_.options.focusOnSelect === true) {
892            $(_.$slideTrack).children().off('click.slick', _.selectHandler);
893        }
894
895        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
896
897        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
898
899        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
900
901        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
902        $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);
903    };
904
905    Slick.prototype.cleanUpRows = function() {
906
907        var _ = this, originalSlides;
908
909        if(_.options.rows > 1) {
910            originalSlides = _.$slides.children().children();
911            originalSlides.removeAttr('style');
912            _.$slider.html(originalSlides);
913        }
914
915    };
916
917    Slick.prototype.clickHandler = function(event) {
918
919        var _ = this;
920
921        if (_.shouldClick === false) {
922            event.stopImmediatePropagation();
923            event.stopPropagation();
924            event.preventDefault();
925        }
926
927    };
928
929    Slick.prototype.destroy = function(refresh) {
930
931        var _ = this;
932
933        _.autoPlayClear();
934
935        _.touchObject = {};
936
937        _.cleanUpEvents();
938
939        $('.slick-cloned', _.$slider).detach();
940
941        if (_.$dots) {
942            _.$dots.remove();
943        }
944
945
946        if ( _.$prevArrow && _.$prevArrow.length ) {
947
948            _.$prevArrow
949                .removeClass('slick-disabled slick-arrow slick-hidden')
950                .removeAttr('aria-hidden aria-disabled tabindex')
951                .css("display","");
952
953            if ( _.htmlExpr.test( _.options.prevArrow )) {
954                _.$prevArrow.remove();
955            }
956        }
957
958        if ( _.$nextArrow && _.$nextArrow.length ) {
959
960            _.$nextArrow
961                .removeClass('slick-disabled slick-arrow slick-hidden')
962                .removeAttr('aria-hidden aria-disabled tabindex')
963                .css("display","");
964
965            if ( _.htmlExpr.test( _.options.nextArrow )) {
966                _.$nextArrow.remove();
967            }
968
969        }
970
971
972        if (_.$slides) {
973
974            _.$slides
975                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
976                .removeAttr('aria-hidden')
977                .removeAttr('data-slick-index')
978                .each(function(){
979                    $(this).attr('style', $(this).data('originalStyling'));
980                });
981
982            _.$slideTrack.children(this.options.slide).detach();
983
984            _.$slideTrack.detach();
985
986            _.$list.detach();
987
988            _.$slider.append(_.$slides);
989        }
990
991        _.cleanUpRows();
992
993        _.$slider.removeClass('slick-slider');
994        _.$slider.removeClass('slick-initialized');
995
996        _.unslicked = true;
997
998        if(!refresh) {
999            _.$slider.trigger('destroy', [_]);
1000        }
1001
1002    };
1003
1004    Slick.prototype.disableTransition = function(slide) {
1005
1006        var _ = this,
1007            transition = {};
1008
1009        transition[_.transitionType] = '';
1010
1011        if (_.options.fade === false) {
1012            _.$slideTrack.css(transition);
1013        } else {
1014            _.$slides.eq(slide).css(transition);
1015        }
1016
1017    };
1018
1019    Slick.prototype.fadeSlide = function(slideIndex, callback) {
1020
1021        var _ = this;
1022
1023        if (_.cssTransitions === false) {
1024
1025            _.$slides.eq(slideIndex).css({
1026                zIndex: _.options.zIndex
1027            });
1028
1029            _.$slides.eq(slideIndex).animate({
1030                opacity: 1
1031            }, _.options.speed, _.options.easing, callback);
1032
1033        } else {
1034
1035            _.applyTransition(slideIndex);
1036
1037            _.$slides.eq(slideIndex).css({
1038                opacity: 1,
1039                zIndex: _.options.zIndex
1040            });
1041
1042            if (callback) {
1043                setTimeout(function() {
1044
1045                    _.disableTransition(slideIndex);
1046
1047                    callback.call();
1048                }, _.options.speed);
1049            }
1050
1051        }
1052
1053    };
1054
1055    Slick.prototype.fadeSlideOut = function(slideIndex) {
1056
1057        var _ = this;
1058
1059        if (_.cssTransitions === false) {
1060
1061            _.$slides.eq(slideIndex).animate({
1062                opacity: 0,
1063                zIndex: _.options.zIndex - 2
1064            }, _.options.speed, _.options.easing);
1065
1066        } else {
1067
1068            _.applyTransition(slideIndex);
1069
1070            _.$slides.eq(slideIndex).css({
1071                opacity: 0,
1072                zIndex: _.options.zIndex - 2
1073            });
1074
1075        }
1076
1077    };
1078
1079    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
1080
1081        var _ = this;
1082
1083        if (filter !== null) {
1084
1085            _.$slidesCache = _.$slides;
1086
1087            _.unload();
1088
1089            _.$slideTrack.children(this.options.slide).detach();
1090
1091            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
1092
1093            _.reinit();
1094
1095        }
1096
1097    };
1098
1099    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
1100
1101        var _ = this;
1102        return _.currentSlide;
1103
1104    };
1105
1106    Slick.prototype.getDotCount = function() {
1107
1108        var _ = this;
1109
1110        var breakPoint = 0;
1111        var counter = 0;
1112        var pagerQty = 0;
1113
1114        if (_.options.infinite === true) {
1115            while (breakPoint < _.slideCount) {
1116                ++pagerQty;
1117                breakPoint = counter + _.options.slidesToScroll;
1118                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1119            }
1120        } else if (_.options.centerMode === true) {
1121            pagerQty = _.slideCount;
1122        } else {
1123            while (breakPoint < _.slideCount) {
1124                ++pagerQty;
1125                breakPoint = counter + _.options.slidesToScroll;
1126                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1127            }
1128        }
1129
1130        return pagerQty - 1;
1131
1132    };
1133
1134    Slick.prototype.getLeft = function(slideIndex) {
1135
1136        var _ = this,
1137            targetLeft,
1138            verticalHeight,
1139            verticalOffset = 0,
1140            targetSlide;
1141
1142        _.slideOffset = 0;
1143        verticalHeight = _.$slides.first().outerHeight(true);
1144
1145        if (_.options.infinite === true) {
1146            if (_.slideCount > _.options.slidesToShow) {
1147                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
1148                verticalOffset = (verticalHeight * _.options.slidesToShow) * -1;
1149            }
1150            if (_.slideCount % _.options.slidesToScroll !== 0) {
1151                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
1152                    if (slideIndex > _.slideCount) {
1153                        _.slideOffset = ((_.options.slidesToShow - (sl
vendor: 11,012 bytes, lines 1153-1501
1153ideIndex - _.slideCount)) * _.slideWidth) * -1;
1154                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
1155                    } else {
1156                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
1157                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
1158                    }
1159                }
1160            }
1161        } else {
1162            if (slideIndex + _.options.slidesToShow > _.slideCount) {
1163                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
1164                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
1165            }
1166        }
1167
1168        if (_.slideCount <= _.options.slidesToShow) {
1169            _.slideOffset = 0;
1170            verticalOffset = 0;
1171        }
1172
1173        if (_.options.centerMode === true && _.options.infinite === true) {
1174            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
1175        } else if (_.options.centerMode === true) {
1176            _.slideOffset = 0;
1177            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
1178        }
1179
1180        if (_.options.vertical === false) {
1181            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
1182        } else {
1183            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
1184        }
1185
1186        if (_.options.variableWidth === true) {
1187
1188            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1189                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1190            } else {
1191                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
1192            }
1193
1194            if (_.options.rtl === true) {
1195                if (targetSlide[0]) {
1196                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1197                } else {
1198                    targetLeft =  0;
1199                }
1200            } else {
1201                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1202            }
1203
1204            if (_.options.centerMode === true) {
1205                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1206                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1207                } else {
1208                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
1209                }
1210
1211                if (_.options.rtl === true) {
1212                    if (targetSlide[0]) {
1213                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1214                    } else {
1215                        targetLeft =  0;
1216                    }
1217                } else {
1218                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1219                }
1220
1221                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
1222            }
1223        }
1224
1225        return targetLeft;
1226
1227    };
1228
1229    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
1230
1231        var _ = this;
1232
1233        return _.options[option];
1234
1235    };
1236
1237    Slick.prototype.getNavigableIndexes = function() {
1238
1239        var _ = this,
1240            breakPoint = 0,
1241            counter = 0,
1242            indexes = [],
1243            max;
1244
1245        if (_.options.infinite === false) {
1246            max = _.slideCount;
1247        } else {
1248            breakPoint = _.options.slidesToScroll * -1;
1249            counter = _.options.slidesToScroll * -1;
1250            max = _.slideCount * 2;
1251        }
1252
1253        while (breakPoint < max) {
1254            indexes.push(breakPoint);
1255            breakPoint = counter + _.options.slidesToScroll;
1256            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1257        }
1258
1259        return indexes;
1260
1261    };
1262
1263    Slick.prototype.getSlick = function() {
1264
1265        return this;
1266
1267    };
1268
1269    Slick.prototype.getSlideCount = function() {
1270
1271        var _ = this,
1272            slidesTraversed, swipedSlide, centerOffset;
1273
1274        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
1275
1276        if (_.options.swipeToSlide === true) {
1277            _.$slideTrack.find('.slick-slide').each(function(index, slide) {
1278                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
1279                    swipedSlide = slide;
1280                    return false;
1281                }
1282            });
1283
1284            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
1285
1286            return slidesTraversed;
1287
1288        } else {
1289            return _.options.slidesToScroll;
1290        }
1291
1292    };
1293
1294    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
1295
1296        var _ = this;
1297
1298        _.changeSlide({
1299            data: {
1300                message: 'index',
1301                index: parseInt(slide)
1302            }
1303        }, dontAnimate);
1304
1305    };
1306
1307    Slick.prototype.init = function(creation) {
1308
1309        var _ = this;
1310
1311        if (!$(_.$slider).hasClass('slick-initialized')) {
1312
1313            $(_.$slider).addClass('slick-initialized');
1314
1315            _.buildRows();
1316            _.buildOut();
1317            _.setProps();
1318            _.startLoad();
1319            _.loadSlider();
1320            _.initializeEvents();
1321            _.updateArrows();
1322            _.updateDots();
1323
1324        }
1325
1326        if (creation) {
1327            _.$slider.trigger('init', [_]);
1328        }
1329
1330        if (_.options.accessibility === true) {
1331            _.initADA();
1332        }
1333
1334    };
1335
1336    Slick.prototype.initArrowEvents = function() {
1337
1338        var _ = this;
1339
1340        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1341            _.$prevArrow.on('click.slick', {
1342                message: 'previous'
1343            }, _.changeSlide);
1344            _.$nextArrow.on('click.slick', {
1345                message: 'next'
1346            }, _.changeSlide);
1347        }
1348
1349    };
1350
1351    Slick.prototype.initDotEvents = function() {
1352
1353        var _ = this;
1354
1355        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1356            $('li', _.$dots).on('click.slick', {
1357                message: 'index'
1358            }, _.changeSlide);
1359        }
1360
1361        if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) {
1362            $('li', _.$dots)
1363                .on('mouseenter.slick', $.proxy(_.setPaused, _, true))
1364                .on('mouseleave.slick', $.proxy(_.setPaused, _, false));
1365        }
1366
1367    };
1368
1369    Slick.prototype.initializeEvents = function() {
1370
1371        var _ = this;
1372
1373        _.initArrowEvents();
1374
1375        _.initDotEvents();
1376
1377        _.$list.on('touchstart.slick mousedown.slick', {
1378            action: 'start'
1379        }, _.swipeHandler);
1380        _.$list.on('touchmove.slick mousemove.slick', {
1381            action: 'move'
1382        }, _.swipeHandler);
1383        _.$list.on('touchend.slick mouseup.slick', {
1384            action: 'end'
1385        }, _.swipeHandler);
1386        _.$list.on('touchcancel.slick mouseleave.slick', {
1387            action: 'end'
1388        }, _.swipeHandler);
1389
1390        _.$list.on('click.slick', _.clickHandler);
1391
1392        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
1393
1394        _.$list.on('mouseenter.slick', $.proxy(_.setPaused, _, true));
1395        _.$list.on('mouseleave.slick', $.proxy(_.setPaused, _, false));
1396
1397        if (_.options.accessibility === true) {
1398            _.$list.on('keydown.slick', _.keyHandler);
1399        }
1400
1401        if (_.options.focusOnSelect === true) {
1402            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1403        }
1404
1405        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
1406
1407        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
1408
1409        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
1410
1411        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
1412        $(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);
1413
1414    };
1415
1416    Slick.prototype.initUI = function() {
1417
1418        var _ = this;
1419
1420        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1421
1422            _.$prevArrow.show();
1423            _.$nextArrow.show();
1424
1425        }
1426
1427        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1428
1429            _.$dots.show();
1430
1431        }
1432
1433        if (_.options.autoplay === true) {
1434
1435            _.autoPlay();
1436
1437        }
1438
1439    };
1440
1441    Slick.prototype.keyHandler = function(event) {
1442
1443        var _ = this;
1444         //Dont slide if the cursor is inside the form fields and arrow keys are pressed
1445        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
1446            if (event.keyCode === 37 && _.options.accessibility === true) {
1447                _.changeSlide({
1448                    data: {
1449                        message: 'previous'
1450                    }
1451                });
1452            } else if (event.keyCode === 39 && _.options.accessibility === true) {
1453                _.changeSlide({
1454                    data: {
1455                        message: 'next'
1456                    }
1457                });
1458            }
1459        }
1460
1461    };
1462
1463    Slick.prototype.lazyLoad = function() {
1464
1465        var _ = this,
1466            loadRange, cloneRange, rangeStart, rangeEnd;
1467
1468        function loadImages(imagesScope) {
1469            $('img[data-lazy]', imagesScope).each(function() {
1470
1471                var image = $(this),
1472                    imageSource = $(this).attr('data-lazy'),
1473                    imageToLoad = document.createElement('img');
1474
1475                imageToLoad.onload = function() {
1476                    image
1477                        .animate({ opacity: 0 }, 100, function() {
1478                            image
1479                                .attr('src', imageSource)
1480                                .animate({ opacity: 1 }, 200, function() {
1481                                    image
1482                                        .removeAttr('data-lazy')
1483                                        .removeClass('slick-loading');
1484                                });
1485                        });
1486                };
1487
1488                imageToLoad.src = imageSource;
1489
1490            });
1491        }
1492
1493        if (_.options.centerMode === true) {
1494            if (_.options.infinite === true) {
1495                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
1496                rangeEnd = rangeStart + _.options.slidesToShow + 2;
1497            } else {
1498                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
1499                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
1500            }
1501        } else {
1502            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
1503            rangeEnd = rangeStart + _.options.slidesToShow;
1504            if (_.options.fade === true) {
1505                if (rangeStart > 0) rangeStart--;
1506                if (rangeEnd <= _.slideCount) rangeEnd++;
1507            }
1508        }
1509
1510        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
1511        loadImages(loadRange);
1512
1513        if (_.slideCount <= _.options.slidesToShow) {
1514            cloneRange = _.$slider.find('.slick-slide');
1515            loadImages(cloneRange);
1516        } else
1517        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
1518            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
1519            loadImages(cloneRange);
1520        } else if (_.currentSlide === 0) {
1521            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
1522            loadImages(cloneRange);
1523        }
1524
1525    };
1526
1527    Slick.prototype.loadSlider = function() {
1528
1529        var _ = this;
1530
1531        _.setPosition();
1532
1533        _.$slideTrack.css({
1534            opacity: 1
1535        });
1536
1537        _.$slider.removeClass('slick-loading');
1538
1539        _.initUI();
1540
1541        if (_.options.lazyLoad === 'progressive') {
1542            _.progressiveLazyLoad();
1543        }
1544
1545    };
1546
1547    Slick.prototype.next = Slick.prototype.slickNext = function() {
1548
1549        var _ = this;
1550
1551        _.changeSlide({
1552            data: {
1553                message: 'next'
1554            }
1555        });
1556
1557    };
1558
1559    Slick.prototype.orientationChange = function() {
1560
1561        var _ = this;
1562
1563        _.checkResponsive();
1564        _.setPosition();
1565
1566    };
1567
1568    Slick.prototype.pause = Slick.prototype.slickPause = function() {
1569
1570        var _ = this;
1571
1572        _.autoPlayClear();
1573        _.paused = true;
1574
1575    };
1576
1577    Slick.prototype.play = Slick.prototype.slickPlay = function() {
1578
1579        var _ = this;
1580
1581        _.paused = false;
1582        _.autoPlay();
1583
1584    };
1585
1586    Slick.prototype.postSlide = function(index) {
1587
1588        var _ = this;
1589
1590        _.$slider.trigger('afterChange', [_, index]);
1591
1592        _.animating = false;
1593
1594        _.setPosition();
1595
1596        _.swipeLeft = null;
1597
1598        if (_.options.autoplay === true && _.paused === false) {
1599            _.autoPlay();
1600        }
1601        if (_.options.accessibility === true) {
1602            _.initADA();
1603        }
1604
1605    };
1606
1607    Slick.prototype.prev = Slick.prototype.slickPrev = function() {
1608
1609        var _ = this;
1610
1611        _.changeSlide({
1612            data: {
1613                message: 'previous'
1614            }
1615        });
1616
1617    };
1618
1619    Slick.prototype.preventDefault = function(event) {
1620        event.preventDefault();
1621    };
1622
1623    Slick.prototype.progressiveLazyLoad = function() {
1624
1625        var _ = this,
1626            imgCount, targetImage;
1627
1628        imgCount = $('img[data-lazy]', _.$slider).length;
1629
1630        if (imgCount > 0) {
1631            targetImage = $('img[data-lazy]', _.$slider).first();
1632            targetImage.attr('src', null);
1633            targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {
1634                    targetImage.removeAttr('data-lazy');
1635                    _.progressiveLazyLoad();
1636
1637                    if (_.options.adaptiveHeight === true) {
1638                        _.setPosition();
1639                    }
1640                })
1641                .error(function() {
1642                    targetImage.removeAttr('data-lazy');
1643                    _.progressiveLazyLoad();
1644                });
1645        }
1646
1647    };
1648
1649    Slick.prototype.refresh = function( initializing ) {
1650
1651        var _ = this, currentSlide, firstVisible;
1652
1653        firstVisible = _.slideCount - _.options.slidesToShow;
1654
1655        // check that the new breakpoint can actually accept the
1656        // "current slide" as the current slide, otherwise we need
1657        // to set it to the closest possible value.
1658        if ( !_.options.infinite ) {
1659            if ( _.slideCount <= _.options.slidesToShow ) {
1660                _.currentSlide = 0;
1661            } else if ( _.currentSlide > firstVisible ) {
1662                _.currentSlide = firstVisible;
1663            }
1664        }
1665
1666         currentSlide = _.currentSlide;
1667
1668        _.destroy(true);
1669
1670        $.extend(_, _.initials, { currentSlide: currentSlide });
1671
vendor: 7,897 bytes, lines 1672-1942
1672        _.init();
1673
1674        if( !initializing ) {
1675
1676            _.changeSlide({
1677                data: {
1678                    message: 'index',
1679                    index: currentSlide
1680                }
1681            }, false);
1682
1683        }
1684
1685    };
1686
1687    Slick.prototype.registerBreakpoints = function() {
1688
1689        var _ = this, breakpoint, currentBreakpoint, l,
1690            responsiveSettings = _.options.responsive || null;
1691
1692        if ( $.type(responsiveSettings) === "array" && responsiveSettings.length ) {
1693
1694            _.respondTo = _.options.respondTo || 'window';
1695
1696            for ( breakpoint in responsiveSettings ) {
1697
1698                l = _.breakpoints.length-1;
1699                currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
1700
1701                if (responsiveSettings.hasOwnProperty(breakpoint)) {
1702
1703                    // loop through the breakpoints and cut out any existing
1704                    // ones with the same breakpoint number, we don't want dupes.
1705                    while( l >= 0 ) {
1706                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
1707                            _.breakpoints.splice(l,1);
1708                        }
1709                        l--;
1710                    }
1711
1712                    _.breakpoints.push(currentBreakpoint);
1713                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
1714
1715                }
1716
1717            }
1718
1719            _.breakpoints.sort(function(a, b) {
1720                return ( _.options.mobileFirst ) ? a-b : b-a;
1721            });
1722
1723        }
1724
1725    };
1726
1727    Slick.prototype.reinit = function() {
1728
1729        var _ = this;
1730
1731        _.$slides =
1732            _.$slideTrack
1733                .children(_.options.slide)
1734                .addClass('slick-slide');
1735
1736        _.slideCount = _.$slides.length;
1737
1738        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
1739            _.currentSlide = _.currentSlide - _.options.slidesToScroll;
1740        }
1741
1742        if (_.slideCount <= _.options.slidesToShow) {
1743            _.currentSlide = 0;
1744        }
1745
1746        _.registerBreakpoints();
1747
1748        _.setProps();
1749        _.setupInfinite();
1750        _.buildArrows();
1751        _.updateArrows();
1752        _.initArrowEvents();
1753        _.buildDots();
1754        _.updateDots();
1755        _.initDotEvents();
1756
1757        _.checkResponsive(false, true);
1758
1759        if (_.options.focusOnSelect === true) {
1760            $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1761        }
1762
1763        _.setSlideClasses(0);
1764
1765        _.setPosition();
1766
1767        _.$slider.trigger('reInit', [_]);
1768
1769        if (_.options.autoplay === true) {
1770            _.focusHandler();
1771        }
1772
1773    };
1774
1775    Slick.prototype.resize = function() {
1776
1777        var _ = this;
1778
1779        if ($(window).width() !== _.windowWidth) {
1780            clearTimeout(_.windowDelay);
1781            _.windowDelay = window.setTimeout(function() {
1782                _.windowWidth = $(window).width();
1783                _.checkResponsive();
1784                if( !_.unslicked ) { _.setPosition(); }
1785            }, 50);
1786        }
1787    };
1788
1789    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
1790
1791        var _ = this;
1792
1793        if (typeof(index) === 'boolean') {
1794            removeBefore = index;
1795            index = removeBefore === true ? 0 : _.slideCount - 1;
1796        } else {
1797            index = removeBefore === true ? --index : index;
1798        }
1799
1800        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
1801            return false;
1802        }
1803
1804        _.unload();
1805
1806        if (removeAll === true) {
1807            _.$slideTrack.children().remove();
1808        } else {
1809            _.$slideTrack.children(this.options.slide).eq(index).remove();
1810        }
1811
1812        _.$slides = _.$slideTrack.children(this.options.slide);
1813
1814        _.$slideTrack.children(this.options.slide).detach();
1815
1816        _.$slideTrack.append(_.$slides);
1817
1818        _.$slidesCache = _.$slides;
1819
1820        _.reinit();
1821
1822    };
1823
1824    Slick.prototype.setCSS = function(position) {
1825
1826        var _ = this,
1827            positionProps = {},
1828            x, y;
1829
1830        if (_.options.rtl === true) {
1831            position = -position;
1832        }
1833        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
1834        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
1835
1836        positionProps[_.positionProp] = position;
1837
1838        if (_.transformsEnabled === false) {
1839            _.$slideTrack.css(positionProps);
1840        } else {
1841            positionProps = {};
1842            if (_.cssTransitions === false) {
1843                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
1844                _.$slideTrack.css(positionProps);
1845            } else {
1846                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
1847                _.$slideTrack.css(positionProps);
1848            }
1849        }
1850
1851    };
1852
1853    Slick.prototype.setDimensions = function() {
1854
1855        var _ = this;
1856
1857        if (_.options.vertical === false) {
1858            if (_.options.centerMode === true) {
1859                _.$list.css({
1860                    padding: ('0px ' + _.options.centerPadding)
1861                });
1862            }
1863        } else {
1864            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
1865            if (_.options.centerMode === true) {
1866                _.$list.css({
1867                    padding: (_.options.centerPadding + ' 0px')
1868                });
1869            }
1870        }
1871
1872        _.listWidth = _.$list.width();
1873        _.listHeight = _.$list.height();
1874
1875
1876        if (_.options.vertical === false && _.options.variableWidth === false) {
1877            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
1878            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
1879
1880        } else if (_.options.variableWidth === true) {
1881            _.$slideTrack.width(5000 * _.slideCount);
1882        } else {
1883            _.slideWidth = Math.ceil(_.listWidth);
1884            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
1885        }
1886
1887        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
1888        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
1889
1890    };
1891
1892    Slick.prototype.setFade = function() {
1893
1894        var _ = this,
1895            targetLeft;
1896
1897        _.$slides.each(function(index, element) {
1898            targetLeft = (_.slideWidth * index) * -1;
1899            if (_.options.rtl === true) {
1900                $(element).css({
1901                    position: 'relative',
1902                    right: targetLeft,
1903                    top: 0,
1904                    zIndex: _.options.zIndex - 2,
1905                    opacity: 0
1906                });
1907            } else {
1908                $(element).css({
1909                    position: 'relative',
1910                    left: targetLeft,
1911                    top: 0,
1912                    zIndex: _.options.zIndex - 2,
1913                    opacity: 0
1914                });
1915            }
1916        });
1917
1918        _.$slides.eq(_.currentSlide).css({
1919            zIndex: _.options.zIndex - 1,
1920            opacity: 1
1921        });
1922
1923    };
1924
1925    Slick.prototype.setHeight = function() {
1926
1927        var _ = this;
1928
1929        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
1930            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
1931            _.$list.css('height', targetHeight);
1932        }
1933
1934    };
1935
1936    Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) {
1937
1938        var _ = this, l, item;
1939
1940        if( option === "responsive" && $.type(value) === "array" ) {
1941            for ( item in value ) {
1942                if( $.type( _.options.responsive ) !== "array" ) {
1943                    _.options.responsive = [ value[item] ];
1944                } else {
1945                    l = _.options.responsive.length-1;
1946                    // loop through the responsive object and splice out duplicates.
1947                    while( l >= 0 ) {
1948                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
1949                            _.options.responsive.splice(l,1);
1950                        }
1951                        l--;
1952                    }
1953                    _.options.responsive.push( value[item] );
1954                }
1955            }
1956        } else {
1957            _.options[option] = value;
1958        }
1959
1960        if (refresh === true) {
1961            _.unload();
1962            _.reinit();
1963        }
1964
1965    };
1966
1967    Slick.prototype.setPosition = function() {
1968
1969        var _ = this;
1970
1971        _.setDimensions();
1972
1973        _.setHeight();
1974
1975        if (_.options.fade === false) {
1976            _.setCSS(_.getLeft(_.currentSlide));
1977        } else {
1978            _.setFade();
1979        }
1980
1981        _.$slider.trigger('setPosition', [_]);
1982
1983    };
1984
1985    Slick.prototype.setProps = function() {
1986
1987        var _ = this,
1988            bodyStyle = document.body.style;
1989
1990        _.positionProp = _.options.vertical === true ? 'top' : 'left';
1991
1992        if (_.positionProp === 'top') {
1993            _.$slider.addClass('slick-vertical');
1994        } else {
1995            _.$slider.removeClass('slick-vertical');
1996        }
1997
1998        if (bodyStyle.WebkitTransition !== undefined ||
1999            bodyStyle.MozTransition !== undefined ||
2000            bodyStyle.msTransition !== undefined) {
2001            if (_.options.useCSS === true) {
2002                _.cssTransitions = true;
2003            }
2004        }
2005
2006        if ( _.options.fade ) {
2007            if ( typeof _.options.zIndex === 'number' ) {
2008                if( _.options.zIndex < 3 ) {
2009                    _.options.zIndex = 3;
2010                }
2011            } else {
2012                _.options.zIndex = _.defaults.zIndex;
2013            }
2014        }
2015
2016        if (bodyStyle.OTransform !== undefined) {
2017            _.animType = 'OTransform';
2018            _.transformType = '-o-transform';
2019            _.transitionType = 'OTransition';
2020            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
vendor: 4,561 bytes, lines 2021-2157
2021        }
2022        if (bodyStyle.MozTransform !== undefined) {
2023            _.animType = 'MozTransform';
2024            _.transformType = '-moz-transform';
2025            _.transitionType = 'MozTransition';
2026            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
2027        }
2028        if (bodyStyle.webkitTransform !== undefined) {
2029            _.animType = 'webkitTransform';
2030            _.transformType = '-webkit-transform';
2031            _.transitionType = 'webkitTransition';
2032            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2033        }
2034        if (bodyStyle.msTransform !== undefined) {
2035            _.animType = 'msTransform';
2036            _.transformType = '-ms-transform';
2037            _.transitionType = 'msTransition';
2038            if (bodyStyle.msTransform === undefined) _.animType = false;
2039        }
2040        if (bodyStyle.transform !== undefined && _.animType !== false) {
2041            _.animType = 'transform';
2042            _.transformType = 'transform';
2043            _.transitionType = 'transition';
2044        }
2045        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
2046    };
2047
2048
2049    Slick.prototype.setSlideClasses = function(index) {
2050
2051        var _ = this,
2052            centerOffset, allSlides, indexOffset, remainder;
2053
2054        allSlides = _.$slider
2055            .find('.slick-slide')
2056            .removeClass('slick-active slick-center slick-current')
2057            .attr('aria-hidden', 'true');
2058
2059        _.$slides
2060            .eq(index)
2061            .addClass('slick-current');
2062
2063        if (_.options.centerMode === true) {
2064
2065            centerOffset = Math.floor(_.options.slidesToShow / 2);
2066
2067            if (_.options.infinite === true) {
2068
2069                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
2070
2071                    _.$slides
2072                        .slice(index - centerOffset, index + centerOffset + 1)
2073                        .addClass('slick-active')
2074                        .attr('aria-hidden', 'false');
2075
2076                } else {
2077
2078                    indexOffset = _.options.slidesToShow + index;
2079                    allSlides
2080                        .slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2)
2081                        .addClass('slick-active')
2082                        .attr('aria-hidden', 'false');
2083
2084                }
2085
2086                if (index === 0) {
2087
2088                    allSlides
2089                        .eq(allSlides.length - 1 - _.options.slidesToShow)
2090                        .addClass('slick-center');
2091
2092                } else if (index === _.slideCount - 1) {
2093
2094                    allSlides
2095                        .eq(_.options.slidesToShow)
2096                        .addClass('slick-center');
2097
2098                }
2099
2100            }
2101
2102            _.$slides
2103                .eq(index)
2104                .addClass('slick-center');
2105
2106        } else {
2107
2108            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
2109
2110                _.$slides
2111                    .slice(index, index + _.options.slidesToShow)
2112                    .addClass('slick-active')
2113                    .attr('aria-hidden', 'false');
2114
2115            } else if (allSlides.length <= _.options.slidesToShow) {
2116
2117                allSlides
2118                    .addClass('slick-active')
2119                    .attr('aria-hidden', 'false');
2120
2121            } else {
2122
2123                remainder = _.slideCount % _.options.slidesToShow;
2124                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
2125
2126                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
2127
2128                    allSlides
2129                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
2130                        .addClass('slick-active')
2131                        .attr('aria-hidden', 'false');
2132
2133                } else {
2134
2135                    allSlides
2136                        .slice(indexOffset, indexOffset + _.options.slidesToShow)
2137                        .addClass('slick-active')
2138                        .attr('aria-hidden', 'false');
2139
2140                }
2141
2142            }
2143
2144        }
2145
2146        if (_.options.lazyLoad === 'ondemand') {
2147            _.lazyLoad();
2148        }
2149
2150    };
2151
2152    Slick.prototype.setupInfinite = function() {
2153
2154        var _ = this,
2155            i, slideIndex, infiniteCount;
2156
2157        if (_.options.fade === true) {
2158            _.options.centerMode = false;
2159        }
2160
2161        if (_.options.infinite === true && _.options.fade === false) {
2162
2163            slideIndex = null;
2164
2165            if (_.slideCount > _.options.slidesToShow) {
2166
2167                if (_.options.centerMode === true) {
2168                    infiniteCount = _.options.slidesToShow + 1;
2169                } else {
2170                    infiniteCount = _.options.slidesToShow;
2171                }
2172
2173                for (i = _.slideCount; i > (_.slideCount -
2174                        infiniteCount); i -= 1) {
2175                    slideIndex = i - 1;
2176                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
2177                        .attr('data-slick-index', slideIndex - _.slideCount)
2178                        .prependTo(_.$slideTrack).addClass('slick-cloned');
2179                }
2180                for (i = 0; i < infiniteCount; i += 1) {
2181                    slideIndex = i;
2182                    $(_.$slides[slideIndex]).clone(true).attr('id', '')
2183                        .attr('data-slick-index', slideIndex + _.slideCount)
2184                        .appendTo(_.$slideTrack).addClass('slick-cloned');
2185                }
2186                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
2187                    $(this).attr('id', '');
2188                });
2189
2190            }
2191
2192        }
2193
2194    };
2195
2196    Slick.prototype.setPaused = function(paused) {
2197
2198        var _ = this;
2199
2200        if (_.options.autoplay === true && _.options.pauseOnHover === true) {
2201            _.paused = paused;
2202            if (!paused) {
2203                _.autoPlay();
2204            } else {
2205                _.autoPlayClear();
2206            }
2207        }
2208    };
2209
2210    Slick.prototype.selectHandler = function(event) {
2211
2212        var _ = this;
2213
2214        var targetElement =
2215            $(event.target).is('.slick-slide') ?
2216                $(event.target) :
2217                $(event.target).parents('.slick-slide');
2218
2219        var index = parseInt(targetElement.attr('data-slick-index'));
2220
2221        if (!index) index = 0;
2222
2223        if (_.slideCount <= _.options.slidesToShow) {
2224
2225            _.setSlideClasses(index);
2226            _.asNavFor(index);
2227            return;
2228
2229        }
2230
2231        _.slideHandler(index);
2232
2233    };
2234
2235    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
2236
2237        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
2238            _ = this;
2239
2240        sync = sync || false;
2241
2242        if (_.animating === true && _.options.waitForAnimate === true) {
2243            return;
2244        }
2245
2246        if (_.options.fade === true && _.currentSlide === index) {
2247            return;
2248        }
2249
2250        if (_.slideCount <= _.options.slidesToShow) {
2251            return;
2252        }
2253
2254        if (sync === false) {
2255            _.asNavFor(index);
2256        }
2257
2258        targetSlide = index;
2259        targetLeft = _.getLeft(targetSlide);
2260        slideLeft = _.getLeft(_.currentSlide);
2261
2262        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
2263
2264        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
2265            if (_.options.fade === false) {
2266                targetSlide = _.currentSlide;
2267                if (dontAnimate !== true) {
2268                    _.animateSlide(slideLeft, function() {
2269                        _.postSlide(targetSlide);
2270                    });
2271                } else {
2272                    _.postSlide(targetSlide);
2273                }
2274            }
2275            return;
2276        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
2277            if (_.options.fade === false) {
2278                targetSlide = _.currentSlide;
2279                if (dontAnimate !== true) {
2280                    _.animateSlide(slideLeft, function() {
2281                        _.postSlide(targetSlide);
2282                    });
2283                } else {
2284                    _.postSlide(targetSlide);
2285                }
2286            }
2287            return;
2288        }
2289
2290        if (_.options.autoplay === true) {
2291            clearInterval(_.autoPlayTimer);
2292        }
2293
vendor: 5,820 bytes, lines 2294-2496
2294        if (targetSlide < 0) {
2295            if (_.slideCount % _.options.slidesToScroll !== 0) {
2296                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
2297            } else {
2298                animSlide = _.slideCount + targetSlide;
2299            }
2300        } else if (targetSlide >= _.slideCount) {
2301            if (_.slideCount % _.options.slidesToScroll !== 0) {
2302                animSlide = 0;
2303            } else {
2304                animSlide = targetSlide - _.slideCount;
2305            }
2306        } else {
2307            animSlide = targetSlide;
2308        }
2309
2310        _.animating = true;
2311
2312        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
2313
2314        oldSlide = _.currentSlide;
2315        _.currentSlide = animSlide;
2316
2317        _.setSlideClasses(_.currentSlide);
2318
2319        _.updateDots();
2320        _.updateArrows();
2321
2322        if (_.options.fade === true) {
2323            if (dontAnimate !== true) {
2324
2325                _.fadeSlideOut(oldSlide);
2326
2327                _.fadeSlide(animSlide, function() {
2328                    _.postSlide(animSlide);
2329                });
2330
2331            } else {
2332                _.postSlide(animSlide);
2333            }
2334            _.animateHeight();
2335            return;
2336        }
2337
2338        if (dontAnimate !== true) {
2339            _.animateSlide(targetLeft, function() {
2340                _.postSlide(animSlide);
2341            });
2342        } else {
2343            _.postSlide(animSlide);
2344        }
2345
2346    };
2347
2348    Slick.prototype.startLoad = function() {
2349
2350        var _ = this;
2351
2352        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2353
2354            _.$prevArrow.hide();
2355            _.$nextArrow.hide();
2356
2357        }
2358
2359        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2360
2361            _.$dots.hide();
2362
2363        }
2364
2365        _.$slider.addClass('slick-loading');
2366
2367    };
2368
2369    Slick.prototype.swipeDirection = function() {
2370
2371        var xDist, yDist, r, swipeAngle, _ = this;
2372
2373        xDist = _.touchObject.startX - _.touchObject.curX;
2374        yDist = _.touchObject.startY - _.touchObject.curY;
2375        r = Math.atan2(yDist, xDist);
2376
2377        swipeAngle = Math.round(r * 180 / Math.PI);
2378        if (swipeAngle < 0) {
2379            swipeAngle = 360 - Math.abs(swipeAngle);
2380        }
2381
2382        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
2383            return (_.options.rtl === false ? 'left' : 'right');
2384        }
2385        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
2386            return (_.options.rtl === false ? 'left' : 'right');
2387        }
2388        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
2389            return (_.options.rtl === false ? 'right' : 'left');
2390        }
2391        if (_.options.verticalSwiping === true) {
2392            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
2393                return 'left';
2394            } else {
2395                return 'right';
2396            }
2397        }
2398
2399        return 'vertical';
2400
2401    };
2402
2403    Slick.prototype.swipeEnd = function(event) {
2404
2405        var _ = this,
2406            slideCount;
2407
2408        _.dragging = false;
2409
2410        _.shouldClick = (_.touchObject.swipeLength > 10) ? false : true;
2411
2412        if (_.touchObject.curX === undefined) {
2413            return false;
2414        }
2415
2416        if (_.touchObject.edgeHit === true) {
2417            _.$slider.trigger('edge', [_, _.swipeDirection()]);
2418        }
2419
2420        if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {
2421
2422            switch (_.swipeDirection()) {
2423                case 'left':
2424                    slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount();
2425                    _.slideHandler(slideCount);
2426                    _.currentDirection = 0;
2427                    _.touchObject = {};
2428                    _.$slider.trigger('swipe', [_, 'left']);
2429                    break;
2430
2431                case 'right':
2432                    slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount();
2433                    _.slideHandler(slideCount);
2434                    _.currentDirection = 1;
2435                    _.touchObject = {};
2436                    _.$slider.trigger('swipe', [_, 'right']);
2437                    break;
2438            }
2439        } else {
2440            if (_.touchObject.startX !== _.touchObject.curX) {
2441                _.slideHandler(_.currentSlide);
2442                _.touchObject = {};
2443            }
2444        }
2445
2446    };
2447
2448    Slick.prototype.swipeHandler = function(event) {
2449
2450        var _ = this;
2451
2452        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
2453            return;
2454        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
2455            return;
2456        }
2457
2458        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
2459            event.originalEvent.touches.length : 1;
2460
2461        _.touchObject.minSwipe = _.listWidth / _.options
2462            .touchThreshold;
2463
2464        if (_.options.verticalSwiping === true) {
2465            _.touchObject.minSwipe = _.listHeight / _.options
2466                .touchThreshold;
2467        }
2468
2469        switch (event.data.action) {
2470
2471            case 'start':
2472                _.swipeStart(event);
2473                break;
2474
2475            case 'move':
2476                _.swipeMove(event);
2477                break;
2478
2479            case 'end':
2480                _.swipeEnd(event);
2481                break;
2482
2483        }
2484
2485    };
2486
2487    Slick.prototype.swipeMove = function(event) {
2488
2489        var _ = this,
2490            edgeWasHit = false,
2491            curLeft, swipeDirection, swipeLength, positionOffset, touches;
2492
2493        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
2494
2495        if (!_.dragging || touches && touches.length !== 1) {
2496            return false;
2497        }
2498
2499        curLeft = _.getLeft(_.currentSlide);
2500
2501        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
2502        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
2503
2504        _.touchObject.swipeLength = Math.round(Math.sqrt(
2505            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
2506
2507        if (_.options.verticalSwiping === true) {
2508            _.touchObject.swipeLength = Math.round(Math.sqrt(
2509                Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
2510        }
2511
2512        swipeDirection = _.swipeDirection();
2513
2514        if (swipeDirection === 'vertical') {
2515            return;
2516        }
2517
2518        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
2519            event.preventDefault();
2520        }
2521
2522        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
2523        if (_.options.verticalSwiping === true) {
2524            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
2525        }
2526
2527
2528        swipeLength = _.touchObject.swipeLength;
2529
2530        _.touchObject.edgeHit = false;
2531
2532        if (_.options.infinite === false) {
2533            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
2534                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
2535                _.touchObject.edgeHit = true;
2536            }
2537        }
2538
2539        if (_.options.vertical === false) {
2540            _.swipeLeft = curLeft + swipeLength * positionOffset;
2541        } else {
2542            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
2543        }
2544        if (_.options.verticalSwiping === true) {
2545            _.swipeLeft = curLeft + swipeLength * positionOffset;
2546        }
2547
2548        if (_.options.fade === true || _.options.touchMove === false) {
2549            return false;
2550        }
2551
2552        if (_.animating === true) {
2553            _.swipeLeft = null;
2554            return false;
2555        }
2556
2557        _.setCSS(_.swipeLeft);
2558
2559    };
2560
2561    Slick.prototype.swipeStart = function(event) {
2562
2563        var _ = this,
2564            touches;
2565
2566        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
2567            _.touchObject = {};
2568            return false;
2569        }
2570
2571        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
2572            touches = event.originalEvent.touches[0];
2573        }
2574
2575        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
2576        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
2577
2578        _.dragging = true;
2579
2580    };
2581
2582    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
2583
2584        var _ = this;
2585
2586        if (_.$slidesCache !== null) {
2587
2588            _.unload();
2589
2590            _.$slideTrack.children(this.options.slide).detach();
2591
2592            _.$slidesCache.appendTo(_.$slideTrack);
2593
2594            _.reinit();
2595
2596        }
2597
2598    };
2599
2600    Slick.prototype.unload = function() {
2601
2602        var _ = this;
2603
2604        $('.slick-cloned', _.$slider).remove();
2605
2606        if (_.$dots) {
2607            _.$dots.remove();
2608        }
2609
2610        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
2611            _.$prevArrow.remove();
2612        }
2613
2614        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
2615            _.$nextArrow.remove();
2616        }
2617
2618        _.$slides
2619            .removeClass('slick-slide slick-active slick-visible slick-current')
2620            .attr('aria-hidden', 'true')
2621            .css('width', '');
2622
2623    };
2624
2625    Slick.prototype.unslick = function(fromBreakpoint) {
2626
2627        var _ = this;
2628        _.$slider.trigger('unslick', [_, fromBreakpoint]);
2629        _.destroy();
2630
2631    };
2632
2633    Slick.prototype.updateArrows = function() {
2634
2635        var _ = this,
2636            centerOffset;
2637
2638        centerOffset = Math.floor(_.options.slidesToShow / 2);
2639
2640        if ( _.options.arrows === true &&
2641            _.slideCount > _.options.slidesToShow &&
2642            !_.options.infinite ) {
2643
2644            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2645            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2646
2647            if (_.currentSlide === 0) {
2648
2649                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2650                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2651
2652            } else if (_.currentSlide >
2652= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
2653
2654                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2655                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2656
2657            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
2658
2659                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2660                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2661
2662            }
2663
2664        }
2665
2666    };
2667
2668    Slick.prototype.updateDots = function() {
2669
2670        var _ = this;
2671
2672        if (_.$dots !== null) {
2673
2674            _.$dots
2675                .find('li')
2676                .removeClass('slick-active')
2677                .attr('aria-hidden', 'true');
2678
2679            _.$dots
2680                .find('li')
2681                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
2682                .addClass('slick-active')
2683                .attr('aria-hidden', 'false');
2684
2685        }
2686
2687    };
2688
2689    Slick.prototype.visibility = function() {
2690
2691        var _ = this;
2692
2693        if (document[_.hidden]) {
2694            _.paused = true;
2695            _.autoPlayClear();
2696        } else {
2697            if (_.options.autoplay === true) {
2698                _.paused = false;
2699                _.autoPlay();
2700            }
2701        }
2702
2703    };
2704    Slick.prototype.initADA = function() {
2705        var _ = this;
2706        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
2707            'aria-hidden': 'true',
2708            'tabindex': '-1'
2709        }).find('a, input, button, select').attr({
2710            'tabindex': '-1'
2711        });
2712
2713        _.$slideTrack.attr('role', 'listbox');
2714
2715        _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
2716            $(this).attr({
2717                'role': 'option',
2718                'aria-describedby': 'slick-slide' + _.instanceUid + i + ''
2719            });
2720        });
2721
2722        if (_.$dots !== null) {
2723            _.$dots.attr('role', 'tablist').find('li').each(function(i) {
2724                $(this).attr({
2725                    'role': 'presentation',
2726                    'aria-selected': 'false',
2727                    'aria-controls': 'navigation' + _.instanceUid + i + '',
2728                    'id': 'slick-slide' + _.instanceUid + i + ''
2729                });
2730            })
2731                .first().attr('aria-selected', 'true').end()
2732                .find('button').attr('role', 'button').end()
2733                .closest('div').attr('role', 'toolbar');
2734        }
2735        _.activateADA();
2736
2737    };
2738
2739    Slick.prototype.activateADA = function() {
2740        var _ = this;
2741
2742        _.$slideTrack.find('.slick-active').attr({
2743            'aria-hidden': 'false'
2744        }).find('a, input, button, select').attr({
2745            'tabindex': '0'
2746        });
2747
2748    };
2749
2750    Slick.prototype.focusHandler = function() {
2751        var _ = this;
2752        _.$slider.on('focus.slick blur.slick', '*', function(event) {
2753            event.stopImmediatePropagation();
2754            var sf = $(this);
2755            setTimeout(function() {
2756                if (_.isPlay) {
2757                    if (sf.is(':focus')) {
2758                        _.autoPlayClear();
2759                        _.paused = true;
2760                    } else {
2761                        _.paused = false;
2762                        _.autoPlay();
2763                    }
2764                }
2765            }, 0);
2766        });
2767    };
2768
2769    $.fn.slick = function() {
2770        var _ = this,
2771            opt = arguments[0],
2772            args = Array.prototype.slice.call(arguments, 1),
2773            l = _.length,
2774            i,
2775            ret;
2776        for (i = 0; i < l; i++) {
2777            if (typeof opt == 'object' || typeof opt == 'undefined')
2778                _[i].slick = new Slick(_[i], opt);
2779            else
2780                ret = _[i].slick[opt].apply(_[i].slick, args);
2781            if (typeof ret != 'undefined') return ret;
2782        }
2783        return _;
2784    };
2785
2786}));
2787;
2788/*! This file is auto-generated */
2789/*!
2790 * imagesLoaded PACKAGED v5.0.0
2791 * JavaScript is all like "You images are done yet or what?"
2792 * MIT License
2793 */
2794!function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},s=i[t]=i[t]||[];return s.includes(e)||s.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let s=i.indexOf(e);return-1!=s&&i.splice(s,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let s=this._onceEvents&&this._onceEvents[t];for(let n of i){s&&s[n]&&(this.off(t,n),delete s[n]),n.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),
2795/*!
2796 * imagesLoaded v5.0.0
2797 * JavaScript is all like "You images are done yet or what?"
2798 * MIT License
2799 */
2800function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){let i=t.jQuery,s=t.console;
vendor: 4,185 bytes, lines 2800-2801
2800function n(t,e,o){if(!(this instanceof n))return new n(t,e,o);let r=t;var h;("string"==typeof t&&(r=document.querySelectorAll(t)),r)?(this.elements=(h=r,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?[...h]:[h]),this.options={},"function"==typeof e?o=e:Object.assign(this.options,e),o&&this.on("always",o),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):s.error(`Bad element for imagesLoaded ${r||t}`)}n.prototype=Object.create(e.prototype),n.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)};const o=[1,9,11];n.prototype.addElementImages=function(t){"IMG"===t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);let{nodeType:e}=t;if(!e||!o.includes(e))return;let i=t.querySelectorAll("img");for(let t of i)this.addImage(t);if("string"==typeof this.options.background){let e=t.querySelectorAll(this.options.background);for(let t of e)this.addElementBackgroundImages(t)}};const r=/url\((['"])?(.*?)\1\)/gi;function h(t){this.img=t}function d(t,e){this.url=t,this.element=e,this.img=new Image}return n.prototype.addElementBackgroundImages=function(t){let e=getComputedStyle(t);if(!e)return;let i=r.exec(e.backgroundImage);for(;null!==i;){let s=i&&i[2];s&&this.addBackground(s,t),i=r.exec(e.backgroundImage)}},n.prototype.addImage=function(t){let e=new h(t);this.images.push(e)},n.prototype.addBackground=function(t,e){let i=new d(t,e);this.images.push(i)},n.prototype.check=function(){if(this.progressedCount=0,this.hasAnyBroken=!1,!this.images.length)return void this.complete();let t=(t,e,i)=>{setTimeout((()=>{this.progress(t,e,i)}))};this.images.forEach((function(e){e.once("progress",t),e.check()}))},n.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount===this.images.length&&this.complete(),this.options.debug&&s&&s.log(`progress: ${i}`,t,e)},n.prototype.complete=function(){let t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){let t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.img.crossOrigin&&(this.proxyImage.crossOrigin=this.img.crossOrigin),this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.currentSrc||this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t;let{parentNode:i}=this.img,s="PICTURE"===i.nodeName?i:this.img;this.emitEvent("progress",[this,s,e])},h.prototype.handleEvent=function(t){let e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype=Object.create(h.prototype),d.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},d.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},d.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},n.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&(i=e,i.fn.imagesLoaded=function(t,e){return new n(this,t,e).jqDeferred.promise(i(this))})},n.makeJQueryPlugin(),n}));;
2801/*! This file is auto-generated */
vendor: 24,103 bytes, lines 2802-2810
2802/*!
2803 * Masonry PACKAGED v4.2.2
2804 * Cascading grid layout library
2805 * https://masonry.desandro.com
2806 * MIT License
2807 * by David DeSandro
2808 */
2809
2810!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return-1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return-1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e)}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r])}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r)}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function o(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,n,o){"use strict";function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout()}function s(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s)}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=i(this.element)},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n)},this),this._processLayoutQueue(i)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){s++,s==r&&i()}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n)})},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1)},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l])},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
2810;
2811'use strict';
2812/*
2813 * Thickbox 3.1 - One Box To Rule Them All.
2814 * By Cody Lindley (http://www.codylindley.com)
2815 * Copyright (c) 2007 cody lindley
2816 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
2817 */
2818
2819/* global thickboxL10n, unescape */
2820/* jshint -W018 */
2821/* jshint -W038 */
2822/* jshint -W040 */
2823/* jshint -W069 */
2824/* jshint -W097 */
2825/* jshint -W098 */
2826/* jshint -W109 */
2827/* jshint -W116 */
2828
2829if ( typeof tb_pathToImage != 'string' ) {
2830	var tb_pathToImage = thickboxL10n.loadingAnimation;
2831}
2832
2833var imgLoader, TB_PrevCaption, TB_PrevURL, TB_PrevHTML, TB_NextCaption, TB_NextURL,
2834	TB_NextHTML, TB_imageCount, TB_FoundURL, TB_TempArray, TB_Counter, TB_WIDTH, TB_HEIGHT;
2835
2836/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
2837
2838//on page load call tb_init
2839jQuery(document).ready(function(){
2840	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
2841	imgLoader = new Image();// preload image
2842	imgLoader.src = tb_pathToImage;
2843});
2844
2845/*
2846 * Add thickbox to href & area elements that have a class of .thickbox.
2847 * Remove the loading indicator when content in an iframe has loaded.
2848 */
2849function tb_init(domChunk){
2850	jQuery( 'body' )
2851		.on( 'click', domChunk, tb_click )
2852		.on( 'thickbox:iframe:loaded', function() {
2853			jQuery( '#TB_window' ).removeClass( 'thickbox-loading' );
2854		});
2855}
2856
2857function tb_click(){
2858	var t = this.title || this.name || null;
2859	var a = this.href || this.alt;
2860	var g = this.rel || false;
2861	tb_show(t,a,g);
2862	this.blur();
2863	return false;
2864}
2865
2866function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
2867
2868	var $closeBtn;
2869
2870	try {
2871		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
2872			jQuery("body","html").css({height: "100%", width: "100%"});
2873			jQuery("html").css("overflow","hidden");
2874			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
2875				jQuery("body").append("<iframe id='TB_HideSelect'>"+thickboxL10n.noiframes+"</iframe><div id='TB_overlay'></div><div id='TB_window' class='thickbox-loading'></div>");
2876				jQuery("#TB_overlay").on( 'click', tb_remove );
2877			}
2878		}else{//all others
2879			if(document.getElementById("TB_overlay") === null){
2880				jQuery("body").append("<div id='TB_overlay'></div><div id='TB_window' class='thickbox-loading'></div>");
2881				jQuery("#TB_overlay").on( 'click', tb_remove );
2882				jQuery( 'body' ).addClass( 'modal-open' );
2883			}
2884		}
2885
2886		if(tb_detectMacXFF()){
2887			jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
2888		}else{
2889			jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
2890		}
2891
2892		if(caption===null){caption="";}
2893		jQuery("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' width='208' /></div>");//add loader to the page
2894		jQuery('#TB_load').show();//show loader
2895
2896		var baseURL;
2897	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
2898			baseURL = url.substr(0, url.indexOf("?"));
2899	   }else{
2900	   		baseURL = url;
2901	   }
2902
2903	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$|\.webp$|\.avif$/;
2904	   var urlType = baseURL.toLowerCase().match(urlString);
2905
2906		if(urlType == '.jpg' ||
2907			urlType == '.jpeg' ||
2908			urlType == '.png' ||
2909			urlType == '.gif' ||
2910			urlType == '.bmp' ||
2911			urlType == '.webp' ||
2912			urlType == '.avif'
2913		){//code to show images
2914			var imgPreloader = new Image();
2915
2916			TB_PrevCaption = "";
2917			TB_PrevURL = "";
2918			TB_PrevHTML = "";
2919			TB_NextCaption = "";
2920			TB_NextURL = "";
2921			TB_NextHTML = "";
2922			TB_imageCount = "";
2923			TB_FoundURL = false;
2924			if(imageGroup){
2925				TB_TempArray = jQuery("a[rel="+imageGroup+"]").get();
2926				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
2927					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
2928						if (!(TB_TempArray[TB_Counter].href == url)) {
2929							if (TB_FoundURL) {
2930								TB_NextCaption = TB_TempArray[TB_Counter].title;
2931								TB_NextURL = TB_TempArray[TB_Counter].href;
2932								TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.next+"</a></span>";
2933							} else {
2934								TB_PrevCaption = TB_TempArray[TB_Counter].title;
2935								TB_PrevURL = TB_TempArray[TB_Counter].href;
2936								TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>"+thickboxL10n.prev+"</a></span>";
2937							}
2938						} else {
2939							TB_FoundURL = true;
2940							TB_imageCount = thickboxL10n.image + ' ' + (TB_Counter + 1) + ' ' + thickboxL10n.of + ' ' + (TB_TempArray.length);
2941						}
2942				}
2943			}
2944
2945			imgPreloader.onload = function(){
2946			imgPreloader.onload = null;
2947
2948			// Resizing large images - original by Christian Montoya edited by me.
2949			var pagesize = tb_getPageSize();
2950			var x = pagesize[0] - 150;
2951			var y = pagesize[1] - 150;
2952			var imageWidth = imgPreloader.width;
2953			var imageHeight = imgPreloader.height;
2954			if (imageWidth > x) {
2955				imageHeight = imageHeight * (x / imageWidth);
2956				imageWidth = x;
2957				if (imageHeight > y) {
2958					imageWidth = imageWidth * (y / imageHeight);
2959					imageHeight = y;
2960				}
2961			} else if (imageHeight > y) {
2962				imageWidth = imageWidth * (y / imageHeight);
2963				imageHeight = y;
2964				if (imageWidth > x) {
2965					imageHeight = imageHeight * (x / imageWidth);
2966					imageWidth = x;
2967				}
2968			}
2969			// End Resizing
2970
2971			TB_WIDTH = imageWidth + 30;
2972			TB_HEIGHT = imageHeight + 60;
2973			jQuery("#TB_window").append("<a href='' id='TB_ImageOff'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div>");
2974
2975			jQuery("#TB_closeWindowButton").on( 'click', tb_remove );
2976
2977			// Declared in the function scope (not the blocks below) so the keydown handler can reach them under strict mode.
2978			var goPrev = function(){
2979				if(jQuery(document).off("click",goPrev)){jQuery(document).off("click",goPrev);}
2980				jQuery("#TB_window").remove();
2981				jQuery("body").append("<div id='TB_window'></div>");
2982				tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
2983				return false;
2984			};
2985			var goNext = function(){
2986				jQuery("#TB_window").remove();
2987				jQuery("body").append("<div id='TB_window'></div>");
2988				tb_show(TB_NextCaption, TB_NextURL, imageGroup);
2989				return false;
2990			};
2991
2992			if (!(TB_PrevHTML === "")) {
2993				jQuery("#TB_prev").on( 'click', goPrev );
2994			}
2995
2996			if (!(TB_NextHTML === "")) {
2997				jQuery("#TB_next").on( 'click', goNext );
2998
2999			}
3000
3001			jQuery(document).on('keydown.thickbox', function(e){
3002				if ( e.which == 27 ){ // close
3003					tb_remove();
3004
3005				} else if ( e.which == 190 ){ // display previous image
3006					if(!(TB_NextHTML == "")){
3007						jQuery(document).off('thickbox');
3008						goNext();
3009					}
3010				} else if ( e.which == 188 ){ // display next image
3011					if(!(TB_PrevHTML == "")){
3012						jQuery(document).off('thickbox');
3013						goPrev();
3014					}
3015				}
3016				return false;
3017			});
3018
3019			tb_position();
3020			jQuery("#TB_load").remove();
3021			jQuery("#TB_ImageOff").on( 'click', tb_remove );
3022			jQuery("#TB_window").css({'visibility':'visible'}); //for safari using css instead of show
3023			};
3024
3025			imgPreloader.src = url;
3026		}else{//code to show html
3027
3028			var queryString = url.replace(/^[^\?]+\??/,'');
3029			var params = tb_parseQuery( queryString );
3030			var ajaxContentW, ajaxContentH;
3031
3032			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no parameters were added to URL
3033			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no parameters were added to URL
3034			ajaxContentW = TB_WIDTH - 30;
3035			ajaxContentH = TB_HEIGHT - 45;
3036
3037			if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
3038					var urlNoQuery = url.split('TB_');
3039					jQuery("#TB_iframeContent").remove();
3040					if(params['modal'] != "true"){//iframe no modal
3041						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div></div><iframe frameborder='0' hspace='0' allowtransparency='true' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' >"+thickboxL10n.noiframes+"</iframe>");
3042					}else{//iframe modal
3043					jQuery("#TB_overlay").off();
3044						jQuery("#TB_window").append("<iframe frameborder='0' hspace='0' allowtransparency='true' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'>"+thickboxL10n.noiframes+"</iframe>");
3045					}
3046			}else{// not an iframe, ajax
3047					if(jQuery("#TB_window").css("visibility") != "visible"){
3048						if(params['modal'] != "true"){//ajax no modal
3049						jQuery("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><button type='button' id='TB_closeWindowButton'><span class='screen-reader-text'>"+thickboxL10n.close+"</span><span class='tb-close-icon' aria-hidden='true'></span></button></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
3050						}else{//ajax modal
3051						jQuery("#TB_overlay").off();
3052						jQuery("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
3053						}
3054					}else{//this means the window is already up, we are just loading new content via ajax
3055						jQuery("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
3056						jQuery("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
3057						jQuery("#TB_ajaxContent")[0].scrollTop = 0;
3058						jQuery("#TB_ajaxWindowTitle").html(caption);
3059					}
3060			}
3061
3062			jQuery("#TB_closeWindowButton").on( 'click', tb_remove );
3063
3064				if(url.indexOf('TB_inline') != -1){
3065					jQuery("#TB_ajaxContent").append(jQuery('#' + params['inlineId']).children());
3066					jQuery("#TB_window").on('tb_unload', function () {
3067						jQuery('#' + params['inlineId']).append( jQuery("#TB_ajaxContent").children() ); // move elements back when you're finished
3068					});
3069					tb_position();
3070					jQuery("#TB_load").remove();
3071					jQuery("#TB_window").css({'visibility':'visible'});
3072				}else if(url.indexOf('TB_iframe') != -1){
3073					tb_position();
3074					jQuery("#TB_load").remove();
3075					jQuery("#TB_window").css({'visibility':'visible'});
3076				}else{
3077					var load_url = url;
3078					load_url += -1 === url.indexOf('?') ? '?' : '&';
3079					jQuery("#TB_ajaxContent").load(load_url += "random=" + (new Date().getTime()),function(){//to do a post change this load method
3080						tb_position();
3081						jQuery("#TB_load").remove();
3082						tb_init("#TB_ajaxContent a.thickbox");
3083						jQuery("#TB_window").css({'visibility':'visible'});
3084					});
3085				}
3086
3087		}
3088
3089		if(!params['modal']){
3090			jQuery(document).on('keydown.thickbox', function(e){
3091				if ( e.which == 27 ){ // close
3092					tb_remove();
3093					return false;
3094				}
3095			});
3096		}
3097
3098		$closeBtn = jQuery( '#TB_closeWindowButton' );
3099		/*
3100		 * If the native Close button icon is visible, move focus on the button
3101		 * (e.g. in the Network Admin Themes screen).
3102		 * In other admin screens is hidden and replaced by a different icon.
3103		 */
3104		if ( $closeBtn.find( '.tb-close-icon' ).is( ':visible' ) ) {
3105			$closeBtn.trigger( 'focus' );
3106		}
3107
3108	} catch(e) {
3109		//nothing here
3110	}
3111}
3112
3113//helper functions below
3114function tb_showIframe(){
3115	jQuery("#TB_load").remove();
3116	jQuery("#TB_window").css({'visibility':'visible'}).trigger( 'thickbox:iframe:loaded' );
3117}
3118
3119function tb_remove() {
3120 	jQuery("#TB_imageOff").off("click");
3121	jQuery("#TB_closeWindowButton").off("click");
3122	jQuery( '#TB_window' ).fadeOut( 'fast', function() {
3123		jQuery( '#TB_window, #TB_overlay, #TB_HideSelect' ).trigger( 'tb_unload' ).off().remove();
3124		jQuery( 'body' ).trigger( 'thickbox:removed' );
3125	});
3126	jQuery( 'body' ).removeClass( 'modal-open' );
3127	jQuery("#TB_load").remove();
3128	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
3129		jQuery("body","html").css({height: "auto", width: "auto"});
3130		jQuery("html").css("overflow","");
3131	}
3132	jQuery(document).off('.thickbox');
3133	return false;
3134}
3135
3136function tb_position() {
3137var isIE6 = typeof document.body.style.maxHeight === "undefined";
3138jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
3139	if ( ! isIE6 ) { // take away IE6
3140		jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
3141	}
3142}
3143
3144function tb_parseQuery ( query ) {
3145   var Params = {};
3146   if ( ! query ) {return Params;}// return empty object
3147   var Pairs = query.split(/[;&]/);
3148   for ( var i = 0; i < Pairs.length; i++ ) {
3149      var KeyVal = Pairs[i].split('=');
3150      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
3151      var key = unescape( KeyVal[0] );
3152      var val = unescape( KeyVal[1] );
3153      val = val.replace(/\+/g, ' ');
3154      Params[key] = val;
3155   }
3156   return Params;
3157}
3158
3159function tb_getPageSize(){
3160	var de = document.documentElement;
3161	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
3162	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
3163	return [w,h];
3164}
3165
3166function tb_detectMacXFF() {
3167  var userAgent = navigator.userAgent.toLowerCase();
3168  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
3169    return true;
3170  }
3171}
3172;
3173(function($) { 'use strict';
3174
3175    // Global vars
3176
3177    var $window = $(window);
3178    var htmlOffsetTop = parseInt($('html').css('margin-top'));
3179    var body = $('body');
3180    var mainHeader = $('#masthead');
3181    var mainContent = $('#content');
3182    var primaryContent = $('#primary');
3183    var sidebar = $('#secondary');
3184
3185    // Calculate clients viewport
3186
3187    var w=window,d=document,
3188    e=d.documentElement,
3189    g=d.getElementsByTagName('body')[0],
3190    x=w.innerWidth||e.clientWidth||g.clientWidth, // Viewport Width
3191    y=w.innerHeight||e.clientHeight||g.clientHeight; // Viewport Height
3192
3193    $(document).ready(function($){
3194
3195        // Calculate clients viewport
3196
3197        x=w.innerWidth||e.clientWidth||g.clientWidth; // Viewport Width
3198        y=w.innerHeight||e.clientHeight||g.clientHeight; // Viewport Height
3199
3200        // Global Vars
3201
3202        var wScrollTop = $window.scrollTop();
3203        var mainHeaderHeight = mainHeader.outerHeight();
3204
3205        // Outline none on mousedown for focused elements
3206
3207        body.on('mousedown', '*', function(e) {
3208            if(($(this).is(':focus') || $(this).is(e.target)) && $(this).css('outline-style') == 'none') {
3209                $(this).css('outline', 'none').on('blur', function() {
3210                    $(this).off('blur').css('outline', '');
3211                });
3212            }
3213        });
3214
3215        // Disable search submit if input empty
3216        $( '.search-submit' ).prop( 'disabled', true );
3217        $( '.search-field' ).keyup( function() {
3218            $('.search-submit').prop( 'disabled', this.value == "" ? true : false );
3219        });
3220
3221        // Main Header
3222
3223        // sticky
3224
3225        if(body.hasClass('sticky-header') && x > 767){
3226            mainContent = $('body:not(.fullwidth-slider):not(.carousel-slider) #content');
3227
3228            mainContent.css({marginTop: (mainHeaderHeight)});
3229
3230            mainHeader.css({top: htmlOffsetTop});
3231
3232            if(body.hasClass('fullwidth-slider')){
3233                var stickyHeaderBgColor = function(){
3234                    if($window.scrollTop() > (y - mainHeaderHeight - htmlOffsetTop)){
3235                        mainHeader.addClass('add-bg-color');
3236                    }
3237                    else{
3238                        mainHeader.removeClass('add-bg-color');
3239                    }
3240                };
3241                stickyHeaderBgColor();
3242
3243                $window.scroll(function(){
3244                    setTimeout(function(){
3245                        stickyHeaderBgColor();
3246                    }, 200);
3247                });
3248            }
3249
3250            if(body.hasClass('carousel-slider')){
3251                if(x > 767){
3252                    body.css({'marginTop': mainHeaderHeight});
3253                }
3254                else{
3255                    body.css({'marginTop': ''});
3256                }
3257            }
3258        }
3259
3260        // show content
3261
3262        body.css({opacity: 1});
3263
3264        // dropdown button
3265
3266        var mainMenuDropdownLink = $('.nav-menu .menu-item-has-children > a, .nav-menu .page_item_has_children > a');
3267        var dropDownArrow = $('<button class="dropdown-toggle"><span class="screen-reader-text">
3267toggle child menu</span><i class="icon-drop-down"></i></button>');
3268
3269        mainMenuDropdownLink.after(dropDownArrow);
3270
3271        // dropdown open on click
3272
3273        var dropDownButton = mainMenuDropdownLink.next('button.dropdown-toggle');
3274
3275        dropDownButton.on('click', function(e){
3276            e.preventDefault();
3277            var $this = $(this);
3278            $this.parent('li').toggleClass('toggle-on').find('.toggle-on').removeClass('toggle-on');
3279            $this.parent('li').siblings().removeClass('toggle-on');
3280        });
3281
3282        // Featured Slider
3283
3284        var slider;
3285        var direction;
3286
3287        if(body.hasClass('rtl')){
3288            direction = true;
3289        }
3290        else{
3291            direction = false;
3292        }
3293
3294        if(body.hasClass('fullwidth-slider')){
3295
3296            slider = $('div.featured-slider');
3297            var sliderWrap = slider.parent('.featured-slider-wrap');
3298            var slide = slider.find('article');
3299
3300            sliderWrap.css({top: htmlOffsetTop});
3301
3302            if(x > 768){
3303                slide.height(y - htmlOffsetTop);
3304            }
3305            else{
3306                slide.height('');
3307            }
3308
3309            if(x > 1024){
3310                if(body.hasClass('sticky-header')){
3311                    mainContent.css({marginTop: (y - htmlOffsetTop)});
3312                }
3313                else{
3314                    mainContent.css({marginTop: (y - mainHeaderHeight - htmlOffsetTop)});
3315                }
3316
3317                var sliderHeader = slider.find('.slide-text .entry-title, .slide-text .entry-meta');
3318
3319                sliderHeader.hover(
3320                    function(){
3321                        $(this).closest('.featured-slider').addClass('opaque');
3322                    },
3323                    function() {
3324                        $(this).closest('.featured-slider').removeClass('opaque');
3325                });
3326            }
3327            else{
3328                mainContent.css({marginTop: ''});
3329            }
3330
3331            slide.each(function(){
3332                var featuredImg = $(this).find('img');
3333                if(featuredImg.length){
3334                    var slideImgSrc;
3335
3336                    if (featuredImg.attr('data-lazy-src')){
3337                        slideImgSrc = featuredImg.attr('data-lazy-src');
3338                    }
3339                    else{
3340                        slideImgSrc = featuredImg.attr('src');
3341                    }
3342                    $(this).find('.featured-image').css('background-image', 'url('+slideImgSrc+')');
3343                }
3344            });
3345
3346            slider.slick({
3347                slide: 'article',
3348                infinite: true,
3349                speed: 600,
3350                fade: true,
3351                useTransform: true,
3352                centerMode: true,
3353                centerPadding: 0,
3354                initialSlide: 0,
3355                dots: false,
3356                touchThreshold: 20,
3357                slidesToShow: 1,
3358                cssEase: 'cubic-bezier(0.28, 0.12, 0.22, 1)',
3359                rtl: direction,
3360                responsive: [
3361                {
3362                  breakpoint: 769,
3363                  settings: {
3364                    draggable: true,
3365                    centerPadding: 0,
3366                    arrows: false,
3367                    dots: true
3368                  }
3369                }
3370              ]
3371            });
3372
3373            // show slider after init
3374            setTimeout(function(){
3375                slider.closest('.featured-slider-wrap').css({opacity: 1});
3376            }, 2000);
3377
3378            var fullwidthSlider = function() {
3379                var sliderHeight = slider.outerHeight();
3380                if(x > 1024){
3381                    if(wScrollTop > 0){
3382                        slider.css({opacity: (sliderHeight - wScrollTop) / sliderHeight});
3383                    }
3384                    else{
3385                        slider.css({opacity: 1});
3386                    }
3387                }
3388                else{
3389                    slider.css({opacity: 1});
3390                }
3391            };
3392            fullwidthSlider();
3393
3394            $window.scroll(function(){
3395                wScrollTop = $(window).scrollTop();
3396                fullwidthSlider();
3397            });
3398        }
3399        else if(body.hasClass('carousel-slider')){
3400            slider = $('div.featured-slider');
3401
3402            slider.slick({
3403                slide: 'article',
3404                infinite: true,
3405                speed: 500,
3406                useTransform: true,
3407                centerMode: true,
3408                centerPadding: '20%',
3409                draggable: true,
3410                initialSlide: 0,
3411                dots: false,
3412                touchThreshold: 20,
3413                slidesToShow: 1,
3414                cssEase: 'cubic-bezier(0.28, 0.12, 0.22, 1)',
3415                rtl: direction,
3416                responsive: [
3417                {
3418                  breakpoint: 992,
3419                  settings: {
3420                    draggable: true,
3421                    centerPadding: 0,
3422                    arrows: false,
3423                    dots: true
3424                  }
3425                }
3426              ]
3427            });
3428
3429            // show slider after init
3430            setTimeout(function(){
3431                slider.closest('.featured-slider-wrap').css({opacity: 1});
3432            }, 1000);
3433        }
3434
3435        // On Infinite Scroll Load
3436
3437        var $container = $('div.masonry');
3438
3439        $(document.body).on('post-load', function(){
3440
3441            // Reactivate masonry on post load
3442
3443            var newEl = $container.children().not('article.post-loaded, span.infinite-loader, div.grid-sizer').addClass('post-loaded');
3444
3445            newEl.hide();
3446            newEl.imagesLoaded(function () {
3447
3448                // Reactivate masonry on post load
3449
3450                if(x > 767){
3451                    $container.masonry({
3452                        columnWidth: '.grid-sizer',
3453                        itemSelector: '.masonry article',
3454                        transitionDuration: 0
3455                    }).masonry('appended', newEl, true).masonry('reloadItems').masonry('layout');
3456                }
3457                else{
3458                    newEl.show();
3459                }
3460
3461                setTimeout(function(){
3462                    newEl.each(function(i){
3463                        var $this = $(this);
3464
3465                        if($this.find('iframe').length){
3466                            var $iframe = $this.find('iframe');
3467                            var $iframeSrc = $iframe.attr('src');
3468
3469                            if(x > 767){
3470                                $iframe.load($iframeSrc, function(){
3471                                    $container.masonry('layout');
3472                                });
3473                            }
3474                        }
3475
3476                        // Gallery with full size images
3477
3478                        var fullSizeThumbGallery = $this.find(' div.gallery-size-full[data-carousel-extra]');
3479
3480                        if(body.hasClass('single-format-gallery') && fullSizeThumbGallery.length){
3481                            fullSizeThumbGallery.each(function(){
3482                                var $this = $(this);
3483                                var galleryItemCount = $this.find('.gallery-item').length;
3484
3485                                $this.append('<span class="gallery-count">01 / 0'+galleryItemCount+'</span>');
3486                            });
3487                        }
3488
3489                        setTimeout(function(){
3490                            newEl.eq(i).addClass('animate');
3491                        }, 200 * (i+1));
3492                    });
3493                }, 150);
3494
3495                // Checkbox and Radio buttons
3496
3497                radio_checkbox_animation();
3498
3499                // Format image
3500
3501                formatImg();
3502
3503                // Format Video
3504
3505                videoFormat();
3506
3507                // Thickbox
3508
3509                videoThickbox();
3510
3511            });
3512
3513        });
3514
3515        // Checkbox and Radio buttons
3516
3517        //if buttons are inside label
3518        function radio_checkbox_animation() {
3519            var checkBtn = $('label').find('input[type="checkbox"]');
3520            var checkLabel = checkBtn.parent('label');
3521            var radioBtn = $('label').find('input[type="radio"]');
3522
3523            checkLabel.addClass('checkbox');
3524
3525            checkLabel.click(function(){
3526                var $this = $(this);
3527                if($this.find('input').is(':checked')){
3528                    $this.addClass('checked');
3529                }
3530                else{
3531                    $this.removeClass('checked');
3532                }
3533            });
3534
3535            var checkBtnAfter = $('label + input[type="checkbox"]');
3536            var checkLabelBefore = checkBtnAfter.prev('label');
3537
3538            checkLabelBefore.click(function(){
3539                var $this = $(this);
3540                $this.toggleClass('checked');
3541            });
3542
3543            radioBtn.change(function(){
3544                var $this = $(this);
3545                if($this.is(':checked')){
3546                    $this.parent('label').siblings().removeClass('checked');
3547                    $this.parent('label').addClass('checked');
3548                }
3549                else{
3550                    $this.parent('label').removeClass('checked');
3551                }
3552            });
3553        }
3554        radio_checkbox_animation();
3555
3556        // Template Headline
3557
3558        if(body.hasClass('header-headline-content')){
3559            var headline = $('div.headline-content-container');
3560            mainContent.prepend(headline);
3561            setTimeout(function(){
3562                headline.addClass('show-headline');
3563            }, 800);
3564        }
3565
3566        // Format image
3567
3568        function formatImg(){
3569        // find post format image link
3570            var post_image_link = $('.masonry .format-image figure.featured-image').find('a');
3571
3572            if(x < 768 && post_image_link.length){
3573                // remove thickbox class and replace href with post permalink
3574                post_image_link.removeClass('thickbox');
3575
3576                post_image_link.each(function(){
3577
3578                    var $this = $(this);
3579
3580                    // Get permalink from data attr and content class
3581                    var post_permalink = $this.data('post_url');
3582                    var post_content_class = $this.attr('class');
3583
3584                    if(post_content_class.indexOf("no-content") >= 0){
3585                        $this.find('img').unwrap();
3586                    }
3587                    else {
3588                        $this.attr('href', post_permalink);
3589                    }
3590                });
3591
3592            }
3593
3594            // set link on image post format for tablets
3595            if(x > 767 && x <= 1024){
3596                // remove thickbox class and replace href with post permalink
3597                post_image_link.each(function(){
3598
3599                    var $this = $(this);
3600
3601                    // Get permalink from data attr and content class
3602                    var post_permalink = $this.data('post_url');
3603                    var post_content_class = $this.attr('class');
3604
3605                    if(post_content_class.indexOf("no-content") < 0){
3606                        $this.attr('href', post_permalink).removeClass('thickbox');
3607                    }
3608                });
3609            }
3610        }
3611        formatImg();
3612
3613        // big search field
3614
3615        var bigSearchWrap = $('div.search-wrap');
3616        var bigSearchField = bigSearchWrap.find('.search-field');
3617        var bigSearchTrigger = $('#big-search-trigger');
3618        var bigSearchClose = $('#big-search-close');
3619
3620        bigSearchClose.on('touchend click', function(e){
3621            e.preventDefault();
3622            var $this = $(this);
3623            if(body.hasClass('big-search')){
3624                body.removeClass('big-search');
3625                setTimeout(function(){
3626                    $this.siblings('.search-wrap').find('.search-field').blur();
3627                }, 100);
3628            }
3629        });
3630
3631        bigSearchTrigger.on('touchend click', function(e){
3632            e.preventDefault();
3633            e.stopPropagation();
3634            var $this = $(this);
3635            body.addClass('big-search');
3636            setTimeout(function(){
3637                $this.siblings('.search-wrap').find('.search-field').focus();
3638            }, 100);
3639        });
3640
3641        bigSearchField.on('touchend click', function(e){
3642            e.stopPropagation();
3643        });
3644
3645        // Featured image - Portrait
3646
3647        if(body.hasClass('single-post')){
3648
3649            var portraitImg = $('.featured-portrait');
3650
3651            if(portraitImg.length){
3652                var portraitSibling = $('.entry-header');
3653
3654                if(x > 767){
3655                    portraitSibling.after(portraitImg);
3656                    portraitImg.parent().addClass('portrait-wrap');
3657                    portraitImg.css({opacity: 1});
3658                }
3659            }
3660
3661        }
3662
3663        // Dropcaps
3664
3665        if(body.hasClass('single-post') || body.hasClass('page')){
3666
3667            var dropcap = $('span.dropcap');
3668            if(dropcap.length){
3669                dropcap.each(function(){
3670                    var $this = $(this);
3671                    $this.attr('data-dropcap', $this.text());
3672                });
3673            }
3674
3675        }
3676
3677        // Back to top
3678
3679        if(x > 1024){
3680            var toTopArrow = $('button.back-to-top');
3681
3682            toTopArrow.on('click touchstart', function (e) {
3683                e.preventDefault();
3684                $('html, body').animate({scrollTop: 0}, 800, 'swing');
3685                return false;
3686            });
3687
3688            $(window).scroll(function () {
3689                var $this = $(this);
3690                if($this.scrollTop() > 600) {
3691                    toTopArrow.fadeIn();
3692                }
3693                else{
3694                    toTopArrow.fadeOut();
3695                }
3696            });
3697        }
3698
3699        // Gallery with full size images
3700
3701        function galleryFullSizeImg(){
3702            var fullSizeThumbGallery = $('div.gallery-size-full[data-carousel-extra]');
3703
3704            if(body.hasClass('single-format-gallery') && fullSizeThumbGallery.length){
3705                fullSizeThumbGallery.each(function(){
3706                    var $this = $(this);
3707                    var galleryItemCount = $this.find('.gallery-item').length;
3708
3709                    $this.append('<span class="gallery-count">
370901 / 0'+galleryItemCount+'</span>');
3710                });
3711            }
3712        }
3713
3714        galleryFullSizeImg();
3715
3716        // Format Video
3717
3718        function videoFormat(){
3719            var entryVideo = $('div.entry-video');
3720
3721            if(entryVideo.length){
3722                entryVideo.each(function(){
3723                    var $this = $(this);
3724
3725                    $this.find('.featured-image').closest('.entry-video').addClass('has-img');
3726                });
3727            }
3728        }
3729
3730        videoFormat();
3731
3732        // Thickbox
3733
3734        function videoThickbox(){
3735            var thickboxVideo = $('.format-video a.thickbox');
3736
3737            if(thickboxVideo.length){
3738                thickboxVideo.on('click touchstart', function(){
3739                    setTimeout(function(){
3740                        $('#TB_window').addClass('format-video');
3741                    }, 200);
3742                });
3743            }
3744        }
3745
3746        videoThickbox();
3747
3748        // If single has sidebar
3749
3750        if(sidebar.length){
3751            $('#primary').addClass('has-sidebar');
3752        }
3753
3754        // Add show class to body
3755
3756        body.addClass('show');
3757
3758    }); // End Document Ready
3759
3760    $(window).load(function(){
3761
3762        // Calculate clients viewport
3763        x=w.innerWidth||e.clientWidth||g.clientWidth; // Viewport Width
3764        y=w.innerHeight||e.clientHeight||g.clientHeight; // Viewport Height
3765
3766        body.addClass('page-loaded');
3767
3768        // Masonry call
3769
3770        var $container = $('div.masonry');
3771
3772        $container.imagesLoaded( function() {
3773            if(x > 767){
3774                $container.masonry({
3775                    columnWidth: '.grid-sizer',
3776                    itemSelector: '.masonry article',
3777                    transitionDuration: 0
3778                }).masonry('layout');
3779            }
3780
3781            var masonryChild = $container.find('article.hentry');
3782
3783            masonryChild.each(function(i){
3784                setTimeout(function(){
3785                    masonryChild.eq(i).addClass('post-loaded animate');
3786                }, 200 * (i+1));
3787            });
3788        });
3789
3790        var infiniteHandle = $('#infinite-handle');
3791
3792        if(infiniteHandle.length){
3793            infiniteHandle.parent().css('margin-bottom', 110);
3794        }
3795
3796        // Infinite scroll
3797
3798        // if(body.hasClass('neverending')){
3799        //     var pagePaddingTop = parseInt($('#page').css('padding-top'));
3800        //     $container.css({minHeight: $('#main').height() + htmlOffsetTop + pagePaddingTop});
3801        // }
3802
3803    }); // End Window Load
3804
3805    $(window).resize(function(){
3806
3807        // Calculate clients viewport
3808        x=w.innerWidth||e.clientWidth||g.clientWidth; // Viewport Width
3809        y=w.innerHeight||e.clientHeight||g.clientHeight; // Viewport Height
3810
3811        // Global Vars
3812
3813        var wScrollTop = $window.scrollTop();
3814        var mainHeaderHeight = mainHeader.outerHeight();
3815
3816        // Main Header
3817
3818        // sticky
3819
3820        if(body.hasClass('sticky-header')){
3821            mainContent = $('body:not(.fullwidth-slider):not(.carousel-slider) #content');
3822            if(x > 767){
3823                mainContent.css({marginTop: (mainHeaderHeight)});
3824            }
3825            else{
3826                mainContent.css({marginTop: ''});
3827            }
3828
3829
3830            if(body.hasClass('carousel-slider')){
3831                if(x > 767){
3832                    body.css({'marginTop': mainHeaderHeight});
3833                }
3834                else{
3835                    body.css({'marginTop': ''});
3836                }
3837            }
3838        }
3839
3840        // Featured Slider
3841
3842        var slider;
3843
3844        if(body.hasClass('fullwidth-slider')){
3845
3846            slider = $('div.featured-slider');
3847            var slide = slider.find('article');
3848
3849            if(x > 768){
3850                slide.height(y - htmlOffsetTop);
3851            }
3852            else{
3853                slide.height('');
3854            }
3855
3856            if(x > 1024){
3857                if(body.hasClass('sticky-header')){
3858                    mainContent.css({marginTop: (y - htmlOffsetTop)});
3859                }
3860                else{
3861                    mainContent.css({marginTop: (y - mainHeaderHeight - htmlOffsetTop)});
3862                }
3863            }
3864            else{
3865                mainContent.css({marginTop: ''});
3866            }
3867            var sliderHeight = slider.outerHeight();
3868
3869            var fullwidthSlider = function() {
3870                if(x > 1024){
3871                    if(wScrollTop > 0){
3872                        slider.css({opacity: (sliderHeight - wScrollTop) / sliderHeight});
3873                    }
3874                    else{
3875                        slider.css({opacity: 1});
3876                    }
3877                }
3878                else{
3879                    slider.css({opacity: 1});
3880                }
3881            };
3882            fullwidthSlider();
3883
3884            $window.scroll(function(){
3885                wScrollTop = $(window).scrollTop();
3886                fullwidthSlider();
3887            });
3888
3889        }
3890
3891        if(body.hasClass('carousel-slider')){
3892            if(x > 767){
3893                body.css({'marginTop': mainHeaderHeight});
3894            }
3895            else{
3896                body.css({'marginTop': ''});
3897            }
3898        }
3899
3900        // Featured image - Portrait
3901
3902        if(body.hasClass('single-post')){
3903
3904            var portraitImg = $('.featured-portrait');
3905
3906            if(portraitImg.length){
3907                var portraitSibling = $('.entry-header');
3908
3909                if(x > 767){
3910                    portraitSibling.after(portraitImg);
3911                    portraitImg.parent().addClass('portrait-wrap');
3912                }
3913                else{
3914                    portraitSibling.before(portraitImg);
3915                    portraitImg.parent().removeClass('portrait-wrap');
3916                }
3917            }
3918
3919        }
3920
3921        // On Infinite Scroll Load
3922
3923        var infiniteHandle = $('#infinite-handle');
3924
3925        if(infiniteHandle.length){
3926            infiniteHandle.parent().css('margin-bottom', 110);
3927        }
3928
3929    }); // End Window Resize
3930
3931})(jQuery);
3932;

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.