PATH:
home
/
letacommog
/
newrdv1
/
wp-content
/
themes
/
wilcity
/
assets
/
production
/
js
/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = webpack_public_path__; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./assets/dev/js/app.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./assets/dev/js/app.js": /*!******************************!*\ !*** ./assets/dev/js/app.js ***! \******************************/ /*! no exports provided */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/typeof */ \"./node_modules/@babel/runtime/helpers/typeof.js\");\n/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);\n\n\n\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _typeof = typeof Symbol === \"function\" && _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(obj);\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(obj);\n};\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n(function ($) {\n \"use strict\";\n\n var oSwipersStore = {};\n\n function swiperSlider(self) {\n var wrapper = $('.swiper-wrapper', self),\n optData = self.data('options'),\n optDefault = {\n pagination: {\n el: self.find('.swiper-pagination-custom'),\n Clickable: true\n },\n navigation: {\n nextEl: self.find('.swiper-button-next-custom'),\n prevEl: self.find('.swiper-button-prev-custom')\n },\n spaceBetween: 30,\n preloadImages: wrapper.data('lazyLoad') == 1,\n lazy: wrapper.data('lazyLoad') == 1\n };\n\n if (typeof optData !== 'undefined') {\n var options = $.extend(optDefault, optData);\n wrapper.children().wrap('<div class=\"swiper-slide\"></div>');\n var swiper = new Swiper(self, options);\n\n if (typeof self.attr('id') !== 'undefined') {\n oSwipersStore[self.attr('id')] = swiper;\n }\n }\n\n self.find('.' + WHITE_LABEL + '-listing-slider').removeClass('loading');\n self.find('.wave-loading').remove();\n\n function thumbnails(selector) {\n if (selector.length > 0) {\n var wrapperThumbs = selector.children('.swiper-wrapper'),\n bObj = self.data('options'),\n optDefaultThumbs = {\n spaceBetween: 10,\n centeredSlides: true,\n slidesPerView: 3,\n touchRatio: 0.3,\n slideToClickedSlide: true,\n pagination: {\n el: selector.find('.swiper-pagination-custom')\n },\n navigation: {\n nextEl: selector.find('.swiper-button-next-custom'),\n prevEl: selector.find('.swiper-button-prev-custom')\n }\n };\n\n if (typeof bObj !== 'undefined') {\n bObj = bObj.replace(/([a-zA-Z0-9]+?):/g, '\"$1\":').replace(/'/g, '\"');\n var optData2 = JSON.parse(bObj);\n var optionsThumbs = $.extend(optDefaultThumbs, optData2);\n wrapperThumbs.children().wrap('<div class=\"swiper-slide\"></div>');\n var swiperThumbs = new Swiper(selector, optionsThumbs);\n swiper.controller.control = swiperThumbs;\n swiperThumbs.controller.control = swiper;\n }\n }\n }\n\n thumbnails(self.next('.swiper-thumbnails__module'));\n }\n\n function swiperSliders() {\n $('.swiper__module').each(function () {\n swiperSlider($(this));\n });\n } // HTML5 Web Storages\n\n\n $(document).ready(function () {\n var $root = $('#' + WHITE_LABEL + '-root');\n window.isMobile = {\n Android: function Android() {\n return navigator.userAgent.match(/Android/i);\n },\n BlackBerry: function BlackBerry() {\n return navigator.userAgent.match(/BlackBerry/i);\n },\n Ipad: function Ipad() {\n return navigator.userAgent.match(/iPad/i);\n },\n iOS: function iOS() {\n return navigator.userAgent.match(/iPhone|iPad|iPod/i);\n },\n Opera: function Opera() {\n return navigator.userAgent.match(/Opera Mini/i);\n },\n Windows: function Windows() {\n return navigator.userAgent.match(/IEMobile/i);\n },\n any: function any() {\n return isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows();\n }\n };\n window.isIE = /(MSIE|Trident\\/|Edge\\/)/i.test(navigator.userAgent);\n window.windowHeight = window.innerHeight;\n window.windowWidth = window.innerWidth;\n\n window.wilScrollTop = function () {\n return (window.pageYOffset || document.documentElement.scrollTop) - (document.documentElement.clientTop || 0);\n };\n\n Element.prototype.wilHasClass = function (className) {\n return this !== null && this.className.search(new RegExp(\"(\\\\s+|^)\" + className + \"(\\\\s|$)\", \"g\")) !== -1;\n };\n\n Element.prototype.wilAddClass = function (className) {\n return this !== null && !this.wilHasClass(className) && (this.className += this.className === \"\" ? className : \" \" + className);\n };\n\n Element.prototype.wilRemoveClass = function (className) {\n return this !== null && this.wilHasClass(className) && (this.className = this.className.search(/\\s/g) === -1 ? this.className.replace(new RegExp(\"^\" + className, \"g\"), \"\") : this.className.replace(new RegExp(\"\\\\s\" + className + \"|^\" + className + \"\\\\s\", \"g\"), \"\"));\n };\n\n Element.prototype.wilToggleClass = function (className) {\n return this !== null && (this.wilHasClass(className) ? this.className = this.className.search(/\\s/g) === -1 ? this.className.replace(new RegExp(\"^\" + className, \"g\"), \"\") : this.className.replace(new RegExp(\"\\\\s\" + className + \"|^\" + className + \"\\\\s\", \"g\"), \"\") : this.className += this.className === \"\" ? className : \" \" + className);\n };\n\n Element.prototype.wilStyles = function (obj) {\n for (var prop in obj) {\n this.style[prop] = obj[prop];\n }\n };\n\n function wilEach(els, cb) {\n for (var i = 0, len = els.length; i < len; i++) {\n if (i === len) break;\n cb(els[i], i);\n }\n }\n\n function wilExtend(obj, src) {\n if ((typeof src === \"undefined\" ? \"undefined\" : _typeof(src)) === \"object\") {\n wilEach(Object.keys(src), function (key) {\n obj[key] = src[key];\n });\n }\n\n return obj;\n }\n\n function wilWrapInner(el, wrapInner) {\n var _el = [].slice.call(el.children);\n\n var fragment = document.createDocumentFragment();\n el.insertAdjacentHTML(\"afterbegin\", wrapInner);\n var _wrap = el.children[0];\n\n for (var i = 0, len = _el.length; i < len; i++) {\n fragment.appendChild(_el[i]);\n }\n\n _wrap.appendChild(fragment);\n }\n\n var selectors = ['iframe[src*=\"player.vimeo.com\"]', 'iframe[src*=\"youtube.com\"]', 'iframe[src*=\"youtube-nocookie.com\"]', 'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]', 'object', 'embed'];\n var $allVideos = $('body').find(selectors.join(','));\n $allVideos.each(function () {\n var vid = $(this),\n vidWidth = vid.outerWidth(),\n vidHeight = vid.outerHeight(),\n ratio = vidHeight / vidWidth * 100;\n $allVideos.addClass('embed-responsive-item');\n\n if (ratio == 75) {\n $allVideos.wrap('<div class=\"embed-responsive embed-responsive-4by3\"></div>');\n } else {\n $allVideos.wrap('<div class=\"embed-responsive embed-responsive-16by9\"></div>');\n }\n });\n\n if ($('.wpb_column').length || $('.elementor-column-wrap').length) {\n $(window).load(function () {\n swiperSliders();\n });\n } else {\n swiperSliders();\n }\n\n var $tab = $('.wil-tab__nav');\n\n if ($tab.length) {\n $tab.each(function () {\n if (!$(this).hasClass('ignore-swipper')) {\n var $tabItem = $(this);\n $(this).on('click', 'a', function (event) {\n event.preventDefault();\n var $this = $(event.currentTarget);\n $this.closest('.wil-tab__nav').find('a').removeClass('active');\n $this.addClass('active');\n var $target = $($this.attr('href'));\n var $swiperModule = $target.find('.swiper__module');\n var $wrap = $this.closest('.wilTab_module__jlr12');\n\n if ($target.length) {\n $wrap.find('.wil-tab__panel.active').removeClass('active');\n $target.addClass('active');\n }\n\n var isSlider = false;\n\n if ($swiperModule.length) {\n var sliderID = $swiperModule.attr('id');\n\n if (typeof sliderID !== 'undefined' && typeof oSwipersStore[sliderID] !== 'undefined') {\n oSwipersStore[sliderID].destroy();\n }\n\n swiperSlider($swiperModule);\n isSlider = true;\n }\n\n $(document).trigger('wilTabClicked', [$target, isSlider]);\n });\n }\n });\n }\n\n window.addEventListener(\"load\", function () {\n document.body.classList.add(\"page-loaded\");\n });\n\n if (isMobile.iOS()) {\n $(\"body\").addClass(\"is-mobile is-ios\");\n } else if (isMobile.Ipad()) {\n $(\"body\").addClass(\"is-mobile is-ipad\");\n } else if (isMobile.any()) {\n $(\"body\").addClass(\"is-mobile is-ios\");\n }\n\n var headerFixedHeight = $(\"body\").hasClass(\"header-no-sticky\") ? 0 : 88;\n var adminBarHeight = $(\"body\").hasClass(\"admin-bar\") ? 32 : 0;\n /**\n * Sticky\n */\n\n $(\".js-sticky\").each(function () {\n var self = $(this);\n self.theiaStickySidebar({\n updateSidebarHeight: true,\n additionalMarginTop: (Number(self.attr(\"data-margin-top\")) || 20) + headerFixedHeight\n });\n });\n /**\n * Toggle\n */\n\n $.fn.wilToggle = function (opt) {\n return this.each(function () {\n var self = $(this),\n data = self.attr('data-toggle-button'),\n optDefault = {\n content: '[data-toggle-content]',\n effect: false,\n classActive: 'active',\n minWidth: 0\n },\n optData = {\n effect: self.attr('data-toggle-effect'),\n minWidth: self.attr('data-toggle-minWidth')\n },\n opts = $.extend(optDefault, opt, optData);\n self.css('user-select', 'none');\n self.on('click', function (e) {\n if (window.innerWidth >= Number(opts.minWidth)) {\n e.preventDefault();\n if (!self.hasClass(opts.classActive)) e.stopPropagation();\n $('[data-toggle-button][data-body-toggle]').removeClass(opts.classActive);\n\n if (self.attr('data-body-toggle') == 'true') {\n self.addClass(opts.classActive);\n } else {\n self.toggleClass(opts.classActive);\n }\n\n $('[data-body-toggle]').siblings(opts.content).removeClass(opts.classActive);\n\n if (data == self.siblings(opts.content).attr('data-toggle-content')) {\n if (self.attr('data-body-toggle') == 'true') {\n self.siblings(opts.content).addClass(opts.classActive);\n var $content = self.siblings(opts.content);\n var contentOffset = $content.offset();\n var contentHeight = $content.height();\n var htmlHeight = $('html').height();\n var condition = contentOffset.top + contentHeight + 30 > htmlHeight;\n\n if (condition) {\n $content.addClass('reverse');\n }\n } else {\n self.siblings(opts.content).toggleClass(opts.classActive);\n }\n\n if (opts.effect == 'default') {\n self.siblings(opts.content).stop().toggle(300);\n } else if (opts.effect == 'fade') {\n self.siblings(opts.content).stop().fadeToggle(300);\n } else if (opts.effect == 'slide') {\n self.siblings(opts.content).stop().slideToggle(300);\n }\n }\n }\n });\n\n if (self.attr('data-body-toggle') == 'true') {\n $(document).on('click', function () {\n self.removeClass(opts.classActive);\n\n if (data == self.siblings(opts.content).attr('data-toggle-content')) {\n self.siblings(opts.content).removeClass(opts.classActive);\n }\n });\n self.siblings(opts.content).on('click', function (e) {\n e.stopPropagation();\n });\n }\n\n $('.js-toggle-close').on('click', function () {\n var close = $(this);\n close.closest(opts.content).removeClass('active');\n close.closest(opts.content).siblings('[data-toggle-button]').removeClass('active');\n });\n });\n }; // $('[data-toggle-button]').wilToggle();\n\n\n var wilTooltip = function () {\n // variable\n var cssStart = {},\n cssEnd = {},\n o = 0,\n cst = 0,\n tooltipWidth = 0,\n tooltipHeight = 0,\n modifierClass = '--'; // constructor\n\n var wilTooltip = function wilTooltip(el, opt, index) {\n this.index = index;\n this.body = $('body');\n this.el = $(el);\n this.optDefault = {\n placement: 'top',\n animate: false,\n tooltipClass: 'wil-tooltip',\n duration: 100,\n arrow: true,\n theme: 'default'\n };\n this.optData = {\n tooltip: this.el.attr('data-tooltip'),\n placement: this.el.attr('data-tooltip-placement'),\n animate: this.el.attr('data-tooltip-animate'),\n duration: this.el.attr('data-tooltip-duration'),\n theme: this.el.attr('data-tooltip-theme')\n };\n this.opts = $.extend(this.optDefault, opt, this.optData);\n this.init();\n }; // prototype\n\n\n wilTooltip.prototype = {\n init: function init() {\n this.animated();\n this.hover();\n },\n animated: function animated() {\n var _this = this,\n opts = this.opts;\n\n if (opts.animate == 'default' || opts.animate == false) {\n cst = 0;\n opts.duration = 0;\n } else if (opts.animate == 'fade') {\n cst = 0;\n } else if (opts.animate == 'fadeMove') {\n cst = 10;\n }\n },\n placement: function placement(w, h) {\n var _this = this,\n opts = this.opts;\n\n if (opts.placement === 'top') {\n cssStart['top'] = o.top - tooltipHeight - cst + 'px';\n cssStart['left'] = o.left + (w - tooltipWidth) / 2 + 'px';\n cssEnd['top'] = o.top - tooltipHeight + 'px';\n cssEnd['left'] = o.left + (w - tooltipWidth) / 2 + 'px';\n } else if (opts.placement === 'bottom') {\n cssStart['top'] = o.top + h + cst + 'px';\n cssStart['left'] = o.left + (w - tooltipWidth) / 2 + 'px';\n cssEnd['top'] = o.top + h + 'px';\n cssEnd['left'] = o.left + (w - tooltipWidth) / 2 + 'px';\n } else if (opts.placement === 'left') {\n cssStart['top'] = o.top + h / 2 - tooltipHeight / 2 + 'px';\n cssStart['left'] = o.left - tooltipWidth - cst + 'px';\n cssEnd['top'] = o.top + h / 2 - tooltipHeight / 2 + 'px';\n cssEnd['left'] = o.left - tooltipWidth + 'px';\n } else if (opts.placement === 'right') {\n cssStart['top'] = o.top + h / 2 - tooltipHeight / 2 + 'px';\n cssStart['left'] = o.left + w + cst + 'px';\n cssEnd['top'] = o.top + h / 2 - tooltipHeight / 2 + 'px';\n cssEnd['left'] = o.left + w + 'px';\n }\n\n cssStart['opacity'] = opts.animate == false || opts.animate == 'default' ? 1 : 0;\n cssEnd['opacity'] = 1;\n },\n addHtml: function addHtml(body, tooltip, tooltipClass, tooltipId) {\n if ($('.' + tooltipClass + '#' + tooltipId).length == 0) body.append('\\\n\t\t\t\t\t<div class=\"' + tooltipClass + '\" id=\"' + tooltipId + '\">' + tooltip + '</div>\\\n\t\t\t\t');\n },\n hover: function hover() {\n var _this = this,\n opts = this.opts;\n\n _this.el.on({\n mouseenter: function mouseenter() {\n var self = $(this),\n w = self.outerWidth(),\n h = self.outerHeight();\n o = self.offset();\n $(window).resize(function () {\n o = self.offset();\n });\n\n _this.addHtml(_this.body, opts.tooltip, opts.tooltipClass, opts.tooltipClass + '-' + _this.index);\n\n tooltipWidth = $('.' + opts.tooltipClass).outerWidth();\n tooltipHeight = $('.' + opts.tooltipClass).outerHeight();\n\n _this.placement(w, h);\n\n $('.' + opts.tooltipClass).css(cssStart).animate(cssEnd, opts.duration).addClass(opts.tooltipClass + modifierClass + opts.placement).addClass(opts.tooltipClass + modifierClass + opts.theme);\n if (opts.arrow == true) $('.' + opts.tooltipClass).addClass(opts.tooltipClass + modifierClass + 'arrow');\n },\n mouseleave: function mouseleave() {\n $('.' + opts.tooltipClass).animate(cssStart, opts.duration, function () {\n $('#' + opts.tooltipClass + '-' + _this.index).remove();\n });\n }\n });\n }\n };\n return $.fn.wilTooltip = function (opt) {\n this.each(function (index) {\n var new_wiltooltip = new wilTooltip(this, opt, index);\n });\n };\n }();\n\n if (!isMobile.any()) {\n var toolId;\n $(window).on('load mousemove', function () {\n clearTimeout(toolId);\n toolId = setTimeout(function () {\n $('[data-tooltip]').wilTooltip({\n animate: 'default',\n arrow: true\n });\n }, 100);\n });\n $(\".wil-scroll-bar\").wrapInner('<div class=\"wil-scroll-container\"></div>');\n var scrollBars = document.querySelectorAll(\".wil-scroll-bar\");\n wilEach(scrollBars, function (el) {\n new PerfectScrollbar(el);\n });\n }\n\n var wilAnimation = function () {\n function wilAnimation(el) {\n _classCallCheck(this, wilAnimation);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilAnimation, [{\n key: 'init',\n value: function init() {\n var _this7 = this;\n\n this.el.each(function (index) {\n var self = $(_this7.el[index]);\n var inputType = $('input[type=\"checkbox\"], input[type=\"radio\"]', self);\n self.on('click', self, function () {\n return _this7.handleClick(inputType);\n });\n });\n }\n }, {\n key: 'handleClick',\n value: function handleClick(inputType) {\n if (inputType['0'].checked === true) {\n inputType.parent().addClass('checkedAnimation');\n inputType.parent().removeClass('uncheckedAnimation');\n setTimeout(function () {\n inputType.parent().removeClass('checkedAnimation');\n }, 550);\n } else {\n inputType.parent().addClass('uncheckedAnimation');\n inputType.parent().removeClass('checkedAnimation');\n setTimeout(function () {\n inputType.parent().removeClass('uncheckedAnimation');\n }, 550);\n }\n }\n }]);\n\n return wilAnimation;\n }();\n\n new wilAnimation('.js-checkbox');\n new wilAnimation('.comment-form-cookies-consent');\n\n var wilBlogSearchForm = function () {\n function wilBlogSearchForm(el) {\n _classCallCheck(this, wilBlogSearchForm);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilBlogSearchForm, [{\n key: 'init',\n value: function init() {\n var _this8 = this;\n\n this.el.each(function (index) {\n var self = $(_this8.el[index]);\n var inputSubmit = $('.search-submit', self);\n inputSubmit.on('mouseenter mouseleave', self, function () {\n return _this8.onHover(inputSubmit);\n });\n });\n }\n }, {\n key: 'onHover',\n value: function onHover(inputSubmit) {\n $(inputSubmit).parent().toggleClass('active');\n }\n }]);\n\n return wilBlogSearchForm;\n }();\n\n new wilBlogSearchForm('.search-form');\n\n var wilHasValue = function () {\n function wilHasValue(el) {\n _classCallCheck(this, wilHasValue);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilHasValue, [{\n key: 'init',\n value: function init() {\n var _this9 = this;\n\n this.el.each(function (index) {\n var self = $(_this9.el[index]);\n var inputValue = $('input[type=\"text\"], input[type=\"password\"], input[type=\"email\"],input[type=\"url\"], textarea', self);\n\n _this9.onLoadValue(self, inputValue);\n\n self.on('keyup', self, function () {\n return _this9.handleChange(inputValue);\n });\n });\n }\n }, {\n key: 'onLoadValue',\n value: function onLoadValue(self, inputValue) {\n var inputValue = $(inputValue, self);\n\n if (inputValue.val() !== '') {\n inputValue.parent().addClass('hasAttribute');\n }\n }\n }, {\n key: 'handleChange',\n value: function handleChange(inputValue) {\n if (inputValue['0'].value === \"\") {\n inputValue.parent().removeClass('hasAttribute');\n }\n }\n }]);\n\n return wilHasValue;\n }();\n\n new wilHasValue('.js-field');\n new wilHasValue('.comment-form p:not(.form-submit):not(.comment-form-cookies-consent)');\n\n var wilHasPlaceholder = function () {\n function wilHasPlaceholder(el) {\n _classCallCheck(this, wilHasPlaceholder);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilHasPlaceholder, [{\n key: 'init',\n value: function init() {\n var _this10 = this;\n\n this.el.each(function (index) {\n var self = $(_this10.el[index]);\n var inputType = $('input[type=\"text\"], input[type=\"email\"], input[type=\"url\"], input[type=\"password\"], textarea', self);\n\n _this10.onLoadAttr(self, inputType);\n\n self.on('keyup', self, function () {\n return _this10.handleChange(inputType);\n });\n });\n }\n }, {\n key: 'onLoadAttr',\n value: function onLoadAttr(self, inputType) {\n var inputType = $(inputType, self);\n\n if (inputType.attr(\"placeholder\")) {\n inputType.parent().addClass('hasAttribute');\n }\n }\n }, {\n key: 'handleChange',\n value: function handleChange(inputType) {\n if (inputType['0'].hasAttribute(\"placeholder\")) {\n inputType.parent().addClass('hasAttribute');\n }\n }\n }]);\n\n return wilHasPlaceholder;\n }();\n\n new wilHasPlaceholder(\".js-field\");\n\n var wilField = function () {\n function wilField(el) {\n _classCallCheck(this, wilField);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilField, [{\n key: \"init\",\n value: function init() {\n var _this6 = this;\n\n this.el.each(function (index) {\n var self = $(_this6.el[index]);\n var field = $(\"input, textarea\", self);\n var file = $('input[type=\"file\"]', self);\n\n _this6.inputText(field, self);\n\n self.on(\"click\", \".input-upload, .input-filename\", function (event) {\n return _this6.handleClickFile(event, field);\n });\n file.on(\"change\", function (event) {\n return _this6.typeFile(event, self);\n });\n });\n }\n }, {\n key: \"inputText\",\n value: function inputText(field, self) {\n var rightButton = $(\".js-field-rightButton\", self);\n var val = field.val();\n\n if (field.val() !== '') {\n self.addClass('active');\n }\n\n field.focus(function () {\n return self.addClass(\"active\");\n });\n field.keyup(function (event) {\n val = $(event.currentTarget).val();\n if (val !== \"\") self.addClass(\"active\");\n\n if (rightButton.length) {\n if (val !== \"\") {\n rightButton.addClass(\"active\");\n } else {\n rightButton.removeClass(\"active\");\n }\n }\n });\n field.blur(function () {\n return self.removeClass(val === \"\" ? \"active\" : \"\");\n });\n\n if (self.hasClass(\"select-text\")) {\n field.on(\"click\", function (event) {\n return event.currentTarget.setSelectionRange(0, event.currentTarget.value.length);\n });\n }\n }\n }, {\n key: \"handleClickFile\",\n value: function handleClickFile(event, field) {\n event.preventDefault();\n field.trigger(\"click\");\n }\n }, {\n key: \"typeFile\",\n value: function typeFile(event, self) {\n var fileName = $(\".input-filename\", self);\n var fileimg = $(\".input-fileimg\", self);\n var getfileName = $(event.currentTarget).val().replace(/\\\\/g, \"/\").replace(/.*\\//, \"\");\n fileName.attr(\"data-text\", getfileName);\n if (getfileName !== \"\") self.addClass(\"active\");\n\n if (event.currentTarget.files && event.currentTarget.files[0]) {\n var reader = new FileReader();\n\n reader.onload = function (e) {\n fileimg.css({\n \"background-image\": \"url(\\\"\" + e.target.result + \"\\\")\"\n });\n };\n\n reader.readAsDataURL(event.currentTarget.files[0]);\n }\n\n if (fileName.attr(\"data-text\") === \"\") {\n fileimg.css(\"background-image\", \"\");\n self.removeClass(\"active\");\n }\n }\n }]);\n\n return wilField;\n }();\n\n var newWilField = new wilField(\".js-field\");\n var newWilField2 = new wilField(\".comment-form p:not(.form-submit):not(.comment-form-cookies-consent):not(.comment-subscription-form)\");\n\n var wilselect2 = function () {\n function wilselect2(el, opts) {\n _classCallCheck(this, wilselect2);\n\n this.el = $(el);\n this.opts = opts;\n this.val = '';\n return this.init();\n }\n\n _createClass(wilselect2, [{\n key: 'init',\n value: function init() {\n var _this12 = this;\n\n var opts = this.opts;\n\n if (typeof WILCITY_SELECT2_LENG !== 'undefined') {\n if (typeof opts === 'undefined') {\n opts = {};\n }\n\n opts.language = WILCITY_SELECT2_LENG;\n }\n\n this.el.each(function (index) {\n var self = $(_this12.el[index]);\n var select2 = self.next('.select2');\n self.select2(opts);\n self.closest('.js-field').find('.select2-selection__rendered').css('color', 'transparent');\n self.on('change', function (event) {\n return _this12.handleChange(event, self);\n });\n });\n }\n }, {\n key: 'handleChange',\n value: function handleChange(event, self) {\n self.closest('.js-field').addClass('active');\n this.val = $(event.currentTarget).val();\n if (typeof this.val[0] === 'undefined') self.closest('.js-field').removeClass('active');else self.closest('.js-field').find('.select2-selection__rendered').attr('style', '');\n jQuery(event.currentTarget).trigger('select2-changed', [this.val]);\n }\n }]);\n\n return wilselect2;\n }();\n\n var newWilSelect2 = new wilselect2('.select-2');\n\n var wilSlider = function () {\n function wilSlider(el) {\n _classCallCheck(this, wilSlider);\n\n this.el = $(el);\n return this.init();\n }\n\n _createClass(wilSlider, [{\n key: 'init',\n value: function init() {\n var _this13 = this;\n\n this.el.each(function (index) {\n var self = $(_this13.el[index]);\n var info = self.siblings('.js-slider-info');\n var number = $('.js-slider-info__number', info);\n self.slider({\n range: 'min',\n min: self.data('slider-min'),\n max: self.data('slider-max'),\n value: self.data('slider-value'),\n slide: function slide(event, ui) {\n info.attr('data-active', 'true');\n number.text(ui.value);\n self.attr('data-slider-value', ui.value);\n\n if (ui.value === 0) {\n info.attr('data-active', '');\n }\n }\n });\n });\n }\n }]);\n\n return wilSlider;\n }();\n\n var textareaAutoHeight = function () {\n function textareaAutoHeight(el, opt) {\n _classCallCheck(this, textareaAutoHeight);\n\n this.els = $(el);\n var defaultOpt = {\n shiftKey: false\n };\n this.opts = $.extend({}, defaultOpt, opt);\n }\n\n _createClass(textareaAutoHeight, [{\n key: \"handleAutoHeight\",\n value: function handleAutoHeight(event, outerHeight) {\n var opts = this.opts;\n var currentTarget = event.currentTarget;\n var el = $(currentTarget);\n var borderTop = Number(el.css(\"border-top-width\").replace(\"px\", \"\"));\n var borderBottom = Number(el.css(\"border-bottom-width\").replace(\"px\", \"\"));\n var shiftKeyCheck = opts.shiftKey ? !isMobile.any() ? event.shiftKey : true : true;\n\n if (event.keyCode === 13 && shiftKeyCheck || event.keyCode === 8) {\n el.css(\"height\", outerHeight);\n var scrollHeight = el.prop(\"scrollHeight\");\n el.css(\"height\", scrollHeight + borderTop + borderBottom);\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n var _this9 = this;\n\n var els = this.els;\n els.each(function (index) {\n var el = $(els[index]);\n var outerHeight = el.outerHeight();\n\n var handleAutoHeight = function handleAutoHeight(event) {\n return _this9.handleAutoHeight(event, outerHeight);\n };\n\n el.on({\n keyup: handleAutoHeight,\n paste: handleAutoHeight,\n cut: handleAutoHeight,\n drop: handleAutoHeight\n });\n });\n }\n }]);\n\n return textareaAutoHeight;\n }();\n\n var newTextareaAutoHeight = new textareaAutoHeight(\".field-autoHeight textarea\");\n newTextareaAutoHeight.init();\n var newTextareaAutoHeight2 = new textareaAutoHeight(\".field-autoHeight-2 textarea\", {\n shiftKey: true\n });\n newTextareaAutoHeight2.init();\n\n var wilHoverParallax = function () {\n function wilHoverParallax(el, opt) {\n _classCallCheck(this, wilHoverParallax);\n\n this.el = $(el);\n var defaultOpt = {\n type: '3d'\n };\n var dataOpt = {\n type: this.el.data('hover-parallax-options')\n };\n this.opts = $.extend(defaultOpt, opt, dataOpt);\n this.inner = null;\n this.btnPlay = null;\n this.bgclone1 = '<div class=\"bg-parallax-clone-1\"></div>';\n this.bgclone2 = '<div class=\"bg-parallax-clone-2\"></div>';\n this.bgclone3 = '<div class=\"bg-parallax-clone-3\"></div>';\n return this.init();\n }\n\n _createClass(wilHoverParallax, [{\n key: 'init',\n value: function init() {\n var _this15 = this;\n\n var el = this.el;\n el.on({\n mousemove: function mousemove(event) {\n return _this15.mousemove(event);\n },\n mouseenter: function mouseenter(event) {\n return _this15.mouseenter(event);\n },\n mouseleave: function mouseleave(event) {\n return _this15.mouseleave(event);\n }\n });\n this.type();\n }\n }, {\n key: 'type',\n value: function type() {\n var _this16 = this;\n\n var opts = this.opts;\n this.el.each(function (index) {\n var img = $('.bg-cover', _this16.el[index]);\n img.css({\n 'width': img.outerWidth() + 'px',\n 'height': img.outerHeight() + 'px'\n });\n\n if (opts.type === '3d') {\n img.clone().prependTo(img.parent()).wrap(_this16.bgclone1);\n img.clone().prependTo(img.parent()).wrap(_this16.bgclone2);\n img.clone().prependTo(img.parent()).wrap(_this16.bgclone3);\n }\n });\n }\n }, {\n key: 'mousemove',\n value: function mousemove(event) {\n var self = $(event.currentTarget);\n var w = self.outerWidth(),\n h = self.outerHeight(),\n o = self.offset(),\n x = (o.left + w / 2 - event.pageX) / 15,\n y = (o.top + h / 2 - event.pageY) / 15;\n this.inner = self.children();\n this.btnPlay = $('.js-video-popup', self);\n this.inner.css('transform', 'perspective(300em) translate(' + parseInt(x / 2) + 'px, ' + parseInt(y / 2) + 'px) rotateX(' + -parseInt(y) + 'deg) rotateY(' + parseInt(x) + 'deg)');\n this.btnPlay.css('transform', 'translate(' + parseInt(x) + 'px, ' + parseInt(y) + 'px)');\n $('.' + $(this.bgclone1)[0].className, self).css('transform', 'translate(' + -parseInt(x / 1) + 'px, ' + -parseInt(y / 1) + 'px)');\n $('.' + $(this.bgclone2)[0].className, self).css('transform', 'translate(' + -parseInt(x / 2) + 'px, ' + -parseInt(y / 2) + 'px)');\n $('.' + $(this.bgclone3)[0].className, self).css('transform', 'translate(' + -parseInt(x / 3) + 'px, ' + -parseInt(y / 3) + 'px)');\n }\n }, {\n key: 'mouseenter',\n value: function mouseenter() {\n var _this17 = this;\n\n var self = $(event.currentTarget);\n this.inner = self.children();\n this.btnPlay = $('.js-video-popup', self);\n\n if (this.btnPlay.css('transform') === 'none' || this.btnPlay.css('transform') === 'matrix(1, 0, 0, 1, 0, 0)') {\n this.inner.css('transition', 'all 0.3s ease');\n this.btnPlay.css('transition', 'all 0.3s ease');\n $('.' + $(this.bgclone1)[0].className + ', .' + $(this.bgclone2)[0].className + ', .' + $(this.bgclone3)[0].className, self).css('transition', 'all 0.3s ease');\n setTimeout(function () {\n _this17.inner.css('transition', 'none');\n\n _this17.btnPlay.css('transition', 'none');\n\n $('.' + $(_this17.bgclone1)[0].className + ', .' + $(_this17.bgclone2)[0].className + ', .' + $(_this17.bgclone3)[0].className, self).css('transition', 'none');\n }, 300);\n }\n }\n }, {\n key: 'mouseleave',\n value: function mouseleave(event) {\n var _this18 = this;\n\n var self = $(event.currentTarget);\n var update = setInterval(function () {\n if (_this18.btnPlay.css('transform') !== 'matrix(1, 0, 0, 1, 0, 0)') {\n _this18.inner.css({\n 'transform': 'perspective(300em) translate(0px, 0px) rotateX(0deg) rotateY(0deg)',\n 'transition': 'all 0.3s ease'\n });\n\n _this18.btnPlay.css({\n 'transform': 'translate(0px, 0px)',\n 'transition': 'all 0.3s ease'\n });\n\n $('.bg-parallax-clone-1, .bg-parallax-clone-2, .bg-parallax-clone-3', self).css({\n 'transform': 'translate(0px, 0px)',\n 'transition': 'all 0.3s ease'\n });\n } else {\n _this18.inner.css('transition', 'none');\n\n _this18.btnPlay.css('transition', 'none');\n\n $('.bg-parallax-clone-1, .bg-parallax-clone-2, .bg-parallax-clone-3', self).css('transition', 'none');\n clearInterval(update);\n }\n }, 5);\n }\n }]);\n\n return wilHoverParallax;\n }();\n\n var newWilHoverParallax = new wilHoverParallax('[class*=\"video-popup-parallax-\"]');\n\n function pricing2() {\n $('.pricing-list-js').each(function () {\n var expand = parseInt($('.pricing-list-js').attr('data-expand')),\n _this998 = $(this);\n\n _this998.find(\"ul li:gt(\" + (expand - 1) + \")\").addClass('hidden');\n\n _this998.find('li').prepend('<i class=\"la la-check\"></i>');\n\n if (_this998.find('li del').length) {\n _this998.find('li del').parent('li').children('.la-check').remove();\n\n _this998.find('li del').parent('li').prepend('<i class=\"la la-times\"></i>');\n }\n }); // Expand features\n\n $('.expand-js a').on('click', function (event) {\n event.preventDefault();\n\n var _this9977 = $(this);\n\n _this9977.closest('.pricing-body-js').find('ul li').removeClass('hidden');\n\n _this9977.closest('.pricing-body-js').find('.expand-js').addClass('hidden');\n });\n }\n\n pricing2();\n\n function pricing() {\n var css = {\n module: \".pricing_module__2WIXR\",\n header: \".pricing_header__1hEFl\",\n featuresText: \".pricing_featuresText__1zmFJ\",\n title: \".pricing_title__1vXhE\",\n price: \".pricing_price__2vtrC\",\n currency: \".pricing_currency__2bkpj\",\n amount: \".pricing_amount__34e-B\",\n period: \".pricing_period__2A8L4\",\n body: \".pricing_body__2-Vq5\",\n list: \".pricing_list__KtU8u\",\n footer: \".pricing_footer__qz3lM\",\n features: \".pricing_features__3Ki80\",\n \"\": \"\"\n };\n var listWraps = document.querySelectorAll(css.list);\n wilEach(listWraps, function (listWrap) {\n var lists = [].slice.call(listWrap.querySelectorAll(\"li\"));\n wilEach(lists, function (list) {\n var check = document.createElement(\"i\");\n var close = document.createElement(\"i\");\n check.wilAddClass(\"la la-check\");\n close.wilAddClass(\"la la-close\");\n list.appendChild(list.querySelector(\"del\") === null && list.querySelector(\"s\") === null ? check : close);\n });\n });\n }\n\n pricing();\n\n var wilTab = function wilTab() {\n function wilTab(el, opt) {\n _classCallCheck(this, wilTab);\n\n this.els = document.querySelectorAll(el);\n this.block = el;\n this.opts = opt || {};\n this.index = this.opts.activeIndex || \"auto\";\n this.classActive = this.opts.classActive || \"active\";\n this.isLavaTab = this.opts.isLavaTab || false;\n this.lavaDuration = this.opts.lavaDuration || 300;\n }\n\n _createClass(wilTab, [{\n key: \"renderLava\",\n value: function renderLava() {\n var line = document.createElement(\"LI\");\n line.wilAddClass(\"line\");\n line.style.transition = \"all \" + this.lavaDuration + \"ms ease\";\n return line;\n }\n }, {\n key: \"getStyleLava\",\n value: function getStyleLava(rect, nav) {\n var navRect = nav.getBoundingClientRect();\n var scrollLeft = nav.scrollLeft;\n return {\n width: rect.width,\n left: rect.left - navRect.left + scrollLeft\n };\n }\n }, {\n key: \"tabMount\",\n value: function tabMount(navItems, panels, index) {\n var _this14 = this;\n\n wilEach(navItems, function (navItem) {\n return navItem.classList.remove(_this14.classActive);\n });\n wilEach(panels, function (panel) {\n return panel.classList.remove(_this14.classActive);\n });\n navItems[index].wilAddClass(this.classActive);\n panels[index].wilAddClass(this.classActive);\n var panelContent = panels[index].innerHTML.trim();\n typeof this.opts.onChangeTab === \"function\" && this.opts.onChangeTab({\n panelContent: panelContent,\n index: index\n });\n }\n }, {\n key: \"handleNavItemClick\",\n value: function handleNavItemClick(event, panels, navItems, line, nav, index) {\n if (jQuery(event.target).hasClass('ignore-lava')) {\n return true;\n }\n\n event.preventDefault();\n var currentTarget = event.currentTarget;\n var rect = currentTarget.getBoundingClientRect();\n\n var _getStyleLava = this.getStyleLava(rect, nav),\n width = _getStyleLava.width,\n left = _getStyleLava.left;\n\n line.style.width = width + \"px\";\n line.style.left = left + \"px\"; // this.tabMount(navItems, panels, index);\n }\n }, {\n key: \"init\",\n value: function init() {\n var _this15 = this;\n\n var els = this.els,\n block = this.block;\n wilEach(els, function (el) {\n var nav = el.querySelector(block + \"__nav\");\n\n if (nav != null && nav.querySelectorAll(\"a\").length) {\n var navItems = Array.from(nav.querySelectorAll(\"a\"));\n var panels = Array.from(el.querySelectorAll(block + \"__panel\"));\n var rect = _this15.index === \"auto\" ? navItems.filter(function (item) {\n return item.wilHasClass(_this15.classActive);\n })[0].getBoundingClientRect() : navItems[_this15.index].getBoundingClientRect();\n nav.appendChild(_this15.renderLava());\n var line = nav.querySelector(\".line\");\n\n var _getStyleLava2 = _this15.getStyleLava(rect, nav),\n width = _getStyleLava2.width,\n left = _getStyleLava2.left;\n\n line.style.width = width + \"px\";\n line.style.left = left + \"px\";\n wilEach(navItems, function (navItem, index) {\n navItem.addEventListener(\"click\", function (event) {\n return _this15.handleNavItemClick(event, panels, navItems, line, nav, index);\n });\n navItem.wilHasClass(_this15.classActive) && index === \"auto\" && _this15.tabMount(navItems, panels, index);\n });\n _this15.index !== \"auto\" && _this15.tabMount(navItems, panels, _this15.index);\n }\n });\n }\n }]);\n\n return wilTab;\n }; // var newTab = new wilTab(\".wil-tab\", {isLavaTab: true});\n // window.addEventListener(\"load\", function () {\n // return newTab.init();\n // });\n\n\n $('.js-canvas-textbox').each(function (index) {\n var self = $(this),\n canvasId = $('canvas', self).attr('id', self.attr('class') + '-' + index),\n ww = window.innerWidth,\n rangeY = 180,\n cst = 40,\n _level = .65,\n _count = 6;\n\n if (ww < 992) {\n _count = 5;\n rangeY = 150;\n cst = 30;\n } else if (ww < 768) {\n _count = 4;\n rangeY = 100;\n cst = 20;\n } else if (ww < 640) {\n _count = 3;\n rangeY = 30;\n cst = 10;\n _level = .75;\n }\n\n var c = document.getElementById(self.attr('class') + '-' + index),\n ctx = c.getContext('2d'),\n cw = c.width = self.width(),\n ch = c.height = self.height(),\n points = [],\n tick = 0,\n opt = {\n count: _count,\n range: {\n x: 30,\n y: rangeY\n },\n duration: {\n min: 200,\n max: 300\n },\n thickness: 10,\n level: _level,\n curved: true,\n gradient: {\n colorLeft: self.attr('data-gradient-left'),\n colorRight: self.attr('data-gradient-right')\n }\n },\n rand = function rand(min, max) {\n return Math.floor(Math.random() * (max - min + 1) + min);\n },\n ease = function ease(t, b, c, d) {\n if ((t /= d / 2) < 1) return c / 2 * t * t + b;\n return -c / 2 * (--t * (t - 2) - 1) + b;\n };\n\n ctx.lineJoin = 'round';\n ctx.lineWidth = opt.thickness;\n\n var Point = function Point(config) {\n this.anchorX = config.x;\n this.anchorY = config.y;\n this.x = config.x;\n this.y = config.y;\n this.setTarget();\n };\n\n Point.prototype.setTarget = function () {\n this.initialX = this.x;\n this.initialY = this.y;\n this.targetX = this.anchorX + rand(0, opt.range.x * 2) - opt.range.x;\n this.targetY = this.anchorY + rand(0, opt.range.y * 2) - opt.range.y;\n this.tick = 0;\n this.duration = rand(opt.duration.min, opt.duration.max);\n };\n\n Point.prototype.update = function () {\n var dx = this.targetX - this.x;\n var dy = this.targetY - this.y;\n var dist = Math.sqrt(dx * dx + dy * dy);\n\n if (Math.abs(dist) <= 0) {\n this.setTarget();\n } else {\n var t = this.tick;\n var b = this.initialY;\n var c = this.targetY - this.initialY;\n var d = this.duration;\n this.y = ease(t, b, c, d);\n b = this.initialX;\n c = this.targetX - this.initialX;\n d = this.duration;\n this.x = ease(t, b, c, d);\n this.tick++;\n }\n };\n\n var updatePoints = function updatePoints() {\n var i = points.length;\n\n while (i--) {\n points[i].update();\n }\n };\n\n var renderShape = function renderShape(opacity, cst) {\n ctx.beginPath();\n var pointCount = points.length;\n ctx.moveTo(points[0].x, points[0].y);\n var i;\n\n for (i = 0; i < pointCount - 1; i++) {\n var c = (points[i].x + points[i + 1].x) / 2;\n var d = (points[i].y + points[i + 1].y) / 2;\n ctx.quadraticCurveTo(points[i].x - cst, points[i].y - cst, c - cst, d - cst);\n }\n\n ctx.lineTo(-opt.range.x - cst * 2 - opt.thickness, ch + opt.thickness);\n ctx.lineTo(cw + opt.range.x - cst * 2 + opt.thickness, ch + opt.thickness);\n ctx.closePath();\n var grd = ctx.createLinearGradient(0, 0, self.width() / 1.5, 0);\n grd.addColorStop(0, opt.gradient.colorLeft);\n grd.addColorStop(1, opt.gradient.colorRight);\n ctx.globalAlpha = opacity;\n ctx.fillStyle = grd;\n ctx.fill();\n };\n\n var clear = function clear() {\n ctx.clearRect(0, 0, cw, ch);\n };\n\n var loop = function loop() {\n window.requestAnimFrame(loop, c);\n clear();\n updatePoints();\n renderShape(0.2, cst);\n renderShape(0.4, cst / 2);\n renderShape(1, 0);\n };\n\n var i = opt.count + 2;\n var spacing = (cw + opt.range.x * 2) / (opt.count - 1);\n\n while (i--) {\n points.push(new Point({\n x: spacing * (i - 1) - opt.range.x,\n y: ch - ch * opt.level\n }));\n }\n\n window.requestAnimFrame = function () {\n return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (a) {\n window.setTimeout(a, 1E3 / 60);\n };\n }();\n\n loop();\n });\n /**\n * detailNavTopSticky\n */\n\n var detailNavTopSticky = function () {\n function detailNavTopSticky(el) {\n _classCallCheck(this, detailNavTopSticky);\n\n this.el = document.querySelector(el);\n this.lastScroll = 0;\n return this.create();\n }\n\n _createClass(detailNavTopSticky, [{\n key: 'create',\n value: function create() {\n var _this19 = this;\n\n var el = this.el;\n\n if (el !== null) {\n var stickyFix = document.createElement('DIV');\n stickyFix.wilAddClass('js-detail--fixsticky');\n el.parentNode.insertBefore(stickyFix, el);\n window.addEventListener('scroll', function () {\n return _this19.navScroll(el, stickyFix, window);\n });\n }\n }\n }, {\n key: 'navScroll',\n value: function navScroll(el, stickyFix, w) {\n var st = (w.pageYOffset || document.documentElement.scrollTop) - (document.documentElement.clientTop || 0),\n o = stickyFix.offsetTop,\n h = el.offsetHeight;\n\n if (st >= o) {\n stickyFix.style.height = h + 'px';\n el.wilAddClass('js-detail--sticky');\n } else {\n stickyFix.style.height = '';\n el.wilRemoveClass('js-detail--sticky');\n }\n\n this.lastScroll = st;\n }\n }]);\n\n return detailNavTopSticky;\n }();\n\n var newDetailNavTopSticky = new detailNavTopSticky('.js-detail-navtop');\n $('.js-event').each(function (index) {\n var self = $(this),\n cst = 10,\n len = $('.js-event').length;\n self.css('z-index', len + cst - index);\n });\n\n var highLightLava = function () {\n function highLightLava(el) {\n _classCallCheck(this, highLightLava);\n\n this.el = document.querySelector(el);\n this.html = document.getElementsByTagName('html')[0];\n this.init();\n }\n\n _createClass(highLightLava, [{\n key: 'lineStyle',\n value: function lineStyle(rect, line) {\n var elRect = this.el.getBoundingClientRect();\n var scrollLeft = this.el.scrollLeft;\n var rtl = this.html.getAttribute('dir');\n var flatten = rtl === 'rtl' ? 0 : scrollLeft;\n line.style.width = rect.width + \"px\";\n line.style.left = rect.left - elRect.left + flatten + \"px\";\n }\n }, {\n key: 'handleMouseenter',\n value: function handleMouseenter(event, line) {\n var currentTarget = event.currentTarget;\n var rect = currentTarget.getBoundingClientRect();\n this.lineStyle(rect, line);\n }\n }, {\n key: 'init',\n value: function init() {\n var _this25 = this;\n\n var el = this.el;\n var links = el.querySelectorAll(\"a\");\n\n if (links.length) {\n var line = el.querySelector(\".highlight-lava-js__line\");\n el.appendChild(line);\n var firstRect = links[0].getBoundingClientRect();\n this.lineStyle(firstRect, line);\n wilEach(links, function (link) {\n link.addEventListener(\"mouseenter\", function (event) {\n return _this25.handleMouseenter(event, line);\n });\n });\n }\n }\n }]);\n\n return highLightLava;\n }();\n\n var $header = document.querySelector('[data-header-theme]');\n\n if (document.querySelector(\".highlight-lava-js\")) {\n new highLightLava(\".highlight-lava-js\");\n var substract = 0;\n var hero = document.querySelector('[class*=\"hero_module\"]');\n var heroTb = hero.querySelector(\".wil-tb\");\n\n if ($header) {\n var headerTheme = $header.getAttribute('data-header-theme');\n\n if (headerTheme === 'dark' || headerTheme === 'light') {\n substract = $header.offsetHeight;\n }\n }\n\n heroTb.style.height = 'calc(100vh - ' + (adminBarHeight + substract) + 'px)';\n }\n\n if ($header) {\n var _headerTheme = $header.getAttribute('data-header-theme'),\n menuColor = $header.getAttribute('data-menu-color');\n\n if (_headerTheme !== null && (_headerTheme.indexOf('rgb') !== -1 || _headerTheme.indexOf('#') !== -1)) {\n $header.style.backgroundColor = _headerTheme;\n var $subMenu = document.querySelectorAll('#' + WHITE_LABEL + '-menu .sub-menu'),\n totalSubMenu = $subMenu.length;\n\n if (totalSubMenu) {\n for (var iSub = 0; iSub < totalSubMenu; iSub++) {\n $subMenu[iSub].style.backgroundColor = _headerTheme;\n }\n }\n }\n\n if (menuColor !== null && menuColor.indexOf('rgb') !== -1) {\n var allItems = document.querySelectorAll('#' + WHITE_LABEL + '-menu a, #' + WHITE_LABEL + '-quick-notifications i, #' + WHITE_LABEL + '-message-notifications i, #' + WHITE_LABEL + '-quick-search-wrapper .header_searchText__10VVZ, #' + WHITE_LABEL + '-quick-search-wrapper .la');\n var totalItem = allItems.length;\n\n if (totalItem) {\n for (var i = 0; i < totalItem; i++) {\n allItems[i].style.color = menuColor;\n }\n }\n }\n }\n\n var message = function () {\n function message() {\n var _this2 = this;\n\n _classCallCheck(this, message);\n\n this.css = {\n \"column\": \".wilcity-message-column\",\n \"module\": \".message_module__2nm7D\",\n \"box\": \".message_box__3dDJa\",\n \"left\": \".message_left__3_nbH\",\n \"body\": \".message_body__njHFs\",\n \"back\": \".message_back__pjtJp\",\n \"head\": \".message_head__2tf2D\",\n \"search\": \".message_search__EhmrU\",\n \"send\": \".message_send__2pIGV\",\n \"chatContent\": \".message_chatContent__1AhzJ\",\n \"content\": \".message_content__2l2Qt\",\n \"sendMessage\": \".message_sendMessage__1tW4G\",\n \"right\": \".message_right__2YFjj\",\n \"\": \"\"\n };\n this.apply();\n jQuery(document.body).on('reCalcMessageBox', function () {\n _this2.apply();\n });\n }\n\n _createClass(message, [{\n key: \"handleAutoHeight\",\n value: function handleAutoHeight(event, body, textareaH, chatContentH, headH) {\n var currentTarget = event.currentTarget;\n\n if (event.keyCode === 13 && (!isMobile.any() ? event.shiftKey : true) || event.keyCode === 8) {\n $(currentTarget).css(\"height\", textareaH);\n var h = $(currentTarget).prop(\"scrollHeight\");\n $(currentTarget).css(\"height\", h);\n body.css(\"height\", chatContentH - headH - h - 50);\n body.scrollTop(body.prop(\"scrollHeight\") + 3000);\n }\n }\n }, {\n key: \"apply\",\n value: function apply() {\n var _this26 = this;\n\n var css = this.css;\n jQuery(css.column).each(function () {\n var $this = $(this);\n var body = $this.find(css.body);\n var sendMessage = $this.find(css.sendMessage);\n var chatContentH = $this.outerHeight();\n var textarea = $(\"textarea\", sendMessage);\n var textareaH = textarea.height();\n var headH = $this.find(css.head).outerHeight();\n body.css(\"height\", chatContentH - headH - textareaH - 50); // body.scrollTop(body.prop(\"scrollHeight\") + 3000);\n\n var handleAutoHeight = function handleAutoHeight(event) {\n return _this26.handleAutoHeight(event, body, textareaH, chatContentH, headH);\n };\n\n textarea.on({\n keyup: handleAutoHeight,\n paste: handleAutoHeight,\n cut: handleAutoHeight,\n drop: handleAutoHeight\n });\n });\n }\n }]);\n\n return message;\n }();\n\n new message();\n /**\n * listingBar\n */\n\n var listingBar = function listingBar(el) {\n this.selector = {\n search: {\n button: document.querySelector(\".js-listing-search-button\"),\n content: document.querySelector(\".js-listing-search\")\n },\n map: {\n button: document.querySelector(\".js-map-button\"),\n content: document.querySelector(\".js-listing-map\")\n },\n layout: {\n buttonGrid: document.querySelector(\".js-grid-button\"),\n buttonList: document.querySelector(\".js-list-button\"),\n module: document.querySelectorAll(\".js-listing-grid .js-listing-module\")\n }\n }, this.el = document.querySelector(el);\n this.init();\n };\n\n listingBar.prototype = {\n init: function init() {\n var self = this,\n el = self.el;\n\n if (el !== null) {\n self.sticky();\n\n if (self.search) {\n self.handleClickSearch(function () {\n self.scrollTop(event);\n });\n self.handleClickMap();\n self.handleClickLayout();\n }\n }\n },\n sticky: function sticky() {\n var self = this,\n selector = self.selector,\n el = self.el; // create el fix\n\n var stickyFix = document.createElement(\"DIV\");\n stickyFix.wilAddClass(\"js-listing-bar-sticky-fix\");\n el.parentNode.insertBefore(stickyFix, el); // create event sticky\n\n var eventSticky = document.createEvent(\"Event\");\n eventSticky.initEvent(\"sticky\", true, true);\n el.addEventListener(\"sticky\", function () {\n var ww = window.innerWidth,\n wh = window.innerHight,\n st = window.scrollY,\n o = el.offsetTop,\n h = el.offsetHeight,\n rt = selector.search.content ? selector.search.content.offsetHeight + 50 : 50;\n\n if (st >= rt) {\n stickyFix.style.height = h + \"px\";\n el.wilAddClass(\"js-listing-bar-fixed\");\n document.body.wilAddClass(\"is-fixed\");\n\n if (selector.map.content) {\n selector.map.content.wilAddClass(\"map-fixed\");\n }\n\n el.style.width = el.parentNode.offsetWidth + \"px\";\n } else {\n stickyFix.style.height = \"\";\n el.wilRemoveClass(\"js-listing-bar-fixed\");\n document.body.wilRemoveClass(\"is-fixed\");\n\n if (selector.map.content) {\n selector.map.content.wilRemoveClass(\"map-fixed\");\n }\n\n el.style.width = \"\";\n }\n });\n window.addEventListener(\"scroll\", function () {\n if (el.wilHasClass(\"js-sticky-for-md\")) {\n if (window.innerWidth <= 992) {\n el.dispatchEvent(eventSticky);\n }\n } else {\n el.dispatchEvent(eventSticky);\n }\n });\n },\n scrollTop: function scrollTop(event) {\n event.preventDefault();\n var st = window.scrollY;\n var scrollAnim = setInterval(function () {\n if (st <= 0) {\n clearInterval(scrollAnim);\n } else {\n st--;\n st = st / 1.1;\n window.scrollTo(0, parseInt(st));\n }\n }, 5);\n },\n handleClickSearch: function handleClickSearch(cbScrollTop) {\n var self = this,\n selector = self.selector;\n selector.search.button.addEventListener(\"click\", function (event) {\n cbScrollTop(event);\n });\n },\n handleClickMap: function handleClickMap() {\n var self = this,\n selector = self.selector;\n selector.map.button.addEventListener(\"click\", function (event) {\n event.preventDefault();\n this.wilToggleClass(\"active color-primary\");\n selector.map.content.wilToggleClass(\"active\");\n });\n },\n changeLayout: function changeLayout(el, event, layouts, width) {\n var self = this,\n layout = self.selector.layout;\n event.preventDefault();\n layouts.wilRemoveClass(\"color-primary\");\n el.wilAddClass(\"color-primary\");\n wilEach(layout.module, function (module) {\n var opacity = 0;\n var fade = setInterval(function () {\n if (opacity >= 60) {\n clearInterval(fade);\n } else {\n opacity++;\n module.parentNode.style.opacity = opacity / 60;\n }\n }, 5);\n setTimeout(function () {\n if (layouts === layout.buttonList) module.wilRemoveClass(\"js-listing-list\");else module.wilAddClass(\"js-listing-list\");\n module.parentNode.style.width = width;\n }, 50);\n }); // scroll top\n\n self.scrollTop(event);\n },\n handleClickLayout: function handleClickLayout() {\n var self = this,\n layout = self.selector.layout;\n layout.buttonGrid.addEventListener(\"click\", function (event) {\n self.changeLayout(this, event, layout.buttonList, \"\");\n });\n layout.buttonList.addEventListener(\"click\", function (event) {\n self.changeLayout(this, event, layout.buttonGrid, \"100%\");\n });\n }\n };\n new listingBar(\".js-listing-bar-sticky\");\n\n var searchMoveMap = function () {\n function searchMoveMap(el) {\n _classCallCheck(this, searchMoveMap);\n\n this.el = document.querySelector(el);\n this.headerHeight = 88;\n this.adminBarHeight = document.body.wilHasClass(\".admin-bar\") ? 32 : 0;\n this.init();\n }\n\n _createClass(searchMoveMap, [{\n key: 'getTranslate',\n value: function getTranslate() {\n if (wilScrollTop() < this.headerHeight) {\n return this.headerHeight - wilScrollTop() + this.adminBarHeight;\n }\n\n return this.adminBarHeight;\n }\n }, {\n key: 'setTranslate',\n value: function setTranslate(el) {\n el.style.transform = 'translate(0, ' + this.getTranslate() + 'px)';\n }\n }, {\n key: 'init',\n value: function init() {\n var _this26 = this;\n\n var el = this.el;\n this.setTranslate(el);\n window.addEventListener(\"scroll\", function () {\n return _this26.setTranslate(el);\n });\n }\n }]);\n\n return searchMoveMap;\n }();\n\n if (!isMobile.any() && document.body.wilHasClass(\"header-no-sticky\") && document.querySelector(\"#wilcity-map\") !== null) {\n new searchMoveMap(\"#wilcity-map\");\n }\n /**\n * Wil Popup\n */\n\n\n var wilPopup = function () {\n function wilPopup(el) {\n _classCallCheck(this, wilPopup);\n\n this.el = $(el);\n this.st = 0;\n return this.init();\n }\n\n _createClass(wilPopup, [{\n key: 'init',\n value: function init() {\n var _this20 = this;\n\n this.el.each(function (index) {\n var self = $(_this20.el[index]);\n var dataPopup = self.attr('data-popup');\n var content = $('[data-popup-content=\"' + dataPopup + '\"]');\n var close = $('.js-toggle-close, .js-popup-overlay', content);\n\n _this20.handleClick(self, content, close);\n });\n }\n }, {\n key: 'openPopup',\n value: function openPopup(self, content, event) {\n event.preventDefault();\n var allContent = document.querySelectorAll('[data-popup-content]');\n wilEach(allContent, function (content) {\n return content.style.zIndex = '';\n });\n $('[data-popup-content]').css('z-index', '');\n self.addClass('active');\n content.css('z-index', '10000').addClass('active');\n this.st = $(window).scrollTop();\n $('body').css('top', -this.st + 'px').addClass('disabled-scroll');\n }\n }, {\n key: 'closePopup',\n value: function closePopup(self, content, event) {\n event.preventDefault();\n content.removeClass('active');\n self.removeClass('active');\n $('body').css('top', '').removeClass('disabled-scroll');\n $(window).scrollTop(this.st);\n }\n }, {\n key: 'handleClick',\n value: function handleClick(self, content, close) {\n var _this21 = this;\n\n self.on('click', function (event) {\n return _this21.openPopup(self, content, event);\n });\n close.on('click', function (event) {\n return _this21.closePopup(self, content, event);\n });\n }\n }]);\n\n return wilPopup;\n }();\n\n var newWilPopup = new wilPopup('[data-popup]'); // $('.js-sortbox').each(function() {\n // var self = $(this);\n // self.sortable({\n // items: '.js-sortItem'\n // });\n // self.disableSelection();\n // });\n\n /*\n OPTIONS:\n menuWidth: Number,\n duration: Number,\n position: String ( left, right),\n classBackButton: String,\n backButton: Tag html,\n classActive: String,\n easing: String (easing css),\n arrow: Tag html\n */\n // create wilMenuVertical\n\n var wilMenuVertical = function () {\n function wilMenuVertical(el, opt) {\n _classCallCheck(this, wilMenuVertical);\n\n var winW1 = 300;\n var mobilePosition = 'left';\n\n if (document.body.classList.contains('rtl')) {\n mobilePosition = 'right';\n }\n\n if (window.innerWidth < 480) {\n winW1 = window.innerWidth - 50;\n }\n\n this.optDefault = {\n menuWidth: winW1,\n duration: 300,\n position: mobilePosition,\n classBackButton: \"back-button\",\n backButton: \"Back to\",\n classActive: \"active\",\n easing: \"ease\",\n arrow: \">\",\n closeButton: \".js-menu-close\"\n };\n this.nav = el;\n this.opts = wilExtend(this.optDefault, opt);\n this.level = 0;\n this.create(document.querySelectorAll(this.nav));\n }\n\n _createClass(wilMenuVertical, [{\n key: \"create\",\n value: function create(els) {\n var _this19 = this;\n\n var opts = this.opts,\n nav = this.nav;\n wilEach(els, function (el) {\n _this19.wrapper(el);\n\n _this19.position(el);\n\n el.style.width = opts.menuWidth + \"px\";\n });\n var menus = document.querySelectorAll(nav + \" .nav-menu\");\n var subMenus = document.querySelectorAll(nav + \" .sub-menu\");\n wilEach(menus, function (menu) {\n menu.setAttribute(\"data-height-default\", menu.offsetHeight);\n menu.style.transition = \"all \" + opts.duration + \"ms \" + opts.easing;\n menu.parentNode.style.height = menu.offsetHeight + \"px\";\n });\n wilEach(subMenus, function (subMenu) {\n _this19.createBackButton(menus, subMenu, function (back, menus) {\n _this19.handleClickBack(back, menus);\n\n _this19.handleClickLink(back, subMenu, menus);\n });\n });\n this.menuTranslate(menus, this.level);\n this.toggleMenu();\n }\n }, {\n key: \"wrapper\",\n value: function wrapper(el) {\n var opts = this.opts;\n var innerHtml = el.innerHTML;\n el.innerHTML = \"\\n <div class=\\\"nav-wrapper-outer\\\" style=\\\"display: table; width: 100%; height: 100%\\\">\\n <div class=\\\"nav-wrapper\\\" style=\\\"display: table-cell; width: 100%; vertical-align: \" + opts.verticalAlign + \"\\\">\\n <div class=\\\"nav-wrapper-inner\\\" style=\\\"overflow: hidden; position: relative\\\">\\n \" + innerHtml + \"\\n </div>\\n </div>\\n </div>\\n \";\n }\n }, {\n key: \"verticalAlign\",\n value: function verticalAlign() {\n var opts = this.opts;\n var y = 50;\n if (opts.verticalAlign === \"middle\") y = 50;\n if (opts.verticalAlign === \"top\") y = 0;\n if (opts.verticalAlign === \"bottom\") y = 100;\n return y;\n }\n }, {\n key: \"menuTranslate\",\n value: function menuTranslate(menus, level, height) {\n var _this20 = this;\n\n var opts = this.opts;\n wilEach(menus, function (menu) {\n menu.wilStyles({\n top: _this20.verticalAlign() + \"%\",\n transform: \"translate(-\" + opts.menuWidth * level + \"px, -\" + _this20.verticalAlign() + \"%)\",\n width: opts.menuWidth + \"px\"\n });\n menu.parentNode.wilStyles({\n width: opts.menuWidth * (level + 1) + \"px\",\n height: \"80vh\"\n });\n setTimeout(function () {\n return menu.parentNode.style.height = height;\n }, opts.duration);\n });\n }\n }, {\n key: \"position\",\n value: function position(el) {\n var opts = this.opts;\n\n if (opts.position === \"left\") {\n el.wilStyles({\n left: 0,\n right: \"auto\"\n });\n } else if (opts.position === \"right\") {\n el.wilStyles({\n right: 0,\n left: \"auto\"\n });\n }\n }\n }, {\n key: \"createBackButton\",\n value: function createBackButton(menus, subMenu, cb) {\n var nav = this.nav,\n opts = this.opts;\n var firstList = subMenu.children[0];\n var back = document.createElement(\"LI\");\n back.wilAddClass(opts.classBackButton);\n back.innerHTML = opts.backButton;\n\n if (subMenu.children[0].className !== back.className) {\n subMenu.insertBefore(back, firstList);\n }\n\n cb(back, menus);\n }\n }, {\n key: \"handleClickLink\",\n value: function handleClickLink(back, subMenu, menus) {\n var _this21 = this;\n\n var nav = this.nav,\n opts = this.opts;\n var parser = new DOMParser();\n var menuHasSubMenu = subMenu.previousElementSibling;\n subMenu.wilStyles({\n visibility: \"hidden\",\n top: this.verticalAlign() + \"%\",\n transform: \"translate(100%, -\" + this.verticalAlign() + \"%)\"\n });\n menuHasSubMenu.innerHTML = menuHasSubMenu.innerHTML.indexOf(opts.arrow) === -1 ? menuHasSubMenu.innerHTML + opts.arrow : menuHasSubMenu.innerHTML;\n menuHasSubMenu.addEventListener(\"click\", function (event) {\n var isArrow = opts.arrow.includes(event.target.parentNode.innerHTML);\n\n if (isArrow) {\n event.preventDefault();\n var subMenuHeight = event.currentTarget.nextElementSibling.offsetHeight;\n _this21.level++;\n\n _this21.menuTranslate(menus, _this21.level, subMenuHeight + \"px\");\n\n event.currentTarget.parentNode.wilAddClass(opts.classActive);\n subMenu.style.visibility = \"visible\";\n var backButton = opts.backButton;\n\n if (backButton.indexOf(\"{{backName}}\") !== -1) {\n backButton = backButton.replace(/{{backName}}/g, event.currentTarget.innerText);\n }\n\n back.innerHTML = backButton;\n }\n });\n }\n }, {\n key: \"handleClickBack\",\n value: function handleClickBack(back, menus) {\n var _this22 = this;\n\n var opts = this.opts;\n var subMenu = back.parentNode;\n back.addEventListener(\"click\", function (event) {\n event.preventDefault();\n _this22.level--;\n var ul = back.parentNode.parentNode.parentNode;\n var parentHeight = ul.offsetHeight;\n\n if (ul.getAttribute(\"data-height-default\") !== null) {\n parentHeight = Number(ul.getAttribute(\"data-height-default\"));\n }\n\n _this22.menuTranslate(menus, _this22.level, parentHeight + \"px\");\n\n back.parentNode.parentNode.wilRemoveClass(opts.classActive);\n setTimeout(function () {\n return subMenu.style.visibility = \"hidden\";\n }, opts.duration);\n });\n }\n }, {\n key: \"toggleMenu\",\n value: function toggleMenu() {\n var opts = this.opts;\n var close = document.querySelector(opts.closeButton);\n var toggleContent = document.querySelector('[data-menu-content=\"vertical\"]');\n var toggleButton = document.querySelector('[data-menu-toggle=\"vertical\"]');\n\n if (close !== null) {\n close.addEventListener(\"click\", function (event) {\n event.preventDefault();\n toggleContent.wilRemoveClass(\"active\");\n toggleButton.wilToggleClass(\"active\");\n });\n }\n\n if (toggleButton !== null) {\n toggleButton.addEventListener(\"click\", function (event) {\n event.preventDefault();\n event.currentTarget.wilToggleClass(\"active\");\n toggleContent.wilToggleClass(\"active\");\n });\n }\n }\n }]);\n\n return wilMenuVertical;\n }();\n\n var menuMobile = new wilMenuVertical(\".nav-mobile\", {\n duration: 250,\n arrow: '<span class=\"nav-arrow\"><i class=\"la la-ellipsis-h\"></i></span>',\n backButton: '<a href=\"#\"><i class=\"la la-long-arrow-left\"></i> Back to {{backName}}</a>',\n classBackButton: \"nav-back-button\",\n verticalAlign: \"top\"\n }); // Nav responsive jquery\n\n var navResponsive = function () {\n function navResponsive(el) {\n _classCallCheck(this, navResponsive);\n\n this.el = $(el);\n this.opts = {\n maxWidth: 'auto',\n moreText: typeof WILCITY_I18.more !== 'undefined' ? WILCITY_I18.more : 'More'\n };\n this.create();\n }\n\n _createClass(navResponsive, [{\n key: 'create',\n value: function create() {\n var _this26 = this;\n\n var opts = this.opts;\n this.el.on('navResize', function () {\n var update = setInterval(function () {\n var w = _this26.el.outerWidth();\n\n var maxWidth = opts.maxWidth;\n var totalWidthHeaderItem = $('.js-header-login').outerWidth(true) + $('.js-header-logo').outerWidth(true) + $('.js-header-search').outerWidth(true) + $('.header-addlisting').outerWidth(true) + $('#' + WHITE_LABEL + '-message-notifications').outerWidth(true) + $('#' + WHITE_LABEL + '-quick-notifications').outerWidth(true) + $('#' + WHITE_LABEL + '-profile-nav-menu').outerWidth(true) + 100;\n\n if (maxWidth === 'auto') {\n maxWidth = window.innerWidth - totalWidthHeaderItem;\n }\n\n maxWidth = maxWidth < 400 ? 400 : maxWidth;\n\n var listItem = _this26.el.children('li');\n\n var listLen = listItem.length;\n\n if (w > maxWidth) {\n var moreHtml = '<li class=\"menu-item-more menu-item-has-children\"><a href=\"#\">' + opts.moreText + '</a><ul class=\"sub-menu sub-menu-more\"></ul></li>';\n if ($('.menu-item-more', _this26.el).length === 0) _this26.el.append(moreHtml);\n listItem.eq(listLen - 2).prependTo('.sub-menu-more');\n } else {\n clearInterval(update);\n }\n }, 5);\n }).trigger('navResize');\n window.addEventListener('resize', function () {\n return _this26.el.trigger('navResize');\n });\n }\n }]);\n\n return navResponsive;\n }();\n\n var _navResponsive = new navResponsive('.wil-nav .nav-menu'); // header sticky\n\n\n var headerSticky = function () {\n function headerSticky(el) {\n _classCallCheck(this, headerSticky);\n\n this.el = document.querySelector(el);\n this.stickyFix = document.createElement(\"DIV\");\n this.init();\n }\n\n _createClass(headerSticky, [{\n key: 'getTheme',\n value: function getTheme(theme) {\n switch (theme) {\n case \"transparent\":\n return \"dark\";\n\n case \"light\":\n return \"light\";\n\n case \"dark\":\n return \"dark\";\n\n default:\n return \"\";\n }\n }\n }, {\n key: 'handleWindowScroll',\n value: function handleWindowScroll(el, elHeight) {\n var st = wilScrollTop();\n var theme = el.getAttribute(\"data-header-theme\");\n\n if (st > 0) {\n el.wilAddClass(\"js-header-fixed\");\n el.setAttribute(\"data-header-changetheme\", this.getTheme(theme));\n this.stickyFix.style.height = el.getAttribute(\"data-header-theme\") === \"transparent\" ? \"\" : elHeight + \"px\";\n } else {\n el.wilRemoveClass(\"js-header-fixed\");\n el.setAttribute(\"data-header-changetheme\", \"\");\n this.stickyFix.style.height = 0;\n }\n }\n }, {\n key: 'init',\n value: function init() {\n if (this.stickyFix) {\n var _this24 = this;\n\n var el = this.el;\n var elHeight = el.offsetHeight;\n el.parentNode.insertBefore(this.stickyFix, el);\n window.addEventListener(\"scroll\", function () {\n return _this24.handleWindowScroll(el, elHeight);\n });\n }\n }\n }]);\n\n return headerSticky;\n }();\n\n window.addEventListener(\"load\", function () {\n if (!document.body.wilHasClass(\"header-no-sticky\") && document.querySelector(\".js-header-sticky\") !== null) {\n new headerSticky(\".js-header-sticky\");\n }\n }); // scroll to top\n\n function scrollTopJs() {\n var scrollTop = $(\".wil-scroll-top\"),\n editBtn = $(\".btn-group-fixed_module__3qULF\");\n $(window).scroll(function () {\n var topPos = $(this).scrollTop(),\n screenHeight = $(window).height();\n\n if (screenHeight < topPos) {\n $(scrollTop).addClass('active');\n\n if ($('.rtl').length && $(editBtn).length) {\n $(scrollTop).css({\n 'right': '20px',\n 'left': 'auto'\n });\n } else if ($('body:not(.rtl)').length && $(editBtn).length) {\n $(scrollTop).css({\n 'right': 'auto',\n 'left': '20px'\n });\n }\n } else {\n $(scrollTop).removeClass('active');\n }\n });\n $(scrollTop).click(function () {\n $('html, body').animate({\n scrollTop: 0\n }, 1000);\n return false;\n });\n }\n\n scrollTopJs();\n /*********************************************************************************************/\n\n /*********************************************************************************************/\n\n /************************************* Custom ************************************************/\n\n /*********************************************************************************************/\n\n /*********************************************************************************************/\n\n $.fn.wilMenu = function (opt) {\n return $(this).each(function () {\n var el = $(this),\n optsDefault = {\n menuClass: 'wil-menu-list',\n breakpoint: 1000,\n toggleClass: 'active',\n classButtonToggle: 'toggle-menu',\n subMenu: {\n \"class\": 'sub-menu',\n parentClass: 'menu-item-has-children',\n toggleClass: 'active'\n }\n },\n options = $.extend({}, optsDefault, opt);\n el.on('wilMenu', function () {\n $('.' + options.classButtonToggle, el).on('click', function (e) {\n e.stopPropagation();\n $('.' + options.menuClass, el).toggleClass(options.toggleClass);\n });\n $('.' + options.subMenu.parentClass, el).on('click', '> a', function (e) {\n e.preventDefault();\n var self = $(this);\n self.next('.' + options.subMenu[\"class\"]).slideToggle(400);\n self.parent().toggleClass(options.subMenu.toggleClass);\n });\n $(document).on('click', function () {\n $('.' + options.menuClass, el).removeClass(options.toggleClass);\n $('.' + options.subMenu.parentClass, el).removeClass(options.subMenu.toggleClass);\n $('.' + options.subMenu[\"class\"], el).hide();\n });\n $('.' + options.menuClass).on('click', function (e) {\n e.stopPropagation();\n });\n });\n\n if (window.innerWidth <= options.breakpoint) {\n el.trigger('wilMenu');\n }\n\n $(window).resize(function () {\n if (window.innerWidth <= options.breakpoint) {\n el.trigger('wilMenu');\n } else {\n $('.' + options.classButtonToggle, el).off('click');\n $('.' + options.subMenu.parentClass, el).off('click', '> a');\n $('html, body').off('click');\n $('.' + options.menuClass).off('click');\n }\n });\n });\n };\n\n function listenRenderMap() {\n $('body').on('renderingMap', function (event, mapID, lat, lng) {\n lat = parseFloat(lat);\n lng = parseFloat(lng);\n\n if (isNaN(lat) || isNaN(lng)) {\n return false;\n }\n\n var $map = document.getElementById(mapID);\n\n if ($map.getAttribute('rendered')) {\n return false;\n }\n\n var oMap = new google.maps.Map(document.getElementById(mapID), {\n zoom: 5,\n center: {\n lat: lat,\n lng: lng\n }\n });\n new google.maps.Marker({\n map: oMap,\n position: {\n lat: lat,\n lng: lng\n },\n draggable: true,\n anchorPoint: new google.maps.Point(0, -29)\n });\n $map.setAttribute('rendered', true);\n });\n }\n\n listenRenderMap();\n\n function toggelEventMap() {\n $('.wilcity-toggle-event-map').on('click', function (event) {\n var lat = $(this).data('lat'),\n lng = $(this).data('lng'),\n mapID = $(this).data('id');\n jQuery('body').trigger('renderingMap', [mapID, lat, lng]);\n });\n }\n\n toggelEventMap();\n $('.js_edit_event').on('click', function (event) {\n event.preventDefault();\n var eventID = $(this).data('eventid');\n $('body').trigger('editingEvent', [{\n eventID: eventID\n }]);\n });\n\n function isIphoneX() {\n var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n var ratio = window.devicePixelRatio || 1;\n var screen = {\n width: window.screen.width * ratio,\n height: window.screen.height * ratio\n };\n\n if (iOS && screen.width == 1125 && screen.height === 2436 || iOS && screen.width == 1242 && screen.height === 2688) {\n $('body').addClass('isIphoneX');\n }\n }\n\n isIphoneX();\n\n function drodownToggleReverse() {\n var dropModule707 = $('.dropdown_module__J_Zpj');\n dropModule707.each(function () {\n var wilBtn707 = $(this).children('a.wil-btn:not(active)');\n wilBtn707.on('click', function () {\n var self707 = $(this);\n var content707 = self707.closest('.dropdown_module__J_Zpj').children('.dropdown_itemsWrap__2fuze');\n var contentHeight707 = content707.outerHeight();\n var htmlHeight707 = $('html').height();\n\n if (self707.offset().top + contentHeight707 + 30 > htmlHeight707) {\n var $module707 = self707.closest('.dropdown_module__J_Zpj');\n $($module707).addClass('reverse');\n } else {\n $($module707).removeClass('reverse');\n }\n });\n });\n } // if ($('.page-template-dashboard').length) {\n // $(document).ajaxComplete(function (event, xhr, settings) {\n // if (xhr.readyState === 4 && xhr.status === 200) {\n // setTimeout(function () {\n // drodownToggleReverse();\n // }, 500)\n // }\n // $('.pagination_pageLink__2UQhK').click(function () {\n // setTimeout(function () {\n // drodownToggleReverse();\n // }, 500)\n // });\n // $('.list_horizontal__7fIr5 .list_item__3YghP').click(function () {\n // setTimeout(function () {\n // drodownToggleReverse();\n // }, 500)\n // });\n // });\n // }\n\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./assets/dev/js/app.js?"); /***/ }), /***/ "./node_modules/@babel/runtime/helpers/typeof.js": /*!*******************************************************!*\ !*** ./node_modules/@babel/runtime/helpers/typeof.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\n\n//# sourceURL=webpack:///./node_modules/@babel/runtime/helpers/typeof.js?"); /***/ }) /******/ });
[+]
..
[-] vendors~WilAddToCalendar~WilFieldsGroup~WilSearchFormV1.0.js
[edit]
[-] review.min.js
[edit]
[-] 30.min.js
[edit]
[-] WilDateRange.WilDateRange.js
[edit]
[-] 70.min.js
[edit]
[-] 26.min.js
[edit]
[-] 14.14.js
[edit]
[-] map.min.js
[edit]
[-] 66.min.js
[edit]
[-] shortcodes.min.js
[edit]
[-] 91.min.js
[edit]
[-] 24.24.js
[edit]
[-] single-general.min.js
[edit]
[-] WilSingleNavPosts.WilSingleNavPosts.js
[edit]
[-] 51.min.js
[edit]
[-] 11.min.js
[edit]
[-] 2.min.js
[edit]
[-] WilSocialSharingFacebook.WilSocialSharingFacebook.js
[edit]
[-] WilSocialSharingVk.WilSocialSharingVk.js
[edit]
[-] 47.min.js
[edit]
[-] LoginForm.LoginForm.js
[edit]
[-] WilSocialSharingLinkedIn.WilSocialSharingLinkedIn.js
[edit]
[-] 87.min.js
[edit]
[-] vendors~WilMapbox.vendors~WilMapbox.js
[edit]
[-] vendors~UserProfile.vendors~UserProfile.js
[edit]
[-] no-map-search.min.js
[edit]
[-] SearchFormV2.min.js
[edit]
[-] 72.min.js
[edit]
[-] quick-search.min.js
[edit]
[-] WilReviewDiscussionForm.WilReviewDiscussionForm.js
[edit]
[-] .DS_Store
[edit]
[-] 32.min.js
[edit]
[-] 29.min.js
[edit]
[-] WilCheckoutPopup.WilCheckoutPopup.js
[edit]
[-] WilokeStripe.min.js
[edit]
[-] 69.min.js
[edit]
[-] WilAddToCalendar.WilAddToCalendar.js
[edit]
[-] 0.0.js
[edit]
[-] single-event.min.js
[edit]
[-] single-mapbox.min.js
[edit]
[-] WilSocialSharingCopy.WilSocialSharingCopy.js
[edit]
[-] 64.min.js
[edit]
[-] proceedPayment.min.js
[edit]
[-] 24.min.js
[edit]
[-] LoginRegisterPopup.LoginRegisterPopup.js
[edit]
[-] 25.25.js
[edit]
[-] addlisting.min.js
[edit]
[-] 88.min.js
[edit]
[-] 0.min.js
[edit]
[-] 13.min.js
[edit]
[-] 53.min.js
[edit]
[-] vendors~WilFieldsGroup.vendors~WilFieldsGroup.js
[edit]
[-] WilGrid.WilGrid.js
[edit]
[-] WilListingSettingsEditNavigation.WilListingSettingsEditNavigation.js
[edit]
[-] 48.min.js
[edit]
[-] WilBoxesIconItem.WilBoxesIconItem.js
[edit]
[-] WilToggleController.WilToggleController.js
[edit]
[-] WilListingSettingsGeneral.WilListingSettingsGeneral.js
[edit]
[-] 5.5.js
[edit]
[-] 15.15.js
[edit]
[-] WilGridCustomSelectField.WilGridCustomSelectField.js
[edit]
[-] 85.min.js
[edit]
[-] 45.min.js
[edit]
[-] WilPromotionListingStatistic.WilPromotionListingStatistic.js
[edit]
[-] 39.min.js
[edit]
[-] mapbox.min.js
[edit]
[-] 79.min.js
[edit]
[-] 62.min.js
[edit]
[-] WilSingleNavTerm.WilSingleNavTerm.js
[edit]
[-] 22.min.js
[edit]
[-] 74.min.js
[edit]
[-] 17.17.js
[edit]
[-] vendors~WilFieldsGroup~WilSearchFormList.vendors~WilFieldsGroup~WilSearchFormList.js
[edit]
[-] 4.4.js
[edit]
[-] resetPassword.min.js
[edit]
[-] WilReviewDetails.WilReviewDetails.js
[edit]
[-] 34.min.js
[edit]
[-] general.min.js
[edit]
[-] WilokeGoogleMap.min.js
[edit]
[-] WilGoogleMap.WilGoogleMap.js
[edit]
[-] WilIcon.WilIcon.js
[edit]
[-] LoginRegister.min.js
[edit]
[-] WilRestaurantMenuItem.WilRestaurantMenuItem.js
[edit]
[-] 58.min.js
[edit]
[-] 27.27.js
[edit]
[-] UserProfile.UserProfile.js
[edit]
[-] WilCouponPopup.WilCouponPopup.js
[edit]
[-] 18.min.js
[edit]
[-] 83.min.js
[edit]
[-] single-settings-sidebar.min.js
[edit]
[-] 1.1.js
[edit]
[-] single-google-map.min.js
[edit]
[-] 43.min.js
[edit]
[-] customLogin.min.js
[edit]
[-] LostPasswordForm.LostPasswordForm.js
[edit]
[-] 15.min.js
[edit]
[-] 6.min.js
[edit]
[-] 55.min.js
[edit]
[-] WilSingleNavWrapper.WilSingleNavWrapper.js
[edit]
[-] 20.min.js
[edit]
[-] 60.min.js
[edit]
[-] WilCouponListing.WilCouponListing.js
[edit]
[-] 30.30.js
[edit]
[-] WilSocialSharingPinterest.WilSocialSharingPinterest.js
[edit]
[-] 36.min.js
[edit]
[-] WilSingleNavMyProducts.WilSingleNavMyProducts.js
[edit]
[-] vendors~WilDateRange~WilFieldsGroup.vendors~WilDateRange~WilFieldsGroup.js
[edit]
[-] 26.26.js
[edit]
[-] WilSocialSharingTumblr.WilSocialSharingTumblr.js
[edit]
[-] single-listing.min.js
[edit]
[-] 76.min.js
[edit]
[-] activeListItem.min.js
[edit]
[-] 41.min.js
[edit]
[-] FavoriteStatistics.min.js
[edit]
[-] 81.min.js
[edit]
[-] 9.min.js
[edit]
[-] 16.16.js
[edit]
[-] WilListingSettings.WilListingSettings.js
[edit]
[-] WilFavorite.WilFavorite.js
[edit]
[-] 57.min.js
[edit]
[-] 4.min.js
[edit]
[-] 17.min.js
[edit]
[-] WilSocialSharingEmail.WilSocialSharingEmail.js
[edit]
[-] 54.min.js
[edit]
[-] WilokeDirectBankTransfer.min.js
[edit]
[-] dashboard.min.js
[edit]
[-] 7.min.js
[edit]
[-] 14.min.js
[edit]
[-] WilEventDate.WilEventDate.js
[edit]
[-] 28.28.js
[edit]
[-] 19.min.js
[edit]
[-] 82.min.js
[edit]
[-] 12.12.js
[edit]
[-] index.min.js
[edit]
[-] 59.min.js
[edit]
[-] 42.min.js
[edit]
[-] WilReviewAverageRating.WilReviewAverageRating.js
[edit]
[-] WilSocialSharingReddit.WilSocialSharingReddit.js
[edit]
[-] 35.min.js
[edit]
[-] 75.min.js
[edit]
[-] 22.22.js
[edit]
[-] 9.9.js
[edit]
[-] WilSocialSharingDigg.WilSocialSharingDigg.js
[edit]
[-] app.min.js
[edit]
[-] 78.min.js
[edit]
[-] 38.min.js
[edit]
[-] 23.min.js
[edit]
[-] 63.min.js
[edit]
[-] 18.18.js
[edit]
[-] 19.19.js
[edit]
[-] WilGridFeaturedImage.WilGridFeaturedImage.js
[edit]
[-] WilGridTerm.WilGridTerm.js
[edit]
[-] 16.min.js
[edit]
[-] 5.min.js
[edit]
[-] bundle.min.js
[edit]
[-] WilEventWeekly.WilEventWeekly.js
[edit]
[-] MagnificGalleryPopup.min.js
[edit]
[-] 56.min.js
[edit]
[-] WilBoxesColorItems.WilBoxesColorItems.js
[edit]
[-] RegisterForm.RegisterForm.js
[edit]
[-] WilSingleNavPhotos.WilSingleNavPhotos.js
[edit]
[-] 40.min.js
[edit]
[-] 3.3.js
[edit]
[-] 23.23.js
[edit]
[-] 80.min.js
[edit]
[-] vendors~WilGoogleMap.vendors~WilGoogleMap.js
[edit]
[-] 8.min.js
[edit]
[-] WilCountdown.WilCountdown.js
[edit]
[-] AppleLogin.AppleLogin.js
[edit]
[-] vendors~WilAddToCalendar~WilSearchFormV1.vendors~WilAddToCalendar~WilSearchFormV1.js
[edit]
[-] 6.6.js
[edit]
[-] 13.13.js
[edit]
[-] 77.min.js
[edit]
[-] 37.min.js
[edit]
[-] 29.29.js
[edit]
[-] 61.min.js
[edit]
[-] WilokePayPal.min.js
[edit]
[-] 21.min.js
[edit]
[-] WilFieldsGroup.WilFieldsGroup.js
[edit]
[-] WilMapbox.WilMapbox.js
[edit]
[-] WilReviewDiscussionItem.WilReviewDiscussionItem.js
[edit]
[-] 46.min.js
[edit]
[-] WilReviewDetail.WilReviewDetail.js
[edit]
[-] becomeAnAuthor.min.js
[edit]
[-] 86.min.js
[edit]
[-] WilSearchFormPriceRange.WilSearchFormPriceRange.js
[edit]
[-] WilGridAverageRating.WilGridAverageRating.js
[edit]
[-] 90.min.js
[edit]
[-] 11.11.js
[edit]
[-] WilSocialSharingTwitter.WilSocialSharingTwitter.js
[edit]
[-] 3.min.js
[edit]
[-] 10.min.js
[edit]
[-] 7.7.js
[edit]
[-] 50.min.js
[edit]
[-] 67.min.js
[edit]
[-] 2.2.js
[edit]
[-] WilListingSettingsSidebar.WilListingSettingsSidebar.js
[edit]
[-] 27.min.js
[edit]
[-] vendors~WilCountdown.vendors~WilCountdown.js
[edit]
[-] 21.21.js
[edit]
[-] HeroSearchForm.min.js
[edit]
[-] WilSingleNavCustomContent.WilSingleNavCustomContent.js
[edit]
[-] SocialsLogin.SocialsLogin.js
[edit]
[-] WilokeSubmissionCouponCode.min.js
[edit]
[-] Follow.min.js
[edit]
[-] default~WilGoogleMap~WilMapbox.default~WilGoogleMap~WilMapbox.js
[edit]
[-] WilMessageBtn.WilMessageBtn.js
[edit]
[-] WilReportPopup.WilReportPopup.js
[edit]
[-] WilGridSkeleton.WilGridSkeleton.js
[edit]
[-] WilMessagePopup.WilMessagePopup.js
[edit]
[-] WilSocialSharingStumbleupon.WilSocialSharingStumbleupon.js
[edit]
[-] 71.min.js
[edit]
[-] 31.min.js
[edit]
[-] vendors~VueGallerySlideshow.vendors~VueGallerySlideshow.js
[edit]
[-] 84.min.js
[edit]
[-] WilSearchFormV1.WilSearchFormV1.js
[edit]
[-] SearchFormV1.min.js
[edit]
[-] vendors~WilGoogleMap~WilMapbox.vendors~WilGoogleMap~WilMapbox.js
[edit]
[-] WilSearchFormList.WilSearchFormList.js
[edit]
[-] 44.min.js
[edit]
[-] WilLayoutSwitch.WilLayoutSwitch.js
[edit]
[-] WilSingleNavContent.WilSingleNavContent.js
[edit]
[-] WilSocialSharingWhatsapp.WilSocialSharingWhatsapp.js
[edit]
[-] WilGridItem.WilGridItem.js
[edit]
[-] 52.min.js
[edit]
[-] 89.min.js
[edit]
[-] 12.min.js
[edit]
[-] 1.min.js
[edit]
[-] 20.20.js
[edit]
[-] WilFavoriteBtn.WilFavoriteBtn.js
[edit]
[-] 92.min.js
[edit]
[-] WilSingleNavVideos.WilSingleNavVideos.js
[edit]
[-] WilCommentForm.WilCommentForm.js
[edit]
[-] 8.8.js
[edit]
[-] 49.min.js
[edit]
[-] WilPromotionBtn.WilPromotionBtn.js
[edit]
[-] WilSocialSharingLists.WilSocialSharingLists.js
[edit]
[-] WilSingleListProducts.WilSingleListProducts.js
[edit]
[-] googlemap.min.js
[edit]
[-] WilQuickSearchFormPopup.WilQuickSearchFormPopup.js
[edit]
[-] vendors~single-general.min.js
[edit]
[-] 10.10.js
[edit]
[-] 25.min.js
[edit]
[-] WilSingleProductTwo.WilSingleProductTwo.js
[edit]
[-] 65.min.js
[edit]
[-] RegisterLogin.RegisterLogin.js
[edit]
[-] 33.min.js
[edit]
[-] 73.min.js
[edit]
[-] vendors~WilSearchFormV1.vendors~WilSearchFormV1.js
[edit]
[-] 68.min.js
[edit]
[-] 28.min.js
[edit]