1(function($) { 2 $.fn.thegemPreloader = function(callback) { 3 $(this).each(function() { 4 var $el = $(this); 5 if(!$el.prev('.preloader').length) { 6 $('<div class="preloader">').insertBefore($el); 7 } 8 $el.data('thegemPreloader', $('img, iframe', $el).add($el.filter('img, iframe')).length); 9 if($el.data('thegemPreloader') == 0) { 10 $el.prev('.preloader').remove(); 11 callback(); 12 $el.trigger('thegem-preloader-loaded'); 13 return; 14 } 15 $('img, iframe', $el).add($el.filter('img, iframe')).each(function() { 16 var $obj = $('<img>'); 17 if($(this).prop('tagName').toLowerCase() == 'iframe') { 18 $obj = $(this); 19 } 20 $obj.attr('src', $(this).attr('src')); 21 $obj.on('load error', function() { 22 $el.data('thegemPreloader', $el.data('thegemPreloader')-1); 23 if($el.data('thegemPreloader') == 0) { 24 $el.prev('.preloader').remove(); 25 callback(); 26 $el.trigger('thegem-preloader-loaded'); 27 } 28 }); 29 }); 30 }); 31 } 32})(jQuery); 33 34(function($) { 35 36 var oWidth=$.fn.width; 37 $.fn.width=function(argument) { 38 if (arguments.length==0 && this.length==1 && this[0]===window) { 39 if (window.gemOptions.innerWidth != -1) { 40 return window.gemOptions.innerWidth; 41 } 42 var width = oWidth.apply(this,arguments); 43 window.updateGemInnerSize(width); 44 return width; 45 } 46 47 return oWidth.apply(this,arguments); 48 }; 49 50 var $page = $('#page'); 51 52 $(window).load(function() { 53 var $preloader = $('#page-preloader'); 54 if ($preloader.length && !$preloader.hasClass('preloader-loaded')) { 55 $preloader.addClass('preloader-loaded'); 56 } 57 }); 58 59 $('#site-header.animated-header').headerAnimation(); 60 61 $.fn.updateTabs = function() { 62 63 jQuery('.gem-tabs', this).each(function(index) { 64 var $tabs = $(this); 65 $tabs.thegemPreloader(function() { 66 $tabs.easyResponsiveTabs({ 67 type: 'default', 68 width: 'auto', 69 fit: false, 70 activate: function(currentTab, e) { 71 var $tab = $(currentTab.target); 72 var controls = $tab.attr('aria-controls'); 73 $tab.closest('.ui-tabs').find('.gem_tab[aria-labelledby="' + controls + '"]').trigger('tab-update'); 74 } 75 }); 76 }); 77 }); 78 79 jQuery('.gem-tour', this).each(function(index) { 80 var $tabs = $(this); 81 $tabs.thegemPreloader(function() { 82 $tabs.easyResponsiveTabs({ 83 type: 'vertical', 84 width: 'auto', 85 fit: false, 86 activate: function(currentTab, e) { 87 var $tab = $(currentTab.target); 88 var controls = $tab.attr('aria-controls'); 89 $tab.closest('.ui-tabs').find('.gem_tab[aria-labelledby="' + controls + '"]').trigger('tab-update'); 90 } 91 }); 92 }); 93 }); 94 95 }; 96 97 function fullwidth_block_after_update($item) { 98 $item.trigger('updateTestimonialsCarousel'); 99 $item.trigger('updateClientsCarousel'); 100 $item.trigger('fullwidthUpdate'); 101 } 102 103 function fullwidth_block_update($item, pageOffset, pagePaddingLeft, pageWidth,skipTrigger) { 104 var $prevElement = $item.prev(), 105 extra_padding = 0; 106 if ($prevElement.length == 0 || $prevElement.hasClass('fullwidth-block')) { 107 $prevElement = $item.parent(); 108 extra_padding = parseInt($prevElement.css('padding-left')); 109 } 110 111 var offsetKey = window.gemSettings.isRTL ? 'right' : 'left'; 112 var cssData = { 113 width: pageWidth 114 }; 115 cssData[offsetKey] = pageOffset.left - ($prevElement.length ? $prevElement.offset().left : 0) + parseInt(pagePaddingLeft) - extra_padding; 116 117 $item.css(cssData); 118 119 if (!skipTrigger) { 120 fullwidth_block_after_update($item); 121 } 122 } 123 124 var inlineFullwidths = [], 125 notInlineFullwidths = []; 126 127 $('.fullwidth-block').each(function() { 128 var $item = $(this), 129 $parents = $item.parents('.vc_row'), 130 fullw = { 131 isInline: false 132 }; 133 134 $parents.each(function() { 135 if (this.hasAttribute('data-vc-full-width')) { 136 fullw.isInline = true; 137 return false; 138 } 139 }); 140 141 if (fullw.isInline) { 142 inlineFullwidths.push(this); 143 } else { 144 notInlineFullwidths.push(this); 145 } 146 }); 147 148 function update_fullwidths(inline, init) { 149 var $needUpdate = []; 150 151 (inline ? inlineFullwidths : notInlineFullwidths).forEach(function(item) { 152 $needUpdate.push(item); 153 }); 154 155 if ($needUpdate.length > 0) { 156 var pageOffset = $page.offset(), 157 pagePaddingLeft = $page.css('padding-left'), 158 pageWidth = $page.width(); 159 160 $needUpdate.forEach(function(item) { 161 fullwidth_block_update($(item), pageOffset, pagePaddingLeft, pageWidth); 162 }); 163 } 164 } 165 166 if (!window.disableGemSlideshowPreloaderHandle) { 167 jQuery('.gem-slideshow').each(function() { 168 var $slideshow = $(this); 169 $slideshow.thegemPreloader(function() {}); 170 }); 171 } 172 173 $(function() { 174 $('#gem-icons-loading-hide').remove(); 175 $('#thegem-preloader-inline-css').remove(); 176 177 jQuery('iframe').not('.gem-video-background iframe').each(function() { 178 $(this).thegemPreloader(function() {}); 179 }); 180 181 jQuery('.gem-video-background').each(function() { 182 var $videoBG = $(this); 183 var $videoContainer = $('.gem-video-background-inner', this); 184 var ratio = $videoBG.data('aspect-ratio') ? $videoBG.data('aspect-ratio') : '16:9'; 185 var regexp = /(\d+):(\d+)/; 186 var $fullwidth = $videoBG.closest('.fullwidth-block'); 187 ratio = regexp.exec(ratio); 188 if(!ratio || parseInt(ratio[1]) == 0 || parseInt(ratio[2]) == 0) { 189 ratio = 16/9; 190 } else { 191 ratio = parseInt(ratio[1])/parseInt(ratio[2]); 192 } 193 194 function gemVideoUpdate() { 195 $videoContainer.removeAttr('style'); 196 if($videoContainer.width() / $videoContainer.height() > ratio) { 197 $videoContainer.css({ 198 height: ($videoContainer.width() / ratio) + 'px', 199 marginTop: -($videoContainer.width() / ratio - $videoBG.height()) / 2 + 'px' 200 }); 201 } else { 202 $videoContainer.css({ 203 width: ($videoContainer.height() * ratio) + 'px', 204 marginLeft: -($videoContainer.height() * ratio - $videoBG.width()) / 2 + 'px' 205 }); 206 } 207 } 208 209 if ($videoBG.closest('.page-title-block').length > 0) { 210 gemVideoUpdate(); 211 } 212 213 if ($fullwidth.length) { 214 $fullwidth.on('fullwidthUpdate', gemVideoUpdate); 215 } else { 216 $(window).resize(gemVideoUpdate); 217 } 218 }); 219 220 update_fullwidths(false, true); 221 222 if (!window.gemSettings.parallaxDisabled) { 223 $('.fullwidth-block').each(function() { 224 var $item = $(this), 225 mobile_enabled = $item.data('mobile-parallax-enable') || '0'; 226 227 if (!window.gemSettings.isTouch || mobile_enabled == '1') {
228 if ($item.hasClass('fullwidth-block-parallax-vertical')) { 229 $('.fullwidth-block-background', $item).parallaxVertical('50%'); 230 } else if ($item.hasClass('fullwidth-block-parallax-horizontal')) { 231 $('.fullwidth-block-background', $item).parallaxHorizontal(); 232 } 233 } else { 234 $('.fullwidth-block-background', $item).css({ 235 backgroundAttachment: 'scroll' 236 }); 237 } 238 }); 239 } 240 241 $(window).resize(function() { 242 update_fullwidths(false, false); 243 }); 244 245 jQuery('select.gem-combobox, .gem-combobox select, .widget_archive select, .widget_product_categories select, .widget_categories select').each(function(index) { 246 $(this).combobox(); 247 }); 248 249 jQuery('input.gem-checkbox, .gem-checkbox input').checkbox(); 250 251 if (typeof($.fn.ReStable) == "function") { 252 jQuery('.gem-table-responsive').each(function(index) { 253 $('> table', this).ReStable({ 254 maxWidth: 768, 255 rowHeaders : $(this).hasClass('row-headers') 256 }); 257 }); 258 } 259 260 jQuery('.fancybox').each(function() { 261 $(this).fancybox(); 262 }); 263 264 function init_odometer(el) { 265 if (jQuery('.gem-counter-odometer', el).size() == 0) 266 return; 267 var odometer = jQuery('.gem-counter-odometer', el).get(0); 268 var format = jQuery(el).closest('.gem-counter-box').data('number-format'); 269 format = format ? format : '(ddd).ddd'; 270 var od = new Odometer({ 271 el: odometer, 272 value: $(odometer).text(), 273 format: format 274 }); 275 od.update($(odometer).data('to')); 276 } 277 window['thegem_init_odometer'] = init_odometer; 278 279 jQuery('.gem-counter').each(function(index) { 280 if (jQuery(this).closest('.gem-counter-box').size() > 0 && jQuery(this).closest('.gem-counter-box').hasClass('lazy-loading') && !window.gemSettings.lasyDisabled) { 281 jQuery(this).addClass('lazy-loading-item').data('ll-effect', 'action').data('item-delay', '0').data('ll-action-func', 'thegem_init_odometer'); 282 jQuery('.gem-icon', this).addClass('lazy-loading-item').data('ll-effect', 'fading').data('item-delay', '0'); 283 jQuery('.gem-counter-text', this).addClass('lazy-loading-item').data('ll-effect', 'fading').data('item-delay', '0'); 284 return; 285 } 286 init_odometer(this); 287 }); 288 289 jQuery('.panel-sidebar-sticky > .sidebar').scSticky(); 290 291 jQuery('iframe + .map-locker').each(function() { 292 var $locker = $(this); 293 $locker.click(function(e) { 294 e.preventDefault(); 295 if($locker.hasClass('disabled')) { 296 $locker.prev('iframe').css({ 'pointer-events' : 'none' }); 297 } else { 298 $locker.prev('iframe').css({ 'pointer-events' : 'auto' }); 299 } 300 $locker.toggleClass('disabled'); 301 }); 302 }); 303 304 $('.primary-navigation a.mega-no-link').closest('li').removeClass('menu-item-active current-menu-item'); 305 306 function getElementPagePosition(element) { 307 var width = element.offsetWidth, 308 height = element.offsetHeight, 309 left = 0, 310 top = 0; 311 312 while (element && element.id != 'page') { 313 left += element.offsetLeft; 314 top += element.offsetTop; 315 element = element.offsetParent; 316 } 317
318 return {"left": left, "top": top, "width": width, "height": height}; 319 } 320 321 var $anhorsElements = []; 322 $('.primary-navigation a, .gem-button, .footer-navigation a, .scroll-top-button, .scroll-to-anchor, .scroll-to-anchor a, .top-area-menu a').each(function(e) { 323 var $anhor = $(this); 324 var link = $anhor.attr('href'); 325 if(!link) return ; 326 link = link.split('#'); 327 if($('#'+link[1]).hasClass('vc_tta-panel')) return ; 328 if($('#'+link[1]).length) { 329 $anhor.closest('li').removeClass('menu-item-active current-menu-item'); 330 $anhor.closest('li').parents('li').removeClass('menu-item-current'); 331 $(document).on('update-page-scroller', function(e, elem) { 332 var $elem = $(elem); 333 if(!$anhor.closest('li.menu-item').length) return ; 334 if($elem.is($('#'+link[1])) || $elem.find($('#'+link[1])).length) { 335 $anhor.closest('li').addClass('menu-item-active'); 336 $anhor.closest('li').parents('li').addClass('menu-item-current'); 337 } else { 338 $anhor.closest('li').removeClass('menu-item-active'); 339 $anhor.closest('li').parents('li.menu-item-current').each(function() { 340 if(!$('.menu-item-active', this).length) { 341 $(this).removeClass('menu-item-current'); 342 } 343 }); 344 } 345 }); 346 $anhor.click(function(e) { 347 e.preventDefault(); 348 var correction = 0; 349 var isPerspectiveMenu = $('#thegem-perspective.modalview').length; 350 351 if($('#site-header.animated-header').length) { 352 var shrink = $('#site-header').hasClass('shrink'); 353 $('#site-header').addClass('scroll-counting'); 354 $('#site-header').addClass('fixed shrink'); 355 correction = $('#site-header').outerHeight(); 356 if (!isPerspectiveMenu) { 357 var siteHeaderTop = $('#site-header').position().top; 358 if ($('#site-header').hasClass('shrink')) { 359 siteHeaderTop = 0; 360 } 361 correction += siteHeaderTop; 362 } 363 364 if(!shrink) { 365 $('#site-header').removeClass('fixed shrink'); 366 } 367 setTimeout(function() { 368 $('#site-header').removeClass('scroll-counting'); 369 }, 50); 370 } 371 var target_top = getElementPagePosition( $('#'+link[1])[0] ).top - correction + 1; 372 if($('body').hasClass('page-scroller') && $('.page-scroller-nav-pane').is(':visible')) { 373 var $block = $('#'+link[1]+'.scroller-block').add($('#'+link[1]).closest('.scroller-block')).eq(0); 374 if($block.length) { 375 $('.page-scroller-nav-pane .page-scroller-nav-item').eq($('.scroller-block').index($block)).trigger('click'); 376 } 377 } else { 378 if (isPerspectiveMenu) { 379 $('#page').stop(true, true).animate({scrollTop:target_top}, 1500, 'easeInOutQuint', function() { 380 if($anhor.closest('#thegem-perspective').length && $anhor.closest('#thegem-perspective').hasClass('modalview')) { 381 $('.perspective-menu-close').trigger('click'); 382 } 383 }); 384 } else { 385 $('html, body').stop(true, true).animate({scrollTop:target_top}, 1500, 'easeInOutQuint'); 386 } 387 if($anhor.closest('#primary-menu').length && $anhor.closest('#primary-menu').hasClass('dl-menuopen')) { 388 $('.menu-toggle').trigger('click'); 389 } 390 if($anhor.closest('.mobile-menu-slide-wrapper').length && $anhor.closest('.mobile-menu-slide-wrapper').hasClass('opened')) { 391 $('.mobile-menu-slide-close').trigger('click'); 392 } 393 if($anhor.closest('.overlay-menu-wrapper').length && $anhor.closest('.overlay-menu-wrapper').hasClass('active')) { 394 if($anhor.closest('#primary-navigation').length && $anhor.closest('#primary-navigation').hasClass('responsive')) { 395 $('.menu-toggle').trigger('click'); 396 } else { 397 $('.overlay-toggle').trigger('click'); 398 } 399 } 400 if($anhor.closest('#primary-navigation').length && $anhor.closest('#primary-navigation').hasClass('hamburger-active')) { 401 $('.hamburger-toggle').trigger('click'); 402 } 403 } 404 }); 405 $anhorsElements.push($anhor[0]); 406 } 407 }); 408 409 if ($anhorsElements.length) { 410 function anchorLinksScroll() { 411 var isPerspectiveMenu = $('#thegem-perspective.modalview').length; 412 var correction = 0; 413 414 if (!$page.hasClass('vertical-header')) { 415 correction = $('#site-header').outerHeight(); 416 if (!isPerspectiveMenu) { 417 var siteHeaderTop = $('#site-header').length ? $('#site-header').position().top : 0; 418 if ($('#site-header').hasClass('shrink')) { 419 siteHeaderTop = 0; 420 } 421 correction += siteHeaderTop; 422 } 423 } 424 425 for (var i = 0; i < $anhorsElements.length; i++) { 426 var $anhor = $($anhorsElements[i]);
427 var link = $anhor.attr('href'); 428 if(!link) continue ; 429 link = link.split('#'); 430 var scrollY = getScrollY() + $page.scrollTop(); 431 432 if(!$anhor.closest('li.menu-item').length) continue ; 433 var target_top = getElementPagePosition( $('#'+link[1])[0] ).top - correction; 434 if(scrollY >= target_top && scrollY <= target_top + $('#'+link[1]).outerHeight()) { 435 $anhor.closest('li').addClass('menu-item-active'); 436 $anhor.closest('li').parents('li').addClass('menu-item-current'); 437 } else { 438 $anhor.closest('li').removeClass('menu-item-active'); 439 $anhor.closest('li').parents('li.menu-item-current').each(function() { 440 if(!$('.menu-item-active', this).length) { 441 $(this).removeClass('menu-item-current'); 442 } 443 }); 444 } 445 } 446 } 447 448 $(window).scroll(anchorLinksScroll); 449 if ($('#thegem-perspective').length) { 450 $page.scroll(anchorLinksScroll); 451 } 452 453 $(window).load(function() { 454 for (var i = 0; i < $anhorsElements.length; i++) { 455 var anhor = $anhorsElements[i]; 456 if (anhor.href != undefined && anhor.href && window.location.href == anhor.href) { 457 anhor.click(); 458 break; 459 } 460 } 461 }); 462 } 463 464 $('body').on('click', '.post-footer-sharing .gem-button', function(e) { 465 e.preventDefault(); 466 $(this).closest('.post-footer-sharing').find('.sharing-popup').toggleClass('active'); 467 }); 468 469 var scrollTimer, 470 body = document.body; 471 472 $(window).scroll(function() { 473 clearTimeout(scrollTimer); 474 if(!body.classList.contains('disable-hover')) { 475 //body.classList.add('disable-hover') 476 } 477 478 scrollTimer = setTimeout(function(){ 479 //body.classList.remove('disable-hover') 480 }, 300); 481 482 if(getScrollY() > 0) { 483 $('.scroll-top-button').addClass('visible'); 484 } else { 485 $('.scroll-top-button').removeClass('visible'); 486 } 487 }).scroll(); 488 489 function getScrollY(elem){ 490 return window.pageYOffset || document.documentElement.scrollTop; 491 } 492 493 $('a.hidden-email').each(function() { 494 $(this).attr('href', 'mailto:'+$(this).data('name')+'@'+$(this).data('domain')); 495 }); 496 497 $('#colophon .footer-widget-area').thegemPreloader(function() { 498 $('#colophon .footer-widget-area').isotope({ 499 itemSelector: '.widget', 500 layoutMode: 'masonry' 501 }); 502 }); 503 504 $('body').updateTabs(); 505 }); 506 507 $(document).on('show.vc.accordion', '[data-vc-accordion]', function() { 508 var $target = $(this).data('vc.accordion').getContainer(); 509 var correction = 0; 510 if(!$target.find('.vc_tta-tabs').length || !$(this).is(':visible') || $target.data('vc-tta-autoplay')) return ; 511 if($('#site-header.animated-header').length && $('#site-header').hasClass('fixed')) { 512 var shrink = $('#site-header').hasClass('shrink'); 513 $('#site-header').addClass('scroll-counting'); 514 $('#site-header').addClass('fixed shrink'); 515 correction = $('#site-header').outerHeight() + $('#site-header').position().top; 516 if(!shrink) { 517 $('#site-header').removeClass('fixed shrink'); 518 } 519 $('#site-header').removeClass('scroll-counting'); 520 } 521 var target_top = $target.offset().top - correction - 100 + 1; 522 $('html, body').stop(true, true).animate({scrollTop:target_top}, 500, 'easeInOutQuint'); 523 }); 524 525 var vc_update_fullwidth_init = true; 526 $(document).on('vc-full-width-row', function(e) { 527 if (window.gemOptions.clientWidth - $page.width() > 25 || window.gemSettings.isRTL) { 528 for (var i = 1; i < arguments.length; i++) { 529 var $el = $(arguments[i]); 530 $el.addClass("vc_hidden"); 531 var $el_full = $el.next(".vc_row-full-width"); 532 $el_full.length || ($el_full = $el.parent().next(".vc_row-full-width")); 533 var el_margin_left = parseInt($el.css("margin-left"), 10), 534 el_margin_right = parseInt($el.css("margin-right"), 10), 535 offset = 0 - $el_full.offset().left - el_margin_left + $('#page').offset().left + parseInt($('#page').css('padding-left')), 536 width = $('#page').width(); 537 538 var offsetKey = window.gemSettings.isRTL ? 'right' : 'left'; 539 var cssData = { 540 position: "relative", 541 left: offset, 542 "box-sizing": "border-box", 543 width: $("#page").width() 544 }; 545 cssData[offsetKey] = offset; 546 547 if ($el.css(cssData), !$el.data("vcStretchContent")) { 548 var padding = -1 * offset; 549 0 > padding && (padding = 0); 550 var paddingRight = width - padding - $el_full.width() + el_margin_left + el_margin_right; 551 0 > paddingRight && (paddingRight = 0), $el.css({ 552 "padding-left": padding + "px", 553 "padding-right": paddingRight + "px" 554 }) 555 } 556 $el.attr("data-vc-full-width-init", "true"), $el.removeClass("vc_hidden"); 557 $el.trigger('VCRowFullwidthUpdate'); 558 } 559 } 560 update_fullwidths(true, vc_update_fullwidth_init); 561 vc_update_fullwidth_init = false;
562 }); 563 564 if (!window.gemSettings.lasyDisabled && $.support.opacity) { 565 $('.wpb_text_column.wpb_animate_when_almost_visible.wpb_fade').each(function() { 566 $(this).wrap('<div class="lazy-loading"></div>').addClass('lazy-loading-item').data('ll-effect', 'fading'); 567 }); 568 569 $('.gem-list.lazy-loading').each(function() { 570 $(this).data('ll-item-delay', '200'); 571 $('li', this).addClass('lazy-loading-item').data('ll-effect', 'slide-right'); 572 $('li', this).each(function(index) { 573 $(this).attr("style", "transition-delay: " + (index + 1) * 0.2 + "s;"); 574 }); 575 }); 576 577 $.lazyLoading(); 578 } 579 580 $('body').on('click', '.gem-button[href^="#give-form-"]', function(e) { 581 var form_id = $(this).attr('href').replace('#give-form-', ''); 582 form_id = parseInt(form_id); 583 if (!isNaN(form_id)) { 584 $('#give-form-' + form_id + ' .give-btn-modal').click(); 585 } 586 e.preventDefault(); 587 return false; 588 }); 589 590})(jQuery); 591 592(function($) { 593 $('.menu-item-search a').on('click', function(e){ 594 e.preventDefault(); 595 $('.menu-item-search').toggleClass('active'); 596 }); 597})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.