Nimble Page Builder - Version 1.4.11

Version Description

Nimble Builder is ready for WP version 5.1. Implemented a lazy-loading option for the Google Map module, enabled by default. Various improvements of the lazy-loading feature for backgrounds.

=

Download this release

Release Info

Developer nikeo
Plugin Icon 128x128 Nimble Page Builder
Version 1.4.11
Comparing to
See all releases

Code changes from version 1.4.10 to 1.4.11

assets/front/js/ccat-nimble-front.js CHANGED
@@ -1256,6 +1256,8 @@
1256
  *
1257
  * Requires requestAnimationFrame polyfill:
1258
  * http://paulirish.com/2011/requestanimationframe-for-smart-animating/
 
 
1259
  * =================================================== */
1260
  (function ( $, window ) {
1261
  var pluginName = 'nimbleLazyLoad',
@@ -1267,16 +1269,16 @@
1267
  delaySmartLoadEvent : 0,
1268
 
1269
  },
1270
- skipImgClass = 'smartload-skip';
1271
 
1272
 
1273
  function Plugin( element, options ) {
1274
  this.element = element;
1275
  this.options = $.extend( {}, defaults, options) ;
1276
  if ( _utils_.isArray( this.options.excludeImg ) ) {
1277
- this.options.excludeImg.push( '.'+skipImgClass );
1278
  } else {
1279
- this.options.excludeImg = [ '.'+skipImgClass ];
1280
  }
1281
 
1282
  this._defaults = defaults;
@@ -1285,19 +1287,23 @@
1285
  }
1286
  Plugin.prototype.init = function () {
1287
  var self = this,
1288
- $_ImgOrBackgroundElements = $( '[data-sek-src]:not('+ this.options.excludeImg.join() +')' , this.element );
1289
 
1290
  this.increment = 1;//used to wait a little bit after the first user scroll actions to trigger the timer
1291
  this.timer = 0;
1292
 
1293
- $_ImgOrBackgroundElements
1294
- .addClass( skipImgClass )
1295
- .bind( 'sek_load_img', {}, function() {
1296
- self._load_img(this);
1297
- });
1298
- $(window).scroll( function( _evt ) { self._better_scroll_event_handler( $_ImgOrBackgroundElements, _evt ); } );
1299
- $(window).resize( _utils_.debounce( function( _evt ) { self._maybe_trigger_load( $_ImgOrBackgroundElements, _evt ); }, 100 ) );
1300
- this._maybe_trigger_load( $_ImgOrBackgroundElements );
 
 
 
 
1301
  };
1302
 
1303
 
@@ -1307,12 +1313,12 @@
1307
  * @return : void
1308
  * scroll event performance enhancer => avoid browser stack if too much scrolls
1309
  */
1310
- Plugin.prototype._better_scroll_event_handler = function( $_ImgOrBackgroundElements , _evt ) {
1311
  var self = this;
1312
  if ( ! this.doingAnimation ) {
1313
  this.doingAnimation = true;
1314
  window.requestAnimationFrame(function() {
1315
- self._maybe_trigger_load( $_ImgOrBackgroundElements , _evt );
1316
  self.doingAnimation = false;
1317
  });
1318
  }
@@ -1324,11 +1330,16 @@
1324
  * @param : current event
1325
  * @return : void
1326
  */
1327
- Plugin.prototype._maybe_trigger_load = function( $_ImgOrBackgroundElements , _evt ) {
1328
  var self = this,
1329
- _visible_list = $_ImgOrBackgroundElements.filter( function( ind, _el ) { return self._is_visible( _el , _evt ); } );
 
1330
  _visible_list.map( function( ind, _el ) {
1331
- $(_el).trigger( 'sek_load_img' );
 
 
 
 
1332
  });
1333
  };
1334
 
@@ -1340,11 +1351,30 @@
1340
  * helper to check if an image is the visible ( viewport + custom option threshold)
1341
  */
1342
  Plugin.prototype._is_visible = function( element, _evt ) {
1343
- var $element = $(element),
1344
- wt = $(window).scrollTop(),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1345
  wb = wt + $(window).height(),
1346
- it = $element.offset().top,
1347
- ib = it + $element.height(),
1348
  th = this.options.threshold;
1349
  if ( _evt && 'scroll' == _evt.type && this.options.load_all_images_on_first_scroll )
1350
  return true;
@@ -1395,6 +1425,28 @@
1395
  }
1396
  $_el.removeClass('lazy-loading');
1397
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1398
  $.fn[pluginName] = function ( options ) {
1399
  return this.each(function () {
1400
  if (!$.data(this, 'plugin_' + pluginName)) {
@@ -1480,8 +1532,11 @@
1480
  });
1481
  };
1482
  Plugin.prototype.checkIfIsVisibleAndCacheProperties = function( _evt ) {
1483
- var $element = this.element,
1484
- scrollTop = this.$_window.scrollTop(),
 
 
 
1485
  wb = scrollTop + this.$_window.height(),
1486
  offsetTop = $element.offset().top,
1487
  ib = offsetTop + $element.outerHeight();
1256
  *
1257
  * Requires requestAnimationFrame polyfill:
1258
  * http://paulirish.com/2011/requestanimationframe-for-smart-animating/
1259
+ *
1260
+ * Feb 2019 : added support for iframe lazyloading for https://github.com/presscustomizr/nimble-builder/issues/361
1261
  * =================================================== */
1262
  (function ( $, window ) {
1263
  var pluginName = 'nimbleLazyLoad',
1269
  delaySmartLoadEvent : 0,
1270
 
1271
  },
1272
+ skipLazyLoadClass = 'smartload-skip';
1273
 
1274
 
1275
  function Plugin( element, options ) {
1276
  this.element = element;
1277
  this.options = $.extend( {}, defaults, options) ;
1278
  if ( _utils_.isArray( this.options.excludeImg ) ) {
1279
+ this.options.excludeImg.push( '.'+skipLazyLoadClass );
1280
  } else {
1281
+ this.options.excludeImg = [ '.'+skipLazyLoadClass ];
1282
  }
1283
 
1284
  this._defaults = defaults;
1287
  }
1288
  Plugin.prototype.init = function () {
1289
  var self = this,
1290
+ $_ImgOrDivOrIFrameElements = $( '[data-sek-src]:not('+ this.options.excludeImg.join() +'), [data-sek-iframe-src]' , this.element );
1291
 
1292
  this.increment = 1;//used to wait a little bit after the first user scroll actions to trigger the timer
1293
  this.timer = 0;
1294
 
1295
+ $_ImgOrDivOrIFrameElements
1296
+ .addClass( skipLazyLoadClass )
1297
+ .bind( 'sek_load_img', {}, function() { self._load_img(this); })
1298
+ .bind( 'sek_load_iframe', {}, function() { self._load_iframe(this); });
1299
+ $(window).scroll( function( _evt ) {
1300
+ self._better_scroll_event_handler( $_ImgOrDivOrIFrameElements, _evt );
1301
+ });
1302
+ $(window).resize( _utils_.debounce( function( _evt ) {
1303
+ self._maybe_trigger_load( $_ImgOrDivOrIFrameElements, _evt );
1304
+ }, 100 ) );
1305
+ this._maybe_trigger_load( $_ImgOrDivOrIFrameElements);
1306
+
1307
  };
1308
 
1309
 
1313
  * @return : void
1314
  * scroll event performance enhancer => avoid browser stack if too much scrolls
1315
  */
1316
+ Plugin.prototype._better_scroll_event_handler = function( $_Elements , _evt ) {
1317
  var self = this;
1318
  if ( ! this.doingAnimation ) {
1319
  this.doingAnimation = true;
1320
  window.requestAnimationFrame(function() {
1321
+ self._maybe_trigger_load( $_Elements , _evt );
1322
  self.doingAnimation = false;
1323
  });
1324
  }
1330
  * @param : current event
1331
  * @return : void
1332
  */
1333
+ Plugin.prototype._maybe_trigger_load = function( $_Elements , _evt ) {
1334
  var self = this,
1335
+ _visible_list = $_Elements.filter( function( ind, _el ) { return self._is_visible( _el , _evt ); } );
1336
+
1337
  _visible_list.map( function( ind, _el ) {
1338
+ if ( 'IFRAME' === $(_el).prop("tagName") ) {
1339
+ $(_el).trigger( 'sek_load_iframe' );
1340
+ } else {
1341
+ $(_el).trigger( 'sek_load_img' );
1342
+ }
1343
  });
1344
  };
1345
 
1351
  * helper to check if an image is the visible ( viewport + custom option threshold)
1352
  */
1353
  Plugin.prototype._is_visible = function( element, _evt ) {
1354
+ var sniffFirstVisiblePrevElement = function( $el ) {
1355
+ if ( $el.length > 0 && $el.is(':visible') )
1356
+ return $el;
1357
+ var $prev = $el.prev();
1358
+ if ( $prev.length > 0 && $prev.is(':visible') ) {
1359
+ return $prev;
1360
+ }
1361
+ if ( $prev.length > 0 && !$prev.is(':visible') ) {
1362
+ return sniffFirstVisiblePrevElement( $prev );
1363
+ }
1364
+ var $parent = $el.parent();
1365
+ if ( $parent.length > 0 ) {
1366
+ return sniffFirstVisiblePrevElement( $parent );
1367
+ }
1368
+ return null;
1369
+ };
1370
+ var $el_candidate = sniffFirstVisiblePrevElement( $(element) );
1371
+ if ( !$el_candidate || $el_candidate.length < 1 )
1372
+ return false;
1373
+
1374
+ var wt = $(window).scrollTop(),
1375
  wb = wt + $(window).height(),
1376
+ it = $el_candidate.offset().top,
1377
+ ib = it + $el_candidate.height(),
1378
  th = this.options.threshold;
1379
  if ( _evt && 'scroll' == _evt.type && this.options.load_all_images_on_first_scroll )
1380
  return true;
1425
  }
1426
  $_el.removeClass('lazy-loading');
1427
  };
1428
+
1429
+
1430
+ /*
1431
+ * @param single iframe el object
1432
+ * @return void
1433
+ */
1434
+ Plugin.prototype._load_iframe = function( _el_ ) {
1435
+ var $_el = $(_el_),
1436
+ self = this;
1437
+ $_el.unbind('sek_load_iframe');
1438
+
1439
+ $_el.attr( 'src', function() {
1440
+ var src = $(this).attr('data-sek-iframe-src');
1441
+ $(this).removeAttr('data-sek-iframe-src');
1442
+ $_el.data('sek-lazy-loaded', true );
1443
+ $_el.trigger('smartload');
1444
+ if ( ! $_el.hasClass('sek-lazy-loaded') ) {
1445
+ $_el.addClass('sek-lazy-loaded');
1446
+ }
1447
+ return src;
1448
+ });
1449
+ };
1450
  $.fn[pluginName] = function ( options ) {
1451
  return this.each(function () {
1452
  if (!$.data(this, 'plugin_' + pluginName)) {
1532
  });
1533
  };
1534
  Plugin.prototype.checkIfIsVisibleAndCacheProperties = function( _evt ) {
1535
+ var $element = this.element;
1536
+ if ( ! $element.is(':visible') )
1537
+ return false;
1538
+
1539
+ var scrollTop = this.$_window.scrollTop(),
1540
  wb = scrollTop + this.$_window.height(),
1541
  offsetTop = $element.offset().top,
1542
  ib = offsetTop + $element.outerHeight();
assets/front/js/ccat-nimble-front.min.js CHANGED
@@ -1 +1 @@
1
- !function(){var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},t=n._,r=Array.prototype,a=Object.prototype,f="undefined"!=typeof Symbol?Symbol.prototype:null,i=r.push,s=r.slice,p=a.toString,o=a.hasOwnProperty,e=Array.isArray,u=Object.keys,l=Object.create,c=function(){},h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._utils_=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._utils_=h),h.VERSION="1.9.1";var d,v=function(i,o,n){if(void 0===o)return i;switch(null==n?3:n){case 1:return function(n){return i.call(o,n)};case 3:return function(n,t,e){return i.call(o,n,t,e)};case 4:return function(n,t,e,r){return i.call(o,n,t,e,r)}}return function(){return i.apply(o,arguments)}},g=function(n,t,e){return h.iteratee!==d?h.iteratee(n,t):null==n?h.identity:h.isFunction(n)?v(n,t,e):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)};h.iteratee=d=function(n,t){return g(n,t,1/0)};var m=function(i,o){return o=null==o?i.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),e=0;e<n;e++)t[e]=arguments[e+o];switch(o){case 0:return i.call(this,t);case 1:return i.call(this,arguments[0],t);case 2:return i.call(this,arguments[0],arguments[1],t)}var r=Array(o+1);for(e=0;e<o;e++)r[e]=arguments[e];return r[o]=t,i.apply(this,r)}},y=function(n){if(!h.isObject(n))return{};if(l)return l(n);c.prototype=n;var t=new c;return c.prototype=null,t},_=function(t){return function(n){return null==n?void 0:n[t]}},b=function(n,t){return null!=n&&o.call(n,t)},k=function(n,t){for(var e=t.length,r=0;r<e;r++){if(null==n)return;n=n[t[r]]}return e?n:void 0},x=Math.pow(2,53)-1,w=_("length"),A=function(n){var t=w(n);return"number"==typeof t&&0<=t&&t<=x};h.each=h.forEach=function(n,t,e){var r,i;if(t=v(t,e),A(n))for(r=0,i=n.length;r<i;r++)t(n[r],r,n);else{var o=h.keys(n);for(r=0,i=o.length;r<i;r++)t(n[o[r]],o[r],n)}return n},h.map=h.collect=function(n,t,e){t=g(t,e);for(var r=!A(n)&&h.keys(n),i=(r||n).length,o=Array(i),a=0;a<i;a++){var u=r?r[a]:a;o[a]=t(n[u],u,n)}return o};var I=function(s){return function(n,t,e,r){var i=3<=arguments.length;return function(n,t,e,r){var i=!A(n)&&h.keys(n),o=(i||n).length,a=0<s?0:o-1;for(r||(e=n[i?i[a]:a],a+=s);0<=a&&a<o;a+=s){var u=i?i[a]:a;e=t(e,n[u],u,n)}return e}(n,v(t,r,4),e,i)}};h.reduce=h.foldl=h.inject=I(1),h.reduceRight=h.foldr=I(-1),h.find=h.detect=function(n,t,e){var r=(A(n)?h.findIndex:h.findKey)(n,t,e);if(void 0!==r&&-1!==r)return n[r]},h.filter=h.select=function(n,r,t){var i=[];return r=g(r,t),h.each(n,function(n,t,e){r(n,t,e)&&i.push(n)}),i},h.reject=function(n,t,e){return h.filter(n,h.negate(g(t)),e)},h.every=h.all=function(n,t,e){t=g(t,e);for(var r=!A(n)&&h.keys(n),i=(r||n).length,o=0;o<i;o++){var a=r?r[o]:o;if(!t(n[a],a,n))return!1}return!0},h.some=h.any=function(n,t,e){t=g(t,e);for(var r=!A(n)&&h.keys(n),i=(r||n).length,o=0;o<i;o++){var a=r?r[o]:o;if(t(n[a],a,n))return!0}return!1},h.contains=h.includes=h.include=function(n,t,e,r){return A(n)||(n=h.values(n)),("number"!=typeof e||r)&&(e=0),0<=h.indexOf(n,t,e)},h.invoke=m(function(n,e,r){var i,o;return h.isFunction(e)?o=e:h.isArray(e)&&(i=e.slice(0,-1),e=e[e.length-1]),h.map(n,function(n){var t=o;if(!t){if(i&&i.length&&(n=k(n,i)),null==n)return;t=n[e]}return null==t?t:t.apply(n,r)})}),h.pluck=function(n,t){return h.map(n,h.property(t))},h.where=function(n,t){return h.filter(n,h.matcher(t))},h.findWhere=function(n,t){return h.find(n,h.matcher(t))},h.max=function(n,r,t){var e,i,o=-1/0,a=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var u=0,s=(n=A(n)?n:h.values(n)).length;u<s;u++)null!=(e=n[u])&&o<e&&(o=e);else r=g(r,t),h.each(n,function(n,t,e){i=r(n,t,e),(a<i||i===-1/0&&o===-1/0)&&(o=n,a=i)});return o},h.min=function(n,r,t){var e,i,o=1/0,a=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var u=0,s=(n=A(n)?n:h.values(n)).length;u<s;u++)null!=(e=n[u])&&e<o&&(o=e);else r=g(r,t),h.each(n,function(n,t,e){((i=r(n,t,e))<a||i===1/0&&o===1/0)&&(o=n,a=i)});return o},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,t,e){if(null==t||e)return A(n)||(n=h.values(n)),n[h.random(n.length-1)];var r=A(n)?h.clone(n):h.values(n),i=w(r);t=Math.max(Math.min(t,i),0);for(var o=i-1,a=0;a<t;a++){var u=h.random(a,o),s=r[a];r[a]=r[u],r[u]=s}return r.slice(0,t)},h.sortBy=function(n,r,t){var i=0;return r=g(r,t),h.pluck(h.map(n,function(n,t,e){return{value:n,index:i++,criteria:r(n,t,e)}}).sort(function(n,t){var e=n.criteria,r=t.criteria;if(e!==r){if(r<e||void 0===e)return 1;if(e<r||void 0===r)return-1}return n.index-t.index}),"value")};var O=function(a,t){return function(r,i,n){var o=t?[[],[]]:{};return i=g(i,n),h.each(r,function(n,t){var e=i(n,t,r);a(o,n,e)}),o}};h.groupBy=O(function(n,t,e){b(n,e)?n[e].push(t):n[e]=[t]}),h.indexBy=O(function(n,t,e){n[e]=t}),h.countBy=O(function(n,t,e){b(n,e)?n[e]++:n[e]=1});var E=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?s.call(n):h.isString(n)?n.match(E):A(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:A(n)?n.length:h.keys(n).length},h.partition=O(function(n,t,e){n[e?0:1].push(t)},!0),h.first=h.head=h.take=function(n,t,e){return null==n||n.length<1?null==t?void 0:[]:null==t||e?n[0]:h.initial(n,n.length-t)},h.initial=function(n,t,e){return s.call(n,0,Math.max(0,n.length-(null==t||e?1:t)))},h.last=function(n,t,e){return null==n||n.length<1?null==t?void 0:[]:null==t||e?n[n.length-1]:h.rest(n,Math.max(0,n.length-t))},h.rest=h.tail=h.drop=function(n,t,e){return s.call(n,null==t||e?1:t)},h.compact=function(n){return h.filter(n,Boolean)};var j=function(n,t,e,r){for(var i=(r=r||[]).length,o=0,a=w(n);o<a;o++){var u=n[o];if(A(u)&&(h.isArray(u)||h.isArguments(u)))if(t)for(var s=0,l=u.length;s<l;)r[i++]=u[s++];else j(u,t,e,r),i=r.length;else e||(r[i++]=u)}return r};h.flatten=function(n,t){return j(n,t,!1)},h.without=m(function(n,t){return h.difference(n,t)}),h.uniq=h.unique=function(n,t,e,r){h.isBoolean(t)||(r=e,e=t,t=!1),null!=e&&(e=g(e,r));for(var i=[],o=[],a=0,u=w(n);a<u;a++){var s=n[a],l=e?e(s,a,n):s;t&&!e?(a&&o===l||i.push(s),o=l):e?h.contains(o,l)||(o.push(l),i.push(s)):h.contains(i,s)||i.push(s)}return i},h.union=m(function(n){return h.uniq(j(n,!0,!0))}),h.intersection=function(n){for(var t=[],e=arguments.length,r=0,i=w(n);r<i;r++){var o=n[r];if(!h.contains(t,o)){var a;for(a=1;a<e&&h.contains(arguments[a],o);a++);a===e&&t.push(o)}}return t},h.difference=m(function(n,t){return t=j(t,!0,!0),h.filter(n,function(n){return!h.contains(t,n)})}),h.unzip=function(n){for(var t=n&&h.max(n,w).length||0,e=Array(t),r=0;r<t;r++)e[r]=h.pluck(n,r);return e},h.zip=m(h.unzip),h.object=function(n,t){for(var e={},r=0,i=w(n);r<i;r++)t?e[n[r]]=t[r]:e[n[r][0]]=n[r][1];return e};var C=function(o){return function(n,t,e){t=g(t,e);for(var r=w(n),i=0<o?0:r-1;0<=i&&i<r;i+=o)if(t(n[i],i,n))return i;return-1}};h.findIndex=C(1),h.findLastIndex=C(-1),h.sortedIndex=function(n,t,e,r){for(var i=(e=g(e,r,1))(t),o=0,a=w(n);o<a;){var u=Math.floor((o+a)/2);e(n[u])<i?o=u+1:a=u}return o};var F=function(o,a,u){return function(n,t,e){var r=0,i=w(n);if("number"==typeof e)0<o?r=0<=e?e:Math.max(e+i,r):i=0<=e?Math.min(e+1,i):e+i+1;else if(u&&e&&i)return n[e=u(n,t)]===t?e:-1;if(t!=t)return 0<=(e=a(s.call(n,r,i),h.isNaN))?e+r:-1;for(e=0<o?r:i-1;0<=e&&e<i;e+=o)if(n[e]===t)return e;return-1}};h.indexOf=F(1,h.findIndex,h.sortedIndex),h.lastIndexOf=F(-1,h.findLastIndex),h.range=function(n,t,e){null==t&&(t=n||0,n=0),e||(e=t<n?-1:1);for(var r=Math.max(Math.ceil((t-n)/e),0),i=Array(r),o=0;o<r;o++,n+=e)i[o]=n;return i},h.chunk=function(n,t){if(null==t||t<1)return[];for(var e=[],r=0,i=n.length;r<i;)e.push(s.call(n,r,r+=t));return e};var S=function(n,t,e,r,i){if(!(r instanceof t))return n.apply(e,i);var o=y(n.prototype),a=n.apply(o,i);return h.isObject(a)?a:o};h.bind=m(function(t,e,r){if(!h.isFunction(t))throw new TypeError("Bind must be called on a function");var i=m(function(n){return S(t,i,e,this,r.concat(n))});return i}),h.partial=m(function(i,o){var a=h.partial.placeholder,u=function(){for(var n=0,t=o.length,e=Array(t),r=0;r<t;r++)e[r]=o[r]===a?arguments[n++]:o[r];for(;n<arguments.length;)e.push(arguments[n++]);return S(i,u,this,this,e)};return u}),(h.partial.placeholder=h).bindAll=m(function(n,t){var e=(t=j(t,!1,!1)).length;if(e<1)throw new Error("bindAll must be passed function names");for(;e--;){var r=t[e];n[r]=h.bind(n[r],n)}}),h.memoize=function(r,i){var o=function(n){var t=o.cache,e=""+(i?i.apply(this,arguments):n);return b(t,e)||(t[e]=r.apply(this,arguments)),t[e]};return o.cache={},o},h.delay=m(function(n,t,e){return setTimeout(function(){return n.apply(null,e)},t)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(e,r,i){var o,a,u,s,l=0;i||(i={});var c=function(){l=!1===i.leading?0:h.now(),o=null,s=e.apply(a,u),o||(a=u=null)},n=function(){var n=h.now();l||!1!==i.leading||(l=n);var t=r-(n-l);return a=this,u=arguments,t<=0||r<t?(o&&(clearTimeout(o),o=null),l=n,s=e.apply(a,u),o||(a=u=null)):o||!1===i.trailing||(o=setTimeout(c,t)),s};return n.cancel=function(){clearTimeout(o),l=0,o=a=u=null},n},h.debounce=function(e,r,i){var o,a,u=function(n,t){o=null,t&&(a=e.apply(n,t))},n=m(function(n){if(o&&clearTimeout(o),i){var t=!o;o=setTimeout(u,r),t&&(a=e.apply(this,n))}else o=h.delay(u,r,this,n);return a});return n.cancel=function(){clearTimeout(o),o=null},n},h.wrap=function(n,t){return h.partial(t,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var e=arguments,r=e.length-1;return function(){for(var n=r,t=e[r].apply(this,arguments);n--;)t=e[n].call(this,t);return t}},h.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},h.before=function(n,t){var e;return function(){return 0<--n&&(e=t.apply(this,arguments)),n<=1&&(t=null),e}},h.once=h.partial(h.before,2),h.restArguments=m;var P=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],N=function(n,t){var e=T.length,r=n.constructor,i=h.isFunction(r)&&r.prototype||a,o="constructor";for(b(n,o)&&!h.contains(t,o)&&t.push(o);e--;)(o=T[e])in n&&n[o]!==i[o]&&!h.contains(t,o)&&t.push(o)};h.keys=function(n){if(!h.isObject(n))return[];if(u)return u(n);var t=[];for(var e in n)b(n,e)&&t.push(e);return P&&N(n,t),t},h.allKeys=function(n){if(!h.isObject(n))return[];var t=[];for(var e in n)t.push(e);return P&&N(n,t),t},h.values=function(n){for(var t=h.keys(n),e=t.length,r=Array(e),i=0;i<e;i++)r[i]=n[t[i]];return r},h.mapObject=function(n,t,e){t=g(t,e);for(var r=h.keys(n),i=r.length,o={},a=0;a<i;a++){var u=r[a];o[u]=t(n[u],u,n)}return o},h.pairs=function(n){for(var t=h.keys(n),e=t.length,r=Array(e),i=0;i<e;i++)r[i]=[t[i],n[t[i]]];return r},h.invert=function(n){for(var t={},e=h.keys(n),r=0,i=e.length;r<i;r++)t[n[e[r]]]=e[r];return t},h.functions=h.methods=function(n){var t=[];for(var e in n)h.isFunction(n[e])&&t.push(e);return t.sort()};var D=function(s,l){return function(n){var t=arguments.length;if(l&&(n=Object(n)),t<2||null==n)return n;for(var e=1;e<t;e++)for(var r=arguments[e],i=s(r),o=i.length,a=0;a<o;a++){var u=i[a];l&&void 0!==n[u]||(n[u]=r[u])}return n}};h.extend=D(h.allKeys),h.extendOwn=h.assign=D(h.keys),h.findKey=function(n,t,e){t=g(t,e);for(var r,i=h.keys(n),o=0,a=i.length;o<a;o++)if(t(n[r=i[o]],r,n))return r};var M,z,L=function(n,t,e){return t in e};h.pick=m(function(n,t){var e={},r=t[0];if(null==n)return e;h.isFunction(r)?(1<t.length&&(r=v(r,t[1])),t=h.allKeys(n)):(r=L,t=j(t,!1,!1),n=Object(n));for(var i=0,o=t.length;i<o;i++){var a=t[i],u=n[a];r(u,a,n)&&(e[a]=u)}return e}),h.omit=m(function(n,e){var t,r=e[0];return h.isFunction(r)?(r=h.negate(r),1<e.length&&(t=e[1])):(e=h.map(j(e,!1,!1),String),r=function(n,t){return!h.contains(e,t)}),h.pick(n,r,t)}),h.defaults=D(h.allKeys,!0),h.create=function(n,t){var e=y(n);return t&&h.extendOwn(e,t),e},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,t){return t(n),n},h.isMatch=function(n,t){var e=h.keys(t),r=e.length;if(null==n)return!r;for(var i=Object(n),o=0;o<r;o++){var a=e[o];if(t[a]!==i[a]||!(a in i))return!1}return!0},M=function(n,t,e,r){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return!1;if(n!=n)return t!=t;var i=typeof n;return("function"===i||"object"===i||"object"==typeof t)&&z(n,t,e,r)},z=function(n,t,e,r){n instanceof h&&(n=n._wrapped),t instanceof h&&(t=t._wrapped);var i=p.call(n);if(i!==p.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!=+n?+t!=+t:0==+n?1/+n==1/t:+n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object Symbol]":return f.valueOf.call(n)===f.valueOf.call(t)}var o="[object Array]"===i;if(!o){if("object"!=typeof n||"object"!=typeof t)return!1;var a=n.constructor,u=t.constructor;if(a!==u&&!(h.isFunction(a)&&a instanceof a&&h.isFunction(u)&&u instanceof u)&&"constructor"in n&&"constructor"in t)return!1}r=r||[];for(var s=(e=e||[]).length;s--;)if(e[s]===n)return r[s]===t;if(e.push(n),r.push(t),o){if((s=n.length)!==t.length)return!1;for(;s--;)if(!M(n[s],t[s],e,r))return!1}else{var l,c=h.keys(n);if(s=c.length,h.keys(t).length!==s)return!1;for(;s--;)if(l=c[s],!b(t,l)||!M(n[l],t[l],e,r))return!1}return e.pop(),r.pop(),!0},h.isEqual=function(n,t){return M(n,t)},h.isEmpty=function(n){return null==n||(A(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=e||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(t){h["is"+t]=function(n){return p.call(n)==="[object "+t+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return b(n,"callee")});var B=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof B&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,t){if(!h.isArray(t))return b(n,t);for(var e=t.length,r=0;r<e;r++){var i=t[r];if(null==n||!o.call(n,i))return!1;n=n[i]}return!!e},h.noConflict=function(){return n._=t,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(t){return h.isArray(t)?function(n){return k(n,t)}:_(t)},h.propertyOf=function(t){return null==t?function(){}:function(n){return h.isArray(n)?k(t,n):t[n]}},h.matcher=h.matches=function(t){return t=h.extendOwn({},t),function(n){return h.isMatch(n,t)}},h.times=function(n,t,e){var r=Array(Math.max(0,n));t=v(t,e,1);for(var i=0;i<n;i++)r[i]=t(i);return r},h.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},h.now=Date.now||function(){return(new Date).getTime()};var H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},R=h.invert(H),W=function(t){var e=function(n){return t[n]},n="(?:"+h.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(n){return n=null==n?"":""+n,r.test(n)?n.replace(i,e):n}};h.escape=W(H),h.unescape=W(R),h.result=function(n,t,e){h.isArray(t)||(t=[t]);var r=t.length;if(!r)return h.isFunction(e)?e.call(n):e;for(var i=0;i<r;i++){var o=null==n?void 0:n[t[i]];void 0===o&&(o=e,i=r),n=h.isFunction(o)?o.call(n):o}return n};var $=0;h.uniqueId=function(n){var t=++$+"";return n?n+t:t},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var U=/(.)^/,V={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},q=/\\|'|\r|\n|\u2028|\u2029/g,K=function(n){return"\\"+V[n]};h.template=function(o,n,t){!n&&t&&(n=t),n=h.defaults({},n,h.templateSettings);var e,r=RegExp([(n.escape||U).source,(n.interpolate||U).source,(n.evaluate||U).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(r,function(n,t,e,r,i){return u+=o.slice(a,i).replace(q,K),a=i+n.length,t?u+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?u+="'+\n((__t=("+e+"))==null?'':__t)+\n'":r&&(u+="';\n"+r+"\n__p+='"),n}),u+="';\n",n.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{e=new Function(n.variable||"obj","_",u)}catch(n){throw n.source=u,n}var i=function(n){return e.call(this,n,h)},s=n.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},h.chain=function(n){var t=h(n);return t._chain=!0,t};var Q=function(n,t){return n._chain?h(t).chain():t};h.mixin=function(e){return h.each(h.functions(e),function(n){var t=h[n]=e[n];h.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),Q(this,t.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=r[t];h.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],Q(this,n)}}),h.each(["concat","join","slice"],function(n){var t=r[n];h.prototype[n]=function(){return Q(this,t.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(i){i.fn.fitText=function(n,t){var e=n||1,r=i.extend({minFontSize:Number.NEGATIVE_INFINITY,maxFontSize:Number.POSITIVE_INFINITY},t);return this.each(function(){var n=i(this),t=function(){n.css("font-size",Math.max(Math.min(n.width()/(10*e),parseFloat(r.maxFontSize)),parseFloat(r.minFontSize)))};t(),i(window).on("resize.fittext orientationchange.fittext",t)})}}(jQuery),function(s,l){var e="nimbleLazyLoad",r={load_all_images_on_first_scroll:!1,excludeImg:[],threshold:200,fadeIn_options:{duration:400},delaySmartLoadEvent:0},i="smartload-skip";function t(n,t){this.element=n,this.options=s.extend({},r,t),_utils_.isArray(this.options.excludeImg)?this.options.excludeImg.push("."+i):this.options.excludeImg=["."+i],this._defaults=r,this._name=e,this.init()}t.prototype.init=function(){var t=this,e=s("[data-sek-src]:not("+this.options.excludeImg.join()+")",this.element);this.increment=1,this.timer=0,e.addClass(i).bind("sek_load_img",{},function(){t._load_img(this)}),s(l).scroll(function(n){t._better_scroll_event_handler(e,n)}),s(l).resize(_utils_.debounce(function(n){t._maybe_trigger_load(e,n)},100)),this._maybe_trigger_load(e)},t.prototype._better_scroll_event_handler=function(n,t){var e=this;this.doingAnimation||(this.doingAnimation=!0,l.requestAnimationFrame(function(){e._maybe_trigger_load(n,t),e.doingAnimation=!1}))},t.prototype._maybe_trigger_load=function(n,e){var r=this;n.filter(function(n,t){return r._is_visible(t,e)}).map(function(n,t){s(t).trigger("sek_load_img")})},t.prototype._is_visible=function(n,t){var e=s(n),r=s(l).scrollTop(),i=r+s(l).height(),o=e.offset().top,a=o+e.height(),u=this.options.threshold;return!(!t||"scroll"!=t.type||!this.options.load_all_images_on_first_scroll)||r-u<=a&&o<=i+u},t.prototype._load_img=function(n){var t=s(n),e=t.attr("data-sek-src"),r=t.attr("data-sek-srcset"),i=t.attr("data-sek-sizes"),o=s("<img />",{src:e});t.addClass("lazy-loading"),t.unbind("sek_load_img"),o.load(function(){t.removeAttr(["data-sek-src","data-sek-srcset","data-sek-sizes"].join(" ")),t.data("sek-lazy-bg")?t.css("backgroundImage","url("+e+")"):(t.attr("src",e),r&&t.attr("srcset",r),i&&t.attr("sizes",i)),t.hasClass("sek-lazy-loaded")||t.addClass("sek-lazy-loaded"),t.trigger("smartload"),t.data("sek-lazy-loaded",!0)}),o[0].complete&&o.load(),t.removeClass("lazy-loading")},s.fn[e]=function(n){return this.each(function(){s.data(this,"plugin_"+e)||s.data(this,"plugin_"+e,new t(this,n))})}}(jQuery,window),function(e,r){var i="parallaxBg",o={parallaxForce:40,oncustom:[],matchMedia:"only screen and (max-width: 800px)"};function t(n,t){this.element=e(n),this.options=e.extend({},o,t,this.parseElementDataOptions()),this._defaults=o,this._name=i,this.init()}t.prototype.parseElementDataOptions=function(){return this.element.data()},t.prototype.init=function(){var t=this;this.$_window=e(r),this.doingAnimation=!1,this.isVisible=!1,this.isBefore=!1,this.isAfter=!0,("number"!=typeof t.options.parallaxForce||t.options.parallaxForce<0)&&(sekFrontLocalized.isDevMode&&console.log("parallaxBg => the provided parallaxForce is invalid => "+t.options.parallaxForce),t.options.parallaxForce=this._defaults.parallaxForce),100<t.options.parallaxForce&&(t.options.parallaxForce=100),this.$_window.scroll(function(n){t.maybeParallaxMe()}),this.$_window.resize(_utils_.debounce(function(n){t.maybeParallaxMe()},100)),this.checkIfIsVisibleAndCacheProperties(),this.setTopPositionAndBackgroundSize()},t.prototype.setTopPositionAndBackgroundSize=function(){var n=this.element,t=(n.outerHeight(),this.$_window.height()),e=n.offset().top,r=this.$_window.scrollTop(),i=100;this.isVisible?i=(e-r)/t:this.isBefore?i=1:this.isAfter&&(i=-1);var o=0<this.options.parallaxForce?t*(100-this.options.parallaxForce)/100:t,a=Math.round(i*o);this.element.css({"background-position-y":["calc(50% ",0<a?"+ ":"- ",Math.abs(a)+"px)"].join("")})},t.prototype.checkIfIsVisibleAndCacheProperties=function(n){var t=this.element,e=this.$_window.scrollTop(),r=e+this.$_window.height(),i=t.offset().top,o=i+t.outerHeight();return this.isVisible=e<=o&&i<=r,this.isBefore=r<i,this.isAfter=o<e,this.isVisible},t.prototype.maybeParallaxMe=function(){var n=this;this.checkIfIsVisibleAndCacheProperties()&&(_utils_.isFunction(r.matchMedia)&&matchMedia(n.options.matchMedia).matches?this.element.css({"background-position-y":"","background-attachment":""}):this.doingAnimation||(this.doingAnimation=!0,r.requestAnimationFrame(function(){n.setTopPositionAndBackgroundSize(),n.doingAnimation=!1})))},e.fn[i]=function(n){return this.each(function(){e.data(this,"plugin_"+i)||e.data(this,"plugin_"+i,new t(this,n))})}}(jQuery,window),jQuery(function(n){n('[data-sek-module-type="czr_image_module"]').each(function(){if($linkCandidate=n(this).find(".sek-link-to-img-lightbox"),!($linkCandidate.length<1||"string"!=typeof $linkCandidate[0].protocol||-1!==$linkCandidate[0].protocol.indexOf("javascript"))&&"function"==typeof n.fn.magnificPopup)try{$linkCandidate.magnificPopup({type:"image",closeOnContentClick:!0,closeBtnInside:!0,fixedContentPos:!0,mainClass:"mfp-no-margins mfp-with-zoom",image:{verticalFit:!0},zoom:{enabled:!0,duration:300}})}catch(n){"function"==typeof window.console.log&&console.log(n)}})}),jQuery(function(n){n(".sektion-wrapper").each(function(){try{n(this).nimbleLazyLoad()}catch(n){"function"==typeof window.console.log&&console.log(n)}})}),jQuery(function(t){t('[data-sek-bg-parallax="true"]').each(function(){t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")})}),t("body").on("sek-level-refreshed sek-section-added",function(n){"true"===t(this).data("sek-bg-parallax")?t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")}):t(this).find('[data-sek-bg-parallax="true"]').each(function(){t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")})})})}),jQuery(function(r){r("body").find(".sek-menu-module, .menu, .nav").on("click",'.menu-item [href^="#"]',function(n){n.preventDefault();var t=r(this).attr("href");if(""!==(t="string"==typeof t?t.replace("#",""):"")||null!==t){var e=r('[data-sek-level="location"]').find('[id="'+t+'"]');1===e.length&&r("html, body").animate({scrollTop:e.offset().top-150},"slow")}})}),jQuery(function(h){var n,o,a,u,s,l;!function(){var l="sek.sekDropdown",n="."+l,e={PLACE_ME:"placeme"+n,PLACE_ALL:"placeall"+n,SHOWN:"shown"+n,SHOW:"show"+n,HIDDEN:"hidden"+n,HIDE:"hide"+n,CLICK:"click"+n,TAP:"tap"+n},c="sek-dropdown-menu",t="sek-dropdown-submenu",r="show",i="menu-item-has-children",o='[data-toggle="sek-dropdown"]',a=".sek-nav-wrap .menu-item-has-children",u=".sek-nav-wrap .menu-item-has-children";h(".sek-nav .children, .sek-nav .sub-menu").addClass(c),h(".sek-nav-wrap .page_item_has_children").addClass(i),h(".sek-nav ."+c+" ."+i).addClass(t);var s,f,p;s=a,h(document).on("mouseenter",s,function(){var t=h(this);_utils_.debounce(function(){if("static"==t.find("."+c).css("position"))return!1;if(!t.hasClass(r)){t.trigger(e.SHOW).addClass(r).trigger(e.SHOWN);var n=t.children(o);n.length&&n[0].setAttribute("aria-expanded","true")}},30)()}).on("mouseleave",s,function(){var t=h(this);_utils_.debounce(function(){if(t.find("ul li:hover").length<1&&!t.closest("ul").find("li:hover").is(t)){t.trigger(e.HIDE).removeClass(r).trigger(e.HIDDEN);var n=t.children(o);n.length&&n[0].setAttribute("aria-expanded","false")}},30)()}),f="rtl"===h("html").attr("dir"),p=!1,h(window).on("resize",function(){p||(p=!0,window.requestAnimationFrame(function(){h(u+"."+r).trigger(e.PLACE_ME),p=!1}))}),h(document).on(e.PLACE_ALL,function(){h(u).trigger(e.PLACE_ME)}).on(e.SHOWN+" "+e.PLACE_ME,u,function(n){n.stopPropagation(),function(n,t){if(t&&t.namespace&&l===t.namespace){var e,r,i,o,a,u,s=n.children("."+c);s.length&&(n.css("overflow","hidden"),s.css({zIndex:"-100",display:"block"}),r=n,i=f?{_DEFAULT:"left",_OPPOSITE:"right"}:{_DEFAULT:"right",_OPPOSITE:"left"},o={OPEN_PREFIX:"open-",DD_SUBMENU:"sek-dropdown-submenu",CARET_TITLE_FLIP:"sek-menu-link__row-reverse",DROPDOWN:"sek-dropdown-menu"},a=function(n,e,t){h.each(n,function(){var n=h(this),t=n.find("a").first();1==t.length&&t.toggleClass(o.CARET_TITLE_FLIP,e==i._OPPOSITE)})},u=function(n){var t=n==i._OPPOSITE?i._DEFAULT:i._OPPOSITE;e.removeClass(o.OPEN_PREFIX+t).addClass(o.OPEN_PREFIX+n),r.hasClass(o.DD_SUBMENU)&&(a(r,n,t),a(e.children("."+o.DD_SUBMENU),n,t))},(e=s).parent().closest("."+o.DROPDOWN).hasClass(o.OPEN_PREFIX+i._OPPOSITE)?u(i._OPPOSITE):u(i._DEFAULT),e.offset().left+e.width()>h(window).width()?u("left"):e.offset().left<0&&u("right"),s.css({zIndex:"",display:""}),n.css("overflow",""))}}(h(this),n)})}(),o={SHOW:"show"+(n=".sek.sekCollapse"),SHOWN:"shown"+n,HIDE:"hide"+n,HIDDEN:"hidden"+n,CLICK_DATA_API:"click"+n+".data-api"},a="show",u="sek-collapse",s="sek-collapsing",l="sek-collapsed",h(document).on(o.CLICK_DATA_API,'[data-sek-toggle="sek-collapse"]',function(n){"A"===n.currentTarget.tagName&&n.preventDefault();var t=h(this),e=t.data("target");h(e).each(function(){var r=h(this),i=r.hasClass(a);r.stop()[i?"slideUp":"slideDown"]({duration:400,start:function(){r.addClass(s).trigger(i?o.HIDE:o.SHOW),i?t.addClass(l).attr("aria-expanded","false"):t.removeClass(l).attr("aria-expanded","true")},complete:function(){var n,t,e;i?(n=a,t=u,e=o.HIDDEN):(n=u,t=a,e=o.SHOWN),r.removeClass(s+" "+n).addClass(t).trigger(e),function(n){(n=n||h(this)).css({display:"",paddingTop:"",marginTop:"",paddingBottom:"",marginBottom:"",height:""})}(r)}})})}),h(document).on("mouseenter",".sek-nav-toggler",function(){h(this).addClass("hovering")}).on("mouseleave",".sek-nav-toggler",function(){h(this).removeClass("hovering")}).on("show.sek.sekCollapse hide.sek.sekCollapse",".sek-nav-collapse",function(){h("[data-target=#"+h(this).attr("id")+"]").removeClass("hovering"),h(window).trigger("scroll")})});
1
+ !function(){var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},t=n._,r=Array.prototype,a=Object.prototype,f="undefined"!=typeof Symbol?Symbol.prototype:null,i=r.push,s=r.slice,p=a.toString,o=a.hasOwnProperty,e=Array.isArray,u=Object.keys,l=Object.create,c=function(){},d=function(n){return n instanceof d?n:this instanceof d?void(this._wrapped=n):new d(n)};"undefined"==typeof exports||exports.nodeType?n._utils_=d:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=d),exports._utils_=d),d.VERSION="1.9.1";var h,v=function(i,o,n){if(void 0===o)return i;switch(null==n?3:n){case 1:return function(n){return i.call(o,n)};case 3:return function(n,t,e){return i.call(o,n,t,e)};case 4:return function(n,t,e,r){return i.call(o,n,t,e,r)}}return function(){return i.apply(o,arguments)}},g=function(n,t,e){return d.iteratee!==h?d.iteratee(n,t):null==n?d.identity:d.isFunction(n)?v(n,t,e):d.isObject(n)&&!d.isArray(n)?d.matcher(n):d.property(n)};d.iteratee=h=function(n,t){return g(n,t,1/0)};var m=function(i,o){return o=null==o?i.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),t=Array(n),e=0;e<n;e++)t[e]=arguments[e+o];switch(o){case 0:return i.call(this,t);case 1:return i.call(this,arguments[0],t);case 2:return i.call(this,arguments[0],arguments[1],t)}var r=Array(o+1);for(e=0;e<o;e++)r[e]=arguments[e];return r[o]=t,i.apply(this,r)}},y=function(n){if(!d.isObject(n))return{};if(l)return l(n);c.prototype=n;var t=new c;return c.prototype=null,t},_=function(t){return function(n){return null==n?void 0:n[t]}},b=function(n,t){return null!=n&&o.call(n,t)},k=function(n,t){for(var e=t.length,r=0;r<e;r++){if(null==n)return;n=n[t[r]]}return e?n:void 0},x=Math.pow(2,53)-1,w=_("length"),A=function(n){var t=w(n);return"number"==typeof t&&0<=t&&t<=x};d.each=d.forEach=function(n,t,e){var r,i;if(t=v(t,e),A(n))for(r=0,i=n.length;r<i;r++)t(n[r],r,n);else{var o=d.keys(n);for(r=0,i=o.length;r<i;r++)t(n[o[r]],o[r],n)}return n},d.map=d.collect=function(n,t,e){t=g(t,e);for(var r=!A(n)&&d.keys(n),i=(r||n).length,o=Array(i),a=0;a<i;a++){var u=r?r[a]:a;o[a]=t(n[u],u,n)}return o};var I=function(s){return function(n,t,e,r){var i=3<=arguments.length;return function(n,t,e,r){var i=!A(n)&&d.keys(n),o=(i||n).length,a=0<s?0:o-1;for(r||(e=n[i?i[a]:a],a+=s);0<=a&&a<o;a+=s){var u=i?i[a]:a;e=t(e,n[u],u,n)}return e}(n,v(t,r,4),e,i)}};d.reduce=d.foldl=d.inject=I(1),d.reduceRight=d.foldr=I(-1),d.find=d.detect=function(n,t,e){var r=(A(n)?d.findIndex:d.findKey)(n,t,e);if(void 0!==r&&-1!==r)return n[r]},d.filter=d.select=function(n,r,t){var i=[];return r=g(r,t),d.each(n,function(n,t,e){r(n,t,e)&&i.push(n)}),i},d.reject=function(n,t,e){return d.filter(n,d.negate(g(t)),e)},d.every=d.all=function(n,t,e){t=g(t,e);for(var r=!A(n)&&d.keys(n),i=(r||n).length,o=0;o<i;o++){var a=r?r[o]:o;if(!t(n[a],a,n))return!1}return!0},d.some=d.any=function(n,t,e){t=g(t,e);for(var r=!A(n)&&d.keys(n),i=(r||n).length,o=0;o<i;o++){var a=r?r[o]:o;if(t(n[a],a,n))return!0}return!1},d.contains=d.includes=d.include=function(n,t,e,r){return A(n)||(n=d.values(n)),("number"!=typeof e||r)&&(e=0),0<=d.indexOf(n,t,e)},d.invoke=m(function(n,e,r){var i,o;return d.isFunction(e)?o=e:d.isArray(e)&&(i=e.slice(0,-1),e=e[e.length-1]),d.map(n,function(n){var t=o;if(!t){if(i&&i.length&&(n=k(n,i)),null==n)return;t=n[e]}return null==t?t:t.apply(n,r)})}),d.pluck=function(n,t){return d.map(n,d.property(t))},d.where=function(n,t){return d.filter(n,d.matcher(t))},d.findWhere=function(n,t){return d.find(n,d.matcher(t))},d.max=function(n,r,t){var e,i,o=-1/0,a=-1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var u=0,s=(n=A(n)?n:d.values(n)).length;u<s;u++)null!=(e=n[u])&&o<e&&(o=e);else r=g(r,t),d.each(n,function(n,t,e){i=r(n,t,e),(a<i||i===-1/0&&o===-1/0)&&(o=n,a=i)});return o},d.min=function(n,r,t){var e,i,o=1/0,a=1/0;if(null==r||"number"==typeof r&&"object"!=typeof n[0]&&null!=n)for(var u=0,s=(n=A(n)?n:d.values(n)).length;u<s;u++)null!=(e=n[u])&&e<o&&(o=e);else r=g(r,t),d.each(n,function(n,t,e){((i=r(n,t,e))<a||i===1/0&&o===1/0)&&(o=n,a=i)});return o},d.shuffle=function(n){return d.sample(n,1/0)},d.sample=function(n,t,e){if(null==t||e)return A(n)||(n=d.values(n)),n[d.random(n.length-1)];var r=A(n)?d.clone(n):d.values(n),i=w(r);t=Math.max(Math.min(t,i),0);for(var o=i-1,a=0;a<t;a++){var u=d.random(a,o),s=r[a];r[a]=r[u],r[u]=s}return r.slice(0,t)},d.sortBy=function(n,r,t){var i=0;return r=g(r,t),d.pluck(d.map(n,function(n,t,e){return{value:n,index:i++,criteria:r(n,t,e)}}).sort(function(n,t){var e=n.criteria,r=t.criteria;if(e!==r){if(r<e||void 0===e)return 1;if(e<r||void 0===r)return-1}return n.index-t.index}),"value")};var E=function(a,t){return function(r,i,n){var o=t?[[],[]]:{};return i=g(i,n),d.each(r,function(n,t){var e=i(n,t,r);a(o,n,e)}),o}};d.groupBy=E(function(n,t,e){b(n,e)?n[e].push(t):n[e]=[t]}),d.indexBy=E(function(n,t,e){n[e]=t}),d.countBy=E(function(n,t,e){b(n,e)?n[e]++:n[e]=1});var O=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;d.toArray=function(n){return n?d.isArray(n)?s.call(n):d.isString(n)?n.match(O):A(n)?d.map(n,d.identity):d.values(n):[]},d.size=function(n){return null==n?0:A(n)?n.length:d.keys(n).length},d.partition=E(function(n,t,e){n[e?0:1].push(t)},!0),d.first=d.head=d.take=function(n,t,e){return null==n||n.length<1?null==t?void 0:[]:null==t||e?n[0]:d.initial(n,n.length-t)},d.initial=function(n,t,e){return s.call(n,0,Math.max(0,n.length-(null==t||e?1:t)))},d.last=function(n,t,e){return null==n||n.length<1?null==t?void 0:[]:null==t||e?n[n.length-1]:d.rest(n,Math.max(0,n.length-t))},d.rest=d.tail=d.drop=function(n,t,e){return s.call(n,null==t||e?1:t)},d.compact=function(n){return d.filter(n,Boolean)};var j=function(n,t,e,r){for(var i=(r=r||[]).length,o=0,a=w(n);o<a;o++){var u=n[o];if(A(u)&&(d.isArray(u)||d.isArguments(u)))if(t)for(var s=0,l=u.length;s<l;)r[i++]=u[s++];else j(u,t,e,r),i=r.length;else e||(r[i++]=u)}return r};d.flatten=function(n,t){return j(n,t,!1)},d.without=m(function(n,t){return d.difference(n,t)}),d.uniq=d.unique=function(n,t,e,r){d.isBoolean(t)||(r=e,e=t,t=!1),null!=e&&(e=g(e,r));for(var i=[],o=[],a=0,u=w(n);a<u;a++){var s=n[a],l=e?e(s,a,n):s;t&&!e?(a&&o===l||i.push(s),o=l):e?d.contains(o,l)||(o.push(l),i.push(s)):d.contains(i,s)||i.push(s)}return i},d.union=m(function(n){return d.uniq(j(n,!0,!0))}),d.intersection=function(n){for(var t=[],e=arguments.length,r=0,i=w(n);r<i;r++){var o=n[r];if(!d.contains(t,o)){var a;for(a=1;a<e&&d.contains(arguments[a],o);a++);a===e&&t.push(o)}}return t},d.difference=m(function(n,t){return t=j(t,!0,!0),d.filter(n,function(n){return!d.contains(t,n)})}),d.unzip=function(n){for(var t=n&&d.max(n,w).length||0,e=Array(t),r=0;r<t;r++)e[r]=d.pluck(n,r);return e},d.zip=m(d.unzip),d.object=function(n,t){for(var e={},r=0,i=w(n);r<i;r++)t?e[n[r]]=t[r]:e[n[r][0]]=n[r][1];return e};var C=function(o){return function(n,t,e){t=g(t,e);for(var r=w(n),i=0<o?0:r-1;0<=i&&i<r;i+=o)if(t(n[i],i,n))return i;return-1}};d.findIndex=C(1),d.findLastIndex=C(-1),d.sortedIndex=function(n,t,e,r){for(var i=(e=g(e,r,1))(t),o=0,a=w(n);o<a;){var u=Math.floor((o+a)/2);e(n[u])<i?o=u+1:a=u}return o};var F=function(o,a,u){return function(n,t,e){var r=0,i=w(n);if("number"==typeof e)0<o?r=0<=e?e:Math.max(e+i,r):i=0<=e?Math.min(e+1,i):e+i+1;else if(u&&e&&i)return n[e=u(n,t)]===t?e:-1;if(t!=t)return 0<=(e=a(s.call(n,r,i),d.isNaN))?e+r:-1;for(e=0<o?r:i-1;0<=e&&e<i;e+=o)if(n[e]===t)return e;return-1}};d.indexOf=F(1,d.findIndex,d.sortedIndex),d.lastIndexOf=F(-1,d.findLastIndex),d.range=function(n,t,e){null==t&&(t=n||0,n=0),e||(e=t<n?-1:1);for(var r=Math.max(Math.ceil((t-n)/e),0),i=Array(r),o=0;o<r;o++,n+=e)i[o]=n;return i},d.chunk=function(n,t){if(null==t||t<1)return[];for(var e=[],r=0,i=n.length;r<i;)e.push(s.call(n,r,r+=t));return e};var S=function(n,t,e,r,i){if(!(r instanceof t))return n.apply(e,i);var o=y(n.prototype),a=n.apply(o,i);return d.isObject(a)?a:o};d.bind=m(function(t,e,r){if(!d.isFunction(t))throw new TypeError("Bind must be called on a function");var i=m(function(n){return S(t,i,e,this,r.concat(n))});return i}),d.partial=m(function(i,o){var a=d.partial.placeholder,u=function(){for(var n=0,t=o.length,e=Array(t),r=0;r<t;r++)e[r]=o[r]===a?arguments[n++]:o[r];for(;n<arguments.length;)e.push(arguments[n++]);return S(i,u,this,this,e)};return u}),(d.partial.placeholder=d).bindAll=m(function(n,t){var e=(t=j(t,!1,!1)).length;if(e<1)throw new Error("bindAll must be passed function names");for(;e--;){var r=t[e];n[r]=d.bind(n[r],n)}}),d.memoize=function(r,i){var o=function(n){var t=o.cache,e=""+(i?i.apply(this,arguments):n);return b(t,e)||(t[e]=r.apply(this,arguments)),t[e]};return o.cache={},o},d.delay=m(function(n,t,e){return setTimeout(function(){return n.apply(null,e)},t)}),d.defer=d.partial(d.delay,d,1),d.throttle=function(e,r,i){var o,a,u,s,l=0;i||(i={});var c=function(){l=!1===i.leading?0:d.now(),o=null,s=e.apply(a,u),o||(a=u=null)},n=function(){var n=d.now();l||!1!==i.leading||(l=n);var t=r-(n-l);return a=this,u=arguments,t<=0||r<t?(o&&(clearTimeout(o),o=null),l=n,s=e.apply(a,u),o||(a=u=null)):o||!1===i.trailing||(o=setTimeout(c,t)),s};return n.cancel=function(){clearTimeout(o),l=0,o=a=u=null},n},d.debounce=function(e,r,i){var o,a,u=function(n,t){o=null,t&&(a=e.apply(n,t))},n=m(function(n){if(o&&clearTimeout(o),i){var t=!o;o=setTimeout(u,r),t&&(a=e.apply(this,n))}else o=d.delay(u,r,this,n);return a});return n.cancel=function(){clearTimeout(o),o=null},n},d.wrap=function(n,t){return d.partial(t,n)},d.negate=function(n){return function(){return!n.apply(this,arguments)}},d.compose=function(){var e=arguments,r=e.length-1;return function(){for(var n=r,t=e[r].apply(this,arguments);n--;)t=e[n].call(this,t);return t}},d.after=function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},d.before=function(n,t){var e;return function(){return 0<--n&&(e=t.apply(this,arguments)),n<=1&&(t=null),e}},d.once=d.partial(d.before,2),d.restArguments=m;var P=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],N=function(n,t){var e=T.length,r=n.constructor,i=d.isFunction(r)&&r.prototype||a,o="constructor";for(b(n,o)&&!d.contains(t,o)&&t.push(o);e--;)(o=T[e])in n&&n[o]!==i[o]&&!d.contains(t,o)&&t.push(o)};d.keys=function(n){if(!d.isObject(n))return[];if(u)return u(n);var t=[];for(var e in n)b(n,e)&&t.push(e);return P&&N(n,t),t},d.allKeys=function(n){if(!d.isObject(n))return[];var t=[];for(var e in n)t.push(e);return P&&N(n,t),t},d.values=function(n){for(var t=d.keys(n),e=t.length,r=Array(e),i=0;i<e;i++)r[i]=n[t[i]];return r},d.mapObject=function(n,t,e){t=g(t,e);for(var r=d.keys(n),i=r.length,o={},a=0;a<i;a++){var u=r[a];o[u]=t(n[u],u,n)}return o},d.pairs=function(n){for(var t=d.keys(n),e=t.length,r=Array(e),i=0;i<e;i++)r[i]=[t[i],n[t[i]]];return r},d.invert=function(n){for(var t={},e=d.keys(n),r=0,i=e.length;r<i;r++)t[n[e[r]]]=e[r];return t},d.functions=d.methods=function(n){var t=[];for(var e in n)d.isFunction(n[e])&&t.push(e);return t.sort()};var D=function(s,l){return function(n){var t=arguments.length;if(l&&(n=Object(n)),t<2||null==n)return n;for(var e=1;e<t;e++)for(var r=arguments[e],i=s(r),o=i.length,a=0;a<o;a++){var u=i[a];l&&void 0!==n[u]||(n[u]=r[u])}return n}};d.extend=D(d.allKeys),d.extendOwn=d.assign=D(d.keys),d.findKey=function(n,t,e){t=g(t,e);for(var r,i=d.keys(n),o=0,a=i.length;o<a;o++)if(t(n[r=i[o]],r,n))return r};var M,z,L=function(n,t,e){return t in e};d.pick=m(function(n,t){var e={},r=t[0];if(null==n)return e;d.isFunction(r)?(1<t.length&&(r=v(r,t[1])),t=d.allKeys(n)):(r=L,t=j(t,!1,!1),n=Object(n));for(var i=0,o=t.length;i<o;i++){var a=t[i],u=n[a];r(u,a,n)&&(e[a]=u)}return e}),d.omit=m(function(n,e){var t,r=e[0];return d.isFunction(r)?(r=d.negate(r),1<e.length&&(t=e[1])):(e=d.map(j(e,!1,!1),String),r=function(n,t){return!d.contains(e,t)}),d.pick(n,r,t)}),d.defaults=D(d.allKeys,!0),d.create=function(n,t){var e=y(n);return t&&d.extendOwn(e,t),e},d.clone=function(n){return d.isObject(n)?d.isArray(n)?n.slice():d.extend({},n):n},d.tap=function(n,t){return t(n),n},d.isMatch=function(n,t){var e=d.keys(t),r=e.length;if(null==n)return!r;for(var i=Object(n),o=0;o<r;o++){var a=e[o];if(t[a]!==i[a]||!(a in i))return!1}return!0},M=function(n,t,e,r){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return!1;if(n!=n)return t!=t;var i=typeof n;return("function"===i||"object"===i||"object"==typeof t)&&z(n,t,e,r)},z=function(n,t,e,r){n instanceof d&&(n=n._wrapped),t instanceof d&&(t=t._wrapped);var i=p.call(n);if(i!==p.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!=+n?+t!=+t:0==+n?1/+n==1/t:+n==+t;case"[object Date]":case"[object Boolean]":return+n==+t;case"[object Symbol]":return f.valueOf.call(n)===f.valueOf.call(t)}var o="[object Array]"===i;if(!o){if("object"!=typeof n||"object"!=typeof t)return!1;var a=n.constructor,u=t.constructor;if(a!==u&&!(d.isFunction(a)&&a instanceof a&&d.isFunction(u)&&u instanceof u)&&"constructor"in n&&"constructor"in t)return!1}r=r||[];for(var s=(e=e||[]).length;s--;)if(e[s]===n)return r[s]===t;if(e.push(n),r.push(t),o){if((s=n.length)!==t.length)return!1;for(;s--;)if(!M(n[s],t[s],e,r))return!1}else{var l,c=d.keys(n);if(s=c.length,d.keys(t).length!==s)return!1;for(;s--;)if(l=c[s],!b(t,l)||!M(n[l],t[l],e,r))return!1}return e.pop(),r.pop(),!0},d.isEqual=function(n,t){return M(n,t)},d.isEmpty=function(n){return null==n||(A(n)&&(d.isArray(n)||d.isString(n)||d.isArguments(n))?0===n.length:0===d.keys(n).length)},d.isElement=function(n){return!(!n||1!==n.nodeType)},d.isArray=e||function(n){return"[object Array]"===p.call(n)},d.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},d.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(t){d["is"+t]=function(n){return p.call(n)==="[object "+t+"]"}}),d.isArguments(arguments)||(d.isArguments=function(n){return b(n,"callee")});var B=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof B&&(d.isFunction=function(n){return"function"==typeof n||!1}),d.isFinite=function(n){return!d.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},d.isNaN=function(n){return d.isNumber(n)&&isNaN(n)},d.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},d.isNull=function(n){return null===n},d.isUndefined=function(n){return void 0===n},d.has=function(n,t){if(!d.isArray(t))return b(n,t);for(var e=t.length,r=0;r<e;r++){var i=t[r];if(null==n||!o.call(n,i))return!1;n=n[i]}return!!e},d.noConflict=function(){return n._=t,this},d.identity=function(n){return n},d.constant=function(n){return function(){return n}},d.noop=function(){},d.property=function(t){return d.isArray(t)?function(n){return k(n,t)}:_(t)},d.propertyOf=function(t){return null==t?function(){}:function(n){return d.isArray(n)?k(t,n):t[n]}},d.matcher=d.matches=function(t){return t=d.extendOwn({},t),function(n){return d.isMatch(n,t)}},d.times=function(n,t,e){var r=Array(Math.max(0,n));t=v(t,e,1);for(var i=0;i<n;i++)r[i]=t(i);return r},d.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},d.now=Date.now||function(){return(new Date).getTime()};var H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},R=d.invert(H),W=function(t){var e=function(n){return t[n]},n="(?:"+d.keys(t).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(n){return n=null==n?"":""+n,r.test(n)?n.replace(i,e):n}};d.escape=W(H),d.unescape=W(R),d.result=function(n,t,e){d.isArray(t)||(t=[t]);var r=t.length;if(!r)return d.isFunction(e)?e.call(n):e;for(var i=0;i<r;i++){var o=null==n?void 0:n[t[i]];void 0===o&&(o=e,i=r),n=d.isFunction(o)?o.call(n):o}return n};var $=0;d.uniqueId=function(n){var t=++$+"";return n?n+t:t},d.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var U=/(.)^/,V={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},q=/\\|'|\r|\n|\u2028|\u2029/g,K=function(n){return"\\"+V[n]};d.template=function(o,n,t){!n&&t&&(n=t),n=d.defaults({},n,d.templateSettings);var e,r=RegExp([(n.escape||U).source,(n.interpolate||U).source,(n.evaluate||U).source].join("|")+"|$","g"),a=0,u="__p+='";o.replace(r,function(n,t,e,r,i){return u+=o.slice(a,i).replace(q,K),a=i+n.length,t?u+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":e?u+="'+\n((__t=("+e+"))==null?'':__t)+\n'":r&&(u+="';\n"+r+"\n__p+='"),n}),u+="';\n",n.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{e=new Function(n.variable||"obj","_",u)}catch(n){throw n.source=u,n}var i=function(n){return e.call(this,n,d)},s=n.variable||"obj";return i.source="function("+s+"){\n"+u+"}",i},d.chain=function(n){var t=d(n);return t._chain=!0,t};var Q=function(n,t){return n._chain?d(t).chain():t};d.mixin=function(e){return d.each(d.functions(e),function(n){var t=d[n]=e[n];d.prototype[n]=function(){var n=[this._wrapped];return i.apply(n,arguments),Q(this,t.apply(d,n))}}),d},d.mixin(d),d.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var e=r[t];d.prototype[t]=function(){var n=this._wrapped;return e.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],Q(this,n)}}),d.each(["concat","join","slice"],function(n){var t=r[n];d.prototype[n]=function(){return Q(this,t.apply(this._wrapped,arguments))}}),d.prototype.value=function(){return this._wrapped},d.prototype.valueOf=d.prototype.toJSON=d.prototype.value,d.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return d})}(),function(i){i.fn.fitText=function(n,t){var e=n||1,r=i.extend({minFontSize:Number.NEGATIVE_INFINITY,maxFontSize:Number.POSITIVE_INFINITY},t);return this.each(function(){var n=i(this),t=function(){n.css("font-size",Math.max(Math.min(n.width()/(10*e),parseFloat(r.maxFontSize)),parseFloat(r.minFontSize)))};t(),i(window).on("resize.fittext orientationchange.fittext",t)})}}(jQuery),function(l,c){var e="nimbleLazyLoad",r={load_all_images_on_first_scroll:!1,excludeImg:[],threshold:200,fadeIn_options:{duration:400},delaySmartLoadEvent:0},i="smartload-skip";function t(n,t){this.element=n,this.options=l.extend({},r,t),_utils_.isArray(this.options.excludeImg)?this.options.excludeImg.push("."+i):this.options.excludeImg=["."+i],this._defaults=r,this._name=e,this.init()}t.prototype.init=function(){var t=this,e=l("[data-sek-src]:not("+this.options.excludeImg.join()+"), [data-sek-iframe-src]",this.element);this.increment=1,this.timer=0,e.addClass(i).bind("sek_load_img",{},function(){t._load_img(this)}).bind("sek_load_iframe",{},function(){t._load_iframe(this)}),l(c).scroll(function(n){t._better_scroll_event_handler(e,n)}),l(c).resize(_utils_.debounce(function(n){t._maybe_trigger_load(e,n)},100)),this._maybe_trigger_load(e)},t.prototype._better_scroll_event_handler=function(n,t){var e=this;this.doingAnimation||(this.doingAnimation=!0,c.requestAnimationFrame(function(){e._maybe_trigger_load(n,t),e.doingAnimation=!1}))},t.prototype._maybe_trigger_load=function(n,e){var r=this;n.filter(function(n,t){return r._is_visible(t,e)}).map(function(n,t){"IFRAME"===l(t).prop("tagName")?l(t).trigger("sek_load_iframe"):l(t).trigger("sek_load_img")})},t.prototype._is_visible=function(n,t){var r=function(n){if(0<n.length&&n.is(":visible"))return n;var t=n.prev();if(0<t.length&&t.is(":visible"))return t;if(0<t.length&&!t.is(":visible"))return r(t);var e=n.parent();return 0<e.length?r(e):null},e=r(l(n));if(!e||e.length<1)return!1;var i=l(c).scrollTop(),o=i+l(c).height(),a=e.offset().top,u=a+e.height(),s=this.options.threshold;return!(!t||"scroll"!=t.type||!this.options.load_all_images_on_first_scroll)||i-s<=u&&a<=o+s},t.prototype._load_img=function(n){var t=l(n),e=t.attr("data-sek-src"),r=t.attr("data-sek-srcset"),i=t.attr("data-sek-sizes"),o=l("<img />",{src:e});t.addClass("lazy-loading"),t.unbind("sek_load_img"),o.load(function(){t.removeAttr(["data-sek-src","data-sek-srcset","data-sek-sizes"].join(" ")),t.data("sek-lazy-bg")?t.css("backgroundImage","url("+e+")"):(t.attr("src",e),r&&t.attr("srcset",r),i&&t.attr("sizes",i)),t.hasClass("sek-lazy-loaded")||t.addClass("sek-lazy-loaded"),t.trigger("smartload"),t.data("sek-lazy-loaded",!0)}),o[0].complete&&o.load(),t.removeClass("lazy-loading")},t.prototype._load_iframe=function(n){var t=l(n);t.unbind("sek_load_iframe"),t.attr("src",function(){var n=l(this).attr("data-sek-iframe-src");return l(this).removeAttr("data-sek-iframe-src"),t.data("sek-lazy-loaded",!0),t.trigger("smartload"),t.hasClass("sek-lazy-loaded")||t.addClass("sek-lazy-loaded"),n})},l.fn[e]=function(n){return this.each(function(){l.data(this,"plugin_"+e)||l.data(this,"plugin_"+e,new t(this,n))})}}(jQuery,window),function(e,r){var i="parallaxBg",o={parallaxForce:40,oncustom:[],matchMedia:"only screen and (max-width: 800px)"};function t(n,t){this.element=e(n),this.options=e.extend({},o,t,this.parseElementDataOptions()),this._defaults=o,this._name=i,this.init()}t.prototype.parseElementDataOptions=function(){return this.element.data()},t.prototype.init=function(){var t=this;this.$_window=e(r),this.doingAnimation=!1,this.isVisible=!1,this.isBefore=!1,this.isAfter=!0,("number"!=typeof t.options.parallaxForce||t.options.parallaxForce<0)&&(sekFrontLocalized.isDevMode&&console.log("parallaxBg => the provided parallaxForce is invalid => "+t.options.parallaxForce),t.options.parallaxForce=this._defaults.parallaxForce),100<t.options.parallaxForce&&(t.options.parallaxForce=100),this.$_window.scroll(function(n){t.maybeParallaxMe()}),this.$_window.resize(_utils_.debounce(function(n){t.maybeParallaxMe()},100)),this.checkIfIsVisibleAndCacheProperties(),this.setTopPositionAndBackgroundSize()},t.prototype.setTopPositionAndBackgroundSize=function(){var n=this.element,t=(n.outerHeight(),this.$_window.height()),e=n.offset().top,r=this.$_window.scrollTop(),i=100;this.isVisible?i=(e-r)/t:this.isBefore?i=1:this.isAfter&&(i=-1);var o=0<this.options.parallaxForce?t*(100-this.options.parallaxForce)/100:t,a=Math.round(i*o);this.element.css({"background-position-y":["calc(50% ",0<a?"+ ":"- ",Math.abs(a)+"px)"].join("")})},t.prototype.checkIfIsVisibleAndCacheProperties=function(n){var t=this.element;if(!t.is(":visible"))return!1;var e=this.$_window.scrollTop(),r=e+this.$_window.height(),i=t.offset().top,o=i+t.outerHeight();return this.isVisible=e<=o&&i<=r,this.isBefore=r<i,this.isAfter=o<e,this.isVisible},t.prototype.maybeParallaxMe=function(){var n=this;this.checkIfIsVisibleAndCacheProperties()&&(_utils_.isFunction(r.matchMedia)&&matchMedia(n.options.matchMedia).matches?this.element.css({"background-position-y":"","background-attachment":""}):this.doingAnimation||(this.doingAnimation=!0,r.requestAnimationFrame(function(){n.setTopPositionAndBackgroundSize(),n.doingAnimation=!1})))},e.fn[i]=function(n){return this.each(function(){e.data(this,"plugin_"+i)||e.data(this,"plugin_"+i,new t(this,n))})}}(jQuery,window),jQuery(function(n){n('[data-sek-module-type="czr_image_module"]').each(function(){if($linkCandidate=n(this).find(".sek-link-to-img-lightbox"),!($linkCandidate.length<1||"string"!=typeof $linkCandidate[0].protocol||-1!==$linkCandidate[0].protocol.indexOf("javascript"))&&"function"==typeof n.fn.magnificPopup)try{$linkCandidate.magnificPopup({type:"image",closeOnContentClick:!0,closeBtnInside:!0,fixedContentPos:!0,mainClass:"mfp-no-margins mfp-with-zoom",image:{verticalFit:!0},zoom:{enabled:!0,duration:300}})}catch(n){"function"==typeof window.console.log&&console.log(n)}})}),jQuery(function(n){n(".sektion-wrapper").each(function(){try{n(this).nimbleLazyLoad()}catch(n){"function"==typeof window.console.log&&console.log(n)}})}),jQuery(function(t){t('[data-sek-bg-parallax="true"]').each(function(){t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")})}),t("body").on("sek-level-refreshed sek-section-added",function(n){"true"===t(this).data("sek-bg-parallax")?t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")}):t(this).find('[data-sek-bg-parallax="true"]').each(function(){t(this).parallaxBg({parallaxForce:t(this).data("sek-parallax-force")})})})}),jQuery(function(r){r("body").find(".sek-menu-module, .menu, .nav").on("click",'.menu-item [href^="#"]',function(n){n.preventDefault();var t=r(this).attr("href");if(""!==(t="string"==typeof t?t.replace("#",""):"")||null!==t){var e=r('[data-sek-level="location"]').find('[id="'+t+'"]');1===e.length&&r("html, body").animate({scrollTop:e.offset().top-150},"slow")}})}),jQuery(function(d){var n,o,a,u,s,l;!function(){var l="sek.sekDropdown",n="."+l,e={PLACE_ME:"placeme"+n,PLACE_ALL:"placeall"+n,SHOWN:"shown"+n,SHOW:"show"+n,HIDDEN:"hidden"+n,HIDE:"hide"+n,CLICK:"click"+n,TAP:"tap"+n},c="sek-dropdown-menu",t="sek-dropdown-submenu",r="show",i="menu-item-has-children",o='[data-toggle="sek-dropdown"]',a=".sek-nav-wrap .menu-item-has-children",u=".sek-nav-wrap .menu-item-has-children";d(".sek-nav .children, .sek-nav .sub-menu").addClass(c),d(".sek-nav-wrap .page_item_has_children").addClass(i),d(".sek-nav ."+c+" ."+i).addClass(t);var s,f,p;s=a,d(document).on("mouseenter",s,function(){var t=d(this);_utils_.debounce(function(){if("static"==t.find("."+c).css("position"))return!1;if(!t.hasClass(r)){t.trigger(e.SHOW).addClass(r).trigger(e.SHOWN);var n=t.children(o);n.length&&n[0].setAttribute("aria-expanded","true")}},30)()}).on("mouseleave",s,function(){var t=d(this);_utils_.debounce(function(){if(t.find("ul li:hover").length<1&&!t.closest("ul").find("li:hover").is(t)){t.trigger(e.HIDE).removeClass(r).trigger(e.HIDDEN);var n=t.children(o);n.length&&n[0].setAttribute("aria-expanded","false")}},30)()}),f="rtl"===d("html").attr("dir"),p=!1,d(window).on("resize",function(){p||(p=!0,window.requestAnimationFrame(function(){d(u+"."+r).trigger(e.PLACE_ME),p=!1}))}),d(document).on(e.PLACE_ALL,function(){d(u).trigger(e.PLACE_ME)}).on(e.SHOWN+" "+e.PLACE_ME,u,function(n){n.stopPropagation(),function(n,t){if(t&&t.namespace&&l===t.namespace){var e,r,i,o,a,u,s=n.children("."+c);s.length&&(n.css("overflow","hidden"),s.css({zIndex:"-100",display:"block"}),r=n,i=f?{_DEFAULT:"left",_OPPOSITE:"right"}:{_DEFAULT:"right",_OPPOSITE:"left"},o={OPEN_PREFIX:"open-",DD_SUBMENU:"sek-dropdown-submenu",CARET_TITLE_FLIP:"sek-menu-link__row-reverse",DROPDOWN:"sek-dropdown-menu"},a=function(n,e,t){d.each(n,function(){var n=d(this),t=n.find("a").first();1==t.length&&t.toggleClass(o.CARET_TITLE_FLIP,e==i._OPPOSITE)})},u=function(n){var t=n==i._OPPOSITE?i._DEFAULT:i._OPPOSITE;e.removeClass(o.OPEN_PREFIX+t).addClass(o.OPEN_PREFIX+n),r.hasClass(o.DD_SUBMENU)&&(a(r,n,t),a(e.children("."+o.DD_SUBMENU),n,t))},(e=s).parent().closest("."+o.DROPDOWN).hasClass(o.OPEN_PREFIX+i._OPPOSITE)?u(i._OPPOSITE):u(i._DEFAULT),e.offset().left+e.width()>d(window).width()?u("left"):e.offset().left<0&&u("right"),s.css({zIndex:"",display:""}),n.css("overflow",""))}}(d(this),n)})}(),o={SHOW:"show"+(n=".sek.sekCollapse"),SHOWN:"shown"+n,HIDE:"hide"+n,HIDDEN:"hidden"+n,CLICK_DATA_API:"click"+n+".data-api"},a="show",u="sek-collapse",s="sek-collapsing",l="sek-collapsed",d(document).on(o.CLICK_DATA_API,'[data-sek-toggle="sek-collapse"]',function(n){"A"===n.currentTarget.tagName&&n.preventDefault();var t=d(this),e=t.data("target");d(e).each(function(){var r=d(this),i=r.hasClass(a);r.stop()[i?"slideUp":"slideDown"]({duration:400,start:function(){r.addClass(s).trigger(i?o.HIDE:o.SHOW),i?t.addClass(l).attr("aria-expanded","false"):t.removeClass(l).attr("aria-expanded","true")},complete:function(){var n,t,e;i?(n=a,t=u,e=o.HIDDEN):(n=u,t=a,e=o.SHOWN),r.removeClass(s+" "+n).addClass(t).trigger(e),function(n){(n=n||d(this)).css({display:"",paddingTop:"",marginTop:"",paddingBottom:"",marginBottom:"",height:""})}(r)}})})}),d(document).on("mouseenter",".sek-nav-toggler",function(){d(this).addClass("hovering")}).on("mouseleave",".sek-nav-toggler",function(){d(this).removeClass("hovering")}).on("show.sek.sekCollapse hide.sek.sekCollapse",".sek-nav-collapse",function(){d("[data-target=#"+d(this).attr("id")+"]").removeClass("hovering"),d(window).trigger("scroll")})});
inc/sektions/ccat-sektions.php CHANGED
@@ -3820,7 +3820,10 @@ function sek_get_module_params_for_sek_local_performances() {
3820
  'yes' => __('Load images on scroll ( optimized )', 'nimble-builder' ),
3821
  'no' => __('Load all images on page load ( not optimized )', 'nimble-builder' )
3822
  ),
