{"version":3,"sources":["jsdelivr-header.js","/npm/flexslider@2.7.1/jquery.flexslider.js"],"names":[],"mappings":"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","file":"/npm/flexslider@2.7.1/jquery.flexslider.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/flexslider@2.7.1/jquery.flexslider.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/*\n * jQuery FlexSlider v2.7.1\n * Copyright 2012 WooThemes\n * Contributing Author: Tyler Smith\n */\n;\n(function ($) {\n\n  var focused = true;\n\n  //FlexSlider: Object Instance\n  $.flexslider = function(el, options) {\n    var slider = $(el);\n\n    // making variables public\n\n    //if rtl value was not passed and html is in rtl..enable it by default.\n    if(typeof options.rtl=='undefined' && $('html').attr('dir')=='rtl'){\n      options.rtl=true;\n    }\n    slider.vars = $.extend({}, $.flexslider.defaults, options);\n\n    var namespace = slider.vars.namespace,\n        msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,\n        touch = (( \"ontouchstart\" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,\n        // deprecating this idea, as devices are being released with both of these events\n        eventType = \"click touchend MSPointerUp keyup\",\n        watchedEvent = \"\",\n        watchedEventClearTimer,\n        vertical = slider.vars.direction === \"vertical\",\n        reverse = slider.vars.reverse,\n        carousel = (slider.vars.itemWidth > 0),\n        fade = slider.vars.animation === \"fade\",\n        asNav = slider.vars.asNavFor !== \"\",\n        methods = {};\n\n    // Store a reference to the slider object\n    $.data(el, \"flexslider\", slider);\n\n    // Private slider methods\n    methods = {\n      init: function() {\n        slider.animating = false;\n        // Get current slide and make sure it is a number\n        slider.currentSlide = parseInt( ( slider.vars.startAt ? slider.vars.startAt : 0), 10 );\n        if ( isNaN( slider.currentSlide ) ) { slider.currentSlide = 0; }\n        slider.animatingTo = slider.currentSlide;\n        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);\n        slider.containerSelector = slider.vars.selector.substr(0,slider.vars.selector.search(' '));\n        slider.slides = $(slider.vars.selector, slider);\n        slider.container = $(slider.containerSelector, slider);\n        slider.count = slider.slides.length;\n        // SYNC:\n        slider.syncExists = $(slider.vars.sync).length > 0;\n        // SLIDE:\n        if (slider.vars.animation === \"slide\") { slider.vars.animation = \"swing\"; }\n        slider.prop = (vertical) ? \"top\" : ( slider.vars.rtl ? \"marginRight\" : \"marginLeft\" );\n        slider.args = {};\n        // SLIDESHOW:\n        slider.manualPause = false;\n        slider.stopped = false;\n        //PAUSE WHEN INVISIBLE\n        slider.started = false;\n        slider.startTimeout = null;\n        // TOUCH/USECSS:\n        slider.transitions = !slider.vars.video && !fade && slider.vars.useCSS && (function() {\n          var obj = document.createElement('div'),\n              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];\n          for (var i in props) {\n            if ( obj.style[ props[i] ] !== undefined ) {\n              slider.pfx = props[i].replace('Perspective','').toLowerCase();\n              slider.prop = \"-\" + slider.pfx + \"-transform\";\n              return true;\n            }\n          }\n          return false;\n        }());\n        slider.isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n        slider.ensureAnimationEnd = '';\n        // CONTROLSCONTAINER:\n        if (slider.vars.controlsContainer !== \"\") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);\n        // MANUAL:\n        if (slider.vars.manualControls !== \"\") slider.manualControls = $(slider.vars.manualControls).length > 0 && $(slider.vars.manualControls);\n\n        // CUSTOM DIRECTION NAV:\n        if (slider.vars.customDirectionNav !== \"\") slider.customDirectionNav = $(slider.vars.customDirectionNav).length === 2 && $(slider.vars.customDirectionNav);\n\n        // RANDOMIZE:\n        if (slider.vars.randomize) {\n          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });\n          slider.container.empty().append(slider.slides);\n        }\n\n        slider.doMath();\n\n        // INIT\n        slider.setup(\"init\");\n\n        // CONTROLNAV:\n        if (slider.vars.controlNav) { methods.controlNav.setup(); }\n\n        // DIRECTIONNAV:\n        if (slider.vars.directionNav) { methods.directionNav.setup(); }\n\n        // KEYBOARD:\n        if (slider.vars.keyboard && ($(slider.containerSelector).length === 1 || slider.vars.multipleKeyboard)) {\n          $(document).bind('keyup', function(event) {\n            var keycode = event.keyCode;\n            if (!slider.animating && (keycode === 39 || keycode === 37)) {\n              var target = (slider.vars.rtl?\n                                ((keycode === 37) ? slider.getTarget('next') :\n                                (keycode === 39) ? slider.getTarget('prev') : false)\n                                :\n                                ((keycode === 39) ? slider.getTarget('next') :\n                                (keycode === 37) ? slider.getTarget('prev') : false)\n                                )\n                                ;\n              slider.flexAnimate(target, slider.vars.pauseOnAction);\n            }\n          });\n        }\n        // MOUSEWHEEL:\n        if (slider.vars.mousewheel) {\n          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {\n            event.preventDefault();\n            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');\n            slider.flexAnimate(target, slider.vars.pauseOnAction);\n          });\n        }\n\n        // PAUSEPLAY\n        if (slider.vars.pausePlay) { methods.pausePlay.setup(); }\n\n        //PAUSE WHEN INVISIBLE\n        if (slider.vars.slideshow && slider.vars.pauseInvisible) { methods.pauseInvisible.init(); }\n\n        // SLIDSESHOW\n        if (slider.vars.slideshow) {\n          if (slider.vars.pauseOnHover) {\n            slider.hover(function() {\n              if (!slider.manualPlay && !slider.manualPause) { slider.pause(); }\n            }, function() {\n              if (!slider.manualPause && !slider.manualPlay && !slider.stopped) { slider.play(); }\n            });\n          }\n          // initialize animation\n          //If we're visible, or we don't use PageVisibility API\n          if(!slider.vars.pauseInvisible || !methods.pauseInvisible.isHidden()) {\n            (slider.vars.initDelay > 0) ? slider.startTimeout = setTimeout(slider.play, slider.vars.initDelay) : slider.play();\n          }\n        }\n\n        // ASNAV:\n        if (asNav) { methods.asNav.setup(); }\n\n        // TOUCH\n        if (touch && slider.vars.touch) { methods.touch(); }\n\n        // FADE&&SMOOTHHEIGHT || SLIDE:\n        if (!fade || (fade && slider.vars.smoothHeight)) { $(window).bind(\"resize orientationchange focus\", methods.resize); }\n\n        slider.find(\"img\").attr(\"draggable\", \"false\");\n\n        // API: start() Callback\n        setTimeout(function(){\n          slider.vars.start(slider);\n        }, 200);\n      },\n      asNav: {\n        setup: function() {\n          slider.asNav = true;\n          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);\n          slider.currentItem = slider.currentSlide;\n          slider.slides.removeClass(namespace + \"active-slide\").eq(slider.currentItem).addClass(namespace + \"active-slide\");\n          if(!msGesture){\n              slider.slides.on(eventType, function(e){\n                e.preventDefault();\n                var $slide = $(this),\n                    target = $slide.index();\n                var posFromX;\n                if(slider.vars.rtl){\n                  posFromX = -1*($slide.offset().right - $(slider).scrollLeft()); // Find position of slide relative to right of slider container\n                }\n                else\n                {\n                  posFromX = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container\n                }\n                if( posFromX <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {\n                  slider.flexAnimate(slider.getTarget(\"prev\"), true);\n                } else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + \"active-slide\")) {\n                  slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n                  slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n                }\n              });\n          }else{\n              el._slider = slider;\n              slider.slides.each(function (){\n                  var that = this;\n                  that._gesture = new MSGesture();\n                  that._gesture.target = that;\n                  that.addEventListener(\"MSPointerDown\", function (e){\n                      e.preventDefault();\n                      if(e.currentTarget._gesture) {\n                        e.currentTarget._gesture.addPointer(e.pointerId);\n                      }\n                  }, false);\n                  that.addEventListener(\"MSGestureTap\", function (e){\n                      e.preventDefault();\n                      var $slide = $(this),\n                          target = $slide.index();\n                      if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {\n                          slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n                          slider.flexAnimate(target, slider.vars.pauseOnAction, false, true, true);\n                      }\n                  });\n              });\n          }\n        }\n      },\n      controlNav: {\n        setup: function() {\n          if (!slider.manualControls) {\n            methods.controlNav.setupPaging();\n          } else { // MANUALCONTROLS:\n            methods.controlNav.setupManual();\n          }\n        },\n        setupPaging: function() {\n          var type = (slider.vars.controlNav === \"thumbnails\") ? 'control-thumbs' : 'control-paging',\n              j = 1,\n              item,\n              slide;\n\n          slider.controlNavScaffold = $('<ol class=\"'+ namespace + 'control-nav ' + namespace + type + '\"></ol>');\n\n          if (slider.pagingCount > 1) {\n            for (var i = 0; i < slider.pagingCount; i++) {\n              slide = slider.slides.eq(i);\n              if ( undefined === slide.attr( 'data-thumb-alt' ) ) { slide.attr( 'data-thumb-alt', '' ); }\n              var altText = ( '' !== slide.attr( 'data-thumb-alt' ) ) ? altText = ' alt=\"' + slide.attr( 'data-thumb-alt' ) + '\"' : '';\n              item = (slider.vars.controlNav === \"thumbnails\") ? '<img src=\"' + slide.attr( 'data-thumb' ) + '\"' + altText + '/>' : '<a href=\"#\">' + j + '</a>';\n              if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {\n                var captn = slide.attr( 'data-thumbcaption' );\n                if ( '' !== captn && undefined !== captn ) { item += '<span class=\"' + namespace + 'caption\">' + captn + '</span>'; }\n              }\n              slider.controlNavScaffold.append('<li>' + item + '</li>');\n              j++;\n            }\n          }\n\n          // CONTROLSCONTAINER:\n          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);\n          methods.controlNav.set();\n\n          methods.controlNav.active();\n\n          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {\n            event.preventDefault();\n\n            if (watchedEvent === \"\" || watchedEvent === event.type) {\n              var $this = $(this),\n                  target = slider.controlNav.index($this);\n\n              if (!$this.hasClass(namespace + 'active')) {\n                slider.direction = (target > slider.currentSlide) ? \"next\" : \"prev\";\n                slider.flexAnimate(target, slider.vars.pauseOnAction);\n              }\n            }\n\n            // setup flags to prevent event duplication\n            if (watchedEvent === \"\") {\n              watchedEvent = event.type;\n            }\n            methods.setToClearWatchedEvent();\n\n          });\n        },\n        setupManual: function() {\n          slider.controlNav = slider.manualControls;\n          methods.controlNav.active();\n\n          slider.controlNav.bind(eventType, function(event) {\n            event.preventDefault();\n\n            if (watchedEvent === \"\" || watchedEvent === event.type) {\n              var $this = $(this),\n                  target = slider.controlNav.index($this);\n\n              if (!$this.hasClass(namespace + 'active')) {\n                (target > slider.currentSlide) ? slider.direction = \"next\" : slider.direction = \"prev\";\n                slider.flexAnimate(target, slider.vars.pauseOnAction);\n              }\n            }\n\n            // setup flags to prevent event duplication\n            if (watchedEvent === \"\") {\n              watchedEvent = event.type;\n            }\n            methods.setToClearWatchedEvent();\n          });\n        },\n        set: function() {\n          var selector = (slider.vars.controlNav === \"thumbnails\") ? 'img' : 'a';\n          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);\n        },\n        active: function() {\n          slider.controlNav.removeClass(namespace + \"active\").eq(slider.animatingTo).addClass(namespace + \"active\");\n        },\n        update: function(action, pos) {\n          if (slider.pagingCount > 1 && action === \"add\") {\n            slider.controlNavScaffold.append($('<li><a href=\"#\">' + slider.count + '</a></li>'));\n          } else if (slider.pagingCount === 1) {\n            slider.controlNavScaffold.find('li').remove();\n          } else {\n            slider.controlNav.eq(pos).closest('li').remove();\n          }\n          methods.controlNav.set();\n          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();\n        }\n      },\n      directionNav: {\n        setup: function() {\n          var directionNavScaffold = $('<ul class=\"' + namespace + 'direction-nav\"><li class=\"' + namespace + 'nav-prev\"><a class=\"' + namespace + 'prev\" href=\"#\">' + slider.vars.prevText + '</a></li><li class=\"' + namespace + 'nav-next\"><a class=\"' + namespace + 'next\" href=\"#\">' + slider.vars.nextText + '</a></li></ul>');\n\n          // CUSTOM DIRECTION NAV:\n          if (slider.customDirectionNav) {\n            slider.directionNav = slider.customDirectionNav;\n          // CONTROLSCONTAINER:\n          } else if (slider.controlsContainer) {\n            $(slider.controlsContainer).append(directionNavScaffold);\n            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);\n          } else {\n            slider.append(directionNavScaffold);\n            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);\n          }\n\n          methods.directionNav.update();\n\n          slider.directionNav.bind(eventType, function(event) {\n            event.preventDefault();\n            var target;\n\n            if (watchedEvent === \"\" || watchedEvent === event.type) {\n              target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');\n              slider.flexAnimate(target, slider.vars.pauseOnAction);\n            }\n\n            // setup flags to prevent event duplication\n            if (watchedEvent === \"\") {\n              watchedEvent = event.type;\n            }\n            methods.setToClearWatchedEvent();\n          });\n        },\n        update: function() {\n          var disabledClass = namespace + 'disabled';\n          if (slider.pagingCount === 1) {\n            slider.directionNav.addClass(disabledClass).attr('tabindex', '-1');\n          } else if (!slider.vars.animationLoop) {\n            if (slider.animatingTo === 0) {\n              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + \"prev\").addClass(disabledClass).attr('tabindex', '-1');\n            } else if (slider.animatingTo === slider.last) {\n              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + \"next\").addClass(disabledClass).attr('tabindex', '-1');\n            } else {\n              slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');\n            }\n          } else {\n            slider.directionNav.removeClass(disabledClass).removeAttr('tabindex');\n          }\n        }\n      },\n      pausePlay: {\n        setup: function() {\n          var pausePlayScaffold = $('<div class=\"' + namespace + 'pauseplay\"><a href=\"#\"></a></div>');\n\n          // CONTROLSCONTAINER:\n          if (slider.controlsContainer) {\n            slider.controlsContainer.append(pausePlayScaffold);\n            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);\n          } else {\n            slider.append(pausePlayScaffold);\n            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);\n          }\n\n          methods.pausePlay.update((slider.vars.slideshow) ? namespace + 'pause' : namespace + 'play');\n\n          slider.pausePlay.bind(eventType, function(event) {\n            event.preventDefault();\n\n            if (watchedEvent === \"\" || watchedEvent === event.type) {\n              if ($(this).hasClass(namespace + 'pause')) {\n                slider.manualPause = true;\n                slider.manualPlay = false;\n                slider.pause();\n              } else {\n                slider.manualPause = false;\n                slider.manualPlay = true;\n                slider.play();\n              }\n            }\n\n            // setup flags to prevent event duplication\n            if (watchedEvent === \"\") {\n              watchedEvent = event.type;\n            }\n            methods.setToClearWatchedEvent();\n          });\n        },\n        update: function(state) {\n          (state === \"play\") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').html(slider.vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').html(slider.vars.pauseText);\n        }\n      },\n      touch: function() {\n        var startX,\n          startY,\n          offset,\n          cwidth,\n          dx,\n          startT,\n          onTouchStart,\n          onTouchMove,\n          onTouchEnd,\n          scrolling = false,\n          localX = 0,\n          localY = 0,\n          accDx = 0;\n\n        if(!msGesture){\n            onTouchStart = function(e) {\n              if (slider.animating) {\n                e.preventDefault();\n              } else if ( ( window.navigator.msPointerEnabled ) || e.touches.length === 1 ) {\n                slider.pause();\n                // CAROUSEL:\n                cwidth = (vertical) ? slider.h : slider. w;\n                startT = Number(new Date());\n                // CAROUSEL:\n\n                // Local vars for X and Y points.\n                localX = e.touches[0].pageX;\n                localY = e.touches[0].pageY;\n\n                offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :\n                         (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n                         (carousel && slider.currentSlide === slider.last) ? slider.limit :\n                         (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :\n                         (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;\n                startX = (vertical) ? localY : localX;\n                startY = (vertical) ? localX : localY;\n                el.addEventListener('touchmove', onTouchMove, false);\n                el.addEventListener('touchend', onTouchEnd, false);\n              }\n            };\n\n            onTouchMove = function(e) {\n              // Local vars for X and Y points.\n\n              localX = e.touches[0].pageX;\n              localY = e.touches[0].pageY;\n\n              dx = (vertical) ? startX - localY : (slider.vars.rtl?-1:1)*(startX - localX);\n              scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));\n              var fxms = 500;\n\n              if ( ! scrolling || Number( new Date() ) - startT > fxms ) {\n                e.preventDefault();\n                if (!fade && slider.transitions) {\n                  if (!slider.vars.animationLoop) {\n                    dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);\n                  }\n                  slider.setProps(offset + dx, \"setTouch\");\n                }\n              }\n            };\n\n            onTouchEnd = function(e) {\n              // finish the touch by undoing the touch session\n              el.removeEventListener('touchmove', onTouchMove, false);\n\n              if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {\n                var updateDx = (reverse) ? -dx : dx,\n                    target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');\n\n                if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {\n                  slider.flexAnimate(target, slider.vars.pauseOnAction);\n                } else {\n                  if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }\n                }\n              }\n              el.removeEventListener('touchend', onTouchEnd, false);\n\n              startX = null;\n              startY = null;\n              dx = null;\n              offset = null;\n            };\n\n            el.addEventListener('touchstart', onTouchStart, false);\n        }else{\n            el.style.msTouchAction = \"none\";\n            el._gesture = new MSGesture();\n            el._gesture.target = el;\n            el.addEventListener(\"MSPointerDown\", onMSPointerDown, false);\n            el._slider = slider;\n            el.addEventListener(\"MSGestureChange\", onMSGestureChange, false);\n            el.addEventListener(\"MSGestureEnd\", onMSGestureEnd, false);\n\n            function onMSPointerDown(e){\n                e.stopPropagation();\n                if (slider.animating) {\n                    e.preventDefault();\n                }else{\n                    slider.pause();\n                    el._gesture.addPointer(e.pointerId);\n                    accDx = 0;\n                    cwidth = (vertical) ? slider.h : slider. w;\n                    startT = Number(new Date());\n                    // CAROUSEL:\n\n                    offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :\n                        (carousel && reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n                            (carousel && slider.currentSlide === slider.last) ? slider.limit :\n                                (carousel) ? ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.currentSlide :\n                                    (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;\n                }\n            }\n\n            function onMSGestureChange(e) {\n                e.stopPropagation();\n                var slider = e.target._slider;\n                if(!slider){\n                    return;\n                }\n                var transX = -e.translationX,\n                    transY = -e.translationY;\n\n                //Accumulate translations.\n                accDx = accDx + ((vertical) ? transY : transX);\n                dx = (slider.vars.rtl?-1:1)*accDx;\n                scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));\n\n                if(e.detail === e.MSGESTURE_FLAG_INERTIA){\n                    setImmediate(function (){\n                        el._gesture.stop();\n                    });\n\n                    return;\n                }\n\n                if (!scrolling || Number(new Date()) - startT > 500) {\n                    e.preventDefault();\n                    if (!fade && slider.transitions) {\n                        if (!slider.vars.animationLoop) {\n                            dx = accDx / ((slider.currentSlide === 0 && accDx < 0 || slider.currentSlide === slider.last && accDx > 0) ? (Math.abs(accDx) / cwidth + 2) : 1);\n                        }\n                        slider.setProps(offset + dx, \"setTouch\");\n                    }\n                }\n            }\n\n            function onMSGestureEnd(e) {\n                e.stopPropagation();\n                var slider = e.target._slider;\n                if(!slider){\n                    return;\n                }\n                if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {\n                    var updateDx = (reverse) ? -dx : dx,\n                        target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');\n\n                    if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {\n                        slider.flexAnimate(target, slider.vars.pauseOnAction);\n                    } else {\n                        if (!fade) { slider.flexAnimate(slider.currentSlide, slider.vars.pauseOnAction, true); }\n                    }\n                }\n\n                startX = null;\n                startY = null;\n                dx = null;\n                offset = null;\n                accDx = 0;\n            }\n        }\n      },\n      resize: function() {\n        if (!slider.animating && slider.is(':visible')) {\n          if (!carousel) { slider.doMath(); }\n\n          if (fade) {\n            // SMOOTH HEIGHT:\n            methods.smoothHeight();\n          } else if (carousel) { //CAROUSEL:\n            slider.slides.width(slider.computedW);\n            slider.update(slider.pagingCount);\n            slider.setProps();\n          }\n          else if (vertical) { //VERTICAL:\n            slider.viewport.height(slider.h);\n            slider.setProps(slider.h, \"setTotal\");\n          } else {\n            // SMOOTH HEIGHT:\n            if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n            slider.newSlides.width(slider.computedW);\n            slider.setProps(slider.computedW, \"setTotal\");\n          }\n        }\n      },\n      smoothHeight: function(dur) {\n        if (!vertical || fade) {\n          var $obj = (fade) ? slider : slider.viewport;\n          (dur) ? $obj.animate({\"height\": slider.slides.eq(slider.animatingTo).innerHeight()}, dur) : $obj.innerHeight(slider.slides.eq(slider.animatingTo).innerHeight());\n        }\n      },\n      sync: function(action) {\n        var $obj = $(slider.vars.sync).data(\"flexslider\"),\n            target = slider.animatingTo;\n\n        switch (action) {\n          case \"animate\": $obj.flexAnimate(target, slider.vars.pauseOnAction, false, true); break;\n          case \"play\": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;\n          case \"pause\": $obj.pause(); break;\n        }\n      },\n      uniqueID: function($clone) {\n        // Append _clone to current level and children elements with id attributes\n        $clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {\n          var $this = $(this);\n          $this.attr( 'id', $this.attr( 'id' ) + '_clone' );\n        });\n        return $clone;\n      },\n      pauseInvisible: {\n        visProp: null,\n        init: function() {\n          var visProp = methods.pauseInvisible.getHiddenProp();\n          if (visProp) {\n            var evtname = visProp.replace(/[H|h]idden/,'') + 'visibilitychange';\n            document.addEventListener(evtname, function() {\n              if (methods.pauseInvisible.isHidden()) {\n                if(slider.startTimeout) {\n                  clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible\n                } else {\n                  slider.pause(); //Or just pause\n                }\n              }\n              else {\n                if(slider.started) {\n                  slider.play(); //Initiated before, just play\n                } else {\n                  if (slider.vars.initDelay > 0) {\n                    setTimeout(slider.play, slider.vars.initDelay);\n                  } else {\n                    slider.play(); //Didn't init before: simply init or wait for it\n                  }\n                }\n              }\n            });\n          }\n        },\n        isHidden: function() {\n          var prop = methods.pauseInvisible.getHiddenProp();\n          if (!prop) {\n            return false;\n          }\n          return document[prop];\n        },\n        getHiddenProp: function() {\n          var prefixes = ['webkit','moz','ms','o'];\n          // if 'hidden' is natively supported just return it\n          if ('hidden' in document) {\n            return 'hidden';\n          }\n          // otherwise loop over all the known prefixes until we find one\n          for ( var i = 0; i < prefixes.length; i++ ) {\n              if ((prefixes[i] + 'Hidden') in document) {\n                return prefixes[i] + 'Hidden';\n              }\n          }\n          // otherwise it's not supported\n          return null;\n        }\n      },\n      setToClearWatchedEvent: function() {\n        clearTimeout(watchedEventClearTimer);\n        watchedEventClearTimer = setTimeout(function() {\n          watchedEvent = \"\";\n        }, 3000);\n      }\n    };\n\n    // public methods\n    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {\n      if (!slider.vars.animationLoop && target !== slider.currentSlide) {\n        slider.direction = (target > slider.currentSlide) ? \"next\" : \"prev\";\n      }\n\n      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n\n      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(\":visible\")) {\n        if (asNav && withSync) {\n          var master = $(slider.vars.asNavFor).data('flexslider');\n          slider.atEnd = target === 0 || target === slider.count - 1;\n          master.flexAnimate(target, true, false, true, fromNav);\n          slider.direction = (slider.currentItem < target) ? \"next\" : \"prev\";\n          master.direction = slider.direction;\n\n          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {\n            slider.currentItem = target;\n            slider.slides.removeClass(namespace + \"active-slide\").eq(target).addClass(namespace + \"active-slide\");\n            target = Math.floor(target/slider.visible);\n          } else {\n            slider.currentItem = target;\n            slider.slides.removeClass(namespace + \"active-slide\").eq(target).addClass(namespace + \"active-slide\");\n            return false;\n          }\n        }\n\n        slider.animating = true;\n        slider.animatingTo = target;\n\n        // SLIDESHOW:\n        if (pause) { slider.pause(); }\n\n        // API: before() animation Callback\n        slider.vars.before(slider);\n\n        // SYNC:\n        if (slider.syncExists && !fromNav) { methods.sync(\"animate\"); }\n\n        // CONTROLNAV\n        if (slider.vars.controlNav) { methods.controlNav.active(); }\n\n        // !CAROUSEL:\n        // CANDIDATE: slide active class (for add/remove slide)\n        if (!carousel) { slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide'); }\n\n        // INFINITE LOOP:\n        // CANDIDATE: atEnd\n        slider.atEnd = target === 0 || target === slider.last;\n\n        // DIRECTIONNAV:\n        if (slider.vars.directionNav) { methods.directionNav.update(); }\n\n        if (target === slider.last) {\n          // API: end() of cycle Callback\n          slider.vars.end(slider);\n          // SLIDESHOW && !INFINITE LOOP:\n          if (!slider.vars.animationLoop) { slider.pause(); }\n        }\n\n        // SLIDE:\n        if (!fade) {\n          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,\n              margin, slideString, calcNext;\n\n          // INFINITE LOOP / REVERSE:\n          if (carousel) {\n            margin = slider.vars.itemMargin;\n            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;\n            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;\n          } else if (slider.currentSlide === 0 && target === slider.count - 1 && slider.vars.animationLoop && slider.direction !== \"next\") {\n            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;\n          } else if (slider.currentSlide === slider.last && target === 0 && slider.vars.animationLoop && slider.direction !== \"prev\") {\n            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;\n          } else {\n            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;\n          }\n          slider.setProps(slideString, \"\", slider.vars.animationSpeed);\n          if (slider.transitions) {\n            if (!slider.vars.animationLoop || !slider.atEnd) {\n              slider.animating = false;\n              slider.currentSlide = slider.animatingTo;\n            }\n\n            // Unbind previous transitionEnd events and re-bind new transitionEnd event\n            slider.container.unbind(\"webkitTransitionEnd transitionend\");\n            slider.container.bind(\"webkitTransitionEnd transitionend\", function() {\n              clearTimeout(slider.ensureAnimationEnd);\n              slider.wrapup(dimension);\n            });\n\n            // Insurance for the ever-so-fickle transitionEnd event\n            clearTimeout(slider.ensureAnimationEnd);\n            slider.ensureAnimationEnd = setTimeout(function() {\n              slider.wrapup(dimension);\n            }, slider.vars.animationSpeed + 100);\n\n          } else {\n            slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){\n              slider.wrapup(dimension);\n            });\n          }\n        } else { // FADE:\n          if (!touch) {\n            slider.slides.eq(slider.currentSlide).css({\"zIndex\": 1}).animate({\"opacity\": 0}, slider.vars.animationSpeed, slider.vars.easing);\n            slider.slides.eq(target).css({\"zIndex\": 2}).animate({\"opacity\": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);\n          } else {\n            slider.slides.eq(slider.currentSlide).css({ \"opacity\": 0, \"zIndex\": 1 });\n            slider.slides.eq(target).css({ \"opacity\": 1, \"zIndex\": 2 });\n            slider.wrapup(dimension);\n          }\n        }\n        // SMOOTH HEIGHT:\n        if (slider.vars.smoothHeight) { methods.smoothHeight(slider.vars.animationSpeed); }\n      }\n    };\n    slider.wrapup = function(dimension) {\n      // SLIDE:\n      if (!fade && !carousel) {\n        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && slider.vars.animationLoop) {\n          slider.setProps(dimension, \"jumpEnd\");\n        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && slider.vars.animationLoop) {\n          slider.setProps(dimension, \"jumpStart\");\n        }\n      }\n      slider.animating = false;\n      slider.currentSlide = slider.animatingTo;\n      // API: after() animation Callback\n      slider.vars.after(slider);\n    };\n\n    // SLIDESHOW:\n    slider.animateSlides = function() {\n      if (!slider.animating && focused ) { slider.flexAnimate(slider.getTarget(\"next\")); }\n    };\n    // SLIDESHOW:\n    slider.pause = function() {\n      clearInterval(slider.animatedSlides);\n      slider.animatedSlides = null;\n      slider.playing = false;\n      // PAUSEPLAY:\n      if (slider.vars.pausePlay) { methods.pausePlay.update(\"play\"); }\n      // SYNC:\n      if (slider.syncExists) { methods.sync(\"pause\"); }\n    };\n    // SLIDESHOW:\n    slider.play = function() {\n      if (slider.playing) { clearInterval(slider.animatedSlides); }\n      slider.animatedSlides = slider.animatedSlides || setInterval(slider.animateSlides, slider.vars.slideshowSpeed);\n      slider.started = slider.playing = true;\n      // PAUSEPLAY:\n      if (slider.vars.pausePlay) { methods.pausePlay.update(\"pause\"); }\n      // SYNC:\n      if (slider.syncExists) { methods.sync(\"play\"); }\n    };\n    // STOP:\n    slider.stop = function () {\n      slider.pause();\n      slider.stopped = true;\n    };\n    slider.canAdvance = function(target, fromNav) {\n      // ASNAV:\n      var last = (asNav) ? slider.pagingCount - 1 : slider.last;\n      return (fromNav) ? true :\n             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === \"prev\") ? true :\n             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== \"next\") ? false :\n             (target === slider.currentSlide && !asNav) ? false :\n             (slider.vars.animationLoop) ? true :\n             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== \"next\") ? false :\n             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === \"next\") ? false :\n             true;\n    };\n    slider.getTarget = function(dir) {\n      slider.direction = dir;\n      if (dir === \"next\") {\n        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;\n      } else {\n        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;\n      }\n    };\n\n    // SLIDE:\n    slider.setProps = function(pos, special, dur) {\n      var target = (function() {\n        var posCheck = (pos) ? pos : ((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo,\n            posCalc = (function() {\n              if (carousel) {\n                return (special === \"setTouch\") ? pos :\n                       (reverse && slider.animatingTo === slider.last) ? 0 :\n                       (reverse) ? slider.limit - (((slider.itemW + slider.vars.itemMargin) * slider.move) * slider.animatingTo) :\n                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;\n              } else {\n                switch (special) {\n                  case \"setTotal\": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;\n                  case \"setTouch\": return (reverse) ? pos : pos;\n                  case \"jumpEnd\": return (reverse) ? pos : slider.count * pos;\n                  case \"jumpStart\": return (reverse) ? slider.count * pos : pos;\n                  default: return pos;\n                }\n              }\n            }());\n\n            return (posCalc * ((slider.vars.rtl)?1:-1)) + \"px\";\n          }());\n\n      if (slider.transitions) {\n        if (slider.isFirefox) {\n          target = (vertical) ? \"translate3d(0,\" + target + \",0)\" : \"translate3d(\" + (parseInt(target)+'px') + \",0,0)\";\n        } else {\n          target = (vertical) ? \"translate3d(0,\" + target + \",0)\" : \"translate3d(\" + ((slider.vars.rtl?-1:1)*parseInt(target)+'px') + \",0,0)\";\n        }\n        dur = (dur !== undefined) ? (dur/1000) + \"s\" : \"0s\";\n        slider.container.css(\"-\" + slider.pfx + \"-transition-duration\", dur);\n         slider.container.css(\"transition-duration\", dur);\n      }\n\n      slider.args[slider.prop] = target;\n      if (slider.transitions || dur === undefined) { slider.container.css(slider.args); }\n\n      slider.container.css('transform',target);\n    };\n\n    slider.setup = function(type) {\n      // SLIDE:\n      if (!fade) {\n        var sliderOffset, arr;\n\n        if (type === \"init\") {\n          slider.viewport = $('<div class=\"' + namespace + 'viewport\"></div>').css({\"overflow\": \"hidden\", \"position\": \"relative\"}).appendTo(slider).append(slider.container);\n          // INFINITE LOOP:\n          slider.cloneCount = 0;\n          slider.cloneOffset = 0;\n          // REVERSE:\n          if (reverse) {\n            arr = $.makeArray(slider.slides).reverse();\n            slider.slides = $(arr);\n            slider.container.empty().append(slider.slides);\n          }\n        }\n        // INFINITE LOOP && !CAROUSEL:\n        if (slider.vars.animationLoop && !carousel) {\n          slider.cloneCount = 2;\n          slider.cloneOffset = 1;\n          // clear out old clones\n          if (type !== \"init\") { slider.container.find('.clone').remove(); }\n          slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))\n                          .prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));\n        }\n        slider.newSlides = $(slider.vars.selector, slider);\n\n        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;\n        // VERTICAL:\n        if (vertical && !carousel) {\n          slider.container.height((slider.count + slider.cloneCount) * 200 + \"%\").css(\"position\", \"absolute\").width(\"100%\");\n          setTimeout(function(){\n            slider.newSlides.css({\"display\": \"block\"});\n            slider.doMath();\n            slider.viewport.height(slider.h);\n            slider.setProps(sliderOffset * slider.h, \"init\");\n          }, (type === \"init\") ? 100 : 0);\n        } else {\n          slider.container.width((slider.count + slider.cloneCount) * 200 + \"%\");\n          slider.setProps(sliderOffset * slider.computedW, \"init\");\n          setTimeout(function(){\n            slider.doMath();\n          if(slider.vars.rtl){\n            if (slider.isFirefox) {\n              slider.newSlides.css({\"width\": slider.computedW, \"marginRight\" : slider.computedM, \"float\": \"right\", \"display\": \"block\"});\n            } else {\n              slider.newSlides.css({\"width\": slider.computedW, \"marginRight\" : slider.computedM, \"float\": \"left\", \"display\": \"block\"});\n            }\n              \n           }\n            else{\n              slider.newSlides.css({\"width\": slider.computedW, \"marginRight\" : slider.computedM, \"float\": \"left\", \"display\": \"block\"});\n            }\n            // SMOOTH HEIGHT:\n            if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n          }, (type === \"init\") ? 100 : 0);\n        }\n      } else { // FADE:\n        if(slider.vars.rtl){\n          slider.slides.css({\"width\": \"100%\", \"float\": 'right', \"marginLeft\": \"-100%\", \"position\": \"relative\"});\n        }\n        else{\n          slider.slides.css({\"width\": \"100%\", \"float\": 'left', \"marginRight\": \"-100%\", \"position\": \"relative\"});\n        }\n        if (type === \"init\") {\n          if (!touch) {\n            //slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);\n            if (slider.vars.fadeFirstSlide == false) {\n              slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"zIndex\": 1 }).eq(slider.currentSlide).css({\"zIndex\": 2}).css({\"opacity\": 1});\n            } else {\n              slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"zIndex\": 1 }).eq(slider.currentSlide).css({\"zIndex\": 2}).animate({\"opacity\": 1},slider.vars.animationSpeed,slider.vars.easing);\n            }\n          } else {\n            slider.slides.css({ \"opacity\": 0, \"display\": \"block\", \"webkitTransition\": \"opacity \" + slider.vars.animationSpeed / 1000 + \"s ease\", \"zIndex\": 1 }).eq(slider.currentSlide).css({ \"opacity\": 1, \"zIndex\": 2});\n          }\n        }\n        // SMOOTH HEIGHT:\n        if (slider.vars.smoothHeight) { methods.smoothHeight(); }\n      }\n      // !CAROUSEL:\n      // CANDIDATE: active slide\n      if (!carousel) { slider.slides.removeClass(namespace + \"active-slide\").eq(slider.currentSlide).addClass(namespace + \"active-slide\"); }\n\n      //FlexSlider: init() Callback\n      slider.vars.init(slider);\n    };\n\n    slider.doMath = function() {\n      var slide = slider.slides.first(),\n          slideMargin = slider.vars.itemMargin,\n          minItems = slider.vars.minItems,\n          maxItems = slider.vars.maxItems;\n\n      slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();\n      if (slider.isFirefox) { slider.w = slider.width(); }\n      slider.h = slide.height();\n      slider.boxPadding = slide.outerWidth() - slide.width();\n\n      // CAROUSEL:\n      if (carousel) {\n        slider.itemT = slider.vars.itemWidth + slideMargin;\n        slider.itemM = slideMargin;\n        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;\n        slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;\n        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :\n                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * (maxItems - 1)))/maxItems :\n                       (slider.vars.itemWidth > slider.w) ? slider.w : slider.vars.itemWidth;\n\n        slider.visible = Math.floor(slider.w/(slider.itemW));\n        slider.move = (slider.vars.move > 0 && slider.vars.move < slider.visible ) ? slider.vars.move : slider.visible;\n        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);\n        slider.last =  slider.pagingCount - 1;\n        slider.limit = (slider.pagingCount === 1) ? 0 :\n                       (slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;\n      } else {\n        slider.itemW = slider.w;\n        slider.itemM = slideMargin;\n        slider.pagingCount = slider.count;\n        slider.last = slider.count - 1;\n      }\n      slider.computedW = slider.itemW - slider.boxPadding;\n      slider.computedM = slider.itemM;\n    };\n\n    slider.update = function(pos, action) {\n      slider.doMath();\n\n      // update currentSlide and slider.animatingTo if necessary\n      if (!carousel) {\n        if (pos < slider.currentSlide) {\n          slider.currentSlide += 1;\n        } else if (pos <= slider.currentSlide && pos !== 0) {\n          slider.currentSlide -= 1;\n        }\n        slider.animatingTo = slider.currentSlide;\n      }\n\n      // update controlNav\n      if (slider.vars.controlNav && !slider.manualControls) {\n        if ((action === \"add\" && !carousel) || slider.pagingCount > slider.controlNav.length) {\n          methods.controlNav.update(\"add\");\n        } else if ((action === \"remove\" && !carousel) || slider.pagingCount < slider.controlNav.length) {\n          if (carousel && slider.currentSlide > slider.last) {\n            slider.currentSlide -= 1;\n            slider.animatingTo -= 1;\n          }\n          methods.controlNav.update(\"remove\", slider.last);\n        }\n      }\n      // update directionNav\n      if (slider.vars.directionNav) { methods.directionNav.update(); }\n\n    };\n\n    slider.addSlide = function(obj, pos) {\n      var $obj = $(obj);\n\n      slider.count += 1;\n      slider.last = slider.count - 1;\n\n      // append new slide\n      if (vertical && reverse) {\n        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);\n      } else {\n        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);\n      }\n\n      // update currentSlide, animatingTo, controlNav, and directionNav\n      slider.update(pos, \"add\");\n\n      // update slider.slides\n      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);\n      // re-setup the slider to accomdate new slide\n      slider.setup();\n\n      //FlexSlider: added() Callback\n      slider.vars.added(slider);\n    };\n    slider.removeSlide = function(obj) {\n      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;\n\n      // update count\n      slider.count -= 1;\n      slider.last = slider.count - 1;\n\n      // remove slide\n      if (isNaN(obj)) {\n        $(obj, slider.slides).remove();\n      } else {\n        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();\n      }\n\n      // update currentSlide, animatingTo, controlNav, and directionNav\n      slider.doMath();\n      slider.update(pos, \"remove\");\n\n      // update slider.slides\n      slider.slides = $(slider.vars.selector + ':not(.clone)', slider);\n      // re-setup the slider to accomdate new slide\n      slider.setup();\n\n      // FlexSlider: removed() Callback\n      slider.vars.removed(slider);\n    };\n\n    //FlexSlider: Initialize\n    methods.init();\n  };\n\n  // Ensure the slider isn't focussed if the window loses focus.\n  $( window ).blur( function ( e ) {\n    focused = false;\n  }).focus( function ( e ) {\n    focused = true;\n  });\n\n  //FlexSlider: Default Settings\n  $.flexslider.defaults = {\n    namespace: \"flex-\",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin\n    selector: \".slides > li\",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril\n    animation: \"fade\",              //String: Select your animation type, \"fade\" or \"slide\"\n    easing: \"swing\",                //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!\n    direction: \"horizontal\",        //String: Select the sliding direction, \"horizontal\" or \"vertical\"\n    reverse: false,                 //{NEW} Boolean: Reverse the animation direction\n    animationLoop: true,            //Boolean: Should the animation loop? If false, directionNav will received \"disable\" classes at either end\n    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode\n    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)\n    slideshow: true,                //Boolean: Animate slider automatically\n    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds\n    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds\n    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds\n    randomize: false,               //Boolean: Randomize slide order\n    fadeFirstSlide: true,           //Boolean: Fade in the first slide when animation type is \"fade\"\n    thumbCaptions: false,           //Boolean: Whether or not to put captions on thumbnails when using the \"thumbnails\" controlNav.\n\n    // Usability features\n    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.\n    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering\n    pauseInvisible: true,       //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.\n    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available\n    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices\n    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches\n\n    // Primary Controls\n    controlNav: true,               //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage\n    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)\n    prevText: \"Previous\",           //String: Set the text for the \"previous\" directionNav item\n    nextText: \"Next\",               //String: Set the text for the \"next\" directionNav item\n\n    // Secondary Navigation\n    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys\n    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.\n    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel\n    pausePlay: false,               //Boolean: Create pause/play dynamic element\n    pauseText: \"Pause\",             //String: Set the text for the \"pause\" pausePlay item\n    playText: \"Play\",               //String: Set the text for the \"play\" pausePlay item\n\n    // Special properties\n    controlsContainer: \"\",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(\".flexslider-container\"). Property is ignored if given element is not found.\n    manualControls: \"\",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(\".flex-control-nav li\") or \"#tabs-nav li img\", etc. The number of elements in your controlNav should match the number of slides/tabs.\n    customDirectionNav: \"\",         //{NEW} jQuery Object/Selector: Custom prev / next button. Must be two jQuery elements. In order to make the events work they have to have the classes \"prev\" and \"next\" (plus namespace)\n    sync: \"\",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.\n    asNavFor: \"\",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider\n\n    // Carousel Options\n    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.\n    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.\n    minItems: 1,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.\n    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.\n    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.\n    allowOneSlide: true,           //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide\n\n    // Browser Specific\n    isFirefox: false,             // {NEW} Boolean: Set to true when Firefox is the browser used.\n\n    // Callback API\n    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide\n    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation\n    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes\n    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)\n    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added\n    removed: function(){},           //{NEW} Callback: function(slider) - Fires after a slide is removed\n    init: function() {},             //{NEW} Callback: function(slider) - Fires after the slider is initially setup\n  rtl: false             //{NEW} Boolean: Whether or not to enable RTL mode\n  };\n\n  //FlexSlider: Plugin Function\n  $.fn.flexslider = function(options) {\n    if (options === undefined) { options = {}; }\n\n    if (typeof options === \"object\") {\n      return this.each(function() {\n        var $this = $(this),\n            selector = (options.selector) ? options.selector : \".slides > li\",\n            $slides = $this.find(selector);\n\n      if ( ( $slides.length === 1 && options.allowOneSlide === false ) || $slides.length === 0 ) {\n          $slides.fadeIn(400);\n          if (options.start) { options.start($this); }\n        } else if ($this.data('flexslider') === undefined) {\n          new $.flexslider(this, options);\n        }\n      });\n    } else {\n      // Helper strings to quickly perform functions on the slider\n      var $slider = $(this).data('flexslider');\n      switch (options) {\n        case \"play\": $slider.play(); break;\n        case \"pause\": $slider.pause(); break;\n        case \"stop\": $slider.stop(); break;\n        case \"next\": $slider.flexAnimate($slider.getTarget(\"next\"), true); break;\n        case \"prev\":\n        case \"previous\": $slider.flexAnimate($slider.getTarget(\"prev\"), true); break;\n        default: if (typeof options === \"number\") { $slider.flexAnimate(options, true); }\n      }\n    }\n  };\n})(jQuery);\n"]}