{"version":3,"sources":["all.js","jquery.magnific-popup.js","jquery.magnific-popup.min.js","owl.carousel.js","owl.carousel.min.js","style.js"],"names":["AOS","init","$","console","log","owlCarousel","loop","margin","nav","dots","responsive","items","magnificPopup","disableOn","key","gallery","enabled","image","titleSrc","type","swiper","Swiper","spaceBetween","effect","pagination","el","clickable","autoplay","delay","disableOnInteraction","$tabButtonItem","$tabSelect","$tabContents","activeClass","first","addClass","not","hide","find","on","e","target","attr","removeClass","parent","val","show","preventDefault","targetSelectNum","prop","eq","factory","define","amd","exports","require","window","jQuery","Zepto","CLOSE_EVENT","BEFORE_CLOSE_EVENT","AFTER_CLOSE_EVENT","BEFORE_APPEND_EVENT","MARKUP_PARSE_EVENT","OPEN_EVENT","CHANGE_EVENT","NS","EVENT_NS","READY_CLASS","REMOVING_CLASS","PREVENT_CLOSE_CLASS","mfp","MagnificPopup","_isJQ","_prevStatus","_window","_document","_prevContentType","_wrapClasses","_currPopupType","_mfpOn","name","f","ev","_getEl","className","appendTo","html","raw","document","createElement","innerHTML","appendChild","_mfpTrigger","data","triggerHandler","st","callbacks","charAt","toLowerCase","slice","apply","isArray","_getCloseBtn","currTemplate","closeBtn","closeMarkup","replace","tClose","_checkInstance","instance","supportsTransitions","s","style","v","undefined","length","pop","prototype","constructor","appVersion","navigator","isLowIE","isIE8","all","addEventListener","isAndroid","test","isIOS","supportsTransition","probablyMobile","userAgent","popupsCache","open","i","isObj","toArray","index","item","parsed","isOpen","updateItemHTML","types","mainEl","extend","defaults","fixedContentPos","modal","closeOnContentClick","closeOnBgClick","showCloseBtn","enableEscapeKey","bgOverlay","close","wrap","_checkIfClose","container","contentContainer","preloader","tLoading","modules","n","toUpperCase","call","closeBtnInside","append","template","values","close_replaceWith","alignTop","css","overflow","overflowY","overflowX","top","scrollTop","position","fixedBgPos","height","keyCode","updateSize","windowHeight","wH","windowStyles","_hasScrollBar","_getScrollbarSize","marginRight","isIE7","classesToadd","mainClass","_addClassToMFP","add","prependTo","body","_lastFocusedEl","activeElement","setTimeout","content","_setFocus","_onFocusIn","removalDelay","_close","classesToRemove","detach","empty","_removeClassFromMFP","off","removeAttr","currItem","autoFocusLast","focus","prevHeight","winHeight","zoomLevel","documentElement","clientWidth","innerWidth","innerHeight","parseEl","markup","newContent","appendContent","preloaded","prepend","tagName","src","hasClass","addGroup","options","eHandler","mfpEl","_openClick","eName","delegate","midClick","which","ctrlKey","metaKey","altKey","shiftKey","isFunction","width","stopPropagation","updateStatus","status","text","stopImmediatePropagation","closeOnContent","closeOnBg","contains","cName","scrollHeight","_parseMarkup","arr","each","value","split","replaceWith","is","scrollbarSize","scrollDiv","cssText","offsetWidth","removeChild","proto","registerModule","module","push","fn","jqEl","itemOpts","parseInt","arguments","Array","INLINE_NS","_hiddenClass","_inlinePlaceholder","_lastInlineElement","_putInlineElementsBack","after","hiddenClass","tNotFound","initInline","getInline","inlineSt","inline","parentNode","inlineElement","AJAX_NS","_ajaxCur","_removeAjaxCursor","_destroyAjaxRequest","req","abort","settings","cursor","tError","initAjax","ajax","getAjax","opts","url","success","textStatus","jqXHR","temp","xhr","finished","error","loadError","_imgInterval","_getTitle","title","verticalFit","initImage","imgSt","ns","resizeImage","img","decr","_onImageHasSize","hasSize","clearInterval","isCheckingImgSize","imgHidden","findImageSize","counter","mfpSetInterval","setInterval","naturalWidth","getImage","guard","onLoadComplete","complete","loaded","onLoadError","alt","clone","img_replaceWith","loading","hasMozTransform","getHasMozTransform","MozTransform","easing","duration","opener","element","initZoom","zoomSt","zoom","getElToAnimate","newImg","transition","cssObj","zIndex","left","t","showMainContent","openTimeout","animatedImg","_allowZoom","clearTimeout","_getItemToZoom","_getOffset","remove","isLarge","offset","paddingTop","paddingBottom","obj","offsetHeight","IFRAME_NS","_emptyPage","_fixIframeBugs","isShowing","srcAction","patterns","youtube","id","vimeo","gmaps","initIframe","prevType","newType","getIframe","embedSrc","iframeSt","iframe","indexOf","substr","lastIndexOf","dataObj","_getLoopedId","numSlides","_replaceCurrTotal","curr","total","arrowMarkup","preload","navigateByImgClick","arrows","tPrev","tNext","tCounter","initGallery","gSt","direction","next","prev","l","arrowLeft","arrowRight","click","_preloadTimeout","preloadNearbyImages","goTo","newIndex","p","preloadBefore","Math","min","preloadAfter","_preloadItem","RETINA_NS","replaceSrc","m","ratio","initRetina","devicePixelRatio","retina","isNaN","a","b","c","d","g","h","j","k","o","q","r","u","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","transform","P","Q","R","S","T","U","Owl","Defaults","$element","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","time","pointer","stage","start","current","_states","tags","proxy","handler","Plugins","plugin","Workers","priority","worker","filter","run","setup","initialize","center","rewind","checkVisibility","mouseDrag","touchDrag","pullDrag","freeDrag","stagePadding","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","slideTransition","info","nestedItemSelector","itemElement","stageElement","refreshClass","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Width","Default","Inner","Outer","Type","Event","State","cache","relative","$stage","children","grid","toFixed","iterator","widths","clones","view","max","size","ceil","repeat","normalize","outerHTML","previous","coordinates","padding","abs","minimum","maximum","reset","animate","begin","end","inner","outer","matches","op","join","initializeStage","initializeItems","$items","get","map","refresh","isVisible","invalidate","enter","trigger","toggleClass","imgs","nestedSelector","preloadAutoWidthImages","registerEventHandlers","leave","viewport","overwrites","match","breakpoint","Number","RegExp","property","optionsLogic","prepare","event","update","grep","dimension","onThrottledResize","resizeTimer","onResize","isDefaultPrevented","support","onTransitionEnd","onDragStart","onDragEnd","stop","speed","Date","getTime","one","delta","difference","onDragMove","pull","closest","coordinate","transform3d","state","part","suppress","release","isNumeric","reciprocalItemsWidth","elementWidth","mergers","odd","even","multiplier","newPosition","from","to","factor","revert","distance","srcElement","originalTarget","warn","nodeType","addBack","before","splice","images","Image","destroy","unwrap","contents","removeData","listener","capture","attachEvent","removeEventListener","detachEvent","namespace","count","camelCase","relatedTarget","onTrigger","register","concat","object","special","owl","_default","tag","inArray","events","result","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","number","parseFloat","second","option","args","$this","Constructor","AutoRefresh","carousel","_core","_interval","_visible","autoRefresh","watch","autoRefreshInterval","Object","getOwnPropertyNames","Lazy","_loaded","lazyLoad","load","lazyLoadEager","$item","$elements","onload","handlers","AutoHeight","_previousHeight","autoHeight","_intervalId","refThis","resize","autoHeightClass","lazyLoadEnabled","visible","heights","maxheight","Video","_videos","_playing","video","isInFullScreen","fetch","play","videoHeight","videoWidth","Error","thumbnail","tnLink","icon","path","dimensions","customTn","srcType","lazyClass","create","jsonp","dataType","thumbnail_large","framegrab_url","insertAfter","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","Animate","scope","core","swapping","animateOut","animateIn","swap","animation","clear","incoming","outgoing","Autoplay","_call","_time","_timeout","_paused","autoplayHoverPause","pause","autoplayTimeout","autoplaySpeed","_next","round","read","hidden","timeout","elapsed","Navigation","_initialized","_pages","_controls","_templates","_overrides","dotsData","dotClass","draw","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotsClass","dotsEach","dotsSpeed","dotsContainer","override","$relative","$previous","$next","$absolute","control","overides","lower","upper","disabled","page","getPosition","successor","standard","Hash","_hashes","hash","location","substring","URLhashListener","prefixes","WebkitTransition","MozTransition","OTransition","WebkitAnimation","MozAnimation","OAnimation","tests","csstransforms","csstransforms3d","csstransitions","cssanimations","prefixed","String","initializing","animating","dragging","opacity","theme","getOptions","JSON","parse","instanceName","PluginAnimate","$el","accX","accY","setData","setOptions","build","wrapper","self","elTopDistance","windowTopDistance","appear","themePluginAnimate","PluginBeforeAfter","twentytwenty","themePluginBeforeAfter","PluginCarousel","itemsHeight","afterResize","itemsActive","indexCenter","floor","itemCenter","themePluginCarousel","PluginChartCircular","barColor","trackColor","scaleColor","scaleLength","lineCap","lineWidth","rotate","easyPieChart","percentEl","onStep","currentValue","themePluginChartCircular","PluginCountdown","date","textDay","textHour","textMin","textSec","uppercase","numberClass","wrapperClass","insertHTMLbefore","insertHTMLafter","countTo","countdown","strftime","themePluginCountdown","PluginCounter","refreshInterval","decimals","onUpdate","onComplete","themePluginCounter","PluginFloatElement","startPos","horizontal","$window","minus","bottom","movement","elementOffset","currentElementOffset","scrollPercent","themePluginFloatElement","PluginIcon","color","animated","strokeBased","origin","SVGContent","iconWrapper","responseText","uniqid","random","now","Vivus","selfDestroy","onReady","styleElement","createElementNS","animateStyle","textContent","svgStyle","finish","startIconAnimation","setAttribute","themePluginIcon","PluginLazyLoad","appearEffect","elements_left","trim","lazyload","themePluginLazyLoad","PluginLightbox","themePluginLightbox","loadingOverlayTemplate","LoadingOverlay","$wrapper","hideDelay","setVars","$overlay","matchProperties","loaderClass","getLoaderClass","backgroundColor","$cachedOverlay","_self","startShowing","hideOnWindowLoad","listenOn","properties","hexColor","yiq","colorToHex","hex","rgb","toString","loadingOverlay","PluginMasonry","isotope","$loader","parents","createLoader","laidOutItems","removeLoader","waitForImages","loaderTemplate","themePluginMasonry","PluginMatchHeight","byRow","matchHeight","themePluginMatchHeight","PluginParallax","horizontalPosition","parallaxHeight","yPos","bgpos","background","parallaxEffectOnScrolResize","plxPos","browser","mobile","enableOnMobile","themePluginParallax","PluginProgressBar","themePluginProgressBar","PluginRevolutionSlider","sliderType","sliderLayout","gridwidth","gridheight","spinner","disableProgressBar","parallax","bgparallax","navigation","keyboardNavigation","keyboard_direction","mouseScrollNavigation","onHoverStop","touch","touchenabled","swipe_threshold","swipe_min_touches","swipe_direction","drag_block_vertical","enable","hide_onmobile","hide_under","hide_onleave","hide_delay","hide_delay_mobile","h_align","v_align","h_offset","v_offset","right","addOnTypewriter","addOnWhiteboard","whiteboard","movehand","handtype","transformX","transformY","jittering","distance_horizontal","offset_horizontal","rotation","angle","writehand","addOnParticles","particles","startSlide","endSlide","shape","stroke","anim","opacity_min","sync","size_min","line_linked","move","min_speed","straight","out_mode","interactivity","onhover","mode","onclick","modes","grab","bubble","repulse","addOnCountdown","targetdate","slidechanges","days","hours","minutes","seconds","slide","addOnSlicey","addOnFilmstrip","addOnBeforeAfter","arrowStyles","leftIcon","rightIcon","topIcon","bottomIcon","spacing","bgColor","borderRadius","dividerStyles","addOnPanorama","addOnRevealer","revealer","overlay_enabled","overlay_color","overlay_duration","overlay_delay","overlay_easing","spinnerColor","spinnerHtml","addOnDuotone","addOnBubblemorph","addOnDistortion","revolution","bullets","RsTypewriterAddOn","rsWhiteBoard","RsParticlesAddOn","tp_countdown","revSliderSlicey","RsFilmstripAddOn","RevSliderBeforeAfter","RsAddonPanorama","RsRevealerAddOn","RsAddonDuotone","BubbleMorphAddOn","RsLiquideffectAddOn","themePluginRevolutionSlider","PluginScrollToTop","buttonClass","iconClass","visibleMobile","label","initialized","_isScrolling","scroll","PluginScrollable","updateModals","updateBootstrapModal","updateBoostrapModal","enforceFocus","originalFocus","$scrollable","themePluginScrollable","nanoScroller","contentClass","paneClass","sliderClass","alwaysVisible","preventPageScrolling","PluginSectionScroll","targetClass","dotsNav","changeHeaderLogo","headerLogoDark","headerLogoLight","$header","updateSectionsHeight","outerHeight","flag","scrollableFlag","touchDirection","touchstartY","touchendY","screenY","wheelEvent","onmousewheel","wheelDirection","wheelDelta","deltaY","$currentSection","getCurrentIndex","$nextSection","getNextSection","moveTo","changeSectionActiveState","changeDotsActiveState","dotsNavigation","updateHash","first_load","$section","section_id","currentIndex","$scrollTopValue","currentSectionIndex","headerColor","ready","themePluginSectionScroll","PluginSort","useHash","itemSelector","layoutMode","hiddenStyle","visibleStyle","stagger","isOriginLeft","$source","$destination","setParagraphHeight","setFilter","hashEvents","currentFilter","filteredItems","hashFilter","initHashFilter","minParagraphHeight","paragraphs","themePluginSort","PluginStarRating","showClear","showCaption","rating","themePluginStarRating","PluginSticky","minWidth","pin","$logo","logoSrc","logoNewSrc","changeLogoSrc","activate","sticky_activate_flag","sticky_deactivate_flag","class_to_check","is_backing","stickyStartEffectAt","themePluginSticky","PluginToggle","isAccordion","slideDown","previewParCurrentHeight","previewParAnimateHeight","toggleContent","parentSection","parentWrapper","previewPar","closeElement","slideUp","themePluginToggle","PluginTweets","username","URL","iconColor","twitter_screen_name","tweets_to_display","icon_color","done","themePluginTweets","PluginValidation","formClass","validator","highlight","errorPlacement","validateCaptchaURL","refreshCaptchaURL","addMethods","setMessageGroups","setDefaults","validate","addMethod","params","captchaValid","async","captcha","response","message","PluginVideoBackground","overlay","volume","playbackRate","muted","posterType","vide","overlayClass","themePluginVideoBackground","Account","mouseup","has","Nav","scrollDelay","scrollAnimation","$html","$headerNavMain","thumbInfoPreview","checkReverse","clone2","menuFloatingAnim","$menuFloating","divisor","slideNavigation","$mainNav","$mainNavItem","menuNav","currentMenuItem","currentMenu","nextMenu","prevMenu","isSubMenu","isBack","nextMenuHeightDiff","prevMenuHeightDiff","headerBodyHeight","StickyHeader","stickyHeaderContainerHeight","$li","isSub","$toggleParent","siblings","$dropdown","hamburguerMenuBtn","hamburguerSideHeader","scrollToTarget","collapse","init_html_class","extra_class","Newsletter","$email","$success","$error","submitHandler","form","blur","rules","newsletterEmail","required","email","Search","headerBody","stickyEnabled","stickyEnableOnBoxed","stickyEnableOnMobile","stickyStartAt","stickyStartAtElement","stickySetTop","stickyEffect","stickyChangeLogo","stickyChangeLogoWrapper","sideHeader","initialHeaderTopHeight","initialHeaderContainerHeight","minHeight","$stickyStartAtElement","activate_flag","deactivate_flag","checkStickyHeader","activateStickyHeader","deactivateStickyHeader","changeLogo","minResolution","$logoWrapper","logoWidth","logoHeight","logoSmallTop","logoSmallWidth","logoSmallHeight","outerWidth","checkSideHeader","alwaysStickyEnabled"],"mappings":"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","file":"all.js","sourcesContent":["AOS.init();\n\n$(function () {\n console.log('Hello Bootstrap5');\n $('.owl-carousel').owlCarousel({\n loop:false,//循環\n margin:10,//邊距\n nav:false,//導航\n dots:true,//導航點\n responsive:{\n 0:{\n items:1//數量\n },\n 600:{\n items:2\n },\n 1000:{\n items:4\n }\n }\n })\n\n $('.relative-img-pop').magnificPopup({\n // main options\n disableOn: 400,\n key: 'some-key',\n gallery: {\n // options for gallery\n enabled: true\n },\n image: {\n // options for image content type\n titleSrc: 'title'\n },\n type: 'image'\n // other options\n });\n\n\n //首頁輪播\n var swiper = new Swiper(\".mySwiper\", {\n spaceBetween: 30,\n effect: \"fade\",\n // navigation: {\n // nextEl: \".swiper-button-next\",\n // prevEl: \".swiper-button-prev\",\n // },\n pagination: {\n el: \".swiper-pagination\",\n clickable: true,\n },\n autoplay: {\n loop: true,\n delay: 5000,\n disableOnInteraction: false,\n },\n });\n\n\n // 首頁最新消息的區塊\n var $tabButtonItem = $('#tab-button li'),\n $tabSelect = $('#tab-select'),\n $tabContents = $('.tab-contents'),\n activeClass = 'is-active';\n\n $tabButtonItem.first().addClass(activeClass);\n $tabContents.not(':first').hide();\n\n $tabButtonItem.find('a').on('click', function (e) {\n var target = $(this).attr('href');\n\n $tabButtonItem.removeClass(activeClass);\n $(this).parent().addClass(activeClass);\n $tabSelect.val(target);\n $tabContents.hide();\n $(target).show();\n e.preventDefault();\n });\n\n $tabSelect.on('change', function () {\n var target = $(this).val(),\n targetSelectNum = $(this).prop('selectedIndex');\n\n $tabButtonItem.removeClass(activeClass);\n $tabButtonItem.eq(targetSelectNum).addClass(activeClass);\n $tabContents.hide();\n $(target).show();\n });\n\n});\n\n\n","/*! Magnific Popup - v1.1.0 - 2016-02-20\n* http://dimsemenov.com/plugins/magnific-popup/\n* Copyright (c) 2016 Dmitry Semenov; */\n;(function (factory) { \nif (typeof define === 'function' && define.amd) { \n // AMD. Register as an anonymous module. \n define(['jquery'], factory); \n } else if (typeof exports === 'object') { \n // Node/CommonJS \n factory(require('jquery')); \n } else { \n // Browser globals \n factory(window.jQuery || window.Zepto); \n } \n }(function($) { \n\n/*>>core*/\n/**\n * \n * Magnific Popup Core JS file\n * \n */\n\n\n/**\n * Private static constants\n */\nvar CLOSE_EVENT = 'Close',\n\tBEFORE_CLOSE_EVENT = 'BeforeClose',\n\tAFTER_CLOSE_EVENT = 'AfterClose',\n\tBEFORE_APPEND_EVENT = 'BeforeAppend',\n\tMARKUP_PARSE_EVENT = 'MarkupParse',\n\tOPEN_EVENT = 'Open',\n\tCHANGE_EVENT = 'Change',\n\tNS = 'mfp',\n\tEVENT_NS = '.' + NS,\n\tREADY_CLASS = 'mfp-ready',\n\tREMOVING_CLASS = 'mfp-removing',\n\tPREVENT_CLOSE_CLASS = 'mfp-prevent-close';\n\n\n/**\n * Private vars \n */\n/*jshint -W079 */\nvar mfp, // As we have only one instance of MagnificPopup object, we define it locally to not to use 'this'\n\tMagnificPopup = function(){},\n\t_isJQ = !!(window.jQuery),\n\t_prevStatus,\n\t_window = $(window),\n\t_document,\n\t_prevContentType,\n\t_wrapClasses,\n\t_currPopupType;\n\n\n/**\n * Private functions\n */\nvar _mfpOn = function(name, f) {\n\t\tmfp.ev.on(NS + name + EVENT_NS, f);\n\t},\n\t_getEl = function(className, appendTo, html, raw) {\n\t\tvar el = document.createElement('div');\n\t\tel.className = 'mfp-'+className;\n\t\tif(html) {\n\t\t\tel.innerHTML = html;\n\t\t}\n\t\tif(!raw) {\n\t\t\tel = $(el);\n\t\t\tif(appendTo) {\n\t\t\t\tel.appendTo(appendTo);\n\t\t\t}\n\t\t} else if(appendTo) {\n\t\t\tappendTo.appendChild(el);\n\t\t}\n\t\treturn el;\n\t},\n\t_mfpTrigger = function(e, data) {\n\t\tmfp.ev.triggerHandler(NS + e, data);\n\n\t\tif(mfp.st.callbacks) {\n\t\t\t// converts \"mfpEventName\" to \"eventName\" callback and triggers it if it's present\n\t\t\te = e.charAt(0).toLowerCase() + e.slice(1);\n\t\t\tif(mfp.st.callbacks[e]) {\n\t\t\t\tmfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data : [data]);\n\t\t\t}\n\t\t}\n\t},\n\t_getCloseBtn = function(type) {\n\t\tif(type !== _currPopupType || !mfp.currTemplate.closeBtn) {\n\t\t\tmfp.currTemplate.closeBtn = $( mfp.st.closeMarkup.replace('%title%', mfp.st.tClose ) );\n\t\t\t_currPopupType = type;\n\t\t}\n\t\treturn mfp.currTemplate.closeBtn;\n\t},\n\t// Initialize Magnific Popup only when called at least once\n\t_checkInstance = function() {\n\t\tif(!$.magnificPopup.instance) {\n\t\t\t/*jshint -W020 */\n\t\t\tmfp = new MagnificPopup();\n\t\t\tmfp.init();\n\t\t\t$.magnificPopup.instance = mfp;\n\t\t}\n\t},\n\t// CSS transition detection, http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr\n\tsupportsTransitions = function() {\n\t\tvar s = document.createElement('p').style, // 's' for style. better to create an element if body yet to exist\n\t\t\tv = ['ms','O','Moz','Webkit']; // 'v' for vendor\n\n\t\tif( s['transition'] !== undefined ) {\n\t\t\treturn true; \n\t\t}\n\t\t\t\n\t\twhile( v.length ) {\n\t\t\tif( v.pop() + 'Transition' in s ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\t\t\n\t\treturn false;\n\t};\n\n\n\n/**\n * Public functions\n */\nMagnificPopup.prototype = {\n\n\tconstructor: MagnificPopup,\n\n\t/**\n\t * Initializes Magnific Popup plugin. \n\t * This function is triggered only once when $.fn.magnificPopup or $.magnificPopup is executed\n\t */\n\tinit: function() {\n\t\tvar appVersion = navigator.appVersion;\n\t\tmfp.isLowIE = mfp.isIE8 = document.all && !document.addEventListener;\n\t\tmfp.isAndroid = (/android/gi).test(appVersion);\n\t\tmfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);\n\t\tmfp.supportsTransition = supportsTransitions();\n\n\t\t// We disable fixed positioned lightbox on devices that don't handle it nicely.\n\t\t// If you know a better way of detecting this - let me know.\n\t\tmfp.probablyMobile = (mfp.isAndroid || mfp.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent) );\n\t\t_document = $(document);\n\n\t\tmfp.popupsCache = {};\n\t},\n\n\t/**\n\t * Opens popup\n\t * @param data [description]\n\t */\n\topen: function(data) {\n\n\t\tvar i;\n\n\t\tif(data.isObj === false) { \n\t\t\t// convert jQuery collection to array to avoid conflicts later\n\t\t\tmfp.items = data.items.toArray();\n\n\t\t\tmfp.index = 0;\n\t\t\tvar items = data.items,\n\t\t\t\titem;\n\t\t\tfor(i = 0; i < items.length; i++) {\n\t\t\t\titem = items[i];\n\t\t\t\tif(item.parsed) {\n\t\t\t\t\titem = item.el[0];\n\t\t\t\t}\n\t\t\t\tif(item === data.el[0]) {\n\t\t\t\t\tmfp.index = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.items = $.isArray(data.items) ? data.items : [data.items];\n\t\t\tmfp.index = data.index || 0;\n\t\t}\n\n\t\t// if popup is already opened - we just update the content\n\t\tif(mfp.isOpen) {\n\t\t\tmfp.updateItemHTML();\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tmfp.types = []; \n\t\t_wrapClasses = '';\n\t\tif(data.mainEl && data.mainEl.length) {\n\t\t\tmfp.ev = data.mainEl.eq(0);\n\t\t} else {\n\t\t\tmfp.ev = _document;\n\t\t}\n\n\t\tif(data.key) {\n\t\t\tif(!mfp.popupsCache[data.key]) {\n\t\t\t\tmfp.popupsCache[data.key] = {};\n\t\t\t}\n\t\t\tmfp.currTemplate = mfp.popupsCache[data.key];\n\t\t} else {\n\t\t\tmfp.currTemplate = {};\n\t\t}\n\n\n\n\t\tmfp.st = $.extend(true, {}, $.magnificPopup.defaults, data ); \n\t\tmfp.fixedContentPos = mfp.st.fixedContentPos === 'auto' ? !mfp.probablyMobile : mfp.st.fixedContentPos;\n\n\t\tif(mfp.st.modal) {\n\t\t\tmfp.st.closeOnContentClick = false;\n\t\t\tmfp.st.closeOnBgClick = false;\n\t\t\tmfp.st.showCloseBtn = false;\n\t\t\tmfp.st.enableEscapeKey = false;\n\t\t}\n\t\t\n\n\t\t// Building markup\n\t\t// main containers are created only once\n\t\tif(!mfp.bgOverlay) {\n\n\t\t\t// Dark overlay\n\t\t\tmfp.bgOverlay = _getEl('bg').on('click'+EVENT_NS, function() {\n\t\t\t\tmfp.close();\n\t\t\t});\n\n\t\t\tmfp.wrap = _getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e) {\n\t\t\t\tif(mfp._checkIfClose(e.target)) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tmfp.container = _getEl('container', mfp.wrap);\n\t\t}\n\n\t\tmfp.contentContainer = _getEl('content');\n\t\tif(mfp.st.preloader) {\n\t\t\tmfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);\n\t\t}\n\n\n\t\t// Initializing modules\n\t\tvar modules = $.magnificPopup.modules;\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar n = modules[i];\n\t\t\tn = n.charAt(0).toUpperCase() + n.slice(1);\n\t\t\tmfp['init'+n].call(mfp);\n\t\t}\n\t\t_mfpTrigger('BeforeOpen');\n\n\n\t\tif(mfp.st.showCloseBtn) {\n\t\t\t// Close button\n\t\t\tif(!mfp.st.closeBtnInside) {\n\t\t\t\tmfp.wrap.append( _getCloseBtn() );\n\t\t\t} else {\n\t\t\t\t_mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item) {\n\t\t\t\t\tvalues.close_replaceWith = _getCloseBtn(item.type);\n\t\t\t\t});\n\t\t\t\t_wrapClasses += ' mfp-close-btn-in';\n\t\t\t}\n\t\t}\n\n\t\tif(mfp.st.alignTop) {\n\t\t\t_wrapClasses += ' mfp-align-top';\n\t\t}\n\n\t\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css({\n\t\t\t\toverflow: mfp.st.overflowY,\n\t\t\t\toverflowX: 'hidden',\n\t\t\t\toverflowY: mfp.st.overflowY\n\t\t\t});\n\t\t} else {\n\t\t\tmfp.wrap.css({ \n\t\t\t\ttop: _window.scrollTop(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\t\tif( mfp.st.fixedBgPos === false || (mfp.st.fixedBgPos === 'auto' && !mfp.fixedContentPos) ) {\n\t\t\tmfp.bgOverlay.css({\n\t\t\t\theight: _document.height(),\n\t\t\t\tposition: 'absolute'\n\t\t\t});\n\t\t}\n\n\t\t\n\n\t\tif(mfp.st.enableEscapeKey) {\n\t\t\t// Close on ESC key\n\t\t\t_document.on('keyup' + EVENT_NS, function(e) {\n\t\t\t\tif(e.keyCode === 27) {\n\t\t\t\t\tmfp.close();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t_window.on('resize' + EVENT_NS, function() {\n\t\t\tmfp.updateSize();\n\t\t});\n\n\n\t\tif(!mfp.st.closeOnContentClick) {\n\t\t\t_wrapClasses += ' mfp-auto-cursor';\n\t\t}\n\t\t\n\t\tif(_wrapClasses)\n\t\t\tmfp.wrap.addClass(_wrapClasses);\n\n\n\t\t// this triggers recalculation of layout, so we get it once to not to trigger twice\n\t\tvar windowHeight = mfp.wH = _window.height();\n\n\t\t\n\t\tvar windowStyles = {};\n\n\t\tif( mfp.fixedContentPos ) {\n if(mfp._hasScrollBar(windowHeight)){\n var s = mfp._getScrollbarSize();\n if(s) {\n windowStyles.marginRight = s;\n }\n }\n }\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tif(!mfp.isIE7) {\n\t\t\t\twindowStyles.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\t// ie7 double-scroll bug\n\t\t\t\t$('body, html').css('overflow', 'hidden');\n\t\t\t}\n\t\t}\n\n\t\t\n\t\t\n\t\tvar classesToadd = mfp.st.mainClass;\n\t\tif(mfp.isIE7) {\n\t\t\tclassesToadd += ' mfp-ie7';\n\t\t}\n\t\tif(classesToadd) {\n\t\t\tmfp._addClassToMFP( classesToadd );\n\t\t}\n\n\t\t// add content\n\t\tmfp.updateItemHTML();\n\n\t\t_mfpTrigger('BuildControls');\n\n\t\t// remove scrollbar, add margin e.t.c\n\t\t$('html').css(windowStyles);\n\t\t\n\t\t// add everything to DOM\n\t\tmfp.bgOverlay.add(mfp.wrap).prependTo( mfp.st.prependTo || $(document.body) );\n\n\t\t// Save last focused element\n\t\tmfp._lastFocusedEl = document.activeElement;\n\t\t\n\t\t// Wait for next cycle to allow CSS transition\n\t\tsetTimeout(function() {\n\t\t\t\n\t\t\tif(mfp.content) {\n\t\t\t\tmfp._addClassToMFP(READY_CLASS);\n\t\t\t\tmfp._setFocus();\n\t\t\t} else {\n\t\t\t\t// if content is not defined (not loaded e.t.c) we add class only for BG\n\t\t\t\tmfp.bgOverlay.addClass(READY_CLASS);\n\t\t\t}\n\t\t\t\n\t\t\t// Trap the focus in popup\n\t\t\t_document.on('focusin' + EVENT_NS, mfp._onFocusIn);\n\n\t\t}, 16);\n\n\t\tmfp.isOpen = true;\n\t\tmfp.updateSize(windowHeight);\n\t\t_mfpTrigger(OPEN_EVENT);\n\n\t\treturn data;\n\t},\n\n\t/**\n\t * Closes the popup\n\t */\n\tclose: function() {\n\t\tif(!mfp.isOpen) return;\n\t\t_mfpTrigger(BEFORE_CLOSE_EVENT);\n\n\t\tmfp.isOpen = false;\n\t\t// for CSS3 animation\n\t\tif(mfp.st.removalDelay && !mfp.isLowIE && mfp.supportsTransition ) {\n\t\t\tmfp._addClassToMFP(REMOVING_CLASS);\n\t\t\tsetTimeout(function() {\n\t\t\t\tmfp._close();\n\t\t\t}, mfp.st.removalDelay);\n\t\t} else {\n\t\t\tmfp._close();\n\t\t}\n\t},\n\n\t/**\n\t * Helper for close() function\n\t */\n\t_close: function() {\n\t\t_mfpTrigger(CLOSE_EVENT);\n\n\t\tvar classesToRemove = REMOVING_CLASS + ' ' + READY_CLASS + ' ';\n\n\t\tmfp.bgOverlay.detach();\n\t\tmfp.wrap.detach();\n\t\tmfp.container.empty();\n\n\t\tif(mfp.st.mainClass) {\n\t\t\tclassesToRemove += mfp.st.mainClass + ' ';\n\t\t}\n\n\t\tmfp._removeClassFromMFP(classesToRemove);\n\n\t\tif(mfp.fixedContentPos) {\n\t\t\tvar windowStyles = {marginRight: ''};\n\t\t\tif(mfp.isIE7) {\n\t\t\t\t$('body, html').css('overflow', '');\n\t\t\t} else {\n\t\t\t\twindowStyles.overflow = '';\n\t\t\t}\n\t\t\t$('html').css(windowStyles);\n\t\t}\n\t\t\n\t\t_document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS);\n\t\tmfp.ev.off(EVENT_NS);\n\n\t\t// clean up DOM elements that aren't removed\n\t\tmfp.wrap.attr('class', 'mfp-wrap').removeAttr('style');\n\t\tmfp.bgOverlay.attr('class', 'mfp-bg');\n\t\tmfp.container.attr('class', 'mfp-container');\n\n\t\t// remove close button from target element\n\t\tif(mfp.st.showCloseBtn &&\n\t\t(!mfp.st.closeBtnInside || mfp.currTemplate[mfp.currItem.type] === true)) {\n\t\t\tif(mfp.currTemplate.closeBtn)\n\t\t\t\tmfp.currTemplate.closeBtn.detach();\n\t\t}\n\n\n\t\tif(mfp.st.autoFocusLast && mfp._lastFocusedEl) {\n\t\t\t$(mfp._lastFocusedEl).focus(); // put tab focus back\n\t\t}\n\t\tmfp.currItem = null;\t\n\t\tmfp.content = null;\n\t\tmfp.currTemplate = null;\n\t\tmfp.prevHeight = 0;\n\n\t\t_mfpTrigger(AFTER_CLOSE_EVENT);\n\t},\n\t\n\tupdateSize: function(winHeight) {\n\n\t\tif(mfp.isIOS) {\n\t\t\t// fixes iOS nav bars https://github.com/dimsemenov/Magnific-Popup/issues/2\n\t\t\tvar zoomLevel = document.documentElement.clientWidth / window.innerWidth;\n\t\t\tvar height = window.innerHeight * zoomLevel;\n\t\t\tmfp.wrap.css('height', height);\n\t\t\tmfp.wH = height;\n\t\t} else {\n\t\t\tmfp.wH = winHeight || _window.height();\n\t\t}\n\t\t// Fixes #84: popup incorrectly positioned with position:relative on body\n\t\tif(!mfp.fixedContentPos) {\n\t\t\tmfp.wrap.css('height', mfp.wH);\n\t\t}\n\n\t\t_mfpTrigger('Resize');\n\n\t},\n\n\t/**\n\t * Set content of popup based on current index\n\t */\n\tupdateItemHTML: function() {\n\t\tvar item = mfp.items[mfp.index];\n\n\t\t// Detach and perform modifications\n\t\tmfp.contentContainer.detach();\n\n\t\tif(mfp.content)\n\t\t\tmfp.content.detach();\n\n\t\tif(!item.parsed) {\n\t\t\titem = mfp.parseEl( mfp.index );\n\t\t}\n\n\t\tvar type = item.type;\n\n\t\t_mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type : '', type]);\n\t\t// BeforeChange event works like so:\n\t\t// _mfpOn('BeforeChange', function(e, prevType, newType) { });\n\n\t\tmfp.currItem = item;\n\n\t\tif(!mfp.currTemplate[type]) {\n\t\t\tvar markup = mfp.st[type] ? mfp.st[type].markup : false;\n\n\t\t\t// allows to modify markup\n\t\t\t_mfpTrigger('FirstMarkupParse', markup);\n\n\t\t\tif(markup) {\n\t\t\t\tmfp.currTemplate[type] = $(markup);\n\t\t\t} else {\n\t\t\t\t// if there is no markup found we just define that template is parsed\n\t\t\t\tmfp.currTemplate[type] = true;\n\t\t\t}\n\t\t}\n\n\t\tif(_prevContentType && _prevContentType !== item.type) {\n\t\t\tmfp.container.removeClass('mfp-'+_prevContentType+'-holder');\n\t\t}\n\n\t\tvar newContent = mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]);\n\t\tmfp.appendContent(newContent, type);\n\n\t\titem.preloaded = true;\n\n\t\t_mfpTrigger(CHANGE_EVENT, item);\n\t\t_prevContentType = item.type;\n\n\t\t// Append container back after its content changed\n\t\tmfp.container.prepend(mfp.contentContainer);\n\n\t\t_mfpTrigger('AfterChange');\n\t},\n\n\n\t/**\n\t * Set HTML content of popup\n\t */\n\tappendContent: function(newContent, type) {\n\t\tmfp.content = newContent;\n\n\t\tif(newContent) {\n\t\t\tif(mfp.st.showCloseBtn && mfp.st.closeBtnInside &&\n\t\t\t\tmfp.currTemplate[type] === true) {\n\t\t\t\t// if there is no markup, we just append close button element inside\n\t\t\t\tif(!mfp.content.find('.mfp-close').length) {\n\t\t\t\t\tmfp.content.append(_getCloseBtn());\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmfp.content = newContent;\n\t\t\t}\n\t\t} else {\n\t\t\tmfp.content = '';\n\t\t}\n\n\t\t_mfpTrigger(BEFORE_APPEND_EVENT);\n\t\tmfp.container.addClass('mfp-'+type+'-holder');\n\n\t\tmfp.contentContainer.append(mfp.content);\n\t},\n\n\n\t/**\n\t * Creates Magnific Popup data object based on given data\n\t * @param {int} index Index of item to parse\n\t */\n\tparseEl: function(index) {\n\t\tvar item = mfp.items[index],\n\t\t\ttype;\n\n\t\tif(item.tagName) {\n\t\t\titem = { el: $(item) };\n\t\t} else {\n\t\t\ttype = item.type;\n\t\t\titem = { data: item, src: item.src };\n\t\t}\n\n\t\tif(item.el) {\n\t\t\tvar types = mfp.types;\n\n\t\t\t// check for 'mfp-TYPE' class\n\t\t\tfor(var i = 0; i < types.length; i++) {\n\t\t\t\tif( item.el.hasClass('mfp-'+types[i]) ) {\n\t\t\t\t\ttype = types[i];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\titem.src = item.el.attr('data-mfp-src');\n\t\t\tif(!item.src) {\n\t\t\t\titem.src = item.el.attr('href');\n\t\t\t}\n\t\t}\n\n\t\titem.type = type || mfp.st.type || 'inline';\n\t\titem.index = index;\n\t\titem.parsed = true;\n\t\tmfp.items[index] = item;\n\t\t_mfpTrigger('ElementParse', item);\n\n\t\treturn mfp.items[index];\n\t},\n\n\n\t/**\n\t * Initializes single popup or a group of popups\n\t */\n\taddGroup: function(el, options) {\n\t\tvar eHandler = function(e) {\n\t\t\te.mfpEl = this;\n\t\t\tmfp._openClick(e, el, options);\n\t\t};\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t}\n\n\t\tvar eName = 'click.magnificPopup';\n\t\toptions.mainEl = el;\n\n\t\tif(options.items) {\n\t\t\toptions.isObj = true;\n\t\t\tel.off(eName).on(eName, eHandler);\n\t\t} else {\n\t\t\toptions.isObj = false;\n\t\t\tif(options.delegate) {\n\t\t\t\tel.off(eName).on(eName, options.delegate , eHandler);\n\t\t\t} else {\n\t\t\t\toptions.items = el;\n\t\t\t\tel.off(eName).on(eName, eHandler);\n\t\t\t}\n\t\t}\n\t},\n\t_openClick: function(e, el, options) {\n\t\tvar midClick = options.midClick !== undefined ? options.midClick : $.magnificPopup.defaults.midClick;\n\n\n\t\tif(!midClick && ( e.which === 2 || e.ctrlKey || e.metaKey || e.altKey || e.shiftKey ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar disableOn = options.disableOn !== undefined ? options.disableOn : $.magnificPopup.defaults.disableOn;\n\n\t\tif(disableOn) {\n\t\t\tif($.isFunction(disableOn)) {\n\t\t\t\tif( !disableOn.call(mfp) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t} else { // else it's number\n\t\t\t\tif( _window.width() < disableOn ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif(e.type) {\n\t\t\te.preventDefault();\n\n\t\t\t// This will prevent popup from closing if element is inside and popup is already opened\n\t\t\tif(mfp.isOpen) {\n\t\t\t\te.stopPropagation();\n\t\t\t}\n\t\t}\n\n\t\toptions.el = $(e.mfpEl);\n\t\tif(options.delegate) {\n\t\t\toptions.items = el.find(options.delegate);\n\t\t}\n\t\tmfp.open(options);\n\t},\n\n\n\t/**\n\t * Updates text on preloader\n\t */\n\tupdateStatus: function(status, text) {\n\n\t\tif(mfp.preloader) {\n\t\t\tif(_prevStatus !== status) {\n\t\t\t\tmfp.container.removeClass('mfp-s-'+_prevStatus);\n\t\t\t}\n\n\t\t\tif(!text && status === 'loading') {\n\t\t\t\ttext = mfp.st.tLoading;\n\t\t\t}\n\n\t\t\tvar data = {\n\t\t\t\tstatus: status,\n\t\t\t\ttext: text\n\t\t\t};\n\t\t\t// allows to modify status\n\t\t\t_mfpTrigger('UpdateStatus', data);\n\n\t\t\tstatus = data.status;\n\t\t\ttext = data.text;\n\n\t\t\tmfp.preloader.html(text);\n\n\t\t\tmfp.preloader.find('a').on('click', function(e) {\n\t\t\t\te.stopImmediatePropagation();\n\t\t\t});\n\n\t\t\tmfp.container.addClass('mfp-s-'+status);\n\t\t\t_prevStatus = status;\n\t\t}\n\t},\n\n\n\t/*\n\t\t\"Private\" helpers that aren't private at all\n\t */\n\t// Check to close popup or not\n\t// \"target\" is an element that was clicked\n\t_checkIfClose: function(target) {\n\n\t\tif($(target).hasClass(PREVENT_CLOSE_CLASS)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar closeOnContent = mfp.st.closeOnContentClick;\n\t\tvar closeOnBg = mfp.st.closeOnBgClick;\n\n\t\tif(closeOnContent && closeOnBg) {\n\t\t\treturn true;\n\t\t} else {\n\n\t\t\t// We close the popup if click is on close button or on preloader. Or if there is no content.\n\t\t\tif(!mfp.content || $(target).hasClass('mfp-close') || (mfp.preloader && target === mfp.preloader[0]) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// if click is outside the content\n\t\t\tif( (target !== mfp.content[0] && !$.contains(mfp.content[0], target)) ) {\n\t\t\t\tif(closeOnBg) {\n\t\t\t\t\t// last check, if the clicked element is in DOM, (in case it's removed onclick)\n\t\t\t\t\tif( $.contains(document, target) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if(closeOnContent) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t}\n\t\treturn false;\n\t},\n\t_addClassToMFP: function(cName) {\n\t\tmfp.bgOverlay.addClass(cName);\n\t\tmfp.wrap.addClass(cName);\n\t},\n\t_removeClassFromMFP: function(cName) {\n\t\tthis.bgOverlay.removeClass(cName);\n\t\tmfp.wrap.removeClass(cName);\n\t},\n\t_hasScrollBar: function(winHeight) {\n\t\treturn ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) );\n\t},\n\t_setFocus: function() {\n\t\t(mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0) : mfp.wrap).focus();\n\t},\n\t_onFocusIn: function(e) {\n\t\tif( e.target !== mfp.wrap[0] && !$.contains(mfp.wrap[0], e.target) ) {\n\t\t\tmfp._setFocus();\n\t\t\treturn false;\n\t\t}\n\t},\n\t_parseMarkup: function(template, values, item) {\n\t\tvar arr;\n\t\tif(item.data) {\n\t\t\tvalues = $.extend(item.data, values);\n\t\t}\n\t\t_mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item] );\n\n\t\t$.each(values, function(key, value) {\n\t\t\tif(value === undefined || value === false) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tarr = key.split('_');\n\t\t\tif(arr.length > 1) {\n\t\t\t\tvar el = template.find(EVENT_NS + '-'+arr[0]);\n\n\t\t\t\tif(el.length > 0) {\n\t\t\t\t\tvar attr = arr[1];\n\t\t\t\t\tif(attr === 'replaceWith') {\n\t\t\t\t\t\tif(el[0] !== value[0]) {\n\t\t\t\t\t\t\tel.replaceWith(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if(attr === 'img') {\n\t\t\t\t\t\tif(el.is('img')) {\n\t\t\t\t\t\t\tel.attr('src', value);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tel.replaceWith( $('').attr('src', value).attr('class', el.attr('class')) );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.attr(arr[1], value);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\ttemplate.find(EVENT_NS + '-'+key).html(value);\n\t\t\t}\n\t\t});\n\t},\n\n\t_getScrollbarSize: function() {\n\t\t// thx David\n\t\tif(mfp.scrollbarSize === undefined) {\n\t\t\tvar scrollDiv = document.createElement(\"div\");\n\t\t\tscrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';\n\t\t\tdocument.body.appendChild(scrollDiv);\n\t\t\tmfp.scrollbarSize = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\t\t\tdocument.body.removeChild(scrollDiv);\n\t\t}\n\t\treturn mfp.scrollbarSize;\n\t}\n\n}; /* MagnificPopup core prototype end */\n\n\n\n\n/**\n * Public static functions\n */\n$.magnificPopup = {\n\tinstance: null,\n\tproto: MagnificPopup.prototype,\n\tmodules: [],\n\n\topen: function(options, index) {\n\t\t_checkInstance();\n\n\t\tif(!options) {\n\t\t\toptions = {};\n\t\t} else {\n\t\t\toptions = $.extend(true, {}, options);\n\t\t}\n\n\t\toptions.isObj = true;\n\t\toptions.index = index || 0;\n\t\treturn this.instance.open(options);\n\t},\n\n\tclose: function() {\n\t\treturn $.magnificPopup.instance && $.magnificPopup.instance.close();\n\t},\n\n\tregisterModule: function(name, module) {\n\t\tif(module.options) {\n\t\t\t$.magnificPopup.defaults[name] = module.options;\n\t\t}\n\t\t$.extend(this.proto, module.proto);\n\t\tthis.modules.push(name);\n\t},\n\n\tdefaults: {\n\n\t\t// Info about options is in docs:\n\t\t// http://dimsemenov.com/plugins/magnific-popup/documentation.html#options\n\n\t\tdisableOn: 0,\n\n\t\tkey: null,\n\n\t\tmidClick: false,\n\n\t\tmainClass: '',\n\n\t\tpreloader: true,\n\n\t\tfocus: '', // CSS selector of input to focus after popup is opened\n\n\t\tcloseOnContentClick: false,\n\n\t\tcloseOnBgClick: true,\n\n\t\tcloseBtnInside: true,\n\n\t\tshowCloseBtn: true,\n\n\t\tenableEscapeKey: true,\n\n\t\tmodal: false,\n\n\t\talignTop: false,\n\n\t\tremovalDelay: 0,\n\n\t\tprependTo: null,\n\n\t\tfixedContentPos: 'auto',\n\n\t\tfixedBgPos: 'auto',\n\n\t\toverflowY: 'auto',\n\n\t\tcloseMarkup: '',\n\n\t\ttClose: 'Close (Esc)',\n\n\t\ttLoading: 'Loading...',\n\n\t\tautoFocusLast: true\n\n\t}\n};\n\n\n\n$.fn.magnificPopup = function(options) {\n\t_checkInstance();\n\n\tvar jqEl = $(this);\n\n\t// We call some API method of first param is a string\n\tif (typeof options === \"string\" ) {\n\n\t\tif(options === 'open') {\n\t\t\tvar items,\n\t\t\t\titemOpts = _isJQ ? jqEl.data('magnificPopup') : jqEl[0].magnificPopup,\n\t\t\t\tindex = parseInt(arguments[1], 10) || 0;\n\n\t\t\tif(itemOpts.items) {\n\t\t\t\titems = itemOpts.items[index];\n\t\t\t} else {\n\t\t\t\titems = jqEl;\n\t\t\t\tif(itemOpts.delegate) {\n\t\t\t\t\titems = items.find(itemOpts.delegate);\n\t\t\t\t}\n\t\t\t\titems = items.eq( index );\n\t\t\t}\n\t\t\tmfp._openClick({mfpEl:items}, jqEl, itemOpts);\n\t\t} else {\n\t\t\tif(mfp.isOpen)\n\t\t\t\tmfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\n\t} else {\n\t\t// clone options obj\n\t\toptions = $.extend(true, {}, options);\n\n\t\t/*\n\t\t * As Zepto doesn't support .data() method for objects\n\t\t * and it works only in normal browsers\n\t\t * we assign \"options\" object directly to the DOM element. FTW!\n\t\t */\n\t\tif(_isJQ) {\n\t\t\tjqEl.data('magnificPopup', options);\n\t\t} else {\n\t\t\tjqEl[0].magnificPopup = options;\n\t\t}\n\n\t\tmfp.addGroup(jqEl, options);\n\n\t}\n\treturn jqEl;\n};\n\n/*>>core*/\n\n/*>>inline*/\n\nvar INLINE_NS = 'inline',\n\t_hiddenClass,\n\t_inlinePlaceholder,\n\t_lastInlineElement,\n\t_putInlineElementsBack = function() {\n\t\tif(_lastInlineElement) {\n\t\t\t_inlinePlaceholder.after( _lastInlineElement.addClass(_hiddenClass) ).detach();\n\t\t\t_lastInlineElement = null;\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(INLINE_NS, {\n\toptions: {\n\t\thiddenClass: 'hide', // will be appended with `mfp-` prefix\n\t\tmarkup: '',\n\t\ttNotFound: 'Content not found'\n\t},\n\tproto: {\n\n\t\tinitInline: function() {\n\t\t\tmfp.types.push(INLINE_NS);\n\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function() {\n\t\t\t\t_putInlineElementsBack();\n\t\t\t});\n\t\t},\n\n\t\tgetInline: function(item, template) {\n\n\t\t\t_putInlineElementsBack();\n\n\t\t\tif(item.src) {\n\t\t\t\tvar inlineSt = mfp.st.inline,\n\t\t\t\t\tel = $(item.src);\n\n\t\t\t\tif(el.length) {\n\n\t\t\t\t\t// If target element has parent - we replace it with placeholder and put it back after popup is closed\n\t\t\t\t\tvar parent = el[0].parentNode;\n\t\t\t\t\tif(parent && parent.tagName) {\n\t\t\t\t\t\tif(!_inlinePlaceholder) {\n\t\t\t\t\t\t\t_hiddenClass = inlineSt.hiddenClass;\n\t\t\t\t\t\t\t_inlinePlaceholder = _getEl(_hiddenClass);\n\t\t\t\t\t\t\t_hiddenClass = 'mfp-'+_hiddenClass;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// replace target inline element with placeholder\n\t\t\t\t\t\t_lastInlineElement = el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass);\n\t\t\t\t\t}\n\n\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t} else {\n\t\t\t\t\tmfp.updateStatus('error', inlineSt.tNotFound);\n\t\t\t\t\tel = $('
');\n\t\t\t\t}\n\n\t\t\t\titem.inlineElement = el;\n\t\t\t\treturn el;\n\t\t\t}\n\n\t\t\tmfp.updateStatus('ready');\n\t\t\tmfp._parseMarkup(template, {}, item);\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n/*>>inline*/\n\n/*>>ajax*/\nvar AJAX_NS = 'ajax',\n\t_ajaxCur,\n\t_removeAjaxCursor = function() {\n\t\tif(_ajaxCur) {\n\t\t\t$(document.body).removeClass(_ajaxCur);\n\t\t}\n\t},\n\t_destroyAjaxRequest = function() {\n\t\t_removeAjaxCursor();\n\t\tif(mfp.req) {\n\t\t\tmfp.req.abort();\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(AJAX_NS, {\n\n\toptions: {\n\t\tsettings: null,\n\t\tcursor: 'mfp-ajax-cur',\n\t\ttError: 'The content could not be loaded.'\n\t},\n\n\tproto: {\n\t\tinitAjax: function() {\n\t\t\tmfp.types.push(AJAX_NS);\n\t\t\t_ajaxCur = mfp.st.ajax.cursor;\n\n\t\t\t_mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest);\n\t\t\t_mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest);\n\t\t},\n\t\tgetAjax: function(item) {\n\n\t\t\tif(_ajaxCur) {\n\t\t\t\t$(document.body).addClass(_ajaxCur);\n\t\t\t}\n\n\t\t\tmfp.updateStatus('loading');\n\n\t\t\tvar opts = $.extend({\n\t\t\t\turl: item.src,\n\t\t\t\tsuccess: function(data, textStatus, jqXHR) {\n\t\t\t\t\tvar temp = {\n\t\t\t\t\t\tdata:data,\n\t\t\t\t\t\txhr:jqXHR\n\t\t\t\t\t};\n\n\t\t\t\t\t_mfpTrigger('ParseAjax', temp);\n\n\t\t\t\t\tmfp.appendContent( $(temp.data), AJAX_NS );\n\n\t\t\t\t\titem.finished = true;\n\n\t\t\t\t\t_removeAjaxCursor();\n\n\t\t\t\t\tmfp._setFocus();\n\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tmfp.wrap.addClass(READY_CLASS);\n\t\t\t\t\t}, 16);\n\n\t\t\t\t\tmfp.updateStatus('ready');\n\n\t\t\t\t\t_mfpTrigger('AjaxContentAdded');\n\t\t\t\t},\n\t\t\t\terror: function() {\n\t\t\t\t\t_removeAjaxCursor();\n\t\t\t\t\titem.finished = item.loadError = true;\n\t\t\t\t\tmfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src));\n\t\t\t\t}\n\t\t\t}, mfp.st.ajax.settings);\n\n\t\t\tmfp.req = $.ajax(opts);\n\n\t\t\treturn '';\n\t\t}\n\t}\n});\n\n/*>>ajax*/\n\n/*>>image*/\nvar _imgInterval,\n\t_getTitle = function(item) {\n\t\tif(item.data && item.data.title !== undefined)\n\t\t\treturn item.data.title;\n\n\t\tvar src = mfp.st.image.titleSrc;\n\n\t\tif(src) {\n\t\t\tif($.isFunction(src)) {\n\t\t\t\treturn src.call(mfp, item);\n\t\t\t} else if(item.el) {\n\t\t\t\treturn item.el.attr(src) || '';\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t};\n\n$.magnificPopup.registerModule('image', {\n\n\toptions: {\n\t\tmarkup: '
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t\t'
'+\n\t\t\t\t\t\t'
'+\n\t\t\t\t\t'
'+\n\t\t\t\t'
',\n\t\tcursor: 'mfp-zoom-out-cur',\n\t\ttitleSrc: 'title',\n\t\tverticalFit: true,\n\t\ttError: 'The image could not be loaded.'\n\t},\n\n\tproto: {\n\t\tinitImage: function() {\n\t\t\tvar imgSt = mfp.st.image,\n\t\t\t\tns = '.image';\n\n\t\t\tmfp.types.push('image');\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\t\t\t\tif(mfp.currItem.type === 'image' && imgSt.cursor) {\n\t\t\t\t\t$(document.body).addClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\tif(imgSt.cursor) {\n\t\t\t\t\t$(document.body).removeClass(imgSt.cursor);\n\t\t\t\t}\n\t\t\t\t_window.off('resize' + EVENT_NS);\n\t\t\t});\n\n\t\t\t_mfpOn('Resize'+ns, mfp.resizeImage);\n\t\t\tif(mfp.isLowIE) {\n\t\t\t\t_mfpOn('AfterChange', mfp.resizeImage);\n\t\t\t}\n\t\t},\n\t\tresizeImage: function() {\n\t\t\tvar item = mfp.currItem;\n\t\t\tif(!item || !item.img) return;\n\n\t\t\tif(mfp.st.image.verticalFit) {\n\t\t\t\tvar decr = 0;\n\t\t\t\t// fix box-sizing in ie7/8\n\t\t\t\tif(mfp.isLowIE) {\n\t\t\t\t\tdecr = parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10);\n\t\t\t\t}\n\t\t\t\titem.img.css('max-height', mfp.wH-decr);\n\t\t\t}\n\t\t},\n\t\t_onImageHasSize: function(item) {\n\t\t\tif(item.img) {\n\n\t\t\t\titem.hasSize = true;\n\n\t\t\t\tif(_imgInterval) {\n\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t}\n\n\t\t\t\titem.isCheckingImgSize = false;\n\n\t\t\t\t_mfpTrigger('ImageHasSize', item);\n\n\t\t\t\tif(item.imgHidden) {\n\t\t\t\t\tif(mfp.content)\n\t\t\t\t\t\tmfp.content.removeClass('mfp-loading');\n\n\t\t\t\t\titem.imgHidden = false;\n\t\t\t\t}\n\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Function that loops until the image has size to display elements that rely on it asap\n\t\t */\n\t\tfindImageSize: function(item) {\n\n\t\t\tvar counter = 0,\n\t\t\t\timg = item.img[0],\n\t\t\t\tmfpSetInterval = function(delay) {\n\n\t\t\t\t\tif(_imgInterval) {\n\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t}\n\t\t\t\t\t// decelerating interval that checks for size of an image\n\t\t\t\t\t_imgInterval = setInterval(function() {\n\t\t\t\t\t\tif(img.naturalWidth > 0) {\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(counter > 200) {\n\t\t\t\t\t\t\tclearInterval(_imgInterval);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcounter++;\n\t\t\t\t\t\tif(counter === 3) {\n\t\t\t\t\t\t\tmfpSetInterval(10);\n\t\t\t\t\t\t} else if(counter === 40) {\n\t\t\t\t\t\t\tmfpSetInterval(50);\n\t\t\t\t\t\t} else if(counter === 100) {\n\t\t\t\t\t\t\tmfpSetInterval(500);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, delay);\n\t\t\t\t};\n\n\t\t\tmfpSetInterval(1);\n\t\t},\n\n\t\tgetImage: function(item, template) {\n\n\t\t\tvar guard = 0,\n\n\t\t\t\t// image load complete handler\n\t\t\t\tonLoadComplete = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\tif (item.img[0].complete) {\n\t\t\t\t\t\t\titem.img.off('.mfploader');\n\n\t\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\n\t\t\t\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\t\titem.loaded = true;\n\n\t\t\t\t\t\t\t_mfpTrigger('ImageLoadComplete');\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t// if image complete check fails 200 times (20 sec), we assume that there was an error.\n\t\t\t\t\t\t\tguard++;\n\t\t\t\t\t\t\tif(guard < 200) {\n\t\t\t\t\t\t\t\tsetTimeout(onLoadComplete,100);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tonLoadError();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t// image error handler\n\t\t\t\tonLoadError = function() {\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\titem.img.off('.mfploader');\n\t\t\t\t\t\tif(item === mfp.currItem){\n\t\t\t\t\t\t\tmfp._onImageHasSize(item);\n\t\t\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\t\titem.loaded = true;\n\t\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\timgSt = mfp.st.image;\n\n\n\t\t\tvar el = template.find('.mfp-img');\n\t\t\tif(el.length) {\n\t\t\t\tvar img = document.createElement('img');\n\t\t\t\timg.className = 'mfp-img';\n\t\t\t\tif(item.el && item.el.find('img').length) {\n\t\t\t\t\timg.alt = item.el.find('img').attr('alt');\n\t\t\t\t}\n\t\t\t\titem.img = $(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError);\n\t\t\t\timg.src = item.src;\n\n\t\t\t\t// without clone() \"error\" event is not firing when IMG is replaced by new IMG\n\t\t\t\t// TODO: find a way to avoid such cloning\n\t\t\t\tif(el.is('img')) {\n\t\t\t\t\titem.img = item.img.clone();\n\t\t\t\t}\n\n\t\t\t\timg = item.img[0];\n\t\t\t\tif(img.naturalWidth > 0) {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t} else if(!img.width) {\n\t\t\t\t\titem.hasSize = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmfp._parseMarkup(template, {\n\t\t\t\ttitle: _getTitle(item),\n\t\t\t\timg_replaceWith: item.img\n\t\t\t}, item);\n\n\t\t\tmfp.resizeImage();\n\n\t\t\tif(item.hasSize) {\n\t\t\t\tif(_imgInterval) clearInterval(_imgInterval);\n\n\t\t\t\tif(item.loadError) {\n\t\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('error', imgSt.tError.replace('%url%', item.src) );\n\t\t\t\t} else {\n\t\t\t\t\ttemplate.removeClass('mfp-loading');\n\t\t\t\t\tmfp.updateStatus('ready');\n\t\t\t\t}\n\t\t\t\treturn template;\n\t\t\t}\n\n\t\t\tmfp.updateStatus('loading');\n\t\t\titem.loading = true;\n\n\t\t\tif(!item.hasSize) {\n\t\t\t\titem.imgHidden = true;\n\t\t\t\ttemplate.addClass('mfp-loading');\n\t\t\t\tmfp.findImageSize(item);\n\t\t\t}\n\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n/*>>image*/\n\n/*>>zoom*/\nvar hasMozTransform,\n\tgetHasMozTransform = function() {\n\t\tif(hasMozTransform === undefined) {\n\t\t\thasMozTransform = document.createElement('p').style.MozTransform !== undefined;\n\t\t}\n\t\treturn hasMozTransform;\n\t};\n\n$.magnificPopup.registerModule('zoom', {\n\n\toptions: {\n\t\tenabled: false,\n\t\teasing: 'ease-in-out',\n\t\tduration: 300,\n\t\topener: function(element) {\n\t\t\treturn element.is('img') ? element : element.find('img');\n\t\t}\n\t},\n\n\tproto: {\n\n\t\tinitZoom: function() {\n\t\t\tvar zoomSt = mfp.st.zoom,\n\t\t\t\tns = '.zoom',\n\t\t\t\timage;\n\n\t\t\tif(!zoomSt.enabled || !mfp.supportsTransition) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar duration = zoomSt.duration,\n\t\t\t\tgetElToAnimate = function(image) {\n\t\t\t\t\tvar newImg = image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'),\n\t\t\t\t\t\ttransition = 'all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing,\n\t\t\t\t\t\tcssObj = {\n\t\t\t\t\t\t\tposition: 'fixed',\n\t\t\t\t\t\t\tzIndex: 9999,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\t'-webkit-backface-visibility': 'hidden'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tt = 'transition';\n\n\t\t\t\t\tcssObj['-webkit-'+t] = cssObj['-moz-'+t] = cssObj['-o-'+t] = cssObj[t] = transition;\n\n\t\t\t\t\tnewImg.css(cssObj);\n\t\t\t\t\treturn newImg;\n\t\t\t\t},\n\t\t\t\tshowMainContent = function() {\n\t\t\t\t\tmfp.content.css('visibility', 'visible');\n\t\t\t\t},\n\t\t\t\topenTimeout,\n\t\t\t\tanimatedImg;\n\n\t\t\t_mfpOn('BuildControls'+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\n\t\t\t\t\tclearTimeout(openTimeout);\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\n\n\t\t\t\t\t// Basically, all code below does is clones existing image, puts in on top of the current one and animated it\n\n\t\t\t\t\timage = mfp._getItemToZoom();\n\n\t\t\t\t\tif(!image) {\n\t\t\t\t\t\tshowMainContent();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tanimatedImg = getElToAnimate(image);\n\n\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\n\n\t\t\t\t\tmfp.wrap.append(animatedImg);\n\n\t\t\t\t\topenTimeout = setTimeout(function() {\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset( true ) );\n\t\t\t\t\t\topenTimeout = setTimeout(function() {\n\n\t\t\t\t\t\t\tshowMainContent();\n\n\t\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\t\tanimatedImg.remove();\n\t\t\t\t\t\t\t\timage = animatedImg = null;\n\t\t\t\t\t\t\t\t_mfpTrigger('ZoomAnimationEnded');\n\t\t\t\t\t\t\t}, 16); // avoid blink when switching images\n\n\t\t\t\t\t\t}, duration); // this timeout equals animation duration\n\n\t\t\t\t\t}, 16); // by adding this timeout we avoid short glitch at the beginning of animation\n\n\n\t\t\t\t\t// Lots of timeouts...\n\t\t\t\t}\n\t\t\t});\n\t\t\t_mfpOn(BEFORE_CLOSE_EVENT+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\n\t\t\t\t\tclearTimeout(openTimeout);\n\n\t\t\t\t\tmfp.st.removalDelay = duration;\n\n\t\t\t\t\tif(!image) {\n\t\t\t\t\t\timage = mfp._getItemToZoom();\n\t\t\t\t\t\tif(!image) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimatedImg = getElToAnimate(image);\n\t\t\t\t\t}\n\n\t\t\t\t\tanimatedImg.css( mfp._getOffset(true) );\n\t\t\t\t\tmfp.wrap.append(animatedImg);\n\t\t\t\t\tmfp.content.css('visibility', 'hidden');\n\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tanimatedImg.css( mfp._getOffset() );\n\t\t\t\t\t}, 16);\n\t\t\t\t}\n\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\tif(mfp._allowZoom()) {\n\t\t\t\t\tshowMainContent();\n\t\t\t\t\tif(animatedImg) {\n\t\t\t\t\t\tanimatedImg.remove();\n\t\t\t\t\t}\n\t\t\t\t\timage = null;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\t_allowZoom: function() {\n\t\t\treturn mfp.currItem.type === 'image';\n\t\t},\n\n\t\t_getItemToZoom: function() {\n\t\t\tif(mfp.currItem.hasSize) {\n\t\t\t\treturn mfp.currItem.img;\n\t\t\t} else {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t// Get element postion relative to viewport\n\t\t_getOffset: function(isLarge) {\n\t\t\tvar el;\n\t\t\tif(isLarge) {\n\t\t\t\tel = mfp.currItem.img;\n\t\t\t} else {\n\t\t\t\tel = mfp.st.zoom.opener(mfp.currItem.el || mfp.currItem);\n\t\t\t}\n\n\t\t\tvar offset = el.offset();\n\t\t\tvar paddingTop = parseInt(el.css('padding-top'),10);\n\t\t\tvar paddingBottom = parseInt(el.css('padding-bottom'),10);\n\t\t\toffset.top -= ( $(window).scrollTop() - paddingTop );\n\n\n\t\t\t/*\n\n\t\t\tAnimating left + top + width/height looks glitchy in Firefox, but perfect in Chrome. And vice-versa.\n\n\t\t\t */\n\t\t\tvar obj = {\n\t\t\t\twidth: el.width(),\n\t\t\t\t// fix Zepto height+padding issue\n\t\t\t\theight: (_isJQ ? el.innerHeight() : el[0].offsetHeight) - paddingBottom - paddingTop\n\t\t\t};\n\n\t\t\t// I hate to do this, but there is no another option\n\t\t\tif( getHasMozTransform() ) {\n\t\t\t\tobj['-moz-transform'] = obj['transform'] = 'translate(' + offset.left + 'px,' + offset.top + 'px)';\n\t\t\t} else {\n\t\t\t\tobj.left = offset.left;\n\t\t\t\tobj.top = offset.top;\n\t\t\t}\n\t\t\treturn obj;\n\t\t}\n\n\t}\n});\n\n\n\n/*>>zoom*/\n\n/*>>iframe*/\n\nvar IFRAME_NS = 'iframe',\n\t_emptyPage = '//about:blank',\n\n\t_fixIframeBugs = function(isShowing) {\n\t\tif(mfp.currTemplate[IFRAME_NS]) {\n\t\t\tvar el = mfp.currTemplate[IFRAME_NS].find('iframe');\n\t\t\tif(el.length) {\n\t\t\t\t// reset src after the popup is closed to avoid \"video keeps playing after popup is closed\" bug\n\t\t\t\tif(!isShowing) {\n\t\t\t\t\tel[0].src = _emptyPage;\n\t\t\t\t}\n\n\t\t\t\t// IE8 black screen bug fix\n\t\t\t\tif(mfp.isIE8) {\n\t\t\t\t\tel.css('display', isShowing ? 'block' : 'none');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n$.magnificPopup.registerModule(IFRAME_NS, {\n\n\toptions: {\n\t\tmarkup: '
'+\n\t\t\t\t\t'
'+\n\t\t\t\t\t''+\n\t\t\t\t'
',\n\n\t\tsrcAction: 'iframe_src',\n\n\t\t// we don't care and support only one default type of URL by default\n\t\tpatterns: {\n\t\t\tyoutube: {\n\t\t\t\tindex: 'youtube.com',\n\t\t\t\tid: 'v=',\n\t\t\t\tsrc: '//www.youtube.com/embed/%id%?autoplay=1'\n\t\t\t},\n\t\t\tvimeo: {\n\t\t\t\tindex: 'vimeo.com/',\n\t\t\t\tid: '/',\n\t\t\t\tsrc: '//player.vimeo.com/video/%id%?autoplay=1'\n\t\t\t},\n\t\t\tgmaps: {\n\t\t\t\tindex: '//maps.google.',\n\t\t\t\tsrc: '%id%&output=embed'\n\t\t\t}\n\t\t}\n\t},\n\n\tproto: {\n\t\tinitIframe: function() {\n\t\t\tmfp.types.push(IFRAME_NS);\n\n\t\t\t_mfpOn('BeforeChange', function(e, prevType, newType) {\n\t\t\t\tif(prevType !== newType) {\n\t\t\t\t\tif(prevType === IFRAME_NS) {\n\t\t\t\t\t\t_fixIframeBugs(); // iframe if removed\n\t\t\t\t\t} else if(newType === IFRAME_NS) {\n\t\t\t\t\t\t_fixIframeBugs(true); // iframe is showing\n\t\t\t\t\t}\n\t\t\t\t}// else {\n\t\t\t\t\t// iframe source is switched, don't do anything\n\t\t\t\t//}\n\t\t\t});\n\n\t\t\t_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {\n\t\t\t\t_fixIframeBugs();\n\t\t\t});\n\t\t},\n\n\t\tgetIframe: function(item, template) {\n\t\t\tvar embedSrc = item.src;\n\t\t\tvar iframeSt = mfp.st.iframe;\n\n\t\t\t$.each(iframeSt.patterns, function() {\n\t\t\t\tif(embedSrc.indexOf( this.index ) > -1) {\n\t\t\t\t\tif(this.id) {\n\t\t\t\t\t\tif(typeof this.id === 'string') {\n\t\t\t\t\t\t\tembedSrc = embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tembedSrc = this.id.call( this, embedSrc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tembedSrc = this.src.replace('%id%', embedSrc );\n\t\t\t\t\treturn false; // break;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar dataObj = {};\n\t\t\tif(iframeSt.srcAction) {\n\t\t\t\tdataObj[iframeSt.srcAction] = embedSrc;\n\t\t\t}\n\t\t\tmfp._parseMarkup(template, dataObj, item);\n\n\t\t\tmfp.updateStatus('ready');\n\n\t\t\treturn template;\n\t\t}\n\t}\n});\n\n\n\n/*>>iframe*/\n\n/*>>gallery*/\n/**\n * Get looped index depending on number of slides\n */\nvar _getLoopedId = function(index) {\n\t\tvar numSlides = mfp.items.length;\n\t\tif(index > numSlides - 1) {\n\t\t\treturn index - numSlides;\n\t\t} else if(index < 0) {\n\t\t\treturn numSlides + index;\n\t\t}\n\t\treturn index;\n\t},\n\t_replaceCurrTotal = function(text, curr, total) {\n\t\treturn text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total);\n\t};\n\n$.magnificPopup.registerModule('gallery', {\n\n\toptions: {\n\t\tenabled: false,\n\t\tarrowMarkup: '',\n\t\tpreload: [0,2],\n\t\tnavigateByImgClick: true,\n\t\tarrows: true,\n\n\t\ttPrev: 'Previous (Left arrow key)',\n\t\ttNext: 'Next (Right arrow key)',\n\t\ttCounter: '%curr% of %total%'\n\t},\n\n\tproto: {\n\t\tinitGallery: function() {\n\n\t\t\tvar gSt = mfp.st.gallery,\n\t\t\t\tns = '.mfp-gallery';\n\n\t\t\tmfp.direction = true; // true - next, false - prev\n\n\t\t\tif(!gSt || !gSt.enabled ) return false;\n\n\t\t\t_wrapClasses += ' mfp-gallery';\n\n\t\t\t_mfpOn(OPEN_EVENT+ns, function() {\n\n\t\t\t\tif(gSt.navigateByImgClick) {\n\t\t\t\t\tmfp.wrap.on('click'+ns, '.mfp-img', function() {\n\t\t\t\t\t\tif(mfp.items.length > 1) {\n\t\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t_document.on('keydown'+ns, function(e) {\n\t\t\t\t\tif (e.keyCode === 37) {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t} else if (e.keyCode === 39) {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t_mfpOn('UpdateStatus'+ns, function(e, data) {\n\t\t\t\tif(data.text) {\n\t\t\t\t\tdata.text = _replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {\n\t\t\t\tvar l = mfp.items.length;\n\t\t\t\tvalues.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';\n\t\t\t});\n\n\t\t\t_mfpOn('BuildControls' + ns, function() {\n\t\t\t\tif(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {\n\t\t\t\t\tvar markup = gSt.arrowMarkup,\n\t\t\t\t\t\tarrowLeft = mfp.arrowLeft = $( markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left') ).addClass(PREVENT_CLOSE_CLASS),\n\t\t\t\t\t\tarrowRight = mfp.arrowRight = $( markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right') ).addClass(PREVENT_CLOSE_CLASS);\n\n\t\t\t\t\tarrowLeft.click(function() {\n\t\t\t\t\t\tmfp.prev();\n\t\t\t\t\t});\n\t\t\t\t\tarrowRight.click(function() {\n\t\t\t\t\t\tmfp.next();\n\t\t\t\t\t});\n\n\t\t\t\t\tmfp.container.append(arrowLeft.add(arrowRight));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t_mfpOn(CHANGE_EVENT+ns, function() {\n\t\t\t\tif(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout);\n\n\t\t\t\tmfp._preloadTimeout = setTimeout(function() {\n\t\t\t\t\tmfp.preloadNearbyImages();\n\t\t\t\t\tmfp._preloadTimeout = null;\n\t\t\t\t}, 16);\n\t\t\t});\n\n\n\t\t\t_mfpOn(CLOSE_EVENT+ns, function() {\n\t\t\t\t_document.off(ns);\n\t\t\t\tmfp.wrap.off('click'+ns);\n\t\t\t\tmfp.arrowRight = mfp.arrowLeft = null;\n\t\t\t});\n\n\t\t},\n\t\tnext: function() {\n\t\t\tmfp.direction = true;\n\t\t\tmfp.index = _getLoopedId(mfp.index + 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tprev: function() {\n\t\t\tmfp.direction = false;\n\t\t\tmfp.index = _getLoopedId(mfp.index - 1);\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tgoTo: function(newIndex) {\n\t\t\tmfp.direction = (newIndex >= mfp.index);\n\t\t\tmfp.index = newIndex;\n\t\t\tmfp.updateItemHTML();\n\t\t},\n\t\tpreloadNearbyImages: function() {\n\t\t\tvar p = mfp.st.gallery.preload,\n\t\t\t\tpreloadBefore = Math.min(p[0], mfp.items.length),\n\t\t\t\tpreloadAfter = Math.min(p[1], mfp.items.length),\n\t\t\t\ti;\n\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadAfter : preloadBefore); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index+i);\n\t\t\t}\n\t\t\tfor(i = 1; i <= (mfp.direction ? preloadBefore : preloadAfter); i++) {\n\t\t\t\tmfp._preloadItem(mfp.index-i);\n\t\t\t}\n\t\t},\n\t\t_preloadItem: function(index) {\n\t\t\tindex = _getLoopedId(index);\n\n\t\t\tif(mfp.items[index].preloaded) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar item = mfp.items[index];\n\t\t\tif(!item.parsed) {\n\t\t\t\titem = mfp.parseEl( index );\n\t\t\t}\n\n\t\t\t_mfpTrigger('LazyLoad', item);\n\n\t\t\tif(item.type === 'image') {\n\t\t\t\titem.img = $('').on('load.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t}).on('error.mfploader', function() {\n\t\t\t\t\titem.hasSize = true;\n\t\t\t\t\titem.loadError = true;\n\t\t\t\t\t_mfpTrigger('LazyLoadError', item);\n\t\t\t\t}).attr('src', item.src);\n\t\t\t}\n\n\n\t\t\titem.preloaded = true;\n\t\t}\n\t}\n});\n\n/*>>gallery*/\n\n/*>>retina*/\n\nvar RETINA_NS = 'retina';\n\n$.magnificPopup.registerModule(RETINA_NS, {\n\toptions: {\n\t\treplaceSrc: function(item) {\n\t\t\treturn item.src.replace(/\\.\\w+$/, function(m) { return '@2x' + m; });\n\t\t},\n\t\tratio: 1 // Function or number. Set to 1 to disable.\n\t},\n\tproto: {\n\t\tinitRetina: function() {\n\t\t\tif(window.devicePixelRatio > 1) {\n\n\t\t\t\tvar st = mfp.st.retina,\n\t\t\t\t\tratio = st.ratio;\n\n\t\t\t\tratio = !isNaN(ratio) ? ratio : ratio();\n\n\t\t\t\tif(ratio > 1) {\n\t\t\t\t\t_mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item) {\n\t\t\t\t\t\titem.img.css({\n\t\t\t\t\t\t\t'max-width': item.img[0].naturalWidth / ratio,\n\t\t\t\t\t\t\t'width': '100%'\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\t_mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item) {\n\t\t\t\t\t\titem.src = st.replaceSrc(item, ratio);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t}\n});\n\n/*>>retina*/\n _checkInstance(); }));","/*! Magnific Popup - v1.1.0 - 2016-02-20\n* http://dimsemenov.com/plugins/magnific-popup/\n* Copyright (c) 2016 Dmitry Semenov; */\n!function(a){\"function\"==typeof define&&define.amd?define([\"jquery\"],a):a(\"object\"==typeof exports?require(\"jquery\"):window.jQuery||window.Zepto)}(function(a){var b,c,d,e,f,g,h=\"Close\",i=\"BeforeClose\",j=\"AfterClose\",k=\"BeforeAppend\",l=\"MarkupParse\",m=\"Open\",n=\"Change\",o=\"mfp\",p=\".\"+o,q=\"mfp-ready\",r=\"mfp-removing\",s=\"mfp-prevent-close\",t=function(){},u=!!window.jQuery,v=a(window),w=function(a,c){b.ev.on(o+a+p,c)},x=function(b,c,d,e){var f=document.createElement(\"div\");return f.className=\"mfp-\"+b,d&&(f.innerHTML=d),e?c&&c.appendChild(f):(f=a(f),c&&f.appendTo(c)),f},y=function(c,d){b.ev.triggerHandler(o+c,d),b.st.callbacks&&(c=c.charAt(0).toLowerCase()+c.slice(1),b.st.callbacks[c]&&b.st.callbacks[c].apply(b,a.isArray(d)?d:[d]))},z=function(c){return c===g&&b.currTemplate.closeBtn||(b.currTemplate.closeBtn=a(b.st.closeMarkup.replace(\"%title%\",b.st.tClose)),g=c),b.currTemplate.closeBtn},A=function(){a.magnificPopup.instance||(b=new t,b.init(),a.magnificPopup.instance=b)},B=function(){var a=document.createElement(\"p\").style,b=[\"ms\",\"O\",\"Moz\",\"Webkit\"];if(void 0!==a.transition)return!0;for(;b.length;)if(b.pop()+\"Transition\"in a)return!0;return!1};t.prototype={constructor:t,init:function(){var c=navigator.appVersion;b.isLowIE=b.isIE8=document.all&&!document.addEventListener,b.isAndroid=/android/gi.test(c),b.isIOS=/iphone|ipad|ipod/gi.test(c),b.supportsTransition=B(),b.probablyMobile=b.isAndroid||b.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),d=a(document),b.popupsCache={}},open:function(c){var e;if(c.isObj===!1){b.items=c.items.toArray(),b.index=0;var g,h=c.items;for(e=0;e(a||v.height())},_setFocus:function(){(b.st.focus?b.content.find(b.st.focus).eq(0):b.wrap).focus()},_onFocusIn:function(c){return c.target===b.wrap[0]||a.contains(b.wrap[0],c.target)?void 0:(b._setFocus(),!1)},_parseMarkup:function(b,c,d){var e;d.data&&(c=a.extend(d.data,c)),y(l,[b,c,d]),a.each(c,function(c,d){if(void 0===d||d===!1)return!0;if(e=c.split(\"_\"),e.length>1){var f=b.find(p+\"-\"+e[0]);if(f.length>0){var g=e[1];\"replaceWith\"===g?f[0]!==d[0]&&f.replaceWith(d):\"img\"===g?f.is(\"img\")?f.attr(\"src\",d):f.replaceWith(a(\"\").attr(\"src\",d).attr(\"class\",f.attr(\"class\"))):f.attr(e[1],d)}}else b.find(p+\"-\"+c).html(d)})},_getScrollbarSize:function(){if(void 0===b.scrollbarSize){var a=document.createElement(\"div\");a.style.cssText=\"width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;\",document.body.appendChild(a),b.scrollbarSize=a.offsetWidth-a.clientWidth,document.body.removeChild(a)}return b.scrollbarSize}},a.magnificPopup={instance:null,proto:t.prototype,modules:[],open:function(b,c){return A(),b=b?a.extend(!0,{},b):{},b.isObj=!0,b.index=c||0,this.instance.open(b)},close:function(){return a.magnificPopup.instance&&a.magnificPopup.instance.close()},registerModule:function(b,c){c.options&&(a.magnificPopup.defaults[b]=c.options),a.extend(this.proto,c.proto),this.modules.push(b)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:\"\",preloader:!0,focus:\"\",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:\"auto\",fixedBgPos:\"auto\",overflowY:\"auto\",closeMarkup:'',tClose:\"Close (Esc)\",tLoading:\"Loading...\",autoFocusLast:!0}},a.fn.magnificPopup=function(c){A();var d=a(this);if(\"string\"==typeof c)if(\"open\"===c){var e,f=u?d.data(\"magnificPopup\"):d[0].magnificPopup,g=parseInt(arguments[1],10)||0;f.items?e=f.items[g]:(e=d,f.delegate&&(e=e.find(f.delegate)),e=e.eq(g)),b._openClick({mfpEl:e},d,f)}else b.isOpen&&b[c].apply(b,Array.prototype.slice.call(arguments,1));else c=a.extend(!0,{},c),u?d.data(\"magnificPopup\",c):d[0].magnificPopup=c,b.addGroup(d,c);return d};var C,D,E,F=\"inline\",G=function(){E&&(D.after(E.addClass(C)).detach(),E=null)};a.magnificPopup.registerModule(F,{options:{hiddenClass:\"hide\",markup:\"\",tNotFound:\"Content not found\"},proto:{initInline:function(){b.types.push(F),w(h+\".\"+F,function(){G()})},getInline:function(c,d){if(G(),c.src){var e=b.st.inline,f=a(c.src);if(f.length){var g=f[0].parentNode;g&&g.tagName&&(D||(C=e.hiddenClass,D=x(C),C=\"mfp-\"+C),E=f.after(D).detach().removeClass(C)),b.updateStatus(\"ready\")}else b.updateStatus(\"error\",e.tNotFound),f=a(\"
\");return c.inlineElement=f,f}return b.updateStatus(\"ready\"),b._parseMarkup(d,{},c),d}}});var H,I=\"ajax\",J=function(){H&&a(document.body).removeClass(H)},K=function(){J(),b.req&&b.req.abort()};a.magnificPopup.registerModule(I,{options:{settings:null,cursor:\"mfp-ajax-cur\",tError:'The content could not be loaded.'},proto:{initAjax:function(){b.types.push(I),H=b.st.ajax.cursor,w(h+\".\"+I,K),w(\"BeforeChange.\"+I,K)},getAjax:function(c){H&&a(document.body).addClass(H),b.updateStatus(\"loading\");var d=a.extend({url:c.src,success:function(d,e,f){var g={data:d,xhr:f};y(\"ParseAjax\",g),b.appendContent(a(g.data),I),c.finished=!0,J(),b._setFocus(),setTimeout(function(){b.wrap.addClass(q)},16),b.updateStatus(\"ready\"),y(\"AjaxContentAdded\")},error:function(){J(),c.finished=c.loadError=!0,b.updateStatus(\"error\",b.st.ajax.tError.replace(\"%url%\",c.src))}},b.st.ajax.settings);return b.req=a.ajax(d),\"\"}}});var L,M=function(c){if(c.data&&void 0!==c.data.title)return c.data.title;var d=b.st.image.titleSrc;if(d){if(a.isFunction(d))return d.call(b,c);if(c.el)return c.el.attr(d)||\"\"}return\"\"};a.magnificPopup.registerModule(\"image\",{options:{markup:'
',cursor:\"mfp-zoom-out-cur\",titleSrc:\"title\",verticalFit:!0,tError:'The image could not be loaded.'},proto:{initImage:function(){var c=b.st.image,d=\".image\";b.types.push(\"image\"),w(m+d,function(){\"image\"===b.currItem.type&&c.cursor&&a(document.body).addClass(c.cursor)}),w(h+d,function(){c.cursor&&a(document.body).removeClass(c.cursor),v.off(\"resize\"+p)}),w(\"Resize\"+d,b.resizeImage),b.isLowIE&&w(\"AfterChange\",b.resizeImage)},resizeImage:function(){var a=b.currItem;if(a&&a.img&&b.st.image.verticalFit){var c=0;b.isLowIE&&(c=parseInt(a.img.css(\"padding-top\"),10)+parseInt(a.img.css(\"padding-bottom\"),10)),a.img.css(\"max-height\",b.wH-c)}},_onImageHasSize:function(a){a.img&&(a.hasSize=!0,L&&clearInterval(L),a.isCheckingImgSize=!1,y(\"ImageHasSize\",a),a.imgHidden&&(b.content&&b.content.removeClass(\"mfp-loading\"),a.imgHidden=!1))},findImageSize:function(a){var c=0,d=a.img[0],e=function(f){L&&clearInterval(L),L=setInterval(function(){return d.naturalWidth>0?void b._onImageHasSize(a):(c>200&&clearInterval(L),c++,void(3===c?e(10):40===c?e(50):100===c&&e(500)))},f)};e(1)},getImage:function(c,d){var e=0,f=function(){c&&(c.img[0].complete?(c.img.off(\".mfploader\"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus(\"ready\")),c.hasSize=!0,c.loaded=!0,y(\"ImageLoadComplete\")):(e++,200>e?setTimeout(f,100):g()))},g=function(){c&&(c.img.off(\".mfploader\"),c===b.currItem&&(b._onImageHasSize(c),b.updateStatus(\"error\",h.tError.replace(\"%url%\",c.src))),c.hasSize=!0,c.loaded=!0,c.loadError=!0)},h=b.st.image,i=d.find(\".mfp-img\");if(i.length){var j=document.createElement(\"img\");j.className=\"mfp-img\",c.el&&c.el.find(\"img\").length&&(j.alt=c.el.find(\"img\").attr(\"alt\")),c.img=a(j).on(\"load.mfploader\",f).on(\"error.mfploader\",g),j.src=c.src,i.is(\"img\")&&(c.img=c.img.clone()),j=c.img[0],j.naturalWidth>0?c.hasSize=!0:j.width||(c.hasSize=!1)}return b._parseMarkup(d,{title:M(c),img_replaceWith:c.img},c),b.resizeImage(),c.hasSize?(L&&clearInterval(L),c.loadError?(d.addClass(\"mfp-loading\"),b.updateStatus(\"error\",h.tError.replace(\"%url%\",c.src))):(d.removeClass(\"mfp-loading\"),b.updateStatus(\"ready\")),d):(b.updateStatus(\"loading\"),c.loading=!0,c.hasSize||(c.imgHidden=!0,d.addClass(\"mfp-loading\"),b.findImageSize(c)),d)}}});var N,O=function(){return void 0===N&&(N=void 0!==document.createElement(\"p\").style.MozTransform),N};a.magnificPopup.registerModule(\"zoom\",{options:{enabled:!1,easing:\"ease-in-out\",duration:300,opener:function(a){return a.is(\"img\")?a:a.find(\"img\")}},proto:{initZoom:function(){var a,c=b.st.zoom,d=\".zoom\";if(c.enabled&&b.supportsTransition){var e,f,g=c.duration,j=function(a){var b=a.clone().removeAttr(\"style\").removeAttr(\"class\").addClass(\"mfp-animated-image\"),d=\"all \"+c.duration/1e3+\"s \"+c.easing,e={position:\"fixed\",zIndex:9999,left:0,top:0,\"-webkit-backface-visibility\":\"hidden\"},f=\"transition\";return e[\"-webkit-\"+f]=e[\"-moz-\"+f]=e[\"-o-\"+f]=e[f]=d,b.css(e),b},k=function(){b.content.css(\"visibility\",\"visible\")};w(\"BuildControls\"+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.content.css(\"visibility\",\"hidden\"),a=b._getItemToZoom(),!a)return void k();f=j(a),f.css(b._getOffset()),b.wrap.append(f),e=setTimeout(function(){f.css(b._getOffset(!0)),e=setTimeout(function(){k(),setTimeout(function(){f.remove(),a=f=null,y(\"ZoomAnimationEnded\")},16)},g)},16)}}),w(i+d,function(){if(b._allowZoom()){if(clearTimeout(e),b.st.removalDelay=g,!a){if(a=b._getItemToZoom(),!a)return;f=j(a)}f.css(b._getOffset(!0)),b.wrap.append(f),b.content.css(\"visibility\",\"hidden\"),setTimeout(function(){f.css(b._getOffset())},16)}}),w(h+d,function(){b._allowZoom()&&(k(),f&&f.remove(),a=null)})}},_allowZoom:function(){return\"image\"===b.currItem.type},_getItemToZoom:function(){return b.currItem.hasSize?b.currItem.img:!1},_getOffset:function(c){var d;d=c?b.currItem.img:b.st.zoom.opener(b.currItem.el||b.currItem);var e=d.offset(),f=parseInt(d.css(\"padding-top\"),10),g=parseInt(d.css(\"padding-bottom\"),10);e.top-=a(window).scrollTop()-f;var h={width:d.width(),height:(u?d.innerHeight():d[0].offsetHeight)-g-f};return O()?h[\"-moz-transform\"]=h.transform=\"translate(\"+e.left+\"px,\"+e.top+\"px)\":(h.left=e.left,h.top=e.top),h}}});var P=\"iframe\",Q=\"//about:blank\",R=function(a){if(b.currTemplate[P]){var c=b.currTemplate[P].find(\"iframe\");c.length&&(a||(c[0].src=Q),b.isIE8&&c.css(\"display\",a?\"block\":\"none\"))}};a.magnificPopup.registerModule(P,{options:{markup:'
',srcAction:\"iframe_src\",patterns:{youtube:{index:\"youtube.com\",id:\"v=\",src:\"//www.youtube.com/embed/%id%?autoplay=1\"},vimeo:{index:\"vimeo.com/\",id:\"/\",src:\"//player.vimeo.com/video/%id%?autoplay=1\"},gmaps:{index:\"//maps.google.\",src:\"%id%&output=embed\"}}},proto:{initIframe:function(){b.types.push(P),w(\"BeforeChange\",function(a,b,c){b!==c&&(b===P?R():c===P&&R(!0))}),w(h+\".\"+P,function(){R()})},getIframe:function(c,d){var e=c.src,f=b.st.iframe;a.each(f.patterns,function(){return e.indexOf(this.index)>-1?(this.id&&(e=\"string\"==typeof this.id?e.substr(e.lastIndexOf(this.id)+this.id.length,e.length):this.id.call(this,e)),e=this.src.replace(\"%id%\",e),!1):void 0});var g={};return f.srcAction&&(g[f.srcAction]=e),b._parseMarkup(d,g,c),b.updateStatus(\"ready\"),d}}});var S=function(a){var c=b.items.length;return a>c-1?a-c:0>a?c+a:a},T=function(a,b,c){return a.replace(/%curr%/gi,b+1).replace(/%total%/gi,c)};a.magnificPopup.registerModule(\"gallery\",{options:{enabled:!1,arrowMarkup:'',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:\"Previous (Left arrow key)\",tNext:\"Next (Right arrow key)\",tCounter:\"%curr% of %total%\"},proto:{initGallery:function(){var c=b.st.gallery,e=\".mfp-gallery\";return b.direction=!0,c&&c.enabled?(f+=\" mfp-gallery\",w(m+e,function(){c.navigateByImgClick&&b.wrap.on(\"click\"+e,\".mfp-img\",function(){return b.items.length>1?(b.next(),!1):void 0}),d.on(\"keydown\"+e,function(a){37===a.keyCode?b.prev():39===a.keyCode&&b.next()})}),w(\"UpdateStatus\"+e,function(a,c){c.text&&(c.text=T(c.text,b.currItem.index,b.items.length))}),w(l+e,function(a,d,e,f){var g=b.items.length;e.counter=g>1?T(c.tCounter,f.index,g):\"\"}),w(\"BuildControls\"+e,function(){if(b.items.length>1&&c.arrows&&!b.arrowLeft){var d=c.arrowMarkup,e=b.arrowLeft=a(d.replace(/%title%/gi,c.tPrev).replace(/%dir%/gi,\"left\")).addClass(s),f=b.arrowRight=a(d.replace(/%title%/gi,c.tNext).replace(/%dir%/gi,\"right\")).addClass(s);e.click(function(){b.prev()}),f.click(function(){b.next()}),b.container.append(e.add(f))}}),w(n+e,function(){b._preloadTimeout&&clearTimeout(b._preloadTimeout),b._preloadTimeout=setTimeout(function(){b.preloadNearbyImages(),b._preloadTimeout=null},16)}),void w(h+e,function(){d.off(e),b.wrap.off(\"click\"+e),b.arrowRight=b.arrowLeft=null})):!1},next:function(){b.direction=!0,b.index=S(b.index+1),b.updateItemHTML()},prev:function(){b.direction=!1,b.index=S(b.index-1),b.updateItemHTML()},goTo:function(a){b.direction=a>=b.index,b.index=a,b.updateItemHTML()},preloadNearbyImages:function(){var a,c=b.st.gallery.preload,d=Math.min(c[0],b.items.length),e=Math.min(c[1],b.items.length);for(a=1;a<=(b.direction?e:d);a++)b._preloadItem(b.index+a);for(a=1;a<=(b.direction?d:e);a++)b._preloadItem(b.index-a)},_preloadItem:function(c){if(c=S(c),!b.items[c].preloaded){var d=b.items[c];d.parsed||(d=b.parseEl(c)),y(\"LazyLoad\",d),\"image\"===d.type&&(d.img=a('').on(\"load.mfploader\",function(){d.hasSize=!0}).on(\"error.mfploader\",function(){d.hasSize=!0,d.loadError=!0,y(\"LazyLoadError\",d)}).attr(\"src\",d.src)),d.preloaded=!0}}}});var U=\"retina\";a.magnificPopup.registerModule(U,{options:{replaceSrc:function(a){return a.src.replace(/\\.\\w+$/,function(a){return\"@2x\"+a})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var a=b.st.retina,c=a.ratio;c=isNaN(c)?c():c,c>1&&(w(\"ImageHasSize.\"+U,function(a,b){b.img.css({\"max-width\":b.img[0].naturalWidth/c,width:\"100%\"})}),w(\"ElementParse.\"+U,function(b,d){d.src=a.replaceSrc(d,c)}))}}}}),A()});","/**\n * Owl Carousel v2.3.4\n * Copyright 2013-2018 David Deutsch\n * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE\n */\n/**\n * Owl carousel\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n * @todo Lazy Load Icon\n * @todo prevent animationend bubling\n * @todo itemsScaleUp\n * @todo Test Zepto\n * @todo stagePadding calculate wrong active classes\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates a carousel.\n\t * @class The Owl Carousel.\n\t * @public\n\t * @param {HTMLElement|jQuery} element - The element to create the carousel for.\n\t * @param {Object} [options] - The options\n\t */\n\tfunction Owl(element, options) {\n\n\t\t/**\n\t\t * Current settings for the carousel.\n\t\t * @public\n\t\t */\n\t\tthis.settings = null;\n\n\t\t/**\n\t\t * Current options set by the caller including defaults.\n\t\t * @public\n\t\t */\n\t\tthis.options = $.extend({}, Owl.Defaults, options);\n\n\t\t/**\n\t\t * Plugin element.\n\t\t * @public\n\t\t */\n\t\tthis.$element = $(element);\n\n\t\t/**\n\t\t * Proxied event handlers.\n\t\t * @protected\n\t\t */\n\t\tthis._handlers = {};\n\n\t\t/**\n\t\t * References to the running plugins of this carousel.\n\t\t * @protected\n\t\t */\n\t\tthis._plugins = {};\n\n\t\t/**\n\t\t * Currently suppressed events to prevent them from being retriggered.\n\t\t * @protected\n\t\t */\n\t\tthis._supress = {};\n\n\t\t/**\n\t\t * Absolute current position.\n\t\t * @protected\n\t\t */\n\t\tthis._current = null;\n\n\t\t/**\n\t\t * Animation speed in milliseconds.\n\t\t * @protected\n\t\t */\n\t\tthis._speed = null;\n\n\t\t/**\n\t\t * Coordinates of all items in pixel.\n\t\t * @todo The name of this member is missleading.\n\t\t * @protected\n\t\t */\n\t\tthis._coordinates = [];\n\n\t\t/**\n\t\t * Current breakpoint.\n\t\t * @todo Real media queries would be nice.\n\t\t * @protected\n\t\t */\n\t\tthis._breakpoint = null;\n\n\t\t/**\n\t\t * Current width of the plugin element.\n\t\t */\n\t\tthis._width = null;\n\n\t\t/**\n\t\t * All real items.\n\t\t * @protected\n\t\t */\n\t\tthis._items = [];\n\n\t\t/**\n\t\t * All cloned items.\n\t\t * @protected\n\t\t */\n\t\tthis._clones = [];\n\n\t\t/**\n\t\t * Merge values of all items.\n\t\t * @todo Maybe this could be part of a plugin.\n\t\t * @protected\n\t\t */\n\t\tthis._mergers = [];\n\n\t\t/**\n\t\t * Widths of all items.\n\t\t */\n\t\tthis._widths = [];\n\n\t\t/**\n\t\t * Invalidated parts within the update process.\n\t\t * @protected\n\t\t */\n\t\tthis._invalidated = {};\n\n\t\t/**\n\t\t * Ordered list of workers for the update process.\n\t\t * @protected\n\t\t */\n\t\tthis._pipe = [];\n\n\t\t/**\n\t\t * Current state information for the drag operation.\n\t\t * @todo #261\n\t\t * @protected\n\t\t */\n\t\tthis._drag = {\n\t\t\ttime: null,\n\t\t\ttarget: null,\n\t\t\tpointer: null,\n\t\t\tstage: {\n\t\t\t\tstart: null,\n\t\t\t\tcurrent: null\n\t\t\t},\n\t\t\tdirection: null\n\t\t};\n\n\t\t/**\n\t\t * Current state information and their tags.\n\t\t * @type {Object}\n\t\t * @protected\n\t\t */\n\t\tthis._states = {\n\t\t\tcurrent: {},\n\t\t\ttags: {\n\t\t\t\t'initializing': [ 'busy' ],\n\t\t\t\t'animating': [ 'busy' ],\n\t\t\t\t'dragging': [ 'interacting' ]\n\t\t\t}\n\t\t};\n\n\t\t$.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {\n\t\t\tthis._handlers[handler] = $.proxy(this[handler], this);\n\t\t}, this));\n\n\t\t$.each(Owl.Plugins, $.proxy(function(key, plugin) {\n\t\t\tthis._plugins[key.charAt(0).toLowerCase() + key.slice(1)]\n\t\t\t\t= new plugin(this);\n\t\t}, this));\n\n\t\t$.each(Owl.Workers, $.proxy(function(priority, worker) {\n\t\t\tthis._pipe.push({\n\t\t\t\t'filter': worker.filter,\n\t\t\t\t'run': $.proxy(worker.run, this)\n\t\t\t});\n\t\t}, this));\n\n\t\tthis.setup();\n\t\tthis.initialize();\n\t}\n\n\t/**\n\t * Default options for the carousel.\n\t * @public\n\t */\n\tOwl.Defaults = {\n\t\titems: 3,\n\t\tloop: false,\n\t\tcenter: false,\n\t\trewind: false,\n\t\tcheckVisibility: true,\n\n\t\tmouseDrag: true,\n\t\ttouchDrag: true,\n\t\tpullDrag: true,\n\t\tfreeDrag: false,\n\n\t\tmargin: 0,\n\t\tstagePadding: 0,\n\n\t\tmerge: false,\n\t\tmergeFit: true,\n\t\tautoWidth: false,\n\n\t\tstartPosition: 0,\n\t\trtl: false,\n\n\t\tsmartSpeed: 250,\n\t\tfluidSpeed: false,\n\t\tdragEndSpeed: false,\n\n\t\tresponsive: {},\n\t\tresponsiveRefreshRate: 200,\n\t\tresponsiveBaseElement: window,\n\n\t\tfallbackEasing: 'swing',\n\t\tslideTransition: '',\n\n\t\tinfo: false,\n\n\t\tnestedItemSelector: false,\n\t\titemElement: 'div',\n\t\tstageElement: 'div',\n\n\t\trefreshClass: 'owl-refresh',\n\t\tloadedClass: 'owl-loaded',\n\t\tloadingClass: 'owl-loading',\n\t\trtlClass: 'owl-rtl',\n\t\tresponsiveClass: 'owl-responsive',\n\t\tdragClass: 'owl-drag',\n\t\titemClass: 'owl-item',\n\t\tstageClass: 'owl-stage',\n\t\tstageOuterClass: 'owl-stage-outer',\n\t\tgrabClass: 'owl-grab'\n\t};\n\n\t/**\n\t * Enumeration for width.\n\t * @public\n\t * @readonly\n\t * @enum {String}\n\t */\n\tOwl.Width = {\n\t\tDefault: 'default',\n\t\tInner: 'inner',\n\t\tOuter: 'outer'\n\t};\n\n\t/**\n\t * Enumeration for types.\n\t * @public\n\t * @readonly\n\t * @enum {String}\n\t */\n\tOwl.Type = {\n\t\tEvent: 'event',\n\t\tState: 'state'\n\t};\n\n\t/**\n\t * Contains all registered plugins.\n\t * @public\n\t */\n\tOwl.Plugins = {};\n\n\t/**\n\t * List of workers involved in the update process.\n\t */\n\tOwl.Workers = [ {\n\t\tfilter: [ 'width', 'settings' ],\n\t\trun: function() {\n\t\t\tthis._width = this.$element.width();\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function(cache) {\n\t\t\tcache.current = this._items && this._items[this.relative(this._current)];\n\t\t}\n\t}, {\n\t\tfilter: [ 'items', 'settings' ],\n\t\trun: function() {\n\t\t\tthis.$stage.children('.cloned').remove();\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function(cache) {\n\t\t\tvar margin = this.settings.margin || '',\n\t\t\t\tgrid = !this.settings.autoWidth,\n\t\t\t\trtl = this.settings.rtl,\n\t\t\t\tcss = {\n\t\t\t\t\t'width': 'auto',\n\t\t\t\t\t'margin-left': rtl ? margin : '',\n\t\t\t\t\t'margin-right': rtl ? '' : margin\n\t\t\t\t};\n\n\t\t\t!grid && this.$stage.children().css(css);\n\n\t\t\tcache.css = css;\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function(cache) {\n\t\t\tvar width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,\n\t\t\t\tmerge = null,\n\t\t\t\titerator = this._items.length,\n\t\t\t\tgrid = !this.settings.autoWidth,\n\t\t\t\twidths = [];\n\n\t\t\tcache.items = {\n\t\t\t\tmerge: false,\n\t\t\t\twidth: width\n\t\t\t};\n\n\t\t\twhile (iterator--) {\n\t\t\t\tmerge = this._mergers[iterator];\n\t\t\t\tmerge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;\n\n\t\t\t\tcache.items.merge = merge > 1 || cache.items.merge;\n\n\t\t\t\twidths[iterator] = !grid ? this._items[iterator].width() : width * merge;\n\t\t\t}\n\n\t\t\tthis._widths = widths;\n\t\t}\n\t}, {\n\t\tfilter: [ 'items', 'settings' ],\n\t\trun: function() {\n\t\t\tvar clones = [],\n\t\t\t\titems = this._items,\n\t\t\t\tsettings = this.settings,\n\t\t\t\t// TODO: Should be computed from number of min width items in stage\n\t\t\t\tview = Math.max(settings.items * 2, 4),\n\t\t\t\tsize = Math.ceil(items.length / 2) * 2,\n\t\t\t\trepeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,\n\t\t\t\tappend = '',\n\t\t\t\tprepend = '';\n\n\t\t\trepeat /= 2;\n\n\t\t\twhile (repeat > 0) {\n\t\t\t\t// Switch to only using appended clones\n\t\t\t\tclones.push(this.normalize(clones.length / 2, true));\n\t\t\t\tappend = append + items[clones[clones.length - 1]][0].outerHTML;\n\t\t\t\tclones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));\n\t\t\t\tprepend = items[clones[clones.length - 1]][0].outerHTML + prepend;\n\t\t\t\trepeat -= 1;\n\t\t\t}\n\n\t\t\tthis._clones = clones;\n\n\t\t\t$(append).addClass('cloned').appendTo(this.$stage);\n\t\t\t$(prepend).addClass('cloned').prependTo(this.$stage);\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function() {\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\n\t\t\t\tsize = this._clones.length + this._items.length,\n\t\t\t\titerator = -1,\n\t\t\t\tprevious = 0,\n\t\t\t\tcurrent = 0,\n\t\t\t\tcoordinates = [];\n\n\t\t\twhile (++iterator < size) {\n\t\t\t\tprevious = coordinates[iterator - 1] || 0;\n\t\t\t\tcurrent = this._widths[this.relative(iterator)] + this.settings.margin;\n\t\t\t\tcoordinates.push(previous + current * rtl);\n\t\t\t}\n\n\t\t\tthis._coordinates = coordinates;\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function() {\n\t\t\tvar padding = this.settings.stagePadding,\n\t\t\t\tcoordinates = this._coordinates,\n\t\t\t\tcss = {\n\t\t\t\t\t'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,\n\t\t\t\t\t'padding-left': padding || '',\n\t\t\t\t\t'padding-right': padding || ''\n\t\t\t\t};\n\n\t\t\tthis.$stage.css(css);\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function(cache) {\n\t\t\tvar iterator = this._coordinates.length,\n\t\t\t\tgrid = !this.settings.autoWidth,\n\t\t\t\titems = this.$stage.children();\n\n\t\t\tif (grid && cache.items.merge) {\n\t\t\t\twhile (iterator--) {\n\t\t\t\t\tcache.css.width = this._widths[this.relative(iterator)];\n\t\t\t\t\titems.eq(iterator).css(cache.css);\n\t\t\t\t}\n\t\t\t} else if (grid) {\n\t\t\t\tcache.css.width = cache.items.width;\n\t\t\t\titems.css(cache.css);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tfilter: [ 'items' ],\n\t\trun: function() {\n\t\t\tthis._coordinates.length < 1 && this.$stage.removeAttr('style');\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'items', 'settings' ],\n\t\trun: function(cache) {\n\t\t\tcache.current = cache.current ? this.$stage.children().index(cache.current) : 0;\n\t\t\tcache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));\n\t\t\tthis.reset(cache.current);\n\t\t}\n\t}, {\n\t\tfilter: [ 'position' ],\n\t\trun: function() {\n\t\t\tthis.animate(this.coordinates(this._current));\n\t\t}\n\t}, {\n\t\tfilter: [ 'width', 'position', 'items', 'settings' ],\n\t\trun: function() {\n\t\t\tvar rtl = this.settings.rtl ? 1 : -1,\n\t\t\t\tpadding = this.settings.stagePadding * 2,\n\t\t\t\tbegin = this.coordinates(this.current()) + padding,\n\t\t\t\tend = begin + this.width() * rtl,\n\t\t\t\tinner, outer, matches = [], i, n;\n\n\t\t\tfor (i = 0, n = this._coordinates.length; i < n; i++) {\n\t\t\t\tinner = this._coordinates[i - 1] || 0;\n\t\t\t\touter = Math.abs(this._coordinates[i]) + padding * rtl;\n\n\t\t\t\tif ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\n\t\t\t\t\t|| (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\n\t\t\t\t\tmatches.push(i);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.$stage.children('.active').removeClass('active');\n\t\t\tthis.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');\n\n\t\t\tthis.$stage.children('.center').removeClass('center');\n\t\t\tif (this.settings.center) {\n\t\t\t\tthis.$stage.children().eq(this.current()).addClass('center');\n\t\t\t}\n\t\t}\n\t} ];\n\n\t/**\n\t * Create the stage DOM element\n\t */\n\tOwl.prototype.initializeStage = function() {\n\t\tthis.$stage = this.$element.find('.' + this.settings.stageClass);\n\n\t\t// if the stage is already in the DOM, grab it and skip stage initialization\n\t\tif (this.$stage.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.$element.addClass(this.options.loadingClass);\n\n\t\t// create stage\n\t\tthis.$stage = $('<' + this.settings.stageElement + '>', {\n\t\t\t\"class\": this.settings.stageClass\n\t\t}).wrap( $( '
', {\n\t\t\t\"class\": this.settings.stageOuterClass\n\t\t}));\n\n\t\t// append stage\n\t\tthis.$element.append(this.$stage.parent());\n\t};\n\n\t/**\n\t * Create item DOM elements\n\t */\n\tOwl.prototype.initializeItems = function() {\n\t\tvar $items = this.$element.find('.owl-item');\n\n\t\t// if the items are already in the DOM, grab them and skip item initialization\n\t\tif ($items.length) {\n\t\t\tthis._items = $items.get().map(function(item) {\n\t\t\t\treturn $(item);\n\t\t\t});\n\n\t\t\tthis._mergers = this._items.map(function() {\n\t\t\t\treturn 1;\n\t\t\t});\n\n\t\t\tthis.refresh();\n\n\t\t\treturn;\n\t\t}\n\n\t\t// append content\n\t\tthis.replace(this.$element.children().not(this.$stage.parent()));\n\n\t\t// check visibility\n\t\tif (this.isVisible()) {\n\t\t\t// update view\n\t\t\tthis.refresh();\n\t\t} else {\n\t\t\t// invalidate width\n\t\t\tthis.invalidate('width');\n\t\t}\n\n\t\tthis.$element\n\t\t\t.removeClass(this.options.loadingClass)\n\t\t\t.addClass(this.options.loadedClass);\n\t};\n\n\t/**\n\t * Initializes the carousel.\n\t * @protected\n\t */\n\tOwl.prototype.initialize = function() {\n\t\tthis.enter('initializing');\n\t\tthis.trigger('initialize');\n\n\t\tthis.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);\n\n\t\tif (this.settings.autoWidth && !this.is('pre-loading')) {\n\t\t\tvar imgs, nestedSelector, width;\n\t\t\timgs = this.$element.find('img');\n\t\t\tnestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\n\t\t\twidth = this.$element.children(nestedSelector).width();\n\n\t\t\tif (imgs.length && width <= 0) {\n\t\t\t\tthis.preloadAutoWidthImages(imgs);\n\t\t\t}\n\t\t}\n\n\t\tthis.initializeStage();\n\t\tthis.initializeItems();\n\n\t\t// register event handlers\n\t\tthis.registerEventHandlers();\n\n\t\tthis.leave('initializing');\n\t\tthis.trigger('initialized');\n\t};\n\n\t/**\n\t * @returns {Boolean} visibility of $element\n\t * if you know the carousel will always be visible you can set `checkVisibility` to `false` to\n\t * prevent the expensive browser layout forced reflow the $element.is(':visible') does\n\t */\n\tOwl.prototype.isVisible = function() {\n\t\treturn this.settings.checkVisibility\n\t\t\t? this.$element.is(':visible')\n\t\t\t: true;\n\t};\n\n\t/**\n\t * Setups the current settings.\n\t * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\n\t * @todo Support for media queries by using `matchMedia` would be nice.\n\t * @public\n\t */\n\tOwl.prototype.setup = function() {\n\t\tvar viewport = this.viewport(),\n\t\t\toverwrites = this.options.responsive,\n\t\t\tmatch = -1,\n\t\t\tsettings = null;\n\n\t\tif (!overwrites) {\n\t\t\tsettings = $.extend({}, this.options);\n\t\t} else {\n\t\t\t$.each(overwrites, function(breakpoint) {\n\t\t\t\tif (breakpoint <= viewport && breakpoint > match) {\n\t\t\t\t\tmatch = Number(breakpoint);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tsettings = $.extend({}, this.options, overwrites[match]);\n\t\t\tif (typeof settings.stagePadding === 'function') {\n\t\t\t\tsettings.stagePadding = settings.stagePadding();\n\t\t\t}\n\t\t\tdelete settings.responsive;\n\n\t\t\t// responsive class\n\t\t\tif (settings.responsiveClass) {\n\t\t\t\tthis.$element.attr('class',\n\t\t\t\t\tthis.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\\\S+\\\\s', 'g'), '$1' + match)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tthis.trigger('change', { property: { name: 'settings', value: settings } });\n\t\tthis._breakpoint = match;\n\t\tthis.settings = settings;\n\t\tthis.invalidate('settings');\n\t\tthis.trigger('changed', { property: { name: 'settings', value: this.settings } });\n\t};\n\n\t/**\n\t * Updates option logic if necessery.\n\t * @protected\n\t */\n\tOwl.prototype.optionsLogic = function() {\n\t\tif (this.settings.autoWidth) {\n\t\t\tthis.settings.stagePadding = false;\n\t\t\tthis.settings.merge = false;\n\t\t}\n\t};\n\n\t/**\n\t * Prepares an item before add.\n\t * @todo Rename event parameter `content` to `item`.\n\t * @protected\n\t * @returns {jQuery|HTMLElement} - The item container.\n\t */\n\tOwl.prototype.prepare = function(item) {\n\t\tvar event = this.trigger('prepare', { content: item });\n\n\t\tif (!event.data) {\n\t\t\tevent.data = $('<' + this.settings.itemElement + '/>')\n\t\t\t\t.addClass(this.options.itemClass).append(item)\n\t\t}\n\n\t\tthis.trigger('prepared', { content: event.data });\n\n\t\treturn event.data;\n\t};\n\n\t/**\n\t * Updates the view.\n\t * @public\n\t */\n\tOwl.prototype.update = function() {\n\t\tvar i = 0,\n\t\t\tn = this._pipe.length,\n\t\t\tfilter = $.proxy(function(p) { return this[p] }, this._invalidated),\n\t\t\tcache = {};\n\n\t\twhile (i < n) {\n\t\t\tif (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\n\t\t\t\tthis._pipe[i].run(cache);\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\n\t\tthis._invalidated = {};\n\n\t\t!this.is('valid') && this.enter('valid');\n\t};\n\n\t/**\n\t * Gets the width of the view.\n\t * @public\n\t * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\n\t * @returns {Number} - The width of the view in pixel.\n\t */\n\tOwl.prototype.width = function(dimension) {\n\t\tdimension = dimension || Owl.Width.Default;\n\t\tswitch (dimension) {\n\t\t\tcase Owl.Width.Inner:\n\t\t\tcase Owl.Width.Outer:\n\t\t\t\treturn this._width;\n\t\t\tdefault:\n\t\t\t\treturn this._width - this.settings.stagePadding * 2 + this.settings.margin;\n\t\t}\n\t};\n\n\t/**\n\t * Refreshes the carousel primarily for adaptive purposes.\n\t * @public\n\t */\n\tOwl.prototype.refresh = function() {\n\t\tthis.enter('refreshing');\n\t\tthis.trigger('refresh');\n\n\t\tthis.setup();\n\n\t\tthis.optionsLogic();\n\n\t\tthis.$element.addClass(this.options.refreshClass);\n\n\t\tthis.update();\n\n\t\tthis.$element.removeClass(this.options.refreshClass);\n\n\t\tthis.leave('refreshing');\n\t\tthis.trigger('refreshed');\n\t};\n\n\t/**\n\t * Checks window `resize` event.\n\t * @protected\n\t */\n\tOwl.prototype.onThrottledResize = function() {\n\t\twindow.clearTimeout(this.resizeTimer);\n\t\tthis.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);\n\t};\n\n\t/**\n\t * Checks window `resize` event.\n\t * @protected\n\t */\n\tOwl.prototype.onResize = function() {\n\t\tif (!this._items.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this._width === this.$element.width()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.isVisible()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.enter('resizing');\n\n\t\tif (this.trigger('resize').isDefaultPrevented()) {\n\t\t\tthis.leave('resizing');\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.invalidate('width');\n\n\t\tthis.refresh();\n\n\t\tthis.leave('resizing');\n\t\tthis.trigger('resized');\n\t};\n\n\t/**\n\t * Registers event handlers.\n\t * @todo Check `msPointerEnabled`\n\t * @todo #261\n\t * @protected\n\t */\n\tOwl.prototype.registerEventHandlers = function() {\n\t\tif ($.support.transition) {\n\t\t\tthis.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));\n\t\t}\n\n\t\tif (this.settings.responsive !== false) {\n\t\t\tthis.on(window, 'resize', this._handlers.onThrottledResize);\n\t\t}\n\n\t\tif (this.settings.mouseDrag) {\n\t\t\tthis.$element.addClass(this.options.dragClass);\n\t\t\tthis.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));\n\t\t\tthis.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });\n\t\t}\n\n\t\tif (this.settings.touchDrag){\n\t\t\tthis.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));\n\t\t\tthis.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));\n\t\t}\n\t};\n\n\t/**\n\t * Handles `touchstart` and `mousedown` events.\n\t * @todo Horizontal swipe threshold as option\n\t * @todo #261\n\t * @protected\n\t * @param {Event} event - The event arguments.\n\t */\n\tOwl.prototype.onDragStart = function(event) {\n\t\tvar stage = null;\n\n\t\tif (event.which === 3) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ($.support.transform) {\n\t\t\tstage = this.$stage.css('transform').replace(/.*\\(|\\)| /g, '').split(',');\n\t\t\tstage = {\n\t\t\t\tx: stage[stage.length === 16 ? 12 : 4],\n\t\t\t\ty: stage[stage.length === 16 ? 13 : 5]\n\t\t\t};\n\t\t} else {\n\t\t\tstage = this.$stage.position();\n\t\t\tstage = {\n\t\t\t\tx: this.settings.rtl ?\n\t\t\t\t\tstage.left + this.$stage.width() - this.width() + this.settings.margin :\n\t\t\t\t\tstage.left,\n\t\t\t\ty: stage.top\n\t\t\t};\n\t\t}\n\n\t\tif (this.is('animating')) {\n\t\t\t$.support.transform ? this.animate(stage.x) : this.$stage.stop()\n\t\t\tthis.invalidate('position');\n\t\t}\n\n\t\tthis.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');\n\n\t\tthis.speed(0);\n\n\t\tthis._drag.time = new Date().getTime();\n\t\tthis._drag.target = $(event.target);\n\t\tthis._drag.stage.start = stage;\n\t\tthis._drag.stage.current = stage;\n\t\tthis._drag.pointer = this.pointer(event);\n\n\t\t$(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));\n\n\t\t$(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {\n\t\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event));\n\n\t\t\t$(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));\n\n\t\t\tif (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.preventDefault();\n\n\t\t\tthis.enter('dragging');\n\t\t\tthis.trigger('drag');\n\t\t}, this));\n\t};\n\n\t/**\n\t * Handles the `touchmove` and `mousemove` events.\n\t * @todo #261\n\t * @protected\n\t * @param {Event} event - The event arguments.\n\t */\n\tOwl.prototype.onDragMove = function(event) {\n\t\tvar minimum = null,\n\t\t\tmaximum = null,\n\t\t\tpull = null,\n\t\t\tdelta = this.difference(this._drag.pointer, this.pointer(event)),\n\t\t\tstage = this.difference(this._drag.stage.start, delta);\n\n\t\tif (!this.is('dragging')) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tif (this.settings.loop) {\n\t\t\tminimum = this.coordinates(this.minimum());\n\t\t\tmaximum = this.coordinates(this.maximum() + 1) - minimum;\n\t\t\tstage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;\n\t\t} else {\n\t\t\tminimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\n\t\t\tmaximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\n\t\t\tpull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;\n\t\t\tstage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);\n\t\t}\n\n\t\tthis._drag.stage.current = stage;\n\n\t\tthis.animate(stage.x);\n\t};\n\n\t/**\n\t * Handles the `touchend` and `mouseup` events.\n\t * @todo #261\n\t * @todo Threshold for click event\n\t * @protected\n\t * @param {Event} event - The event arguments.\n\t */\n\tOwl.prototype.onDragEnd = function(event) {\n\t\tvar delta = this.difference(this._drag.pointer, this.pointer(event)),\n\t\t\tstage = this._drag.stage.current,\n\t\t\tdirection = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';\n\n\t\t$(document).off('.owl.core');\n\n\t\tthis.$element.removeClass(this.options.grabClass);\n\n\t\tif (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {\n\t\t\tthis.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\n\t\t\tthis.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));\n\t\t\tthis.invalidate('position');\n\t\t\tthis.update();\n\n\t\t\tthis._drag.direction = direction;\n\n\t\t\tif (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {\n\t\t\t\tthis._drag.target.one('click.owl.core', function() { return false; });\n\t\t\t}\n\t\t}\n\n\t\tif (!this.is('dragging')) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.leave('dragging');\n\t\tthis.trigger('dragged');\n\t};\n\n\t/**\n\t * Gets absolute position of the closest item for a coordinate.\n\t * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\n\t * @protected\n\t * @param {Number} coordinate - The coordinate in pixel.\n\t * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.\n\t * @return {Number} - The absolute position of the closest item.\n\t */\n\tOwl.prototype.closest = function(coordinate, direction) {\n\t\tvar position = -1,\n\t\t\tpull = 30,\n\t\t\twidth = this.width(),\n\t\t\tcoordinates = this.coordinates();\n\n\t\tif (!this.settings.freeDrag) {\n\t\t\t// check closest item\n\t\t\t$.each(coordinates, $.proxy(function(index, value) {\n\t\t\t\t// on a left pull, check on current index\n\t\t\t\tif (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {\n\t\t\t\t\tposition = index;\n\t\t\t\t// on a right pull, check on previous index\n\t\t\t\t// to do so, subtract width from value and set position = index + 1\n\t\t\t\t} else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {\n\t\t\t\t\tposition = index + 1;\n\t\t\t\t} else if (this.op(coordinate, '<', value)\n\t\t\t\t\t&& this.op(coordinate, '>', coordinates[index + 1] !== undefined ? coordinates[index + 1] : value - width)) {\n\t\t\t\t\tposition = direction === 'left' ? index + 1 : index;\n\t\t\t\t}\n\t\t\t\treturn position === -1;\n\t\t\t}, this));\n\t\t}\n\n\t\tif (!this.settings.loop) {\n\t\t\t// non loop boundries\n\t\t\tif (this.op(coordinate, '>', coordinates[this.minimum()])) {\n\t\t\t\tposition = coordinate = this.minimum();\n\t\t\t} else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\n\t\t\t\tposition = coordinate = this.maximum();\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t};\n\n\t/**\n\t * Animates the stage.\n\t * @todo #270\n\t * @public\n\t * @param {Number} coordinate - The coordinate in pixels.\n\t */\n\tOwl.prototype.animate = function(coordinate) {\n\t\tvar animate = this.speed() > 0;\n\n\t\tthis.is('animating') && this.onTransitionEnd();\n\n\t\tif (animate) {\n\t\t\tthis.enter('animating');\n\t\t\tthis.trigger('translate');\n\t\t}\n\n\t\tif ($.support.transform3d && $.support.transition) {\n\t\t\tthis.$stage.css({\n\t\t\t\ttransform: 'translate3d(' + coordinate + 'px,0px,0px)',\n\t\t\t\ttransition: (this.speed() / 1000) + 's' + (\n\t\t\t\t\tthis.settings.slideTransition ? ' ' + this.settings.slideTransition : ''\n\t\t\t\t)\n\t\t\t});\n\t\t} else if (animate) {\n\t\t\tthis.$stage.animate({\n\t\t\t\tleft: coordinate + 'px'\n\t\t\t}, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));\n\t\t} else {\n\t\t\tthis.$stage.css({\n\t\t\t\tleft: coordinate + 'px'\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Checks whether the carousel is in a specific state or not.\n\t * @param {String} state - The state to check.\n\t * @returns {Boolean} - The flag which indicates if the carousel is busy.\n\t */\n\tOwl.prototype.is = function(state) {\n\t\treturn this._states.current[state] && this._states.current[state] > 0;\n\t};\n\n\t/**\n\t * Sets the absolute position of the current item.\n\t * @public\n\t * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\n\t * @returns {Number} - The absolute position of the current item.\n\t */\n\tOwl.prototype.current = function(position) {\n\t\tif (position === undefined) {\n\t\t\treturn this._current;\n\t\t}\n\n\t\tif (this._items.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tposition = this.normalize(position);\n\n\t\tif (this._current !== position) {\n\t\t\tvar event = this.trigger('change', { property: { name: 'position', value: position } });\n\n\t\t\tif (event.data !== undefined) {\n\t\t\t\tposition = this.normalize(event.data);\n\t\t\t}\n\n\t\t\tthis._current = position;\n\n\t\t\tthis.invalidate('position');\n\n\t\t\tthis.trigger('changed', { property: { name: 'position', value: this._current } });\n\t\t}\n\n\t\treturn this._current;\n\t};\n\n\t/**\n\t * Invalidates the given part of the update routine.\n\t * @param {String} [part] - The part to invalidate.\n\t * @returns {Array.} - The invalidated parts.\n\t */\n\tOwl.prototype.invalidate = function(part) {\n\t\tif ($.type(part) === 'string') {\n\t\t\tthis._invalidated[part] = true;\n\t\t\tthis.is('valid') && this.leave('valid');\n\t\t}\n\t\treturn $.map(this._invalidated, function(v, i) { return i });\n\t};\n\n\t/**\n\t * Resets the absolute position of the current item.\n\t * @public\n\t * @param {Number} position - The absolute position of the new item.\n\t */\n\tOwl.prototype.reset = function(position) {\n\t\tposition = this.normalize(position);\n\n\t\tif (position === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._speed = 0;\n\t\tthis._current = position;\n\n\t\tthis.suppress([ 'translate', 'translated' ]);\n\n\t\tthis.animate(this.coordinates(position));\n\n\t\tthis.release([ 'translate', 'translated' ]);\n\t};\n\n\t/**\n\t * Normalizes an absolute or a relative position of an item.\n\t * @public\n\t * @param {Number} position - The absolute or relative position to normalize.\n\t * @param {Boolean} [relative=false] - Whether the given position is relative or not.\n\t * @returns {Number} - The normalized position.\n\t */\n\tOwl.prototype.normalize = function(position, relative) {\n\t\tvar n = this._items.length,\n\t\t\tm = relative ? 0 : this._clones.length;\n\n\t\tif (!this.isNumeric(position) || n < 1) {\n\t\t\tposition = undefined;\n\t\t} else if (position < 0 || position >= n + m) {\n\t\t\tposition = ((position - m / 2) % n + n) % n + m / 2;\n\t\t}\n\n\t\treturn position;\n\t};\n\n\t/**\n\t * Converts an absolute position of an item into a relative one.\n\t * @public\n\t * @param {Number} position - The absolute position to convert.\n\t * @returns {Number} - The converted position.\n\t */\n\tOwl.prototype.relative = function(position) {\n\t\tposition -= this._clones.length / 2;\n\t\treturn this.normalize(position, true);\n\t};\n\n\t/**\n\t * Gets the maximum position for the current item.\n\t * @public\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n\t * @returns {Number}\n\t */\n\tOwl.prototype.maximum = function(relative) {\n\t\tvar settings = this.settings,\n\t\t\tmaximum = this._coordinates.length,\n\t\t\titerator,\n\t\t\treciprocalItemsWidth,\n\t\t\telementWidth;\n\n\t\tif (settings.loop) {\n\t\t\tmaximum = this._clones.length / 2 + this._items.length - 1;\n\t\t} else if (settings.autoWidth || settings.merge) {\n\t\t\titerator = this._items.length;\n\t\t\tif (iterator) {\n\t\t\t\treciprocalItemsWidth = this._items[--iterator].width();\n\t\t\t\telementWidth = this.$element.width();\n\t\t\t\twhile (iterator--) {\n\t\t\t\t\treciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;\n\t\t\t\t\tif (reciprocalItemsWidth > elementWidth) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tmaximum = iterator + 1;\n\t\t} else if (settings.center) {\n\t\t\tmaximum = this._items.length - 1;\n\t\t} else {\n\t\t\tmaximum = this._items.length - settings.items;\n\t\t}\n\n\t\tif (relative) {\n\t\t\tmaximum -= this._clones.length / 2;\n\t\t}\n\n\t\treturn Math.max(maximum, 0);\n\t};\n\n\t/**\n\t * Gets the minimum position for the current item.\n\t * @public\n\t * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n\t * @returns {Number}\n\t */\n\tOwl.prototype.minimum = function(relative) {\n\t\treturn relative ? 0 : this._clones.length / 2;\n\t};\n\n\t/**\n\t * Gets an item at the specified relative position.\n\t * @public\n\t * @param {Number} [position] - The relative position of the item.\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n\t */\n\tOwl.prototype.items = function(position) {\n\t\tif (position === undefined) {\n\t\t\treturn this._items.slice();\n\t\t}\n\n\t\tposition = this.normalize(position, true);\n\t\treturn this._items[position];\n\t};\n\n\t/**\n\t * Gets an item at the specified relative position.\n\t * @public\n\t * @param {Number} [position] - The relative position of the item.\n\t * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n\t */\n\tOwl.prototype.mergers = function(position) {\n\t\tif (position === undefined) {\n\t\t\treturn this._mergers.slice();\n\t\t}\n\n\t\tposition = this.normalize(position, true);\n\t\treturn this._mergers[position];\n\t};\n\n\t/**\n\t * Gets the absolute positions of clones for an item.\n\t * @public\n\t * @param {Number} [position] - The relative position of the item.\n\t * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\n\t */\n\tOwl.prototype.clones = function(position) {\n\t\tvar odd = this._clones.length / 2,\n\t\t\teven = odd + this._items.length,\n\t\t\tmap = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\n\n\t\tif (position === undefined) {\n\t\t\treturn $.map(this._clones, function(v, i) { return map(i) });\n\t\t}\n\n\t\treturn $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\n\t};\n\n\t/**\n\t * Sets the current animation speed.\n\t * @public\n\t * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\n\t * @returns {Number} - The current animation speed in milliseconds.\n\t */\n\tOwl.prototype.speed = function(speed) {\n\t\tif (speed !== undefined) {\n\t\t\tthis._speed = speed;\n\t\t}\n\n\t\treturn this._speed;\n\t};\n\n\t/**\n\t * Gets the coordinate of an item.\n\t * @todo The name of this method is missleanding.\n\t * @public\n\t * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\n\t * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\n\t */\n\tOwl.prototype.coordinates = function(position) {\n\t\tvar multiplier = 1,\n\t\t\tnewPosition = position - 1,\n\t\t\tcoordinate;\n\n\t\tif (position === undefined) {\n\t\t\treturn $.map(this._coordinates, $.proxy(function(coordinate, index) {\n\t\t\t\treturn this.coordinates(index);\n\t\t\t}, this));\n\t\t}\n\n\t\tif (this.settings.center) {\n\t\t\tif (this.settings.rtl) {\n\t\t\t\tmultiplier = -1;\n\t\t\t\tnewPosition = position + 1;\n\t\t\t}\n\n\t\t\tcoordinate = this._coordinates[position];\n\t\t\tcoordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;\n\t\t} else {\n\t\t\tcoordinate = this._coordinates[newPosition] || 0;\n\t\t}\n\n\t\tcoordinate = Math.ceil(coordinate);\n\n\t\treturn coordinate;\n\t};\n\n\t/**\n\t * Calculates the speed for a translation.\n\t * @protected\n\t * @param {Number} from - The absolute position of the start item.\n\t * @param {Number} to - The absolute position of the target item.\n\t * @param {Number} [factor=undefined] - The time factor in milliseconds.\n\t * @returns {Number} - The time in milliseconds for the translation.\n\t */\n\tOwl.prototype.duration = function(from, to, factor) {\n\t\tif (factor === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\n\t};\n\n\t/**\n\t * Slides to the specified item.\n\t * @public\n\t * @param {Number} position - The position of the item.\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\n\t */\n\tOwl.prototype.to = function(position, speed) {\n\t\tvar current = this.current(),\n\t\t\trevert = null,\n\t\t\tdistance = position - this.relative(current),\n\t\t\tdirection = (distance > 0) - (distance < 0),\n\t\t\titems = this._items.length,\n\t\t\tminimum = this.minimum(),\n\t\t\tmaximum = this.maximum();\n\n\t\tif (this.settings.loop) {\n\t\t\tif (!this.settings.rewind && Math.abs(distance) > items / 2) {\n\t\t\t\tdistance += direction * -1 * items;\n\t\t\t}\n\n\t\t\tposition = current + distance;\n\t\t\trevert = ((position - minimum) % items + items) % items + minimum;\n\n\t\t\tif (revert !== position && revert - distance <= maximum && revert - distance > 0) {\n\t\t\t\tcurrent = revert - distance;\n\t\t\t\tposition = revert;\n\t\t\t\tthis.reset(current);\n\t\t\t}\n\t\t} else if (this.settings.rewind) {\n\t\t\tmaximum += 1;\n\t\t\tposition = (position % maximum + maximum) % maximum;\n\t\t} else {\n\t\t\tposition = Math.max(minimum, Math.min(maximum, position));\n\t\t}\n\n\t\tthis.speed(this.duration(current, position, speed));\n\t\tthis.current(position);\n\n\t\tif (this.isVisible()) {\n\t\t\tthis.update();\n\t\t}\n\t};\n\n\t/**\n\t * Slides to the next item.\n\t * @public\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\n\t */\n\tOwl.prototype.next = function(speed) {\n\t\tspeed = speed || false;\n\t\tthis.to(this.relative(this.current()) + 1, speed);\n\t};\n\n\t/**\n\t * Slides to the previous item.\n\t * @public\n\t * @param {Number} [speed] - The time in milliseconds for the transition.\n\t */\n\tOwl.prototype.prev = function(speed) {\n\t\tspeed = speed || false;\n\t\tthis.to(this.relative(this.current()) - 1, speed);\n\t};\n\n\t/**\n\t * Handles the end of an animation.\n\t * @protected\n\t * @param {Event} event - The event arguments.\n\t */\n\tOwl.prototype.onTransitionEnd = function(event) {\n\n\t\t// if css2 animation then event object is undefined\n\t\tif (event !== undefined) {\n\t\t\tevent.stopPropagation();\n\n\t\t\t// Catch only owl-stage transitionEnd event\n\t\t\tif ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tthis.leave('animating');\n\t\tthis.trigger('translated');\n\t};\n\n\t/**\n\t * Gets viewport width.\n\t * @protected\n\t * @return {Number} - The width in pixel.\n\t */\n\tOwl.prototype.viewport = function() {\n\t\tvar width;\n\t\tif (this.options.responsiveBaseElement !== window) {\n\t\t\twidth = $(this.options.responsiveBaseElement).width();\n\t\t} else if (window.innerWidth) {\n\t\t\twidth = window.innerWidth;\n\t\t} else if (document.documentElement && document.documentElement.clientWidth) {\n\t\t\twidth = document.documentElement.clientWidth;\n\t\t} else {\n\t\t\tconsole.warn('Can not detect viewport width.');\n\t\t}\n\t\treturn width;\n\t};\n\n\t/**\n\t * Replaces the current content.\n\t * @public\n\t * @param {HTMLElement|jQuery|String} content - The new content.\n\t */\n\tOwl.prototype.replace = function(content) {\n\t\tthis.$stage.empty();\n\t\tthis._items = [];\n\n\t\tif (content) {\n\t\t\tcontent = (content instanceof jQuery) ? content : $(content);\n\t\t}\n\n\t\tif (this.settings.nestedItemSelector) {\n\t\t\tcontent = content.find('.' + this.settings.nestedItemSelector);\n\t\t}\n\n\t\tcontent.filter(function() {\n\t\t\treturn this.nodeType === 1;\n\t\t}).each($.proxy(function(index, item) {\n\t\t\titem = this.prepare(item);\n\t\t\tthis.$stage.append(item);\n\t\t\tthis._items.push(item);\n\t\t\tthis._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n\t\t}, this));\n\n\t\tthis.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\n\n\t\tthis.invalidate('items');\n\t};\n\n\t/**\n\t * Adds an item.\n\t * @todo Use `item` instead of `content` for the event arguments.\n\t * @public\n\t * @param {HTMLElement|jQuery|String} content - The item content to add.\n\t * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\n\t */\n\tOwl.prototype.add = function(content, position) {\n\t\tvar current = this.relative(this._current);\n\n\t\tposition = position === undefined ? this._items.length : this.normalize(position, true);\n\t\tcontent = content instanceof jQuery ? content : $(content);\n\n\t\tthis.trigger('add', { content: content, position: position });\n\n\t\tcontent = this.prepare(content);\n\n\t\tif (this._items.length === 0 || position === this._items.length) {\n\t\t\tthis._items.length === 0 && this.$stage.append(content);\n\t\t\tthis._items.length !== 0 && this._items[position - 1].after(content);\n\t\t\tthis._items.push(content);\n\t\t\tthis._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n\t\t} else {\n\t\t\tthis._items[position].before(content);\n\t\t\tthis._items.splice(position, 0, content);\n\t\t\tthis._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n\t\t}\n\n\t\tthis._items[current] && this.reset(this._items[current].index());\n\n\t\tthis.invalidate('items');\n\n\t\tthis.trigger('added', { content: content, position: position });\n\t};\n\n\t/**\n\t * Removes an item by its position.\n\t * @todo Use `item` instead of `content` for the event arguments.\n\t * @public\n\t * @param {Number} position - The relative position of the item to remove.\n\t */\n\tOwl.prototype.remove = function(position) {\n\t\tposition = this.normalize(position, true);\n\n\t\tif (position === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.trigger('remove', { content: this._items[position], position: position });\n\n\t\tthis._items[position].remove();\n\t\tthis._items.splice(position, 1);\n\t\tthis._mergers.splice(position, 1);\n\n\t\tthis.invalidate('items');\n\n\t\tthis.trigger('removed', { content: null, position: position });\n\t};\n\n\t/**\n\t * Preloads images with auto width.\n\t * @todo Replace by a more generic approach\n\t * @protected\n\t */\n\tOwl.prototype.preloadAutoWidthImages = function(images) {\n\t\timages.each($.proxy(function(i, element) {\n\t\t\tthis.enter('pre-loading');\n\t\t\telement = $(element);\n\t\t\t$(new Image()).one('load', $.proxy(function(e) {\n\t\t\t\telement.attr('src', e.target.src);\n\t\t\t\telement.css('opacity', 1);\n\t\t\t\tthis.leave('pre-loading');\n\t\t\t\t!this.is('pre-loading') && !this.is('initializing') && this.refresh();\n\t\t\t}, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));\n\t\t}, this));\n\t};\n\n\t/**\n\t * Destroys the carousel.\n\t * @public\n\t */\n\tOwl.prototype.destroy = function() {\n\n\t\tthis.$element.off('.owl.core');\n\t\tthis.$stage.off('.owl.core');\n\t\t$(document).off('.owl.core');\n\n\t\tif (this.settings.responsive !== false) {\n\t\t\twindow.clearTimeout(this.resizeTimer);\n\t\t\tthis.off(window, 'resize', this._handlers.onThrottledResize);\n\t\t}\n\n\t\tfor (var i in this._plugins) {\n\t\t\tthis._plugins[i].destroy();\n\t\t}\n\n\t\tthis.$stage.children('.cloned').remove();\n\n\t\tthis.$stage.unwrap();\n\t\tthis.$stage.children().contents().unwrap();\n\t\tthis.$stage.children().unwrap();\n\t\tthis.$stage.remove();\n\t\tthis.$element\n\t\t\t.removeClass(this.options.refreshClass)\n\t\t\t.removeClass(this.options.loadingClass)\n\t\t\t.removeClass(this.options.loadedClass)\n\t\t\t.removeClass(this.options.rtlClass)\n\t\t\t.removeClass(this.options.dragClass)\n\t\t\t.removeClass(this.options.grabClass)\n\t\t\t.attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\\\S+\\\\s', 'g'), ''))\n\t\t\t.removeData('owl.carousel');\n\t};\n\n\t/**\n\t * Operators to calculate right-to-left and left-to-right.\n\t * @protected\n\t * @param {Number} [a] - The left side operand.\n\t * @param {String} [o] - The operator.\n\t * @param {Number} [b] - The right side operand.\n\t */\n\tOwl.prototype.op = function(a, o, b) {\n\t\tvar rtl = this.settings.rtl;\n\t\tswitch (o) {\n\t\t\tcase '<':\n\t\t\t\treturn rtl ? a > b : a < b;\n\t\t\tcase '>':\n\t\t\t\treturn rtl ? a < b : a > b;\n\t\t\tcase '>=':\n\t\t\t\treturn rtl ? a <= b : a >= b;\n\t\t\tcase '<=':\n\t\t\t\treturn rtl ? a >= b : a <= b;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\t/**\n\t * Attaches to an internal event.\n\t * @protected\n\t * @param {HTMLElement} element - The event source.\n\t * @param {String} event - The event name.\n\t * @param {Function} listener - The event handler to attach.\n\t * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\n\t */\n\tOwl.prototype.on = function(element, event, listener, capture) {\n\t\tif (element.addEventListener) {\n\t\t\telement.addEventListener(event, listener, capture);\n\t\t} else if (element.attachEvent) {\n\t\t\telement.attachEvent('on' + event, listener);\n\t\t}\n\t};\n\n\t/**\n\t * Detaches from an internal event.\n\t * @protected\n\t * @param {HTMLElement} element - The event source.\n\t * @param {String} event - The event name.\n\t * @param {Function} listener - The attached event handler to detach.\n\t * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\n\t */\n\tOwl.prototype.off = function(element, event, listener, capture) {\n\t\tif (element.removeEventListener) {\n\t\t\telement.removeEventListener(event, listener, capture);\n\t\t} else if (element.detachEvent) {\n\t\t\telement.detachEvent('on' + event, listener);\n\t\t}\n\t};\n\n\t/**\n\t * Triggers a public event.\n\t * @todo Remove `status`, `relatedTarget` should be used instead.\n\t * @protected\n\t * @param {String} name - The event name.\n\t * @param {*} [data=null] - The event data.\n\t * @param {String} [namespace=carousel] - The event namespace.\n\t * @param {String} [state] - The state which is associated with the event.\n\t * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.\n\t * @returns {Event} - The event arguments.\n\t */\n\tOwl.prototype.trigger = function(name, data, namespace, state, enter) {\n\t\tvar status = {\n\t\t\titem: { count: this._items.length, index: this.current() }\n\t\t}, handler = $.camelCase(\n\t\t\t$.grep([ 'on', name, namespace ], function(v) { return v })\n\t\t\t\t.join('-').toLowerCase()\n\t\t), event = $.Event(\n\t\t\t[ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\n\t\t\t$.extend({ relatedTarget: this }, status, data)\n\t\t);\n\n\t\tif (!this._supress[name]) {\n\t\t\t$.each(this._plugins, function(name, plugin) {\n\t\t\t\tif (plugin.onTrigger) {\n\t\t\t\t\tplugin.onTrigger(event);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.register({ type: Owl.Type.Event, name: name });\n\t\t\tthis.$element.trigger(event);\n\n\t\t\tif (this.settings && typeof this.settings[handler] === 'function') {\n\t\t\t\tthis.settings[handler].call(this, event);\n\t\t\t}\n\t\t}\n\n\t\treturn event;\n\t};\n\n\t/**\n\t * Enters a state.\n\t * @param name - The state name.\n\t */\n\tOwl.prototype.enter = function(name) {\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\n\t\t\tif (this._states.current[name] === undefined) {\n\t\t\t\tthis._states.current[name] = 0;\n\t\t\t}\n\n\t\t\tthis._states.current[name]++;\n\t\t}, this));\n\t};\n\n\t/**\n\t * Leaves a state.\n\t * @param name - The state name.\n\t */\n\tOwl.prototype.leave = function(name) {\n\t\t$.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\n\t\t\tthis._states.current[name]--;\n\t\t}, this));\n\t};\n\n\t/**\n\t * Registers an event or state.\n\t * @public\n\t * @param {Object} object - The event or state to register.\n\t */\n\tOwl.prototype.register = function(object) {\n\t\tif (object.type === Owl.Type.Event) {\n\t\t\tif (!$.event.special[object.name]) {\n\t\t\t\t$.event.special[object.name] = {};\n\t\t\t}\n\n\t\t\tif (!$.event.special[object.name].owl) {\n\t\t\t\tvar _default = $.event.special[object.name]._default;\n\t\t\t\t$.event.special[object.name]._default = function(e) {\n\t\t\t\t\tif (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {\n\t\t\t\t\t\treturn _default.apply(this, arguments);\n\t\t\t\t\t}\n\t\t\t\t\treturn e.namespace && e.namespace.indexOf('owl') > -1;\n\t\t\t\t};\n\t\t\t\t$.event.special[object.name].owl = true;\n\t\t\t}\n\t\t} else if (object.type === Owl.Type.State) {\n\t\t\tif (!this._states.tags[object.name]) {\n\t\t\t\tthis._states.tags[object.name] = object.tags;\n\t\t\t} else {\n\t\t\t\tthis._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);\n\t\t\t}\n\n\t\t\tthis._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {\n\t\t\t\treturn $.inArray(tag, this._states.tags[object.name]) === i;\n\t\t\t}, this));\n\t\t}\n\t};\n\n\t/**\n\t * Suppresses events.\n\t * @protected\n\t * @param {Array.} events - The events to suppress.\n\t */\n\tOwl.prototype.suppress = function(events) {\n\t\t$.each(events, $.proxy(function(index, event) {\n\t\t\tthis._supress[event] = true;\n\t\t}, this));\n\t};\n\n\t/**\n\t * Releases suppressed events.\n\t * @protected\n\t * @param {Array.} events - The events to release.\n\t */\n\tOwl.prototype.release = function(events) {\n\t\t$.each(events, $.proxy(function(index, event) {\n\t\t\tdelete this._supress[event];\n\t\t}, this));\n\t};\n\n\t/**\n\t * Gets unified pointer coordinates from event.\n\t * @todo #261\n\t * @protected\n\t * @param {Event} - The `mousedown` or `touchstart` event.\n\t * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\n\t */\n\tOwl.prototype.pointer = function(event) {\n\t\tvar result = { x: null, y: null };\n\n\t\tevent = event.originalEvent || event || window.event;\n\n\t\tevent = event.touches && event.touches.length ?\n\t\t\tevent.touches[0] : event.changedTouches && event.changedTouches.length ?\n\t\t\t\tevent.changedTouches[0] : event;\n\n\t\tif (event.pageX) {\n\t\t\tresult.x = event.pageX;\n\t\t\tresult.y = event.pageY;\n\t\t} else {\n\t\t\tresult.x = event.clientX;\n\t\t\tresult.y = event.clientY;\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t/**\n\t * Determines if the input is a Number or something that can be coerced to a Number\n\t * @protected\n\t * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested\n\t * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number\n\t */\n\tOwl.prototype.isNumeric = function(number) {\n\t\treturn !isNaN(parseFloat(number));\n\t};\n\n\t/**\n\t * Gets the difference of two vectors.\n\t * @todo #261\n\t * @protected\n\t * @param {Object} - The first vector.\n\t * @param {Object} - The second vector.\n\t * @returns {Object} - The difference.\n\t */\n\tOwl.prototype.difference = function(first, second) {\n\t\treturn {\n\t\t\tx: first.x - second.x,\n\t\t\ty: first.y - second.y\n\t\t};\n\t};\n\n\t/**\n\t * The jQuery Plugin for the Owl Carousel\n\t * @todo Navigation plugin `next` and `prev`\n\t * @public\n\t */\n\t$.fn.owlCarousel = function(option) {\n\t\tvar args = Array.prototype.slice.call(arguments, 1);\n\n\t\treturn this.each(function() {\n\t\t\tvar $this = $(this),\n\t\t\t\tdata = $this.data('owl.carousel');\n\n\t\t\tif (!data) {\n\t\t\t\tdata = new Owl(this, typeof option == 'object' && option);\n\t\t\t\t$this.data('owl.carousel', data);\n\n\t\t\t\t$.each([\n\t\t\t\t\t'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'\n\t\t\t\t], function(i, event) {\n\t\t\t\t\tdata.register({ type: Owl.Type.Event, name: event });\n\t\t\t\t\tdata.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {\n\t\t\t\t\t\tif (e.namespace && e.relatedTarget !== this) {\n\t\t\t\t\t\t\tthis.suppress([ event ]);\n\t\t\t\t\t\t\tdata[event].apply(this, [].slice.call(arguments, 1));\n\t\t\t\t\t\t\tthis.release([ event ]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, data));\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (typeof option == 'string' && option.charAt(0) !== '_') {\n\t\t\t\tdata[option].apply(data, args);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * The constructor for the jQuery Plugin\n\t * @public\n\t */\n\t$.fn.owlCarousel.Constructor = Owl;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * AutoRefresh Plugin\n * @version 2.3.4\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the auto refresh plugin.\n\t * @class The Auto Refresh Plugin\n\t * @param {Owl} carousel - The Owl Carousel\n\t */\n\tvar AutoRefresh = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * Refresh interval.\n\t\t * @protected\n\t\t * @type {number}\n\t\t */\n\t\tthis._interval = null;\n\n\t\t/**\n\t\t * Whether the element is currently visible or not.\n\t\t * @protected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis._visible = null;\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoRefresh) {\n\t\t\t\t\tthis.watch();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);\n\n\t\t// register event handlers\n\t\tthis._core.$element.on(this._handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAutoRefresh.Defaults = {\n\t\tautoRefresh: true,\n\t\tautoRefreshInterval: 500\n\t};\n\n\t/**\n\t * Watches the element.\n\t */\n\tAutoRefresh.prototype.watch = function() {\n\t\tif (this._interval) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._visible = this._core.isVisible();\n\t\tthis._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);\n\t};\n\n\t/**\n\t * Refreshes the element.\n\t */\n\tAutoRefresh.prototype.refresh = function() {\n\t\tif (this._core.isVisible() === this._visible) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._visible = !this._visible;\n\n\t\tthis._core.$element.toggleClass('owl-hidden', !this._visible);\n\n\t\tthis._visible && (this._core.invalidate('width') && this._core.refresh());\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t */\n\tAutoRefresh.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\twindow.clearInterval(this._interval);\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Lazy Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the lazy plugin.\n\t * @class The Lazy Plugin\n\t * @param {Owl} carousel - The Owl Carousel\n\t */\n\tvar Lazy = function(carousel) {\n\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * Already loaded items.\n\t\t * @protected\n\t\t * @type {Array.}\n\t\t */\n\t\tthis._loaded = [];\n\n\t\t/**\n\t\t * Event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (!e.namespace) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!this._core.settings || !this._core.settings.lazyLoad) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ((e.property && e.property.name == 'position') || e.type == 'initialized') {\n\t\t\t\t\tvar settings = this._core.settings,\n\t\t\t\t\t\tn = (settings.center && Math.ceil(settings.items / 2) || settings.items),\n\t\t\t\t\t\ti = ((settings.center && n * -1) || 0),\n\t\t\t\t\t\tposition = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,\n\t\t\t\t\t\tclones = this._core.clones().length,\n\t\t\t\t\t\tload = $.proxy(function(i, v) { this.load(v) }, this);\n\t\t\t\t\t//TODO: Need documentation for this new option\n\t\t\t\t\tif (settings.lazyLoadEager > 0) {\n\t\t\t\t\t\tn += settings.lazyLoadEager;\n\t\t\t\t\t\t// If the carousel is looping also preload images that are to the \"left\"\n\t\t\t\t\t\tif (settings.loop) {\n position -= settings.lazyLoadEager;\n n++;\n }\n\t\t\t\t\t}\n\n\t\t\t\t\twhile (i++ < n) {\n\t\t\t\t\t\tthis.load(clones / 2 + this._core.relative(position));\n\t\t\t\t\t\tclones && $.each(this._core.clones(this._core.relative(position)), load);\n\t\t\t\t\t\tposition++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set the default options\n\t\tthis._core.options = $.extend({}, Lazy.Defaults, this._core.options);\n\n\t\t// register event handler\n\t\tthis._core.$element.on(this._handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tLazy.Defaults = {\n\t\tlazyLoad: false,\n\t\tlazyLoadEager: 0\n\t};\n\n\t/**\n\t * Loads all resources of an item at the specified position.\n\t * @param {Number} position - The absolute position of the item.\n\t * @protected\n\t */\n\tLazy.prototype.load = function(position) {\n\t\tvar $item = this._core.$stage.children().eq(position),\n\t\t\t$elements = $item && $item.find('.owl-lazy');\n\n\t\tif (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\n\t\t\treturn;\n\t\t}\n\n\t\t$elements.each($.proxy(function(index, element) {\n\t\t\tvar $element = $(element), image,\n url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src') || $element.attr('data-srcset');\n\n\t\t\tthis._core.trigger('load', { element: $element, url: url }, 'lazy');\n\n\t\t\tif ($element.is('img')) {\n\t\t\t\t$element.one('load.owl.lazy', $.proxy(function() {\n\t\t\t\t\t$element.css('opacity', 1);\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n\t\t\t\t}, this)).attr('src', url);\n } else if ($element.is('source')) {\n $element.one('load.owl.lazy', $.proxy(function() {\n this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n }, this)).attr('srcset', url);\n\t\t\t} else {\n\t\t\t\timage = new Image();\n\t\t\t\timage.onload = $.proxy(function() {\n\t\t\t\t\t$element.css({\n\t\t\t\t\t\t'background-image': 'url(\"' + url + '\")',\n\t\t\t\t\t\t'opacity': '1'\n\t\t\t\t\t});\n\t\t\t\t\tthis._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n\t\t\t\t}, this);\n\t\t\t\timage.src = url;\n\t\t\t}\n\t\t}, this));\n\n\t\tthis._loaded.push($item.get(0));\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t * @public\n\t */\n\tLazy.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tfor (handler in this.handlers) {\n\t\t\tthis._core.$element.off(handler, this.handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * AutoHeight Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the auto height plugin.\n\t * @class The Auto Height Plugin\n\t * @param {Owl} carousel - The Owl Carousel\n\t */\n\tvar AutoHeight = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\tthis._previousHeight = null;\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight) {\n\t\t\t\t\tthis.update();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight && e.property.name === 'position'){\n\t\t\t\t\tthis.update();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'loaded.owl.lazy': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoHeight\n\t\t\t\t\t&& e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {\n\t\t\t\t\tthis.update();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\n\n\t\t// register event handlers\n\t\tthis._core.$element.on(this._handlers);\n\t\tthis._intervalId = null;\n\t\tvar refThis = this;\n\n\t\t// These changes have been taken from a PR by gavrochelegnou proposed in #1575\n\t\t// and have been made compatible with the latest jQuery version\n\t\t$(window).on('load', function() {\n\t\t\tif (refThis._core.settings.autoHeight) {\n\t\t\t\trefThis.update();\n\t\t\t}\n\t\t});\n\n\t\t// Autoresize the height of the carousel when window is resized\n\t\t// When carousel has images, the height is dependent on the width\n\t\t// and should also change on resize\n\t\t$(window).resize(function() {\n\t\t\tif (refThis._core.settings.autoHeight) {\n\t\t\t\tif (refThis._intervalId != null) {\n\t\t\t\t\tclearTimeout(refThis._intervalId);\n\t\t\t\t}\n\n\t\t\t\trefThis._intervalId = setTimeout(function() {\n\t\t\t\t\trefThis.update();\n\t\t\t\t}, 250);\n\t\t\t}\n\t\t});\n\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAutoHeight.Defaults = {\n\t\tautoHeight: false,\n\t\tautoHeightClass: 'owl-height'\n\t};\n\n\t/**\n\t * Updates the view.\n\t */\n\tAutoHeight.prototype.update = function() {\n\t\tvar start = this._core._current,\n\t\t\tend = start + this._core.settings.items,\n\t\t\tlazyLoadEnabled = this._core.settings.lazyLoad,\n\t\t\tvisible = this._core.$stage.children().toArray().slice(start, end),\n\t\t\theights = [],\n\t\t\tmaxheight = 0;\n\n\t\t$.each(visible, function(index, item) {\n\t\t\theights.push($(item).height());\n\t\t});\n\n\t\tmaxheight = Math.max.apply(null, heights);\n\n\t\tif (maxheight <= 1 && lazyLoadEnabled && this._previousHeight) {\n\t\t\tmaxheight = this._previousHeight;\n\t\t}\n\n\t\tthis._previousHeight = maxheight;\n\n\t\tthis._core.$stage.parent()\n\t\t\t.height(maxheight)\n\t\t\t.addClass(this._core.settings.autoHeightClass);\n\t};\n\n\tAutoHeight.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] !== 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Video Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the video plugin.\n\t * @class The Video Plugin\n\t * @param {Owl} carousel - The Owl Carousel\n\t */\n\tvar Video = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * Cache all video URLs.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._videos = {};\n\n\t\t/**\n\t\t * Current playing item.\n\t\t * @protected\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis._playing = null;\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @todo The cloned content removale is too late\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'resize.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.video && this.isInFullScreen()) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.is('resizing')) {\n\t\t\t\t\tthis._core.$stage.find('.cloned .owl-video-frame').remove();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name === 'position' && this._playing) {\n\t\t\t\t\tthis.stop();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (!e.namespace) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar $element = $(e.content).find('.owl-video');\n\n\t\t\t\tif ($element.length) {\n\t\t\t\t\t$element.css('display', 'none');\n\t\t\t\t\tthis.fetch($element, $(e.content));\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, Video.Defaults, this._core.options);\n\n\t\t// register event handlers\n\t\tthis._core.$element.on(this._handlers);\n\n\t\tthis._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\n\t\t\tthis.play(e);\n\t\t}, this));\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tVideo.Defaults = {\n\t\tvideo: false,\n\t\tvideoHeight: false,\n\t\tvideoWidth: false\n\t};\n\n\t/**\n\t * Gets the video ID and the type (YouTube/Vimeo/vzaar only).\n\t * @protected\n\t * @param {jQuery} target - The target containing the video data.\n\t * @param {jQuery} item - The item containing the video.\n\t */\n\tVideo.prototype.fetch = function(target, item) {\n\t\t\tvar type = (function() {\n\t\t\t\t\tif (target.attr('data-vimeo-id')) {\n\t\t\t\t\t\treturn 'vimeo';\n\t\t\t\t\t} else if (target.attr('data-vzaar-id')) {\n\t\t\t\t\t\treturn 'vzaar'\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 'youtube';\n\t\t\t\t\t}\n\t\t\t\t})(),\n\t\t\t\tid = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),\n\t\t\t\twidth = target.attr('data-width') || this._core.settings.videoWidth,\n\t\t\t\theight = target.attr('data-height') || this._core.settings.videoHeight,\n\t\t\t\turl = target.attr('href');\n\n\t\tif (url) {\n\n\t\t\t/*\n\t\t\t\t\tParses the id's out of the following urls (and probably more):\n\t\t\t\t\thttps://www.youtube.com/watch?v=:id\n\t\t\t\t\thttps://youtu.be/:id\n\t\t\t\t\thttps://vimeo.com/:id\n\t\t\t\t\thttps://vimeo.com/channels/:channel/:id\n\t\t\t\t\thttps://vimeo.com/groups/:group/videos/:id\n\t\t\t\t\thttps://app.vzaar.com/videos/:id\n\n\t\t\t\t\tVisual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F\n\t\t\t*/\n\n\t\t\tid = url.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com|be\\-nocookie\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/);\n\n\t\t\tif (id[3].indexOf('youtu') > -1) {\n\t\t\t\ttype = 'youtube';\n\t\t\t} else if (id[3].indexOf('vimeo') > -1) {\n\t\t\t\ttype = 'vimeo';\n\t\t\t} else if (id[3].indexOf('vzaar') > -1) {\n\t\t\t\ttype = 'vzaar';\n\t\t\t} else {\n\t\t\t\tthrow new Error('Video URL not supported.');\n\t\t\t}\n\t\t\tid = id[6];\n\t\t} else {\n\t\t\tthrow new Error('Missing video URL.');\n\t\t}\n\n\t\tthis._videos[url] = {\n\t\t\ttype: type,\n\t\t\tid: id,\n\t\t\twidth: width,\n\t\t\theight: height\n\t\t};\n\n\t\titem.attr('data-video', url);\n\n\t\tthis.thumbnail(target, this._videos[url]);\n\t};\n\n\t/**\n\t * Creates video thumbnail.\n\t * @protected\n\t * @param {jQuery} target - The target containing the video data.\n\t * @param {Object} info - The video info object.\n\t * @see `fetch`\n\t */\n\tVideo.prototype.thumbnail = function(target, video) {\n\t\tvar tnLink,\n\t\t\ticon,\n\t\t\tpath,\n\t\t\tdimensions = video.width && video.height ? 'width:' + video.width + 'px;height:' + video.height + 'px;' : '',\n\t\t\tcustomTn = target.find('img'),\n\t\t\tsrcType = 'src',\n\t\t\tlazyClass = '',\n\t\t\tsettings = this._core.settings,\n\t\t\tcreate = function(path) {\n\t\t\t\ticon = '
';\n\n\t\t\t\tif (settings.lazyLoad) {\n\t\t\t\t\ttnLink = $('
',{\n\t\t\t\t\t\t\"class\": 'owl-video-tn ' + lazyClass,\n\t\t\t\t\t\t\"srcType\": path\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttnLink = $( '
', {\n\t\t\t\t\t\t\"class\": \"owl-video-tn\",\n\t\t\t\t\t\t\"style\": 'opacity:1;background-image:url(' + path + ')'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttarget.after(tnLink);\n\t\t\t\ttarget.after(icon);\n\t\t\t};\n\n\t\t// wrap video content into owl-video-wrapper div\n\t\ttarget.wrap( $( '
', {\n\t\t\t\"class\": \"owl-video-wrapper\",\n\t\t\t\"style\": dimensions\n\t\t}));\n\n\t\tif (this._core.settings.lazyLoad) {\n\t\t\tsrcType = 'data-src';\n\t\t\tlazyClass = 'owl-lazy';\n\t\t}\n\n\t\t// custom thumbnail\n\t\tif (customTn.length) {\n\t\t\tcreate(customTn.attr(srcType));\n\t\t\tcustomTn.remove();\n\t\t\treturn false;\n\t\t}\n\n\t\tif (video.type === 'youtube') {\n\t\t\tpath = \"//img.youtube.com/vi/\" + video.id + \"/hqdefault.jpg\";\n\t\t\tcreate(path);\n\t\t} else if (video.type === 'vimeo') {\n\t\t\t$.ajax({\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: '//vimeo.com/api/v2/video/' + video.id + '.json',\n\t\t\t\tjsonp: 'callback',\n\t\t\t\tdataType: 'jsonp',\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tpath = data[0].thumbnail_large;\n\t\t\t\t\tcreate(path);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (video.type === 'vzaar') {\n\t\t\t$.ajax({\n\t\t\t\ttype: 'GET',\n\t\t\t\turl: '//vzaar.com/api/videos/' + video.id + '.json',\n\t\t\t\tjsonp: 'callback',\n\t\t\t\tdataType: 'jsonp',\n\t\t\t\tsuccess: function(data) {\n\t\t\t\t\tpath = data.framegrab_url;\n\t\t\t\t\tcreate(path);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Stops the current video.\n\t * @public\n\t */\n\tVideo.prototype.stop = function() {\n\t\tthis._core.trigger('stop', null, 'video');\n\t\tthis._playing.find('.owl-video-frame').remove();\n\t\tthis._playing.removeClass('owl-video-playing');\n\t\tthis._playing = null;\n\t\tthis._core.leave('playing');\n\t\tthis._core.trigger('stopped', null, 'video');\n\t};\n\n\t/**\n\t * Starts the current video.\n\t * @public\n\t * @param {Event} event - The event arguments.\n\t */\n\tVideo.prototype.play = function(event) {\n\t\tvar target = $(event.target),\n\t\t\titem = target.closest('.' + this._core.settings.itemClass),\n\t\t\tvideo = this._videos[item.attr('data-video')],\n\t\t\twidth = video.width || '100%',\n\t\t\theight = video.height || this._core.$stage.height(),\n\t\t\thtml,\n\t\t\tiframe;\n\n\t\tif (this._playing) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._core.enter('playing');\n\t\tthis._core.trigger('play', null, 'video');\n\n\t\titem = this._core.items(this._core.relative(item.index()));\n\n\t\tthis._core.reset(item.index());\n\n\t\thtml = $( '' );\n\t\thtml.attr( 'height', height );\n\t\thtml.attr( 'width', width );\n\t\tif (video.type === 'youtube') {\n\t\t\thtml.attr( 'src', '//www.youtube.com/embed/' + video.id + '?autoplay=1&rel=0&v=' + video.id );\n\t\t} else if (video.type === 'vimeo') {\n\t\t\thtml.attr( 'src', '//player.vimeo.com/video/' + video.id + '?autoplay=1' );\n\t\t} else if (video.type === 'vzaar') {\n\t\t\thtml.attr( 'src', '//view.vzaar.com/' + video.id + '/player?autoplay=true' );\n\t\t}\n\n\t\tiframe = $(html).wrap( '
' ).insertAfter(item.find('.owl-video'));\n\n\t\tthis._playing = item.addClass('owl-video-playing');\n\t};\n\n\t/**\n\t * Checks whether an video is currently in full screen mode or not.\n\t * @todo Bad style because looks like a readonly method but changes members.\n\t * @protected\n\t * @returns {Boolean}\n\t */\n\tVideo.prototype.isInFullScreen = function() {\n\t\tvar element = document.fullscreenElement || document.mozFullScreenElement ||\n\t\t\t\tdocument.webkitFullscreenElement;\n\n\t\treturn element && $(element).parent().hasClass('owl-video-frame');\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t */\n\tVideo.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tthis._core.$element.off('click.owl.video');\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.Video = Video;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Animate Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the animate plugin.\n\t * @class The Navigation Plugin\n\t * @param {Owl} scope - The Owl Carousel\n\t */\n\tvar Animate = function(scope) {\n\t\tthis.core = scope;\n\t\tthis.core.options = $.extend({}, Animate.Defaults, this.core.options);\n\t\tthis.swapping = true;\n\t\tthis.previous = undefined;\n\t\tthis.next = undefined;\n\n\t\tthis.handlers = {\n\t\t\t'change.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\n\t\t\t\t\tthis.previous = this.core.current();\n\t\t\t\t\tthis.next = e.property.value;\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.swapping = e.type == 'translated';\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'translate.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\n\t\t\t\t\tthis.swap();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\tthis.core.$element.on(this.handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAnimate.Defaults = {\n\t\tanimateOut: false,\n\t\tanimateIn: false\n\t};\n\n\t/**\n\t * Toggles the animation classes whenever an translations starts.\n\t * @protected\n\t * @returns {Boolean|undefined}\n\t */\n\tAnimate.prototype.swap = function() {\n\n\t\tif (this.core.settings.items !== 1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!$.support.animation || !$.support.transition) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.core.speed(0);\n\n\t\tvar left,\n\t\t\tclear = $.proxy(this.clear, this),\n\t\t\tprevious = this.core.$stage.children().eq(this.previous),\n\t\t\tnext = this.core.$stage.children().eq(this.next),\n\t\t\tincoming = this.core.settings.animateIn,\n\t\t\toutgoing = this.core.settings.animateOut;\n\n\t\tif (this.core.current() === this.previous) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (outgoing) {\n\t\t\tleft = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\n\t\t\tprevious.one($.support.animation.end, clear)\n\t\t\t\t.css( { 'left': left + 'px' } )\n\t\t\t\t.addClass('animated owl-animated-out')\n\t\t\t\t.addClass(outgoing);\n\t\t}\n\n\t\tif (incoming) {\n\t\t\tnext.one($.support.animation.end, clear)\n\t\t\t\t.addClass('animated owl-animated-in')\n\t\t\t\t.addClass(incoming);\n\t\t}\n\t};\n\n\tAnimate.prototype.clear = function(e) {\n\t\t$(e.target).css( { 'left': '' } )\n\t\t\t.removeClass('animated owl-animated-out owl-animated-in')\n\t\t\t.removeClass(this.core.settings.animateIn)\n\t\t\t.removeClass(this.core.settings.animateOut);\n\t\tthis.core.onTransitionEnd();\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t * @public\n\t */\n\tAnimate.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tfor (handler in this.handlers) {\n\t\t\tthis.core.$element.off(handler, this.handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Autoplay Plugin\n * @version 2.3.4\n * @author Bartosz Wojciechowski\n * @author Artus Kolanowski\n * @author David Deutsch\n * @author Tom De Caluwé\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n\t/**\n\t * Creates the autoplay plugin.\n\t * @class The Autoplay Plugin\n\t * @param {Owl} scope - The Owl Carousel\n\t */\n\tvar Autoplay = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * The autoplay timeout id.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._call = null;\n\n\t\t/**\n\t\t * Depending on the state of the plugin, this variable contains either\n\t\t * the start time of the timer or the current timer value if it's\n\t\t * paused. Since we start in a paused state we initialize the timer\n\t\t * value.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._time = 0;\n\n\t\t/**\n\t\t * Stores the timeout currently used.\n\t\t * @type {Number}\n\t\t */\n\t\tthis._timeout = 0;\n\n\t\t/**\n\t\t * Indicates whenever the autoplay is paused.\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis._paused = true;\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name === 'settings') {\n\t\t\t\t\tif (this._core.settings.autoplay) {\n\t\t\t\t\t\tthis.play();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.stop();\n\t\t\t\t\t}\n\t\t\t\t} else if (e.namespace && e.property.name === 'position' && this._paused) {\n\t\t\t\t\t// Reset the timer. This code is triggered when the position\n\t\t\t\t\t// of the carousel was changed through user interaction.\n\t\t\t\t\tthis._time = 0;\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.autoplay) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'play.owl.autoplay': $.proxy(function(e, t, s) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.play(t, s);\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'stop.owl.autoplay': $.proxy(function(e) {\n\t\t\t\tif (e.namespace) {\n\t\t\t\t\tthis.stop();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'mouseover.owl.autoplay': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.pause();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'mouseleave.owl.autoplay': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'touchstart.owl.core': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n\t\t\t\t\tthis.pause();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'touchend.owl.core': $.proxy(function() {\n\t\t\t\tif (this._core.settings.autoplayHoverPause) {\n\t\t\t\t\tthis.play();\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// register event handlers\n\t\tthis._core.$element.on(this._handlers);\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t */\n\tAutoplay.Defaults = {\n\t\tautoplay: false,\n\t\tautoplayTimeout: 5000,\n\t\tautoplayHoverPause: false,\n\t\tautoplaySpeed: false\n\t};\n\n\t/**\n\t * Transition to the next slide and set a timeout for the next transition.\n\t * @private\n\t * @param {Number} [speed] - The animation speed for the animations.\n\t */\n\tAutoplay.prototype._next = function(speed) {\n\t\tthis._call = window.setTimeout(\n\t\t\t$.proxy(this._next, this, speed),\n\t\t\tthis._timeout * (Math.round(this.read() / this._timeout) + 1) - this.read()\n\t\t);\n\n\t\tif (this._core.is('interacting') || document.hidden) {\n\t\t\treturn;\n\t\t}\n\t\tthis._core.next(speed || this._core.settings.autoplaySpeed);\n\t}\n\n\t/**\n\t * Reads the current timer value when the timer is playing.\n\t * @public\n\t */\n\tAutoplay.prototype.read = function() {\n\t\treturn new Date().getTime() - this._time;\n\t};\n\n\t/**\n\t * Starts the autoplay.\n\t * @public\n\t * @param {Number} [timeout] - The interval before the next animation starts.\n\t * @param {Number} [speed] - The animation speed for the animations.\n\t */\n\tAutoplay.prototype.play = function(timeout, speed) {\n\t\tvar elapsed;\n\n\t\tif (!this._core.is('rotating')) {\n\t\t\tthis._core.enter('rotating');\n\t\t}\n\n\t\ttimeout = timeout || this._core.settings.autoplayTimeout;\n\n\t\t// Calculate the elapsed time since the last transition. If the carousel\n\t\t// wasn't playing this calculation will yield zero.\n\t\telapsed = Math.min(this._time % (this._timeout || timeout), timeout);\n\n\t\tif (this._paused) {\n\t\t\t// Start the clock.\n\t\t\tthis._time = this.read();\n\t\t\tthis._paused = false;\n\t\t} else {\n\t\t\t// Clear the active timeout to allow replacement.\n\t\t\twindow.clearTimeout(this._call);\n\t\t}\n\n\t\t// Adjust the origin of the timer to match the new timeout value.\n\t\tthis._time += this.read() % timeout - elapsed;\n\n\t\tthis._timeout = timeout;\n\t\tthis._call = window.setTimeout($.proxy(this._next, this, speed), timeout - elapsed);\n\t};\n\n\t/**\n\t * Stops the autoplay.\n\t * @public\n\t */\n\tAutoplay.prototype.stop = function() {\n\t\tif (this._core.is('rotating')) {\n\t\t\t// Reset the clock.\n\t\t\tthis._time = 0;\n\t\t\tthis._paused = true;\n\n\t\t\twindow.clearTimeout(this._call);\n\t\t\tthis._core.leave('rotating');\n\t\t}\n\t};\n\n\t/**\n\t * Pauses the autoplay.\n\t * @public\n\t */\n\tAutoplay.prototype.pause = function() {\n\t\tif (this._core.is('rotating') && !this._paused) {\n\t\t\t// Pause the clock.\n\t\t\tthis._time = this.read();\n\t\t\tthis._paused = true;\n\n\t\t\twindow.clearTimeout(this._call);\n\t\t}\n\t};\n\n\t/**\n\t * Destroys the plugin.\n\t */\n\tAutoplay.prototype.destroy = function() {\n\t\tvar handler, property;\n\n\t\tthis.stop();\n\n\t\tfor (handler in this._handlers) {\n\t\t\tthis._core.$element.off(handler, this._handlers[handler]);\n\t\t}\n\t\tfor (property in Object.getOwnPropertyNames(this)) {\n\t\t\ttypeof this[property] != 'function' && (this[property] = null);\n\t\t}\n\t};\n\n\t$.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Navigation Plugin\n * @version 2.3.4\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\t'use strict';\n\n\t/**\n\t * Creates the navigation plugin.\n\t * @class The Navigation Plugin\n\t * @param {Owl} carousel - The Owl Carousel.\n\t */\n\tvar Navigation = function(carousel) {\n\t\t/**\n\t\t * Reference to the core.\n\t\t * @protected\n\t\t * @type {Owl}\n\t\t */\n\t\tthis._core = carousel;\n\n\t\t/**\n\t\t * Indicates whether the plugin is initialized or not.\n\t\t * @protected\n\t\t * @type {Boolean}\n\t\t */\n\t\tthis._initialized = false;\n\n\t\t/**\n\t\t * The current paging indexes.\n\t\t * @protected\n\t\t * @type {Array}\n\t\t */\n\t\tthis._pages = [];\n\n\t\t/**\n\t\t * All DOM elements of the user interface.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._controls = {};\n\n\t\t/**\n\t\t * Markup for an indicator.\n\t\t * @protected\n\t\t * @type {Array.}\n\t\t */\n\t\tthis._templates = [];\n\n\t\t/**\n\t\t * The carousel element.\n\t\t * @type {jQuery}\n\t\t */\n\t\tthis.$element = this._core.$element;\n\n\t\t/**\n\t\t * Overridden methods of the carousel.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._overrides = {\n\t\t\tnext: this._core.next,\n\t\t\tprev: this._core.prev,\n\t\t\tto: this._core.to\n\t\t};\n\n\t\t/**\n\t\t * All event handlers.\n\t\t * @protected\n\t\t * @type {Object}\n\t\t */\n\t\tthis._handlers = {\n\t\t\t'prepared.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.push('
' +\n\t\t\t\t\t\t$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
');\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'added.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.splice(e.position, 0, this._templates.pop());\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'remove.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._core.settings.dotsData) {\n\t\t\t\t\tthis._templates.splice(e.position, 1);\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'changed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && e.property.name == 'position') {\n\t\t\t\t\tthis.draw();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'initialized.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && !this._initialized) {\n\t\t\t\t\tthis._core.trigger('initialize', null, 'navigation');\n\t\t\t\t\tthis.initialize();\n\t\t\t\t\tthis.update();\n\t\t\t\t\tthis.draw();\n\t\t\t\t\tthis._initialized = true;\n\t\t\t\t\tthis._core.trigger('initialized', null, 'navigation');\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\t'refreshed.owl.carousel': $.proxy(function(e) {\n\t\t\t\tif (e.namespace && this._initialized) {\n\t\t\t\t\tthis._core.trigger('refresh', null, 'navigation');\n\t\t\t\t\tthis.update();\n\t\t\t\t\tthis.draw();\n\t\t\t\t\tthis._core.trigger('refreshed', null, 'navigation');\n\t\t\t\t}\n\t\t\t}, this)\n\t\t};\n\n\t\t// set default options\n\t\tthis._core.options = $.extend({}, Navigation.Defaults, this._core.options);\n\n\t\t// register event handlers\n\t\tthis.$element.on(this._handlers);\n\t};\n\n\t/**\n\t * Default options.\n\t * @public\n\t * @todo Rename `slideBy` to `navBy`\n\t */\n\tNavigation.Defaults = {\n\t\tnav: false,\n\t\tnavText: [\n\t\t\t'',\n\t\t\t''\n\t\t],\n\t\tnavSpeed: false,\n\t\tnavElement: 'button type=\"button\" role=\"presentation\"',\n\t\tnavContainer: false,\n\t\tnavContainerClass: 'owl-nav',\n\t\tnavClass: [\n\t\t\t'owl-prev',\n\t\t\t'owl-next'\n\t\t],\n\t\tslideBy: 1,\n\t\tdotClass: 'owl-dot',\n\t\tdotsClass: 'owl-dots',\n\t\tdots: true,\n\t\tdotsEach: false,\n\t\tdotsData: false,\n\t\tdotsSpeed: false,\n\t\tdotsContainer: false\n\t};\n\n\t/**\n\t * Initializes the layout of the plugin and extends the carousel.\n\t * @protected\n\t */\n\tNavigation.prototype.initialize = function() {\n\t\tvar override,\n\t\t\tsettings = this._core.settings;\n\n\t\t// create DOM structure for relative navigation\n\t\tthis._controls.$relative = (settings.navContainer ? $(settings.navContainer)\n\t\t\t: $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\n\n\t\tthis._controls.$previous = $('<' + settings.navElement + '>')\n\t\t\t.addClass(settings.navClass[0])\n\t\t\t.html(settings.navText[0])\n\t\t\t.prependTo(this._controls.$relative)\n\t\t\t.on('click', $.proxy(function(e) {\n\t\t\t\tthis.prev(settings.navSpeed);\n\t\t\t}, this));\n\t\tthis._controls.$next = $('<' + settings.navElement + '>')\n\t\t\t.addClass(settings.navClass[1])\n\t\t\t.html(settings.navText[1])\n\t\t\t.appendTo(this._controls.$relative)\n\t\t\t.on('click', $.proxy(function(e) {\n\t\t\t\tthis.next(settings.navSpeed);\n\t\t\t}, this));\n\n\t\t// create DOM structure for absolute navigation\n\t\tif (!settings.dotsData) {\n\t\t\tthis._templates = [ $('