3823
- 'notice_after' => __( 'When you select "Load images on scroll", images below the viewport are loaded dynamically on scroll. This can boost performances by reducing the weight of long web pages designed with several images.', 'nimble-builder'),
 
 
 
3824
  'width-100' => true,
3825
  'title_width' => 'width-100'
3826
  )
@@ -4049,7 +4052,10 @@ function sek_get_module_params_for_sek_global_performances() {
4049
  'default' => 0,
4050
  'title_width' => 'width-80',
4051
  'input_width' => 'width-20',
4052
- 'notice_after' => __( 'Check this option to delay the loading of non visible images. Images below the viewport will be loaded dynamically on scroll. This can boost performances by reducing the weight of long web pages designed with several images.', 'nimble-builder')
 
 
 
4053
  ),
4054
  )
4055
  )//tmpl
@@ -5142,6 +5148,17 @@ function sek_get_module_params_for_czr_map_module() {
5142
  'refresh_stylesheet' => true,
5143
  'css_identifier' => 'height'
5144
  ),
 
 
 
 
 
 
 
 
 
 
 
5145
  )
5146
  ),
5147
  'render_tmpl_path' => NIMBLE_BASE_PATH . "/tmpl/modules/map_module_tmpl.php",
3820
  'yes' => __('Load images on scroll ( optimized )', 'nimble-builder' ),
