{"version":3,"sources":["readmore.js","lazysizes.min.js","jquery.accordion.js","jquery.responsiveTabs.js","jquery.background-video.js","jquery.fancybox.js","slick.js","custom.js"],"names":["factory","define","amd","exports","module","$","readmore","defaults","speed","collapsedHeight","heightMargin","moreLink","lessLink","startOpen","beforeToggle","blockProcessed","afterToggle","uniqueIdCounter","String","element","el","clone","css","height","width","setBoxHeights","maxHeight","insertAfter","outerHeight","overflow","parseInt","replace","data","remove","defaultHeight","expandedHeight","cssMaxHeight","wait","immediate","timeout","resizeBoxes","debounce","current","this","attr","isExpanded","context","args","arguments","callNow","clearTimeout","setTimeout","later","apply","window","addEventListener","options","styles","selector","blockCSS","appendChild","document","d","createElement","type","styleSheet","cssText","u","createTextNode","cssEmbedded","attachEvent","_defaults","_name","Readmore","prototype","init","id","useLink","_this","prefix","data-readmore","aria-expanded","toggle","after","event","trigger","preventDefault","data-readmore-toggle","aria-controls","$element","newHeight","newLink","expanded","destroy","on","next","off","replaceWith","each","instance","removeData","fn","_typeof","Array","slice","call","a","b","c","getElementsByClassName","e","documentElement","f","Date","g","HTMLPictureElement","h","i","j","k","l","requestAnimationFrame","m","requestIdleCallback","n","o","p","q","forEach","r","RegExp","test","s","setAttribute","trim","t","v","createEvent","initEvent","detail","dispatchEvent","w","picturefill","pf","src","reevaluate","elements","x","getComputedStyle","y","offsetWidth","minSize","_lazysizesWidth","parentNode","z","push","hidden","_lsFlush","length","shift","A","C","now","lazyClass","loadedClass","loadingClass","preloadClass","errorClass","autosizesClass","srcAttr","srcsetAttr","sizesAttr","customMedia","expFactor","hFac","loadMode","loadHidden","ricTimeout","throttleDelay","lazySizesConfig","lazysizesConfig","F","D","J","K","L","navigator","userAgent","P","Q","O","target","R","body","I","G","H","offsetParent","getBoundingClientRect","left","right","top","bottom","S","expand","clientHeight","clientWidth","N","_lazyRace","innerWidth","innerHeight","preloadAfterLoad","T","V","U","W","Y","Z","defaultPrevented","nodeName","firesLoad","getElementsByTagName","contentWindow","location","X","complete","naturalWidth","_","MutationObserver","observe","childList","subtree","attributes","setInterval","readyState","checkElems","unveil","srcset","E","updateElem","dataAttr","cfg","autoSizer","loader","uP","aC","rC","hC","fire","gW","rAF","lazySizes","undefined","pluginName","transitionSpeed","transitionEasing","controlElement","contentElement","Accordion","extend","func","threshold","execAsap","$accordion","self","find","opts","$controls","accordionHasParent","parents","closedCSS","max-height","CSStransitions","style","supportsTransitions","$content","$el","-webkit-transition","transition","children","$parentAccordion","updateParentHeight","$currentAccordion","qty","operation","$matched","singleOpen","filter","$childs","not","siblings","currentHeight","add","hasClass","calculateHeight","closeAccordion","$parentAccordions","removeClass","openAccordion","animate","toggleTransition","requestAnimFrame","cb","webkitRequestAnimationFrame","mozRequestAnimationFrame","addClass","closeSiblingAccordions","$accordionGroup","$otherAccordions","$siblings","toggleAccordion","isAccordionGroup","groupElement","closest","$siblingsChildren","refreshHeight","$curr","obj","jQuery","active","disabled","collapsible","startCollapsed","rotate","setHash","animation","animationQueue","duration","fluidHeight","scrollToAccordion","scrollToAccordionOnLoad","scrollToAccordionOffset","accordionTabElement","navigationContainer","click","stateDefault","deactivate","stateDisabled","activateState","container","stateActive","stateExcluded","ResponsiveTabs","tabs","$queue","state","_loadElements","_loadClasses","_loadEvents","_setState","_equaliseHeights","tabRef","_getTabRefBySelector","hash","_getTab","oTab","_ignoreHashChange","_openTab","startRotation","bind","activate","startTab","_getStartTab","$ul","classes","ul","$accordionAnchor","panelSelector","$tab","$anchor","isExcluded","$accordionTab","$panel","html","appendTo","anchor","accordionAnchor","tab","panel","accordionTab","accordionTitle","fActivate","_getCurrentTab","activatedTab","history","origin","protocol","hostname","port","pushState","pathname","search","_isCollapisble","_closeTab","oldState","startCollapsedIsState","is","newState","closeCurrent","stopRotation","scrollOffset","rotateInterval","_doTransition","getState","_isInView","scrollOnLoad","offset","scrollTop","doQueue","doQueueOnState","method","callback","dequeue","effect","queue","numRef","_getCurrentTabRef","_getNextTabRef","currentTabRef","nextTabRef","_getPreviousTabRef","map","docViewTop","docViewBottom","elemTop","Event","enable","Error","disable","clearInterval","option","key","value","responsiveTabs","isNumeric","currentTime","Math","floor","getTime","bgVideo","old_iOS","platform","appVersion","match","iOSVersion","iOSversion","settings","start_time","$video","$pauseplay","video","poster","$container","parent","el_settings","data_name","data_attrs","data_val","charAt","toLowerCase","fitVideo","text","fadeOnPause","position","background-size","background-position","background-repeat","background-image","min-width","transform","fullScreen","margin","fadeIn","pauseAfter","resize","showPausePlay","pause","fadeOnEnd","append","pausePlayXPos","pausePlayXOffset","pausePlayYPos","pausePlayYOffset","margin-top","paused","play","container_height","container_width","video_height","ready","console","info","stuff","fancybox","closeExisting","div","buttonStr","keyboard","gutter","infobar","preventCaptionOverlap","arrows","smallBtn","protect","buttons","preload","tpl","image","scrolling","format","defaultType","transitionEffect","autoStart","download","animationDuration","zoomOpacity","transitionDuration","slideClass","vertical","baseTpl","spinnerTpl","errorTpl","media","slideShow","thumbs","close","arrowLeft","arrowRight","parentEl","afterLoad","noop","beforeClose","backFocus","onDeactivate","touch","momentum","clickContent","dblclickContent","hideOnClose","dblclickSlide","wheel","ZOOM","de","CLOSE","PREV","ERROR","PLAY_STOP","FULL_SCREEN","DOWNLOAD","SHARE","requestAFrame","clickSlide","clickOutside","cancelAnimationFrame","dblclickOutside","mobile","transitions","OTransition","MozTransition","WebkitTransition","lang","i18n","en","NEXT","mergeOpts","rez","THUMBS","inViewport","elemCenter","PLAY_START","elem","$W","$D","called","currIndex","prevIndex","firstRun","cancelAFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","transitionEnd","firstItem","firstItemOpts","btnTpl","opts1","opts2","$refs","isArray","item","FancyBox","isPlainObject","content","index","$item","isMobile","$orig","substring","currPos","slides","group","contentType","hideScrollbar","scrollHeight","translate","toolbar","$thumb","baseClass","$trigger","jumpTo","str","arr","caption","srcParts","items","makeArray","trapFocus","create","removeEvents","stopPropagation","isScaledDown","found","originalEvent","requestId","update","stage","show","keycode","focus","inArray","idleTime","idleSecondsCounter","split","modal","idleInterval","groupLen","isMoved","loop","isDragging","Object","keys","pos","isActive","createSlide","updateControls","forcedDuration","previous","slidePos","getTranslate","slide","isComplete","hide","setTranslate","getInstance","leftPos","stagePos","opacity","ctrlKey","altKey","shiftKey","$slide","isLoaded","isIdle","showControls","canvasWidth","canvasHeight","newImgWidth","imgPos","hideControls","posY","isAnimating","scaleY","newImgHeight","posX","scaleX","isClosing","scaleToFit","end","getFitPos","minRatio","maxWidth","parseFloat","animationEffect","aspectRatio","updateSlide","className","join","diff","forceRedraw","prop","isZoomable","canPan","nextWidth","toggleClass","hasError","fitPos","stop","updateCursor","SlideShow","ajaxLoad","isLoading","setImage","setIframe","setContent","setError","success","textStatus","error","one","$image","min","ratio","ghost","onerror","$ghost","pxRatio","windowWidth","temp","adjustCaption","ret","postfix","adjustLayout","navigation","get","setBigImage","resolveImageSlideSize","sizes","$img","imgWidth","imgHeight","nextHeight","Guestures","showLoading","$iframe","isFunction","$contents","$body","frameWidth","frameHeight","isRevealed","hideLoading","abs","loadSlide","$placeholder","wrap","videoFormat","ajax","jqXHR","checkSrcset","button","thumb","revealContent","captionH","$caption","$clone","preventOverlap","devicePixelRatio","inlinePadding","marginBottom","url","img","naturalHeight","round","max","effectClassName","getThumbPos","iframe","thumbPos","isReady","contents","max-width","ceil","outerWidth","Document","exitFullscreen","webkitExitFullscreen","autoFocus","unbind","ignore","empty","prev","focusedItemIndex","focusableItems","$smallBtn","isVisible","first","done","cleanUp","wrapInner","$spinner","domRect","$focus","scrollY","eq","name","actualPadding","disableLayoutFix","hasHiddenControls","start","command","open","prevPos","use3d","all","btw","bbw","blw","addContent","offsetHeight","elementFromPoint","props","brw","from","to","callCallback","_run","isDefaultPrevented","focusableStr","$target","activeElement","$pressed","addEvents","youtube","matcher","autohide","wmode","paramPlace","show_byline","fullscreen","instagram","gmap_place","gmap_search","params","param","indexOf","paramObj","providerName","providerOpts","provider","urlParams","scrollX","contentSource","class","loading","vimeo","loaded","unshift","script","vendor","onload","events","onStateChange","player","VideoAPILoader","andCaption","getPointerXY","result","pageX","pageY","toggleControls","distance","version","point2","substr","hasScrollbars","tapped","ontouchstart","getPropertyValue","documentMode","canTap","isScrolling","startTime","distanceX","distanceY","contentLastPos","contentStartPos","sliderStartPos","leaveAnimationName","propertyName","isSwiping","startPoints","isPanning","isZooming","centerPointStartX","centerPointStartY","startDistanceBetweenFingers","onscroll","ontouchend","onSwipe","onZoom","newPoints","limitMovement","currentOffsetY","currentWidth","minTranslateX","focusStr","newOffsetX","autoplay","fs","newOffsetY","enablejsapi","html5","show_portrait","newWidth","currentOffsetX","centerPointEndX","centerPointEndY","swiping","panning","zooming","endSwiping","decodeURIComponent","canAdvance","p1","velocityY","newPos","reset","limitPosition","onYouTubeIframeAPIReady","onTap","endPoints","tapX","process","YT","Player","Vimeo","scaleToActual","oRequestAnimationFrame","where","touches","changedTouches","tapY","clientX","clientY","point1","what","sqrt","pow","isClickable","onclick","atts","$button","timer","overflowY","overflowX","scrollWidth","horizontal","$bg","$progress","bg","proxy","isTouchDevice","realPoints","startEvent","keypress","$stage","isScrollable","val","FullScreen","request","requestFullscreen","exit","scrollLeft","percentageOfImageAtPinchPointX","percentageOfImageAtPinchPointY","isFullscreen","Boolean","enabled","removeEventListener","ontouchmove","angle","Thumbs","len","sliderLastPos","$grid","atan2","PI","CLASS","CLASS_ACTIVE","transition-duration","FancyThumbs","minTranslateY","maxTranslateX","maxTranslateY","axis","$list","that","share","pinchRatio","escapeHtml","string","translateFromZoomingX","translateFromZoomingY","translateFromTranslatingX","shareCurrent","dMs","escapeSelector","asCodePoint","velocityX","endPanning","sel","endZooming","gallery","triggerFromUrl","getGalleryID","centerSlide","parseUrl","currentHash","origHash","hashTimer","back","action","tmp","fb","currTime","prevTime","progress","inner","set","force","clear","removeAttr","onInit.fb","beforeShow.fb","afterShow.fb","afterKeydown.fb","beforeClose.fb onDeactivate.fb","fnMap","ALLOW_KEYBOARD_INPUT","fullscreenElement","fullscreenEnabled","fullscreenchange","beforeClose.fb","list","addBack","innerHTML","origSrc","entityMap","encodeURIComponent","&","<",">","\"","'","/","`","=","shareInstance","href","pop","ch","charCodeAt","toString","title","hasCreatedHistory","replaceState","reverse","deltaY","deltaX","wheelDelta","require","instanceUid","Slick","dataSettings","adaptiveHeight","appendDots","asNavFor","prevArrow","accessibility","appendArrows","centerPadding","cssEase","slider","autoplaySpeed","centerMode","easing","customPaging","fade","focusOnSelect","focusOnChange","dotsClass","draggable","lazyLoad","edgeFriction","pauseOnHover","respondTo","initialSlide","rows","mobileFirst","pauseOnFocus","pauseOnDotsHover","responsive","swipe","swipeToSlide","touchMove","slidesPerRow","slidesToShow","slidesToScroll","variableWidth","touchThreshold","animating","verticalSwiping","waitForAnimate","currentDirection","currentLeft","currentSlide","$dots","autoPlayTimer","direction","listWidth","listHeight","loadIndex","$nextArrow","$prevArrow","slideCount","slideWidth","$slideTrack","touchObject","transformsEnabled","slideOffset","initials","unslicked","animProp","breakpoints","activeBreakpoint","animType","breakpointSettings","cssTransitions","focussed","interrupted","rowCount","shouldClick","positionProp","$slider","$slidesCache","transformType","visibilityChange","windowTimer","originalSettings","mozHidden","webkitHidden","autoPlay","autoPlayClear","autoPlayIterator","changeSlide","clickHandler","selectHandler","setPosition","swipeHandler","dragHandler","keyHandler","registerBreakpoints","activateADA","aria-hidden","addSlide","slickAdd","markup","addBefore","$slides","prependTo","detach","reinit","targetHeight","animateSlide","animProps","targetLeft","animStart","disableTransition","getNavTarget","slick","transitionType","applyTransition","slideTo","buildArrows","htmlExpr","slideHandler","buildDots","nextArrow","dots","getDotCount","infinite","buildOut","aria-disabled","tabindex","setupInfinite","setSlideClasses","updateDots","dot","newSlides","originalSlides","slidesPerSection","targetBreakpoint","respondToWidth","buildRows","numOfSlides","createDocumentFragment","sliderWidth","hasOwnProperty","breakpoint","row","unslick","checkResponsive","initial","forceUpdate","triggerBreakpoint","currentTarget","refresh","dontAnimate","indexOffset","prevNavigable","message","checkNavigable","navigables","getNavigableIndexes","cleanUpSlideEvents","cleanUpEvents","interrupt","visibility","orientationChange","cleanUpRows","zIndex","fadeSlideOut","slideIndex","unload","focusHandler","$sf","getCurrent","counter","breakPoint","pagerQty","filterSlides","slickFilter","getLeft","verticalOffset","coef","targetSlide","verticalHeight","getOption","indexes","swipedSlide","swipeTarget","centerOffset","swipeLeft","slideOuterWidth","slideRightBoundary","slidesTraversed","rtl","offsetLeft","slickGetOption","creation","initADA","tabControlIndexes","getSlideCount","slideControlIndex","ariaButtonControl","mappedSlideIndex","goTo","slickGoTo","setProps","updateArrows","numDotGroups","initArrowEvents","initDotEvents","role","initSlideEvents","aria-describedby","aria-label","aria-selected","keyCode","loadRange","rangeStart","rangeEnd","loadImages","imageSource","imageToLoad","prevSlide","nextSlide","initUI","cloneRange","loadSlider","tagName","progressiveLazyLoad","imagesScope","imageSrcSet","imageSizes","$currentSlide","tryCount","$imgsToLoad","slickNext","slickPause","slickPlay","initializing","responsiveSettings","currentBreakpoint","slickPrev","windowDelay","removeBefore","removeAll","lastVisibleIndex","positionProps","padding","splice","sort","removeSlide","slickRemove","setCSS","setDimensions","bodyStyle","useCSS","perspectiveProperty","setFade","msTransform","allSlides","slickSetOption","opt","infiniteCount","animSlide","slideLeft","setHeight","postSlide","msTransition","webkitPerspective","MozTransform","MozPerspective","webkitTransform","useTransform","remainder","navTarget","oldSlide","fadeSlide","evenCoef","startLoad","startX","startY","swipeAngle","curX","targetElement","fingerCount","minSwipe","swipeStart","swipeMove","sync","swipeDirection","verticalSwipeLength","curLeft","swipeLength","edgeHit","xDist","yDist","curY","swipeEnd","dragging","positionOffset","unfilterSlides","slickUnfilter","fromBreakpoint","PluginLoader","_classCallCheck","jQueryResponsiveTabs","jQueryBackgroundVideo","_createClass","jQueryAccordion","$elAccordion","$elParent","accordion","showOnMobile","$elSlick","slides_sm","slides_md","slides_lg","slides_xl","buttonMore","$elReadMore","$elAccordions","$this","buttonLess","log","initialHeight","accordionHeight","BackToTop","handleScroll","$elBackToTop","bindEvents","scroll","Banner","$elBannerTop","$elBannerBottom","$elTopCloseBtn","topSticky","$elBottomCloseBtn","bottomSticky","_this2","isTopOpen","isBottomOpen","Header","$elHeader","$elBanner","$elInnerBanner","offsetTop","isSticky","_this3","handleStickyHeader","Footer","$elFooter","banner","Menu","$elMenuDesktop","$elMenuDesktop_listParentDepth1","$elMenuMobile","$elMobileToggle","$elMenuDesktop_dropdownToggle","$elMenuMobile_dropdownToggle","desktop","icon","isOpen","footer","initCurrentItems","initDropdownIcons","depth","$elDropdown","_this4","mouseenter","checkDropdownLocation","dropdownPositionLeft","dropdownPanel","isMobileMenu","dropdownToggle","dropdownIcon","_this5","PhoneNumber","$elPhoneNumbers","_this6","$elPhoneNumber","phoneNumber","destination","gtag","_this7","menu","changeHref","event_category","event_label","getTransitionDuration"],"mappings":"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","file":"custom.min.js","sourcesContent":["/*!\n * @preserve\n *\n * Readmore.js jQuery plugin\n * Author: @jed_foster\n * Project home: http://jedfoster.github.io/Readmore.js\n * Licensed under the MIT license\n *\n * Debounce function from http://davidwalsh.name/javascript-debounce-function\n */\n\n/* global jQuery */\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD\n define(['jquery'], factory);\n } else if (typeof exports === 'object') {\n // CommonJS\n module.exports = factory(require('jquery'));\n } else {\n // Browser globals\n factory(jQuery);\n }\n}(function($) {\n 'use strict';\n\n var readmore = 'readmore',\n defaults = {\n speed: 100,\n collapsedHeight: 200,\n heightMargin: 16,\n moreLink: 'Read More',\n lessLink: 'Close',\n embedCSS: true,\n blockCSS: 'display: block; width: 100%;',\n startOpen: false,\n\n // callbacks\n blockProcessed: function() {},\n beforeToggle: function() {},\n afterToggle: function() {}\n },\n cssEmbedded = {},\n uniqueIdCounter = 0;\n\n function debounce(func, wait, immediate) {\n var timeout;\n\n return function() {\n var context = this, args = arguments;\n var later = function() {\n timeout = null;\n if (! immediate) {\n func.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n func.apply(context, args);\n }\n };\n }\n\n function uniqueId(prefix) {\n var id = ++uniqueIdCounter;\n\n return String(prefix === null ? 'rmjs-' : prefix) + id;\n }\n\n function setBoxHeights(element) {\n var el = element.clone().css({\n height: 'auto',\n width: element.width(),\n maxHeight: 'none',\n overflow: 'hidden'\n }).insertAfter(element),\n expandedHeight = el.outerHeight(),\n cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\\d\\.]/g, ''), 10),\n defaultHeight = element.data('defaultHeight');\n\n el.remove();\n\n var collapsedHeight = cssMaxHeight || element.data('collapsedHeight') || defaultHeight;\n\n // Store our measurements.\n element.data({\n expandedHeight: expandedHeight,\n maxHeight: cssMaxHeight,\n collapsedHeight: collapsedHeight\n })\n // and disable any `max-height` property set in CSS\n .css({\n maxHeight: 'none'\n });\n }\n\n var resizeBoxes = debounce(function() {\n $('[data-readmore]').each(function() {\n var current = $(this),\n isExpanded = (current.attr('aria-expanded') === 'true');\n\n setBoxHeights(current);\n\n current.css({\n height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') )\n });\n });\n }, 100);\n\n function embedCSS(options) {\n if (! cssEmbedded[options.selector]) {\n var styles = ' ';\n\n if (options.embedCSS && options.blockCSS !== '') {\n styles += options.selector + ' + [data-readmore-toggle], ' +\n options.selector + '[data-readmore]{' +\n options.blockCSS +\n '}';\n }\n\n // Include the transition CSS even if embedCSS is false\n styles += options.selector + '[data-readmore]{' +\n 'transition: height ' + options.speed + 'ms;' +\n 'overflow: hidden;' +\n '}';\n\n (function(d, u) {\n var css = d.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) {\n css.styleSheet.cssText = u;\n }\n else {\n css.appendChild(d.createTextNode(u));\n }\n\n d.getElementsByTagName('head')[0].appendChild(css);\n }(document, styles));\n\n cssEmbedded[options.selector] = true;\n }\n }\n\n function Readmore(element, options) {\n this.element = element;\n\n this.options = $.extend({}, defaults, options);\n\n embedCSS(this.options);\n\n this._defaults = defaults;\n this._name = readmore;\n\n this.init();\n\n // IE8 chokes on `window.addEventListener`, so need to test for support.\n if (window.addEventListener) {\n // Need to resize boxes when the page has fully loaded.\n window.addEventListener('load', resizeBoxes);\n window.addEventListener('resize', resizeBoxes);\n }\n else {\n window.attachEvent('load', resizeBoxes);\n window.attachEvent('resize', resizeBoxes);\n }\n }\n\n\n Readmore.prototype = {\n init: function() {\n var current = $(this.element);\n\n current.data({\n defaultHeight: this.options.collapsedHeight,\n heightMargin: this.options.heightMargin\n });\n\n setBoxHeights(current);\n\n var collapsedHeight = current.data('collapsedHeight'),\n heightMargin = current.data('heightMargin');\n\n if (current.outerHeight(true) <= collapsedHeight + heightMargin) {\n // The block is shorter than the limit, so there's no need to truncate it.\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\n this.options.blockProcessed(current, false);\n }\n return true;\n }\n else {\n var id = current.attr('id') || uniqueId(),\n useLink = this.options.startOpen ? this.options.lessLink : this.options.moreLink;\n\n current.attr({\n 'data-readmore': '',\n 'aria-expanded': this.options.startOpen,\n 'id': id\n });\n\n current.after($(useLink)\n .on('click', (function(_this) {\n return function(event) {\n _this.toggle(this, current[0], event);\n };\n })(this))\n .attr({\n 'data-readmore-toggle': id,\n 'aria-controls': id\n }));\n\n if (! this.options.startOpen) {\n current.css({\n height: collapsedHeight\n });\n }\n\n if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') {\n this.options.blockProcessed(current, true);\n }\n }\n },\n\n toggle: function(trigger, element, event) {\n if (event) {\n event.preventDefault();\n }\n\n if (! trigger) {\n trigger = $('[aria-controls=\"' + this.element.id + '\"]')[0];\n }\n\n if (! element) {\n element = this.element;\n }\n\n var $element = $(element),\n newHeight = '',\n newLink = '',\n expanded = false,\n collapsedHeight = $element.data('collapsedHeight');\n\n if ($element.height() <= collapsedHeight) {\n newHeight = $element.data('expandedHeight') + 'px';\n newLink = 'lessLink';\n expanded = true;\n }\n else {\n newHeight = collapsedHeight;\n newLink = 'moreLink';\n }\n\n // Fire beforeToggle callback\n // Since we determined the new \"expanded\" state above we're now out of sync\n // with our true current state, so we need to flip the value of `expanded`\n if (this.options.beforeToggle && typeof this.options.beforeToggle === 'function') {\n this.options.beforeToggle(trigger, $element, ! expanded);\n }\n\n $element.css({'height': newHeight});\n\n // Fire afterToggle callback\n $element.on('transitionend', (function(_this) {\n return function() {\n if (_this.options.afterToggle && typeof _this.options.afterToggle === 'function') {\n _this.options.afterToggle(trigger, $element, expanded);\n }\n\n $(this).attr({\n 'aria-expanded': expanded\n }).off('transitionend');\n };\n })(this));\n\n $(trigger).replaceWith($(this.options[newLink])\n .on('click', (function(_this) {\n return function(event) {\n _this.toggle(this, element, event);\n };\n })(this))\n .attr({\n 'data-readmore-toggle': $element.attr('id'),\n 'aria-controls': $element.attr('id')\n }));\n },\n\n destroy: function() {\n $(this.element).each(function() {\n var current = $(this);\n\n current.attr({\n 'data-readmore': null,\n 'aria-expanded': null\n })\n .css({\n maxHeight: '',\n height: ''\n })\n .next('[data-readmore-toggle]')\n .remove();\n\n current.removeData();\n });\n }\n };\n\n\n $.fn.readmore = function(options) {\n var args = arguments,\n selector = this.selector;\n\n options = options || {};\n\n if (typeof options === 'object') {\n return this.each(function() {\n if ($.data(this, 'plugin_' + readmore)) {\n var instance = $.data(this, 'plugin_' + readmore);\n instance.destroy.apply(instance);\n }\n\n options.selector = selector;\n\n $.data(this, 'plugin_' + readmore, new Readmore(this, options));\n });\n }\n else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\n return this.each(function () {\n var instance = $.data(this, 'plugin_' + readmore);\n if (instance instanceof Readmore && typeof instance[options] === 'function') {\n instance[options].apply(instance, Array.prototype.slice.call(args, 1));\n }\n });\n }\n };\n\n}));\n\n","/*! lazysizes - v4.1.5 */\r\n!function(a,b){var c=b(a,a.document);a.lazySizes=c,\"object\"==typeof module&&module.exports&&(module.exports=c)}(window,function(a,b){\"use strict\";if(b.getElementsByClassName){var c,d,e=b.documentElement,f=a.Date,g=a.HTMLPictureElement,h=\"addEventListener\",i=\"getAttribute\",j=a[h],k=a.setTimeout,l=a.requestAnimationFrame||k,m=a.requestIdleCallback,n=/^picture$/i,o=[\"load\",\"error\",\"lazyincluded\",\"_lazyloaded\"],p={},q=Array.prototype.forEach,r=function(a,b){return p[b]||(p[b]=new RegExp(\"(\\\\s|^)\"+b+\"(\\\\s|$)\")),p[b].test(a[i](\"class\")||\"\")&&p[b]},s=function(a,b){r(a,b)||a.setAttribute(\"class\",(a[i](\"class\")||\"\").trim()+\" \"+b)},t=function(a,b){var c;(c=r(a,b))&&a.setAttribute(\"class\",(a[i](\"class\")||\"\").replace(c,\" \"))},u=function(a,b,c){var d=c?h:\"removeEventListener\";c&&u(a,b),o.forEach(function(c){a[d](c,b)})},v=function(a,d,e,f,g){var h=b.createEvent(\"Event\");return e||(e={}),e.instance=c,h.initEvent(d,!f,!g),h.detail=e,a.dispatchEvent(h),h},w=function(b,c){var e;!g&&(e=a.picturefill||d.pf)?(c&&c.src&&!b[i](\"srcset\")&&b.setAttribute(\"srcset\",c.src),e({reevaluate:!0,elements:[b]})):c&&c.src&&(b.src=c.src)},x=function(a,b){return(getComputedStyle(a,null)||{})[b]},y=function(a,b,c){for(c=c||a.offsetWidth;c49?function(){m(h,{timeout:g}),g!==d.ricTimeout&&(g=d.ricTimeout)}:A(function(){k(h)},!0);return function(a){var d;(a=!0===a)&&(g=33),b||(b=!0,d=e-(f.now()-c),d<0&&(d=0),a||d<9?i():k(i,d))}},C=function(a){var b,c,d=99,e=function(){b=null,a()},g=function(){var a=f.now()-c;a0)&&\"visible\"!=x(f,\"overflow\")&&(d=f.getBoundingClientRect(),g=H>d.left&&Gd.top-1&&F500&&e.clientWidth>500?500:370:d.expand,s=r*d.expFactor,t=d.hFac,N2&&o>2&&!b.hidden?(N=s,P=0):N=o>1&&P>1&&O<6?r:M;f=n&&(F=h.top)<=D&&(H=h.right)>=n*t&&(G=h.left)<=y&&(I||H||G||F)&&(d.loadHidden||\"hidden\"!=x(u[f],\"visibility\"))&&(l&&O<3&&!p&&(o<3||P<4)||R(u[f],m))){if($(u[f]),k=!0,O>9)break}else!k&&l&&!j&&O<4&&P<4&&o>2&&(g[0]||d.preloadAfterLoad)&&(g[0]||!p&&(I||H||G||F||\"auto\"!=u[f][i](d.sizesAttr)))&&(j=g[0]||u[f]);else $(u[f]);j&&!k&&$(j)}},T=B(S),U=function(a){s(a.target,d.loadedClass),t(a.target,d.loadingClass),u(a.target,W),v(a.target,\"lazyloaded\")},V=A(U),W=function(a){V({target:a.target})},X=function(a,b){try{a.contentWindow.location.replace(b)}catch(c){a.src=b}},Y=function(a){var b,c=a[i](d.srcsetAttr);(b=d.customMedia[a[i](\"data-media\")||a[i](\"media\")])&&a.setAttribute(\"media\",b),c&&a.setAttribute(\"srcset\",c)},Z=A(function(a,b,c,e,f){var g,h,j,l,o,p;(o=v(a,\"lazybeforeunveil\",b)).defaultPrevented||(e&&(c?s(a,d.autosizesClass):a.setAttribute(\"sizes\",e)),h=a[i](d.srcsetAttr),g=a[i](d.srcAttr),f&&(j=a.parentNode,l=j&&n.test(j.nodeName||\"\")),p=b.firesLoad||\"src\"in a&&(h||g||l),o={target:a},p&&(u(a,Q,!0),clearTimeout(m),m=k(Q,2500),s(a,d.loadingClass),u(a,W,!0)),l&&q.call(j.getElementsByTagName(\"source\"),Y),h?a.setAttribute(\"srcset\",h):g&&!l&&(K.test(a.nodeName)?X(a,g):a.src=g),f&&(h||l)&&w(a,{src:g})),a._lazyRace&&delete a._lazyRace,t(a,d.lazyClass),z(function(){(!p||a.complete&&a.naturalWidth>1)&&(p?Q(o):O--,U(o))},!0)}),$=function(a){var b,c=J.test(a.nodeName),e=c&&(a[i](d.sizesAttr)||a[i](\"sizes\")),f=\"auto\"==e;(!f&&l||!c||!a[i](\"src\")&&!a.srcset||a.complete||r(a,d.errorClass)||!r(a,d.lazyClass))&&(b=v(a,\"lazyunveilread\").detail,f&&E.updateElem(a,!0,a.offsetWidth),a._lazyRace=!0,O++,Z(a,b,f,e,c))},_=function(){if(!l){if(f.now()-p<999)return void k(_,999);var a=C(function(){d.loadMode=3,T()});l=!0,d.loadMode=3,T(),j(\"scroll\",function(){3==d.loadMode&&(d.loadMode=2),a()},!0)}};return{_:function(){p=f.now(),c.elements=b.getElementsByClassName(d.lazyClass),g=b.getElementsByClassName(d.lazyClass+\" \"+d.preloadClass),j(\"scroll\",T,!0),j(\"resize\",T,!0),a.MutationObserver?new MutationObserver(T).observe(e,{childList:!0,subtree:!0,attributes:!0}):(e[h](\"DOMNodeInserted\",T,!0),e[h](\"DOMAttrModified\",T,!0),setInterval(T,999)),j(\"hashchange\",T,!0),[\"focus\",\"mouseover\",\"click\",\"load\",\"transitionend\",\"animationend\",\"webkitAnimationEnd\"].forEach(function(a){b[h](a,T,!0)}),/d$|^c/.test(b.readyState)?_():(j(\"load\",_),b[h](\"DOMContentLoaded\",T),k(_,2e4)),c.elements.length?(S(),z._lsFlush()):T()},checkElems:T,unveil:$}}(),E=function(){var a,c=A(function(a,b,c,d){var e,f,g;if(a._lazysizesWidth=d,d+=\"px\",a.setAttribute(\"sizes\",d),n.test(b.nodeName||\"\"))for(e=b.getElementsByTagName(\"source\"),f=0,g=e.length;f\n * MIT Licensed.\n */\n\n;(function ( $, window, document, undefined ) {\n\n var pluginName = 'accordion',\n defaults = {\n transitionSpeed: 300,\n transitionEasing: 'ease',\n controlElement: '[data-control]',\n contentElement: '[data-content]',\n groupElement: '[data-accordion-group]',\n singleOpen: true\n };\n\n function Accordion(element, options) {\n this.element = element;\n this.options = $.extend({}, defaults, options);\n this._defaults = defaults;\n this._name = pluginName;\n this.init();\n }\n\n Accordion.prototype.init = function () {\n var self = this,\n opts = self.options;\n\n var $accordion = $(self.element),\n $controls = $accordion.find('> ' + opts.controlElement),\n $content = $accordion.find('> ' + opts.contentElement);\n\n var accordionParentsQty = $accordion.parents('[data-accordion]').length,\n accordionHasParent = accordionParentsQty > 0;\n\n var closedCSS = { 'max-height': 0, 'overflow': 'hidden' };\n\n var CSStransitions = supportsTransitions();\n\n function debounce(func, threshold, execAsap) {\n var timeout;\n\n return function debounced() {\n var obj = this,\n args = arguments;\n\n function delayed() {\n if (!execAsap) func.apply(obj, args);\n timeout = null;\n };\n\n if (timeout) clearTimeout(timeout);\n else if (execAsap) func.apply(obj, args);\n\n timeout = setTimeout(delayed, threshold || 100);\n };\n }\n\n function supportsTransitions() {\n var b = document.body || document.documentElement,\n s = b.style,\n p = 'transition';\n\n if (typeof s[p] == 'string') {\n return true;\n }\n\n var v = ['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms'];\n\n p = 'Transition';\n\n for (var i=0; i [data-content]'),\n $childs = $content.find('[data-accordion].open > [data-content]'),\n $matched;\n\n if(!opts.singleOpen) {\n $childs = $childs.not($currentAccordion.siblings('[data-accordion].open').find('> [data-content]'));\n }\n\n $matched = $content.add($childs);\n\n if($parentAccordion.hasClass('open')) {\n $matched.each(function() {\n var currentHeight = $(this).data('oHeight');\n\n switch (operation) {\n case '+':\n $(this).data('oHeight', currentHeight + qty);\n break;\n case '-':\n $(this).data('oHeight', currentHeight - qty);\n break;\n default:\n throw 'updateParentHeight method needs an operation';\n }\n\n $(this).css('max-height', $(this).data('oHeight'));\n });\n }\n }\n\n function refreshHeight($accordion) {\n if($accordion.hasClass('open')) {\n var $content = $accordion.find('> [data-content]'),\n $childs = $content.find('[data-accordion].open > [data-content]'),\n $matched = $content.add($childs);\n\n calculateHeight($matched);\n\n $matched.css('max-height', $matched.data('oHeight'));\n }\n }\n\n function closeAccordion($accordion, $content) {\n $accordion.trigger('accordion.close');\n \n if(CSStransitions) {\n if(accordionHasParent) {\n var $parentAccordions = $accordion.parents('[data-accordion]');\n\n updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '-');\n }\n\n $content.css(closedCSS);\n\n $accordion.removeClass('open');\n } else {\n $content.css('max-height', $content.data('oHeight'));\n\n $content.animate(closedCSS, opts.transitionSpeed);\n\n $accordion.removeClass('open');\n }\n }\n\n function openAccordion($accordion, $content) {\n $accordion.trigger('accordion.open');\n if(CSStransitions) {\n toggleTransition($content);\n\n if(accordionHasParent) {\n var $parentAccordions = $accordion.parents('[data-accordion]');\n\n updateParentHeight($parentAccordions, $accordion, $content.data('oHeight'), '+');\n }\n\n requestAnimFrame(function() {\n $content.css('max-height', $content.data('oHeight'));\n });\n\n $accordion.addClass('open');\n } else {\n $content.animate({\n 'max-height': $content.data('oHeight')\n }, opts.transitionSpeed, function() {\n $content.css({'max-height': 'none'});\n });\n\n $accordion.addClass('open');\n }\n }\n\n function closeSiblingAccordions($accordion) {\n var $accordionGroup = $accordion.closest(opts.groupElement);\n\n var $siblings = $accordion.siblings('[data-accordion]').filter('.open'),\n $siblingsChildren = $siblings.find('[data-accordion]').filter('.open');\n\n var $otherAccordions = $siblings.add($siblingsChildren);\n\n $otherAccordions.each(function() {\n var $accordion = $(this),\n $content = $accordion.find(opts.contentElement);\n\n closeAccordion($accordion, $content);\n });\n\n $otherAccordions.removeClass('open');\n }\n\n function toggleAccordion() {\n var isAccordionGroup = (opts.singleOpen) ? $accordion.parents(opts.groupElement).length > 0 : false;\n\n calculateHeight($content);\n\n if(isAccordionGroup) {\n closeSiblingAccordions($accordion);\n }\n\n if($accordion.hasClass('open')) {\n closeAccordion($accordion, $content);\n } else {\n openAccordion($accordion, $content);\n }\n }\n\n function addEventListeners() {\n $controls.on('click', toggleAccordion);\n \n $controls.on('accordion.toggle', function() {\n if(opts.singleOpen && $controls.length > 1) {\n return false;\n }\n \n toggleAccordion();\n });\n \n $controls.on('accordion.refresh', function() {\n refreshHeight($accordion);\n });\n\n $(window).on('resize', debounce(function() {\n refreshHeight($accordion);\n }));\n }\n\n function setup() {\n $content.each(function() {\n var $curr = $(this);\n\n if($curr.css('max-height') != 0) {\n if(!$curr.closest('[data-accordion]').hasClass('open')) {\n $curr.css({ 'max-height': 0, 'overflow': 'hidden' });\n } else {\n toggleTransition($curr);\n calculateHeight($curr);\n\n $curr.css('max-height', $curr.data('oHeight'));\n }\n }\n });\n\n\n if(!$accordion.attr('data-accordion')) {\n $accordion.attr('data-accordion', '');\n $accordion.find(opts.controlElement).attr('data-control', '');\n $accordion.find(opts.contentElement).attr('data-content', '');\n }\n }\n\n setup();\n addEventListeners();\n };\n\n $.fn[pluginName] = function ( options ) {\n return this.each(function () {\n if (!$.data(this, 'plugin_' + pluginName)) {\n $.data(this, 'plugin_' + pluginName,\n new Accordion( this, options ));\n }\n });\n }\n\n})( jQuery, window, document );\n",";(function ( $, window, undefined ) {\n\n /** Default settings */\n var defaults = {\n active: null,\n event: 'click',\n disabled: [],\n collapsible: 'accordion',\n startCollapsed: false,\n rotate: false,\n setHash: false,\n animation: 'default',\n animationQueue: false,\n duration: 500,\n fluidHeight: true,\n scrollToAccordion: false,\n scrollToAccordionOnLoad: true,\n scrollToAccordionOffset: 0,\n accordionTabElement: '',\n navigationContainer: '',\n click: function(){},\n activate: function(){},\n deactivate: function(){},\n load: function(){},\n activateState: function(){},\n classes: {\n stateDefault: 'r-tabs-state-default',\n stateActive: 'r-tabs-state-active',\n stateDisabled: 'r-tabs-state-disabled',\n stateExcluded: 'r-tabs-state-excluded',\n container: 'r-tabs',\n ul: 'r-tabs-nav',\n tab: 'r-tabs-tab',\n anchor: 'r-tabs-anchor',\n panel: 'r-tabs-panel',\n accordionTitle: 'r-tabs-accordion-title'\n }\n };\n\n /**\n * Responsive Tabs\n * @constructor\n * @param {object} element - The HTML element the validator should be bound to\n * @param {object} options - An option map\n */\n function ResponsiveTabs(element, options) {\n this.element = element; // Selected DOM element\n this.$element = $(element); // Selected jQuery element\n\n this.tabs = []; // Create tabs array\n this.state = ''; // Define the plugin state (tabs/accordion)\n this.rotateInterval = 0; // Define rotate interval\n this.$queue = $({});\n\n // Extend the defaults with the passed options\n this.options = $.extend( {}, defaults, options);\n\n this.init();\n }\n\n\n /**\n * This function initializes the tab plugin\n */\n ResponsiveTabs.prototype.init = function () {\n var _this = this;\n\n // Load all the elements\n this.tabs = this._loadElements();\n this._loadClasses();\n this._loadEvents();\n\n // Window resize bind to check state\n $(window).on('resize', function(e) {\n _this._setState(e);\n if(_this.options.fluidHeight !== true) {\n _this._equaliseHeights();\n }\n });\n\n // Hashchange event\n $(window).on('hashchange', function(e) {\n var tabRef = _this._getTabRefBySelector(window.location.hash);\n var oTab = _this._getTab(tabRef);\n\n // Check if a tab is found that matches the hash\n if(tabRef >= 0 && !oTab._ignoreHashChange && !oTab.disabled) {\n // If so, open the tab and auto close the current one\n _this._openTab(e, _this._getTab(tabRef), true);\n }\n });\n\n // Start rotate event if rotate option is defined\n if(this.options.rotate !== false) {\n this.startRotation();\n }\n\n // Set fluid height\n if(this.options.fluidHeight !== true) {\n _this._equaliseHeights();\n }\n\n // --------------------\n // Define plugin events\n //\n\n // Activate: this event is called when a tab is selected\n this.$element.bind('tabs-click', function(e, oTab) {\n _this.options.click.call(this, e, oTab);\n });\n\n // Activate: this event is called when a tab is selected\n this.$element.bind('tabs-activate', function(e, oTab) {\n _this.options.activate.call(this, e, oTab);\n });\n // Deactivate: this event is called when a tab is closed\n this.$element.bind('tabs-deactivate', function(e, oTab) {\n _this.options.deactivate.call(this, e, oTab);\n });\n // Activate State: this event is called when the plugin switches states\n this.$element.bind('tabs-activate-state', function(e, state) {\n _this.options.activateState.call(this, e, state);\n });\n\n // Load: this event is called when the plugin has been loaded\n this.$element.bind('tabs-load', function(e) {\n var startTab;\n\n _this._setState(e); // Set state\n\n // Check if the panel should be collaped on load\n if(_this.options.startCollapsed !== true && !(_this.options.startCollapsed === 'accordion' && _this.state === 'accordion')) {\n\n startTab = _this._getStartTab();\n\n // Open the initial tab\n _this._openTab(e, startTab); // Open first tab\n\n // Call the callback function\n _this.options.load.call(this, e, startTab); // Call the load callback\n }\n });\n // Trigger loaded event\n this.$element.trigger('tabs-load');\n };\n\n //\n // PRIVATE FUNCTIONS\n //\n\n /**\n * This function loads the tab elements and stores them in an array\n * @returns {Array} Array of tab elements\n */\n ResponsiveTabs.prototype._loadElements = function() {\n var _this = this;\n var $ul = (_this.options.navigationContainer === '') ? this.$element.children('ul:first') : this.$element.find(_this.options.navigationContainer).children('ul:first');\n var tabs = [];\n var id = 0;\n\n // Add the classes to the basic html elements\n this.$element.addClass(_this.options.classes.container); // Tab container\n $ul.addClass(_this.options.classes.ul); // List container\n\n // Get tab buttons and store their data in an array\n $('li', $ul).each(function() {\n var $tab = $(this);\n var isExcluded = $tab.hasClass(_this.options.classes.stateExcluded);\n var $anchor, $panel, $accordionTab, $accordionAnchor, panelSelector;\n\n // Check if the tab should be excluded\n if(!isExcluded) {\n\n $anchor = $('a', $tab);\n panelSelector = $anchor.attr('href');\n $panel = $(panelSelector);\n $accordionTab = $(_this.options.accordionTabElement).insertBefore($panel);\n $accordionAnchor = $('').attr('href', panelSelector).html($anchor.html()).appendTo($accordionTab);\n\n var oTab = {\n _ignoreHashChange: false,\n id: id,\n disabled: ($.inArray(id, _this.options.disabled) !== -1),\n tab: $(this),\n anchor: $('a', $tab),\n panel: $panel,\n selector: panelSelector,\n accordionTab: $accordionTab,\n accordionAnchor: $accordionAnchor,\n active: false\n };\n\n // 1up the ID\n id++;\n // Add to tab array\n tabs.push(oTab);\n }\n });\n return tabs;\n };\n\n\n /**\n * This function adds classes to the tab elements based on the options\n */\n ResponsiveTabs.prototype._loadClasses = function() {\n for (var i=0; i= 0 && !this._getTab(tabRef).disabled) {\n // If so, set the current tab to the linked tab\n startTab = this._getTab(tabRef);\n } else if(this.options.active > 0 && !this._getTab(this.options.active).disabled) {\n startTab = this._getTab(this.options.active);\n } else {\n // If not, just get the first one\n startTab = this._getTab(0);\n }\n\n return startTab;\n };\n\n /**\n * This function sets the current state of the plugin\n * @param {Event} e - The event that triggers the state change\n */\n ResponsiveTabs.prototype._setState = function(e) {\n var $ul = $('ul:first', this.$element);\n var oldState = this.state;\n var startCollapsedIsState = (typeof this.options.startCollapsed === 'string');\n var startTab;\n\n // The state is based on the visibility of the tabs list\n if($ul.is(':visible')){\n // Tab list is visible, so the state is 'tabs'\n this.state = 'tabs';\n } else {\n // Tab list is invisible, so the state is 'accordion'\n this.state = 'accordion';\n }\n\n // If the new state is different from the old state\n if(this.state !== oldState) {\n // If so, the state activate trigger must be called\n this.$element.trigger('tabs-activate-state', {oldState: oldState, newState: this.state});\n\n // Check if the state switch should open a tab\n if(oldState && startCollapsedIsState && this.options.startCollapsed !== this.state && this._getCurrentTab() === undefined) {\n // Get initial tab\n startTab = this._getStartTab(e);\n // Open the initial tab\n this._openTab(e, startTab); // Open first tab\n }\n }\n };\n\n /**\n * This function opens a tab\n * @param {Event} e - The event that triggers the tab opening\n * @param {Object} oTab - The tab object that should be opened\n * @param {Boolean} closeCurrent - Defines if the current tab should be closed\n * @param {Boolean} stopRotation - Defines if the tab rotation loop should be stopped\n */\n ResponsiveTabs.prototype._openTab = function(e, oTab, closeCurrent, stopRotation) {\n var _this = this;\n var scrollOffset;\n\n // Check if the current tab has to be closed\n if(closeCurrent) {\n this._closeTab(e, this._getCurrentTab());\n }\n\n // Check if the rotation has to be stopped when activated\n if(stopRotation && this.rotateInterval > 0) {\n this.stopRotation();\n }\n\n // Set this tab to active\n oTab.active = true;\n // Set active classes to the tab button and accordion tab button\n oTab.tab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\n oTab.accordionTab.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\n\n // Run panel transiton\n _this._doTransition(oTab.panel, _this.options.animation, 'open', function() {\n var scrollOnLoad = (e.type !== 'tabs-load' || _this.options.scrollToAccordionOnLoad);\n\n // When finished, set active class to the panel\n oTab.panel.removeClass(_this.options.classes.stateDefault).addClass(_this.options.classes.stateActive);\n\n // And if enabled and state is accordion, scroll to the accordion tab\n if(_this.getState() === 'accordion' && _this.options.scrollToAccordion && (!_this._isInView(oTab.accordionTab) || _this.options.animation !== 'default') && scrollOnLoad) {\n\n // Add offset element's height to scroll position\n scrollOffset = oTab.accordionTab.offset().top - _this.options.scrollToAccordionOffset;\n\n // Check if the animation option is enabled, and if the duration isn't 0\n if(_this.options.animation !== 'default' && _this.options.duration > 0) {\n // If so, set scrollTop with animate and use the 'animation' duration\n $('html, body').animate({\n scrollTop: scrollOffset\n }, _this.options.duration);\n } else {\n // If not, just set scrollTop\n $('html, body').scrollTop(scrollOffset);\n }\n }\n });\n\n this.$element.trigger('tabs-activate', oTab);\n };\n\n /**\n * This function closes a tab\n * @param {Event} e - The event that is triggered when a tab is closed\n * @param {Object} oTab - The tab object that should be closed\n */\n ResponsiveTabs.prototype._closeTab = function(e, oTab) {\n var _this = this;\n var doQueueOnState = typeof _this.options.animationQueue === 'string';\n var doQueue;\n\n if(oTab !== undefined) {\n if(doQueueOnState && _this.getState() === _this.options.animationQueue) {\n doQueue = true;\n } else if(doQueueOnState) {\n doQueue = false;\n } else {\n doQueue = _this.options.animationQueue;\n }\n\n // Deactivate tab\n oTab.active = false;\n // Set default class to the tab button\n oTab.tab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\n\n // Run panel transition\n _this._doTransition(oTab.panel, _this.options.animation, 'close', function() {\n // Set default class to the accordion tab button and tab panel\n oTab.accordionTab.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\n oTab.panel.removeClass(_this.options.classes.stateActive).addClass(_this.options.classes.stateDefault);\n }, !doQueue);\n\n this.$element.trigger('tabs-deactivate', oTab);\n }\n };\n\n /**\n * This function runs an effect on a panel\n * @param {Element} panel - The HTML element of the tab panel\n * @param {String} method - The transition method reference\n * @param {String} state - The state (open/closed) that the panel should transition to\n * @param {Function} callback - The callback function that is called after the transition\n * @param {Boolean} dequeue - Defines if the event queue should be dequeued after the transition\n */\n ResponsiveTabs.prototype._doTransition = function(panel, method, state, callback, dequeue) {\n var effect;\n var _this = this;\n\n // Get effect based on method\n switch(method) {\n case 'slide':\n effect = (state === 'open') ? 'slideDown' : 'slideUp';\n break;\n case 'fade':\n effect = (state === 'open') ? 'fadeIn' : 'fadeOut';\n break;\n default:\n effect = (state === 'open') ? 'show' : 'hide';\n // When default is used, set the duration to 0\n _this.options.duration = 0;\n break;\n }\n\n // Add the transition to a custom queue\n this.$queue.queue('responsive-tabs',function(next){\n // Run the transition on the panel\n panel[effect]({\n duration: _this.options.duration,\n complete: function() {\n // Call the callback function\n callback.call(panel, method, state);\n // Run the next function in the queue\n next();\n }\n });\n });\n\n // When the panel is openend, dequeue everything so the animation starts\n if(state === 'open' || dequeue) {\n this.$queue.dequeue('responsive-tabs');\n }\n\n };\n\n /**\n * This function returns the collapsibility of the tab in this state\n * @returns {Boolean} The collapsibility of the tab\n */\n ResponsiveTabs.prototype._isCollapisble = function() {\n return (typeof this.options.collapsible === 'boolean' && this.options.collapsible) || (typeof this.options.collapsible === 'string' && this.options.collapsible === this.getState());\n };\n\n /**\n * This function returns a tab by numeric reference\n * @param {Integer} numRef - Numeric tab reference\n * @returns {Object} Tab object\n */\n ResponsiveTabs.prototype._getTab = function(numRef) {\n return this.tabs[numRef];\n };\n\n /**\n * This function returns the numeric tab reference based on a hash selector\n * @param {String} selector - Hash selector\n * @returns {Integer} Numeric tab reference\n */\n ResponsiveTabs.prototype._getTabRefBySelector = function(selector) {\n // Loop all tabs\n for (var i=0; i= docViewTop));\n };\n\n //\n // PUBLIC FUNCTIONS\n //\n\n /**\n * This function activates a tab\n * @param {Integer} tabRef - Numeric tab reference\n * @param {Boolean} stopRotation - Defines if the tab rotation should stop after activation\n */\n ResponsiveTabs.prototype.activate = function(tabRef, stopRotation) {\n var e = jQuery.Event('tabs-activate');\n var oTab = this._getTab(tabRef);\n if(!oTab.disabled) {\n this._openTab(e, oTab, true, stopRotation || true);\n }\n };\n\n /**\n * This function deactivates a tab\n * @param {Integer} tabRef - Numeric tab reference\n */\n ResponsiveTabs.prototype.deactivate = function(tabRef) {\n var e = jQuery.Event('tabs-dectivate');\n var oTab = this._getTab(tabRef);\n if(!oTab.disabled) {\n this._closeTab(e, oTab);\n }\n };\n\n /**\n * This function enables a tab\n * @param {Integer} tabRef - Numeric tab reference\n */\n ResponsiveTabs.prototype.enable = function(tabRef) {\n var oTab = this._getTab(tabRef);\n if(oTab){\n oTab.disabled = false;\n oTab.tab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);\n oTab.accordionTab.addClass(this.options.classes.stateDefault).removeClass(this.options.classes.stateDisabled);\n }\n };\n\n /**\n * This function disable a tab\n * @param {Integer} tabRef - Numeric tab reference\n */\n ResponsiveTabs.prototype.disable = function(tabRef) {\n var oTab = this._getTab(tabRef);\n if(oTab){\n oTab.disabled = true;\n oTab.tab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);\n oTab.accordionTab.removeClass(this.options.classes.stateDefault).addClass(this.options.classes.stateDisabled);\n }\n };\n\n /**\n * This function gets the current state of the plugin\n * @returns {String} State of the plugin\n */\n ResponsiveTabs.prototype.getState = function() {\n return this.state;\n };\n\n /**\n * This function starts the rotation of the tabs\n * @param {Integer} speed - The speed of the rotation\n */\n ResponsiveTabs.prototype.startRotation = function(speed) {\n var _this = this;\n // Make sure not all tabs are disabled\n if(this.tabs.length > this.options.disabled.length) {\n this.rotateInterval = setInterval(function(){\n var e = jQuery.Event('rotate');\n _this._openTab(e, _this._getTab(_this._getNextTabRef()), true);\n }, speed || (($.isNumeric(_this.options.rotate)) ? _this.options.rotate : 4000) );\n } else {\n throw new Error(\"Rotation is not possible if all tabs are disabled\");\n }\n };\n\n /**\n * This function stops the rotation of the tabs\n */\n ResponsiveTabs.prototype.stopRotation = function() {\n window.clearInterval(this.rotateInterval);\n this.rotateInterval = 0;\n };\n\n /**\n * This function can be used to get/set options\n * @return {any} Option value\n */\n ResponsiveTabs.prototype.option = function(key, value) {\n if(value) {\n this.options[key] = value;\n }\n return this.options[key];\n };\n\n /** jQuery wrapper */\n $.fn.responsiveTabs = function ( options ) {\n var args = arguments;\n var instance;\n\n if (options === undefined || typeof options === 'object') {\n return this.each(function () {\n if (!$.data(this, 'responsivetabs')) {\n $.data(this, 'responsivetabs', new ResponsiveTabs( this, options ));\n }\n });\n } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {\n instance = $.data(this[0], 'responsivetabs');\n\n // Allow instances to be destroyed via the 'destroy' method\n if (options === 'destroy') {\n // TODO: destroy instance classes, etc\n $.data(this, 'responsivetabs', null);\n }\n\n if (instance instanceof ResponsiveTabs && typeof instance[options] === 'function') {\n return instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );\n } else {\n return this;\n }\n }\n };\n\n}(jQuery, window));\n","// The MIT License (MIT)\n\n// Copyright (c) 2015 BG Stock - html5backgroundvideos.com\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\n\n(function($) {\n\n\t// Add js class to html\n\t$('html').addClass('js');\n\n\t// Add IE8 shim for Date.now()\n\tif (!Date.now) {\n\t\tDate.now = function() { return new Date().getTime(); }\n\t}\n\n\t// Return current time in seconds\n\tfunction currentTime() {\n\t\treturn Math.floor(Date.now() / 1000);\n\t}\n\n\t// The plugin\n\t$.fn.bgVideo = function( options ) {\n\n\t\t// @bool iOS\n\t\tfunction iOSversion() {\n\t\t\tif (/iP(hone|od|ad)/.test(navigator.platform)) {\n\t\t\t\tvar v = (navigator.appVersion).match(/OS (\\d+)_(\\d+)_?(\\d+)?/);\n\t\t\t\treturn [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];\n\t\t\t}\n\t\t}\n\n\t\tvar iOSVersion = iOSversion();\n\t\tvar old_iOS = false;\n\n\t\tif (iOSVersion && (iOSVersion[0] < 10)){\n\t\t\told_iOS = true;\n\t\t}\n\n\t\t// Settings\n\t\tvar settings = $.extend({}, $.fn.bgVideo.defaults, options );\n\n\t\t// Do the things\n\t\treturn this.each(function() {\n\n\t\t\t// Set some handy variables\n\t\t\tvar $video = $(this); // jQuery Object\n\t\t\tvar video = $video[0]; // DOM node\n\t\t\tvar poster = $video.attr('poster') || '';\n\t\t\tvar $container = $video.parent();\n\t\t\tvar $pauseplay = $('');\n\t\t\tvar start_time; // We'll set this when it starts playing\n\n\n\t\t\t// Check for any data attributes that will override the settings for this particular element\n\t\t\tvar el_settings = $.extend({}, settings);\n\t\t\tvar data_attrs = $video.data();\n\t\t\t$.each( data_attrs, function( data_name, data_val ) {\n\t\t\t\tif( data_name.indexOf('bgvideo') === 0 ) {\n\t\t\t\t\t// It's a match! Strip the bgvideo prefix and lowercase the first letter\n\t\t\t\t\tdata_name = data_name.replace('bgvideo', '');\n\t\t\t\t\tdata_name = data_name.charAt(0).toLowerCase() + data_name.slice(1);\n\t\t\t\t\t// Then set the setting\n\t\t\t\t\tel_settings[data_name] = data_val;\n\t\t\t\t}\n\t\t\t});\n\n\n\t\t\t// Attach to playing event\n\t\t\t$video.on('playing', function(){\n\t\t\t\tif(start_time == null){\n\t\t\t\t\tstart_time = currentTime();\n\t\t\t\t}\n\t\t\t\t$video.addClass('is-playing is-visible');\n\t\t\t\t$pauseplay.removeClass('play').addClass('pause').find('span').text('Pause');\n\t\t\t\t$.fn.bgVideo.fitVideo( $video );\n\t\t\t});\n\n\n\t\t\t// If the video is already playing before js loads\n\t\t\tif( video.currentTime > 0 ) {\n\t\t\t\t$video.addClass('is-playing is-visible');\n\t\t\t}\n\n\n\t\t\t// Attach to pause event\n\t\t\t$video.on('pause', function(){\n\t\t\t\t$video.removeClass('is-playing');\n\t\t\t\t$pauseplay.removeClass('pause').addClass('play').find('span').text('Play');\n\t\t\t\tif(el_settings.fadeOnPause) {\n\t\t\t\t\t$video.removeClass('is-visible');\n\t\t\t\t}\n\t\t\t});\n\n\n\t\t\t// Set default styles\n\t\t\t$container.css({\n\t\t\t\t'position': 'relative',\n\t\t\t\t'overflow': 'hidden',\n\t\t\t\t'background-size': 'cover',\n\t\t\t\t'background-position': 'center center',\n\t\t\t\t'background-repeat': 'no-repeat',\n\t\t\t\t'background-image': 'url(' + poster + ')'\n\t\t\t});\n\t\t\t$video.css({\n\t\t\t\t'min-width': 'auto',\n\t\t\t\t'min-height': 'auto',\n\t\t\t\t'width': '100%',\n\t\t\t\t'height': 'auto',\n\t\t\t\t'position': 'absolute',\n\t\t\t\t'left': '50%',\n\t\t\t\t'top': '50%',\n\t\t\t\t'transform': 'translate(-50%,-50%)'\n\t\t\t});\n\t\t\tif( el_settings.fullScreen ) {\n\t\t\t\t$container.css({\n\t\t\t\t\t'position': 'fixed',\n\t\t\t\t\t'top': '0',\n\t\t\t\t\t'bottom': '0',\n\t\t\t\t\t'left': '0',\n\t\t\t\t\t'right': '0',\n\t\t\t\t\t'height': 'auto',\n\t\t\t\t\t'margin': '0',\n\t\t\t\t\t'z-index': '-1'\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t\t// Fade in video by setting the transition duration\n\t\t\t$video.css('transition-duration', el_settings.fadeIn + 'ms');\n\n\n\t\t\t// Remove on iOS\n\t\t\tif( old_iOS ) {\n\t\t\t\t// Unset sources to prevent them from continuing to download\n\t\t\t\t$video.attr('src', '');\n\t\t\t\t$video.find('source').attr('src', '');\n\t\t\t\t$video.remove();\n\t\t\t}\n\n\n\t\t\t// Mimic background-size: cover with video element\n\t\t\t$.fn.bgVideo.fitVideo( $video );\n\t\t\t$(window).resize(function(){\n\t\t\t\t$.fn.bgVideo.fitVideo( $video );\n\t\t\t});\n\n\n\t\t\t// Pause after X seconds\n\t\t\tel_settings.pauseAfter = parseInt( el_settings.pauseAfter, 10 );\n\t\t\tif( el_settings.pauseAfter > 0 ) {\n\t\t\t\t$video.on('timeupdate', function(){\n\t\t\t\t\tvar now = currentTime();\n\t\t\t\t\tif( now > start_time + el_settings.pauseAfter ) {\n\t\t\t\t\t\tvideo.pause();\n\t\t\t\t\t\tif( el_settings.fadeOnEnd ) {\n\t\t\t\t\t\t\t$video.removeClass('is-visible');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t\t// Play / pause button\n\t\t\tif( el_settings.showPausePlay && !old_iOS ) {\n\t\t\t\t// Append pauseplay element created earlier\n\t\t\t\t$container.append($pauseplay);\n\t\t\t\t// Position element\n\t\t\t\t$pauseplay.css({\n\t\t\t\t\t'left': 'auto',\n\t\t\t\t\t'right': 'auto',\n\t\t\t\t\t'top': 'auto',\n\t\t\t\t\t'bottom': 'auto'\n\t\t\t\t});\n\t\t\t\t$pauseplay.css(el_settings.pausePlayXPos, el_settings.pausePlayXOffset);\n\t\t\t\t$pauseplay.css(el_settings.pausePlayYPos, el_settings.pausePlayYOffset);\n\t\t\t\tif( el_settings.pausePlayXPos === 'center' ) {\n\t\t\t\t\t$pauseplay.css({\n\t\t\t\t\t\t'left': '50%',\n\t\t\t\t\t\t'margin-left': '-10px'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tif( el_settings.pausePlayYPos === 'center' ) {\n\t\t\t\t\t$pauseplay.css({\n\t\t\t\t\t\t'top': '50%',\n\t\t\t\t\t\t'margin-top': '-10px'\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// Add functionality\n\t\t\t\t$pauseplay.on('click', function(){\n\t\t\t\t\tif(video.paused) {\n\t\t\t\t\t\tvideo.play();\n\t\t\t\t\t\tstart_time = currentTime();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvideo.pause();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\n\t\t});\n\n\n\t};\n\n\n\t// Default settings\n\t$.fn.bgVideo.defaults = {\n\t\tfullScreen: false, // Sets the video to be fixed to the full window\n\t\tfadeIn: 500, // Milliseconds to fade video in/out (0 for no fade)\n\t\tpauseAfter: 120, // Seconds to play before pausing (0 for forever)\n\t\tfadeOnPause: false, // For all (including manual) pauses\n\t\tfadeOnEnd: true, // When we've reached the pauseAfter time\n\t\tshowPausePlay: true, // Show pause/play button\n\t\tpausePlayXPos: 'right', // left|right|center\n\t\tpausePlayYPos: 'top', // top|bottom|center\n\t\tpausePlayXOffset: '15px', // pixels or percent from side - ignored if positioned center\n\t\tpausePlayYOffset: '15px' // pixels or percent from top/bottom - ignored if positioned center\n\t};\n\n\n\t// Fit video\n\t$.fn.bgVideo.fitVideo = function( $video ) {\n\n\t\tvar $container = $video.parent(),\n\t\t\tcontainer_height = $container.outerHeight(),\n\t\t\tcontainer_width = $container.outerWidth();\n\n\t\t// Do this again every time the screen size changes\n\t\t$video.css({\n\t\t\t'height': 'auto',\n\t\t\t'width': container_width + 'px'\n\t\t});\n\n\t\tvar video_height = $video.height();\n\n\t\tif( container_height > video_height ) {\n\t\t\t//console.log('Container height > video height');\n\t\t\t$video.css({\n\t\t\t\t'height': container_height + 'px',\n\t\t\t\t'width': 'auto'\n\t\t\t});\n\t\t}\n\n\t};\n\n\n\t// Auto run based on data attributes\n\t$(document).ready(function(){\n\t\t$('[data-bgvideo]').bgVideo();\n\t});\n\n\n}(jQuery));\n","// ==================================================\n// fancyBox v3.5.7\n//\n// Licensed GPLv3 for open source use\n// or fancyBox Commercial License for commercial use\n//\n// http://fancyapps.com/fancybox/\n// Copyright 2019 fancyApps\n//\n// ==================================================\n(function (window, document, $, undefined) {\n \"use strict\";\n\n window.console = window.console || {\n info: function (stuff) {}\n };\n\n // If there's no jQuery, fancyBox can't work\n // =========================================\n\n if (!$) {\n return;\n }\n\n // Check if fancyBox is already initialized\n // ========================================\n\n if ($.fn.fancybox) {\n console.info(\"fancyBox already initialized\");\n\n return;\n }\n\n // Private default settings\n // ========================\n\n var defaults = {\n // Close existing modals\n // Set this to false if you do not need to stack multiple instances\n closeExisting: false,\n\n // Enable infinite gallery navigation\n loop: false,\n\n // Horizontal space between slides\n gutter: 50,\n\n // Enable keyboard navigation\n keyboard: true,\n\n // Should allow caption to overlap the content\n preventCaptionOverlap: true,\n\n // Should display navigation arrows at the screen edges\n arrows: true,\n\n // Should display counter at the top left corner\n infobar: true,\n\n // Should display close button (using `btnTpl.smallBtn` template) over the content\n // Can be true, false, \"auto\"\n // If \"auto\" - will be automatically enabled for \"html\", \"inline\" or \"ajax\" items\n smallBtn: \"auto\",\n\n // Should display toolbar (buttons at the top)\n // Can be true, false, \"auto\"\n // If \"auto\" - will be automatically hidden if \"smallBtn\" is enabled\n toolbar: \"auto\",\n\n // What buttons should appear in the top right corner.\n // Buttons will be created using templates from `btnTpl` option\n // and they will be placed into toolbar (class=\"fancybox-toolbar\"` element)\n buttons: [\n \"zoom\",\n //\"share\",\n \"slideShow\",\n //\"fullScreen\",\n //\"download\",\n \"thumbs\",\n \"close\"\n ],\n\n // Detect \"idle\" time in seconds\n idleTime: 3,\n\n // Disable right-click and use simple image protection for images\n protect: false,\n\n // Shortcut to make content \"modal\" - disable keyboard navigtion, hide buttons, etc\n modal: false,\n\n image: {\n // Wait for images to load before displaying\n // true - wait for image to load and then display;\n // false - display thumbnail and load the full-sized image over top,\n // requires predefined image dimensions (`data-width` and `data-height` attributes)\n preload: false\n },\n\n ajax: {\n // Object containing settings for ajax request\n settings: {\n // This helps to indicate that request comes from the modal\n // Feel free to change naming\n data: {\n fancybox: true\n }\n }\n },\n\n iframe: {\n // Iframe template\n tpl: '',\n\n // Preload iframe before displaying it\n // This allows to calculate iframe content width and height\n // (note: Due to \"Same Origin Policy\", you can't get cross domain data).\n preload: true,\n\n // Custom CSS styling for iframe wrapping element\n // You can use this to set custom iframe dimensions\n css: {},\n\n // Iframe tag attributes\n attr: {\n scrolling: \"auto\"\n }\n },\n\n // For HTML5 video only\n video: {\n tpl: '\",\n format: \"\", // custom video format\n autoStart: true\n },\n\n // Default content type if cannot be detected automatically\n defaultType: \"image\",\n\n // Open/close animation type\n // Possible values:\n // false - disable\n // \"zoom\" - zoom images from/to thumbnail\n // \"fade\"\n // \"zoom-in-out\"\n //\n animationEffect: \"zoom\",\n\n // Duration in ms for open/close animation\n animationDuration: 366,\n\n // Should image change opacity while zooming\n // If opacity is \"auto\", then opacity will be changed if image and thumbnail have different aspect ratios\n zoomOpacity: \"auto\",\n\n // Transition effect between slides\n //\n // Possible values:\n // false - disable\n // \"fade'\n // \"slide'\n // \"circular'\n // \"tube'\n // \"zoom-in-out'\n // \"rotate'\n //\n transitionEffect: \"fade\",\n\n // Duration in ms for transition animation\n transitionDuration: 366,\n\n // Custom CSS class for slide element\n slideClass: \"\",\n\n // Custom CSS class for layout\n baseClass: \"\",\n\n // Base template for layout\n baseTpl: '
',\n\n btnTpl: {\n download: '' +\n '' +\n \"\",\n\n zoom: '\",\n\n close: '\",\n\n // Arrows\n arrowLeft: '\",\n\n arrowRight: '\",\n\n // This small close button will be appended to your html/inline/ajax content by default,\n // if \"smallBtn\" option is not set to false\n smallBtn: '\"\n },\n\n // Container is injected into this element\n parentEl: \"body\",\n\n // Hide browser vertical scrollbars; use at your own risk\n hideScrollbar: true,\n\n // Focus handling\n // ==============\n\n // Try to focus on the first focusable element after opening\n autoFocus: true,\n\n // Put focus back to active element after closing\n backFocus: true,\n\n // Do not let user to focus on element outside modal content\n trapFocus: true,\n\n // Module specific options\n // =======================\n\n fullScreen: {\n autoStart: false\n },\n\n // Set `touch: false` to disable panning/swiping\n touch: {\n vertical: true, // Allow to drag content vertically\n momentum: true // Continue movement after releasing mouse/touch when panning\n },\n\n // Hash value when initializing manually,\n // set `false` to disable hash change\n hash: null,\n\n // Customize or add new media types\n // Example:\n /*\n media : {\n youtube : {\n params : {\n autoplay : 0\n }\n }\n }\n */\n media: {},\n\n slideShow: {\n autoStart: false,\n speed: 3000\n },\n\n thumbs: {\n autoStart: false, // Display thumbnails on opening\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\n parentEl: \".fancybox-container\", // Container is injected into this element\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\n },\n\n // Use mousewheel to navigate gallery\n // If 'auto' - enabled for images only\n wheel: \"auto\",\n\n // Callbacks\n //==========\n\n // See Documentation/API/Events for more information\n // Example:\n /*\n afterShow: function( instance, current ) {\n console.info( 'Clicked element:' );\n console.info( current.opts.$orig );\n }\n */\n\n onInit: $.noop, // When instance has been initialized\n\n beforeLoad: $.noop, // Before the content of a slide is being loaded\n afterLoad: $.noop, // When the content of a slide is done loading\n\n beforeShow: $.noop, // Before open animation starts\n afterShow: $.noop, // When content is done loading and animating\n\n beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.\n afterClose: $.noop, // After instance has been closed\n\n onActivate: $.noop, // When instance is brought to front\n onDeactivate: $.noop, // When other instance has been activated\n\n // Interaction\n // ===========\n\n // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,\n // each option can be string or method that returns value.\n //\n // Possible values:\n // \"close\" - close instance\n // \"next\" - move to next gallery item\n // \"nextOrClose\" - move to next gallery item or close if gallery has only one item\n // \"toggleControls\" - show/hide controls\n // \"zoom\" - zoom image (if loaded)\n // false - do nothing\n\n // Clicked on the content\n clickContent: function (current, event) {\n return current.type === \"image\" ? \"zoom\" : false;\n },\n\n // Clicked on the slide\n clickSlide: \"close\",\n\n // Clicked on the background (backdrop) element;\n // if you have not changed the layout, then most likely you need to use `clickSlide` option\n clickOutside: \"close\",\n\n // Same as previous two, but for double click\n dblclickContent: false,\n dblclickSlide: false,\n dblclickOutside: false,\n\n // Custom options when mobile device is detected\n // =============================================\n\n mobile: {\n preventCaptionOverlap: false,\n idleTime: false,\n clickContent: function (current, event) {\n return current.type === \"image\" ? \"toggleControls\" : false;\n },\n clickSlide: function (current, event) {\n return current.type === \"image\" ? \"toggleControls\" : \"close\";\n },\n dblclickContent: function (current, event) {\n return current.type === \"image\" ? \"zoom\" : false;\n },\n dblclickSlide: function (current, event) {\n return current.type === \"image\" ? \"zoom\" : false;\n }\n },\n\n // Internationalization\n // ====================\n\n lang: \"en\",\n i18n: {\n en: {\n CLOSE: \"Close\",\n NEXT: \"Next\",\n PREV: \"Previous\",\n ERROR: \"The requested content cannot be loaded. Please try again later.\",\n PLAY_START: \"Start slideshow\",\n PLAY_STOP: \"Pause slideshow\",\n FULL_SCREEN: \"Full screen\",\n THUMBS: \"Thumbnails\",\n DOWNLOAD: \"Download\",\n SHARE: \"Share\",\n ZOOM: \"Zoom\"\n },\n de: {\n CLOSE: \"Schließen\",\n NEXT: \"Weiter\",\n PREV: \"Zurück\",\n ERROR: \"Die angeforderten Daten konnten nicht geladen werden. Bitte versuchen Sie es später nochmal.\",\n PLAY_START: \"Diaschau starten\",\n PLAY_STOP: \"Diaschau beenden\",\n FULL_SCREEN: \"Vollbild\",\n THUMBS: \"Vorschaubilder\",\n DOWNLOAD: \"Herunterladen\",\n SHARE: \"Teilen\",\n ZOOM: \"Vergrößern\"\n }\n }\n };\n\n // Few useful variables and methods\n // ================================\n\n var $W = $(window);\n var $D = $(document);\n\n var called = 0;\n\n // Check if an object is a jQuery object and not a native JavaScript object\n // ========================================================================\n var isQuery = function (obj) {\n return obj && obj.hasOwnProperty && obj instanceof $;\n };\n\n // Handle multiple browsers for \"requestAnimationFrame\" and \"cancelAnimationFrame\"\n // ===============================================================================\n var requestAFrame = (function () {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n // if all else fails, use setTimeout\n function (callback) {\n return window.setTimeout(callback, 1000 / 60);\n }\n );\n })();\n\n var cancelAFrame = (function () {\n return (\n window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n window.oCancelAnimationFrame ||\n function (id) {\n window.clearTimeout(id);\n }\n );\n })();\n\n // Detect the supported transition-end event property name\n // =======================================================\n var transitionEnd = (function () {\n var el = document.createElement(\"fakeelement\"),\n t;\n\n var transitions = {\n transition: \"transitionend\",\n OTransition: \"oTransitionEnd\",\n MozTransition: \"transitionend\",\n WebkitTransition: \"webkitTransitionEnd\"\n };\n\n for (t in transitions) {\n if (el.style[t] !== undefined) {\n return transitions[t];\n }\n }\n\n return \"transitionend\";\n })();\n\n // Force redraw on an element.\n // This helps in cases where the browser doesn't redraw an updated element properly\n // ================================================================================\n var forceRedraw = function ($el) {\n return $el && $el.length && $el[0].offsetHeight;\n };\n\n // Exclude array (`buttons`) options from deep merging\n // ===================================================\n var mergeOpts = function (opts1, opts2) {\n var rez = $.extend(true, {}, opts1, opts2);\n\n $.each(opts2, function (key, value) {\n if ($.isArray(value)) {\n rez[key] = value;\n }\n });\n\n return rez;\n };\n\n // How much of an element is visible in viewport\n // =============================================\n\n var inViewport = function (elem) {\n var elemCenter, rez;\n\n if (!elem || elem.ownerDocument !== document) {\n return false;\n }\n\n $(\".fancybox-container\").css(\"pointer-events\", \"none\");\n\n elemCenter = {\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\n };\n\n rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;\n\n $(\".fancybox-container\").css(\"pointer-events\", \"\");\n\n return rez;\n };\n\n // Class definition\n // ================\n\n var FancyBox = function (content, opts, index) {\n var self = this;\n\n self.opts = mergeOpts({\n index: index\n }, $.fancybox.defaults);\n\n if ($.isPlainObject(opts)) {\n self.opts = mergeOpts(self.opts, opts);\n }\n\n if ($.fancybox.isMobile) {\n self.opts = mergeOpts(self.opts, self.opts.mobile);\n }\n\n self.id = self.opts.id || ++called;\n\n self.currIndex = parseInt(self.opts.index, 10) || 0;\n self.prevIndex = null;\n\n self.prevPos = null;\n self.currPos = 0;\n\n self.firstRun = true;\n\n // All group items\n self.group = [];\n\n // Existing slides (for current, next and previous gallery items)\n self.slides = {};\n\n // Create group elements\n self.addContent(content);\n\n if (!self.group.length) {\n return;\n }\n\n self.init();\n };\n\n $.extend(FancyBox.prototype, {\n // Create DOM structure\n // ====================\n\n init: function () {\n var self = this,\n firstItem = self.group[self.currIndex],\n firstItemOpts = firstItem.opts,\n $container,\n buttonStr;\n\n if (firstItemOpts.closeExisting) {\n $.fancybox.close(true);\n }\n\n // Hide scrollbars\n // ===============\n\n $(\"body\").addClass(\"fancybox-active\");\n\n if (\n !$.fancybox.getInstance() &&\n firstItemOpts.hideScrollbar !== false &&\n !$.fancybox.isMobile &&\n document.body.scrollHeight > window.innerHeight\n ) {\n $(\"head\").append(\n '\"\n );\n\n $(\"body\").addClass(\"compensate-for-scrollbar\");\n }\n\n // Build html markup and set references\n // ====================================\n\n // Build html code for buttons and insert into main template\n buttonStr = \"\";\n\n $.each(firstItemOpts.buttons, function (index, value) {\n buttonStr += firstItemOpts.btnTpl[value] || \"\";\n });\n\n // Create markup from base template, it will be initially hidden to\n // avoid unnecessary work like painting while initializing is not complete\n $container = $(\n self.translate(\n self,\n firstItemOpts.baseTpl\n .replace(\"{{buttons}}\", buttonStr)\n .replace(\"{{arrows}}\", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)\n )\n )\n .attr(\"id\", \"fancybox-container-\" + self.id)\n .addClass(firstItemOpts.baseClass)\n .data(\"FancyBox\", self)\n .appendTo(firstItemOpts.parentEl);\n\n // Create object holding references to jQuery wrapped nodes\n self.$refs = {\n container: $container\n };\n\n [\"bg\", \"inner\", \"infobar\", \"toolbar\", \"stage\", \"caption\", \"navigation\"].forEach(function (item) {\n self.$refs[item] = $container.find(\".fancybox-\" + item);\n });\n\n self.trigger(\"onInit\");\n\n // Enable events, deactive previous instances\n self.activate();\n\n // Build slides, load and reveal content\n self.jumpTo(self.currIndex);\n },\n\n // Simple i18n support - replaces object keys found in template\n // with corresponding values\n // ============================================================\n\n translate: function (obj, str) {\n var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;\n\n return str.replace(/\\{\\{(\\w+)\\}\\}/g, function (match, n) {\n return arr[n] === undefined ? match : arr[n];\n });\n },\n\n // Populate current group with fresh content\n // Check if each object has valid type and content\n // ===============================================\n\n addContent: function (content) {\n var self = this,\n items = $.makeArray(content),\n thumbs;\n\n $.each(items, function (i, item) {\n var obj = {},\n opts = {},\n $item,\n type,\n found,\n src,\n srcParts;\n\n // Step 1 - Make sure we have an object\n // ====================================\n\n if ($.isPlainObject(item)) {\n // We probably have manual usage here, something like\n // $.fancybox.open( [ { src : \"image.jpg\", type : \"image\" } ] )\n\n obj = item;\n opts = item.opts || item;\n } else if ($.type(item) === \"object\" && $(item).length) {\n // Here we probably have jQuery collection returned by some selector\n $item = $(item);\n\n // Support attributes like `data-options='{\"touch\" : false}'` and `data-touch='false'`\n opts = $item.data() || {};\n opts = $.extend(true, {}, opts, opts.options);\n\n // Here we store clicked element\n opts.$orig = $item;\n\n obj.src = self.opts.src || opts.src || $item.attr(\"href\");\n\n // DNN FIX BELOW!\n obj.src = obj.src.substring(1, obj.src.length);\n\n // Assume that simple syntax is used, for example:\n // `$.fancybox.open( $(\"#test\"), {} );`\n if (!obj.type && !obj.src) {\n obj.type = \"inline\";\n obj.src = item;\n }\n } else {\n // Assume we have a simple html code, for example:\n // $.fancybox.open( '
Hi!
' );\n obj = {\n type: \"html\",\n src: item + \"\"\n };\n }\n\n // Each gallery object has full collection of options\n obj.opts = $.extend(true, {}, self.opts, opts);\n\n // Do not merge buttons array\n if ($.isArray(opts.buttons)) {\n obj.opts.buttons = opts.buttons;\n }\n\n if ($.fancybox.isMobile && obj.opts.mobile) {\n obj.opts = mergeOpts(obj.opts, obj.opts.mobile);\n }\n\n // Step 2 - Make sure we have content type, if not - try to guess\n // ==============================================================\n\n type = obj.type || obj.opts.type;\n src = obj.src || \"\";\n\n if (!type && src) {\n if ((found = src.match(/\\.(mp4|mov|ogv|webm)((\\?|#).*)?$/i))) {\n type = \"video\";\n\n if (!obj.opts.video.format) {\n obj.opts.video.format = \"video/\" + (found[1] === \"ogv\" ? \"ogg\" : found[1]);\n }\n } else if (src.match(/(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i)) {\n type = \"image\";\n } else if (src.match(/\\.(pdf)((\\?|#).*)?$/i)) {\n type = \"iframe\";\n obj = $.extend(true, obj, {\n contentType: \"pdf\",\n opts: {\n iframe: {\n preload: false\n }\n }\n });\n } else if (src.charAt(0) === \"#\") {\n type = \"inline\";\n }\n }\n\n if (type) {\n obj.type = type;\n } else {\n self.trigger(\"objectNeedsType\", obj);\n }\n\n console.log(obj);\n\n if (!obj.contentType) {\n obj.contentType = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1 ? \"html\" : obj.type;\n }\n\n // Step 3 - Some adjustments\n // =========================\n\n obj.index = self.group.length;\n\n if (obj.opts.smallBtn == \"auto\") {\n obj.opts.smallBtn = $.inArray(obj.type, [\"html\", \"inline\", \"ajax\"]) > -1;\n }\n\n if (obj.opts.toolbar === \"auto\") {\n obj.opts.toolbar = !obj.opts.smallBtn;\n }\n\n // Find thumbnail image, check if exists and if is in the viewport\n obj.$thumb = obj.opts.$thumb || null;\n\n if (obj.opts.$trigger && obj.index === self.opts.index) {\n obj.$thumb = obj.opts.$trigger.find(\"img:first\");\n\n if (obj.$thumb.length) {\n obj.opts.$orig = obj.opts.$trigger;\n }\n }\n\n if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {\n obj.$thumb = obj.opts.$orig.find(\"img:first\");\n }\n\n if (obj.$thumb && !obj.$thumb.length) {\n obj.$thumb = null;\n }\n\n obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);\n\n // \"caption\" is a \"special\" option, it can be used to customize caption per gallery item\n if ($.type(obj.opts.caption) === \"function\") {\n obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);\n }\n\n if ($.type(self.opts.caption) === \"function\") {\n obj.opts.caption = self.opts.caption.apply(item, [self, obj]);\n }\n\n // Make sure we have caption as a string or jQuery object\n if (!(obj.opts.caption instanceof $)) {\n obj.opts.caption = obj.opts.caption === undefined ? \"\" : obj.opts.caption + \"\";\n }\n\n // Check if url contains \"filter\" used to filter the content\n // Example: \"ajax.html #something\"\n if (obj.type === \"ajax\") {\n srcParts = src.split(/\\s+/, 2);\n\n if (srcParts.length > 1) {\n obj.src = srcParts.shift();\n\n obj.opts.filter = srcParts.shift();\n }\n }\n\n // Hide all buttons and disable interactivity for modal items\n if (obj.opts.modal) {\n obj.opts = $.extend(true, obj.opts, {\n trapFocus: true,\n // Remove buttons\n infobar: 0,\n toolbar: 0,\n\n smallBtn: 0,\n\n // Disable keyboard navigation\n keyboard: 0,\n\n // Disable some modules\n slideShow: 0,\n fullScreen: 0,\n thumbs: 0,\n touch: 0,\n\n // Disable click event handlers\n clickContent: false,\n clickSlide: false,\n clickOutside: false,\n dblclickContent: false,\n dblclickSlide: false,\n dblclickOutside: false\n });\n }\n\n // Step 4 - Add processed object to group\n // ======================================\n\n self.group.push(obj);\n });\n\n // Update controls if gallery is already opened\n if (Object.keys(self.slides).length) {\n self.updateControls();\n\n // Update thumbnails, if needed\n thumbs = self.Thumbs;\n\n if (thumbs && thumbs.isActive) {\n thumbs.create();\n\n thumbs.focus();\n }\n }\n },\n\n // Attach an event handler functions for:\n // - navigation buttons\n // - browser scrolling, resizing;\n // - focusing\n // - keyboard\n // - detecting inactivity\n // ======================================\n\n addEvents: function () {\n var self = this;\n\n self.removeEvents();\n\n // Make navigation elements clickable\n // ==================================\n\n self.$refs.container\n .on(\"click.fb-close\", \"[data-fancybox-close]\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n self.close(e);\n })\n .on(\"touchstart.fb-prev click.fb-prev\", \"[data-fancybox-prev]\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n self.previous();\n })\n .on(\"touchstart.fb-next click.fb-next\", \"[data-fancybox-next]\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n self.next();\n })\n .on(\"click.fb\", \"[data-fancybox-zoom]\", function (e) {\n // Click handler for zoom button\n self[self.isScaledDown() ? \"scaleToActual\" : \"scaleToFit\"]();\n });\n\n // Handle page scrolling and browser resizing\n // ==========================================\n\n $W.on(\"orientationchange.fb resize.fb\", function (e) {\n if (e && e.originalEvent && e.originalEvent.type === \"resize\") {\n if (self.requestId) {\n cancelAFrame(self.requestId);\n }\n\n self.requestId = requestAFrame(function () {\n self.update(e);\n });\n } else {\n if (self.current && self.current.type === \"iframe\") {\n self.$refs.stage.hide();\n }\n\n setTimeout(\n function () {\n self.$refs.stage.show();\n\n self.update(e);\n },\n $.fancybox.isMobile ? 600 : 250\n );\n }\n });\n\n $D.on(\"keydown.fb\", function (e) {\n var instance = $.fancybox ? $.fancybox.getInstance() : null,\n current = instance.current,\n keycode = e.keyCode || e.which;\n\n // Trap keyboard focus inside of the modal\n // =======================================\n\n if (keycode == 9) {\n if (current.opts.trapFocus) {\n self.focus(e);\n }\n\n return;\n }\n\n // Enable keyboard navigation\n // ==========================\n\n if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is(\"input,textarea,video,audio,select\")) {\n return;\n }\n\n // Backspace and Esc keys\n if (keycode === 8 || keycode === 27) {\n e.preventDefault();\n\n self.close(e);\n\n return;\n }\n\n // Left arrow and Up arrow\n if (keycode === 37 || keycode === 38) {\n e.preventDefault();\n\n self.previous();\n\n return;\n }\n\n // Righ arrow and Down arrow\n if (keycode === 39 || keycode === 40) {\n e.preventDefault();\n\n self.next();\n\n return;\n }\n\n self.trigger(\"afterKeydown\", e, keycode);\n });\n\n // Hide controls after some inactivity period\n if (self.group[self.currIndex].opts.idleTime) {\n self.idleSecondsCounter = 0;\n\n $D.on(\n \"mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle\",\n function (e) {\n self.idleSecondsCounter = 0;\n\n if (self.isIdle) {\n self.showControls();\n }\n\n self.isIdle = false;\n }\n );\n\n self.idleInterval = window.setInterval(function () {\n self.idleSecondsCounter++;\n\n if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {\n self.isIdle = true;\n self.idleSecondsCounter = 0;\n\n self.hideControls();\n }\n }, 1000);\n }\n },\n\n // Remove events added by the core\n // ===============================\n\n removeEvents: function () {\n var self = this;\n\n $W.off(\"orientationchange.fb resize.fb\");\n $D.off(\"keydown.fb .fb-idle\");\n\n this.$refs.container.off(\".fb-close .fb-prev .fb-next\");\n\n if (self.idleInterval) {\n window.clearInterval(self.idleInterval);\n\n self.idleInterval = null;\n }\n },\n\n // Change to previous gallery item\n // ===============================\n\n previous: function (duration) {\n return this.jumpTo(this.currPos - 1, duration);\n },\n\n // Change to next gallery item\n // ===========================\n\n next: function (duration) {\n return this.jumpTo(this.currPos + 1, duration);\n },\n\n // Switch to selected gallery item\n // ===============================\n\n jumpTo: function (pos, duration) {\n var self = this,\n groupLen = self.group.length,\n firstRun,\n isMoved,\n loop,\n current,\n previous,\n slidePos,\n stagePos,\n prop,\n diff;\n\n if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {\n return;\n }\n\n // Should loop?\n pos = parseInt(pos, 10);\n loop = self.current ? self.current.opts.loop : self.opts.loop;\n\n if (!loop && (pos < 0 || pos >= groupLen)) {\n return false;\n }\n\n // Check if opening for the first time; this helps to speed things up\n firstRun = self.firstRun = !Object.keys(self.slides).length;\n\n // Create slides\n previous = self.current;\n\n self.prevIndex = self.currIndex;\n self.prevPos = self.currPos;\n\n current = self.createSlide(pos);\n\n if (groupLen > 1) {\n if (loop || current.index < groupLen - 1) {\n self.createSlide(pos + 1);\n }\n\n if (loop || current.index > 0) {\n self.createSlide(pos - 1);\n }\n }\n\n self.current = current;\n self.currIndex = current.index;\n self.currPos = current.pos;\n\n self.trigger(\"beforeShow\", firstRun);\n\n self.updateControls();\n\n // Validate duration length\n current.forcedDuration = undefined;\n\n if ($.isNumeric(duration)) {\n current.forcedDuration = duration;\n } else {\n duration = current.opts[firstRun ? \"animationDuration\" : \"transitionDuration\"];\n }\n\n duration = parseInt(duration, 10);\n\n // Check if user has swiped the slides or if still animating\n isMoved = self.isMoved(current);\n\n // Make sure current slide is visible\n current.$slide.addClass(\"fancybox-slide--current\");\n\n // Fresh start - reveal container, current slide and start loading content\n if (firstRun) {\n if (current.opts.animationEffect && duration) {\n self.$refs.container.css(\"transition-duration\", duration + \"ms\");\n }\n\n self.$refs.container.addClass(\"fancybox-is-open\").trigger(\"focus\");\n\n // Attempt to load content into slide\n // This will later call `afterLoad` -> `revealContent`\n self.loadSlide(current);\n\n self.preload(\"image\");\n\n return;\n }\n\n // Get actual slide/stage positions (before cleaning up)\n slidePos = $.fancybox.getTranslate(previous.$slide);\n stagePos = $.fancybox.getTranslate(self.$refs.stage);\n\n // Clean up all slides\n $.each(self.slides, function (index, slide) {\n $.fancybox.stop(slide.$slide, true);\n });\n\n if (previous.pos !== current.pos) {\n previous.isComplete = false;\n }\n\n previous.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--current\");\n\n // If slides are out of place, then animate them to correct position\n if (isMoved) {\n // Calculate horizontal swipe distance\n diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);\n\n $.each(self.slides, function (index, slide) {\n slide.$slide.removeClass(\"fancybox-animated\").removeClass(function (index, className) {\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\n });\n\n // Make sure that each slide is in equal distance\n // This is mostly needed for freshly added slides, because they are not yet positioned\n var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;\n\n $.fancybox.setTranslate(slide.$slide, {\n top: 0,\n left: leftPos - stagePos.left + diff\n });\n\n if (slide.pos !== current.pos) {\n slide.$slide.addClass(\"fancybox-slide--\" + (slide.pos > current.pos ? \"next\" : \"previous\"));\n }\n\n // Redraw to make sure that transition will start\n forceRedraw(slide.$slide);\n\n // Animate the slide\n $.fancybox.animate(\n slide.$slide, {\n top: 0,\n left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter\n },\n duration,\n function () {\n slide.$slide\n .css({\n transform: \"\",\n opacity: \"\"\n })\n .removeClass(\"fancybox-slide--next fancybox-slide--previous\");\n\n if (slide.pos === self.currPos) {\n self.complete();\n }\n }\n );\n });\n } else if (duration && current.opts.transitionEffect) {\n // Set transition effect for previously active slide\n prop = \"fancybox-animated fancybox-fx-\" + current.opts.transitionEffect;\n\n previous.$slide.addClass(\"fancybox-slide--\" + (previous.pos > current.pos ? \"next\" : \"previous\"));\n\n $.fancybox.animate(\n previous.$slide,\n prop,\n duration,\n function () {\n previous.$slide.removeClass(prop).removeClass(\"fancybox-slide--next fancybox-slide--previous\");\n },\n false\n );\n }\n\n if (current.isLoaded) {\n self.revealContent(current);\n } else {\n self.loadSlide(current);\n }\n\n self.preload(\"image\");\n },\n\n // Create new \"slide\" element\n // These are gallery items that are actually added to DOM\n // =======================================================\n\n createSlide: function (pos) {\n var self = this,\n $slide,\n index;\n\n index = pos % self.group.length;\n index = index < 0 ? self.group.length + index : index;\n\n if (!self.slides[pos] && self.group[index]) {\n $slide = $('').appendTo(self.$refs.stage);\n\n self.slides[pos] = $.extend(true, {}, self.group[index], {\n pos: pos,\n $slide: $slide,\n isLoaded: false\n });\n\n self.updateSlide(self.slides[pos]);\n }\n\n return self.slides[pos];\n },\n\n // Scale image to the actual size of the image;\n // x and y values should be relative to the slide\n // ==============================================\n\n scaleToActual: function (x, y, duration) {\n var self = this,\n current = self.current,\n $content = current.$content,\n canvasWidth = $.fancybox.getTranslate(current.$slide).width,\n canvasHeight = $.fancybox.getTranslate(current.$slide).height,\n newImgWidth = current.width,\n newImgHeight = current.height,\n imgPos,\n posX,\n posY,\n scaleX,\n scaleY;\n\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\n return;\n }\n\n self.isAnimating = true;\n\n $.fancybox.stop($content);\n\n x = x === undefined ? canvasWidth * 0.5 : x;\n y = y === undefined ? canvasHeight * 0.5 : y;\n\n imgPos = $.fancybox.getTranslate($content);\n\n imgPos.top -= $.fancybox.getTranslate(current.$slide).top;\n imgPos.left -= $.fancybox.getTranslate(current.$slide).left;\n\n scaleX = newImgWidth / imgPos.width;\n scaleY = newImgHeight / imgPos.height;\n\n // Get center position for original image\n posX = canvasWidth * 0.5 - newImgWidth * 0.5;\n posY = canvasHeight * 0.5 - newImgHeight * 0.5;\n\n // Make sure image does not move away from edges\n if (newImgWidth > canvasWidth) {\n posX = imgPos.left * scaleX - (x * scaleX - x);\n\n if (posX > 0) {\n posX = 0;\n }\n\n if (posX < canvasWidth - newImgWidth) {\n posX = canvasWidth - newImgWidth;\n }\n }\n\n if (newImgHeight > canvasHeight) {\n posY = imgPos.top * scaleY - (y * scaleY - y);\n\n if (posY > 0) {\n posY = 0;\n }\n\n if (posY < canvasHeight - newImgHeight) {\n posY = canvasHeight - newImgHeight;\n }\n }\n\n self.updateCursor(newImgWidth, newImgHeight);\n\n $.fancybox.animate(\n $content, {\n top: posY,\n left: posX,\n scaleX: scaleX,\n scaleY: scaleY\n },\n duration || 366,\n function () {\n self.isAnimating = false;\n }\n );\n\n // Stop slideshow\n if (self.SlideShow && self.SlideShow.isActive) {\n self.SlideShow.stop();\n }\n },\n\n // Scale image to fit inside parent element\n // ========================================\n\n scaleToFit: function (duration) {\n var self = this,\n current = self.current,\n $content = current.$content,\n end;\n\n if (self.isAnimating || self.isMoved() || !$content || !(current.type == \"image\" && current.isLoaded && !current.hasError)) {\n return;\n }\n\n self.isAnimating = true;\n\n $.fancybox.stop($content);\n\n end = self.getFitPos(current);\n\n self.updateCursor(end.width, end.height);\n\n $.fancybox.animate(\n $content, {\n top: end.top,\n left: end.left,\n scaleX: end.width / $content.width(),\n scaleY: end.height / $content.height()\n },\n duration || 366,\n function () {\n self.isAnimating = false;\n }\n );\n },\n\n // Calculate image size to fit inside viewport\n // ===========================================\n\n getFitPos: function (slide) {\n var self = this,\n $content = slide.$content,\n $slide = slide.$slide,\n width = slide.width || slide.opts.width,\n height = slide.height || slide.opts.height,\n maxWidth,\n maxHeight,\n minRatio,\n aspectRatio,\n rez = {};\n\n if (!slide.isLoaded || !$content || !$content.length) {\n return false;\n }\n\n maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;\n maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;\n\n maxWidth -=\n parseFloat($slide.css(\"paddingLeft\")) +\n parseFloat($slide.css(\"paddingRight\")) +\n parseFloat($content.css(\"marginLeft\")) +\n parseFloat($content.css(\"marginRight\"));\n\n maxHeight -=\n parseFloat($slide.css(\"paddingTop\")) +\n parseFloat($slide.css(\"paddingBottom\")) +\n parseFloat($content.css(\"marginTop\")) +\n parseFloat($content.css(\"marginBottom\"));\n\n if (!width || !height) {\n width = maxWidth;\n height = maxHeight;\n }\n\n minRatio = Math.min(1, maxWidth / width, maxHeight / height);\n\n width = minRatio * width;\n height = minRatio * height;\n\n // Adjust width/height to precisely fit into container\n if (width > maxWidth - 0.5) {\n width = maxWidth;\n }\n\n if (height > maxHeight - 0.5) {\n height = maxHeight;\n }\n\n if (slide.type === \"image\") {\n rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css(\"paddingTop\"));\n rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css(\"paddingLeft\"));\n } else if (slide.contentType === \"video\") {\n // Force aspect ratio for the video\n // \"I say the whole world must learn of our peaceful ways… by force!\"\n aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;\n\n if (height > width / aspectRatio) {\n height = width / aspectRatio;\n } else if (width > height * aspectRatio) {\n width = height * aspectRatio;\n }\n }\n\n rez.width = width;\n rez.height = height;\n\n return rez;\n },\n\n // Update content size and position for all slides\n // ==============================================\n\n update: function (e) {\n var self = this;\n\n $.each(self.slides, function (key, slide) {\n self.updateSlide(slide, e);\n });\n },\n\n // Update slide content position and size\n // ======================================\n\n updateSlide: function (slide, e) {\n var self = this,\n $content = slide && slide.$content,\n width = slide.width || slide.opts.width,\n height = slide.height || slide.opts.height,\n $slide = slide.$slide;\n\n // First, prevent caption overlap, if needed\n self.adjustCaption(slide);\n\n // Then resize content to fit inside the slide\n if ($content && (width || height || slide.contentType === \"video\") && !slide.hasError) {\n $.fancybox.stop($content);\n\n $.fancybox.setTranslate($content, self.getFitPos(slide));\n\n if (slide.pos === self.currPos) {\n self.isAnimating = false;\n\n self.updateCursor();\n }\n }\n\n // Then some adjustments\n self.adjustLayout(slide);\n\n if ($slide.length) {\n $slide.trigger(\"refresh\");\n\n if (slide.pos === self.currPos) {\n self.$refs.toolbar\n .add(self.$refs.navigation.find(\".fancybox-button--arrow_right\"))\n .toggleClass(\"compensate-for-scrollbar\", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);\n }\n }\n\n self.trigger(\"onUpdate\", slide, e);\n },\n\n // Horizontally center slide\n // =========================\n\n centerSlide: function (duration) {\n var self = this,\n current = self.current,\n $slide = current.$slide;\n\n if (self.isClosing || !current) {\n return;\n }\n\n $slide.siblings().css({\n transform: \"\",\n opacity: \"\"\n });\n\n $slide\n .parent()\n .children()\n .removeClass(\"fancybox-slide--previous fancybox-slide--next\");\n\n $.fancybox.animate(\n $slide, {\n top: 0,\n left: 0,\n opacity: 1\n },\n duration === undefined ? 0 : duration,\n function () {\n // Clean up\n $slide.css({\n transform: \"\",\n opacity: \"\"\n });\n\n if (!current.isComplete) {\n self.complete();\n }\n },\n false\n );\n },\n\n // Check if current slide is moved (swiped)\n // ========================================\n\n isMoved: function (slide) {\n var current = slide || this.current,\n slidePos,\n stagePos;\n\n if (!current) {\n return false;\n }\n\n stagePos = $.fancybox.getTranslate(this.$refs.stage);\n slidePos = $.fancybox.getTranslate(current.$slide);\n\n return (\n !current.$slide.hasClass(\"fancybox-animated\") &&\n (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)\n );\n },\n\n // Update cursor style depending if content can be zoomed\n // ======================================================\n\n updateCursor: function (nextWidth, nextHeight) {\n var self = this,\n current = self.current,\n $container = self.$refs.container,\n canPan,\n isZoomable;\n\n if (!current || self.isClosing || !self.Guestures) {\n return;\n }\n\n $container.removeClass(\"fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan\");\n\n canPan = self.canPan(nextWidth, nextHeight);\n\n isZoomable = canPan ? true : self.isZoomable();\n\n $container.toggleClass(\"fancybox-is-zoomable\", isZoomable);\n\n $(\"[data-fancybox-zoom]\").prop(\"disabled\", !isZoomable);\n\n if (canPan) {\n $container.addClass(\"fancybox-can-pan\");\n } else if (\n isZoomable &&\n (current.opts.clickContent === \"zoom\" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == \"zoom\"))\n ) {\n $container.addClass(\"fancybox-can-zoomIn\");\n } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== \"video\") {\n $container.addClass(\"fancybox-can-swipe\");\n }\n },\n\n // Check if current slide is zoomable\n // ==================================\n\n isZoomable: function () {\n var self = this,\n current = self.current,\n fitPos;\n\n // Assume that slide is zoomable if:\n // - image is still loading\n // - actual size of the image is smaller than available area\n if (current && !self.isClosing && current.type === \"image\" && !current.hasError) {\n if (!current.isLoaded) {\n return true;\n }\n\n fitPos = self.getFitPos(current);\n\n if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {\n return true;\n }\n }\n\n return false;\n },\n\n // Check if current image dimensions are smaller than actual\n // =========================================================\n\n isScaledDown: function (nextWidth, nextHeight) {\n var self = this,\n rez = false,\n current = self.current,\n $content = current.$content;\n\n if (nextWidth !== undefined && nextHeight !== undefined) {\n rez = nextWidth < current.width && nextHeight < current.height;\n } else if ($content) {\n rez = $.fancybox.getTranslate($content);\n rez = rez.width < current.width && rez.height < current.height;\n }\n\n return rez;\n },\n\n // Check if image dimensions exceed parent element\n // ===============================================\n\n canPan: function (nextWidth, nextHeight) {\n var self = this,\n current = self.current,\n pos = null,\n rez = false;\n\n if (current.type === \"image\" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {\n rez = self.getFitPos(current);\n\n if (nextWidth !== undefined && nextHeight !== undefined) {\n pos = {\n width: nextWidth,\n height: nextHeight\n };\n } else if (current.isComplete) {\n pos = $.fancybox.getTranslate(current.$content);\n }\n\n if (pos && rez) {\n rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;\n }\n }\n\n return rez;\n },\n\n // Load content into the slide\n // ===========================\n\n loadSlide: function (slide) {\n var self = this,\n type,\n $slide,\n ajaxLoad;\n\n if (slide.isLoading || slide.isLoaded) {\n return;\n }\n\n slide.isLoading = true;\n\n if (self.trigger(\"beforeLoad\", slide) === false) {\n slide.isLoading = false;\n\n return false;\n }\n\n type = slide.type;\n $slide = slide.$slide;\n\n $slide\n .off(\"refresh\")\n .trigger(\"onReset\")\n .addClass(slide.opts.slideClass);\n\n // Create content depending on the type\n switch (type) {\n case \"image\":\n self.setImage(slide);\n\n break;\n\n case \"iframe\":\n self.setIframe(slide);\n\n break;\n\n case \"html\":\n self.setContent(slide, slide.src || slide.content);\n\n break;\n\n case \"video\":\n self.setContent(\n slide,\n slide.opts.video.tpl\n .replace(/\\{\\{src\\}\\}/gi, slide.src)\n .replace(\"{{format}}\", slide.opts.videoFormat || slide.opts.video.format || \"\")\n .replace(\"{{poster}}\", slide.thumb || \"\")\n );\n\n break;\n\n case \"inline\":\n if ($(slide.src).length) {\n self.setContent(slide, $(slide.src));\n } else {\n self.setError(slide);\n }\n\n break;\n\n case \"ajax\":\n self.showLoading(slide);\n\n ajaxLoad = $.ajax(\n $.extend({}, slide.opts.ajax.settings, {\n url: slide.src,\n success: function (data, textStatus) {\n if (textStatus === \"success\") {\n self.setContent(slide, data);\n }\n },\n error: function (jqXHR, textStatus) {\n if (jqXHR && textStatus !== \"abort\") {\n self.setError(slide);\n }\n }\n })\n );\n\n $slide.one(\"onReset\", function () {\n ajaxLoad.abort();\n });\n\n break;\n\n default:\n self.setError(slide);\n\n break;\n }\n\n return true;\n },\n\n // Use thumbnail image, if possible\n // ================================\n\n setImage: function (slide) {\n var self = this,\n ghost;\n\n // Check if need to show loading icon\n setTimeout(function () {\n var $img = slide.$image;\n\n if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {\n self.showLoading(slide);\n }\n }, 50);\n\n //Check if image has srcset\n self.checkSrcset(slide);\n\n // This will be wrapper containing both ghost and actual image\n slide.$content = $('')\n .addClass(\"fancybox-is-hidden\")\n .appendTo(slide.$slide.addClass(\"fancybox-slide--image\"));\n\n // If we have a thumbnail, we can display it while actual image is loading\n // Users will not stare at black screen and actual image will appear gradually\n if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {\n slide.width = slide.opts.width;\n slide.height = slide.opts.height;\n\n ghost = document.createElement(\"img\");\n\n ghost.onerror = function () {\n $(this).remove();\n\n slide.$ghost = null;\n };\n\n ghost.onload = function () {\n self.afterLoad(slide);\n };\n\n slide.$ghost = $(ghost)\n .addClass(\"fancybox-image\")\n .appendTo(slide.$content)\n .attr(\"src\", slide.thumb);\n }\n\n // Start loading actual image\n self.setBigImage(slide);\n },\n\n // Check if image has srcset and get the source\n // ============================================\n checkSrcset: function (slide) {\n var srcset = slide.opts.srcset || slide.opts.image.srcset,\n found,\n temp,\n pxRatio,\n windowWidth;\n\n // If we have \"srcset\", then we need to find first matching \"src\" value.\n // This is necessary, because when you set an src attribute, the browser will preload the image\n // before any javascript or even CSS is applied.\n if (srcset) {\n pxRatio = window.devicePixelRatio || 1;\n windowWidth = window.innerWidth * pxRatio;\n\n temp = srcset.split(\",\").map(function (el) {\n var ret = {};\n\n el.trim()\n .split(/\\s+/)\n .forEach(function (el, i) {\n var value = parseInt(el.substring(0, el.length - 1), 10);\n\n if (i === 0) {\n return (ret.url = el);\n }\n\n if (value) {\n ret.value = value;\n ret.postfix = el[el.length - 1];\n }\n });\n\n return ret;\n });\n\n // Sort by value\n temp.sort(function (a, b) {\n return a.value - b.value;\n });\n\n // Ok, now we have an array of all srcset values\n for (var j = 0; j < temp.length; j++) {\n var el = temp[j];\n\n if ((el.postfix === \"w\" && el.value >= windowWidth) || (el.postfix === \"x\" && el.value >= pxRatio)) {\n found = el;\n break;\n }\n }\n\n // If not found, take the last one\n if (!found && temp.length) {\n found = temp[temp.length - 1];\n }\n\n if (found) {\n slide.src = found.url;\n\n // If we have default width/height values, we can calculate height for matching source\n if (slide.width && slide.height && found.postfix == \"w\") {\n slide.height = (slide.width / slide.height) * found.value;\n slide.width = found.value;\n }\n\n slide.opts.srcset = srcset;\n }\n }\n },\n\n // Create full-size image\n // ======================\n\n setBigImage: function (slide) {\n var self = this,\n img = document.createElement(\"img\"),\n $img = $(img);\n\n slide.$image = $img\n .one(\"error\", function () {\n self.setError(slide);\n })\n .one(\"load\", function () {\n var sizes;\n\n if (!slide.$ghost) {\n self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);\n\n self.afterLoad(slide);\n }\n\n if (self.isClosing) {\n return;\n }\n\n if (slide.opts.srcset) {\n sizes = slide.opts.sizes;\n\n if (!sizes || sizes === \"auto\") {\n sizes =\n (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? \"100\" : Math.round((slide.width / slide.height) * 100)) +\n \"vw\";\n }\n\n $img.attr(\"sizes\", sizes).attr(\"srcset\", slide.opts.srcset);\n }\n\n // Hide temporary image after some delay\n if (slide.$ghost) {\n setTimeout(function () {\n if (slide.$ghost && !self.isClosing) {\n slide.$ghost.hide();\n }\n }, Math.min(300, Math.max(1000, slide.height / 1600)));\n }\n\n self.hideLoading(slide);\n })\n .addClass(\"fancybox-image\")\n .attr(\"src\", slide.src)\n .appendTo(slide.$content);\n\n if ((img.complete || img.readyState == \"complete\") && $img.naturalWidth && $img.naturalHeight) {\n $img.trigger(\"load\");\n } else if (img.error) {\n $img.trigger(\"error\");\n }\n },\n\n // Computes the slide size from image size and maxWidth/maxHeight\n // ==============================================================\n\n resolveImageSlideSize: function (slide, imgWidth, imgHeight) {\n var maxWidth = parseInt(slide.opts.width, 10),\n maxHeight = parseInt(slide.opts.height, 10);\n\n // Sets the default values from the image\n slide.width = imgWidth;\n slide.height = imgHeight;\n\n if (maxWidth > 0) {\n slide.width = maxWidth;\n slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);\n }\n\n if (maxHeight > 0) {\n slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);\n slide.height = maxHeight;\n }\n },\n\n // Create iframe wrapper, iframe and bindings\n // ==========================================\n\n setIframe: function (slide) {\n var self = this,\n opts = slide.opts.iframe,\n $slide = slide.$slide,\n $iframe;\n\n slide.$content = $('')\n .css(opts.css)\n .appendTo($slide);\n\n $slide.addClass(\"fancybox-slide--\" + slide.contentType);\n\n slide.$iframe = $iframe = $(opts.tpl.replace(/\\{rnd\\}/g, new Date().getTime()))\n .attr(opts.attr)\n .appendTo(slide.$content);\n\n if (opts.preload) {\n self.showLoading(slide);\n\n // Unfortunately, it is not always possible to determine if iframe is successfully loaded\n // (due to browser security policy)\n\n $iframe.on(\"load.fb error.fb\", function (e) {\n this.isReady = 1;\n\n slide.$slide.trigger(\"refresh\");\n\n self.afterLoad(slide);\n });\n\n // Recalculate iframe content size\n // ===============================\n\n $slide.on(\"refresh.fb\", function () {\n var $content = slide.$content,\n frameWidth = opts.css.width,\n frameHeight = opts.css.height,\n $contents,\n $body;\n\n if ($iframe[0].isReady !== 1) {\n return;\n }\n\n try {\n $contents = $iframe.contents();\n $body = $contents.find(\"body\");\n } catch (ignore) {}\n\n // Calculate content dimensions, if it is accessible\n if ($body && $body.length && $body.children().length) {\n // Avoid scrolling to top (if multiple instances)\n $slide.css(\"overflow\", \"visible\");\n\n $content.css({\n width: \"100%\",\n \"max-width\": \"100%\",\n height: \"9999px\"\n });\n\n if (frameWidth === undefined) {\n frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));\n }\n\n $content.css(\"width\", frameWidth ? frameWidth : \"\").css(\"max-width\", \"\");\n\n if (frameHeight === undefined) {\n frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));\n }\n\n $content.css(\"height\", frameHeight ? frameHeight : \"\");\n\n $slide.css(\"overflow\", \"auto\");\n }\n\n $content.removeClass(\"fancybox-is-hidden\");\n });\n } else {\n self.afterLoad(slide);\n }\n\n $iframe.attr(\"src\", slide.src);\n\n // Remove iframe if closing or changing gallery item\n $slide.one(\"onReset\", function () {\n // This helps IE not to throw errors when closing\n try {\n $(this)\n .find(\"iframe\")\n .hide()\n .unbind()\n .attr(\"src\", \"//about:blank\");\n } catch (ignore) {}\n\n $(this)\n .off(\"refresh.fb\")\n .empty();\n\n slide.isLoaded = false;\n slide.isRevealed = false;\n });\n },\n\n // Wrap and append content to the slide\n // ======================================\n\n setContent: function (slide, content) {\n var self = this;\n\n if (self.isClosing) {\n return;\n }\n\n self.hideLoading(slide);\n\n if (slide.$content) {\n $.fancybox.stop(slide.$content);\n }\n\n slide.$slide.empty();\n\n // If content is a jQuery object, then it will be moved to the slide.\n // The placeholder is created so we will know where to put it back.\n if (isQuery(content) && content.parent().length) {\n // Make sure content is not already moved to fancyBox\n if (content.hasClass(\"fancybox-content\") || content.parent().hasClass(\"fancybox-content\")) {\n content.parents(\".fancybox-slide\").trigger(\"onReset\");\n }\n\n // Create temporary element marking original place of the content\n slide.$placeholder = $(\"
\")\n .hide()\n .insertAfter(content);\n\n // Make sure content is visible\n content.css(\"display\", \"inline-block\");\n } else if (!slide.hasError) {\n // If content is just a plain text, try to convert it to html\n if ($.type(content) === \"string\") {\n content = $(\"
\")\n .append($.trim(content))\n .contents();\n }\n\n // If \"filter\" option is provided, then filter content\n if (slide.opts.filter) {\n content = $(\"
\")\n .html(content)\n .find(slide.opts.filter);\n }\n }\n\n slide.$slide.one(\"onReset\", function () {\n // Pause all html5 video/audio\n $(this)\n .find(\"video,audio\")\n .trigger(\"pause\");\n\n // Put content back\n if (slide.$placeholder) {\n slide.$placeholder.after(content.removeClass(\"fancybox-content\").hide()).remove();\n\n slide.$placeholder = null;\n }\n\n // Remove custom close button\n if (slide.$smallBtn) {\n slide.$smallBtn.remove();\n\n slide.$smallBtn = null;\n }\n\n // Remove content and mark slide as not loaded\n if (!slide.hasError) {\n $(this).empty();\n\n slide.isLoaded = false;\n slide.isRevealed = false;\n }\n });\n\n $(content).appendTo(slide.$slide);\n\n if ($(content).is(\"video,audio\")) {\n $(content).addClass(\"fancybox-video\");\n\n $(content).wrap(\"\");\n\n slide.contentType = \"video\";\n\n slide.opts.width = slide.opts.width || $(content).attr(\"width\");\n slide.opts.height = slide.opts.height || $(content).attr(\"height\");\n }\n\n slide.$content = slide.$slide\n .children()\n .filter(\"div,form,main,video,audio,article,.fancybox-content\")\n .first();\n\n slide.$content.siblings().hide();\n\n // Re-check if there is a valid content\n // (in some cases, ajax response can contain various elements or plain text)\n if (!slide.$content.length) {\n slide.$content = slide.$slide\n .wrapInner(\"\")\n .children()\n .first();\n }\n\n slide.$content.addClass(\"fancybox-content\");\n\n slide.$slide.addClass(\"fancybox-slide--\" + slide.contentType);\n\n self.afterLoad(slide);\n },\n\n // Display error message\n // =====================\n\n setError: function (slide) {\n slide.hasError = true;\n\n slide.$slide\n .trigger(\"onReset\")\n .removeClass(\"fancybox-slide--\" + slide.contentType)\n .addClass(\"fancybox-slide--error\");\n\n slide.contentType = \"html\";\n\n this.setContent(slide, this.translate(slide, slide.opts.errorTpl));\n\n if (slide.pos === this.currPos) {\n this.isAnimating = false;\n }\n },\n\n // Show loading icon inside the slide\n // ==================================\n\n showLoading: function (slide) {\n var self = this;\n\n slide = slide || self.current;\n\n if (slide && !slide.$spinner) {\n slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))\n .appendTo(slide.$slide)\n .hide()\n .fadeIn(\"fast\");\n }\n },\n\n // Remove loading icon from the slide\n // ==================================\n\n hideLoading: function (slide) {\n var self = this;\n\n slide = slide || self.current;\n\n if (slide && slide.$spinner) {\n slide.$spinner.stop().remove();\n\n delete slide.$spinner;\n }\n },\n\n // Adjustments after slide content has been loaded\n // ===============================================\n\n afterLoad: function (slide) {\n var self = this;\n\n if (self.isClosing) {\n return;\n }\n\n slide.isLoading = false;\n slide.isLoaded = true;\n\n self.trigger(\"afterLoad\", slide);\n\n self.hideLoading(slide);\n\n // Add small close button\n if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {\n slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);\n }\n\n // Disable right click\n if (slide.opts.protect && slide.$content && !slide.hasError) {\n slide.$content.on(\"contextmenu.fb\", function (e) {\n if (e.button == 2) {\n e.preventDefault();\n }\n\n return true;\n });\n\n // Add fake element on top of the image\n // This makes a bit harder for user to select image\n if (slide.type === \"image\") {\n $('').appendTo(slide.$content);\n }\n }\n\n self.adjustCaption(slide);\n\n self.adjustLayout(slide);\n\n if (slide.pos === self.currPos) {\n self.updateCursor();\n }\n\n self.revealContent(slide);\n },\n\n // Prevent caption overlap,\n // fix css inconsistency across browsers\n // =====================================\n\n adjustCaption: function (slide) {\n var self = this,\n current = slide || self.current,\n caption = current.opts.caption,\n preventOverlap = current.opts.preventCaptionOverlap,\n $caption = self.$refs.caption,\n $clone,\n captionH = false;\n\n $caption.toggleClass(\"fancybox-caption--separate\", preventOverlap);\n\n if (preventOverlap && caption && caption.length) {\n if (current.pos !== self.currPos) {\n $clone = $caption.clone().appendTo($caption.parent());\n\n $clone\n .children()\n .eq(0)\n .empty()\n .html(caption);\n\n captionH = $clone.outerHeight(true);\n\n $clone.empty().remove();\n } else if (self.$caption) {\n captionH = self.$caption.outerHeight(true);\n }\n\n current.$slide.css(\"padding-bottom\", captionH || \"\");\n }\n },\n\n // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):\n // https://bugzilla.mozilla.org/show_bug.cgi?id=748518\n // ====================================================================================\n\n adjustLayout: function (slide) {\n var self = this,\n current = slide || self.current,\n scrollHeight,\n marginBottom,\n inlinePadding,\n actualPadding;\n\n if (current.isLoaded && current.opts.disableLayoutFix !== true) {\n current.$content.css(\"margin-bottom\", \"\");\n\n // If we would always set margin-bottom for the content,\n // then it would potentially break vertical align\n if (current.$content.outerHeight() > current.$slide.height() + 0.5) {\n inlinePadding = current.$slide[0].style[\"padding-bottom\"];\n actualPadding = current.$slide.css(\"padding-bottom\");\n\n if (parseFloat(actualPadding) > 0) {\n scrollHeight = current.$slide[0].scrollHeight;\n\n current.$slide.css(\"padding-bottom\", 0);\n\n if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {\n marginBottom = actualPadding;\n }\n\n current.$slide.css(\"padding-bottom\", inlinePadding);\n }\n }\n\n current.$content.css(\"margin-bottom\", marginBottom);\n }\n },\n\n // Make content visible\n // This method is called right after content has been loaded or\n // user navigates gallery and transition should start\n // ============================================================\n\n revealContent: function (slide) {\n var self = this,\n $slide = slide.$slide,\n end = false,\n start = false,\n isMoved = self.isMoved(slide),\n isRevealed = slide.isRevealed,\n effect,\n effectClassName,\n duration,\n opacity;\n\n slide.isRevealed = true;\n\n effect = slide.opts[self.firstRun ? \"animationEffect\" : \"transitionEffect\"];\n duration = slide.opts[self.firstRun ? \"animationDuration\" : \"transitionDuration\"];\n\n duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);\n\n if (isMoved || slide.pos !== self.currPos || !duration) {\n effect = false;\n }\n\n // Check if can zoom\n if (effect === \"zoom\") {\n if (slide.pos === self.currPos && duration && slide.type === \"image\" && !slide.hasError && (start = self.getThumbPos(slide))) {\n end = self.getFitPos(slide);\n } else {\n effect = \"fade\";\n }\n }\n\n // Zoom animation\n // ==============\n if (effect === \"zoom\") {\n self.isAnimating = true;\n\n end.scaleX = end.width / start.width;\n end.scaleY = end.height / start.height;\n\n // Check if we need to animate opacity\n opacity = slide.opts.zoomOpacity;\n\n if (opacity == \"auto\") {\n opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;\n }\n\n if (opacity) {\n start.opacity = 0.1;\n end.opacity = 1;\n }\n\n // Draw image at start position\n $.fancybox.setTranslate(slide.$content.removeClass(\"fancybox-is-hidden\"), start);\n\n forceRedraw(slide.$content);\n\n // Start animation\n $.fancybox.animate(slide.$content, end, duration, function () {\n self.isAnimating = false;\n\n self.complete();\n });\n\n return;\n }\n\n self.updateSlide(slide);\n\n // Simply show content if no effect\n // ================================\n if (!effect) {\n slide.$content.removeClass(\"fancybox-is-hidden\");\n\n if (!isRevealed && isMoved && slide.type === \"image\" && !slide.hasError) {\n slide.$content.hide().fadeIn(\"fast\");\n }\n\n if (slide.pos === self.currPos) {\n self.complete();\n }\n\n return;\n }\n\n // Prepare for CSS transiton\n // =========================\n $.fancybox.stop($slide);\n\n //effectClassName = \"fancybox-animated fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-fx-\" + effect;\n effectClassName = \"fancybox-slide--\" + (slide.pos >= self.prevPos ? \"next\" : \"previous\") + \" fancybox-animated fancybox-fx-\" + effect;\n\n $slide.addClass(effectClassName).removeClass(\"fancybox-slide--current\"); //.addClass(effectClassName);\n\n slide.$content.removeClass(\"fancybox-is-hidden\");\n\n // Force reflow\n forceRedraw($slide);\n\n if (slide.type !== \"image\") {\n slide.$content.hide().show(0);\n }\n\n $.fancybox.animate(\n $slide,\n \"fancybox-slide--current\",\n duration,\n function () {\n $slide.removeClass(effectClassName).css({\n transform: \"\",\n opacity: \"\"\n });\n\n if (slide.pos === self.currPos) {\n self.complete();\n }\n },\n true\n );\n },\n\n // Check if we can and have to zoom from thumbnail\n //================================================\n\n getThumbPos: function (slide) {\n var rez = false,\n $thumb = slide.$thumb,\n thumbPos,\n btw,\n brw,\n bbw,\n blw;\n\n if (!$thumb || !inViewport($thumb[0])) {\n return false;\n }\n\n thumbPos = $.fancybox.getTranslate($thumb);\n\n btw = parseFloat($thumb.css(\"border-top-width\") || 0);\n brw = parseFloat($thumb.css(\"border-right-width\") || 0);\n bbw = parseFloat($thumb.css(\"border-bottom-width\") || 0);\n blw = parseFloat($thumb.css(\"border-left-width\") || 0);\n\n rez = {\n top: thumbPos.top + btw,\n left: thumbPos.left + blw,\n width: thumbPos.width - brw - blw,\n height: thumbPos.height - btw - bbw,\n scaleX: 1,\n scaleY: 1\n };\n\n return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;\n },\n\n // Final adjustments after current gallery item is moved to position\n // and it`s content is loaded\n // ==================================================================\n\n complete: function () {\n var self = this,\n current = self.current,\n slides = {},\n $el;\n\n if (self.isMoved() || !current.isLoaded) {\n return;\n }\n\n if (!current.isComplete) {\n current.isComplete = true;\n\n current.$slide.siblings().trigger(\"onReset\");\n\n self.preload(\"inline\");\n\n // Trigger any CSS transiton inside the slide\n forceRedraw(current.$slide);\n\n current.$slide.addClass(\"fancybox-slide--complete\");\n\n // Remove unnecessary slides\n $.each(self.slides, function (key, slide) {\n if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {\n slides[slide.pos] = slide;\n } else if (slide) {\n $.fancybox.stop(slide.$slide);\n\n slide.$slide.off().remove();\n }\n });\n\n self.slides = slides;\n }\n\n self.isAnimating = false;\n\n self.updateCursor();\n\n self.trigger(\"afterShow\");\n\n // Autoplay first html5 video/audio\n if (!!current.opts.video.autoStart) {\n current.$slide\n .find(\"video,audio\")\n .filter(\":visible:first\")\n .trigger(\"play\")\n .one(\"ended\", function () {\n if (Document.exitFullscreen) {\n Document.exitFullscreen();\n } else if (this.webkitExitFullscreen) {\n this.webkitExitFullscreen();\n }\n\n self.next();\n });\n }\n\n // Try to focus on the first focusable element\n if (current.opts.autoFocus && current.contentType === \"html\") {\n // Look for the first input with autofocus attribute\n $el = current.$content.find(\"input[autofocus]:enabled:visible:first\");\n\n if ($el.length) {\n $el.trigger(\"focus\");\n } else {\n self.focus(null, true);\n }\n }\n\n // Avoid jumping\n current.$slide.scrollTop(0).scrollLeft(0);\n },\n\n // Preload next and previous slides\n // ================================\n\n preload: function (type) {\n var self = this,\n prev,\n next;\n\n if (self.group.length < 2) {\n return;\n }\n\n next = self.slides[self.currPos + 1];\n prev = self.slides[self.currPos - 1];\n\n if (prev && prev.type === type) {\n self.loadSlide(prev);\n }\n\n if (next && next.type === type) {\n self.loadSlide(next);\n }\n },\n\n // Try to find and focus on the first focusable element\n // ====================================================\n\n focus: function (e, firstRun) {\n var self = this,\n focusableStr = [\n \"a[href]\",\n \"area[href]\",\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n \"select:not([disabled]):not([aria-hidden])\",\n \"textarea:not([disabled]):not([aria-hidden])\",\n \"button:not([disabled]):not([aria-hidden])\",\n \"iframe\",\n \"object\",\n \"embed\",\n \"video\",\n \"audio\",\n \"[contenteditable]\",\n '[tabindex]:not([tabindex^=\"-\"])'\n ].join(\",\"),\n focusableItems,\n focusedItemIndex;\n\n if (self.isClosing) {\n return;\n }\n\n if (e || !self.current || !self.current.isComplete) {\n // Focus on any element inside fancybox\n focusableItems = self.$refs.container.find(\"*:visible\");\n } else {\n // Focus inside current slide\n focusableItems = self.current.$slide.find(\"*:visible\" + (firstRun ? \":not(.fancybox-close-small)\" : \"\"));\n }\n\n focusableItems = focusableItems.filter(focusableStr).filter(function () {\n return $(this).css(\"visibility\") !== \"hidden\" && !$(this).hasClass(\"disabled\");\n });\n\n if (focusableItems.length) {\n focusedItemIndex = focusableItems.index(document.activeElement);\n\n if (e && e.shiftKey) {\n // Back tab\n if (focusedItemIndex < 0 || focusedItemIndex == 0) {\n e.preventDefault();\n\n focusableItems.eq(focusableItems.length - 1).trigger(\"focus\");\n }\n } else {\n // Outside or Forward tab\n if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {\n if (e) {\n e.preventDefault();\n }\n\n focusableItems.eq(0).trigger(\"focus\");\n }\n }\n } else {\n self.$refs.container.trigger(\"focus\");\n }\n },\n\n // Activates current instance - brings container to the front and enables keyboard,\n // notifies other instances about deactivating\n // =================================================================================\n\n activate: function () {\n var self = this;\n\n // Deactivate all instances\n $(\".fancybox-container\").each(function () {\n var instance = $(this).data(\"FancyBox\");\n\n // Skip self and closing instances\n if (instance && instance.id !== self.id && !instance.isClosing) {\n instance.trigger(\"onDeactivate\");\n\n instance.removeEvents();\n\n instance.isVisible = false;\n }\n });\n\n self.isVisible = true;\n\n if (self.current || self.isIdle) {\n self.update();\n\n self.updateControls();\n }\n\n self.trigger(\"onActivate\");\n\n self.addEvents();\n },\n\n // Start closing procedure\n // This will start \"zoom-out\" animation if needed and clean everything up afterwards\n // =================================================================================\n\n close: function (e, d) {\n var self = this,\n current = self.current,\n effect,\n duration,\n $content,\n domRect,\n opacity,\n start,\n end;\n\n var done = function () {\n self.cleanUp(e);\n };\n\n if (self.isClosing) {\n return false;\n }\n\n self.isClosing = true;\n\n // If beforeClose callback prevents closing, make sure content is centered\n if (self.trigger(\"beforeClose\", e) === false) {\n self.isClosing = false;\n\n requestAFrame(function () {\n self.update();\n });\n\n return false;\n }\n\n // Remove all events\n // If there are multiple instances, they will be set again by \"activate\" method\n self.removeEvents();\n\n $content = current.$content;\n effect = current.opts.animationEffect;\n duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;\n\n current.$slide.removeClass(\"fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated\");\n\n if (e !== true) {\n $.fancybox.stop(current.$slide);\n } else {\n effect = false;\n }\n\n // Remove other slides\n current.$slide\n .siblings()\n .trigger(\"onReset\")\n .remove();\n\n // Trigger animations\n if (duration) {\n self.$refs.container\n .removeClass(\"fancybox-is-open\")\n .addClass(\"fancybox-is-closing\")\n .css(\"transition-duration\", duration + \"ms\");\n }\n\n // Clean up\n self.hideLoading(current);\n\n self.hideControls(true);\n\n self.updateCursor();\n\n // Check if possible to zoom-out\n if (\n effect === \"zoom\" &&\n !($content && duration && current.type === \"image\" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))\n ) {\n effect = \"fade\";\n }\n\n if (effect === \"zoom\") {\n $.fancybox.stop($content);\n\n domRect = $.fancybox.getTranslate($content);\n\n start = {\n top: domRect.top,\n left: domRect.left,\n scaleX: domRect.width / end.width,\n scaleY: domRect.height / end.height,\n width: end.width,\n height: end.height\n };\n\n // Check if we need to animate opacity\n opacity = current.opts.zoomOpacity;\n\n if (opacity == \"auto\") {\n opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;\n }\n\n if (opacity) {\n end.opacity = 0;\n }\n\n $.fancybox.setTranslate($content, start);\n\n forceRedraw($content);\n\n $.fancybox.animate($content, end, duration, done);\n\n return true;\n }\n\n if (effect && duration) {\n $.fancybox.animate(\n current.$slide.addClass(\"fancybox-slide--previous\").removeClass(\"fancybox-slide--current\"),\n \"fancybox-animated fancybox-fx-\" + effect,\n duration,\n done\n );\n } else {\n // If skip animation\n if (e === true) {\n setTimeout(done, duration);\n } else {\n done();\n }\n }\n\n return true;\n },\n\n // Final adjustments after removing the instance\n // =============================================\n\n cleanUp: function (e) {\n var self = this,\n instance,\n $focus = self.current.opts.$orig,\n x,\n y;\n\n self.current.$slide.trigger(\"onReset\");\n\n self.$refs.container.empty().remove();\n\n self.trigger(\"afterClose\", e);\n\n // Place back focus\n if (!!self.current.opts.backFocus) {\n if (!$focus || !$focus.length || !$focus.is(\":visible\")) {\n $focus = self.$trigger;\n }\n\n if ($focus && $focus.length) {\n x = window.scrollX;\n y = window.scrollY;\n\n $focus.trigger(\"focus\");\n\n $(\"html, body\")\n .scrollTop(y)\n .scrollLeft(x);\n }\n }\n\n self.current = null;\n\n // Check if there are other instances\n instance = $.fancybox.getInstance();\n\n if (instance) {\n instance.activate();\n } else {\n $(\"body\").removeClass(\"fancybox-active compensate-for-scrollbar\");\n\n $(\"#fancybox-style-noscroll\").remove();\n }\n },\n\n // Call callback and trigger an event\n // ==================================\n\n trigger: function (name, slide) {\n var args = Array.prototype.slice.call(arguments, 1),\n self = this,\n obj = slide && slide.opts ? slide : self.current,\n rez;\n\n if (obj) {\n args.unshift(obj);\n } else {\n obj = self;\n }\n\n args.unshift(self);\n\n if ($.isFunction(obj.opts[name])) {\n rez = obj.opts[name].apply(obj, args);\n }\n\n if (rez === false) {\n return rez;\n }\n\n if (name === \"afterClose\" || !self.$refs) {\n $D.trigger(name + \".fb\", args);\n } else {\n self.$refs.container.trigger(name + \".fb\", args);\n }\n },\n\n // Update infobar values, navigation button states and reveal caption\n // ==================================================================\n\n updateControls: function () {\n var self = this,\n current = self.current,\n index = current.index,\n $container = self.$refs.container,\n $caption = self.$refs.caption,\n caption = current.opts.caption;\n\n // Recalculate content dimensions\n current.$slide.trigger(\"refresh\");\n\n // Set caption\n if (caption && caption.length) {\n self.$caption = $caption;\n\n $caption\n .children()\n .eq(0)\n .html(caption);\n } else {\n self.$caption = null;\n }\n\n if (!self.hasHiddenControls && !self.isIdle) {\n self.showControls();\n }\n\n // Update info and navigation elements\n $container.find(\"[data-fancybox-count]\").html(self.group.length);\n $container.find(\"[data-fancybox-index]\").html(index + 1);\n\n $container.find(\"[data-fancybox-prev]\").prop(\"disabled\", !current.opts.loop && index <= 0);\n $container.find(\"[data-fancybox-next]\").prop(\"disabled\", !current.opts.loop && index >= self.group.length - 1);\n\n if (current.type === \"image\") {\n // Re-enable buttons; update download button source\n $container\n .find(\"[data-fancybox-zoom]\")\n .show()\n .end()\n .find(\"[data-fancybox-download]\")\n .attr(\"href\", current.opts.image.src || current.src)\n .show();\n } else if (current.opts.toolbar) {\n $container.find(\"[data-fancybox-download],[data-fancybox-zoom]\").hide();\n }\n\n // Make sure focus is not on disabled button/element\n if ($(document.activeElement).is(\":hidden,[disabled]\")) {\n self.$refs.container.trigger(\"focus\");\n }\n },\n\n // Hide toolbar and caption\n // ========================\n\n hideControls: function (andCaption) {\n var self = this,\n arr = [\"infobar\", \"toolbar\", \"nav\"];\n\n if (andCaption || !self.current.opts.preventCaptionOverlap) {\n arr.push(\"caption\");\n }\n\n this.$refs.container.removeClass(\n arr\n .map(function (i) {\n return \"fancybox-show-\" + i;\n })\n .join(\" \")\n );\n\n this.hasHiddenControls = true;\n },\n\n showControls: function () {\n var self = this,\n opts = self.current ? self.current.opts : self.opts,\n $container = self.$refs.container;\n\n self.hasHiddenControls = false;\n self.idleSecondsCounter = 0;\n\n $container\n .toggleClass(\"fancybox-show-toolbar\", !!(opts.toolbar && opts.buttons))\n .toggleClass(\"fancybox-show-infobar\", !!(opts.infobar && self.group.length > 1))\n .toggleClass(\"fancybox-show-caption\", !!self.$caption)\n .toggleClass(\"fancybox-show-nav\", !!(opts.arrows && self.group.length > 1))\n .toggleClass(\"fancybox-is-modal\", !!opts.modal);\n },\n\n // Toggle toolbar and caption\n // ==========================\n\n toggleControls: function () {\n if (this.hasHiddenControls) {\n this.showControls();\n } else {\n this.hideControls();\n }\n }\n });\n\n $.fancybox = {\n version: \"3.5.7\",\n defaults: defaults,\n\n // Get current instance and execute a command.\n //\n // Examples of usage:\n //\n // $instance = $.fancybox.getInstance();\n // $.fancybox.getInstance().jumpTo( 1 );\n // $.fancybox.getInstance( 'jumpTo', 1 );\n // $.fancybox.getInstance( function() {\n // console.info( this.currIndex );\n // });\n // ======================================================\n\n getInstance: function (command) {\n var instance = $('.fancybox-container:not(\".fancybox-is-closing\"):last').data(\"FancyBox\"),\n args = Array.prototype.slice.call(arguments, 1);\n\n if (instance instanceof FancyBox) {\n if ($.type(command) === \"string\") {\n instance[command].apply(instance, args);\n } else if ($.type(command) === \"function\") {\n command.apply(instance, args);\n }\n\n return instance;\n }\n\n return false;\n },\n\n // Create new instance\n // ===================\n\n open: function (items, opts, index) {\n return new FancyBox(items, opts, index);\n },\n\n // Close current or all instances\n // ==============================\n\n close: function (all) {\n var instance = this.getInstance();\n\n if (instance) {\n instance.close();\n\n // Try to find and close next instance\n if (all === true) {\n this.close(all);\n }\n }\n },\n\n // Close all instances and unbind all events\n // =========================================\n\n destroy: function () {\n this.close(true);\n\n $D.add(\"body\").off(\"click.fb-start\", \"**\");\n },\n\n // Try to detect mobile devices\n // ============================\n\n isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),\n\n // Detect if 'translate3d' support is available\n // ============================================\n\n use3d: (function () {\n var div = document.createElement(\"div\");\n\n return (\n window.getComputedStyle &&\n window.getComputedStyle(div) &&\n window.getComputedStyle(div).getPropertyValue(\"transform\") &&\n !(document.documentMode && document.documentMode < 11)\n );\n })(),\n\n // Helper function to get current visual state of an element\n // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]\n // =====================================================================\n\n getTranslate: function ($el) {\n var domRect;\n\n if (!$el || !$el.length) {\n return false;\n }\n\n domRect = $el[0].getBoundingClientRect();\n\n return {\n top: domRect.top || 0,\n left: domRect.left || 0,\n width: domRect.width,\n height: domRect.height,\n opacity: parseFloat($el.css(\"opacity\"))\n };\n },\n\n // Shortcut for setting \"translate3d\" properties for element\n // Can set be used to set opacity, too\n // ========================================================\n\n setTranslate: function ($el, props) {\n var str = \"\",\n css = {};\n\n if (!$el || !props) {\n return;\n }\n\n if (props.left !== undefined || props.top !== undefined) {\n str =\n (props.left === undefined ? $el.position().left : props.left) +\n \"px, \" +\n (props.top === undefined ? $el.position().top : props.top) +\n \"px\";\n\n if (this.use3d) {\n str = \"translate3d(\" + str + \", 0px)\";\n } else {\n str = \"translate(\" + str + \")\";\n }\n }\n\n if (props.scaleX !== undefined && props.scaleY !== undefined) {\n str += \" scale(\" + props.scaleX + \", \" + props.scaleY + \")\";\n } else if (props.scaleX !== undefined) {\n str += \" scaleX(\" + props.scaleX + \")\";\n }\n\n if (str.length) {\n css.transform = str;\n }\n\n if (props.opacity !== undefined) {\n css.opacity = props.opacity;\n }\n\n if (props.width !== undefined) {\n css.width = props.width;\n }\n\n if (props.height !== undefined) {\n css.height = props.height;\n }\n\n return $el.css(css);\n },\n\n // Simple CSS transition handler\n // =============================\n\n animate: function ($el, to, duration, callback, leaveAnimationName) {\n var self = this,\n from;\n\n if ($.isFunction(duration)) {\n callback = duration;\n duration = null;\n }\n\n self.stop($el);\n\n from = self.getTranslate($el);\n\n $el.on(transitionEnd, function (e) {\n // Skip events from child elements and z-index change\n if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == \"z-index\")) {\n return;\n }\n\n self.stop($el);\n\n if ($.isNumeric(duration)) {\n $el.css(\"transition-duration\", \"\");\n }\n\n if ($.isPlainObject(to)) {\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\n self.setTranslate($el, {\n top: to.top,\n left: to.left,\n width: from.width * to.scaleX,\n height: from.height * to.scaleY,\n scaleX: 1,\n scaleY: 1\n });\n }\n } else if (leaveAnimationName !== true) {\n $el.removeClass(to);\n }\n\n if ($.isFunction(callback)) {\n callback(e);\n }\n });\n\n if ($.isNumeric(duration)) {\n $el.css(\"transition-duration\", duration + \"ms\");\n }\n\n // Start animation by changing CSS properties or class name\n if ($.isPlainObject(to)) {\n if (to.scaleX !== undefined && to.scaleY !== undefined) {\n delete to.width;\n delete to.height;\n\n if ($el.parent().hasClass(\"fancybox-slide--image\")) {\n $el.parent().addClass(\"fancybox-is-scaling\");\n }\n }\n\n $.fancybox.setTranslate($el, to);\n } else {\n $el.addClass(to);\n }\n\n // Make sure that `transitionend` callback gets fired\n $el.data(\n \"timer\",\n setTimeout(function () {\n $el.trigger(transitionEnd);\n }, duration + 33)\n );\n },\n\n stop: function ($el, callCallback) {\n if ($el && $el.length) {\n clearTimeout($el.data(\"timer\"));\n\n if (callCallback) {\n $el.trigger(transitionEnd);\n }\n\n $el.off(transitionEnd).css(\"transition-duration\", \"\");\n\n $el.parent().removeClass(\"fancybox-is-scaling\");\n }\n }\n };\n\n // Default click handler for \"fancyboxed\" links\n // ============================================\n\n function _run(e, opts) {\n var items = [],\n index = 0,\n $target,\n value,\n instance;\n\n // Avoid opening multiple times\n if (e && e.isDefaultPrevented()) {\n return;\n }\n\n e.preventDefault();\n\n opts = opts || {};\n\n if (e && e.data) {\n opts = mergeOpts(e.data.options, opts);\n }\n\n $target = opts.$target || $(e.currentTarget).trigger(\"blur\");\n instance = $.fancybox.getInstance();\n\n if (instance && instance.$trigger && instance.$trigger.is($target)) {\n return;\n }\n\n if (opts.selector) {\n items = $(opts.selector);\n } else {\n // Get all related items and find index for clicked one\n value = $target.attr(\"data-fancybox\") || \"\";\n\n if (value) {\n items = e.data ? e.data.items : [];\n items = items.length ? items.filter('[data-fancybox=\"' + value + '\"]') : $('[data-fancybox=\"' + value + '\"]');\n } else {\n items = [$target];\n }\n }\n\n index = $(items).index($target);\n\n // Sometimes current item can not be found\n if (index < 0) {\n index = 0;\n }\n\n instance = $.fancybox.open(items, opts, index);\n\n // Save last active element\n instance.$trigger = $target;\n }\n\n // Create a jQuery plugin\n // ======================\n\n $.fn.fancybox = function (options) {\n var selector;\n\n options = options || {};\n selector = options.selector || false;\n\n if (selector) {\n // Use body element instead of document so it executes first\n $(\"body\")\n .off(\"click.fb-start\", selector)\n .on(\"click.fb-start\", selector, {\n options: options\n }, _run);\n } else {\n this.off(\"click.fb-start\").on(\n \"click.fb-start\", {\n items: this,\n options: options\n },\n _run\n );\n }\n\n return this;\n };\n\n // Self initializing plugin for all elements having `data-fancybox` attribute\n // ==========================================================================\n\n $D.on(\"click.fb-start\", \"[data-fancybox]\", _run);\n\n // Enable \"trigger elements\"\n // =========================\n\n $D.on(\"click.fb-start\", \"[data-fancybox-trigger]\", function (e) {\n $('[data-fancybox=\"' + $(this).attr(\"data-fancybox-trigger\") + '\"]')\n .eq($(this).attr(\"data-fancybox-index\") || 0)\n .trigger(\"click.fb-start\", {\n $trigger: $(this)\n });\n });\n\n // Track focus event for better accessibility styling\n // ==================================================\n (function () {\n var buttonStr = \".fancybox-button\",\n focusStr = \"fancybox-focus\",\n $pressed = null;\n\n $D.on(\"mousedown mouseup focus blur\", buttonStr, function (e) {\n switch (e.type) {\n case \"mousedown\":\n $pressed = $(this);\n break;\n case \"mouseup\":\n $pressed = null;\n break;\n case \"focusin\":\n $(buttonStr).removeClass(focusStr);\n\n if (!$(this).is($pressed) && !$(this).is(\"[disabled]\")) {\n $(this).addClass(focusStr);\n }\n break;\n case \"focusout\":\n $(buttonStr).removeClass(focusStr);\n break;\n }\n });\n })();\n})(window, document, jQuery);\n// ==========================================================================\n//\n// Media\n// Adds additional media type support\n//\n// ==========================================================================\n(function ($) {\n \"use strict\";\n\n // Object containing properties for each media type\n var defaults = {\n youtube: {\n matcher: /(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,\n params: {\n autoplay: 1,\n autohide: 1,\n fs: 1,\n rel: 0,\n hd: 1,\n wmode: \"transparent\",\n enablejsapi: 1,\n html5: 1\n },\n paramPlace: 8,\n type: \"iframe\",\n url: \"https://www.youtube-nocookie.com/embed/$4\",\n thumb: \"https://img.youtube.com/vi/$4/hqdefault.jpg\"\n },\n\n vimeo: {\n matcher: /^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,\n params: {\n autoplay: 1,\n hd: 1,\n show_title: 1,\n show_byline: 1,\n show_portrait: 0,\n fullscreen: 1\n },\n paramPlace: 3,\n type: \"iframe\",\n url: \"//player.vimeo.com/video/$2\"\n },\n\n instagram: {\n matcher: /(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,\n type: \"image\",\n url: \"//$1/p/$2/media/?size=l\"\n },\n\n // Examples:\n // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16\n // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z\n // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en\n // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572\n gmap_place: {\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,\n type: \"iframe\",\n url: function (rez) {\n return (\n \"//maps.google.\" +\n rez[2] +\n \"/?ll=\" +\n (rez[9] ? rez[9] + \"&z=\" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\\//, \"&\") : \"\") : rez[12] + \"\").replace(/\\?/, \"&\") +\n \"&output=\" +\n (rez[12] && rez[12].indexOf(\"layer=c\") > 0 ? \"svembed\" : \"embed\")\n );\n }\n },\n\n // Examples:\n // https://www.google.com/maps/search/Empire+State+Building/\n // https://www.google.com/maps/search/?api=1&query=centurylink+field\n // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393\n gmap_search: {\n matcher: /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(maps\\/search\\/)(.*)/i,\n type: \"iframe\",\n url: function (rez) {\n return \"//maps.google.\" + rez[2] + \"/maps?q=\" + rez[5].replace(\"query=\", \"q=\").replace(\"api=1\", \"\") + \"&output=embed\";\n }\n }\n };\n\n // Formats matching url to final form\n var format = function (url, rez, params) {\n if (!url) {\n return;\n }\n\n params = params || \"\";\n\n if ($.type(params) === \"object\") {\n params = $.param(params, true);\n }\n\n $.each(rez, function (key, value) {\n url = url.replace(\"$\" + key, value || \"\");\n });\n\n if (params.length) {\n url += (url.indexOf(\"?\") > 0 ? \"&\" : \"?\") + params;\n }\n\n return url;\n };\n\n $(document).on(\"objectNeedsType.fb\", function (e, instance, item) {\n var url = item.src || \"\",\n type = false,\n media,\n thumb,\n rez,\n params,\n urlParams,\n paramObj,\n provider;\n\n media = $.extend(true, {}, defaults, item.opts.media);\n\n // Look for any matching media type\n $.each(media, function (providerName, providerOpts) {\n rez = url.match(providerOpts.matcher);\n\n if (!rez) {\n return;\n }\n\n type = providerOpts.type;\n provider = providerName;\n paramObj = {};\n\n if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {\n urlParams = rez[providerOpts.paramPlace];\n\n if (urlParams[0] == \"?\") {\n urlParams = urlParams.substring(1);\n }\n\n urlParams = urlParams.split(\"&\");\n\n for (var m = 0; m < urlParams.length; ++m) {\n var p = urlParams[m].split(\"=\", 2);\n\n if (p.length == 2) {\n paramObj[p[0]] = decodeURIComponent(p[1].replace(/\\+/g, \" \"));\n }\n }\n }\n\n params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);\n\n url =\n $.type(providerOpts.url) === \"function\" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);\n\n thumb =\n $.type(providerOpts.thumb) === \"function\" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);\n\n if (providerName === \"youtube\") {\n url = url.replace(/&t=((\\d+)m)?(\\d+)s/, function (match, p1, m, s) {\n return \"&start=\" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));\n });\n } else if (providerName === \"vimeo\") {\n url = url.replace(\"&%23\", \"#\");\n }\n\n return false;\n });\n\n // If it is found, then change content type and update the url\n\n if (type) {\n if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {\n item.opts.thumb = thumb;\n }\n\n if (type === \"iframe\") {\n item.opts = $.extend(true, item.opts, {\n iframe: {\n preload: false,\n attr: {\n scrolling: \"no\"\n }\n }\n });\n }\n\n $.extend(item, {\n type: type,\n src: url,\n origSrc: item.src,\n contentSource: provider,\n contentType: type === \"image\" ? \"image\" : provider == \"gmap_place\" || provider == \"gmap_search\" ? \"map\" : \"video\"\n });\n } else if (url) {\n item.type = item.opts.defaultType;\n }\n });\n\n // Load YouTube/Video API on request to detect when video finished playing\n var VideoAPILoader = {\n youtube: {\n src: \"https://www.youtube.com/iframe_api\",\n class: \"YT\",\n loading: false,\n loaded: false\n },\n\n vimeo: {\n src: \"https://player.vimeo.com/api/player.js\",\n class: \"Vimeo\",\n loading: false,\n loaded: false\n },\n\n load: function (vendor) {\n var _this = this,\n script;\n\n if (this[vendor].loaded) {\n setTimeout(function () {\n _this.done(vendor);\n });\n return;\n }\n\n if (this[vendor].loading) {\n return;\n }\n\n this[vendor].loading = true;\n\n script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.src = this[vendor].src;\n\n if (vendor === \"youtube\") {\n window.onYouTubeIframeAPIReady = function () {\n _this[vendor].loaded = true;\n _this.done(vendor);\n };\n } else {\n script.onload = function () {\n _this[vendor].loaded = true;\n _this.done(vendor);\n };\n }\n\n document.body.appendChild(script);\n },\n done: function (vendor) {\n var instance, $el, player;\n\n if (vendor === \"youtube\") {\n delete window.onYouTubeIframeAPIReady;\n }\n\n instance = $.fancybox.getInstance();\n\n if (instance) {\n $el = instance.current.$content.find(\"iframe\");\n\n if (vendor === \"youtube\" && YT !== undefined && YT) {\n player = new YT.Player($el.attr(\"id\"), {\n events: {\n onStateChange: function (e) {\n if (e.data == 0) {\n instance.next();\n }\n }\n }\n });\n } else if (vendor === \"vimeo\" && Vimeo !== undefined && Vimeo) {\n player = new Vimeo.Player($el);\n\n player.on(\"ended\", function () {\n instance.next();\n });\n }\n }\n }\n };\n\n $(document).on({\n \"afterShow.fb\": function (e, instance, current) {\n if (instance.group.length > 1 && (current.contentSource === \"youtube\" || current.contentSource === \"vimeo\")) {\n VideoAPILoader.load(current.contentSource);\n }\n }\n });\n})(jQuery);\n// ==========================================================================\n//\n// Guestures\n// Adds touch guestures, handles click and tap events\n//\n// ==========================================================================\n(function (window, document, $) {\n \"use strict\";\n\n var requestAFrame = (function () {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n window.oRequestAnimationFrame ||\n // if all else fails, use setTimeout\n function (callback) {\n return window.setTimeout(callback, 1000 / 60);\n }\n );\n })();\n\n var cancelAFrame = (function () {\n return (\n window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n window.oCancelAnimationFrame ||\n function (id) {\n window.clearTimeout(id);\n }\n );\n })();\n\n var getPointerXY = function (e) {\n var result = [];\n\n e = e.originalEvent || e || window.e;\n e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];\n\n for (var key in e) {\n if (e[key].pageX) {\n result.push({\n x: e[key].pageX,\n y: e[key].pageY\n });\n } else if (e[key].clientX) {\n result.push({\n x: e[key].clientX,\n y: e[key].clientY\n });\n }\n }\n\n return result;\n };\n\n var distance = function (point2, point1, what) {\n if (!point1 || !point2) {\n return 0;\n }\n\n if (what === \"x\") {\n return point2.x - point1.x;\n } else if (what === \"y\") {\n return point2.y - point1.y;\n }\n\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\n };\n\n var isClickable = function ($el) {\n if (\n $el.is('a,area,button,[role=\"button\"],input,label,select,summary,textarea,video,audio,iframe') ||\n $.isFunction($el.get(0).onclick) ||\n $el.data(\"selectable\")\n ) {\n return true;\n }\n\n // Check for attributes like data-fancybox-next or data-fancybox-close\n for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {\n if (atts[i].nodeName.substr(0, 14) === \"data-fancybox-\") {\n return true;\n }\n }\n\n return false;\n };\n\n var hasScrollbars = function (el) {\n var overflowY = window.getComputedStyle(el)[\"overflow-y\"],\n overflowX = window.getComputedStyle(el)[\"overflow-x\"],\n vertical = (overflowY === \"scroll\" || overflowY === \"auto\") && el.scrollHeight > el.clientHeight,\n horizontal = (overflowX === \"scroll\" || overflowX === \"auto\") && el.scrollWidth > el.clientWidth;\n\n return vertical || horizontal;\n };\n\n var isScrollable = function ($el) {\n var rez = false;\n\n while (true) {\n rez = hasScrollbars($el.get(0));\n\n if (rez) {\n break;\n }\n\n $el = $el.parent();\n\n if (!$el.length || $el.hasClass(\"fancybox-stage\") || $el.is(\"body\")) {\n break;\n }\n }\n\n return rez;\n };\n\n var Guestures = function (instance) {\n var self = this;\n\n self.instance = instance;\n\n self.$bg = instance.$refs.bg;\n self.$stage = instance.$refs.stage;\n self.$container = instance.$refs.container;\n\n self.destroy();\n\n self.$container.on(\"touchstart.fb.touch mousedown.fb.touch\", $.proxy(self, \"ontouchstart\"));\n };\n\n Guestures.prototype.destroy = function () {\n var self = this;\n\n self.$container.off(\".fb.touch\");\n\n $(document).off(\".fb.touch\");\n\n if (self.requestId) {\n cancelAFrame(self.requestId);\n self.requestId = null;\n }\n\n if (self.tapped) {\n clearTimeout(self.tapped);\n self.tapped = null;\n }\n };\n\n Guestures.prototype.ontouchstart = function (e) {\n var self = this,\n $target = $(e.target),\n instance = self.instance,\n current = instance.current,\n $slide = current.$slide,\n $content = current.$content,\n isTouchDevice = e.type == \"touchstart\";\n\n // Do not respond to both (touch and mouse) events\n if (isTouchDevice) {\n self.$container.off(\"mousedown.fb.touch\");\n }\n\n // Ignore right click\n if (e.originalEvent && e.originalEvent.button == 2) {\n return;\n }\n\n // Ignore taping on links, buttons, input elements\n if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {\n return;\n }\n // Ignore clicks on the scrollbar\n if (!$target.is(\"img\") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {\n return;\n }\n\n // Ignore clicks while zooming or closing\n if (!current || instance.isAnimating || current.$slide.hasClass(\"fancybox-animated\")) {\n e.stopPropagation();\n e.preventDefault();\n\n return;\n }\n\n self.realPoints = self.startPoints = getPointerXY(e);\n\n if (!self.startPoints.length) {\n return;\n }\n\n // Allow other scripts to catch touch event if \"touch\" is set to false\n if (current.touch) {\n e.stopPropagation();\n }\n\n self.startEvent = e;\n\n self.canTap = true;\n self.$target = $target;\n self.$content = $content;\n self.opts = current.opts.touch;\n\n self.isPanning = false;\n self.isSwiping = false;\n self.isZooming = false;\n self.isScrolling = false;\n self.canPan = instance.canPan();\n\n self.startTime = new Date().getTime();\n self.distanceX = self.distanceY = self.distance = 0;\n\n self.canvasWidth = Math.round($slide[0].clientWidth);\n self.canvasHeight = Math.round($slide[0].clientHeight);\n\n self.contentLastPos = null;\n self.contentStartPos = $.fancybox.getTranslate(self.$content) || {\n top: 0,\n left: 0\n };\n self.sliderStartPos = $.fancybox.getTranslate($slide);\n\n // Since position will be absolute, but we need to make it relative to the stage\n self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);\n\n self.sliderStartPos.top -= self.stagePos.top;\n self.sliderStartPos.left -= self.stagePos.left;\n\n self.contentStartPos.top -= self.stagePos.top;\n self.contentStartPos.left -= self.stagePos.left;\n\n $(document)\n .off(\".fb.touch\")\n .on(isTouchDevice ? \"touchend.fb.touch touchcancel.fb.touch\" : \"mouseup.fb.touch mouseleave.fb.touch\", $.proxy(self, \"ontouchend\"))\n .on(isTouchDevice ? \"touchmove.fb.touch\" : \"mousemove.fb.touch\", $.proxy(self, \"ontouchmove\"));\n\n if ($.fancybox.isMobile) {\n document.addEventListener(\"scroll\", self.onscroll, true);\n }\n\n // Skip if clicked outside the sliding area\n if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {\n if ($target.is(\".fancybox-image\")) {\n e.preventDefault();\n }\n\n if (!($.fancybox.isMobile && $target.parents(\".fancybox-caption\").length)) {\n return;\n }\n }\n\n self.isScrollable = isScrollable($target) || isScrollable($target.parent());\n\n // Check if element is scrollable and try to prevent default behavior (scrolling)\n if (!($.fancybox.isMobile && self.isScrollable)) {\n e.preventDefault();\n }\n\n // One finger or mouse click - swipe or pan an image\n if (self.startPoints.length === 1 || current.hasError) {\n if (self.canPan) {\n $.fancybox.stop(self.$content);\n\n self.isPanning = true;\n } else {\n self.isSwiping = true;\n }\n\n self.$container.addClass(\"fancybox-is-grabbing\");\n }\n\n // Two fingers - zoom image\n if (self.startPoints.length === 2 && current.type === \"image\" && (current.isLoaded || current.$ghost)) {\n self.canTap = false;\n self.isSwiping = false;\n self.isPanning = false;\n\n self.isZooming = true;\n\n $.fancybox.stop(self.$content);\n\n self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();\n self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();\n\n self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;\n self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;\n\n self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);\n }\n };\n\n Guestures.prototype.onscroll = function (e) {\n var self = this;\n\n self.isScrolling = true;\n\n document.removeEventListener(\"scroll\", self.onscroll, true);\n };\n\n Guestures.prototype.ontouchmove = function (e) {\n var self = this;\n\n // Make sure user has not released over iframe or disabled element\n if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {\n self.ontouchend(e);\n return;\n }\n\n if (self.isScrolling) {\n self.canTap = false;\n return;\n }\n\n self.newPoints = getPointerXY(e);\n\n if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {\n return;\n }\n\n if (!(self.isSwiping && self.isSwiping === true)) {\n e.preventDefault();\n }\n\n self.distanceX = distance(self.newPoints[0], self.startPoints[0], \"x\");\n self.distanceY = distance(self.newPoints[0], self.startPoints[0], \"y\");\n\n self.distance = distance(self.newPoints[0], self.startPoints[0]);\n\n // Skip false ontouchmove events (Chrome)\n if (self.distance > 0) {\n if (self.isSwiping) {\n self.onSwipe(e);\n } else if (self.isPanning) {\n self.onPan();\n } else if (self.isZooming) {\n self.onZoom();\n }\n }\n };\n\n Guestures.prototype.onSwipe = function (e) {\n var self = this,\n instance = self.instance,\n swiping = self.isSwiping,\n left = self.sliderStartPos.left || 0,\n angle;\n\n // If direction is not yet determined\n if (swiping === true) {\n // We need at least 10px distance to correctly calculate an angle\n if (Math.abs(self.distance) > 10) {\n self.canTap = false;\n\n if (instance.group.length < 2 && self.opts.vertical) {\n self.isSwiping = \"y\";\n } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === \"auto\" && $(window).width() > 800)) {\n self.isSwiping = \"x\";\n } else {\n angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);\n\n self.isSwiping = angle > 45 && angle < 135 ? \"y\" : \"x\";\n }\n\n if (self.isSwiping === \"y\" && $.fancybox.isMobile && self.isScrollable) {\n self.isScrolling = true;\n\n return;\n }\n\n instance.isDragging = self.isSwiping;\n\n // Reset points to avoid jumping, because we dropped first swipes to calculate the angle\n self.startPoints = self.newPoints;\n\n $.each(instance.slides, function (index, slide) {\n var slidePos, stagePos;\n\n $.fancybox.stop(slide.$slide);\n\n slidePos = $.fancybox.getTranslate(slide.$slide);\n stagePos = $.fancybox.getTranslate(instance.$refs.stage);\n\n slide.$slide\n .css({\n transform: \"\",\n opacity: \"\",\n \"transition-duration\": \"\"\n })\n .removeClass(\"fancybox-animated\")\n .removeClass(function (index, className) {\n return (className.match(/(^|\\s)fancybox-fx-\\S+/g) || []).join(\" \");\n });\n\n if (slide.pos === instance.current.pos) {\n self.sliderStartPos.top = slidePos.top - stagePos.top;\n self.sliderStartPos.left = slidePos.left - stagePos.left;\n }\n\n $.fancybox.setTranslate(slide.$slide, {\n top: slidePos.top - stagePos.top,\n left: slidePos.left - stagePos.left\n });\n });\n\n // Stop slideshow\n if (instance.SlideShow && instance.SlideShow.isActive) {\n instance.SlideShow.stop();\n }\n }\n\n return;\n }\n\n // Sticky edges\n if (swiping == \"x\") {\n if (\n self.distanceX > 0 &&\n (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))\n ) {\n left = left + Math.pow(self.distanceX, 0.8);\n } else if (\n self.distanceX < 0 &&\n (self.instance.group.length < 2 ||\n (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))\n ) {\n left = left - Math.pow(-self.distanceX, 0.8);\n } else {\n left = left + self.distanceX;\n }\n }\n\n self.sliderLastPos = {\n top: swiping == \"x\" ? 0 : self.sliderStartPos.top + self.distanceY,\n left: left\n };\n\n if (self.requestId) {\n cancelAFrame(self.requestId);\n\n self.requestId = null;\n }\n\n self.requestId = requestAFrame(function () {\n if (self.sliderLastPos) {\n $.each(self.instance.slides, function (index, slide) {\n var pos = slide.pos - self.instance.currPos;\n\n $.fancybox.setTranslate(slide.$slide, {\n top: self.sliderLastPos.top,\n left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter\n });\n });\n\n self.$container.addClass(\"fancybox-is-sliding\");\n }\n });\n };\n\n Guestures.prototype.onPan = function () {\n var self = this;\n\n // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)\n if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {\n self.startPoints = self.newPoints;\n return;\n }\n\n self.canTap = false;\n\n self.contentLastPos = self.limitMovement();\n\n if (self.requestId) {\n cancelAFrame(self.requestId);\n }\n\n self.requestId = requestAFrame(function () {\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\n });\n };\n\n // Make panning sticky to the edges\n Guestures.prototype.limitMovement = function () {\n var self = this;\n\n var canvasWidth = self.canvasWidth;\n var canvasHeight = self.canvasHeight;\n\n var distanceX = self.distanceX;\n var distanceY = self.distanceY;\n\n var contentStartPos = self.contentStartPos;\n\n var currentOffsetX = contentStartPos.left;\n var currentOffsetY = contentStartPos.top;\n\n var currentWidth = contentStartPos.width;\n var currentHeight = contentStartPos.height;\n\n var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;\n\n if (currentWidth > canvasWidth) {\n newOffsetX = currentOffsetX + distanceX;\n } else {\n newOffsetX = currentOffsetX;\n }\n\n newOffsetY = currentOffsetY + distanceY;\n\n // Slow down proportionally to traveled distance\n minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);\n minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);\n\n maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);\n maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);\n\n // ->\n if (distanceX > 0 && newOffsetX > minTranslateX) {\n newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;\n }\n\n // <-\n if (distanceX < 0 && newOffsetX < maxTranslateX) {\n newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;\n }\n\n // \\/\n if (distanceY > 0 && newOffsetY > minTranslateY) {\n newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;\n }\n\n // /\\\n if (distanceY < 0 && newOffsetY < maxTranslateY) {\n newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;\n }\n\n return {\n top: newOffsetY,\n left: newOffsetX\n };\n };\n\n Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) {\n var self = this;\n\n var canvasWidth = self.canvasWidth;\n var canvasHeight = self.canvasHeight;\n\n if (newWidth > canvasWidth) {\n newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;\n newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;\n } else {\n // Center horizontally\n newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);\n }\n\n if (newHeight > canvasHeight) {\n newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;\n newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;\n } else {\n // Center vertically\n newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);\n }\n\n return {\n top: newOffsetY,\n left: newOffsetX\n };\n };\n\n Guestures.prototype.onZoom = function () {\n var self = this;\n\n // Calculate current distance between points to get pinch ratio and new width and height\n var contentStartPos = self.contentStartPos;\n\n var currentWidth = contentStartPos.width;\n var currentHeight = contentStartPos.height;\n\n var currentOffsetX = contentStartPos.left;\n var currentOffsetY = contentStartPos.top;\n\n var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);\n\n var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;\n\n var newWidth = Math.floor(currentWidth * pinchRatio);\n var newHeight = Math.floor(currentHeight * pinchRatio);\n\n // This is the translation due to pinch-zooming\n var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;\n var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;\n\n // Point between the two touches\n var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();\n var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();\n\n // And this is the translation due to translation of the centerpoint\n // between the two fingers\n var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;\n var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;\n\n // The new offset is the old/current one plus the total translation\n var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);\n var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);\n\n var newPos = {\n top: newOffsetY,\n left: newOffsetX,\n scaleX: pinchRatio,\n scaleY: pinchRatio\n };\n\n self.canTap = false;\n\n self.newWidth = newWidth;\n self.newHeight = newHeight;\n\n self.contentLastPos = newPos;\n\n if (self.requestId) {\n cancelAFrame(self.requestId);\n }\n\n self.requestId = requestAFrame(function () {\n $.fancybox.setTranslate(self.$content, self.contentLastPos);\n });\n };\n\n Guestures.prototype.ontouchend = function (e) {\n var self = this;\n\n var swiping = self.isSwiping;\n var panning = self.isPanning;\n var zooming = self.isZooming;\n var scrolling = self.isScrolling;\n\n self.endPoints = getPointerXY(e);\n self.dMs = Math.max(new Date().getTime() - self.startTime, 1);\n\n self.$container.removeClass(\"fancybox-is-grabbing\");\n\n $(document).off(\".fb.touch\");\n\n document.removeEventListener(\"scroll\", self.onscroll, true);\n\n if (self.requestId) {\n cancelAFrame(self.requestId);\n\n self.requestId = null;\n }\n\n self.isSwiping = false;\n self.isPanning = false;\n self.isZooming = false;\n self.isScrolling = false;\n\n self.instance.isDragging = false;\n\n if (self.canTap) {\n return self.onTap(e);\n }\n\n self.speed = 100;\n\n // Speed in px/ms\n self.velocityX = (self.distanceX / self.dMs) * 0.5;\n self.velocityY = (self.distanceY / self.dMs) * 0.5;\n\n if (panning) {\n self.endPanning();\n } else if (zooming) {\n self.endZooming();\n } else {\n self.endSwiping(swiping, scrolling);\n }\n\n return;\n };\n\n Guestures.prototype.endSwiping = function (swiping, scrolling) {\n var self = this,\n ret = false,\n len = self.instance.group.length,\n distanceX = Math.abs(self.distanceX),\n canAdvance = swiping == \"x\" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),\n speedX = 300;\n\n self.sliderLastPos = null;\n\n // Close if swiped vertically / navigate if horizontally\n if (swiping == \"y\" && !scrolling && Math.abs(self.distanceY) > 50) {\n // Continue vertical movement\n $.fancybox.animate(\n self.instance.current.$slide, {\n top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,\n opacity: 0\n },\n 200\n );\n ret = self.instance.close(true, 250);\n } else if (canAdvance && self.distanceX > 0) {\n ret = self.instance.previous(speedX);\n } else if (canAdvance && self.distanceX < 0) {\n ret = self.instance.next(speedX);\n }\n\n if (ret === false && (swiping == \"x\" || swiping == \"y\")) {\n self.instance.centerSlide(200);\n }\n\n self.$container.removeClass(\"fancybox-is-sliding\");\n };\n\n // Limit panning from edges\n // ========================\n Guestures.prototype.endPanning = function () {\n var self = this,\n newOffsetX,\n newOffsetY,\n newPos;\n\n if (!self.contentLastPos) {\n return;\n }\n\n if (self.opts.momentum === false || self.dMs > 350) {\n newOffsetX = self.contentLastPos.left;\n newOffsetY = self.contentLastPos.top;\n } else {\n // Continue movement\n newOffsetX = self.contentLastPos.left + self.velocityX * 500;\n newOffsetY = self.contentLastPos.top + self.velocityY * 500;\n }\n\n newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);\n\n newPos.width = self.contentStartPos.width;\n newPos.height = self.contentStartPos.height;\n\n $.fancybox.animate(self.$content, newPos, 366);\n };\n\n Guestures.prototype.endZooming = function () {\n var self = this;\n\n var current = self.instance.current;\n\n var newOffsetX, newOffsetY, newPos, reset;\n\n var newWidth = self.newWidth;\n var newHeight = self.newHeight;\n\n if (!self.contentLastPos) {\n return;\n }\n\n newOffsetX = self.contentLastPos.left;\n newOffsetY = self.contentLastPos.top;\n\n reset = {\n top: newOffsetY,\n left: newOffsetX,\n width: newWidth,\n height: newHeight,\n scaleX: 1,\n scaleY: 1\n };\n\n // Reset scalex/scaleY values; this helps for perfomance and does not break animation\n $.fancybox.setTranslate(self.$content, reset);\n\n if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {\n self.instance.scaleToFit(150);\n } else if (newWidth > current.width || newHeight > current.height) {\n self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);\n } else {\n newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);\n\n $.fancybox.animate(self.$content, newPos, 150);\n }\n };\n\n Guestures.prototype.onTap = function (e) {\n var self = this;\n var $target = $(e.target);\n\n var instance = self.instance;\n var current = instance.current;\n\n var endPoints = (e && getPointerXY(e)) || self.startPoints;\n\n var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;\n var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;\n\n var where;\n\n var process = function (prefix) {\n var action = current.opts[prefix];\n\n if ($.isFunction(action)) {\n action = action.apply(instance, [current, e]);\n }\n\n if (!action) {\n return;\n }\n\n switch (action) {\n case \"close\":\n instance.close(self.startEvent);\n\n break;\n\n case \"toggleControls\":\n instance.toggleControls();\n\n break;\n\n case \"next\":\n instance.next();\n\n break;\n\n case \"nextOrClose\":\n if (instance.group.length > 1) {\n instance.next();\n } else {\n instance.close(self.startEvent);\n }\n\n break;\n\n case \"zoom\":\n if (current.type == \"image\" && (current.isLoaded || current.$ghost)) {\n if (instance.canPan()) {\n instance.scaleToFit();\n } else if (instance.isScaledDown()) {\n instance.scaleToActual(tapX, tapY);\n } else if (instance.group.length < 2) {\n instance.close(self.startEvent);\n }\n }\n\n break;\n }\n };\n\n // Ignore right click\n if (e.originalEvent && e.originalEvent.button == 2) {\n return;\n }\n\n // Skip if clicked on the scrollbar\n if (!$target.is(\"img\") && tapX > $target[0].clientWidth + $target.offset().left) {\n return;\n }\n\n // Check where is clicked\n if ($target.is(\".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container\")) {\n where = \"Outside\";\n } else if ($target.is(\".fancybox-slide\")) {\n where = \"Slide\";\n } else if (\n instance.current.$content &&\n instance.current.$content\n .find($target)\n .addBack()\n .filter($target).length\n ) {\n where = \"Content\";\n } else {\n return;\n }\n\n // Check if this is a double tap\n if (self.tapped) {\n // Stop previously created single tap\n clearTimeout(self.tapped);\n self.tapped = null;\n\n // Skip if distance between taps is too big\n if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {\n return this;\n }\n\n // OK, now we assume that this is a double-tap\n process(\"dblclick\" + where);\n } else {\n // Single tap will be processed if user has not clicked second time within 300ms\n // or there is no need to wait for double-tap\n self.tapX = tapX;\n self.tapY = tapY;\n\n if (current.opts[\"dblclick\" + where] && current.opts[\"dblclick\" + where] !== current.opts[\"click\" + where]) {\n self.tapped = setTimeout(function () {\n self.tapped = null;\n\n if (!instance.isAnimating) {\n process(\"click\" + where);\n }\n }, 500);\n } else {\n process(\"click\" + where);\n }\n }\n\n return this;\n };\n\n $(document)\n .on(\"onActivate.fb\", function (e, instance) {\n if (instance && !instance.Guestures) {\n instance.Guestures = new Guestures(instance);\n }\n })\n .on(\"beforeClose.fb\", function (e, instance) {\n if (instance && instance.Guestures) {\n instance.Guestures.destroy();\n }\n });\n})(window, document, jQuery);\n// ==========================================================================\n//\n// SlideShow\n// Enables slideshow functionality\n//\n// Example of usage:\n// $.fancybox.getInstance().SlideShow.start()\n//\n// ==========================================================================\n(function (document, $) {\n \"use strict\";\n\n $.extend(true, $.fancybox.defaults, {\n btnTpl: {\n slideShow: '\"\n },\n slideShow: {\n autoStart: false,\n speed: 3000,\n progress: true\n }\n });\n\n var SlideShow = function (instance) {\n this.instance = instance;\n this.init();\n };\n\n $.extend(SlideShow.prototype, {\n timer: null,\n isActive: false,\n $button: null,\n\n init: function () {\n var self = this,\n instance = self.instance,\n opts = instance.group[instance.currIndex].opts.slideShow;\n\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-play]\").on(\"click\", function () {\n self.toggle();\n });\n\n if (instance.group.length < 2 || !opts) {\n self.$button.hide();\n } else if (opts.progress) {\n self.$progress = $('').appendTo(instance.$refs.inner);\n }\n },\n\n set: function (force) {\n var self = this,\n instance = self.instance,\n current = instance.current;\n\n // Check if reached last element\n if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {\n if (self.isActive && current.contentType !== \"video\") {\n if (self.$progress) {\n $.fancybox.animate(self.$progress.show(), {\n scaleX: 1\n }, current.opts.slideShow.speed);\n }\n\n self.timer = setTimeout(function () {\n if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {\n instance.jumpTo(0);\n } else {\n instance.next();\n }\n }, current.opts.slideShow.speed);\n }\n } else {\n self.stop();\n instance.idleSecondsCounter = 0;\n instance.showControls();\n }\n },\n\n clear: function () {\n var self = this;\n\n clearTimeout(self.timer);\n\n self.timer = null;\n\n if (self.$progress) {\n self.$progress.removeAttr(\"style\").hide();\n }\n },\n\n start: function () {\n var self = this,\n current = self.instance.current;\n\n if (current) {\n self.$button\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)\n .removeClass(\"fancybox-button--play\")\n .addClass(\"fancybox-button--pause\");\n\n self.isActive = true;\n\n if (current.isComplete) {\n self.set(true);\n }\n\n self.instance.trigger(\"onSlideShowChange\", true);\n }\n },\n\n stop: function () {\n var self = this,\n current = self.instance.current;\n\n self.clear();\n\n self.$button\n .attr(\"title\", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)\n .removeClass(\"fancybox-button--pause\")\n .addClass(\"fancybox-button--play\");\n\n self.isActive = false;\n\n self.instance.trigger(\"onSlideShowChange\", false);\n\n if (self.$progress) {\n self.$progress.removeAttr(\"style\").hide();\n }\n },\n\n toggle: function () {\n var self = this;\n\n if (self.isActive) {\n self.stop();\n } else {\n self.start();\n }\n }\n });\n\n $(document).on({\n \"onInit.fb\": function (e, instance) {\n if (instance && !instance.SlideShow) {\n instance.SlideShow = new SlideShow(instance);\n }\n },\n\n \"beforeShow.fb\": function (e, instance, current, firstRun) {\n var SlideShow = instance && instance.SlideShow;\n\n if (firstRun) {\n if (SlideShow && current.opts.slideShow.autoStart) {\n SlideShow.start();\n }\n } else if (SlideShow && SlideShow.isActive) {\n SlideShow.clear();\n }\n },\n\n \"afterShow.fb\": function (e, instance, current) {\n var SlideShow = instance && instance.SlideShow;\n\n if (SlideShow && SlideShow.isActive) {\n SlideShow.set();\n }\n },\n\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\n var SlideShow = instance && instance.SlideShow;\n\n // \"P\" or Spacebar\n if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is(\"button,a,input\")) {\n keypress.preventDefault();\n\n SlideShow.toggle();\n }\n },\n\n \"beforeClose.fb onDeactivate.fb\": function (e, instance) {\n var SlideShow = instance && instance.SlideShow;\n\n if (SlideShow) {\n SlideShow.stop();\n }\n }\n });\n\n // Page Visibility API to pause slideshow when window is not active\n $(document).on(\"visibilitychange\", function () {\n var instance = $.fancybox.getInstance(),\n SlideShow = instance && instance.SlideShow;\n\n if (SlideShow && SlideShow.isActive) {\n if (document.hidden) {\n SlideShow.clear();\n } else {\n SlideShow.set();\n }\n }\n });\n})(document, jQuery);\n// ==========================================================================\n//\n// FullScreen\n// Adds fullscreen functionality\n//\n// ==========================================================================\n(function (document, $) {\n \"use strict\";\n\n // Collection of methods supported by user browser\n var fn = (function () {\n var fnMap = [\n [\"requestFullscreen\", \"exitFullscreen\", \"fullscreenElement\", \"fullscreenEnabled\", \"fullscreenchange\", \"fullscreenerror\"],\n // new WebKit\n [\n \"webkitRequestFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitFullscreenElement\",\n \"webkitFullscreenEnabled\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n // old WebKit (Safari 5.1)\n [\n \"webkitRequestFullScreen\",\n \"webkitCancelFullScreen\",\n \"webkitCurrentFullScreenElement\",\n \"webkitCancelFullScreen\",\n \"webkitfullscreenchange\",\n \"webkitfullscreenerror\"\n ],\n [\n \"mozRequestFullScreen\",\n \"mozCancelFullScreen\",\n \"mozFullScreenElement\",\n \"mozFullScreenEnabled\",\n \"mozfullscreenchange\",\n \"mozfullscreenerror\"\n ],\n [\"msRequestFullscreen\", \"msExitFullscreen\", \"msFullscreenElement\", \"msFullscreenEnabled\", \"MSFullscreenChange\", \"MSFullscreenError\"]\n ];\n\n var ret = {};\n\n for (var i = 0; i < fnMap.length; i++) {\n var val = fnMap[i];\n\n if (val && val[1] in document) {\n for (var j = 0; j < val.length; j++) {\n ret[fnMap[0][j]] = val[j];\n }\n\n return ret;\n }\n }\n\n return false;\n })();\n\n if (fn) {\n var FullScreen = {\n request: function (elem) {\n elem = elem || document.documentElement;\n\n elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);\n },\n exit: function () {\n document[fn.exitFullscreen]();\n },\n toggle: function (elem) {\n elem = elem || document.documentElement;\n\n if (this.isFullscreen()) {\n this.exit();\n } else {\n this.request(elem);\n }\n },\n isFullscreen: function () {\n return Boolean(document[fn.fullscreenElement]);\n },\n enabled: function () {\n return Boolean(document[fn.fullscreenEnabled]);\n }\n };\n\n $.extend(true, $.fancybox.defaults, {\n btnTpl: {\n fullScreen: '\"\n },\n fullScreen: {\n autoStart: false\n }\n });\n\n $(document).on(fn.fullscreenchange, function () {\n var isFullscreen = FullScreen.isFullscreen(),\n instance = $.fancybox.getInstance();\n\n if (instance) {\n // If image is zooming, then force to stop and reposition properly\n if (instance.current && instance.current.type === \"image\" && instance.isAnimating) {\n instance.isAnimating = false;\n\n instance.update(true, true, 0);\n\n if (!instance.isComplete) {\n instance.complete();\n }\n }\n\n instance.trigger(\"onFullscreenChange\", isFullscreen);\n\n instance.$refs.container.toggleClass(\"fancybox-is-fullscreen\", isFullscreen);\n\n instance.$refs.toolbar\n .find(\"[data-fancybox-fullscreen]\")\n .toggleClass(\"fancybox-button--fsenter\", !isFullscreen)\n .toggleClass(\"fancybox-button--fsexit\", isFullscreen);\n }\n });\n }\n\n $(document).on({\n \"onInit.fb\": function (e, instance) {\n var $container;\n\n if (!fn) {\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").remove();\n\n return;\n }\n\n if (instance && instance.group[instance.currIndex].opts.fullScreen) {\n $container = instance.$refs.container;\n\n $container.on(\"click.fb-fullscreen\", \"[data-fancybox-fullscreen]\", function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n FullScreen.toggle();\n });\n\n if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {\n FullScreen.request();\n }\n\n // Expose API\n instance.FullScreen = FullScreen;\n } else if (instance) {\n instance.$refs.toolbar.find(\"[data-fancybox-fullscreen]\").hide();\n }\n },\n\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\n // \"F\"\n if (instance && instance.FullScreen && keycode === 70) {\n keypress.preventDefault();\n\n instance.FullScreen.toggle();\n }\n },\n\n \"beforeClose.fb\": function (e, instance) {\n if (instance && instance.FullScreen && instance.$refs.container.hasClass(\"fancybox-is-fullscreen\")) {\n FullScreen.exit();\n }\n }\n });\n})(document, jQuery);\n// ==========================================================================\n//\n// Thumbs\n// Displays thumbnails in a grid\n//\n// ==========================================================================\n(function (document, $) {\n \"use strict\";\n\n var CLASS = \"fancybox-thumbs\",\n CLASS_ACTIVE = CLASS + \"-active\";\n\n // Make sure there are default values\n $.fancybox.defaults = $.extend(\n true, {\n btnTpl: {\n thumbs: '\"\n },\n thumbs: {\n autoStart: false, // Display thumbnails on opening\n hideOnClose: true, // Hide thumbnail grid when closing animation starts\n parentEl: \".fancybox-container\", // Container is injected into this element\n axis: \"y\" // Vertical (y) or horizontal (x) scrolling\n }\n },\n $.fancybox.defaults\n );\n\n var FancyThumbs = function (instance) {\n this.init(instance);\n };\n\n $.extend(FancyThumbs.prototype, {\n $button: null,\n $grid: null,\n $list: null,\n isVisible: false,\n isActive: false,\n\n init: function (instance) {\n var self = this,\n group = instance.group,\n enabled = 0;\n\n self.instance = instance;\n self.opts = group[instance.currIndex].opts.thumbs;\n\n instance.Thumbs = self;\n\n self.$button = instance.$refs.toolbar.find(\"[data-fancybox-thumbs]\");\n\n // Enable thumbs if at least two group items have thumbnails\n for (var i = 0, len = group.length; i < len; i++) {\n if (group[i].thumb) {\n enabled++;\n }\n\n if (enabled > 1) {\n break;\n }\n }\n\n if (enabled > 1 && !!self.opts) {\n self.$button.removeAttr(\"style\").on(\"click\", function () {\n self.toggle();\n });\n\n self.isActive = true;\n } else {\n self.$button.hide();\n }\n },\n\n create: function () {\n var self = this,\n instance = self.instance,\n parentEl = self.opts.parentEl,\n list = [],\n src;\n\n if (!self.$grid) {\n // Create main element\n self.$grid = $('').appendTo(\n instance.$refs.container\n .find(parentEl)\n .addBack()\n .filter(parentEl)\n );\n\n // Add \"click\" event that performs gallery navigation\n self.$grid.on(\"click\", \"a\", function () {\n instance.jumpTo($(this).attr(\"data-index\"));\n });\n }\n\n // Build the list\n if (!self.$list) {\n self.$list = $('
').appendTo(self.$grid);\n }\n\n $.each(instance.group, function (i, item) {\n src = item.thumb;\n\n if (!src && item.type === \"image\") {\n src = item.src;\n }\n\n list.push(\n '\"\n );\n });\n\n self.$list[0].innerHTML = list.join(\"\");\n\n if (self.opts.axis === \"x\") {\n // Set fixed width for list element to enable horizontal scrolling\n self.$list.width(\n parseInt(self.$grid.css(\"padding-right\"), 10) +\n instance.group.length *\n self.$list\n .children()\n .eq(0)\n .outerWidth(true)\n );\n }\n },\n\n focus: function (duration) {\n var self = this,\n $list = self.$list,\n $grid = self.$grid,\n thumb,\n thumbPos;\n\n if (!self.instance.current) {\n return;\n }\n\n thumb = $list\n .children()\n .removeClass(CLASS_ACTIVE)\n .filter('[data-index=\"' + self.instance.current.index + '\"]')\n .addClass(CLASS_ACTIVE);\n\n thumbPos = thumb.position();\n\n // Check if need to scroll to make current thumb visible\n if (self.opts.axis === \"y\" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {\n $list.stop().animate({\n scrollTop: $list.scrollTop() + thumbPos.top\n },\n duration\n );\n } else if (\n self.opts.axis === \"x\" &&\n (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))\n ) {\n $list\n .parent()\n .stop()\n .animate({\n scrollLeft: thumbPos.left\n },\n duration\n );\n }\n },\n\n update: function () {\n var that = this;\n that.instance.$refs.container.toggleClass(\"fancybox-show-thumbs\", this.isVisible);\n\n if (that.isVisible) {\n if (!that.$grid) {\n that.create();\n }\n\n that.instance.trigger(\"onThumbsShow\");\n\n that.focus(0);\n } else if (that.$grid) {\n that.instance.trigger(\"onThumbsHide\");\n }\n\n // Update content position\n that.instance.update();\n },\n\n hide: function () {\n this.isVisible = false;\n this.update();\n },\n\n show: function () {\n this.isVisible = true;\n this.update();\n },\n\n toggle: function () {\n this.isVisible = !this.isVisible;\n this.update();\n }\n });\n\n $(document).on({\n \"onInit.fb\": function (e, instance) {\n var Thumbs;\n\n if (instance && !instance.Thumbs) {\n Thumbs = new FancyThumbs(instance);\n\n if (Thumbs.isActive && Thumbs.opts.autoStart === true) {\n Thumbs.show();\n }\n }\n },\n\n \"beforeShow.fb\": function (e, instance, item, firstRun) {\n var Thumbs = instance && instance.Thumbs;\n\n if (Thumbs && Thumbs.isVisible) {\n Thumbs.focus(firstRun ? 0 : 250);\n }\n },\n\n \"afterKeydown.fb\": function (e, instance, current, keypress, keycode) {\n var Thumbs = instance && instance.Thumbs;\n\n // \"G\"\n if (Thumbs && Thumbs.isActive && keycode === 71) {\n keypress.preventDefault();\n\n Thumbs.toggle();\n }\n },\n\n \"beforeClose.fb\": function (e, instance) {\n var Thumbs = instance && instance.Thumbs;\n\n if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {\n Thumbs.$grid.hide();\n }\n }\n });\n})(document, jQuery);\n//// ==========================================================================\n//\n// Share\n// Displays simple form for sharing current url\n//\n// ==========================================================================\n(function (document, $) {\n \"use strict\";\n\n $.extend(true, $.fancybox.defaults, {\n btnTpl: {\n share: '\"\n },\n share: {\n url: function (instance, item) {\n return (\n (!instance.currentHash && !(item.type === \"inline\" || item.type === \"html\") ? item.origSrc || item.src : false) || window.location\n );\n },\n tpl: '