{"version":3,"sources":["jquery.cycle2.js","jquery.cycle2.swipe.js","initializeHomepage.js"],"names":["$","lowerCase","s","toLowerCase","fn","cycle","options","o","this","length","isReady","each","data","opts","val","container","log","p","noop","hasOwnProperty","test","shortName","match","replace","extend","defaults","timeoutId","paused","_maxZ","maxZ","API","_container","trigger","eventName","args","addInitialSlides","preInitSlideshow","slides","initSlideshow","selector","c","context","slideCount","jquery","find","random","sort","Math","add","tx","transitions","fx","isFunction","preInit","_preInitialized","postInitSlideshow","postInit","pauseObj","calcFirstSlide","css","currSlide","opacity","display","visibility","stackSlides","nextSlide","reverse","pauseOnHover","hover","pause","resume","timeout","slideOpts","getSlideOpts","queueTransition","delay","_initialized","updateView","alreadyPaused","hoverPaused","addClass","clearTimeout","_remainingTimeout","now","_lastQueue","isNaN","undefined","alreadyResumed","removeClass","filter","prepend","oldSlideCount","type","trim","i","slide","append","buildSlideOpts","initSlide","len","firstSlideIndex","parseInt","startingSlide","calcNextSlide","roll","calcTx","manual","_tempFx","manualFx","fade","prepareTx","fwd","curr","next","busy","manualTrump","stopTransition","_tx","manualSpeed","speed","before","after","transition","doTransition","currEl","nextEl","callback","animate","animIn","easeIn","easing","cssBefore","animOut","easeOut","cssAfter","sync","specificTimeout","loop","setTimeout","continueAuto","stop","advanceSlide","slideNum","e","index","suggestedZindex","slideCss","speeds","_default","slideClass","isAfter","isDuring","forceEvent","slideActiveClass","eq","hideNonActive","getComponent","name","z","getSlideIndex","el","window","console","Array","prototype","join","call","arguments","version","custom","none","fadeout","scrollHorz","w","width","left","top","zIndex","allowWrap","autoSelector","position","document","ready","jQuery","initAutoHeight","sentinelIndex","max","autoHeight","height","outerHeight","_autoHeightRatio","h","_sentinelIndex","_sentinel","remove","clone","cloneNode","removeAttr","prependTo","onBefore","outgoing","incoming","forward","autoHeightSpeed","autoHeightEasing","onDestroy","_autoHeightOnResize","off","on","t","resizeThrottle","onResize","ratio","caption","captionTemplate","overlay","overlayTemplate","captionModule","template","html","tmpl","show","hide","empty","c2","cmd","cmdFn","makeArray","cmdArgs","shift","apply","count","prev","destroy","clean","_data","removeData","retainStylesOnDestroy","jump","num","reinit","slideToRemove","push","preventDefault","command","onHashChange","setStartingSlide","hash","_hashFence","location","substring","_onHashChange","loader","addFn","slideArr","sorter","a","b","appendTo","images","is","imageLoaded","complete","load","src","buildPagerLink","markup","pager","pagerTemplate","children","pagerEvent","pagerEventBubble","page","currentTarget","target","pagerFx","pagerActiveClass","slideAdded","slideRemoved","nextEvent","disabledClass","prevEvent","swipe","swipeVert","swipeFx","cls","prevBoundry","nextBoundry","_prevBoundry","_nextBoundry","prop","progressive","nextFn","prevFn","prepareTxFn","scriptEl","parseJSON","err","split","RegExp","pop","slice","one","tmplRegex","str","regex","_","j","obj","names","event","special","scrollSupressionThreshold","durationThreshold","horizontalDistanceThreshold","verticalDistanceThreshold","setup","$this","bind","originalEvent","touches","start","time","Date","getTime","coords","pageX","pageY","origin","moveHandler","abs","unbind","swipeleft","swiperight","win","fp","home","sizeDetector","root","documentElement","setCSSVariable","varName","value","style","setProperty","header","querySelector","logoMobile","offsetHeight","utility","specialMessage","stickyFooter","getComputedStyle","debouncedResizeHandler","func","let","addEventListener","init","forEach","querySelectorAll","img","setAttribute","getAttribute","onload","removeAttribute","setupCarouselControls","carouselWrapper","carouselTarget","ariaLiveRegion","classList","contains","cyclePausePlay","cyclePausePlayIcon","cycleBack","textContent","cycleNext","video","videoButton","videoButtonIcon","controlAnnouncements","getElementById","play"],"mappings":"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","file":"homepage-9fc74ad7e6.js","sourcesContent":["/*!\n* jQuery Cycle2; version: 2.1.6 build: 20141007\n* http://jquery.malsup.com/cycle2/\n* Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL\n*/\n\n/* Cycle2 core engine */\n;\n(function($) {\n \"use strict\";\n\n var version = '2.1.6';\n\n $.fn.cycle = function(options) {\n // fix mistakes with the ready state\n var o;\n if (this.length === 0 && !$.isReady) {\n o = { s: this.selector, c: this.context };\n $.fn.cycle.log('requeuing slideshow (dom not ready)');\n $(function() {\n $(o.s, o.c).cycle(options);\n });\n return this;\n }\n\n return this.each(function() {\n var data, opts, shortName, val;\n var container = $(this);\n var log = $.fn.cycle.log;\n\n if (container.data('cycle.opts'))\n return; // already initialized\n\n if (container.data('cycle-log') === false ||\n (options && options.log === false) ||\n (opts && opts.log === false)) {\n log = $.noop;\n }\n\n log('--c2 init--');\n data = container.data();\n for (var p in data) {\n // allow props to be accessed sans 'cycle' prefix and log the overrides\n if (data.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p)) {\n val = data[p];\n shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);\n log(shortName + ':', val, '(' + typeof val + ')');\n data[shortName] = val;\n }\n }\n\n opts = $.extend({}, $.fn.cycle.defaults, data, options || {});\n\n opts.timeoutId = 0;\n opts.paused = opts.paused || false; // #57\n opts.container = container;\n opts._maxZ = opts.maxZ;\n\n opts.API = $.extend({ _container: container }, $.fn.cycle.API);\n opts.API.log = log;\n opts.API.trigger = function(eventName, args) {\n opts.container.trigger(eventName, args);\n return opts.API;\n };\n\n container.data('cycle.opts', opts);\n container.data('cycle.API', opts.API);\n\n // opportunity for plugins to modify opts and API\n opts.API.trigger('cycle-bootstrap', [opts, opts.API]);\n\n opts.API.addInitialSlides();\n opts.API.preInitSlideshow();\n\n if (opts.slides.length)\n opts.API.initSlideshow();\n });\n };\n\n $.fn.cycle.API = {\n opts: function() {\n return this._container.data('cycle.opts');\n },\n addInitialSlides: function() {\n var opts = this.opts();\n var slides = opts.slides;\n opts.slideCount = 0;\n opts.slides = $(); // empty set\n\n // add slides that already exist\n slides = slides.jquery ? slides : opts.container.find(slides);\n\n if (opts.random) {\n slides.sort(function() { return Math.random() - 0.5; });\n }\n\n opts.API.add(slides);\n },\n\n preInitSlideshow: function() {\n var opts = this.opts();\n opts.API.trigger('cycle-pre-initialize', [opts]);\n var tx = $.fn.cycle.transitions[opts.fx];\n if (tx && $.isFunction(tx.preInit))\n tx.preInit(opts);\n opts._preInitialized = true;\n },\n\n postInitSlideshow: function() {\n var opts = this.opts();\n opts.API.trigger('cycle-post-initialize', [opts]);\n var tx = $.fn.cycle.transitions[opts.fx];\n if (tx && $.isFunction(tx.postInit))\n tx.postInit(opts);\n },\n\n initSlideshow: function() {\n var opts = this.opts();\n var pauseObj = opts.container;\n var slideOpts;\n opts.API.calcFirstSlide();\n\n if (opts.container.css('position') == 'static')\n opts.container.css('position', 'relative');\n\n $(opts.slides[opts.currSlide]).css({\n opacity: 1,\n display: 'block',\n visibility: 'visible'\n });\n opts.API.stackSlides(opts.slides[opts.currSlide], opts.slides[opts.nextSlide], !opts.reverse);\n\n if (opts.pauseOnHover) {\n // allow pauseOnHover to specify an element\n if (opts.pauseOnHover !== true)\n pauseObj = $(opts.pauseOnHover);\n\n pauseObj.hover(\n function() { opts.API.pause(true); },\n function() { opts.API.resume(true); }\n );\n }\n\n // stage initial transition\n if (opts.timeout) {\n slideOpts = opts.API.getSlideOpts(opts.currSlide);\n opts.API.queueTransition(slideOpts, slideOpts.timeout + opts.delay);\n }\n\n opts._initialized = true;\n opts.API.updateView(true);\n opts.API.trigger('cycle-initialized', [opts]);\n opts.API.postInitSlideshow();\n },\n\n pause: function(hover) {\n var opts = this.opts(),\n slideOpts = opts.API.getSlideOpts(),\n alreadyPaused = opts.hoverPaused || opts.paused;\n\n if (hover)\n opts.hoverPaused = true;\n else\n opts.paused = true;\n\n if (! alreadyPaused) {\n opts.container.addClass('cycle-paused');\n opts.API.trigger('cycle-paused', [opts]).log('cycle-paused');\n\n if (slideOpts.timeout) {\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n\n // determine how much time is left for the current slide\n opts._remainingTimeout -= ($.now() - opts._lastQueue);\n if (opts._remainingTimeout < 0 || isNaN(opts._remainingTimeout))\n opts._remainingTimeout = undefined;\n }\n }\n },\n\n resume: function(hover) {\n var opts = this.opts(),\n alreadyResumed = !opts.hoverPaused && !opts.paused,\n remaining;\n\n if (hover)\n opts.hoverPaused = false;\n else\n opts.paused = false;\n\n\n if (! alreadyResumed) {\n opts.container.removeClass('cycle-paused');\n // #gh-230; if an animation is in progress then don't queue a new transition; it will\n // happen naturally\n if (opts.slides.filter(':animated').length === 0)\n opts.API.queueTransition(opts.API.getSlideOpts(), opts._remainingTimeout);\n opts.API.trigger('cycle-resumed', [opts, opts._remainingTimeout]).log('cycle-resumed');\n }\n },\n\n add: function(slides, prepend) {\n var opts = this.opts();\n var oldSlideCount = opts.slideCount;\n var startSlideshow = false;\n var len;\n\n if ($.type(slides) == 'string')\n slides = $.trim(slides);\n\n $(slides).each(function(i) {\n var slideOpts;\n var slide = $(this);\n\n if (prepend)\n opts.container.prepend(slide);\n else\n opts.container.append(slide);\n\n opts.slideCount++;\n slideOpts = opts.API.buildSlideOpts(slide);\n\n if (prepend)\n opts.slides = $(slide).add(opts.slides);\n else\n opts.slides = opts.slides.add(slide);\n\n opts.API.initSlide(slideOpts, slide, --opts._maxZ);\n\n slide.data('cycle.opts', slideOpts);\n opts.API.trigger('cycle-slide-added', [opts, slideOpts, slide]);\n });\n\n opts.API.updateView(true);\n\n startSlideshow = opts._preInitialized && (oldSlideCount < 2 && opts.slideCount >= 1);\n if (startSlideshow) {\n if (!opts._initialized)\n opts.API.initSlideshow();\n else if (opts.timeout) {\n len = opts.slides.length;\n opts.nextSlide = opts.reverse ? len - 1 : 1;\n if (!opts.timeoutId) {\n opts.API.queueTransition(opts);\n }\n }\n }\n },\n\n calcFirstSlide: function() {\n var opts = this.opts();\n var firstSlideIndex;\n firstSlideIndex = parseInt(opts.startingSlide || 0, 10);\n if (firstSlideIndex >= opts.slides.length || firstSlideIndex < 0)\n firstSlideIndex = 0;\n\n opts.currSlide = firstSlideIndex;\n if (opts.reverse) {\n opts.nextSlide = firstSlideIndex - 1;\n if (opts.nextSlide < 0)\n opts.nextSlide = opts.slides.length - 1;\n } else {\n opts.nextSlide = firstSlideIndex + 1;\n if (opts.nextSlide == opts.slides.length)\n opts.nextSlide = 0;\n }\n },\n\n calcNextSlide: function() {\n var opts = this.opts();\n var roll;\n if (opts.reverse) {\n roll = (opts.nextSlide - 1) < 0;\n opts.nextSlide = roll ? opts.slideCount - 1 : opts.nextSlide - 1;\n opts.currSlide = roll ? 0 : opts.nextSlide + 1;\n } else {\n roll = (opts.nextSlide + 1) == opts.slides.length;\n opts.nextSlide = roll ? 0 : opts.nextSlide + 1;\n opts.currSlide = roll ? opts.slides.length - 1 : opts.nextSlide - 1;\n }\n },\n\n calcTx: function(slideOpts, manual) {\n var opts = slideOpts;\n var tx;\n\n if (opts._tempFx)\n tx = $.fn.cycle.transitions[opts._tempFx];\n else if (manual && opts.manualFx)\n tx = $.fn.cycle.transitions[opts.manualFx];\n\n if (!tx)\n tx = $.fn.cycle.transitions[opts.fx];\n\n opts._tempFx = null;\n this.opts()._tempFx = null;\n\n if (!tx) {\n tx = $.fn.cycle.transitions.fade;\n opts.API.log('Transition \"' + opts.fx + '\" not found. Using fade.');\n }\n return tx;\n },\n\n prepareTx: function(manual, fwd) {\n var opts = this.opts();\n var after, curr, next, slideOpts, tx;\n\n if (opts.slideCount < 2) {\n opts.timeoutId = 0;\n return;\n }\n if (manual && (!opts.busy || opts.manualTrump)) {\n opts.API.stopTransition();\n opts.busy = false;\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n }\n if (opts.busy)\n return;\n if (opts.timeoutId === 0 && !manual)\n return;\n\n curr = opts.slides[opts.currSlide];\n next = opts.slides[opts.nextSlide];\n slideOpts = opts.API.getSlideOpts(opts.nextSlide);\n tx = opts.API.calcTx(slideOpts, manual);\n\n opts._tx = tx;\n\n if (manual && slideOpts.manualSpeed !== undefined)\n slideOpts.speed = slideOpts.manualSpeed;\n\n // if ( opts.nextSlide === opts.currSlide )\n // opts.API.calcNextSlide();\n\n // ensure that:\n // 1. advancing to a different slide\n // 2. this is either a manual event (prev/next, pager, cmd) or \n // a timer event and slideshow is not paused\n if (opts.nextSlide != opts.currSlide &&\n (manual || (!opts.paused && !opts.hoverPaused && opts.timeout))) { // #62\n\n opts.API.trigger('cycle-before', [slideOpts, curr, next, fwd]);\n if (tx.before)\n tx.before(slideOpts, curr, next, fwd);\n\n after = function() {\n opts.busy = false;\n // #76; bail if slideshow has been destroyed\n if (! opts.container.data('cycle.opts'))\n return;\n\n if (tx.after)\n tx.after(slideOpts, curr, next, fwd);\n opts.API.trigger('cycle-after', [slideOpts, curr, next, fwd]);\n opts.API.queueTransition(slideOpts);\n opts.API.updateView(true);\n };\n\n opts.busy = true;\n if (tx.transition)\n tx.transition(slideOpts, curr, next, fwd, after);\n else\n opts.API.doTransition(slideOpts, curr, next, fwd, after);\n\n opts.API.calcNextSlide();\n opts.API.updateView();\n } else {\n opts.API.queueTransition(slideOpts);\n }\n },\n\n // perform the actual animation\n doTransition: function(slideOpts, currEl, nextEl, fwd, callback) {\n var opts = slideOpts;\n var curr = $(currEl), next = $(nextEl);\n var fn = function() {\n // make sure animIn has something so that callback doesn't trigger immediately\n next.animate(opts.animIn || { opacity: 1 }, opts.speed, opts.easeIn || opts.easing, callback);\n };\n\n next.css(opts.cssBefore || {});\n curr.animate(opts.animOut || {},\n opts.speed,\n opts.easeOut || opts.easing,\n function() {\n curr.css(opts.cssAfter || {});\n if (!opts.sync) {\n fn();\n }\n });\n if (opts.sync) {\n fn();\n }\n },\n\n queueTransition: function(slideOpts, specificTimeout) {\n var opts = this.opts();\n var timeout = specificTimeout !== undefined ? specificTimeout : slideOpts.timeout;\n if (opts.nextSlide === 0 && --opts.loop === 0) {\n opts.API.log('terminating; loop=0');\n opts.timeout = 0;\n if (timeout) {\n setTimeout(function() {\n opts.API.trigger('cycle-finished', [opts]);\n },\n timeout);\n } else {\n opts.API.trigger('cycle-finished', [opts]);\n }\n // reset nextSlide\n opts.nextSlide = opts.currSlide;\n return;\n }\n if (opts.continueAuto !== undefined) {\n if (opts.continueAuto === false ||\n ($.isFunction(opts.continueAuto) && opts.continueAuto() === false)) {\n opts.API.log('terminating automatic transitions');\n opts.timeout = 0;\n if (opts.timeoutId)\n clearTimeout(opts.timeoutId);\n return;\n }\n }\n if (timeout) {\n opts._lastQueue = $.now();\n if (specificTimeout === undefined)\n opts._remainingTimeout = slideOpts.timeout;\n\n if (!opts.paused && ! opts.hoverPaused) {\n opts.timeoutId = setTimeout(function() {\n opts.API.prepareTx(false, !opts.reverse);\n },\n timeout);\n }\n }\n },\n\n stopTransition: function() {\n var opts = this.opts();\n if (opts.slides.filter(':animated').length) {\n opts.slides.stop(false, true);\n opts.API.trigger('cycle-transition-stopped', [opts]);\n }\n\n if (opts._tx && opts._tx.stopTransition)\n opts._tx.stopTransition(opts);\n },\n\n // advance slide forward or back\n advanceSlide: function(val) {\n var opts = this.opts();\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n opts.nextSlide = opts.currSlide + val;\n\n if (opts.nextSlide < 0)\n opts.nextSlide = opts.slides.length - 1;\n else if (opts.nextSlide >= opts.slides.length)\n opts.nextSlide = 0;\n\n opts.API.prepareTx(true, val >= 0);\n return false;\n },\n\n buildSlideOpts: function(slide) {\n var opts = this.opts();\n var val, shortName;\n var slideOpts = slide.data() || {};\n for (var p in slideOpts) {\n // allow props to be accessed sans 'cycle' prefix and log the overrides\n if (slideOpts.hasOwnProperty(p) && /^cycle[A-Z]+/.test(p)) {\n val = slideOpts[p];\n shortName = p.match(/^cycle(.*)/)[1].replace(/^[A-Z]/, lowerCase);\n opts.API.log('[' + (opts.slideCount - 1) + ']', shortName + ':', val, '(' + typeof val + ')');\n slideOpts[shortName] = val;\n }\n }\n\n slideOpts = $.extend({}, $.fn.cycle.defaults, opts, slideOpts);\n slideOpts.slideNum = opts.slideCount;\n\n try {\n // these props should always be read from the master state object\n delete slideOpts.API;\n delete slideOpts.slideCount;\n delete slideOpts.currSlide;\n delete slideOpts.nextSlide;\n delete slideOpts.slides;\n } catch (e) {\n // no op\n }\n return slideOpts;\n },\n\n getSlideOpts: function(index) {\n var opts = this.opts();\n if (index === undefined)\n index = opts.currSlide;\n\n var slide = opts.slides[index];\n var slideOpts = $(slide).data('cycle.opts');\n return $.extend({}, opts, slideOpts);\n },\n\n initSlide: function(slideOpts, slide, suggestedZindex) {\n var opts = this.opts();\n slide.css(slideOpts.slideCss || {});\n if (suggestedZindex > 0)\n slide.css('zIndex', suggestedZindex);\n\n // ensure that speed settings are sane\n if (isNaN(slideOpts.speed))\n slideOpts.speed = $.fx.speeds[slideOpts.speed] || $.fx.speeds._default;\n if (!slideOpts.sync)\n slideOpts.speed = slideOpts.speed / 2;\n\n slide.addClass(opts.slideClass);\n },\n\n updateView: function(isAfter, isDuring, forceEvent) {\n var opts = this.opts();\n if (!opts._initialized)\n return;\n var slideOpts = opts.API.getSlideOpts();\n var currSlide = opts.slides[opts.currSlide];\n\n if (! isAfter && isDuring !== true) {\n opts.API.trigger('cycle-update-view-before', [opts, slideOpts, currSlide]);\n if (opts.updateView < 0)\n return;\n }\n\n if (opts.slideActiveClass) {\n opts.slides.removeClass(opts.slideActiveClass)\n .eq(opts.currSlide).addClass(opts.slideActiveClass);\n }\n\n if (isAfter && opts.hideNonActive)\n opts.slides.filter(':not(.' + opts.slideActiveClass + ')').css('visibility', 'hidden');\n\n if (opts.updateView === 0) {\n setTimeout(function() {\n opts.API.trigger('cycle-update-view', [opts, slideOpts, currSlide, isAfter]);\n },\n slideOpts.speed / (opts.sync ? 2 : 1));\n }\n\n if (opts.updateView !== 0)\n opts.API.trigger('cycle-update-view', [opts, slideOpts, currSlide, isAfter]);\n\n if (isAfter)\n opts.API.trigger('cycle-update-view-after', [opts, slideOpts, currSlide]);\n },\n\n getComponent: function(name) {\n var opts = this.opts();\n var selector = opts[name];\n if (typeof selector === 'string') {\n // if selector is a child, sibling combinator, adjancent selector then use find, otherwise query full dom\n return (/^\\s*[\\>|\\+|~]/).test(selector) ? opts.container.find(selector) : $(selector);\n }\n if (selector.jquery)\n return selector;\n\n return $(selector);\n },\n\n stackSlides: function(curr, next, fwd) {\n var opts = this.opts();\n if (!curr) {\n curr = opts.slides[opts.currSlide];\n next = opts.slides[opts.nextSlide];\n fwd = !opts.reverse;\n }\n\n // reset the zIndex for the common case:\n // curr slide on top, next slide beneath, and the rest in order to be shown\n $(curr).css('zIndex', opts.maxZ);\n\n var i;\n var z = opts.maxZ - 2;\n var len = opts.slideCount;\n if (fwd) {\n for (i = opts.currSlide + 1; i < len; i++)\n $(opts.slides[i]).css('zIndex', z--);\n for (i = 0; i < opts.currSlide; i++)\n $(opts.slides[i]).css('zIndex', z--);\n } else {\n for (i = opts.currSlide - 1; i >= 0; i--)\n $(opts.slides[i]).css('zIndex', z--);\n for (i = len - 1; i > opts.currSlide; i--)\n $(opts.slides[i]).css('zIndex', z--);\n }\n\n $(next).css('zIndex', opts.maxZ - 1);\n },\n\n getSlideIndex: function(el) {\n return this.opts().slides.index(el);\n }\n\n }; // API\n\n// default logger\n $.fn.cycle.log = function log() {\n /*global console:true */\n if (window.console && console.log)\n console.log('[cycle2] ' + Array.prototype.join.call(arguments, ' '));\n };\n\n $.fn.cycle.version = function() { return 'Cycle2: ' + version; };\n\n// helper functions\n\n function lowerCase(s) {\n return (s || '').toLowerCase();\n }\n\n// expose transition object\n $.fn.cycle.transitions = {\n custom: {\n },\n none: {\n before: function(opts, curr, next, fwd) {\n opts.API.stackSlides(next, curr, fwd);\n opts.cssBefore = { opacity: 1, visibility: 'visible', display: 'block' };\n }\n },\n fade: {\n before: function(opts, curr, next, fwd) {\n var css = opts.API.getSlideOpts(opts.nextSlide).slideCss || {};\n opts.API.stackSlides(curr, next, fwd);\n opts.cssBefore = $.extend(css, { opacity: 0, visibility: 'visible', display: 'block' });\n opts.animIn = { opacity: 1 };\n opts.animOut = { opacity: 0 };\n }\n },\n fadeout: {\n before: function(opts, curr, next, fwd) {\n var css = opts.API.getSlideOpts(opts.nextSlide).slideCss || {};\n opts.API.stackSlides(curr, next, fwd);\n opts.cssBefore = $.extend(css, { opacity: 1, visibility: 'visible', display: 'block' });\n opts.animOut = { opacity: 0 };\n }\n },\n scrollHorz: {\n before: function(opts, curr, next, fwd) {\n opts.API.stackSlides(curr, next, fwd);\n var w = opts.container.css('overflow', 'hidden').width();\n opts.cssBefore = { left: fwd ? w : - w, top: 0, opacity: 1, visibility: 'visible', display: 'block' };\n opts.cssAfter = { zIndex: opts._maxZ - 2, left: 0 };\n opts.animIn = { left: 0 };\n opts.animOut = { left: fwd ? -w : w };\n }\n }\n };\n\n// @see: http://jquery.malsup.com/cycle2/api\n $.fn.cycle.defaults = {\n allowWrap: true,\n autoSelector: '.cycle-slideshow[data-cycle-auto-init!=false]',\n delay: 0,\n easing: null,\n fx: 'fade',\n hideNonActive: true,\n loop: 0,\n manualFx: undefined,\n manualSpeed: undefined,\n manualTrump: true,\n maxZ: 100,\n pauseOnHover: false,\n reverse: false,\n slideActiveClass: 'cycle-slide-active',\n slideClass: 'cycle-slide',\n slideCss: { position: 'absolute', top: 0, left: 0 },\n slides: '> img',\n speed: 500,\n startingSlide: 0,\n sync: true,\n timeout: 4000,\n updateView: 0\n };\n\n// automatically find and run slideshows\n $(document).ready(function() {\n $($.fn.cycle.defaults.autoSelector).cycle();\n });\n\n})(jQuery);\n\n/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n autoHeight: 0, // setting this option to false disables autoHeight logic\n autoHeightSpeed: 250,\n autoHeightEasing: null\n });\n\n $(document).on('cycle-initialized',\n function(e, opts) {\n var autoHeight = opts.autoHeight;\n var t = $.type(autoHeight);\n var resizeThrottle = null;\n var ratio;\n\n if (t !== 'string' && t !== 'number')\n return;\n\n // bind events\n opts.container.on('cycle-slide-added cycle-slide-removed', initAutoHeight);\n opts.container.on('cycle-destroyed', onDestroy);\n\n if (autoHeight == 'container') {\n opts.container.on('cycle-before', onBefore);\n } else if (t === 'string' && /\\d+\\:\\d+/.test(autoHeight)) {\n // use ratio\n ratio = autoHeight.match(/(\\d+)\\:(\\d+)/);\n ratio = ratio[1] / ratio[2];\n opts._autoHeightRatio = ratio;\n }\n\n // if autoHeight is a number then we don't need to recalculate the sentinel\n // index on resize\n if (t !== 'number') {\n // bind unique resize handler per slideshow (so it can be 'off-ed' in onDestroy)\n opts._autoHeightOnResize = function() {\n clearTimeout(resizeThrottle);\n resizeThrottle = setTimeout(onResize, 50);\n };\n\n $(window).on('resize orientationchange', opts._autoHeightOnResize);\n }\n\n setTimeout(onResize, 30);\n\n function onResize() {\n initAutoHeight(e, opts);\n }\n });\n\n function initAutoHeight(e, opts) {\n var clone, height, sentinelIndex;\n var autoHeight = opts.autoHeight;\n\n if (autoHeight == 'container') {\n height = $(opts.slides[opts.currSlide]).outerHeight();\n opts.container.height(height);\n } else if (opts._autoHeightRatio) {\n opts.container.height(opts.container.width() / opts._autoHeightRatio);\n } else if (autoHeight === 'calc' || ($.type(autoHeight) == 'number' && autoHeight >= 0)) {\n if (autoHeight === 'calc')\n sentinelIndex = calcSentinelIndex(e, opts);\n else if (autoHeight >= opts.slides.length)\n sentinelIndex = 0;\n else\n sentinelIndex = autoHeight;\n\n // only recreate sentinel if index is different\n if (sentinelIndex == opts._sentinelIndex)\n return;\n\n opts._sentinelIndex = sentinelIndex;\n if (opts._sentinel)\n opts._sentinel.remove();\n\n // clone existing slide as sentinel\n clone = $(opts.slides[sentinelIndex].cloneNode(true));\n\n // #50; remove special attributes from cloned content\n clone.removeAttr('id name rel').find('[id],[name],[rel]').removeAttr('id name rel');\n\n clone.css({\n position: 'static',\n visibility: 'hidden',\n display: 'block'\n }).prependTo(opts.container).addClass('cycle-sentinel cycle-slide').removeClass('cycle-slide-active');\n clone.find('*').css('visibility', 'hidden');\n\n opts._sentinel = clone;\n }\n }\n\n function calcSentinelIndex(e, opts) {\n var index = 0, max = -1;\n\n // calculate tallest slide index\n opts.slides.each(function(i) {\n var h = $(this).height();\n if (h > max) {\n max = h;\n index = i;\n }\n });\n return index;\n }\n\n function onBefore(e, opts, outgoing, incoming, forward) {\n var h = $(incoming).outerHeight();\n opts.container.animate({ height: h }, opts.autoHeightSpeed, opts.autoHeightEasing);\n }\n\n function onDestroy(e, opts) {\n if (opts._autoHeightOnResize) {\n $(window).off('resize orientationchange', opts._autoHeightOnResize);\n opts._autoHeightOnResize = null;\n }\n opts.container.off('cycle-slide-added cycle-slide-removed', initAutoHeight);\n opts.container.off('cycle-destroyed', onDestroy);\n opts.container.off('cycle-before', onBefore);\n\n if (opts._sentinel) {\n opts._sentinel.remove();\n opts._sentinel = null;\n }\n }\n\n})(jQuery);\n\n/*! caption plugin for Cycle2; version: 20130306 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n caption: '> .cycle-caption',\n captionTemplate: '{{slideNum}} / {{slideCount}}',\n overlay: '> .cycle-overlay',\n overlayTemplate: '
{{title}}
{{desc}}
',\n captionModule: 'caption'\n });\n\n $(document).on('cycle-update-view',\n function(e, opts, slideOpts, currSlide) {\n if (opts.captionModule !== 'caption')\n return;\n var el;\n $.each(['caption', 'overlay'],\n function() {\n var name = this;\n var template = slideOpts[name + 'Template'];\n var el = opts.API.getComponent(name);\n if (el.length && template) {\n el.html(opts.API.tmpl(template, slideOpts, opts, currSlide));\n el.show();\n } else {\n el.hide();\n }\n });\n });\n\n $(document).on('cycle-destroyed',\n function(e, opts) {\n var el;\n $.each(['caption', 'overlay'],\n function() {\n var name = this, template = opts[name + 'Template'];\n if (opts[name] && template) {\n el = opts.API.getComponent('caption');\n el.empty();\n }\n });\n });\n\n})(jQuery);\n\n/*! command plugin for Cycle2; version: 20140415 */\n(function($) {\n \"use strict\";\n\n var c2 = $.fn.cycle;\n\n $.fn.cycle = function(options) {\n var cmd, cmdFn, opts;\n var args = $.makeArray(arguments);\n\n if ($.type(options) == 'number') {\n return this.cycle('goto', options);\n }\n\n if ($.type(options) == 'string') {\n return this.each(function() {\n var cmdArgs;\n cmd = options;\n opts = $(this).data('cycle.opts');\n\n if (opts === undefined) {\n c2.log('slideshow must be initialized before sending commands; \"' + cmd + '\" ignored');\n return;\n } else {\n cmd = cmd == 'goto' ? 'jump' : cmd; // issue #3; change 'goto' to 'jump' internally\n cmdFn = opts.API[cmd];\n if ($.isFunction(cmdFn)) {\n cmdArgs = $.makeArray(args);\n cmdArgs.shift();\n return cmdFn.apply(opts.API, cmdArgs);\n } else {\n c2.log('unknown command: ', cmd);\n }\n }\n });\n } else {\n return c2.apply(this, arguments);\n }\n };\n\n// copy props\n $.extend($.fn.cycle, c2);\n\n $.extend(c2.API,\n {\n next: function() {\n var opts = this.opts();\n if (opts.busy && ! opts.manualTrump)\n return;\n\n var count = opts.reverse ? -1 : 1;\n if (opts.allowWrap === false && (opts.currSlide + count) >= opts.slideCount)\n return;\n\n opts.API.advanceSlide(count);\n opts.API.trigger('cycle-next', [opts]).log('cycle-next');\n },\n\n prev: function() {\n var opts = this.opts();\n if (opts.busy && ! opts.manualTrump)\n return;\n var count = opts.reverse ? 1 : -1;\n if (opts.allowWrap === false && (opts.currSlide + count) < 0)\n return;\n\n opts.API.advanceSlide(count);\n opts.API.trigger('cycle-prev', [opts]).log('cycle-prev');\n },\n\n destroy: function() {\n this.stop(); //#204\n\n var opts = this.opts();\n var clean = $.isFunction($._data) ? $._data : $.noop; // hack for #184 and #201\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n opts.API.stop();\n opts.API.trigger('cycle-destroyed', [opts]).log('cycle-destroyed');\n opts.container.removeData();\n clean(opts.container[0], 'parsedAttrs', false);\n\n // #75; remove inline styles\n if (! opts.retainStylesOnDestroy) {\n opts.container.removeAttr('style');\n opts.slides.removeAttr('style');\n opts.slides.removeClass(opts.slideActiveClass);\n }\n opts.slides.each(function() {\n var slide = $(this);\n slide.removeData();\n slide.removeClass(opts.slideClass);\n clean(this, 'parsedAttrs', false);\n });\n },\n\n jump: function(index, fx) {\n // go to the requested slide\n var fwd;\n var opts = this.opts();\n if (opts.busy && ! opts.manualTrump)\n return;\n var num = parseInt(index, 10);\n if (isNaN(num) || num < 0 || num >= opts.slides.length) {\n opts.API.log('goto: invalid slide index: ' + num);\n return;\n }\n if (num == opts.currSlide) {\n opts.API.log('goto: skipping, already on slide', num);\n return;\n }\n opts.nextSlide = num;\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n opts.API.log('goto: ', num, ' (zero-index)');\n fwd = opts.currSlide < opts.nextSlide;\n opts._tempFx = fx;\n opts.API.prepareTx(true, fwd);\n },\n\n stop: function() {\n var opts = this.opts();\n var pauseObj = opts.container;\n clearTimeout(opts.timeoutId);\n opts.timeoutId = 0;\n opts.API.stopTransition();\n if (opts.pauseOnHover) {\n if (opts.pauseOnHover !== true)\n pauseObj = $(opts.pauseOnHover);\n pauseObj.off('mouseenter mouseleave');\n }\n opts.API.trigger('cycle-stopped', [opts]).log('cycle-stopped');\n },\n\n reinit: function() {\n var opts = this.opts();\n opts.API.destroy();\n opts.container.cycle();\n },\n\n remove: function(index) {\n var opts = this.opts();\n var slide, slideToRemove, slides = [], slideNum = 1;\n for (var i = 0; i < opts.slides.length; i++) {\n slide = opts.slides[i];\n if (i == index) {\n slideToRemove = slide;\n } else {\n slides.push(slide);\n $(slide).data('cycle.opts').slideNum = slideNum;\n slideNum++;\n }\n }\n if (slideToRemove) {\n opts.slides = $(slides);\n opts.slideCount--;\n $(slideToRemove).remove();\n if (index == opts.currSlide)\n opts.API.advanceSlide(1);\n else if (index < opts.currSlide)\n opts.currSlide--;\n else\n opts.currSlide++;\n\n opts.API.trigger('cycle-slide-removed', [opts, index, slideToRemove]).log('cycle-slide-removed');\n opts.API.updateView();\n }\n }\n\n });\n\n// listen for clicks on elements with data-cycle-cmd attribute\n $(document).on('click.cycle',\n '[data-cycle-cmd]',\n function(e) {\n // issue cycle command\n e.preventDefault();\n var el = $(this);\n var command = el.data('cycle-cmd');\n var context = el.data('cycle-context') || '.cycle-slideshow';\n $(context).cycle(command, el.data('cycle-arg'));\n });\n\n\n})(jQuery);\n\n/*! hash plugin for Cycle2; version: 20130905 */\n(function($) {\n \"use strict\";\n\n $(document).on('cycle-pre-initialize',\n function(e, opts) {\n onHashChange(opts, true);\n\n opts._onHashChange = function() {\n onHashChange(opts, false);\n };\n\n $(window).on('hashchange', opts._onHashChange);\n });\n\n $(document).on('cycle-update-view',\n function(e, opts, slideOpts) {\n if (slideOpts.hash && ('#' + slideOpts.hash) != window.location.hash) {\n opts._hashFence = true;\n window.location.hash = slideOpts.hash;\n }\n });\n\n $(document).on('cycle-destroyed',\n function(e, opts) {\n if (opts._onHashChange) {\n $(window).off('hashchange', opts._onHashChange);\n }\n });\n\n function onHashChange(opts, setStartingSlide) {\n var hash;\n if (opts._hashFence) {\n opts._hashFence = false;\n return;\n }\n\n hash = window.location.hash.substring(1);\n\n opts.slides.each(function(i) {\n if ($(this).data('cycle-hash') == hash) {\n if (setStartingSlide === true) {\n opts.startingSlide = i;\n } else {\n var fwd = opts.currSlide < i;\n opts.nextSlide = i;\n opts.API.prepareTx(true, fwd);\n }\n return false;\n }\n });\n }\n\n})(jQuery);\n\n/*! loader plugin for Cycle2; version: 20131121 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n loader: false\n });\n\n $(document).on('cycle-bootstrap',\n function(e, opts) {\n var addFn;\n\n if (!opts.loader)\n return;\n\n // override API.add for this slideshow\n addFn = opts.API.add;\n opts.API.add = add;\n\n function add(slides, prepend) {\n var slideArr = [];\n if ($.type(slides) == 'string')\n slides = $.trim(slides);\n else if ($.type(slides) === 'array') {\n for (var i = 0; i < slides.length; i++)\n slides[i] = $(slides[i])[0];\n }\n\n slides = $(slides);\n var slideCount = slides.length;\n\n if (! slideCount)\n return;\n\n slides.css('visibility', 'hidden').appendTo('body').each(function(i) { // appendTo fixes #56\n var count = 0;\n var slide = $(this);\n var images = slide.is('img') ? slide : slide.find('img');\n slide.data('index', i);\n // allow some images to be marked as unimportant (and filter out images w/o src value)\n images = images.filter(':not(.cycle-loader-ignore)').filter(':not([src=\"\"])');\n if (! images.length) {\n --slideCount;\n slideArr.push(slide);\n return;\n }\n\n count = images.length;\n images.each(function() {\n // add images that are already loaded\n if (this.complete) {\n imageLoaded();\n } else {\n $(this).load(function() {\n imageLoaded();\n }).on(\"error\",\n function() {\n if (--count === 0) {\n // ignore this slide\n opts.API.log('slide skipped; img not loaded:', this.src);\n if (--slideCount === 0 && opts.loader == 'wait') {\n addFn.apply(opts.API, [slideArr, prepend]);\n }\n }\n });\n }\n });\n\n function imageLoaded() {\n if (--count === 0) {\n --slideCount;\n addSlide(slide);\n }\n }\n });\n\n if (slideCount)\n opts.container.addClass('cycle-loading');\n\n\n function addSlide(slide) {\n var curr;\n if (opts.loader == 'wait') {\n slideArr.push(slide);\n if (slideCount === 0) {\n // #59; sort slides into original markup order\n slideArr.sort(sorter);\n addFn.apply(opts.API, [slideArr, prepend]);\n opts.container.removeClass('cycle-loading');\n }\n } else {\n curr = $(opts.slides[opts.currSlide]);\n addFn.apply(opts.API, [slide, prepend]);\n curr.show();\n opts.container.removeClass('cycle-loading');\n }\n }\n\n function sorter(a, b) {\n return a.data('index') - b.data('index');\n }\n }\n });\n\n})(jQuery);\n\n/*! pager plugin for Cycle2; version: 20140415 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n pager: '> .cycle-pager',\n pagerActiveClass: 'cycle-pager-active',\n pagerEvent: 'click.cycle',\n pagerEventBubble: undefined,\n pagerTemplate: ''\n });\n\n $(document).on('cycle-bootstrap',\n function(e, opts, API) {\n // add method to API\n API.buildPagerLink = buildPagerLink;\n });\n\n $(document).on('cycle-slide-added',\n function(e, opts, slideOpts, slideAdded) {\n if (opts.pager) {\n opts.API.buildPagerLink(opts, slideOpts, slideAdded);\n opts.API.page = page;\n }\n });\n\n $(document).on('cycle-slide-removed',\n function(e, opts, index, slideRemoved) {\n if (opts.pager) {\n var pagers = opts.API.getComponent('pager');\n pagers.each(function() {\n var pager = $(this);\n $(pager.children()[index]).remove();\n });\n }\n });\n\n $(document).on('cycle-update-view',\n function(e, opts, slideOpts) {\n var pagers;\n\n if (opts.pager) {\n pagers = opts.API.getComponent('pager');\n pagers.each(function() {\n $(this).children().removeClass(opts.pagerActiveClass)\n .eq(opts.currSlide).addClass(opts.pagerActiveClass);\n });\n }\n });\n\n $(document).on('cycle-destroyed',\n function(e, opts) {\n var pager = opts.API.getComponent('pager');\n\n if (pager) {\n pager.children().off(opts.pagerEvent); // #202\n if (opts.pagerTemplate)\n pager.empty();\n }\n });\n\n function buildPagerLink(opts, slideOpts, slide) {\n var pagerLink;\n var pagers = opts.API.getComponent('pager');\n pagers.each(function() {\n var pager = $(this);\n if (slideOpts.pagerTemplate) {\n var markup = opts.API.tmpl(slideOpts.pagerTemplate, slideOpts, opts, slide[0]);\n pagerLink = $(markup).appendTo(pager);\n } else {\n pagerLink = pager.children().eq(opts.slideCount - 1);\n }\n pagerLink.on(opts.pagerEvent,\n function(e) {\n if (! opts.pagerEventBubble)\n e.preventDefault();\n opts.API.page(pager, e.currentTarget);\n });\n });\n }\n\n function page(pager, target) {\n /*jshint validthis:true */\n var opts = this.opts();\n if (opts.busy && ! opts.manualTrump)\n return;\n\n var index = pager.children().index(target);\n var nextSlide = index;\n var fwd = opts.currSlide < nextSlide;\n if (opts.currSlide == nextSlide) {\n return; // no op, clicked pager for the currently displayed slide\n }\n opts.nextSlide = nextSlide;\n opts._tempFx = opts.pagerFx;\n opts.API.prepareTx(true, fwd);\n opts.API.trigger('cycle-pager-activated', [opts, pager, target]);\n }\n\n})(jQuery);\n\n/*! prevnext plugin for Cycle2; version: 20140408 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n next: '> .cycle-next',\n nextEvent: 'click.cycle',\n disabledClass: 'disabled',\n prev: '> .cycle-prev',\n prevEvent: 'click.cycle',\n swipe: false\n });\n\n $(document).on('cycle-initialized',\n function(e, opts) {\n opts.API.getComponent('next').on(opts.nextEvent,\n function(e) {\n e.preventDefault();\n opts.API.next();\n });\n\n opts.API.getComponent('prev').on(opts.prevEvent,\n function(e) {\n e.preventDefault();\n opts.API.prev();\n });\n\n if (opts.swipe) {\n var nextEvent = opts.swipeVert ? 'swipeUp.cycle' : 'swipeLeft.cycle swipeleft.cycle';\n var prevEvent = opts.swipeVert ? 'swipeDown.cycle' : 'swipeRight.cycle swiperight.cycle';\n opts.container.on(nextEvent,\n function(e) {\n opts._tempFx = opts.swipeFx;\n opts.API.next();\n });\n opts.container.on(prevEvent,\n function() {\n opts._tempFx = opts.swipeFx;\n opts.API.prev();\n });\n }\n });\n\n $(document).on('cycle-update-view',\n function(e, opts, slideOpts, currSlide) {\n if (opts.allowWrap)\n return;\n\n var cls = opts.disabledClass;\n var next = opts.API.getComponent('next');\n var prev = opts.API.getComponent('prev');\n var prevBoundry = opts._prevBoundry || 0;\n var nextBoundry = (opts._nextBoundry !== undefined) ? opts._nextBoundry : opts.slideCount - 1;\n\n if (opts.currSlide == nextBoundry)\n next.addClass(cls).prop('disabled', true);\n else\n next.removeClass(cls).prop('disabled', false);\n\n if (opts.currSlide === prevBoundry)\n prev.addClass(cls).prop('disabled', true);\n else\n prev.removeClass(cls).prop('disabled', false);\n });\n\n\n $(document).on('cycle-destroyed',\n function(e, opts) {\n opts.API.getComponent('prev').off(opts.nextEvent);\n opts.API.getComponent('next').off(opts.prevEvent);\n opts.container.off(\n 'swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle');\n });\n\n})(jQuery);\n\n/*! progressive loader plugin for Cycle2; version: 20130315 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n progressive: false\n });\n\n $(document).on('cycle-pre-initialize',\n function(e, opts) {\n if (!opts.progressive)\n return;\n\n var API = opts.API;\n var nextFn = API.next;\n var prevFn = API.prev;\n var prepareTxFn = API.prepareTx;\n var type = $.type(opts.progressive);\n var slides, scriptEl;\n\n if (type == 'array') {\n slides = opts.progressive;\n } else if ($.isFunction(opts.progressive)) {\n slides = opts.progressive(opts);\n } else if (type == 'string') {\n scriptEl = $(opts.progressive);\n slides = $.trim(scriptEl.html());\n if (!slides)\n return;\n // is it json array?\n if (/^(\\[)/.test(slides)) {\n try {\n slides = $.parseJSON(slides);\n } catch (err) {\n API.log('error parsing progressive slides', err);\n return;\n }\n } else {\n // plain text, split on delimeter\n slides = slides.split(new RegExp(scriptEl.data('cycle-split') || '\\n'));\n\n // #95; look for empty slide\n if (! slides[slides.length - 1])\n slides.pop();\n }\n }\n\n\n if (prepareTxFn) {\n API.prepareTx = function(manual, fwd) {\n var index, slide;\n\n if (manual || slides.length === 0) {\n prepareTxFn.apply(opts.API, [manual, fwd]);\n return;\n }\n\n if (fwd && opts.currSlide == (opts.slideCount - 1)) {\n slide = slides[0];\n slides = slides.slice(1);\n opts.container.one('cycle-slide-added',\n function(e, opts) {\n setTimeout(function() {\n opts.API.advanceSlide(1);\n },\n 50);\n });\n opts.API.add(slide);\n } else if (!fwd && opts.currSlide === 0) {\n index = slides.length - 1;\n slide = slides[index];\n slides = slides.slice(0, index);\n opts.container.one('cycle-slide-added',\n function(e, opts) {\n setTimeout(function() {\n opts.currSlide = 1;\n opts.API.advanceSlide(-1);\n },\n 50);\n });\n opts.API.add(slide, true);\n } else {\n prepareTxFn.apply(opts.API, [manual, fwd]);\n }\n };\n }\n\n if (nextFn) {\n API.next = function() {\n var opts = this.opts();\n if (slides.length && opts.currSlide == (opts.slideCount - 1)) {\n var slide = slides[0];\n slides = slides.slice(1);\n opts.container.one('cycle-slide-added',\n function(e, opts) {\n nextFn.apply(opts.API);\n opts.container.removeClass('cycle-loading');\n });\n opts.container.addClass('cycle-loading');\n opts.API.add(slide);\n } else {\n nextFn.apply(opts.API);\n }\n };\n }\n\n if (prevFn) {\n API.prev = function() {\n var opts = this.opts();\n if (slides.length && opts.currSlide === 0) {\n var index = slides.length - 1;\n var slide = slides[index];\n slides = slides.slice(0, index);\n opts.container.one('cycle-slide-added',\n function(e, opts) {\n opts.currSlide = 1;\n opts.API.advanceSlide(-1);\n opts.container.removeClass('cycle-loading');\n });\n opts.container.addClass('cycle-loading');\n opts.API.add(slide, true);\n } else {\n prevFn.apply(opts.API);\n }\n };\n }\n });\n\n})(jQuery);\n\n/*! tmpl plugin for Cycle2; version: 20121227 */\n(function($) {\n \"use strict\";\n\n $.extend($.fn.cycle.defaults,\n {\n tmplRegex: '{{((.)?.*?)}}'\n });\n\n $.extend($.fn.cycle.API,\n {\n tmpl: function(str, opts /*, ... */) {\n var regex = new RegExp(opts.tmplRegex || $.fn.cycle.defaults.tmplRegex, 'g');\n var args = $.makeArray(arguments);\n args.shift();\n return str.replace(regex,\n function(_, str) {\n var i, j, obj, prop, names = str.split('.');\n for (i = 0; i < args.length; i++) {\n obj = args[i];\n if (! obj)\n continue;\n if (names.length > 1) {\n prop = obj;\n for (j = 0; j < names.length; j++) {\n obj = prop;\n prop = prop[names[j]] || str;\n }\n } else {\n prop = obj[str];\n }\n\n if ($.isFunction(prop))\n return prop.apply(obj, args);\n if (prop !== undefined && prop !== null && prop != str)\n return prop;\n }\n return str;\n });\n }\n });\n\n})(jQuery);","/*! swipe plugin for Cycle2; version: 20121120 */\n(function($) {\n \"use strict\";\n\n// this script adds support for touch events. the logic is lifted from jQuery Mobile.\n// if you have jQuery Mobile installed, you do NOT need this script\n\n var supportTouch = 'ontouchend' in document;\n\n $.event.special.swipe = $.event.special.swipe ||\n {\n scrollSupressionThreshold: 10, // More than this horizontal displacement, and we will suppress scrolling.\n durationThreshold: 1000, // More time than this, and it isn't a swipe.\n horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this.\n verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this.\n\n setup: function() {\n var $this = $(this);\n\n $this.bind('touchstart',\n function(event) {\n var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;\n var stop,\n start = {\n time: (new Date()).getTime(),\n coords: [data.pageX, data.pageY],\n origin: $(event.target)\n };\n\n function moveHandler(event) {\n if (!start)\n return;\n\n var data = event.originalEvent.touches ? event.originalEvent.touches[0] : event;\n\n stop = {\n time: (new Date()).getTime(),\n coords: [data.pageX, data.pageY]\n };\n\n // prevent scrolling\n if (Math.abs(start.coords[0] - stop.coords[0]) > $.event.special.swipe.scrollSupressionThreshold) {\n event.preventDefault();\n }\n }\n\n $this.bind('touchmove', moveHandler)\n .one('touchend',\n function(event) {\n $this.unbind('touchmove', moveHandler);\n\n if (start && stop) {\n if (stop.time - start.time < $.event.special.swipe.durationThreshold &&\n Math.abs(start.coords[0] - stop.coords[0]) > $.event.special.swipe.horizontalDistanceThreshold &&\n Math.abs(start.coords[1] - stop.coords[1]) < $.event.special.swipe.verticalDistanceThreshold) {\n\n start.origin.trigger(\"swipe\")\n .trigger(start.coords[0] > stop.coords[0] ? \"swipeleft\" : \"swiperight\");\n }\n }\n start = stop = undefined;\n });\n });\n }\n };\n\n $.event.special.swipeleft = $.event.special.swipeleft ||\n {\n setup: function() {\n $(this).bind('swipe', $.noop);\n }\n };\n $.event.special.swiperight = $.event.special.swiperight || $.event.special.swipeleft;\n\n})(jQuery);","\n(function (win, $) {\n 'use strict';\n var fp = (win.fp = typeof win.fp !== 'undefined' ? win.fp : {}),\n home = (fp.home = typeof fp.home !== 'undefined' ? fp.home : {});\n\n // =========================================\n // Lazy Load\n // =========================================\n var lazyLoadSlideshow = function () {\n // Lazy load all slideshow images after the initial\n [].forEach.call(document.querySelectorAll('.cycle-slideshow img[data-src]'), function (img) {\n img.setAttribute('src', img.getAttribute('data-src'));\n img.setAttribute('srcset', img.getAttribute('data-srcset'));\n img.setAttribute('sizes', img.getAttribute('data-sizes'));\n img.onload = function () {\n img.removeAttribute('data-src');\n img.removeAttribute('data-sizes');\n };\n });\n };\n\n fp.home = (function () {\n\n // =========================================\n // Set Video Controls\n // =========================================\n\n var setupVideoControls = function () {\n var video = document.getElementById('bg-video');\n var videoButton = document.getElementById('video-pause-play');\n var videoButtonIcon = videoButton ? videoButton.querySelector('span') : null;\n var controlAnnouncements = document.getElementById('video-control-announcements');\n\n if (!video || !videoButton || !controlAnnouncements) {\n return;\n }\n\n videoButton.addEventListener('click', function () {\n if (!video.paused) {\n video.pause();\n videoButton.setAttribute('aria-label', 'Play video');\n videoButtonIcon.classList.replace('icon-pause', 'icon-play');\n controlAnnouncements.textContent = 'Video paused';\n } else {\n video.play();\n videoButton.setAttribute('aria-label', 'Pause video');\n videoButtonIcon.classList.replace('icon-play', 'icon-pause');\n controlAnnouncements.textContent = 'Video playing';\n }\n });\n };\n\n // =========================================\n // Set Carousel Controls\n // =========================================\n\n const setupCarouselControls = () => {\n const carouselWrapper = document.querySelector('.slideshow');\n const carouselTarget = document.querySelector('.cycle-slideshow');\n const ariaLiveRegion = document.querySelector('#control-announcements');\n\n // Ensure the carousel target exists and the cycle plugin is available\n if (!carouselTarget || typeof $.fn.cycle !== 'function') return;\n\n // Initialize the carousel\n $(carouselTarget).cycle();\n\n // Pause the carousel on mouseenter\n if (carouselWrapper) {\n carouselWrapper.addEventListener('mouseenter', () => {\n if (!carouselTarget.classList.contains('hard-pause')) {\n $(carouselTarget).cycle('pause');\n }\n });\n\n carouselWrapper.addEventListener('mouseleave', () => {\n if (!carouselTarget.classList.contains('hard-pause')) {\n $(carouselTarget).cycle('resume');\n }\n });\n }\n\n // Handle the play/pause button\n const cyclePausePlay = document.querySelector('#cycle-pause-play');\n const cyclePausePlayIcon = cyclePausePlay ? cyclePausePlay.querySelector('span') : null;\n\n if (cyclePausePlay) {\n cyclePausePlay.addEventListener('click', function () {\n const isPaused = carouselTarget.classList.contains('hard-pause');\n\n // Update play/pause state\n if (isPaused) {\n carouselTarget.classList.remove('hard-pause');\n this.setAttribute('aria-label', 'Pause carousel');\n if (cyclePausePlayIcon) {\n cyclePausePlayIcon.classList.replace('icon-play', 'icon-pause');\n }\n ariaLiveRegion.textContent = 'Carousel is playing.';\n $(carouselTarget).cycle('resume');\n } else {\n carouselTarget.classList.add('hard-pause');\n this.setAttribute('aria-label', 'Play carousel');\n if (cyclePausePlayIcon) {\n cyclePausePlayIcon.classList.replace('icon-pause', 'icon-play');\n }\n ariaLiveRegion.textContent = 'Carousel is paused.';\n $(carouselTarget).cycle('pause');\n }\n });\n }\n\n // Handle the \"Back\" button\n const cycleBack = document.querySelector('#cycle-back');\n if (cycleBack && ariaLiveRegion) {\n cycleBack.addEventListener('click', () => {\n ariaLiveRegion.textContent = 'Reading previous slide.';\n });\n }\n\n // Handle the \"Next\" button\n const cycleNext = document.querySelector('#cycle-next');\n if (cycleNext && ariaLiveRegion) {\n cycleNext.addEventListener('click', () => {\n ariaLiveRegion.textContent = 'Reading next slide.';\n });\n }\n };\n\n // =========================================\n // Size Detector\n // =========================================\n\n const sizeDetector = () => {\n const root = document.documentElement;\n\n const setCSSVariable = (varName, value) => {\n root.style.setProperty(varName, `${value}px`);\n //console.log(varName + \": \" + value);\n };\n\n const header = document.querySelector('header');\n setCSSVariable('--header-height', header ? header.offsetHeight : 0);\n\n const logoMobile = document.querySelector('#logo-mobile');\n setCSSVariable('--logo-mobile-height', logoMobile ? logoMobile.offsetHeight : 0);\n\n const utility = document.querySelector('#utility');\n setCSSVariable('--utility-height', utility ? utility.offsetHeight : 0);\n\n const specialMessage = document.querySelector('#special-message.message-banner');\n setCSSVariable(\n '--special-message-height',\n specialMessage && getComputedStyle(specialMessage).display !== 'none' ? specialMessage.offsetHeight : 0\n );\n\n const stickyFooter = document.querySelector('#ao-sticky');\n setCSSVariable(\n '--sticky-footer-height',\n stickyFooter && getComputedStyle(stickyFooter).display !== 'none' ? stickyFooter.offsetHeight : 0\n );\n };\n\n // =========================================\n // Debounce Function\n // =========================================\n const debounce = (func, delay) => {\n let timeoutId;\n return function (...args) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => func.apply(this, args), delay);\n };\n };\n\n // Debounced version of sizeDetector for resize events\n const debouncedResizeHandler = debounce(sizeDetector, 250);\n\n window.addEventListener('resize', debouncedResizeHandler);\n\n // =========================================\n // Initialize Functions on Load\n // =========================================\n window.addEventListener('load', () => {\n setTimeout(sizeDetector, 250);\n });\n\n // =========================================\n // Public API\n // =========================================\n return {\n init: function () {\n // Set selected nav\n $('.homepage-link').addClass('selected');\n\n lazyLoadSlideshow();\n sizeDetector();\n setupCarouselControls();\n setupVideoControls();\n }\n };\n })();\n})(window, $);"]}