3821
  'no' => __('Load all images on page load ( not optimized )', 'nimble-builder' )
3822
  ),
3823
+ 'notice_after' => sprintf('%1$s <br/><strong>%2$s</strong>',
3824
+ __( 'When you select "Load images on scroll", images below the window are loaded dynamically when scrolling. This can improve performance by reducing the weight of long web pages including multiple images.', 'nimble-builder'),
3825
+ __( 'If you use a cache plugin, make sure that this option does not conflict with your caching options.', 'nimble-builder')
3826
+ ),
3827
  'width-100' => true,
3828
  'title_width' => 'width-100'
3829
  )
4052
  'default' => 0,
4053
  'title_width' => 'width-80',
4054
  'input_width' => 'width-20',
4055
+ 'notice_after' => sprintf('%1$s <br/><strong>%2$s</strong>',
4056
+ __( 'Check this option to delay the loading of non visible images. Images below the window will be dynamically loaded when scrolling. This can improve performance by reducing the weight of long web pages including multiple images.', 'nimble-builder'),
4057
+ __( 'If you use a cache plugin, make sure that this option does not conflict with your caching options.', 'nimble-builder')
4058
+ )
4059
  ),
4060
  )
4061
  )//tmpl
5148
  'refresh_stylesheet' => true,
5149
  'css_identifier' => 'height'
