{"version":3,"sources":["0_modernizr.js","google.maps.js","owl.carousel.js","script.js"],"names":["window","document","undefined","tests","ModernizrProto","_version","_config","_q","on","test","cb","self","setTimeout","addTest","name","fn","options","push","addAsyncTest","Modernizr","prototype","classes","is","obj","type","testRunner","featureNames","feature","aliasIdx","result","nameIdx","featureName","featureNameSplit","featureIdx","hasOwnProperty","toLowerCase","aliases","length","split","Boolean","join","docElement","documentElement","isSVG","nodeName","setClasses","className","classPrefix","baseVal","enableJSClass","reJS","RegExp","replace","enableClasses","omPrefixes","cssomPrefixes","usePrefixes","_cssomPrefixes","atRule","prop","prefixes","cssrule","CSSRule","rule","toUpperCase","i","prefix","thisRule","createElement","arguments","createElementNS","call","apply","_prefixes","value","el","style","cssText","contains","str","substr","indexOf","modElem","elem","mStyle","unshift","getBody","body","fake","injectElementWithStyles","callback","nodes","testnames","mod","ret","node","docOverflow","div","parseInt","id","appendChild","styleSheet","createTextNode","background","overflow","parentNode","removeChild","offsetHeight","domToCSS","m1","computedStyle","pseudo","getComputedStyle","console","getPropertyValue","method","error","currentStyle","nativeTestProps","props","CSS","supports","conditionText","cssToDOM","m2","testProps","prefixed","skipValueTest","afterInit","propsLength","before","elems","shift","cleanElems","e","domPrefixes","_domPrefixes","fnBind","that","testDOMProps","item","testPropsAll","ucProp","charAt","slice","testAllProps","mq","matchMedia","msMatchMedia","mql","matches","bool","position","pointerEvents","testStyles","height","innerHeight","compStyle","width","innerWidth","createSVGRect","DocumentTouch","query","offsetTop","drawMaps","location","map","google","maps","Map","center","zoom","getZoomFactor","zoomControl","disableDoubleClickZoom","mapTypeControl","scaleControl","scrollwheel","panControl","streetViewControl","draggable","overviewMapControl","overviewMapControlOptions","opened","mapTypeId","MapTypeId","ROADMAP","styles","drawMarkerLocations","locations","marker","Marker","icon","LatLng","lat","long","markerObject","bindInfoWindow","drawRadiusLocations","cityCircle","Circle","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","radius","infoWindowVisible","currentlyVisible","visible","iw","InfoWindow","event","addListener","locationName","setIcon","markerActive","querySelector","classList","add","innerHTML","title","address","phone","email","$","Owl","element","settings","extend","Defaults","$element","_handlers","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_widths","_invalidated","_pipe","_drag","time","target","pointer","stage","start","current","direction","_states","tags","each","proxy","handler","Plugins","key","plugin","Workers","priority","worker","filter","run","setup","initialize","items","loop","rewind","mouseDrag","touchDrag","pullDrag","freeDrag","margin","stagePadding","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsive","responsiveRefreshRate","responsiveBaseElement","fallbackEasing","info","nestedItemSelector","itemElement","stageElement","refreshClass","loadedClass","loadingClass","rtlClass","responsiveClass","dragClass","itemClass","stageClass","stageOuterClass","grabClass","Width","Default","Inner","Outer","Type","Event","State","cache","relative","$stage","children","remove","grid","css","toFixed","iterator","widths","Math","min","clones","view","max","size","ceil","repeat","append","prepend","normalize","outerHTML","addClass","appendTo","prependTo","previous","coordinates","padding","abs","eq","removeAttr","index","minimum","maximum","reset","animate","begin","end","inner","outer","n","op","removeClass","enter","trigger","toggleClass","imgs","nestedSelector","find","preloadAutoWidthImages","wrap","parent","not","refresh","invalidate","registerEventHandlers","leave","viewport","overwrites","match","breakpoint","Number","attr","property","optionsLogic","prepare","content","data","update","p","all","grep","dimension","onThrottledResize","clearTimeout","resizeTimer","onResize","isDefaultPrevented","support","transition","onTransitionEnd","onDragStart","onDragEnd","which","transform","x","y","left","top","stop","speed","Date","getTime","one","delta","difference","onDragMove","preventDefault","pull","off","closest","coordinate","transform3d","state","part","v","suppress","release","m","isNumeric","reciprocalItemsWidth","elementWidth","mergers","odd","even","multiplier","newPosition","duration","from","to","factor","revert","distance","next","prev","stopPropagation","srcElement","originalTarget","get","clientWidth","empty","jQuery","nodeType","addBack","after","splice","images","Image","src","destroy","unwrap","contents","removeData","a","o","b","listener","capture","addEventListener","attachEvent","removeEventListener","detachEvent","namespace","status","count","camelCase","relatedTarget","onTrigger","register","concat","object","special","owl","_default","tag","inArray","events","originalEvent","touches","changedTouches","pageX","pageY","clientX","clientY","number","isNaN","parseFloat","first","second","owlCarousel","option","args","Array","$this","Constructor","Zepto","AutoRefresh","carousel","_core","_interval","_visible","autoRefresh","watch","autoRefreshInterval","setInterval","clearInterval","Object","getOwnPropertyNames","Lazy","_loaded","lazyLoad","load","$item","$elements","image","url","devicePixelRatio","onload","handlers","AutoHeight","autoHeight","autoHeightClass","toArray","heights","maxheight","Video","_videos","_playing","video","isInFullScreen","fetch","play","videoHeight","videoWidth","Error","thumbnail","tnLink","path","dimensions","customTn","srcType","lazyClass","create","ajax","jsonp","dataType","success","thumbnail_large","framegrab_url","html","insertAfter","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","hasClass","Animate","scope","core","swapping","animateOut","animateIn","swap","animation","clear","incoming","outgoing","Autoplay","_timeout","_paused","autoplay","_setAutoPlayInterval","t","s","autoplayHoverPause","pause","autoplayTimeout","autoplaySpeed","timeout","_getNextTimeout","hidden","Navigation","_initialized","_pages","_controls","_templates","_overrides","dotsData","dotClass","pop","draw","nav","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotsClass","dots","dotsEach","dotsSpeed","dotsContainer","override","$relative","$previous","$next","$absolute","control","overides","j","k","lower","upper","disabled","page","getPosition","successor","standard","Hash","_hashes","hash","substring","URLhashListener","WebkitTransition","MozTransition","OTransition","WebkitAnimation","MozAnimation","OAnimation","csstransforms","csstransforms3d","csstransitions","cssanimations","String","setRequiredDates","bindCustomDateFields","datesList","querySelectorAll","dates","getAttribute","touchevents","completeDate","setAttribute","dateHelpers","dateHelper","oninput","day","month","year","toggle","hover","appointmentCalendar","val","scrollTop"],"mappings":"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","file":"script.min.js","sourcesContent":["/*!\n * modernizr v3.5.0\n * Build https://modernizr.com/download?-csscalc-cssgrid_cssgridlegacy-csspointerevents-cssvhunit-cssvwunit-flexbox-mediaqueries-svg-touchevents-atrule-setclasses-dontmin\n *\n * Copyright (c)\n * Faruk Ates\n * Paul Irish\n * Alex Sexton\n * Ryan Seddon\n * Patrick Kettner\n * Stu Cox\n * Richard Herrera\n\n * MIT License\n */\n\n/*\n * Modernizr tests which native CSS3 and HTML5 features are available in the\n * current UA and makes the results available to you in two ways: as properties on\n * a global `Modernizr` object, and as classes on the `` element. This\n * information allows you to progressively enhance your pages with a granular level\n * of control over the experience.\n*/\n\n;(function(window, document, undefined){\n var tests = [];\n \n\n /**\n *\n * ModernizrProto is the constructor for Modernizr\n *\n * @class\n * @access public\n */\n\n var ModernizrProto = {\n // The current version, dummy\n _version: '3.5.0',\n\n // Any settings that don't work as separate modules\n // can go in here as configuration.\n _config: {\n 'classPrefix': '',\n 'enableClasses': true,\n 'enableJSClass': true,\n 'usePrefixes': true\n },\n\n // Queue of tests\n _q: [],\n\n // Stub these for people who are listening\n on: function(test, cb) {\n // I don't really think people should do this, but we can\n // safe guard it a bit.\n // -- NOTE:: this gets WAY overridden in src/addTest for actual async tests.\n // This is in case people listen to synchronous tests. I would leave it out,\n // but the code to *disallow* sync tests in the real version of this\n // function is actually larger than this.\n var self = this;\n setTimeout(function() {\n cb(self[test]);\n }, 0);\n },\n\n addTest: function(name, fn, options) {\n tests.push({name: name, fn: fn, options: options});\n },\n\n addAsyncTest: function(fn) {\n tests.push({name: null, fn: fn});\n }\n };\n\n \n\n // Fake some of Object.create so we can force non test results to be non \"own\" properties.\n var Modernizr = function() {};\n Modernizr.prototype = ModernizrProto;\n\n // Leak modernizr globally when you `require` it rather than force it here.\n // Overwrite name so constructor name is nicer :D\n Modernizr = new Modernizr();\n\n \n\n var classes = [];\n \n\n /**\n * is returns a boolean if the typeof an obj is exactly type.\n *\n * @access private\n * @function is\n * @param {*} obj - A thing we want to check the type of\n * @param {string} type - A string to compare the typeof against\n * @returns {boolean}\n */\n\n function is(obj, type) {\n return typeof obj === type;\n }\n ;\n\n /**\n * Run through all tests and detect their support in the current UA.\n *\n * @access private\n */\n\n function testRunner() {\n var featureNames;\n var feature;\n var aliasIdx;\n var result;\n var nameIdx;\n var featureName;\n var featureNameSplit;\n\n for (var featureIdx in tests) {\n if (tests.hasOwnProperty(featureIdx)) {\n featureNames = [];\n feature = tests[featureIdx];\n // run the test, throw the return value into the Modernizr,\n // then based on that boolean, define an appropriate className\n // and push it into an array of classes we'll join later.\n //\n // If there is no name, it's an 'async' test that is run,\n // but not directly added to the object. That should\n // be done with a post-run addTest call.\n if (feature.name) {\n featureNames.push(feature.name.toLowerCase());\n\n if (feature.options && feature.options.aliases && feature.options.aliases.length) {\n // Add all the aliases into the names list\n for (aliasIdx = 0; aliasIdx < feature.options.aliases.length; aliasIdx++) {\n featureNames.push(feature.options.aliases[aliasIdx].toLowerCase());\n }\n }\n }\n\n // Run the test, or use the raw value if it's not a function\n result = is(feature.fn, 'function') ? feature.fn() : feature.fn;\n\n\n // Set each of the names on the Modernizr object\n for (nameIdx = 0; nameIdx < featureNames.length; nameIdx++) {\n featureName = featureNames[nameIdx];\n // Support dot properties as sub tests. We don't do checking to make sure\n // that the implied parent tests have been added. You must call them in\n // order (either in the test, or make the parent test a dependency).\n //\n // Cap it to TWO to make the logic simple and because who needs that kind of subtesting\n // hashtag famous last words\n featureNameSplit = featureName.split('.');\n\n if (featureNameSplit.length === 1) {\n Modernizr[featureNameSplit[0]] = result;\n } else {\n // cast to a Boolean, if not one already\n if (Modernizr[featureNameSplit[0]] && !(Modernizr[featureNameSplit[0]] instanceof Boolean)) {\n Modernizr[featureNameSplit[0]] = new Boolean(Modernizr[featureNameSplit[0]]);\n }\n\n Modernizr[featureNameSplit[0]][featureNameSplit[1]] = result;\n }\n\n classes.push((result ? '' : 'no-') + featureNameSplit.join('-'));\n }\n }\n }\n }\n ;\n\n /**\n * docElement is a convenience wrapper to grab the root element of the document\n *\n * @access private\n * @returns {HTMLElement|SVGElement} The root element of the document\n */\n\n var docElement = document.documentElement;\n \n\n /**\n * A convenience helper to check if the document we are running in is an SVG document\n *\n * @access private\n * @returns {boolean}\n */\n\n var isSVG = docElement.nodeName.toLowerCase() === 'svg';\n \n\n /**\n * setClasses takes an array of class names and adds them to the root element\n *\n * @access private\n * @function setClasses\n * @param {string[]} classes - Array of class names\n */\n\n // Pass in an and array of class names, e.g.:\n // ['no-webp', 'borderradius', ...]\n function setClasses(classes) {\n var className = docElement.className;\n var classPrefix = Modernizr._config.classPrefix || '';\n\n if (isSVG) {\n className = className.baseVal;\n }\n\n // Change `no-js` to `js` (independently of the `enableClasses` option)\n // Handle classPrefix on this too\n if (Modernizr._config.enableJSClass) {\n var reJS = new RegExp('(^|\\\\s)' + classPrefix + 'no-js(\\\\s|$)');\n className = className.replace(reJS, '$1' + classPrefix + 'js$2');\n }\n\n if (Modernizr._config.enableClasses) {\n // Add the new classes\n className += ' ' + classPrefix + classes.join(' ' + classPrefix);\n if (isSVG) {\n docElement.className.baseVal = className;\n } else {\n docElement.className = className;\n }\n }\n\n }\n\n ;\n\n /**\n * If the browsers follow the spec, then they would expose vendor-specific styles as:\n * elem.style.WebkitBorderRadius\n * instead of something like the following (which is technically incorrect):\n * elem.style.webkitBorderRadius\n\n * WebKit ghosts their properties in lowercase but Opera & Moz do not.\n * Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+\n * erik.eae.net/archives/2008/03/10/21.48.10/\n\n * More here: github.com/Modernizr/Modernizr/issues/issue/21\n *\n * @access private\n * @returns {string} The string representing the vendor-specific style properties\n */\n\n var omPrefixes = 'Moz O ms Webkit';\n \n\n var cssomPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.split(' ') : []);\n ModernizrProto._cssomPrefixes = cssomPrefixes;\n \n\n /**\n * atRule returns a given CSS property at-rule (eg @keyframes), possibly in\n * some prefixed form, or false, in the case of an unsupported rule\n *\n * @memberof Modernizr\n * @name Modernizr.atRule\n * @optionName Modernizr.atRule()\n * @optionProp atRule\n * @access public\n * @function atRule\n * @param {string} prop - String name of the @-rule to test for\n * @returns {string|boolean} The string representing the (possibly prefixed)\n * valid version of the @-rule, or `false` when it is unsupported.\n * @example\n * ```js\n * var keyframes = Modernizr.atRule('@keyframes');\n *\n * if (keyframes) {\n * // keyframes are supported\n * // could be `@-webkit-keyframes` or `@keyframes`\n * } else {\n * // keyframes === `false`\n * }\n * ```\n *\n */\n\n var atRule = function(prop) {\n var length = prefixes.length;\n var cssrule = window.CSSRule;\n var rule;\n\n if (typeof cssrule === 'undefined') {\n return undefined;\n }\n\n if (!prop) {\n return false;\n }\n\n // remove literal @ from beginning of provided property\n prop = prop.replace(/^@/, '');\n\n // CSSRules use underscores instead of dashes\n rule = prop.replace(/-/g, '_').toUpperCase() + '_RULE';\n\n if (rule in cssrule) {\n return '@' + prop;\n }\n\n for (var i = 0; i < length; i++) {\n // prefixes gives us something like -o-, and we want O_\n var prefix = prefixes[i];\n var thisRule = prefix.toUpperCase() + '_' + rule;\n\n if (thisRule in cssrule) {\n return '@-' + prefix.toLowerCase() + '-' + prop;\n }\n }\n\n return false;\n };\n\n ModernizrProto.atRule = atRule;\n\n \n\n /**\n * createElement is a convenience wrapper around document.createElement. Since we\n * use createElement all over the place, this allows for (slightly) smaller code\n * as well as abstracting away issues with creating elements in contexts other than\n * HTML documents (e.g. SVG documents).\n *\n * @access private\n * @function createElement\n * @returns {HTMLElement|SVGElement} An HTML or SVG element\n */\n\n function createElement() {\n if (typeof document.createElement !== 'function') {\n // This is the case in IE7, where the type of createElement is \"object\".\n // For this reason, we cannot call apply() as Object is not a Function.\n return document.createElement(arguments[0]);\n } else if (isSVG) {\n return document.createElementNS.call(document, 'http://www.w3.org/2000/svg', arguments[0]);\n } else {\n return document.createElement.apply(document, arguments);\n }\n }\n\n ;\n\n /**\n * List of property values to set for css tests. See ticket #21\n * http://git.io/vUGl4\n *\n * @memberof Modernizr\n * @name Modernizr._prefixes\n * @optionName Modernizr._prefixes\n * @optionProp prefixes\n * @access public\n * @example\n *\n * Modernizr._prefixes is the internal list of prefixes that we test against\n * inside of things like [prefixed](#modernizr-prefixed) and [prefixedCSS](#-code-modernizr-prefixedcss). It is simply\n * an array of kebab-case vendor prefixes you can use within your code.\n *\n * Some common use cases include\n *\n * Generating all possible prefixed version of a CSS property\n * ```js\n * var rule = Modernizr._prefixes.join('transform: rotate(20deg); ');\n *\n * rule === 'transform: rotate(20deg); webkit-transform: rotate(20deg); moz-transform: rotate(20deg); o-transform: rotate(20deg); ms-transform: rotate(20deg);'\n * ```\n *\n * Generating all possible prefixed version of a CSS value\n * ```js\n * rule = 'display:' + Modernizr._prefixes.join('flex; display:') + 'flex';\n *\n * rule === 'display:flex; display:-webkit-flex; display:-moz-flex; display:-o-flex; display:-ms-flex; display:flex'\n * ```\n */\n\n // we use ['',''] rather than an empty array in order to allow a pattern of .`join()`ing prefixes to test\n // values in feature detects to continue to work\n var prefixes = (ModernizrProto._config.usePrefixes ? ' -webkit- -moz- -o- -ms- '.split(' ') : ['','']);\n\n // expose these for the plugin API. Look in the source for how to join() them against your input\n ModernizrProto._prefixes = prefixes;\n\n \n/*!\n{\n \"name\": \"CSS Calc\",\n \"property\": \"csscalc\",\n \"caniuse\": \"calc\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_calc\"],\n \"authors\": [\"@calvein\"]\n}\n!*/\n/* DOC\nMethod of allowing calculated values for length units. For example:\n\n```css\n//lem {\n width: calc(100% - 3em);\n}\n```\n*/\n\n Modernizr.addTest('csscalc', function() {\n var prop = 'width:';\n var value = 'calc(10px);';\n var el = createElement('a');\n\n el.style.cssText = prop + prefixes.join(value + prop);\n\n return !!el.style.length;\n });\n\n\n\n /**\n * contains checks to see if a string contains another string\n *\n * @access private\n * @function contains\n * @param {string} str - The string we want to check for substrings\n * @param {string} substr - The substring we want to search the first string for\n * @returns {boolean}\n */\n\n function contains(str, substr) {\n return !!~('' + str).indexOf(substr);\n }\n\n ;\n\n /**\n * Create our \"modernizr\" element that we do most feature tests on.\n *\n * @access private\n */\n\n var modElem = {\n elem: createElement('modernizr')\n };\n\n // Clean up this element\n Modernizr._q.push(function() {\n delete modElem.elem;\n });\n\n \n\n var mStyle = {\n style: modElem.elem.style\n };\n\n // kill ref for gc, must happen before mod.elem is removed, so we unshift on to\n // the front of the queue.\n Modernizr._q.unshift(function() {\n delete mStyle.style;\n });\n\n \n\n /**\n * getBody returns the body of a document, or an element that can stand in for\n * the body if a real body does not exist\n *\n * @access private\n * @function getBody\n * @returns {HTMLElement|SVGElement} Returns the real body of a document, or an\n * artificially created element that stands in for the body\n */\n\n function getBody() {\n // After page load injecting a fake body doesn't work so check if body exists\n var body = document.body;\n\n if (!body) {\n // Can't use the real body create a fake one.\n body = createElement(isSVG ? 'svg' : 'body');\n body.fake = true;\n }\n\n return body;\n }\n\n ;\n\n /**\n * injectElementWithStyles injects an element with style element and some CSS rules\n *\n * @access private\n * @function injectElementWithStyles\n * @param {string} rule - String representing a css rule\n * @param {function} callback - A function that is used to test the injected element\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\n * @returns {boolean}\n */\n\n function injectElementWithStyles(rule, callback, nodes, testnames) {\n var mod = 'modernizr';\n var style;\n var ret;\n var node;\n var docOverflow;\n var div = createElement('div');\n var body = getBody();\n\n if (parseInt(nodes, 10)) {\n // In order not to give false positives we create a node for each test\n // This also allows the method to scale for unspecified uses\n while (nodes--) {\n node = createElement('div');\n node.id = testnames ? testnames[nodes] : mod + (nodes + 1);\n div.appendChild(node);\n }\n }\n\n style = createElement('style');\n style.type = 'text/css';\n style.id = 's' + mod;\n\n // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.\n // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270\n (!body.fake ? div : body).appendChild(style);\n body.appendChild(div);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = rule;\n } else {\n style.appendChild(document.createTextNode(rule));\n }\n div.id = mod;\n\n if (body.fake) {\n //avoid crashing IE8, if background image is used\n body.style.background = '';\n //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n body.style.overflow = 'hidden';\n docOverflow = docElement.style.overflow;\n docElement.style.overflow = 'hidden';\n docElement.appendChild(body);\n }\n\n ret = callback(div, rule);\n // If this is done after page load we don't want to remove the body so check if body exists\n if (body.fake) {\n body.parentNode.removeChild(body);\n docElement.style.overflow = docOverflow;\n // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n // eslint-disable-next-line\n docElement.offsetHeight;\n } else {\n div.parentNode.removeChild(div);\n }\n\n return !!ret;\n\n }\n\n ;\n\n /**\n * domToCSS takes a camelCase string and converts it to kebab-case\n * e.g. boxSizing -> box-sizing\n *\n * @access private\n * @function domToCSS\n * @param {string} name - String name of camelCase prop we want to convert\n * @returns {string} The kebab-case version of the supplied name\n */\n\n function domToCSS(name) {\n return name.replace(/([A-Z])/g, function(str, m1) {\n return '-' + m1.toLowerCase();\n }).replace(/^ms-/, '-ms-');\n }\n ;\n\n\n /**\n * wrapper around getComputedStyle, to fix issues with Firefox returning null when\n * called inside of a hidden iframe\n *\n * @access private\n * @function computedStyle\n * @param {HTMLElement|SVGElement} - The element we want to find the computed styles of\n * @param {string|null} [pseudoSelector]- An optional pseudo element selector (e.g. :before), of null if none\n * @returns {CSSStyleDeclaration}\n */\n\n function computedStyle(elem, pseudo, prop) {\n var result;\n\n if ('getComputedStyle' in window) {\n result = getComputedStyle.call(window, elem, pseudo);\n var console = window.console;\n\n if (result !== null) {\n if (prop) {\n result = result.getPropertyValue(prop);\n }\n } else {\n if (console) {\n var method = console.error ? 'error' : 'log';\n console[method].call(console, 'getComputedStyle returning null, its possible modernizr test results are inaccurate');\n }\n }\n } else {\n result = !pseudo && elem.currentStyle && elem.currentStyle[prop];\n }\n\n return result;\n }\n\n ;\n\n /**\n * nativeTestProps allows for us to use native feature detection functionality if available.\n * some prefixed form, or false, in the case of an unsupported rule\n *\n * @access private\n * @function nativeTestProps\n * @param {array} props - An array of property names\n * @param {string} value - A string representing the value we want to check via @supports\n * @returns {boolean|undefined} A boolean when @supports exists, undefined otherwise\n */\n\n // Accepts a list of property names and a single value\n // Returns `undefined` if native detection not available\n function nativeTestProps(props, value) {\n var i = props.length;\n // Start with the JS API: http://www.w3.org/TR/css3-conditional/#the-css-interface\n if ('CSS' in window && 'supports' in window.CSS) {\n // Try every prefixed variant of the property\n while (i--) {\n if (window.CSS.supports(domToCSS(props[i]), value)) {\n return true;\n }\n }\n return false;\n }\n // Otherwise fall back to at-rule (for Opera 12.x)\n else if ('CSSSupportsRule' in window) {\n // Build a condition string for every prefixed variant\n var conditionText = [];\n while (i--) {\n conditionText.push('(' + domToCSS(props[i]) + ':' + value + ')');\n }\n conditionText = conditionText.join(' or ');\n return injectElementWithStyles('@supports (' + conditionText + ') { #modernizr { position: absolute; } }', function(node) {\n return computedStyle(node, null, 'position') == 'absolute';\n });\n }\n return undefined;\n }\n ;\n\n /**\n * cssToDOM takes a kebab-case string and converts it to camelCase\n * e.g. box-sizing -> boxSizing\n *\n * @access private\n * @function cssToDOM\n * @param {string} name - String name of kebab-case prop we want to convert\n * @returns {string} The camelCase version of the supplied name\n */\n\n function cssToDOM(name) {\n return name.replace(/([a-z])-([a-z])/g, function(str, m1, m2) {\n return m1 + m2.toUpperCase();\n }).replace(/^-/, '');\n }\n ;\n\n // testProps is a generic CSS / DOM property test.\n\n // In testing support for a given CSS property, it's legit to test:\n // `elem.style[styleName] !== undefined`\n // If the property is supported it will return an empty string,\n // if unsupported it will return undefined.\n\n // We'll take advantage of this quick test and skip setting a style\n // on our modernizr element, but instead just testing undefined vs\n // empty string.\n\n // Property names can be provided in either camelCase or kebab-case.\n\n function testProps(props, prefixed, value, skipValueTest) {\n skipValueTest = is(skipValueTest, 'undefined') ? false : skipValueTest;\n\n // Try native detect first\n if (!is(value, 'undefined')) {\n var result = nativeTestProps(props, value);\n if (!is(result, 'undefined')) {\n return result;\n }\n }\n\n // Otherwise do it properly\n var afterInit, i, propsLength, prop, before;\n\n // If we don't have a style element, that means we're running async or after\n // the core tests, so we'll need to create our own elements to use\n\n // inside of an SVG element, in certain browsers, the `style` element is only\n // defined for valid tags. Therefore, if `modernizr` does not have one, we\n // fall back to a less used element and hope for the best.\n // for strict XHTML browsers the hardly used samp element is used\n var elems = ['modernizr', 'tspan', 'samp'];\n while (!mStyle.style && elems.length) {\n afterInit = true;\n mStyle.modElem = createElement(elems.shift());\n mStyle.style = mStyle.modElem.style;\n }\n\n // Delete the objects if we created them.\n function cleanElems() {\n if (afterInit) {\n delete mStyle.style;\n delete mStyle.modElem;\n }\n }\n\n propsLength = props.length;\n for (i = 0; i < propsLength; i++) {\n prop = props[i];\n before = mStyle.style[prop];\n\n if (contains(prop, '-')) {\n prop = cssToDOM(prop);\n }\n\n if (mStyle.style[prop] !== undefined) {\n\n // If value to test has been passed in, do a set-and-check test.\n // 0 (integer) is a valid property value, so check that `value` isn't\n // undefined, rather than just checking it's truthy.\n if (!skipValueTest && !is(value, 'undefined')) {\n\n // Needs a try catch block because of old IE. This is slow, but will\n // be avoided in most cases because `skipValueTest` will be used.\n try {\n mStyle.style[prop] = value;\n } catch (e) {}\n\n // If the property value has changed, we assume the value used is\n // supported. If `value` is empty string, it'll fail here (because\n // it hasn't changed), which matches how browsers have implemented\n // CSS.supports()\n if (mStyle.style[prop] != before) {\n cleanElems();\n return prefixed == 'pfx' ? prop : true;\n }\n }\n // Otherwise just return true, or the property name if this is a\n // `prefixed()` call\n else {\n cleanElems();\n return prefixed == 'pfx' ? prop : true;\n }\n }\n }\n cleanElems();\n return false;\n }\n\n ;\n\n /**\n * List of JavaScript DOM values used for tests\n *\n * @memberof Modernizr\n * @name Modernizr._domPrefixes\n * @optionName Modernizr._domPrefixes\n * @optionProp domPrefixes\n * @access public\n * @example\n *\n * Modernizr._domPrefixes is exactly the same as [_prefixes](#modernizr-_prefixes), but rather\n * than kebab-case properties, all properties are their Capitalized variant\n *\n * ```js\n * Modernizr._domPrefixes === [ \"Moz\", \"O\", \"ms\", \"Webkit\" ];\n * ```\n */\n\n var domPrefixes = (ModernizrProto._config.usePrefixes ? omPrefixes.toLowerCase().split(' ') : []);\n ModernizrProto._domPrefixes = domPrefixes;\n \n\n /**\n * fnBind is a super small [bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind) polyfill.\n *\n * @access private\n * @function fnBind\n * @param {function} fn - a function you want to change `this` reference to\n * @param {object} that - the `this` you want to call the function with\n * @returns {function} The wrapped version of the supplied function\n */\n\n function fnBind(fn, that) {\n return function() {\n return fn.apply(that, arguments);\n };\n }\n\n ;\n\n /**\n * testDOMProps is a generic DOM property test; if a browser supports\n * a certain property, it won't return undefined for it.\n *\n * @access private\n * @function testDOMProps\n * @param {array.} props - An array of properties to test for\n * @param {object} obj - An object or Element you want to use to test the parameters again\n * @param {boolean|object} elem - An Element to bind the property lookup again. Use `false` to prevent the check\n * @returns {false|*} returns false if the prop is unsupported, otherwise the value that is supported\n */\n function testDOMProps(props, obj, elem) {\n var item;\n\n for (var i in props) {\n if (props[i] in obj) {\n\n // return the property name as a string\n if (elem === false) {\n return props[i];\n }\n\n item = obj[props[i]];\n\n // let's bind a function\n if (is(item, 'function')) {\n // bind to obj unless overriden\n return fnBind(item, elem || obj);\n }\n\n // return the unbound function or obj or value\n return item;\n }\n }\n return false;\n }\n\n ;\n\n /**\n * testPropsAll tests a list of DOM properties we want to check against.\n * We specify literally ALL possible (known and/or likely) properties on\n * the element including the non-vendor prefixed one, for forward-\n * compatibility.\n *\n * @access private\n * @function testPropsAll\n * @param {string} prop - A string of the property to test for\n * @param {string|object} [prefixed] - An object to check the prefixed properties on. Use a string to skip\n * @param {HTMLElement|SVGElement} [elem] - An element used to test the property and value against\n * @param {string} [value] - A string of a css value\n * @param {boolean} [skipValueTest] - An boolean representing if you want to test if value sticks when set\n * @returns {false|string} returns the string version of the property, or false if it is unsupported\n */\n function testPropsAll(prop, prefixed, elem, value, skipValueTest) {\n\n var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),\n props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');\n\n // did they call .prefixed('boxSizing') or are we just testing a prop?\n if (is(prefixed, 'string') || is(prefixed, 'undefined')) {\n return testProps(props, prefixed, value, skipValueTest);\n\n // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])\n } else {\n props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');\n return testDOMProps(props, prefixed, elem);\n }\n }\n\n // Modernizr.testAllProps() investigates whether a given style property,\n // or any of its vendor-prefixed variants, is recognized\n //\n // Note that the property names must be provided in the camelCase variant.\n // Modernizr.testAllProps('boxSizing')\n ModernizrProto.testAllProps = testPropsAll;\n\n \n\n /**\n * testAllProps determines whether a given CSS property is supported in the browser\n *\n * @memberof Modernizr\n * @name Modernizr.testAllProps\n * @optionName Modernizr.testAllProps()\n * @optionProp testAllProps\n * @access public\n * @function testAllProps\n * @param {string} prop - String naming the property to test (either camelCase or kebab-case)\n * @param {string} [value] - String of the value to test\n * @param {boolean} [skipValueTest=false] - Whether to skip testing that the value is supported when using non-native detection\n * @example\n *\n * testAllProps determines whether a given CSS property, in some prefixed form,\n * is supported by the browser.\n *\n * ```js\n * testAllProps('boxSizing') // true\n * ```\n *\n * It can optionally be given a CSS value in string form to test if a property\n * value is valid\n *\n * ```js\n * testAllProps('display', 'block') // true\n * testAllProps('display', 'penguin') // false\n * ```\n *\n * A boolean can be passed as a third parameter to skip the value check when\n * native detection (@supports) isn't available.\n *\n * ```js\n * testAllProps('shapeOutside', 'content-box', true);\n * ```\n */\n\n function testAllProps(prop, value, skipValueTest) {\n return testPropsAll(prop, undefined, undefined, value, skipValueTest);\n }\n ModernizrProto.testAllProps = testAllProps;\n \n/*!\n{\n \"name\": \"CSS Grid (old & new)\",\n \"property\": [\"cssgrid\", \"cssgridlegacy\"],\n \"authors\": [\"Faruk Ates\"],\n \"tags\": [\"css\"],\n \"notes\": [{\n \"name\": \"The new, standardized CSS Grid\",\n \"href\": \"https://www.w3.org/TR/css3-grid-layout/\"\n }, {\n \"name\": \"The _old_ CSS Grid (legacy)\",\n \"href\": \"https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/\"\n }]\n}\n!*/\n\n // `grid-columns` is only in the old syntax, `grid-column` exists in both and so `grid-template-rows` is used for the new syntax.\n Modernizr.addTest('cssgridlegacy', testAllProps('grid-columns', '10px', true));\n Modernizr.addTest('cssgrid', testAllProps('grid-template-rows', 'none', true));\n\n/*!\n{\n \"name\": \"Flexbox\",\n \"property\": \"flexbox\",\n \"caniuse\": \"flexbox\",\n \"tags\": [\"css\"],\n \"notes\": [{\n \"name\": \"The _new_ flexbox\",\n \"href\": \"http://dev.w3.org/csswg/css3-flexbox\"\n }],\n \"warnings\": [\n \"A `true` result for this detect does not imply that the `flex-wrap` property is supported; see the `flexwrap` detect.\"\n ]\n}\n!*/\n/* DOC\nDetects support for the Flexible Box Layout model, a.k.a. Flexbox, which allows easy manipulation of layout order and sizing within a container.\n*/\n\n Modernizr.addTest('flexbox', testAllProps('flexBasis', '1px', true));\n\n\n /**\n * Modernizr.mq tests a given media query, live against the current state of the window\n * adapted from matchMedia polyfill by Scott Jehl and Paul Irish\n * gist.github.com/786768\n *\n * @memberof Modernizr\n * @name Modernizr.mq\n * @optionName Modernizr.mq()\n * @optionProp mq\n * @access public\n * @function mq\n * @param {string} mq - String of the media query we want to test\n * @returns {boolean}\n * @example\n * Modernizr.mq allows for you to programmatically check if the current browser\n * window state matches a media query.\n *\n * ```js\n * var query = Modernizr.mq('(min-width: 900px)');\n *\n * if (query) {\n * // the browser window is larger than 900px\n * }\n * ```\n *\n * Only valid media queries are supported, therefore you must always include values\n * with your media query\n *\n * ```js\n * // good\n * Modernizr.mq('(min-width: 900px)');\n *\n * // bad\n * Modernizr.mq('min-width');\n * ```\n *\n * If you would just like to test that media queries are supported in general, use\n *\n * ```js\n * Modernizr.mq('only all'); // true if MQ are supported, false if not\n * ```\n *\n *\n * Note that if the browser does not support media queries (e.g. old IE) mq will\n * always return false.\n */\n\n var mq = (function() {\n var matchMedia = window.matchMedia || window.msMatchMedia;\n if (matchMedia) {\n return function(mq) {\n var mql = matchMedia(mq);\n return mql && mql.matches || false;\n };\n }\n\n return function(mq) {\n var bool = false;\n\n injectElementWithStyles('@media ' + mq + ' { #modernizr { position: absolute; } }', function(node) {\n bool = (window.getComputedStyle ?\n window.getComputedStyle(node, null) :\n node.currentStyle).position == 'absolute';\n });\n\n return bool;\n };\n })();\n\n\n ModernizrProto.mq = mq;\n\n \n/*!\n{\n \"name\": \"CSS Media Queries\",\n \"caniuse\": \"css-mediaqueries\",\n \"property\": \"mediaqueries\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_mediaqueries\"]\n}\n!*/\n\n Modernizr.addTest('mediaqueries', mq('only all'));\n\n/*!\n{\n \"name\": \"CSS Pointer Events\",\n \"caniuse\": \"pointer-events\",\n \"property\": \"csspointerevents\",\n \"authors\": [\"ausi\"],\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_pointerevents\"],\n \"notes\": [\n {\n \"name\": \"MDN Docs\",\n \"href\": \"https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events\"\n },{\n \"name\": \"Test Project Page\",\n \"href\": \"https://ausi.github.com/Feature-detection-technique-for-pointer-events/\"\n },{\n \"name\": \"Test Project Wiki\",\n \"href\": \"https://github.com/ausi/Feature-detection-technique-for-pointer-events/wiki\"\n },\n {\n \"name\": \"Related Github Issue\",\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/80\"\n }\n ]\n}\n!*/\n\n Modernizr.addTest('csspointerevents', function() {\n var style = createElement('a').style;\n style.cssText = 'pointer-events:auto';\n return style.pointerEvents === 'auto';\n });\n\n\n /**\n * testStyles injects an element with style element and some CSS rules\n *\n * @memberof Modernizr\n * @name Modernizr.testStyles\n * @optionName Modernizr.testStyles()\n * @optionProp testStyles\n * @access public\n * @function testStyles\n * @param {string} rule - String representing a css rule\n * @param {function} callback - A function that is used to test the injected element\n * @param {number} [nodes] - An integer representing the number of additional nodes you want injected\n * @param {string[]} [testnames] - An array of strings that are used as ids for the additional nodes\n * @returns {boolean}\n * @example\n *\n * `Modernizr.testStyles` takes a CSS rule and injects it onto the current page\n * along with (possibly multiple) DOM elements. This lets you check for features\n * that can not be detected by simply checking the [IDL](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Interface_development_guide/IDL_interface_rules).\n *\n * ```js\n * Modernizr.testStyles('#modernizr { width: 9px; color: papayawhip; }', function(elem, rule) {\n * // elem is the first DOM node in the page (by default #modernizr)\n * // rule is the first argument you supplied - the CSS rule in string form\n *\n * addTest('widthworks', elem.style.width === '9px')\n * });\n * ```\n *\n * If your test requires multiple nodes, you can include a third argument\n * indicating how many additional div elements to include on the page. The\n * additional nodes are injected as children of the `elem` that is returned as\n * the first argument to the callback.\n *\n * ```js\n * Modernizr.testStyles('#modernizr {width: 1px}; #modernizr2 {width: 2px}', function(elem) {\n * document.getElementById('modernizr').style.width === '1px'; // true\n * document.getElementById('modernizr2').style.width === '2px'; // true\n * elem.firstChild === document.getElementById('modernizr2'); // true\n * }, 1);\n * ```\n *\n * By default, all of the additional elements have an ID of `modernizr[n]`, where\n * `n` is its index (e.g. the first additional, second overall is `#modernizr2`,\n * the second additional is `#modernizr3`, etc.).\n * If you want to have more meaningful IDs for your function, you can provide\n * them as the fourth argument, as an array of strings\n *\n * ```js\n * Modernizr.testStyles('#foo {width: 10px}; #bar {height: 20px}', function(elem) {\n * elem.firstChild === document.getElementById('foo'); // true\n * elem.lastChild === document.getElementById('bar'); // true\n * }, 2, ['foo', 'bar']);\n * ```\n *\n */\n\n var testStyles = ModernizrProto.testStyles = injectElementWithStyles;\n \n/*!\n{\n \"name\": \"CSS vh unit\",\n \"property\": \"cssvhunit\",\n \"caniuse\": \"viewport-units\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_vhunit\"],\n \"notes\": [{\n \"name\": \"Related Modernizr Issue\",\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/572\"\n },{\n \"name\": \"Similar JSFiddle\",\n \"href\": \"https://jsfiddle.net/FWeinb/etnYC/\"\n }]\n}\n!*/\n\n testStyles('#modernizr { height: 50vh; }', function(elem) {\n var height = parseInt(window.innerHeight / 2, 10);\n var compStyle = parseInt(computedStyle(elem, null, 'height'), 10);\n Modernizr.addTest('cssvhunit', compStyle == height);\n });\n\n/*!\n{\n \"name\": \"CSS vw unit\",\n \"property\": \"cssvwunit\",\n \"caniuse\": \"viewport-units\",\n \"tags\": [\"css\"],\n \"builderAliases\": [\"css_vwunit\"],\n \"notes\": [{\n \"name\": \"Related Modernizr Issue\",\n \"href\": \"https://github.com/Modernizr/Modernizr/issues/572\"\n },{\n \"name\": \"JSFiddle Example\",\n \"href\": \"https://jsfiddle.net/FWeinb/etnYC/\"\n }]\n}\n!*/\n\n testStyles('#modernizr { width: 50vw; }', function(elem) {\n var width = parseInt(window.innerWidth / 2, 10);\n var compStyle = parseInt(computedStyle(elem, null, 'width'), 10);\n\n Modernizr.addTest('cssvwunit', compStyle == width);\n });\n\n/*!\n{\n \"name\": \"SVG\",\n \"property\": \"svg\",\n \"caniuse\": \"svg\",\n \"tags\": [\"svg\"],\n \"authors\": [\"Erik Dahlstrom\"],\n \"polyfills\": [\n \"svgweb\",\n \"raphael\",\n \"amplesdk\",\n \"canvg\",\n \"svg-boilerplate\",\n \"sie\",\n \"dojogfx\",\n \"fabricjs\"\n ]\n}\n!*/\n/* DOC\nDetects support for SVG in `` or `` elements.\n*/\n\n Modernizr.addTest('svg', !!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect);\n\n/*!\n{\n \"name\": \"Touch Events\",\n \"property\": \"touchevents\",\n \"caniuse\" : \"touch\",\n \"tags\": [\"media\", \"attribute\"],\n \"notes\": [{\n \"name\": \"Touch Events spec\",\n \"href\": \"https://www.w3.org/TR/2013/WD-touch-events-20130124/\"\n }],\n \"warnings\": [\n \"Indicates if the browser supports the Touch Events spec, and does not necessarily reflect a touchscreen device\"\n ],\n \"knownBugs\": [\n \"False-positive on some configurations of Nokia N900\",\n \"False-positive on some BlackBerry 6.0 builds – https://github.com/Modernizr/Modernizr/issues/372#issuecomment-3112695\"\n ]\n}\n!*/\n/* DOC\nIndicates if the browser supports the W3C Touch Events API.\n\nThis *does not* necessarily reflect a touchscreen device:\n\n* Older touchscreen devices only emulate mouse events\n* Modern IE touch devices implement the Pointer Events API instead: use `Modernizr.pointerevents` to detect support for that\n* Some browsers & OS setups may enable touch APIs when no touchscreen is connected\n* Future browsers may implement other event models for touch interactions\n\nSee this article: [You Can't Detect A Touchscreen](http://www.stucox.com/blog/you-cant-detect-a-touchscreen/).\n\nIt's recommended to bind both mouse and touch/pointer events simultaneously – see [this HTML5 Rocks tutorial](http://www.html5rocks.com/en/mobile/touchandmouse/).\n\nThis test will also return `true` for Firefox 4 Multitouch support.\n*/\n\n // Chrome (desktop) used to lie about its support on this, but that has since been rectified: http://crbug.com/36415\n Modernizr.addTest('touchevents', function() {\n var bool;\n if (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\n bool = true;\n } else {\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n var query = ['@media (', prefixes.join('touch-enabled),('), 'heartz', ')', '{#modernizr{top:9px;position:absolute}}'].join('');\n testStyles(query, function(node) {\n bool = node.offsetTop === 9;\n });\n }\n return bool;\n });\n\n\n // Run each test\n testRunner();\n\n // Remove the \"no-js\" class if it exists\n setClasses(classes);\n\n delete ModernizrProto.addTest;\n delete ModernizrProto.addAsyncTest;\n\n // Run the things that are supposed to run after the tests\n for (var i = 0; i < Modernizr._q.length; i++) {\n Modernizr._q[i]();\n }\n\n // Leak Modernizr namespace\n window.Modernizr = Modernizr;\n\n\n;\n\n})(window, document);","// Google maps\n// API KEY: AIzaSyCK60A5Dn1PimGjbDRoGOiXmslYUCC-u9I\n\n// Draw google maps\nfunction drawMaps(location, map) {\n return new google.maps.Map(map, {\n center: location,\n zoom: getZoomFactor(),\n zoomControl: true,\n disableDoubleClickZoom: true,\n mapTypeControl: false,\n scaleControl: false,\n scrollwheel: false,\n panControl: false,\n streetViewControl: false,\n draggable : false,\n overviewMapControl: true,\n overviewMapControlOptions: {\n opened: true,\n },\n mapTypeId: google.maps.MapTypeId.ROADMAP,\n styles: [ { 'featureType': 'landscape', 'elementType': 'labels', 'stylers': [ { 'visibility': 'off' } ] },{ 'featureType': 'transit', 'elementType': 'labels', 'stylers': [ { 'visibility': 'off' } ] },{ 'featureType': 'poi', 'elementType': 'labels', 'stylers': [ { 'visibility': 'off' } ] },{ 'featureType': 'water', 'elementType': 'labels', 'stylers': [ { 'visibility': 'off' } ] },{ 'featureType': 'road', 'elementType': 'labels.icon', 'stylers': [ { 'visibility': 'off' } ] },{ 'stylers': [ { 'hue': '#00aaff' }, { 'saturation': -100 }, { 'gamma': 2.15 }, { 'lightness': 12 } ] },{ 'featureType': 'road', 'elementType': 'labels.text.fill', 'stylers': [ { 'visibility': 'on' }, { 'lightness': 24 } ] },{ 'featureType': 'road', 'elementType': 'geometry', 'stylers': [ { 'lightness': 57 } ] } ]\n });\n}\n\n// Draw all marker locations\nfunction drawMarkerLocations(locations, map) {\n for (var location in locations) {\n var marker = new google.maps.Marker({\n icon: locations[location].marker,\n position: new google.maps.LatLng(locations[location].lat, locations[location].long),\n map: map\n });\n locations[location].markerObject = marker;\n bindInfoWindow(marker, map, locations[location], locations);\n }\n}\n\n// Draw all radius locations\nfunction drawRadiusLocations(locations, map) {\n for (var location in locations) {\n var cityCircle = new google.maps.Circle({\n strokeColor: '#00945E',\n strokeOpacity: 0.15,\n strokeWeight: 1,\n fillColor: '#00945E',\n fillOpacity: .10,\n map: map,\n center: locations[location].center,\n radius: locations[location].radius\n });\n }\n}\n\n// Bind info windows to markers\nfunction bindInfoWindow(marker, map, location, locations) {\n var infoWindowVisible = (function() {\n var currentlyVisible = false;\n return function(visible) {\n if (visible !== undefined) {\n currentlyVisible = visible;\n }\n return currentlyVisible;\n };\n }());\n\n var iw = new google.maps.InfoWindow();\n google.maps.event.addListener(marker, 'click', function() {\n if (infoWindowVisible()) {\n } else {\n for (var locationName in locations) {\n locations[locationName].markerObject.setIcon(locations[locationName].marker);\n }\n marker.setIcon(location.markerActive);\n document.querySelector('.google-maps__window').classList.add('google-maps__window--active');\n document.querySelector(\"#google-maps__location-title\").innerHTML = location.title;\n document.querySelector(\"#google-maps__location-address\").innerHTML = location.address + '
' + location.phone + '
' + location.email;\n }\n });\n\n google.maps.event.addListener(iw, 'closeclick', function() {\n infoWindowVisible(false);\n });\n}\n\nfunction getZoomFactor() {\n var width = window.innerWidth;\n\n if (width < 600) {\n return 7;\n } else if (width < 1024) {\n return 7;\n }\n\n return 8;\n}\n","/**\n * Owl Carousel v2.2.0\n * Copyright 2013-2016 David Deutsch\n * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)\n */\n/**\n * Owl carousel\n * @version 2.1.6\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n * @todo Lazy Load Icon\n * @todo prevent animationend bubling\n * @todo itemsScaleUp\n * @todo Test Zepto\n * @todo stagePadding calculate wrong active classes\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates a carousel.\n * @class The Owl Carousel.\n * @public\n * @param {HTMLElement|jQuery} element - The element to create the carousel for.\n * @param {Object} [options] - The options\n */\n function Owl(element, options) {\n\n /**\n * Current settings for the carousel.\n * @public\n */\n this.settings = null;\n\n /**\n * Current options set by the caller including defaults.\n * @public\n */\n this.options = $.extend({}, Owl.Defaults, options);\n\n /**\n * Plugin element.\n * @public\n */\n this.$element = $(element);\n\n /**\n * Proxied event handlers.\n * @protected\n */\n this._handlers = {};\n\n /**\n * References to the running plugins of this carousel.\n * @protected\n */\n this._plugins = {};\n\n /**\n * Currently suppressed events to prevent them from beeing retriggered.\n * @protected\n */\n this._supress = {};\n\n /**\n * Absolute current position.\n * @protected\n */\n this._current = null;\n\n /**\n * Animation speed in milliseconds.\n * @protected\n */\n this._speed = null;\n\n /**\n * Coordinates of all items in pixel.\n * @todo The name of this member is missleading.\n * @protected\n */\n this._coordinates = [];\n\n /**\n * Current breakpoint.\n * @todo Real media queries would be nice.\n * @protected\n */\n this._breakpoint = null;\n\n /**\n * Current width of the plugin element.\n */\n this._width = null;\n\n /**\n * All real items.\n * @protected\n */\n this._items = [];\n\n /**\n * All cloned items.\n * @protected\n */\n this._clones = [];\n\n /**\n * Merge values of all items.\n * @todo Maybe this could be part of a plugin.\n * @protected\n */\n this._mergers = [];\n\n /**\n * Widths of all items.\n */\n this._widths = [];\n\n /**\n * Invalidated parts within the update process.\n * @protected\n */\n this._invalidated = {};\n\n /**\n * Ordered list of workers for the update process.\n * @protected\n */\n this._pipe = [];\n\n /**\n * Current state information for the drag operation.\n * @todo #261\n * @protected\n */\n this._drag = {\n time: null,\n target: null,\n pointer: null,\n stage: {\n start: null,\n current: null\n },\n direction: null\n };\n\n /**\n * Current state information and their tags.\n * @type {Object}\n * @protected\n */\n this._states = {\n current: {},\n tags: {\n 'initializing': [ 'busy' ],\n 'animating': [ 'busy' ],\n 'dragging': [ 'interacting' ]\n }\n };\n\n $.each([ 'onResize', 'onThrottledResize' ], $.proxy(function(i, handler) {\n this._handlers[handler] = $.proxy(this[handler], this);\n }, this));\n\n $.each(Owl.Plugins, $.proxy(function(key, plugin) {\n this._plugins[key.charAt(0).toLowerCase() + key.slice(1)]\n = new plugin(this);\n }, this));\n\n $.each(Owl.Workers, $.proxy(function(priority, worker) {\n this._pipe.push({\n 'filter': worker.filter,\n 'run': $.proxy(worker.run, this)\n });\n }, this));\n\n this.setup();\n this.initialize();\n }\n\n /**\n * Default options for the carousel.\n * @public\n */\n Owl.Defaults = {\n items: 3,\n loop: false,\n center: false,\n rewind: false,\n\n mouseDrag: true,\n touchDrag: true,\n pullDrag: true,\n freeDrag: false,\n\n margin: 0,\n stagePadding: 0,\n\n merge: false,\n mergeFit: true,\n autoWidth: false,\n\n startPosition: 0,\n rtl: false,\n\n smartSpeed: 250,\n fluidSpeed: false,\n dragEndSpeed: false,\n\n responsive: {},\n responsiveRefreshRate: 200,\n responsiveBaseElement: window,\n\n fallbackEasing: 'swing',\n\n info: false,\n\n nestedItemSelector: false,\n itemElement: 'div',\n stageElement: 'div',\n\n refreshClass: 'owl-refresh',\n loadedClass: 'owl-loaded',\n loadingClass: 'owl-loading',\n rtlClass: 'owl-rtl',\n responsiveClass: 'owl-responsive',\n dragClass: 'owl-drag',\n itemClass: 'owl-item',\n stageClass: 'owl-stage',\n stageOuterClass: 'owl-stage-outer',\n grabClass: 'owl-grab'\n };\n\n /**\n * Enumeration for width.\n * @public\n * @readonly\n * @enum {String}\n */\n Owl.Width = {\n Default: 'default',\n Inner: 'inner',\n Outer: 'outer'\n };\n\n /**\n * Enumeration for types.\n * @public\n * @readonly\n * @enum {String}\n */\n Owl.Type = {\n Event: 'event',\n State: 'state'\n };\n\n /**\n * Contains all registered plugins.\n * @public\n */\n Owl.Plugins = {};\n\n /**\n * List of workers involved in the update process.\n */\n Owl.Workers = [ {\n filter: [ 'width', 'settings' ],\n run: function() {\n this._width = this.$element.width();\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n cache.current = this._items && this._items[this.relative(this._current)];\n }\n }, {\n filter: [ 'items', 'settings' ],\n run: function() {\n this.$stage.children('.cloned').remove();\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n var margin = this.settings.margin || '',\n grid = !this.settings.autoWidth,\n rtl = this.settings.rtl,\n css = {\n 'width': 'auto',\n 'margin-left': rtl ? margin : '',\n 'margin-right': rtl ? '' : margin\n };\n\n !grid && this.$stage.children().css(css);\n\n cache.css = css;\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n var width = (this.width() / this.settings.items).toFixed(3) - this.settings.margin,\n merge = null,\n iterator = this._items.length,\n grid = !this.settings.autoWidth,\n widths = [];\n\n cache.items = {\n merge: false,\n width: width\n };\n\n while (iterator--) {\n merge = this._mergers[iterator];\n merge = this.settings.mergeFit && Math.min(merge, this.settings.items) || merge;\n\n cache.items.merge = merge > 1 || cache.items.merge;\n\n widths[iterator] = !grid ? this._items[iterator].width() : width * merge;\n }\n\n this._widths = widths;\n }\n }, {\n filter: [ 'items', 'settings' ],\n run: function() {\n var clones = [],\n items = this._items,\n settings = this.settings,\n // TODO: Should be computed from number of min width items in stage\n view = Math.max(settings.items * 2, 4),\n size = Math.ceil(items.length / 2) * 2,\n repeat = settings.loop && items.length ? settings.rewind ? view : Math.max(view, size) : 0,\n append = '',\n prepend = '';\n\n repeat /= 2;\n\n while (repeat--) {\n // Switch to only using appended clones\n clones.push(this.normalize(clones.length / 2, true));\n append = append + items[clones[clones.length - 1]][0].outerHTML;\n clones.push(this.normalize(items.length - 1 - (clones.length - 1) / 2, true));\n prepend = items[clones[clones.length - 1]][0].outerHTML + prepend;\n }\n\n this._clones = clones;\n\n $(append).addClass('cloned').appendTo(this.$stage);\n $(prepend).addClass('cloned').prependTo(this.$stage);\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function() {\n var rtl = this.settings.rtl ? 1 : -1,\n size = this._clones.length + this._items.length,\n iterator = -1,\n previous = 0,\n current = 0,\n coordinates = [];\n\n while (++iterator < size) {\n previous = coordinates[iterator - 1] || 0;\n current = this._widths[this.relative(iterator)] + this.settings.margin;\n coordinates.push(previous + current * rtl);\n }\n\n this._coordinates = coordinates;\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function() {\n var padding = this.settings.stagePadding,\n coordinates = this._coordinates,\n css = {\n 'width': Math.ceil(Math.abs(coordinates[coordinates.length - 1])) + padding * 2,\n 'padding-left': padding || '',\n 'padding-right': padding || ''\n };\n\n this.$stage.css(css);\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n var iterator = this._coordinates.length,\n grid = !this.settings.autoWidth,\n items = this.$stage.children();\n\n if (grid && cache.items.merge) {\n while (iterator--) {\n cache.css.width = this._widths[this.relative(iterator)];\n items.eq(iterator).css(cache.css);\n }\n } else if (grid) {\n cache.css.width = cache.items.width;\n items.css(cache.css);\n }\n }\n }, {\n filter: [ 'items' ],\n run: function() {\n this._coordinates.length < 1 && this.$stage.removeAttr('style');\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n cache.current = cache.current ? this.$stage.children().index(cache.current) : 0;\n cache.current = Math.max(this.minimum(), Math.min(this.maximum(), cache.current));\n this.reset(cache.current);\n }\n }, {\n filter: [ 'position' ],\n run: function() {\n this.animate(this.coordinates(this._current));\n }\n }, {\n filter: [ 'width', 'position', 'items', 'settings' ],\n run: function() {\n var rtl = this.settings.rtl ? 1 : -1,\n padding = this.settings.stagePadding * 2,\n begin = this.coordinates(this.current()) + padding,\n end = begin + this.width() * rtl,\n inner, outer, matches = [], i, n;\n\n for (i = 0, n = this._coordinates.length; i < n; i++) {\n inner = this._coordinates[i - 1] || 0;\n outer = Math.abs(this._coordinates[i]) + padding * rtl;\n\n if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\n || (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\n matches.push(i);\n }\n }\n\n this.$stage.children('.active').removeClass('active');\n this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass('active');\n\n if (this.settings.center) {\n this.$stage.children('.center').removeClass('center');\n this.$stage.children().eq(this.current()).addClass('center');\n }\n }\n } ];\n\n /**\n * Initializes the carousel.\n * @protected\n */\n Owl.prototype.initialize = function() {\n this.enter('initializing');\n this.trigger('initialize');\n\n this.$element.toggleClass(this.settings.rtlClass, this.settings.rtl);\n\n if (this.settings.autoWidth && !this.is('pre-loading')) {\n var imgs, nestedSelector, width;\n imgs = this.$element.find('img');\n nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\n width = this.$element.children(nestedSelector).width();\n\n if (imgs.length && width <= 0) {\n this.preloadAutoWidthImages(imgs);\n }\n }\n\n this.$element.addClass(this.options.loadingClass);\n\n // create stage\n this.$stage = $('<' + this.settings.stageElement + ' class=\"' + this.settings.stageClass + '\"/>')\n .wrap('
');\n\n // append stage\n this.$element.append(this.$stage.parent());\n\n // append content\n this.replace(this.$element.children().not(this.$stage.parent()));\n\n // check visibility\n if (this.$element.is(':visible')) {\n // update view\n this.refresh();\n } else {\n // invalidate width\n this.invalidate('width');\n }\n\n this.$element\n .removeClass(this.options.loadingClass)\n .addClass(this.options.loadedClass);\n\n // register event handlers\n this.registerEventHandlers();\n\n this.leave('initializing');\n this.trigger('initialized');\n };\n\n /**\n * Setups the current settings.\n * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\n * @todo Support for media queries by using `matchMedia` would be nice.\n * @public\n */\n Owl.prototype.setup = function() {\n var viewport = this.viewport(),\n overwrites = this.options.responsive,\n match = -1,\n settings = null;\n\n if (!overwrites) {\n settings = $.extend({}, this.options);\n } else {\n $.each(overwrites, function(breakpoint) {\n if (breakpoint <= viewport && breakpoint > match) {\n match = Number(breakpoint);\n }\n });\n\n settings = $.extend({}, this.options, overwrites[match]);\n if (typeof settings.stagePadding === 'function') {\n settings.stagePadding = settings.stagePadding();\n }\n delete settings.responsive;\n\n // responsive class\n if (settings.responsiveClass) {\n this.$element.attr('class',\n this.$element.attr('class').replace(new RegExp('(' + this.options.responsiveClass + '-)\\\\S+\\\\s', 'g'), '$1' + match)\n );\n }\n }\n\n this.trigger('change', { property: { name: 'settings', value: settings } });\n this._breakpoint = match;\n this.settings = settings;\n this.invalidate('settings');\n this.trigger('changed', { property: { name: 'settings', value: this.settings } });\n };\n\n /**\n * Updates option logic if necessery.\n * @protected\n */\n Owl.prototype.optionsLogic = function() {\n if (this.settings.autoWidth) {\n this.settings.stagePadding = false;\n this.settings.merge = false;\n }\n };\n\n /**\n * Prepares an item before add.\n * @todo Rename event parameter `content` to `item`.\n * @protected\n * @returns {jQuery|HTMLElement} - The item container.\n */\n Owl.prototype.prepare = function(item) {\n var event = this.trigger('prepare', { content: item });\n\n if (!event.data) {\n event.data = $('<' + this.settings.itemElement + '/>')\n .addClass(this.options.itemClass).append(item)\n }\n\n this.trigger('prepared', { content: event.data });\n\n return event.data;\n };\n\n /**\n * Updates the view.\n * @public\n */\n Owl.prototype.update = function() {\n var i = 0,\n n = this._pipe.length,\n filter = $.proxy(function(p) { return this[p] }, this._invalidated),\n cache = {};\n\n while (i < n) {\n if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\n this._pipe[i].run(cache);\n }\n i++;\n }\n\n this._invalidated = {};\n\n !this.is('valid') && this.enter('valid');\n };\n\n /**\n * Gets the width of the view.\n * @public\n * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\n * @returns {Number} - The width of the view in pixel.\n */\n Owl.prototype.width = function(dimension) {\n dimension = dimension || Owl.Width.Default;\n switch (dimension) {\n case Owl.Width.Inner:\n case Owl.Width.Outer:\n return this._width;\n default:\n return this._width - this.settings.stagePadding * 2 + this.settings.margin;\n }\n };\n\n /**\n * Refreshes the carousel primarily for adaptive purposes.\n * @public\n */\n Owl.prototype.refresh = function() {\n this.enter('refreshing');\n this.trigger('refresh');\n\n this.setup();\n\n this.optionsLogic();\n\n this.$element.addClass(this.options.refreshClass);\n\n this.update();\n\n this.$element.removeClass(this.options.refreshClass);\n\n this.leave('refreshing');\n this.trigger('refreshed');\n };\n\n /**\n * Checks window `resize` event.\n * @protected\n */\n Owl.prototype.onThrottledResize = function() {\n window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(this._handlers.onResize, this.settings.responsiveRefreshRate);\n };\n\n /**\n * Checks window `resize` event.\n * @protected\n */\n Owl.prototype.onResize = function() {\n if (!this._items.length) {\n return false;\n }\n\n if (this._width === this.$element.width()) {\n return false;\n }\n\n if (!this.$element.is(':visible')) {\n return false;\n }\n\n this.enter('resizing');\n\n if (this.trigger('resize').isDefaultPrevented()) {\n this.leave('resizing');\n return false;\n }\n\n this.invalidate('width');\n\n this.refresh();\n\n this.leave('resizing');\n this.trigger('resized');\n };\n\n /**\n * Registers event handlers.\n * @todo Check `msPointerEnabled`\n * @todo #261\n * @protected\n */\n Owl.prototype.registerEventHandlers = function() {\n if ($.support.transition) {\n this.$stage.on($.support.transition.end + '.owl.core', $.proxy(this.onTransitionEnd, this));\n }\n\n if (this.settings.responsive !== false) {\n this.on(window, 'resize', this._handlers.onThrottledResize);\n }\n\n if (this.settings.mouseDrag) {\n this.$element.addClass(this.options.dragClass);\n this.$stage.on('mousedown.owl.core', $.proxy(this.onDragStart, this));\n this.$stage.on('dragstart.owl.core selectstart.owl.core', function() { return false });\n }\n\n if (this.settings.touchDrag){\n this.$stage.on('touchstart.owl.core', $.proxy(this.onDragStart, this));\n this.$stage.on('touchcancel.owl.core', $.proxy(this.onDragEnd, this));\n }\n };\n\n /**\n * Handles `touchstart` and `mousedown` events.\n * @todo Horizontal swipe threshold as option\n * @todo #261\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onDragStart = function(event) {\n var stage = null;\n\n if (event.which === 3) {\n return;\n }\n\n if ($.support.transform) {\n stage = this.$stage.css('transform').replace(/.*\\(|\\)| /g, '').split(',');\n stage = {\n x: stage[stage.length === 16 ? 12 : 4],\n y: stage[stage.length === 16 ? 13 : 5]\n };\n } else {\n stage = this.$stage.position();\n stage = {\n x: this.settings.rtl ?\n stage.left + this.$stage.width() - this.width() + this.settings.margin :\n stage.left,\n y: stage.top\n };\n }\n\n if (this.is('animating')) {\n $.support.transform ? this.animate(stage.x) : this.$stage.stop()\n this.invalidate('position');\n }\n\n this.$element.toggleClass(this.options.grabClass, event.type === 'mousedown');\n\n this.speed(0);\n\n this._drag.time = new Date().getTime();\n this._drag.target = $(event.target);\n this._drag.stage.start = stage;\n this._drag.stage.current = stage;\n this._drag.pointer = this.pointer(event);\n\n $(document).on('mouseup.owl.core touchend.owl.core', $.proxy(this.onDragEnd, this));\n\n $(document).one('mousemove.owl.core touchmove.owl.core', $.proxy(function(event) {\n var delta = this.difference(this._drag.pointer, this.pointer(event));\n\n $(document).on('mousemove.owl.core touchmove.owl.core', $.proxy(this.onDragMove, this));\n\n if (Math.abs(delta.x) < Math.abs(delta.y) && this.is('valid')) {\n return;\n }\n\n event.preventDefault();\n\n this.enter('dragging');\n this.trigger('drag');\n }, this));\n };\n\n /**\n * Handles the `touchmove` and `mousemove` events.\n * @todo #261\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onDragMove = function(event) {\n var minimum = null,\n maximum = null,\n pull = null,\n delta = this.difference(this._drag.pointer, this.pointer(event)),\n stage = this.difference(this._drag.stage.start, delta);\n\n if (!this.is('dragging')) {\n return;\n }\n\n event.preventDefault();\n\n if (this.settings.loop) {\n minimum = this.coordinates(this.minimum());\n maximum = this.coordinates(this.maximum() + 1) - minimum;\n stage.x = (((stage.x - minimum) % maximum + maximum) % maximum) + minimum;\n } else {\n minimum = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\n maximum = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\n pull = this.settings.pullDrag ? -1 * delta.x / 5 : 0;\n stage.x = Math.max(Math.min(stage.x, minimum + pull), maximum + pull);\n }\n\n this._drag.stage.current = stage;\n\n this.animate(stage.x);\n };\n\n /**\n * Handles the `touchend` and `mouseup` events.\n * @todo #261\n * @todo Threshold for click event\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onDragEnd = function(event) {\n var delta = this.difference(this._drag.pointer, this.pointer(event)),\n stage = this._drag.stage.current,\n direction = delta.x > 0 ^ this.settings.rtl ? 'left' : 'right';\n\n $(document).off('.owl.core');\n\n this.$element.removeClass(this.options.grabClass);\n\n if (delta.x !== 0 && this.is('dragging') || !this.is('valid')) {\n this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\n this.current(this.closest(stage.x, delta.x !== 0 ? direction : this._drag.direction));\n this.invalidate('position');\n this.update();\n\n this._drag.direction = direction;\n\n if (Math.abs(delta.x) > 3 || new Date().getTime() - this._drag.time > 300) {\n this._drag.target.one('click.owl.core', function() { return false; });\n }\n }\n\n if (!this.is('dragging')) {\n return;\n }\n\n this.leave('dragging');\n this.trigger('dragged');\n };\n\n /**\n * Gets absolute position of the closest item for a coordinate.\n * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\n * @protected\n * @param {Number} coordinate - The coordinate in pixel.\n * @param {String} direction - The direction to check for the closest item. Ether `left` or `right`.\n * @return {Number} - The absolute position of the closest item.\n */\n Owl.prototype.closest = function(coordinate, direction) {\n var position = -1,\n pull = 30,\n width = this.width(),\n coordinates = this.coordinates();\n\n if (!this.settings.freeDrag) {\n // check closest item\n $.each(coordinates, $.proxy(function(index, value) {\n // on a left pull, check on current index\n if (direction === 'left' && coordinate > value - pull && coordinate < value + pull) {\n position = index;\n // on a right pull, check on previous index\n // to do so, subtract width from value and set position = index + 1\n } else if (direction === 'right' && coordinate > value - width - pull && coordinate < value - width + pull) {\n position = index + 1;\n } else if (this.op(coordinate, '<', value)\n && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\n position = direction === 'left' ? index + 1 : index;\n }\n return position === -1;\n }, this));\n }\n\n if (!this.settings.loop) {\n // non loop boundries\n if (this.op(coordinate, '>', coordinates[this.minimum()])) {\n position = coordinate = this.minimum();\n } else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\n position = coordinate = this.maximum();\n }\n }\n\n return position;\n };\n\n /**\n * Animates the stage.\n * @todo #270\n * @public\n * @param {Number} coordinate - The coordinate in pixels.\n */\n Owl.prototype.animate = function(coordinate) {\n var animate = this.speed() > 0;\n\n this.is('animating') && this.onTransitionEnd();\n\n if (animate) {\n this.enter('animating');\n this.trigger('translate');\n }\n\n if ($.support.transform3d && $.support.transition) {\n this.$stage.css({\n transform: 'translate3d(' + coordinate + 'px,0px,0px)',\n transition: (this.speed() / 1000) + 's'\n });\n } else if (animate) {\n this.$stage.animate({\n left: coordinate + 'px'\n }, this.speed(), this.settings.fallbackEasing, $.proxy(this.onTransitionEnd, this));\n } else {\n this.$stage.css({\n left: coordinate + 'px'\n });\n }\n };\n\n /**\n * Checks whether the carousel is in a specific state or not.\n * @param {String} state - The state to check.\n * @returns {Boolean} - The flag which indicates if the carousel is busy.\n */\n Owl.prototype.is = function(state) {\n return this._states.current[state] && this._states.current[state] > 0;\n };\n\n /**\n * Sets the absolute position of the current item.\n * @public\n * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\n * @returns {Number} - The absolute position of the current item.\n */\n Owl.prototype.current = function(position) {\n if (position === undefined) {\n return this._current;\n }\n\n if (this._items.length === 0) {\n return undefined;\n }\n\n position = this.normalize(position);\n\n if (this._current !== position) {\n var event = this.trigger('change', { property: { name: 'position', value: position } });\n\n if (event.data !== undefined) {\n position = this.normalize(event.data);\n }\n\n this._current = position;\n\n this.invalidate('position');\n\n this.trigger('changed', { property: { name: 'position', value: this._current } });\n }\n\n return this._current;\n };\n\n /**\n * Invalidates the given part of the update routine.\n * @param {String} [part] - The part to invalidate.\n * @returns {Array.} - The invalidated parts.\n */\n Owl.prototype.invalidate = function(part) {\n if ($.type(part) === 'string') {\n this._invalidated[part] = true;\n this.is('valid') && this.leave('valid');\n }\n return $.map(this._invalidated, function(v, i) { return i });\n };\n\n /**\n * Resets the absolute position of the current item.\n * @public\n * @param {Number} position - The absolute position of the new item.\n */\n Owl.prototype.reset = function(position) {\n position = this.normalize(position);\n\n if (position === undefined) {\n return;\n }\n\n this._speed = 0;\n this._current = position;\n\n this.suppress([ 'translate', 'translated' ]);\n\n this.animate(this.coordinates(position));\n\n this.release([ 'translate', 'translated' ]);\n };\n\n /**\n * Normalizes an absolute or a relative position of an item.\n * @public\n * @param {Number} position - The absolute or relative position to normalize.\n * @param {Boolean} [relative=false] - Whether the given position is relative or not.\n * @returns {Number} - The normalized position.\n */\n Owl.prototype.normalize = function(position, relative) {\n var n = this._items.length,\n m = relative ? 0 : this._clones.length;\n\n if (!this.isNumeric(position) || n < 1) {\n position = undefined;\n } else if (position < 0 || position >= n + m) {\n position = ((position - m / 2) % n + n) % n + m / 2;\n }\n\n return position;\n };\n\n /**\n * Converts an absolute position of an item into a relative one.\n * @public\n * @param {Number} position - The absolute position to convert.\n * @returns {Number} - The converted position.\n */\n Owl.prototype.relative = function(position) {\n position -= this._clones.length / 2;\n return this.normalize(position, true);\n };\n\n /**\n * Gets the maximum position for the current item.\n * @public\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n * @returns {Number}\n */\n Owl.prototype.maximum = function(relative) {\n var settings = this.settings,\n maximum = this._coordinates.length,\n iterator,\n reciprocalItemsWidth,\n elementWidth;\n\n if (settings.loop) {\n maximum = this._clones.length / 2 + this._items.length - 1;\n } else if (settings.autoWidth || settings.merge) {\n iterator = this._items.length;\n reciprocalItemsWidth = this._items[--iterator].width();\n elementWidth = this.$element.width();\n while (iterator--) {\n reciprocalItemsWidth += this._items[iterator].width() + this.settings.margin;\n if (reciprocalItemsWidth > elementWidth) {\n break;\n }\n }\n maximum = iterator + 1;\n } else if (settings.center) {\n maximum = this._items.length - 1;\n } else {\n maximum = this._items.length - settings.items;\n }\n\n if (relative) {\n maximum -= this._clones.length / 2;\n }\n\n return Math.max(maximum, 0);\n };\n\n /**\n * Gets the minimum position for the current item.\n * @public\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n * @returns {Number}\n */\n Owl.prototype.minimum = function(relative) {\n return relative ? 0 : this._clones.length / 2;\n };\n\n /**\n * Gets an item at the specified relative position.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n */\n Owl.prototype.items = function(position) {\n if (position === undefined) {\n return this._items.slice();\n }\n\n position = this.normalize(position, true);\n return this._items[position];\n };\n\n /**\n * Gets an item at the specified relative position.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n */\n Owl.prototype.mergers = function(position) {\n if (position === undefined) {\n return this._mergers.slice();\n }\n\n position = this.normalize(position, true);\n return this._mergers[position];\n };\n\n /**\n * Gets the absolute positions of clones for an item.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\n */\n Owl.prototype.clones = function(position) {\n var odd = this._clones.length / 2,\n even = odd + this._items.length,\n map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\n\n if (position === undefined) {\n return $.map(this._clones, function(v, i) { return map(i) });\n }\n\n return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\n };\n\n /**\n * Sets the current animation speed.\n * @public\n * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\n * @returns {Number} - The current animation speed in milliseconds.\n */\n Owl.prototype.speed = function(speed) {\n if (speed !== undefined) {\n this._speed = speed;\n }\n\n return this._speed;\n };\n\n /**\n * Gets the coordinate of an item.\n * @todo The name of this method is missleanding.\n * @public\n * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\n * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\n */\n Owl.prototype.coordinates = function(position) {\n var multiplier = 1,\n newPosition = position - 1,\n coordinate;\n\n if (position === undefined) {\n return $.map(this._coordinates, $.proxy(function(coordinate, index) {\n return this.coordinates(index);\n }, this));\n }\n\n if (this.settings.center) {\n if (this.settings.rtl) {\n multiplier = -1;\n newPosition = position + 1;\n }\n\n coordinate = this._coordinates[position];\n coordinate += (this.width() - coordinate + (this._coordinates[newPosition] || 0)) / 2 * multiplier;\n } else {\n coordinate = this._coordinates[newPosition] || 0;\n }\n\n coordinate = Math.ceil(coordinate);\n\n return coordinate;\n };\n\n /**\n * Calculates the speed for a translation.\n * @protected\n * @param {Number} from - The absolute position of the start item.\n * @param {Number} to - The absolute position of the target item.\n * @param {Number} [factor=undefined] - The time factor in milliseconds.\n * @returns {Number} - The time in milliseconds for the translation.\n */\n Owl.prototype.duration = function(from, to, factor) {\n if (factor === 0) {\n return 0;\n }\n\n return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\n };\n\n /**\n * Slides to the specified item.\n * @public\n * @param {Number} position - The position of the item.\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.to = function(position, speed) {\n var current = this.current(),\n revert = null,\n distance = position - this.relative(current),\n direction = (distance > 0) - (distance < 0),\n items = this._items.length,\n minimum = this.minimum(),\n maximum = this.maximum();\n\n if (this.settings.loop) {\n if (!this.settings.rewind && Math.abs(distance) > items / 2) {\n distance += direction * -1 * items;\n }\n\n position = current + distance;\n revert = ((position - minimum) % items + items) % items + minimum;\n\n if (revert !== position && revert - distance <= maximum && revert - distance > 0) {\n current = revert - distance;\n position = revert;\n this.reset(current);\n }\n } else if (this.settings.rewind) {\n maximum += 1;\n position = (position % maximum + maximum) % maximum;\n } else {\n position = Math.max(minimum, Math.min(maximum, position));\n }\n\n this.speed(this.duration(current, position, speed));\n this.current(position);\n\n if (this.$element.is(':visible')) {\n this.update();\n }\n };\n\n /**\n * Slides to the next item.\n * @public\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.next = function(speed) {\n speed = speed || false;\n this.to(this.relative(this.current()) + 1, speed);\n };\n\n /**\n * Slides to the previous item.\n * @public\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.prev = function(speed) {\n speed = speed || false;\n this.to(this.relative(this.current()) - 1, speed);\n };\n\n /**\n * Handles the end of an animation.\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onTransitionEnd = function(event) {\n\n // if css2 animation then event object is undefined\n if (event !== undefined) {\n event.stopPropagation();\n\n // Catch only owl-stage transitionEnd event\n if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\n return false;\n }\n }\n\n this.leave('animating');\n this.trigger('translated');\n };\n\n /**\n * Gets viewport width.\n * @protected\n * @return {Number} - The width in pixel.\n */\n Owl.prototype.viewport = function() {\n var width;\n if (this.options.responsiveBaseElement !== window) {\n width = $(this.options.responsiveBaseElement).width();\n } else if (window.innerWidth) {\n width = window.innerWidth;\n } else if (document.documentElement && document.documentElement.clientWidth) {\n width = document.documentElement.clientWidth;\n } else {\n throw 'Can not detect viewport width.';\n }\n return width;\n };\n\n /**\n * Replaces the current content.\n * @public\n * @param {HTMLElement|jQuery|String} content - The new content.\n */\n Owl.prototype.replace = function(content) {\n this.$stage.empty();\n this._items = [];\n\n if (content) {\n content = (content instanceof jQuery) ? content : $(content);\n }\n\n if (this.settings.nestedItemSelector) {\n content = content.find('.' + this.settings.nestedItemSelector);\n }\n\n content.filter(function() {\n return this.nodeType === 1;\n }).each($.proxy(function(index, item) {\n item = this.prepare(item);\n this.$stage.append(item);\n this._items.push(item);\n this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n }, this));\n\n this.reset(this.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\n\n this.invalidate('items');\n };\n\n /**\n * Adds an item.\n * @todo Use `item` instead of `content` for the event arguments.\n * @public\n * @param {HTMLElement|jQuery|String} content - The item content to add.\n * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\n */\n Owl.prototype.add = function(content, position) {\n var current = this.relative(this._current);\n\n position = position === undefined ? this._items.length : this.normalize(position, true);\n content = content instanceof jQuery ? content : $(content);\n\n this.trigger('add', { content: content, position: position });\n\n content = this.prepare(content);\n\n if (this._items.length === 0 || position === this._items.length) {\n this._items.length === 0 && this.$stage.append(content);\n this._items.length !== 0 && this._items[position - 1].after(content);\n this._items.push(content);\n this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n } else {\n this._items[position].before(content);\n this._items.splice(position, 0, content);\n this._mergers.splice(position, 0, content.find('[data-merge]').addBack('[data-merge]').attr('data-merge') * 1 || 1);\n }\n\n this._items[current] && this.reset(this._items[current].index());\n\n this.invalidate('items');\n\n this.trigger('added', { content: content, position: position });\n };\n\n /**\n * Removes an item by its position.\n * @todo Use `item` instead of `content` for the event arguments.\n * @public\n * @param {Number} position - The relative position of the item to remove.\n */\n Owl.prototype.remove = function(position) {\n position = this.normalize(position, true);\n\n if (position === undefined) {\n return;\n }\n\n this.trigger('remove', { content: this._items[position], position: position });\n\n this._items[position].remove();\n this._items.splice(position, 1);\n this._mergers.splice(position, 1);\n\n this.invalidate('items');\n\n this.trigger('removed', { content: null, position: position });\n };\n\n /**\n * Preloads images with auto width.\n * @todo Replace by a more generic approach\n * @protected\n */\n Owl.prototype.preloadAutoWidthImages = function(images) {\n images.each($.proxy(function(i, element) {\n this.enter('pre-loading');\n element = $(element);\n $(new Image()).one('load', $.proxy(function(e) {\n element.attr('src', e.target.src);\n element.css('opacity', 1);\n this.leave('pre-loading');\n !this.is('pre-loading') && !this.is('initializing') && this.refresh();\n }, this)).attr('src', element.attr('src') || element.attr('data-src') || element.attr('data-src-retina'));\n }, this));\n };\n\n /**\n * Destroys the carousel.\n * @public\n */\n Owl.prototype.destroy = function() {\n\n this.$element.off('.owl.core');\n this.$stage.off('.owl.core');\n $(document).off('.owl.core');\n\n if (this.settings.responsive !== false) {\n window.clearTimeout(this.resizeTimer);\n this.off(window, 'resize', this._handlers.onThrottledResize);\n }\n\n for (var i in this._plugins) {\n this._plugins[i].destroy();\n }\n\n this.$stage.children('.cloned').remove();\n\n this.$stage.unwrap();\n this.$stage.children().contents().unwrap();\n this.$stage.children().unwrap();\n\n this.$element\n .removeClass(this.options.refreshClass)\n .removeClass(this.options.loadingClass)\n .removeClass(this.options.loadedClass)\n .removeClass(this.options.rtlClass)\n .removeClass(this.options.dragClass)\n .removeClass(this.options.grabClass)\n .attr('class', this.$element.attr('class').replace(new RegExp(this.options.responsiveClass + '-\\\\S+\\\\s', 'g'), ''))\n .removeData('owl.carousel');\n };\n\n /**\n * Operators to calculate right-to-left and left-to-right.\n * @protected\n * @param {Number} [a] - The left side operand.\n * @param {String} [o] - The operator.\n * @param {Number} [b] - The right side operand.\n */\n Owl.prototype.op = function(a, o, b) {\n var rtl = this.settings.rtl;\n switch (o) {\n case '<':\n return rtl ? a > b : a < b;\n case '>':\n return rtl ? a < b : a > b;\n case '>=':\n return rtl ? a <= b : a >= b;\n case '<=':\n return rtl ? a >= b : a <= b;\n default:\n break;\n }\n };\n\n /**\n * Attaches to an internal event.\n * @protected\n * @param {HTMLElement} element - The event source.\n * @param {String} event - The event name.\n * @param {Function} listener - The event handler to attach.\n * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\n */\n Owl.prototype.on = function(element, event, listener, capture) {\n if (element.addEventListener) {\n element.addEventListener(event, listener, capture);\n } else if (element.attachEvent) {\n element.attachEvent('on' + event, listener);\n }\n };\n\n /**\n * Detaches from an internal event.\n * @protected\n * @param {HTMLElement} element - The event source.\n * @param {String} event - The event name.\n * @param {Function} listener - The attached event handler to detach.\n * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\n */\n Owl.prototype.off = function(element, event, listener, capture) {\n if (element.removeEventListener) {\n element.removeEventListener(event, listener, capture);\n } else if (element.detachEvent) {\n element.detachEvent('on' + event, listener);\n }\n };\n\n /**\n * Triggers a public event.\n * @todo Remove `status`, `relatedTarget` should be used instead.\n * @protected\n * @param {String} name - The event name.\n * @param {*} [data=null] - The event data.\n * @param {String} [namespace=carousel] - The event namespace.\n * @param {String} [state] - The state which is associated with the event.\n * @param {Boolean} [enter=false] - Indicates if the call enters the specified state or not.\n * @returns {Event} - The event arguments.\n */\n Owl.prototype.trigger = function(name, data, namespace, state, enter) {\n var status = {\n item: { count: this._items.length, index: this.current() }\n }, handler = $.camelCase(\n $.grep([ 'on', name, namespace ], function(v) { return v })\n .join('-').toLowerCase()\n ), event = $.Event(\n [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\n $.extend({ relatedTarget: this }, status, data)\n );\n\n if (!this._supress[name]) {\n $.each(this._plugins, function(name, plugin) {\n if (plugin.onTrigger) {\n plugin.onTrigger(event);\n }\n });\n\n this.register({ type: Owl.Type.Event, name: name });\n this.$element.trigger(event);\n\n if (this.settings && typeof this.settings[handler] === 'function') {\n this.settings[handler].call(this, event);\n }\n }\n\n return event;\n };\n\n /**\n * Enters a state.\n * @param name - The state name.\n */\n Owl.prototype.enter = function(name) {\n $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\n if (this._states.current[name] === undefined) {\n this._states.current[name] = 0;\n }\n\n this._states.current[name]++;\n }, this));\n };\n\n /**\n * Leaves a state.\n * @param name - The state name.\n */\n Owl.prototype.leave = function(name) {\n $.each([ name ].concat(this._states.tags[name] || []), $.proxy(function(i, name) {\n this._states.current[name]--;\n }, this));\n };\n\n /**\n * Registers an event or state.\n * @public\n * @param {Object} object - The event or state to register.\n */\n Owl.prototype.register = function(object) {\n if (object.type === Owl.Type.Event) {\n if (!$.event.special[object.name]) {\n $.event.special[object.name] = {};\n }\n\n if (!$.event.special[object.name].owl) {\n var _default = $.event.special[object.name]._default;\n $.event.special[object.name]._default = function(e) {\n if (_default && _default.apply && (!e.namespace || e.namespace.indexOf('owl') === -1)) {\n return _default.apply(this, arguments);\n }\n return e.namespace && e.namespace.indexOf('owl') > -1;\n };\n $.event.special[object.name].owl = true;\n }\n } else if (object.type === Owl.Type.State) {\n if (!this._states.tags[object.name]) {\n this._states.tags[object.name] = object.tags;\n } else {\n this._states.tags[object.name] = this._states.tags[object.name].concat(object.tags);\n }\n\n this._states.tags[object.name] = $.grep(this._states.tags[object.name], $.proxy(function(tag, i) {\n return $.inArray(tag, this._states.tags[object.name]) === i;\n }, this));\n }\n };\n\n /**\n * Suppresses events.\n * @protected\n * @param {Array.} events - The events to suppress.\n */\n Owl.prototype.suppress = function(events) {\n $.each(events, $.proxy(function(index, event) {\n this._supress[event] = true;\n }, this));\n };\n\n /**\n * Releases suppressed events.\n * @protected\n * @param {Array.} events - The events to release.\n */\n Owl.prototype.release = function(events) {\n $.each(events, $.proxy(function(index, event) {\n delete this._supress[event];\n }, this));\n };\n\n /**\n * Gets unified pointer coordinates from event.\n * @todo #261\n * @protected\n * @param {Event} - The `mousedown` or `touchstart` event.\n * @returns {Object} - Contains `x` and `y` coordinates of current pointer position.\n */\n Owl.prototype.pointer = function(event) {\n var result = { x: null, y: null };\n\n event = event.originalEvent || event || window.event;\n\n event = event.touches && event.touches.length ?\n event.touches[0] : event.changedTouches && event.changedTouches.length ?\n event.changedTouches[0] : event;\n\n if (event.pageX) {\n result.x = event.pageX;\n result.y = event.pageY;\n } else {\n result.x = event.clientX;\n result.y = event.clientY;\n }\n\n return result;\n };\n\n /**\n * Determines if the input is a Number or something that can be coerced to a Number\n * @protected\n * @param {Number|String|Object|Array|Boolean|RegExp|Function|Symbol} - The input to be tested\n * @returns {Boolean} - An indication if the input is a Number or can be coerced to a Number\n */\n Owl.prototype.isNumeric = function(number) {\n return !isNaN(parseFloat(number));\n };\n\n /**\n * Gets the difference of two vectors.\n * @todo #261\n * @protected\n * @param {Object} - The first vector.\n * @param {Object} - The second vector.\n * @returns {Object} - The difference.\n */\n Owl.prototype.difference = function(first, second) {\n return {\n x: first.x - second.x,\n y: first.y - second.y\n };\n };\n\n /**\n * The jQuery Plugin for the Owl Carousel\n * @todo Navigation plugin `next` and `prev`\n * @public\n */\n $.fn.owlCarousel = function(option) {\n var args = Array.prototype.slice.call(arguments, 1);\n\n return this.each(function() {\n var $this = $(this),\n data = $this.data('owl.carousel');\n\n if (!data) {\n data = new Owl(this, typeof option == 'object' && option);\n $this.data('owl.carousel', data);\n\n $.each([\n 'next', 'prev', 'to', 'destroy', 'refresh', 'replace', 'add', 'remove'\n ], function(i, event) {\n data.register({ type: Owl.Type.Event, name: event });\n data.$element.on(event + '.owl.carousel.core', $.proxy(function(e) {\n if (e.namespace && e.relatedTarget !== this) {\n this.suppress([ event ]);\n data[event].apply(this, [].slice.call(arguments, 1));\n this.release([ event ]);\n }\n }, data));\n });\n }\n\n if (typeof option == 'string' && option.charAt(0) !== '_') {\n data[option].apply(data, args);\n }\n });\n };\n\n /**\n * The constructor for the jQuery Plugin\n * @public\n */\n $.fn.owlCarousel.Constructor = Owl;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * AutoRefresh Plugin\n * @version 2.1.0\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the auto refresh plugin.\n * @class The Auto Refresh Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var AutoRefresh = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Refresh interval.\n * @protected\n * @type {number}\n */\n this._interval = null;\n\n /**\n * Whether the element is currently visible or not.\n * @protected\n * @type {Boolean}\n */\n this._visible = null;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.autoRefresh) {\n this.watch();\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);\n\n // register event handlers\n this._core.$element.on(this._handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n AutoRefresh.Defaults = {\n autoRefresh: true,\n autoRefreshInterval: 500\n };\n\n /**\n * Watches the element.\n */\n AutoRefresh.prototype.watch = function() {\n if (this._interval) {\n return;\n }\n\n this._visible = this._core.$element.is(':visible');\n this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);\n };\n\n /**\n * Refreshes the element.\n */\n AutoRefresh.prototype.refresh = function() {\n if (this._core.$element.is(':visible') === this._visible) {\n return;\n }\n\n this._visible = !this._visible;\n\n this._core.$element.toggleClass('owl-hidden', !this._visible);\n\n this._visible && (this._core.invalidate('width') && this._core.refresh());\n };\n\n /**\n * Destroys the plugin.\n */\n AutoRefresh.prototype.destroy = function() {\n var handler, property;\n\n window.clearInterval(this._interval);\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Lazy Plugin\n * @version 2.1.0\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the lazy plugin.\n * @class The Lazy Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Lazy = function(carousel) {\n\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Already loaded items.\n * @protected\n * @type {Array.}\n */\n this._loaded = [];\n\n /**\n * Event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel change.owl.carousel resized.owl.carousel': $.proxy(function(e) {\n if (!e.namespace) {\n return;\n }\n\n if (!this._core.settings || !this._core.settings.lazyLoad) {\n return;\n }\n\n if ((e.property && e.property.name == 'position') || e.type == 'initialized') {\n var settings = this._core.settings,\n n = (settings.center && Math.ceil(settings.items / 2) || settings.items),\n i = ((settings.center && n * -1) || 0),\n position = (e.property && e.property.value !== undefined ? e.property.value : this._core.current()) + i,\n clones = this._core.clones().length,\n load = $.proxy(function(i, v) { this.load(v) }, this);\n\n while (i++ < n) {\n this.load(clones / 2 + this._core.relative(position));\n clones && $.each(this._core.clones(this._core.relative(position)), load);\n position++;\n }\n }\n }, this)\n };\n\n // set the default options\n this._core.options = $.extend({}, Lazy.Defaults, this._core.options);\n\n // register event handler\n this._core.$element.on(this._handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n Lazy.Defaults = {\n lazyLoad: false\n };\n\n /**\n * Loads all resources of an item at the specified position.\n * @param {Number} position - The absolute position of the item.\n * @protected\n */\n Lazy.prototype.load = function(position) {\n var $item = this._core.$stage.children().eq(position),\n $elements = $item && $item.find('.owl-lazy');\n\n if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\n return;\n }\n\n $elements.each($.proxy(function(index, element) {\n var $element = $(element), image,\n url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\n\n this._core.trigger('load', { element: $element, url: url }, 'lazy');\n\n if ($element.is('img')) {\n $element.one('load.owl.lazy', $.proxy(function() {\n $element.css('opacity', 1);\n this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n }, this)).attr('src', url);\n } else {\n image = new Image();\n image.onload = $.proxy(function() {\n $element.css({\n 'background-image': 'url(' + url + ')',\n 'opacity': '1'\n });\n this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n }, this);\n image.src = url;\n }\n }, this));\n\n this._loaded.push($item.get(0));\n };\n\n /**\n * Destroys the plugin.\n * @public\n */\n Lazy.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this.handlers) {\n this._core.$element.off(handler, this.handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * AutoHeight Plugin\n * @version 2.1.0\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the auto height plugin.\n * @class The Auto Height Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var AutoHeight = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel refreshed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.autoHeight) {\n this.update();\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.autoHeight && e.property.name == 'position'){\n this.update();\n }\n }, this),\n 'loaded.owl.lazy': $.proxy(function(e) {\n if (e.namespace && this._core.settings.autoHeight\n && e.element.closest('.' + this._core.settings.itemClass).index() === this._core.current()) {\n this.update();\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\n\n // register event handlers\n this._core.$element.on(this._handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n AutoHeight.Defaults = {\n autoHeight: false,\n autoHeightClass: 'owl-height'\n };\n\n /**\n * Updates the view.\n */\n AutoHeight.prototype.update = function() {\n var start = this._core._current,\n end = start + this._core.settings.items,\n visible = this._core.$stage.children().toArray().slice(start, end),\n heights = [],\n maxheight = 0;\n\n $.each(visible, function(index, item) {\n heights.push($(item).height());\n });\n\n maxheight = Math.max.apply(null, heights);\n\n this._core.$stage.parent()\n .height(maxheight)\n .addClass(this._core.settings.autoHeightClass);\n };\n\n AutoHeight.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Video Plugin\n * @version 2.1.0\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the video plugin.\n * @class The Video Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Video = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Cache all video URLs.\n * @protected\n * @type {Object}\n */\n this._videos = {};\n\n /**\n * Current playing item.\n * @protected\n * @type {jQuery}\n */\n this._playing = null;\n\n /**\n * All event handlers.\n * @todo The cloned content removale is too late\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel': $.proxy(function(e) {\n if (e.namespace) {\n this._core.register({ type: 'state', name: 'playing', tags: [ 'interacting' ] });\n }\n }, this),\n 'resize.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.video && this.isInFullScreen()) {\n e.preventDefault();\n }\n }, this),\n 'refreshed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.is('resizing')) {\n this._core.$stage.find('.cloned .owl-video-frame').remove();\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && e.property.name === 'position' && this._playing) {\n this.stop();\n }\n }, this),\n 'prepared.owl.carousel': $.proxy(function(e) {\n if (!e.namespace) {\n return;\n }\n\n var $element = $(e.content).find('.owl-video');\n\n if ($element.length) {\n $element.css('display', 'none');\n this.fetch($element, $(e.content));\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Video.Defaults, this._core.options);\n\n // register event handlers\n this._core.$element.on(this._handlers);\n\n this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\n this.play(e);\n }, this));\n };\n\n /**\n * Default options.\n * @public\n */\n Video.Defaults = {\n video: false,\n videoHeight: false,\n videoWidth: false\n };\n\n /**\n * Gets the video ID and the type (YouTube/Vimeo/vzaar only).\n * @protected\n * @param {jQuery} target - The target containing the video data.\n * @param {jQuery} item - The item containing the video.\n */\n Video.prototype.fetch = function(target, item) {\n var type = (function() {\n if (target.attr('data-vimeo-id')) {\n return 'vimeo';\n } else if (target.attr('data-vzaar-id')) {\n return 'vzaar'\n } else {\n return 'youtube';\n }\n })(),\n id = target.attr('data-vimeo-id') || target.attr('data-youtube-id') || target.attr('data-vzaar-id'),\n width = target.attr('data-width') || this._core.settings.videoWidth,\n height = target.attr('data-height') || this._core.settings.videoHeight,\n url = target.attr('href');\n\n if (url) {\n\n /*\n Parses the id's out of the following urls (and probably more):\n https://www.youtube.com/watch?v=:id\n https://youtu.be/:id\n https://vimeo.com/:id\n https://vimeo.com/channels/:channel/:id\n https://vimeo.com/groups/:group/videos/:id\n https://app.vzaar.com/videos/:id\n\n Visual example: https://regexper.com/#(http%3A%7Chttps%3A%7C)%5C%2F%5C%2F(player.%7Cwww.%7Capp.)%3F(vimeo%5C.com%7Cyoutu(be%5C.com%7C%5C.be%7Cbe%5C.googleapis%5C.com)%7Cvzaar%5C.com)%5C%2F(video%5C%2F%7Cvideos%5C%2F%7Cembed%5C%2F%7Cchannels%5C%2F.%2B%5C%2F%7Cgroups%5C%2F.%2B%5C%2F%7Cwatch%5C%3Fv%3D%7Cv%5C%2F)%3F(%5BA-Za-z0-9._%25-%5D*)(%5C%26%5CS%2B)%3F\n */\n\n id = url.match(/(http:|https:|)\\/\\/(player.|www.|app.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com)|vzaar\\.com)\\/(video\\/|videos\\/|embed\\/|channels\\/.+\\/|groups\\/.+\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/);\n\n if (id[3].indexOf('youtu') > -1) {\n type = 'youtube';\n } else if (id[3].indexOf('vimeo') > -1) {\n type = 'vimeo';\n } else if (id[3].indexOf('vzaar') > -1) {\n type = 'vzaar';\n } else {\n throw new Error('Video URL not supported.');\n }\n id = id[6];\n } else {\n throw new Error('Missing video URL.');\n }\n\n this._videos[url] = {\n type: type,\n id: id,\n width: width,\n height: height\n };\n\n item.attr('data-video', url);\n\n this.thumbnail(target, this._videos[url]);\n };\n\n /**\n * Creates video thumbnail.\n * @protected\n * @param {jQuery} target - The target containing the video data.\n * @param {Object} info - The video info object.\n * @see `fetch`\n */\n Video.prototype.thumbnail = function(target, video) {\n var tnLink,\n icon,\n path,\n dimensions = video.width && video.height ? 'style=\"width:' + video.width + 'px;height:' + video.height + 'px;\"' : '',\n customTn = target.find('img'),\n srcType = 'src',\n lazyClass = '',\n settings = this._core.settings,\n create = function(path) {\n icon = '
';\n\n if (settings.lazyLoad) {\n tnLink = '
';\n } else {\n tnLink = '
';\n }\n target.after(tnLink);\n target.after(icon);\n };\n\n // wrap video content into owl-video-wrapper div\n target.wrap('
');\n\n if (this._core.settings.lazyLoad) {\n srcType = 'data-src';\n lazyClass = 'owl-lazy';\n }\n\n // custom thumbnail\n if (customTn.length) {\n create(customTn.attr(srcType));\n customTn.remove();\n return false;\n }\n\n if (video.type === 'youtube') {\n path = \"//img.youtube.com/vi/\" + video.id + \"/hqdefault.jpg\";\n create(path);\n } else if (video.type === 'vimeo') {\n $.ajax({\n type: 'GET',\n url: '//vimeo.com/api/v2/video/' + video.id + '.json',\n jsonp: 'callback',\n dataType: 'jsonp',\n success: function(data) {\n path = data[0].thumbnail_large;\n create(path);\n }\n });\n } else if (video.type === 'vzaar') {\n $.ajax({\n type: 'GET',\n url: '//vzaar.com/api/videos/' + video.id + '.json',\n jsonp: 'callback',\n dataType: 'jsonp',\n success: function(data) {\n path = data.framegrab_url;\n create(path);\n }\n });\n }\n };\n\n /**\n * Stops the current video.\n * @public\n */\n Video.prototype.stop = function() {\n this._core.trigger('stop', null, 'video');\n this._playing.find('.owl-video-frame').remove();\n this._playing.removeClass('owl-video-playing');\n this._playing = null;\n this._core.leave('playing');\n this._core.trigger('stopped', null, 'video');\n };\n\n /**\n * Starts the current video.\n * @public\n * @param {Event} event - The event arguments.\n */\n Video.prototype.play = function(event) {\n var target = $(event.target),\n item = target.closest('.' + this._core.settings.itemClass),\n video = this._videos[item.attr('data-video')],\n width = video.width || '100%',\n height = video.height || this._core.$stage.height(),\n html;\n\n if (this._playing) {\n return;\n }\n\n this._core.enter('playing');\n this._core.trigger('play', null, 'video');\n\n item = this._core.items(this._core.relative(item.index()));\n\n this._core.reset(item.index());\n\n if (video.type === 'youtube') {\n html = '';\n } else if (video.type === 'vimeo') {\n html = '';\n } else if (video.type === 'vzaar') {\n html = '';\n }\n\n $('
' + html + '
').insertAfter(item.find('.owl-video'));\n\n this._playing = item.addClass('owl-video-playing');\n };\n\n /**\n * Checks whether an video is currently in full screen mode or not.\n * @todo Bad style because looks like a readonly method but changes members.\n * @protected\n * @returns {Boolean}\n */\n Video.prototype.isInFullScreen = function() {\n var element = document.fullscreenElement || document.mozFullScreenElement ||\n document.webkitFullscreenElement;\n\n return element && $(element).parent().hasClass('owl-video-frame');\n };\n\n /**\n * Destroys the plugin.\n */\n Video.prototype.destroy = function() {\n var handler, property;\n\n this._core.$element.off('click.owl.video');\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Video = Video;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Animate Plugin\n * @version 2.1.0\n * @author Bartosz Wojciechowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the animate plugin.\n * @class The Navigation Plugin\n * @param {Owl} scope - The Owl Carousel\n */\n var Animate = function(scope) {\n this.core = scope;\n this.core.options = $.extend({}, Animate.Defaults, this.core.options);\n this.swapping = true;\n this.previous = undefined;\n this.next = undefined;\n\n this.handlers = {\n 'change.owl.carousel': $.proxy(function(e) {\n if (e.namespace && e.property.name == 'position') {\n this.previous = this.core.current();\n this.next = e.property.value;\n }\n }, this),\n 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\n if (e.namespace) {\n this.swapping = e.type == 'translated';\n }\n }, this),\n 'translate.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\n this.swap();\n }\n }, this)\n };\n\n this.core.$element.on(this.handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n Animate.Defaults = {\n animateOut: false,\n animateIn: false\n };\n\n /**\n * Toggles the animation classes whenever an translations starts.\n * @protected\n * @returns {Boolean|undefined}\n */\n Animate.prototype.swap = function() {\n\n if (this.core.settings.items !== 1) {\n return;\n }\n\n if (!$.support.animation || !$.support.transition) {\n return;\n }\n\n this.core.speed(0);\n\n var left,\n clear = $.proxy(this.clear, this),\n previous = this.core.$stage.children().eq(this.previous),\n next = this.core.$stage.children().eq(this.next),\n incoming = this.core.settings.animateIn,\n outgoing = this.core.settings.animateOut;\n\n if (this.core.current() === this.previous) {\n return;\n }\n\n if (outgoing) {\n left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\n previous.one($.support.animation.end, clear)\n .css( { 'left': left + 'px' } )\n .addClass('animated owl-animated-out')\n .addClass(outgoing);\n }\n\n if (incoming) {\n next.one($.support.animation.end, clear)\n .addClass('animated owl-animated-in')\n .addClass(incoming);\n }\n };\n\n Animate.prototype.clear = function(e) {\n $(e.target).css( { 'left': '' } )\n .removeClass('animated owl-animated-out owl-animated-in')\n .removeClass(this.core.settings.animateIn)\n .removeClass(this.core.settings.animateOut);\n this.core.onTransitionEnd();\n };\n\n /**\n * Destroys the plugin.\n * @public\n */\n Animate.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this.handlers) {\n this.core.$element.off(handler, this.handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Autoplay Plugin\n * @version 2.1.0\n * @author Bartosz Wojciechowski\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the autoplay plugin.\n * @class The Autoplay Plugin\n * @param {Owl} scope - The Owl Carousel\n */\n var Autoplay = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * The autoplay timeout.\n * @type {Timeout}\n */\n this._timeout = null;\n\n /**\n * Indicates whenever the autoplay is paused.\n * @type {Boolean}\n */\n this._paused = false;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && e.property.name === 'settings') {\n if (this._core.settings.autoplay) {\n this.play();\n } else {\n this.stop();\n }\n } else if (e.namespace && e.property.name === 'position') {\n //console.log('play?', e);\n if (this._core.settings.autoplay) {\n this._setAutoPlayInterval();\n }\n }\n }, this),\n 'initialized.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.autoplay) {\n this.play();\n }\n }, this),\n 'play.owl.autoplay': $.proxy(function(e, t, s) {\n if (e.namespace) {\n this.play(t, s);\n }\n }, this),\n 'stop.owl.autoplay': $.proxy(function(e) {\n if (e.namespace) {\n this.stop();\n }\n }, this),\n 'mouseover.owl.autoplay': $.proxy(function() {\n if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n this.pause();\n }\n }, this),\n 'mouseleave.owl.autoplay': $.proxy(function() {\n if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n this.play();\n }\n }, this),\n 'touchstart.owl.core': $.proxy(function() {\n if (this._core.settings.autoplayHoverPause && this._core.is('rotating')) {\n this.pause();\n }\n }, this),\n 'touchend.owl.core': $.proxy(function() {\n if (this._core.settings.autoplayHoverPause) {\n this.play();\n }\n }, this)\n };\n\n // register event handlers\n this._core.$element.on(this._handlers);\n\n // set default options\n this._core.options = $.extend({}, Autoplay.Defaults, this._core.options);\n };\n\n /**\n * Default options.\n * @public\n */\n Autoplay.Defaults = {\n autoplay: false,\n autoplayTimeout: 5000,\n autoplayHoverPause: false,\n autoplaySpeed: false\n };\n\n /**\n * Starts the autoplay.\n * @public\n * @param {Number} [timeout] - The interval before the next animation starts.\n * @param {Number} [speed] - The animation speed for the animations.\n */\n Autoplay.prototype.play = function(timeout, speed) {\n this._paused = false;\n\n if (this._core.is('rotating')) {\n return;\n }\n\n this._core.enter('rotating');\n\n this._setAutoPlayInterval();\n };\n\n /**\n * Gets a new timeout\n * @private\n * @param {Number} [timeout] - The interval before the next animation starts.\n * @param {Number} [speed] - The animation speed for the animations.\n * @return {Timeout}\n */\n Autoplay.prototype._getNextTimeout = function(timeout, speed) {\n if ( this._timeout ) {\n window.clearTimeout(this._timeout);\n }\n return window.setTimeout($.proxy(function() {\n if (this._paused || this._core.is('busy') || this._core.is('interacting') || document.hidden) {\n return;\n }\n this._core.next(speed || this._core.settings.autoplaySpeed);\n }, this), timeout || this._core.settings.autoplayTimeout);\n };\n\n /**\n * Sets autoplay in motion.\n * @private\n */\n Autoplay.prototype._setAutoPlayInterval = function() {\n this._timeout = this._getNextTimeout();\n };\n\n /**\n * Stops the autoplay.\n * @public\n */\n Autoplay.prototype.stop = function() {\n if (!this._core.is('rotating')) {\n return;\n }\n\n window.clearTimeout(this._timeout);\n this._core.leave('rotating');\n };\n\n /**\n * Stops the autoplay.\n * @public\n */\n Autoplay.prototype.pause = function() {\n if (!this._core.is('rotating')) {\n return;\n }\n\n this._paused = true;\n };\n\n /**\n * Destroys the plugin.\n */\n Autoplay.prototype.destroy = function() {\n var handler, property;\n\n this.stop();\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Navigation Plugin\n * @version 2.1.0\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n 'use strict';\n\n /**\n * Creates the navigation plugin.\n * @class The Navigation Plugin\n * @param {Owl} carousel - The Owl Carousel.\n */\n var Navigation = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Indicates whether the plugin is initialized or not.\n * @protected\n * @type {Boolean}\n */\n this._initialized = false;\n\n /**\n * The current paging indexes.\n * @protected\n * @type {Array}\n */\n this._pages = [];\n\n /**\n * All DOM elements of the user interface.\n * @protected\n * @type {Object}\n */\n this._controls = {};\n\n /**\n * Markup for an indicator.\n * @protected\n * @type {Array.}\n */\n this._templates = [];\n\n /**\n * The carousel element.\n * @type {jQuery}\n */\n this.$element = this._core.$element;\n\n /**\n * Overridden methods of the carousel.\n * @protected\n * @type {Object}\n */\n this._overrides = {\n next: this._core.next,\n prev: this._core.prev,\n to: this._core.to\n };\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'prepared.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.dotsData) {\n this._templates.push('
' +\n $(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot') + '
');\n }\n }, this),\n 'added.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.dotsData) {\n this._templates.splice(e.position, 0, this._templates.pop());\n }\n }, this),\n 'remove.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.dotsData) {\n this._templates.splice(e.position, 1);\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && e.property.name == 'position') {\n this.draw();\n }\n }, this),\n 'initialized.owl.carousel': $.proxy(function(e) {\n if (e.namespace && !this._initialized) {\n this._core.trigger('initialize', null, 'navigation');\n this.initialize();\n this.update();\n this.draw();\n this._initialized = true;\n this._core.trigger('initialized', null, 'navigation');\n }\n }, this),\n 'refreshed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._initialized) {\n this._core.trigger('refresh', null, 'navigation');\n this.update();\n this.draw();\n this._core.trigger('refreshed', null, 'navigation');\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Navigation.Defaults, this._core.options);\n\n // register event handlers\n this.$element.on(this._handlers);\n };\n\n /**\n * Default options.\n * @public\n * @todo Rename `slideBy` to `navBy`\n */\n Navigation.Defaults = {\n nav: false,\n navText: [ 'prev', 'next' ],\n navSpeed: false,\n navElement: 'div',\n navContainer: false,\n navContainerClass: 'owl-nav',\n navClass: [ 'owl-prev', 'owl-next' ],\n slideBy: 1,\n dotClass: 'owl-dot',\n dotsClass: 'owl-dots',\n dots: true,\n dotsEach: false,\n dotsData: false,\n dotsSpeed: false,\n dotsContainer: false\n };\n\n /**\n * Initializes the layout of the plugin and extends the carousel.\n * @protected\n */\n Navigation.prototype.initialize = function() {\n var override,\n settings = this._core.settings;\n\n // create DOM structure for relative navigation\n this._controls.$relative = (settings.navContainer ? $(settings.navContainer)\n : $('
').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');\n\n this._controls.$previous = $('<' + settings.navElement + '>')\n .addClass(settings.navClass[0])\n .html(settings.navText[0])\n .prependTo(this._controls.$relative)\n .on('click', $.proxy(function(e) {\n this.prev(settings.navSpeed);\n }, this));\n this._controls.$next = $('<' + settings.navElement + '>')\n .addClass(settings.navClass[1])\n .html(settings.navText[1])\n .appendTo(this._controls.$relative)\n .on('click', $.proxy(function(e) {\n this.next(settings.navSpeed);\n }, this));\n\n // create DOM structure for absolute navigation\n if (!settings.dotsData) {\n this._templates = [ $('
')\n .addClass(settings.dotClass)\n .append($(''))\n .prop('outerHTML') ];\n }\n\n this._controls.$absolute = (settings.dotsContainer ? $(settings.dotsContainer)\n : $('
').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');\n\n this._controls.$absolute.on('click', 'div', $.proxy(function(e) {\n var index = $(e.target).parent().is(this._controls.$absolute)\n ? $(e.target).index() : $(e.target).parent().index();\n\n e.preventDefault();\n\n this.to(index, settings.dotsSpeed);\n }, this));\n\n // override public methods of the carousel\n for (override in this._overrides) {\n this._core[override] = $.proxy(this[override], this);\n }\n };\n\n /**\n * Destroys the plugin.\n * @protected\n */\n Navigation.prototype.destroy = function() {\n var handler, control, property, override;\n\n for (handler in this._handlers) {\n this.$element.off(handler, this._handlers[handler]);\n }\n for (control in this._controls) {\n this._controls[control].remove();\n }\n for (override in this.overides) {\n this._core[override] = this._overrides[override];\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n /**\n * Updates the internal state.\n * @protected\n */\n Navigation.prototype.update = function() {\n var i, j, k,\n lower = this._core.clones().length / 2,\n upper = lower + this._core.items().length,\n maximum = this._core.maximum(true),\n settings = this._core.settings,\n size = settings.center || settings.autoWidth || settings.dotsData\n ? 1 : settings.dotsEach || settings.items;\n\n if (settings.slideBy !== 'page') {\n settings.slideBy = Math.min(settings.slideBy, settings.items);\n }\n\n if (settings.dots || settings.slideBy == 'page') {\n this._pages = [];\n\n for (i = lower, j = 0, k = 0; i < upper; i++) {\n if (j >= size || j === 0) {\n this._pages.push({\n start: Math.min(maximum, i - lower),\n end: i - lower + size - 1\n });\n if (Math.min(maximum, i - lower) === maximum) {\n break;\n }\n j = 0, ++k;\n }\n j += this._core.mergers(this._core.relative(i));\n }\n }\n };\n\n /**\n * Draws the user interface.\n * @todo The option `dotsData` wont work.\n * @protected\n */\n Navigation.prototype.draw = function() {\n var difference,\n settings = this._core.settings,\n disabled = this._core.items().length <= settings.items,\n index = this._core.relative(this._core.current()),\n loop = settings.loop || settings.rewind;\n\n this._controls.$relative.toggleClass('disabled', !settings.nav || disabled);\n\n if (settings.nav) {\n this._controls.$previous.toggleClass('disabled', !loop && index <= this._core.minimum(true));\n this._controls.$next.toggleClass('disabled', !loop && index >= this._core.maximum(true));\n }\n\n this._controls.$absolute.toggleClass('disabled', !settings.dots || disabled);\n\n if (settings.dots) {\n difference = this._pages.length - this._controls.$absolute.children().length;\n\n if (settings.dotsData && difference !== 0) {\n this._controls.$absolute.html(this._templates.join(''));\n } else if (difference > 0) {\n this._controls.$absolute.append(new Array(difference + 1).join(this._templates[0]));\n } else if (difference < 0) {\n this._controls.$absolute.children().slice(difference).remove();\n }\n\n this._controls.$absolute.find('.active').removeClass('active');\n this._controls.$absolute.children().eq($.inArray(this.current(), this._pages)).addClass('active');\n }\n };\n\n /**\n * Extends event data.\n * @protected\n * @param {Event} event - The event object which gets thrown.\n */\n Navigation.prototype.onTrigger = function(event) {\n var settings = this._core.settings;\n\n event.page = {\n index: $.inArray(this.current(), this._pages),\n count: this._pages.length,\n size: settings && (settings.center || settings.autoWidth || settings.dotsData\n ? 1 : settings.dotsEach || settings.items)\n };\n };\n\n /**\n * Gets the current page position of the carousel.\n * @protected\n * @returns {Number}\n */\n Navigation.prototype.current = function() {\n var current = this._core.relative(this._core.current());\n return $.grep(this._pages, $.proxy(function(page, index) {\n return page.start <= current && page.end >= current;\n }, this)).pop();\n };\n\n /**\n * Gets the current succesor/predecessor position.\n * @protected\n * @returns {Number}\n */\n Navigation.prototype.getPosition = function(successor) {\n var position, length,\n settings = this._core.settings;\n\n if (settings.slideBy == 'page') {\n position = $.inArray(this.current(), this._pages);\n length = this._pages.length;\n successor ? ++position : --position;\n position = this._pages[((position % length) + length) % length].start;\n } else {\n position = this._core.relative(this._core.current());\n length = this._core.items().length;\n successor ? position += settings.slideBy : position -= settings.slideBy;\n }\n\n return position;\n };\n\n /**\n * Slides to the next item or page.\n * @public\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\n */\n Navigation.prototype.next = function(speed) {\n $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\n };\n\n /**\n * Slides to the previous item or page.\n * @public\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\n */\n Navigation.prototype.prev = function(speed) {\n $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\n };\n\n /**\n * Slides to the specified item or page.\n * @public\n * @param {Number} position - The position of the item or page.\n * @param {Number} [speed] - The time in milliseconds for the transition.\n * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\n */\n Navigation.prototype.to = function(position, speed, standard) {\n var length;\n\n if (!standard && this._pages.length) {\n length = this._pages.length;\n $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\n } else {\n $.proxy(this._overrides.to, this._core)(position, speed);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Hash Plugin\n * @version 2.1.0\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n 'use strict';\n\n /**\n * Creates the hash plugin.\n * @class The Hash Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Hash = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Hash index for the items.\n * @protected\n * @type {Object}\n */\n this._hashes = {};\n\n /**\n * The carousel element.\n * @type {jQuery}\n */\n this.$element = this._core.$element;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel': $.proxy(function(e) {\n if (e.namespace && this._core.settings.startPosition === 'URLHash') {\n $(window).trigger('hashchange.owl.navigation');\n }\n }, this),\n 'prepared.owl.carousel': $.proxy(function(e) {\n if (e.namespace) {\n var hash = $(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');\n\n if (!hash) {\n return;\n }\n\n this._hashes[hash] = e.content;\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.namespace && e.property.name === 'position') {\n var current = this._core.items(this._core.relative(this._core.current())),\n hash = $.map(this._hashes, function(item, hash) {\n return item === current ? hash : null;\n }).join();\n\n if (!hash || window.location.hash.slice(1) === hash) {\n return;\n }\n\n window.location.hash = hash;\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Hash.Defaults, this._core.options);\n\n // register the event handlers\n this.$element.on(this._handlers);\n\n // register event listener for hash navigation\n $(window).on('hashchange.owl.navigation', $.proxy(function(e) {\n var hash = window.location.hash.substring(1),\n items = this._core.$stage.children(),\n position = this._hashes[hash] && items.index(this._hashes[hash]);\n\n if (position === undefined || position === this._core.current()) {\n return;\n }\n\n this._core.to(this._core.relative(position), false, true);\n }, this));\n };\n\n /**\n * Default options.\n * @public\n */\n Hash.Defaults = {\n URLhashListener: false\n };\n\n /**\n * Destroys the plugin.\n * @public\n */\n Hash.prototype.destroy = function() {\n var handler, property;\n\n $(window).off('hashchange.owl.navigation');\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Support Plugin\n *\n * @version 2.1.0\n * @author Vivid Planet Software GmbH\n * @author Artus Kolanowski\n * @author David Deutsch\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n var style = $('').get(0).style,\n prefixes = 'Webkit Moz O ms'.split(' '),\n events = {\n transition: {\n end: {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd',\n transition: 'transitionend'\n }\n },\n animation: {\n end: {\n WebkitAnimation: 'webkitAnimationEnd',\n MozAnimation: 'animationend',\n OAnimation: 'oAnimationEnd',\n animation: 'animationend'\n }\n }\n },\n tests = {\n csstransforms: function() {\n return !!test('transform');\n },\n csstransforms3d: function() {\n return !!test('perspective');\n },\n csstransitions: function() {\n return !!test('transition');\n },\n cssanimations: function() {\n return !!test('animation');\n }\n };\n\n function test(property, prefixed) {\n var result = false,\n upper = property.charAt(0).toUpperCase() + property.slice(1);\n\n $.each((property + ' ' + prefixes.join(upper + ' ') + upper).split(' '), function(i, property) {\n if (style[property] !== undefined) {\n result = prefixed ? property : true;\n return false;\n }\n });\n\n return result;\n }\n\n function prefixed(property) {\n return test(property, true);\n }\n\n if (tests.csstransitions()) {\n /* jshint -W053 */\n $.support.transition = new String(prefixed('transition'))\n $.support.transition.end = events.transition.end[ $.support.transition ];\n }\n\n if (tests.cssanimations()) {\n /* jshint -W053 */\n $.support.animation = new String(prefixed('animation'))\n $.support.animation.end = events.animation.end[ $.support.animation ];\n }\n\n if (tests.csstransforms()) {\n /* jshint -W053 */\n $.support.transform = new String(prefixed('transform'));\n $.support.transform3d = tests.csstransforms3d();\n }\n\n})(window.Zepto || window.jQuery, window, document);\n","/* global Modernizr, $ */\n\nwindow.onload = function() {\n setRequiredDates();\n bindCustomDateFields();\n};\n\n// Make dates required if necessary\n// For touch-devices, use the -field\n// For non-touch-devices, use three input-fields to input the date\nfunction setRequiredDates() {\n var datesList = document.querySelectorAll('.form__item--date--required');\n for (var i = 0; i < datesList.length; ++i) {\n var dates = datesList[i];\n var name = dates.getAttribute('name');\n if (Modernizr && Modernizr.touchevents) {\n var completeDate = document.querySelector('#' + name);\n completeDate.setAttribute('required', 'required');\n } else {\n document.querySelector('#' + name + '_1').setAttribute('required', 'required');\n document.querySelector('#' + name + '_2').setAttribute('required', 'required');\n document.querySelector('#' + name + '_3').setAttribute('required', 'required');\n }\n }\n}\n\n// For non-touch-devices, use a custom date entry\n// It uses three input-fields to fill the -field\nfunction bindCustomDateFields() {\n var datesList = document.querySelectorAll('.form__item--date');\n for (var i = 0; i < datesList.length; ++i) {\n var dates = datesList[i];\n var dateHelpers = dates.querySelectorAll('.form__control--date-helper');\n var name = dates.getAttribute('name');\n var completeDate = document.querySelector('#' + name);\n\n for (var j = 0; j < dateHelpers.length; ++j) {\n var dateHelper = dateHelpers[j];\n dateHelper.oninput = function() {\n var day = document.querySelector('#' + name + '_1');\n var month = document.querySelector('#' + name + '_2');\n var year = document.querySelector('#' + name + '_3');\n\n completeDate.value = year.value + '-' + month.value + '-' + day.value;\n };\n }\n }\n}\n\n// Toggle Menu\ndocument.addEventListener('DOMContentLoaded', function() {\n document.querySelector('.topmenu__item--toggle').addEventListener('click', function(e) {\n document.querySelector('body').classList.toggle('show-menu');\n e.preventDefault();\n });\n});\n\n// Topmenu functions\n$(function() {\n $(\".topmenu__item\").hover(function(){\n $(this).addClass(\"hover\");\n $('ul:first',this).css('visibility', 'visible');\n }, function(){\n $(this).removeClass(\"hover\");\n $('ul:first',this).css('visibility', 'hidden');\n });\n $(\"ul.topmenu li:has(ul)\").find(\"a:first\").append('');\n});\n\n// Initialize owl slider\nvar appointmentCalendar;\n$(function() {\n if ($('.slides .slides__slide').length > 1) {\n $('.slides').addClass('owl-carousel').owlCarousel({\n itemElement: 'div',\n loop: true,\n items: 1,\n margin: 0,\n nav: true,\n dots: true,\n navText: ['', '']\n });\n }\n\n // Owl-carousel calendar\n appointmentCalendar = $('.appointment__weeks').owlCarousel({\n items: 1\n });\n\n $('.weeks__next').on('click', function() {\n appointmentCalendar.trigger('next.owl.carousel');\n });\n $('.weeks__previous').on('click', function() {\n appointmentCalendar.trigger('prev.owl.carousel');\n });\n\n // Select date of calendar\n $('.calendar__time').on('click', function() {\n if ($(this).closest('.calendar__day--disabled').length <= 0) {\n $('.calendar__time').removeClass('calendar__time--selected');\n $(this).addClass('calendar__time--selected');\n $('input[name=\"appointment__date\"]').val($(this).attr('data-date'));\n }\n });\n});\n\n// Scroll to top\n$(function() {\n $('.scroll-to-top').on('click', function() {\n var body = $('html, body');\n body.stop().animate({scrollTop:0}, '500');\n });\n\n $(window).on('scroll', function() {\n if (document.body.scrollTop >= 500) {\n $('.scroll-to-top').addClass('scroll-to-top--active');\n } else {\n $('.scroll-to-top').removeClass('scroll-to-top--active');\n }\n });\n});\n"]}