5150
  ),
5151
+ 'lazyload' => array(
5152
+ 'input_type' => 'gutencheck',
5153
+ 'title' => __('Lazy load', 'nimble-builder'),
5154
+ 'default' => true,
5155
+ 'title_width' => 'width-80',
5156
+ 'input_width' => 'width-20',
5157
+ 'notice_after' => sprintf('%1$s <br/><strong>%2$s</strong>',
5158
+ __( 'With the lazy load option enabled, Nimble loads the map when it becomes visible while scrolling. This improves your page load performances.', 'nimble-builder'),
5159
+ __( 'If you use a cache plugin, make sure that this option does not conflict with your caching options.', 'nimble-builder')
5160
+ ),
5161
+ )
5162
  )
5163
  ),
5164
  'render_tmpl_path' => NIMBLE_BASE_PATH . "/tmpl/modules/map_module_tmpl.php",
nimble-builder.php CHANGED
@@ -2,7 +2,7 @@
2
  /**
3
  * Plugin Name: Nimble Page Builder
4
  * Description: Powerful drag and drop page builder using the native WordPress customizer.
5
- * Version: 1.4.10
6
  * Text Domain: nimble-builder
7
  * Author: Press Customizr
8
  * Author URI: https://nimblebuilder.com/?utm_source=wp-plugins&utm_medium=wp-dashboard&utm_campaign=author-uri
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  /* ------------------------------------------------------------------------- *
14
  * CONSTANTS
15
  /* ------------------------------------------------------------------------- */
16
- $current_version = "1.4.10";
17
  if ( !defined( "NIMBLE_VERSION" ) ) { define( "NIMBLE_VERSION", $current_version ); }
18
  if ( !defined( 'NIMBLE_DIR_NAME' ) ) { define( 'NIMBLE_DIR_NAME' , basename( dirname( __FILE__ ) ) ); }
19
  if ( !defined( 'NIMBLE_BASE_URL' ) ) { define( 'NIMBLE_BASE_URL' , plugins_url( NIMBLE_DIR_NAME ) ); }
@@ -27,7 +27,7 @@ if ( !defined( 'NIMBLE_SAVED_SECTIONS_ENABLED' ) ) { define ( 'NIMBLE_SAVED_SECT
27
  if ( !defined( 'NIMBLE_HEADER_FOOTER_ENABLED' ) ) { define ( 'NIMBLE_HEADER_FOOTER_ENABLED', false ); }
28
 
29
  if ( !defined( 'NIMBLE_DISPLAY_UPDATE_NOTICE' ) ) { define( 'NIMBLE_DISPLAY_UPDATE_NOTICE', true ); }
30
- if ( !defined( 'NIMBLE_NO_UPDATE_NOTICE_FOR_VERSION' ) ) { define( 'NIMBLE_NO_UPDATE_NOTICE_FOR_VERSION', '1.4.10' ); }
31
  if ( !defined( 'NIMBLE_WELCOME_NOTICE_ID' ) ) { define ( 'NIMBLE_WELCOME_NOTICE_ID', 'nimble-welcome-notice-12-2018' ); }
32
  // when NIMBLE_IS_PREVIEW_UI_DEBUG_MODE or $_GET['preview_ui_debug'] is true, the levels UI in the preview are not being auto removed, so we can inspect the markup and CSS
33
  if ( !defined( 'NIMBLE_IS_PREVIEW_UI_DEBUG_MODE' ) ) { define ( 'NIMBLE_IS_PREVIEW_UI_DEBUG_MODE', false ); }
2
  /**
3
  * Plugin Name: Nimble Page Builder
4
  * Description: Powerful drag and drop page builder using the native WordPress customizer.
5
+ * Version: 1.4.11
6
  * Text Domain: nimble-builder
7
  * Author: Press Customizr
8
  * Author URI: https://nimblebuilder.com/?utm_source=wp-plugins&utm_medium=wp-dashboard&utm_campaign=author-uri
13
  /* ------------------------------------------------------------------------- *
14
  * CONSTANTS
15
  /* ------------------------------------------------------------------------- */
16
+ $current_version = "1.4.11";
17
  if ( !defined( "NIMBLE_VERSION" ) ) { define( "NIMBLE_VERSION", $current_version ); }
18
  if ( !defined( 'NIMBLE_DIR_NAME' ) ) { define( 'NIMBLE_DIR_NAME' , basename( dirname( __FILE__ ) ) ); }
19
  if ( !defined( 'NIMBLE_BASE_URL' ) ) { define( 'NIMBLE_BASE_URL' , plugins_url( NIMBLE_DIR_NAME ) ); }
27
  if ( !defined( 'NIMBLE_HEADER_FOOTER_ENABLED' ) ) { define ( 'NIMBLE_HEADER_FOOTER_ENABLED', false ); }
28
 
29
  if ( !defined( 'NIMBLE_DISPLAY_UPDATE_NOTICE' ) ) { define( 'NIMBLE_DISPLAY_UPDATE_NOTICE', true ); }
30
+ if ( !defined( 'NIMBLE_NO_UPDATE_NOTICE_FOR_VERSION' ) ) { define( 'NIMBLE_NO_UPDATE_NOTICE_FOR_VERSION', '1.4.11' ); }
31
  if ( !defined( 'NIMBLE_WELCOME_NOTICE_ID' ) ) { define ( 'NIMBLE_WELCOME_NOTICE_ID', 'nimble-welcome-notice-12-2018' ); }
32
  // when NIMBLE_IS_PREVIEW_UI_DEBUG_MODE or $_GET['preview_ui_debug'] is true, the levels UI in the preview are not being auto removed, so we can inspect the markup and CSS
33
  if ( !defined( 'NIMBLE_IS_PREVIEW_UI_DEBUG_MODE' ) ) { define ( 'NIMBLE_IS_PREVIEW_UI_DEBUG_MODE', false ); }
readme.txt CHANGED
@@ -5,8 +5,8 @@ Plugin URI: https://wordpress.org/plugins/nimble-builder/
5
  Tags: page builder, customizer, drag and drop, header, footer, landing page
6
  Requires at least: 4.7
7
  Requires PHP: 5.4
8
- Tested up to: 5.0.3
9
- Stable tag: 1.4.10
10
  License: GPLv3
11
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
12
 
@@ -56,10 +56,15 @@ You'll find an online knowledge base for the Nimble builder here : [Nimble build
56
  The Nimble builder works with any WordPress theme. If you experience any problem with a specific theme, please report it in the [plugin support forum](https://wordpress.org/support/plugin/nimble-builder).
57
 
58
  == Upgrade Notice ==
59
- = 1.4.10 =
60
- Various improvements of the background options for section, columns and modules. New option to set the force of the parallax effect.
61
 
62
  == Changelog ==
 
 
 
 
 
63
  = 1.4.10 : February 17th, 2019 =
64
  * improved : various improvements of the background options for sections, columns and modules. New option to set the force of the parallax effect.
65
 
5
  Tags: page builder, customizer, drag and drop, header, footer, landing page
6
  Requires at least: 4.7
7
  Requires PHP: 5.4
8
+ Tested up to: 5.1.0
9
+ Stable tag: 1.4.11
10
  License: GPLv3
11
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
12
 
56
  The Nimble builder works with any WordPress theme. If you experience any problem with a specific theme, please report it in the [plugin support forum](https://wordpress.org/support/plugin/nimble-builder).
57
 
58
  == Upgrade Notice ==
59
+ = 1.4.11 =
60
+ Nimble Builder is ready for WP version 5.1. Implemented a lazy-loading option for the Google Map module, enabled by default. Various improvements of the lazy-loading feature for backgrounds.
61
 
62
  == Changelog ==
63
+ = 1.4.11 : February 19th, 2019 =
64
+ * fixed : hidden blocks were lazy-loaded on load because of a incorrect offset top value
65
+ * fixed : don't run parallax on hidden blocks
66
+ * improved : [Google Map Module] Load the js code when module visible
67
+
68
  = 1.4.10 : February 17th, 2019 =
69
  * improved : various improvements of the background options for sections, columns and modules. New option to set the force of the parallax effect.
70
 
tmpl/modules/map_module_tmpl.php CHANGED
@@ -16,7 +16,8 @@ if ( 0 === absint( $value['zoom'] ) ) {
16
  }
17
 
18
  printf(
19
- '<div class="sek-embed"><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?q=%s&amp;t=m&amp;z=%d&amp;output=embed&amp;iwloc=near" aria-label="%s"></iframe></div>',
 
20
  rawurlencode( $value['address'] ),
21
  absint( $value['zoom'] ),
22
  esc_attr( $value['address'] )
16
  }
17
 
18
  printf(
19
+ '<div class="sek-embed"><iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" %s="https://maps.google.com/maps?q=%s&amp;t=m&amp;z=%d&amp;output=embed&amp;iwloc=near" aria-label="%s"></iframe></div>',
20
+ ( !skp_is_customizing() && true === sek_booleanize_checkbox_val( $value['lazyload'] ) ) ? 'data-sek-iframe-src' : 'src',
21
  rawurlencode( $value['address'] ),
22
  absint( $value['zoom'] ),
23
  esc_attr( $value['address'] )