1var $ = jQuery.noConflict(); 2$.fn.inlineStyle = function (prop) { 3 return this.prop("style")[$.camelCase(prop)]; 4}; 5$.fn.doOnce = function (func) { 6 this.length && func.apply(this); 7 return this; 8} 9if ($().infinitescroll) { 10 $.extend($.infinitescroll.prototype, { 11 _setup_portfolioinfiniteitemsloader: function infscr_setup_portfolioinfiniteitemsloader() { 12 var opts = this.options, 13 instance = this; 14 $(opts.nextSelector).click(function (e) { 15 if (e.which == 1 && !e.metaKey && !e.shiftKey) { 16 e.preventDefault(); 17 instance.retrieve(); 18 } 19 }); 20 instance.options.loading.start = function (opts) { 21 opts.loading.msg.appendTo(opts.loading.selector).show(opts.loading.speed, function () { 22 instance.beginAjax(opts); 23 }); 24 } 25 }, 26 _showdonemsg_portfolioinfiniteitemsloader: function infscr_showdonemsg_portfolioinfiniteitemsloader() { 27 var opts = this.options, 28 instance = this; 29 opts.loading.msg.find('img').hide().parent().find('div').html(opts.loading.finishedMsg).animate({ 30 opacity: 1 31 }, 2000, function () { 32 $(this).parent().fadeOut('normal'); 33 }); 34 $(opts.navSelector).fadeOut('normal'); 35 opts.errorCallback.call($(opts.contentSelector)[0], 'done'); 36 } 37 }); 38} else { 39 console.log('Infinite Scroll not defined.'); 40} 41(function () { 42 var lastTime = 0; 43 var vendors = ['ms', 'moz', 'webkit', 'o']; 44 for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { 45 window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']; 46 window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame']; 47 } 48 if (!window.requestAnimationFrame) 49 window.requestAnimationFrame = function (callback, element) { 50 var currTime = new Date().getTime(); 51 var timeToCall = Math.max(0, 16 - (currTime - lastTime)); 52 var id = window.setTimeout(function () { 53 callback(currTime + timeToCall); 54 }, timeToCall); 55 lastTime = currTime + timeToCall; 56 return id; 57 }; 58 if (!window.cancelAnimationFrame) 59 window.cancelAnimationFrame = function (id) { 60 clearTimeout(id); 61 }; 62}()); 63 64function debounce(func, wait, immediate) { 65 var timeout, args, context, timestamp, result; 66 return function () { 67 context = this; 68 args = arguments; 69 timestamp = new Date(); 70 var later = function () { 71 var last = (new Date()) - timestamp; 72 if (last < wait) { 73 timeout = setTimeout(later, wait - last); 74 } else { 75 timeout = null; 76 if (!immediate) result = func.apply(context, args); 77 } 78 }; 79 var callNow = immediate && !timeout; 80 if (!timeout) { 81 timeout = setTimeout(later, wait); 82 } 83 if (callNow) result = func.apply(context, args); 84 return result; 85 }; 86} 87var requesting = false; 88var killRequesting = debounce(function () { 89 requesting = false; 90}, 100); 91 92function onScrollSliderParallax() { 93 if (!requesting) { 94 requesting = true; 95 requestAnimationFrame(function () { 96 SEMICOLON.slider.sliderParallax(); 97 SEMICOLON.slider.sliderElementsFade(); 98 }); 99 } 100 killRequesting(); 101} 102var SEMICOLON = SEMICOLON || {}; 103(function ($) { 104 "use strict"; 105 SEMICOLON.initialize = { 106 init: function () { 107 SEMICOLON.initialize.responsiveClasses(); 108 SEMICOLON.initialize.imagePreload('.portfolio-item:not(:has(.fslider)) img'); 109 SEMICOLON.initialize.stickyElements(); 110 SEMICOLON.initialize.goToTop(); 111 SEMICOLON.initialize.lazyLoad(); 112 SEMICOLON.initialize.fullScreen(); 113 SEMICOLON.initialize.verticalMiddle(); 114 SEMICOLON.initialize.lightbox(); 115 SEMICOLON.initialize.resizeVideos(); 116 SEMICOLON.initialize.imageFade(); 117 SEMICOLON.initialize.pageTransition(); 118 SEMICOLON.initialize.dataResponsiveClasses(); 119 SEMICOLON.initialize.dataResponsiveHeights(); 120 $('.fslider').addClass('preloader2'); 121 }, 122 responsiveClasses: function () { 123 if (typeof jRespond === 'undefined') { 124 console.log('responsiveClasses: jRespond not Defined.'); 125 return true; 126 } 127 var jRes = jRespond([{ 128 label: 'smallest', 129 enter: 0, 130 exit: 479 131 }, { 132 label: 'handheld', 133 enter: 480, 134 exit: 767 135 }, { 136 label: 'tablet', 137 enter: 768, 138 exit: 991 139 }, { 140 label: 'laptop', 141 enter: 992, 142 exit: 1199 143 }, { 144 label: 'desktop', 145 enter: 1200, 146 exit: 10000 147 }]); 148 jRes.addFunc([{
149 breakpoint: 'desktop', 150 enter: function () { 151 $body.addClass('device-lg'); 152 }, 153 exit: function () { 154 $body.removeClass('device-lg'); 155 } 156 }, { 157 breakpoint: 'laptop', 158 enter: function () { 159 $body.addClass('device-md'); 160 }, 161 exit: function () { 162 $body.removeClass('device-md'); 163 } 164 }, { 165 breakpoint: 'tablet', 166 enter: function () { 167 $body.addClass('device-sm'); 168 }, 169 exit: function () { 170 $body.removeClass('device-sm'); 171 } 172 }, { 173 breakpoint: 'handheld', 174 enter: function () { 175 $body.addClass('device-xs'); 176 }, 177 exit: function () { 178 $body.removeClass('device-xs'); 179 } 180 }, { 181 breakpoint: 'smallest', 182 enter: function () { 183 $body.addClass('device-xxs'); 184 }, 185 exit: function () { 186 $body.removeClass('device-xxs'); 187 } 188 }]); 189 }, 190 imagePreload: function (selector, parameters) { 191 var params = { 192 delay: 250, 193 transition: 400, 194 easing: 'linear' 195 }; 196 $.extend(params, parameters); 197 $(selector).each(function () { 198 var image = $(this); 199 image.css({ 200 visibility: 'hidden', 201 opacity: 0, 202 display: 'block' 203 }); 204 image.wrap('<span class="preloader" />'); 205 image.one("load", function (evt) { 206 $(this).delay(params.delay).css({ 207 visibility: 'visible' 208 }).animate({ 209 opacity: 1 210 }, params.transition, params.easing, function () { 211 $(this).unwrap('<span class="preloader" />'); 212 }); 213 }).each(function () { 214 if (this.complete) $(this).trigger("load"); 215 }); 216 }); 217 }, 218 verticalMiddle: function () { 219 if ($verticalMiddleEl.length > 0) { 220 $verticalMiddleEl.each(function () { 221 var element = $(this), 222 verticalMiddleH = element.outerHeight(), 223 headerHeight = $header.outerHeight(); 224 if (element.parents('#slider').length > 0 && !element.hasClass('ignore-header')) { 225 if ($header.hasClass('transparent-header') && ($body.hasClass('device-lg') || $body.hasClass('device-md'))) { 226 verticalMiddleH = verticalMiddleH - 70; 227 if ($slider.next('#header').length > 0) { 228 verticalMiddleH = verticalMiddleH + headerHeight; 229 } 230 } 231 } 232 if ($body.hasClass('device-xs') || $body.hasClass('device-xxs')) { 233 if (element.parents('.full-screen').length && !element.parents('.force-full-screen').length) { 234 if (element.children('.col-padding').length > 0) { 235 element.css({ 236 position: 'relative', 237 top: '0', 238 width: 'auto', 239 marginTop: '0' 240 }).addClass('clearfix'); 241 } else { 242 element.css({ 243 position: 'relative', 244 top: '0', 245 width: 'auto', 246 marginTop: '0', 247 paddingTop: '60px', 248 paddingBottom: '60px' 249 }).addClass('clearfix'); 250 } 251 } else { 252 element.css({ 253 position: 'absolute', 254 top: '50%', 255 width: '100%', 256 paddingTop: '0', 257 paddingBottom: '0', 258 marginTop: -(verticalMiddleH / 2) + 'px' 259 }); 260 } 261 } else { 262 element.css({ 263 position: 'absolute', 264 top: '50%', 265 width: '100%', 266 paddingTop: '0', 267 paddingBottom: '0', 268 marginTop: -(verticalMiddleH / 2) + 'px' 269 }); 270 } 271 }); 272 } 273 }, 274 stickyElements: function () { 275 if ($siStickyEl.length > 0) { 276 var siStickyH = $siStickyEl.outerHeight(); 277 $siStickyEl.css({ 278 marginTop: -(siStickyH / 2) + 'px' 279 }); 280 } 281 if ($dotsMenuEl.length > 0) { 282 var opmdStickyH = $dotsMenuEl.outerHeight(); 283 $dotsMenuEl.css({ 284 marginTop: -(opmdStickyH / 2) + 'px' 285 }); 286 } 287 }, 288 goToTop: function () { 289 var elementScrollSpeed = $goToTopEl.attr('data-speed'), 290 elementScrollEasing = $goToTopEl.attr('data-easing'); 291 if (!elementScrollSpeed) { 292 elementScrollSpeed = 700; 293 } 294 if (!elementScrollEasing) { 295 elementScrollEasing = 'easeOutQuad'; 296 } 297 $goToTopEl.click(function () { 298 $('body,html').stop(true).animate({ 299 'scrollTop': 0 300 }, Number(elementScrollSpeed), elementScrollEasing); 301 return false;
302 }); 303 }, 304 goToTopScroll: function () { 305 var elementMobile = $goToTopEl.attr('data-mobile'), 306 elementOffset = $goToTopEl.attr('data-offset'); 307 if (!elementOffset) { 308 elementOffset = 450; 309 } 310 if (elementMobile != 'true' && ($body.hasClass('device-xs') || $body.hasClass('device-xxs'))) { 311 return true; 312 } 313 if ($window.scrollTop() > Number(elementOffset)) { 314 $goToTopEl.fadeIn(); 315 } else { 316 $goToTopEl.fadeOut(); 317 } 318 }, 319 fullScreen: function () { 320 if ($fullScreenEl.length > 0) { 321 $fullScreenEl.each(function () { 322 var element = $(this), 323 scrHeight = window.innerHeight ? window.innerHeight : $window.height(), 324 negativeHeight = element.attr('data-negative-height'); 325 if (element.attr('id') == 'slider') { 326 var sliderHeightOff = $slider.offset().top; 327 scrHeight = scrHeight - sliderHeightOff; 328 if (element.find('.slider-parallax-inner').length > 0) { 329 var transformVal = element.find('.slider-parallax-inner').css('transform'), 330 transformX = transformVal.match(/-?[\d\.]+/g); 331 if (!transformX) { 332 var transformXvalue = 0; 333 } else { 334 var transformXvalue = transformX[5]; 335 } 336 scrHeight = ((window.innerHeight ? window.innerHeight : $window.height()) + Number(transformXvalue)) - sliderHeightOff; 337 } 338 if ($('#slider.with-header').next('#header:not(.transparent-header)').length > 0 && ($body.hasClass('device-lg') || $body.hasClass('device-md'))) { 339 var headerHeightOff = $header.outerHeight(); 340 scrHeight = scrHeight - headerHeightOff; 341 } 342 } 343 if (element.parents('.full-screen').length > 0) { 344 scrHeight = element.parents('.full-screen').height(); 345 } 346 if ($body.hasClass('device-xs') || $body.hasClass('device-xxs')) { 347 if (!element.hasClass('force-full-screen')) { 348 scrHeight = 'auto'; 349 } 350 } 351 if (negativeHeight) { 352 scrHeight = scrHeight - Number(negativeHeight); 353 } 354 element.css('height', scrHeight); 355 // if (element.attr('id') == 'slider' && !element.hasClass('canvas-slider-grid')) { if (element.has('.swiper-slide')) { element.find('.swiper-slide').css('height', scrHeight); } } 356 if (element.attr('id') == 'slider' && !element.hasClass('canvas-slider-grid')) { 357 if (element.has('.swiper-slide')) { 358 if (element.attr('id') == 'slider' && element.hasClass('ps-slider')) { 359 $('.ps-slider').css('height', scrHeight - $('#ps').height()); 360 } else { 361 element.find('.swiper-slide').css('height', scrHeight); 362 } 363 } 364 } 365 }); 366 } 367 }, 368 maxHeight: function () { 369 if ($commonHeightEl.length > 0) { 370 if ($commonHeightEl.hasClass('customjs')) { 371 return true; 372 } 373 $commonHeightEl.each(function () { 374 var element = $(this); 375 if (element.find('.common-height').length > 0) { 376 SEMICOLON.initialize.commonHeight(element.find('.common-height:not(.customjs)')); 377 } 378 SEMICOLON.initialize.commonHeight(element); 379 }); 380 } 381 }, 382 commonHeight: function (element) { 383 var maxHeight = 0; 384 element.children('[class*=col-]').each(function () { 385 var element = $(this).children(); 386 if (element.hasClass('max-height')) { 387 maxHeight = element.outerHeight(); 388 } else { 389 if (element.outerHeight() > maxHeight) 390 maxHeight = element.outerHeight(); 391 } 392 }); 393 element.children('[class*=col-]').each(function () { 394 $(this).height(maxHeight); 395 }); 396 }, 397 testimonialsGrid: function () { 398 if ($testimonialsGridEl.length > 0) { 399 if ($body.hasClass('device-sm') || $body.hasClass('device-md') || $body.hasClass('device-lg')) { 400 var maxHeight = 0; 401 $testimonialsGridEl.each(function () { 402 $(this).find("li > .testimonial").each(function () { 403 if ($(this).height() > maxHeight) { 404 maxHeight = $(this).height(); 405 } 406 }); 407 $(this).find("li").height(maxHeight); 408 maxHeight = 0; 409 }); 410 } else { 411 $testimonialsGridEl.find("li").css({ 412 'height': 'auto' 413 }); 414 } 415 } 416 }, 417 lightbox: function () { 418 if (!$().magnificPopup) { 419 console.log('lightbox: Magnific Popup not Defined.'); 420 return true; 421 } 422 var $lightboxImageEl = $('[data-lightbox="image"]'), 423 $lightboxGalleryEl = $('[data-lightbox="gallery"]'), 424 $lightboxIframeEl = $('[data-lightbox="iframe"]'),
425 $lightboxInlineEl = $('[data-lightbox="inline"]'), 426 $lightboxAjaxEl = $('[data-lightbox="ajax"]'), 427 $lightboxAjaxGalleryEl = $('[data-lightbox="ajax-gallery"]'); 428 if ($lightboxImageEl.length > 0) { 429 $lightboxImageEl.magnificPopup({ 430 type: 'image', 431 closeOnContentClick: true, 432 closeBtnInside: false, 433 fixedContentPos: true, 434 mainClass: 'mfp-no-margins mfp-fade', 435 image: { 436 verticalFit: true 437 } 438 }); 439 } 440 if ($lightboxGalleryEl.length > 0) { 441 $lightboxGalleryEl.each(function () { 442 var element = $(this); 443 if (element.find('a[data-lightbox="gallery-item"]').parent('.clone').hasClass('clone')) { 444 element.find('a[data-lightbox="gallery-item"]').parent('.clone').find('a[data-lightbox="gallery-item"]').attr('data-lightbox', ''); 445 } 446 if (element.find('a[data-lightbox="gallery-item"]').parents('.cloned').hasClass('cloned')) { 447 element.find('a[data-lightbox="gallery-item"]').parents('.cloned').find('a[data-lightbox="gallery-item"]').attr('data-lightbox', ''); 448 } 449 element.magnificPopup({ 450 delegate: 'a[data-lightbox="gallery-item"]', 451 type: 'image', 452 closeOnContentClick: true, 453 closeBtnInside: false, 454 fixedContentPos: true, 455 mainClass: 'mfp-no-margins mfp-fade', 456 image: { 457 verticalFit: true 458 }, 459 gallery: { 460 enabled: true, 461 navigateByImgClick: true, 462 preload: [0, 1] 463 } 464 }); 465 }); 466 } 467 if ($lightboxIframeEl.length > 0) { 468 $lightboxIframeEl.magnificPopup({ 469 disableOn: 600, 470 type: 'iframe', 471 removalDelay: 160, 472 preloader: false, 473 fixedContentPos: false 474 }); 475 } 476 if ($lightboxInlineEl.length > 0) { 477 $lightboxInlineEl.magnificPopup({ 478 type: 'inline', 479 mainClass: 'mfp-no-margins mfp-fade', 480 closeBtnInside: false, 481 fixedContentPos: true, 482 overflowY: 'scroll' 483 }); 484 } 485 if ($lightboxAjaxEl.length > 0) { 486 $lightboxAjaxEl.magnificPopup({ 487 type: 'ajax', 488 closeBtnInside: false, 489 callbacks: { 490 ajaxContentAdded: function (mfpResponse) { 491 SEMICOLON.widget.loadFlexSlider(); 492 SEMICOLON.initialize.resizeVideos(); 493 SEMICOLON.widget.masonryThumbs(); 494 }, 495 open: function () { 496 $body.addClass('ohidden'); 497 }, 498 close: function () { 499 $body.removeClass('ohidden'); 500 } 501 } 502 }); 503 } 504 if ($lightboxAjaxGalleryEl.length > 0) { 505 $lightboxAjaxGalleryEl.magnificPopup({ 506 delegate: 'a[data-lightbox="ajax-gallery-item"]', 507 type: 'ajax', 508 closeBtnInside: false, 509 gallery: { 510 enabled: true, 511 preload: 0, 512 navigateByImgClick: false 513 }, 514 callbacks: { 515 ajaxContentAdded: function (mfpResponse) { 516 SEMICOLON.widget.loadFlexSlider(); 517 SEMICOLON.initialize.resizeVideos(); 518 SEMICOLON.widget.masonryThumbs(); 519 }, 520 open: function () { 521 $body.addClass('ohidden'); 522 }, 523 close: function () { 524 $body.removeClass('ohidden'); 525 } 526 } 527 }); 528 } 529 }, 530 modal: function () { 531 if (!$().magnificPopup) { 532 console.log('modal: Magnific Popup not Defined.'); 533 return true; 534 } 535 var $modal = $('.modal-on-load:not(.customjs)'); 536 if ($modal.length > 0) { 537 $modal.each(function () { 538 var element = $(this), 539 elementTarget = element.attr('data-target'), 540 elementTargetValue = elementTarget.split('#')[1],
541 elementDelay = element.attr('data-delay'), 542 elementTimeout = element.attr('data-timeout'), 543 elementAnimateIn = element.attr('data-animate-in'), 544 elementAnimateOut = element.attr('data-animate-out'); 545 if (!element.hasClass('enable-cookie')) { 546 $.removeCookie(elementTargetValue); 547 } 548 if (element.hasClass('enable-cookie')) { 549 var elementCookie = $.cookie(elementTargetValue); 550 if (typeof elementCookie !== 'undefined' && elementCookie == '0') { 551 return true; 552 } 553 } 554 if (!elementDelay) { 555 elementDelay = 1500; 556 } else { 557 elementDelay = Number(elementDelay) + 1500; 558 } 559 var t = setTimeout(function () { 560 $.magnificPopup.open({ 561 items: { 562 src: elementTarget 563 }, 564 type: 'inline', 565 mainClass: 'mfp-no-margins mfp-fade', 566 closeBtnInside: false, 567 fixedContentPos: true, 568 removalDelay: 500, 569 callbacks: { 570 open: function () { 571 if (elementAnimateIn != '') { 572 $(elementTarget).addClass(elementAnimateIn + ' animated'); 573 } 574 }, 575 beforeClose: function () { 576 if (elementAnimateOut != '') { 577 $(elementTarget).removeClass(elementAnimateIn).addClass(elementAnimateOut); 578 } 579 }, 580 afterClose: function () { 581 if (elementAnimateIn != '' || elementAnimateOut != '') { 582 $(elementTarget).removeClass(elementAnimateIn + ' ' + elementAnimateOut + ' animated'); 583 } 584 if (element.hasClass('enable-cookie')) { 585 $.cookie(elementTargetValue, '0'); 586 } 587 } 588 } 589 }, 0); 590 }, Number(elementDelay)); 591 if (elementTimeout != '') { 592 var to = setTimeout(function () { 593 $.magnificPopup.close(); 594 }, Number(elementDelay) + Number(elementTimeout)); 595 } 596 }); 597 } 598 }, 599 resizeVideos: function () { 600 if (!$().fitVids) { 601 console.log('resizeVideos: FitVids not Defined.'); 602 return true; 603 } 604 $("#content,#footer,#slider:not(.revslider-wrap),.landing-offer-media,.portfolio-ajax-modal,.mega-menu-column").fitVids({ 605 customSelector: "iframe[src^='http://www.dailymotion.com/embed'], iframe[src*='maps.google.com'], iframe[src*='google.com/maps']", 606 ignore: '.no-fv' 607 }); 608 }, 609 imageFade: function () { 610 $('.image_fade').hover(function () { 611 $(this).filter(':not(:animated)').animate({ 612 opacity: 0.8 613 }, 400); 614 }, function () { 615 $(this).animate({ 616 opacity: 1 617 }, 400); 618 }); 619 }, 620 blogTimelineEntries: function () { 621 $('.post-timeline.grid-2').find('.entry').each(function () { 622 var position = $(this).inlineStyle('left'); 623 if (position == '0px') { 624 $(this).removeClass('alt'); 625 } else { 626 $(this).addClass('alt'); 627 } 628 $(this).find('.entry-timeline').fadeIn(); 629 }); 630 }, 631 pageTransition: function () { 632 if ($body.hasClass('no-transition')) { 633 return true; 634 } 635 if (!$().animsition) { 636 $body.addClass('no-transition'); 637 console.log('pageTransition: Animsition not Defined.'); 638 return true; 639 } 640 window.onpageshow = function (event) { 641 if (event.persisted) { 642 window.location.reload(); 643 } 644 }; 645 var animationIn = $body.attr('data-animation-in'), 646 animationOut = $body.attr('data-animation-out'), 647 durationIn = $body.attr('data-speed-in'), 648 durationOut = $body.attr('data-speed-out'), 649 loaderTimeOut = $body.attr('data-loader-timeout'), 650 loaderStyle = $body.attr('data-loader'), 651 loaderColor = $body.attr('data-loader-color'), 652 loaderStyleHtml = $body.attr('data-loader-html'), 653 loaderBgStyle = '', 654 loaderBorderStyle = '', 655 loaderBgClass = '', 656 loaderBorderClass = '', 657 loaderBgClass2 = '', 658 loaderBorderClass2 = ''; 659 if (!animationIn) { 660 animationIn = 'fadeIn'; 661 } 662 if (!animationOut) { 663 animationOut = 'fadeOut'; 664 } 665 if (!durationIn) { 666 durationIn = 1500; 667 } 668 if (!durationOut) { 669 durationOut = 800; 670 } 671 if (!loaderStyleHtml) { 672 loaderStyleHtml = '<div class="css3-spinner-bounce1"></div><div class="css3-spinner-bounce2"></div><div class="css3-spinner-bounce3"></div>'; 673 } 674 if (!loaderTimeOut) { 675 loaderTimeOut = false;
676 } else { 677 loaderTimeOut = Number(loaderTimeOut); 678 } 679 if (loaderColor) { 680 if (loaderColor == 'theme') { 681 loaderBgClass = ' bgcolor'; 682 loaderBorderClass = ' border-color'; 683 loaderBgClass2 = ' class="bgcolor"'; 684 loaderBorderClass2 = ' class="border-color"'; 685 } else { 686 loaderBgStyle = ' style="background-color:' + loaderColor + ';"'; 687 loaderBorderStyle = ' style="border-color:' + loaderColor + ';"'; 688 } 689 loaderStyleHtml = '<div class="css3-spinner-bounce1' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-bounce2' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-bounce3' + loaderBgClass + '"' + loaderBgStyle + '></div>' 690 } 691 if (loaderStyle == '2') { 692 loaderStyleHtml = '<div class="css3-spinner-flipper' + loaderBgClass + '"' + loaderBgStyle + '></div>'; 693 } else if (loaderStyle == '3') { 694 loaderStyleHtml = '<div class="css3-spinner-double-bounce1' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-double-bounce2' + loaderBgClass + '"' + loaderBgStyle + '></div>'; 695 } else if (loaderStyle == '4') { 696 loaderStyleHtml = '<div class="css3-spinner-rect1' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-rect2' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-rect3' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-rect4' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-rect5' + loaderBgClass + '"' + loaderBgStyle + '></div>'; 697 } else if (loaderStyle == '5') { 698 loaderStyleHtml = '<div class="css3-spinner-cube1' + loaderBgClass + '"' + loaderBgStyle + '></div><div class="css3-spinner-cube2' + loaderBgClass + '"' + loaderBgStyle + '></div>'; 699 } else if (loaderStyle == '6') { 700 loaderStyleHtml = '<div class="css3-spinner-scaler' + loaderBgClass + '"' + loaderBgStyle + '></div>'; 701 } else if (loaderStyle == '7') { 702 loaderStyleHtml = '<div class="css3-spinner-grid-pulse"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 703 } else if (loaderStyle == '8') { 704 loaderStyleHtml = '<div class="css3-spinner-clip-rotate"><div' + loaderBorderClass2 + loaderBorderStyle + '></div></div>'; 705 } else if (loaderStyle == '9') { 706 loaderStyleHtml = '<div class="css3-spinner-ball-rotate"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 707 } else if (loaderStyle == '10') { 708 loaderStyleHtml = '<div class="css3-spinner-zig-zag"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 709 } else if (loaderStyle == '11') { 710 loaderStyleHtml = '<div class="css3-spinner-triangle-path"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 711 } else if (loaderStyle == '12') { 712 loaderStyleHtml = '<div class="css3-spinner-ball-scale-multiple"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 713 } else if (loaderStyle == '13') { 714 loaderStyleHtml = '<div class="css3-spinner-ball-pulse-sync"><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div><div' + loaderBgClass2 + loaderBgStyle + '></div></div>'; 715 } else if (loaderStyle == '14') { 716 loaderStyleHtml = '<div class="css3-spinner-scale-ripple"><div' + loaderBorderClass2 + loaderBorderStyle + '></div><div' + loaderBorderClass2 + loaderBorderStyle + '></div><div' + loaderBorderClass2 + loaderBorderStyle + '></div></div>'; 717 } 718 $wrapper.animsition({ 719 inClass: animationIn,
720 outClass: animationOut, 721 inDuration: Number(durationIn), 722 outDuration: Number(durationOut), 723 linkElement: '#primary-menu ul li a:not([target="_blank"]):not([href*="#"]):not([data-lightbox]):not([href^="mailto"]):not([href^="tel"]):not([href^="sms"]):not([href^="call"])', 724 loading: true, 725 loadingParentElement: 'body', 726 loadingClass: 'css3-spinner', 727 loadingHtml: loaderStyleHtml, 728 unSupportCss: ['animation-duration', '-webkit-animation-duration', '-o-animation-duration'], 729 overlay: false, 730 overlayClass: 'animsition-overlay-slide', 731 overlayParentElement: 'body', 732 timeOut: loaderTimeOut 733 }); 734 }, 735 lazyLoad: function () { 736 var lazyLoadEl = $('[data-lazyload]'); 737 if (lazyLoadEl.length > 0) { 738 lazyLoadEl.each(function () { 739 var element = $(this), 740 elementImg = element.attr('data-lazyload'); 741 element.attr('src', 'images/blank.svg').css({ 742 'background': 'url(images/preloader.gif) no-repeat center center #FFF' 743 }); 744 element.appear(function () { 745 element.css({ 746 'background': 'none' 747 }).removeAttr('width').removeAttr('height').attr('src', elementImg); 748 }, { 749 accX: 0, 750 accY: 120 751 }, 'easeInCubic'); 752 }); 753 } 754 }, 755 topScrollOffset: function () { 756 var topOffsetScroll = 0; 757 if (($body.hasClass('device-lg') || $body.hasClass('device-md')) && !SEMICOLON.isMobile.any()) { 758 if ($header.hasClass('sticky-header')) { 759 if ($pagemenu.hasClass('dots-menu')) { 760 topOffsetScroll = 100; 761 } else { 762 topOffsetScroll = 144; 763 } 764 } else { 765 if ($pagemenu.hasClass('dots-menu')) { 766 topOffsetScroll = 140; 767 } else { 768 topOffsetScroll = 184; 769 } 770 } 771 if (!$pagemenu.length) { 772 if ($header.hasClass('sticky-header')) { 773 topOffsetScroll = 100; 774 } else { 775 topOffsetScroll = 140; 776 } 777 } 778 } else { 779 topOffsetScroll = 40; 780 } 781 return topOffsetScroll; 782 }, 783 defineColumns: function (element) { 784 var column = 4; 785 if (element.hasClass('portfolio-full')) { 786 if (element.hasClass('portfolio-3')) column = 3; 787 else if (element.hasClass('portfolio-5')) column = 5; 788 else if (element.hasClass('portfolio-6')) column = 6; 789 else column = 4; 790 if ($body.hasClass('device-sm') && (column == 4 || column == 5 || column == 6)) { 791 column = 3; 792 } else if ($body.hasClass('device-xs') && (column == 3 || column == 4 || column == 5 || column == 6)) { 793 column = 2; 794 } else if ($body.hasClass('device-xxs')) { 795 column = 1; 796 } 797 } else if (element.hasClass('masonry-thumbs')) { 798 var lgCol = element.attr('data-lg-col'), 799 mdCol = element.attr('data-md-col'), 800 smCol = element.attr('data-sm-col'), 801 xsCol = element.attr('data-xs-col'), 802 xxsCol = element.attr('data-xxs-col'); 803 if (element.hasClass('col-2')) column = 2; 804 else if (element.hasClass('col-3')) column = 3; 805 else if (element.hasClass('col-5')) column = 5; 806 else if (element.hasClass('col-6')) column = 6; 807 else column = 4; 808 if ($body.hasClass('device-lg')) { 809 if (lgCol) { 810 column = Number(lgCol); 811 } 812 } else if ($body.hasClass('device-md')) { 813 if (mdCol) { 814 column = Number(mdCol); 815 } 816 } else if ($body.hasClass('device-sm')) { 817 if (smCol) { 818 column = Number(smCol); 819 } 820 } else if ($body.hasClass('device-xs')) { 821 if (xsCol) { 822 column = Number(xsCol); 823 } 824 } else if ($body.hasClass('device-xxs')) { 825 if (xxsCol) { 826 column = Number(xxsCol); 827 } 828 } 829 } 830 return column; 831 }, 832 setFullColumnWidth: function (element) { 833 if (!$().isotope) { 834 console.log('setFullColumnWidth: Isotope not Defined.'); 835 return true; 836 } 837 element.css({ 838 'width': '' 839 }); 840 if (element.hasClass('portfolio-full')) { 841 var columns = SEMICOLON.initialize.defineColumns(element); 842 var containerWidth = element.width(); 843 if (containerWidth == (Math.floor(containerWidth / columns) * columns)) { 844 containerWidth = containerWidth - 1; 845 } 846 var postWidth = Math.floor(containerWidth / columns); 847 if ($body.hasClass('device-xxs')) { 848 var deviceSmallest = 1; 849 } else { 850 var deviceSmallest = 0; 851 } 852 element.find(".portfolio-item").each(function (index) { 853 if (deviceSmallest == 0 && $(this).hasClass('wide')) { 854 var elementSize = (postWidth * 2); 855 } else { 856 var elementSize = postWidth; 857 } 858 $(this).css({ 859 "width": elementSize + "px" 860 }); 861 }); 862 } else if (element.hasClass('masonry-thumbs')) { 863 var columns = SEMICOLON.initialize.defineColumns(element), 864 containerWidth = element.innerWidth(); 865 if (containerWidth == windowWidth) { 866 containerWidth = windowWidth * 1.004; 867 element.css({ 868 'width': containerWidth + 'px' 869 }); 870 } 871 var postWidth = (containerWidth / columns); 872 postWidth = Math.floor(postWidth); 873 if ((postWidth * columns) >= containerWidth) { 874 element.css({ 875 'margin-right': '-1px' 876 }); 877 } 878 element.children('a').css({ 879 "width": postWidth + "px" 880 }); 881 var firstElementWidth = element.find('a:eq(0)').outerWidth(); 882 element.isotope({ 883 masonry: { 884 columnWidth: firstElementWidth 885 } 886 }); 887 var bigImageNumbers = element.attr('data-big'); 888 if (bigImageNumbers) { 889 bigImageNumbers = bigImageNumbers.split(","); 890 var bigImageNumber = '', 891 bigi = ''; 892 for (bigi = 0; bigi < bigImageNumbers.length; bigi++) { 893 bigImageNumber = Number(bigImageNumbers[bigi]) - 1; 894 element.find('a:eq(' + bigImageNumber + ')').css({ 895 width: firstElementWidth * 2 + 'px' 896 }); 897 } 898 var t = setTimeout(function () { 899 element.isotope('layout'); 900 }, 1000); 901 } 902 } 903 }, 904 aspectResizer: function () { 905 var $aspectResizerEl = $('.aspect-resizer'); 906 if ($aspectResizerEl.length > 0) { 907 $aspectResizerEl.each(function () { 908 var element = $(this), 909 elementW = element.inlineStyle('width'), 910 elementH = element.inlineStyle('height'), 911 elementPW = element.parent().innerWidth(); 912 }); 913 } 914 }, 915 dataResponsiveClasses: function () { 916 var $dataClassXxs = $('[data-class-xxs]'), 917 $dataClassXs = $('[data-class-xs]'), 918 $dataClassSm = $('[data-class-sm]'), 919 $dataClassMd = $('[data-class-md]'), 920 $dataClassLg = $('[data-class-lg]'); 921 if ($dataClassXxs.length > 0) { 922 $dataClassXxs.each(function () { 923 var element = $(this), 924 elementClass = element.attr('data-class-xxs'), 925 elementClassDelete = element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 926 if ($body.hasClass('device-xxs')) { 927 element.removeClass(elementClassDelete); 928 element.addClass(elementClass); 929 } 930 }); 931 } 932 if ($dataClassXs.length > 0) { 933 $dataClassXs.each(function () { 934 var element = $(this), 935 elementClass = element.attr('data-class-xs'), 936 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 937 if ($body.hasClass('device-xs')) { 938 element.removeClass(elementClassDelete); 939 element.addClass(elementClass); 940 } 941 }); 942 } 943 if ($dataClassSm.length > 0) { 944 $dataClassSm.each(function () { 945 var element = $(this), 946 elementClass = element.attr('data-class-sm'), 947 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-md') + ' ' + element.attr('data-class-lg'); 948 if ($body.hasClass('device-sm')) { 949 element.removeClass(elementClassDelete); 950 element.addClass(elementClass); 951 } 952 }); 953 } 954 if ($dataClassMd.length > 0) { 955 $dataClassMd.each(function () { 956 var element = $(this), 957 elementClass = element.attr('data-class-md'), 958 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-lg'); 959 if ($body.hasClass('device-md')) { 960 element.removeClass(elementClassDelete); 961 element.addClass(elementClass); 962 } 963 }); 964 } 965 if ($dataClassLg.length > 0) { 966 $dataClassLg.each(function () { 967 var element = $(this), 968 elementClass = element.attr('data-class-lg'), 969 elementClassDelete = element.attr('data-class-xxs') + ' ' + element.attr('data-class-xs') + ' ' + element.attr('data-class-sm') + ' ' + element.attr('data-class-md'); 970 if ($body.hasClass('device-lg')) { 971 element.removeClass(elementClassDelete); 972 element.addClass(elementClass); 973 } 974 }); 975 } 976 }, 977 dataResponsiveHeights: function () { 978 var $dataHeightXxs = $('[data-height-xxs]'), 979 $dataHeightXs = $('[data-height-xs]'), 980 $dataHeightSm = $('[data-height-sm]'), 981 $dataHeightMd = $('[data-height-md]'), 982 $dataHeightLg = $('[data-height-lg]'); 983 if ($dataHeightXxs.length > 0) { 984 $dataHeightXxs.each(function () { 985 var element = $(this), 986 elementHeight = element.attr('data-height-xxs'); 987 if ($body.hasClass('device-xxs')) { 988 if (elementHeight != '') { 989 element.css('height', elementHeight); 990 } 991 } 992 }); 993 } 994 if ($dataHeightXs.length > 0) { 995 $dataHeightXs.each(function () { 996 var element = $(this), 997 elementHeight = element.attr('data-height-xs'); 998 if ($body.hasClass('device-xs')) { 999 if (elementHeight != '') { 1000 element.css('height', elementHeight); 1001 } 1002 } 1003 }); 1004 } 1005 if ($dataHeightSm.length > 0) { 1006 $dataHeightSm.each(function () { 1007 var element = $(this), 1008 elementHeight = element.attr('data-height-sm'); 1009 if ($body.hasClass('device-sm')) { 1010 if (elementHeight != '') { 1011 element.css('height', elementHeight); 1012 } 1013 } 1014 }); 1015 } 1016 if ($dataHeightMd.length > 0) { 1017 $dataHeightMd.each(function () { 1018 var element = $(this), 1019 elementHeight = element.attr('data-height-md'); 1020 if ($body.hasClass('device-md')) { 1021 if (elementHeight != '') { 1022 element.css('height', elementHeight); 1023 } 1024 } 1025 }); 1026 } 1027 if ($dataHeightLg.length > 0) { 1028 $dataHeightLg.each(function () { 1029 var element = $(this), 1030 elementHeight = element.attr('data-height-lg'); 1031 if ($body.hasClass('device-lg')) { 1032 if (elementHeight != '') { 1033 element.css('height', elementHeight); 1034 } 1035 } 1036 }); 1037 } 1038 }, 1039 stickFooterOnSmall: function () { 1040 var windowH = $window.height(), 1041 wrapperH = $wrapper.height(); 1042 if (!$body.hasClass('sticky-footer') && $footer.length > 0 && $wrapper.has('#footer')) { 1043 if (windowH > wrapperH) { 1044 $footer.css({ 1045 'margin-top': (windowH - wrapperH) 1046 }); 1047 } 1048 } 1049 }, 1050 stickyFooter: function () { 1051 if ($body.hasClass('sticky-footer') && $footer.length > 0 && ($body.hasClass('device-lg') || $body.hasClass('device-md'))) { 1052 var stickyFooter = $footer.outerHeight(); 1053 $content.css({ 1054 'margin-bottom': stickyFooter 1055 }); 1056 } else { 1057 $content.css({ 1058 'margin-bottom': 0 1059 }); 1060 } 1061 } 1062 }; 1063 SEMICOLON.header = { 1064 init: function () { 1065 SEMICOLON.header.superfish(); 1066 SEMICOLON.header.menufunctions(); 1067 SEMICOLON.header.fullWidthMenu(); 1068 SEMICOLON.header.overlayMenu(); 1069 SEMICOLON.header.stickyMenu(); 1070 SEMICOLON.header.stickyPageMenu(); 1071 SEMICOLON.header.sideHeader(); 1072 SEMICOLON.header.sidePanel(); 1073 SEMICOLON.header.onePageScroll(); 1074 SEMICOLON.header.onepageScroller(); 1075 SEMICOLON.header.logo(); 1076 SEMICOLON.header.topsearch(); 1077 SEMICOLON.header.topcart(); 1078 }, 1079 superfish: function () { 1080 if ($body.hasClass('device-lg') ||
1080 $body.hasClass('device-md')) { 1081 $('#primary-menu ul ul, #primary-menu ul .mega-menu-content').css('display', 'block'); 1082 SEMICOLON.header.menuInvert(); 1083 $('#primary-menu ul ul, #primary-menu ul .mega-menu-content').css('display', ''); 1084 } 1085 if (!$().superfish) { 1086 $body.addClass('no-superfish'); 1087 console.log('superfish: Superfish not Defined.'); 1088 return true; 1089 } 1090 $('body:not(.side-header) #primary-menu > ul, body:not(.side-header) #primary-menu > div > ul:not(.dropdown-menu), .top-links > ul').superfish({ 1091 popUpSelector: 'ul,.mega-menu-content,.top-link-section', 1092 delay: 250, 1093 speed: 350, 1094 animation: { 1095 opacity: 'show' 1096 }, 1097 animationOut: { 1098 opacity: 'hide' 1099 }, 1100 cssArrows: false, 1101 onShow: function () { 1102 var megaMenuContent = $(this); 1103 if (megaMenuContent.find('.owl-carousel.customjs').length > 0) { 1104 megaMenuContent.find('.owl-carousel').removeClass('customjs'); 1105 SEMICOLON.widget.carousel(); 1106 } 1107 if (megaMenuContent.hasClass('mega-menu-content') && megaMenuContent.find('.widget').length > 0) { 1108 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1109 setTimeout(function () { 1110 SEMICOLON.initialize.commonHeight(megaMenuContent); 1111 }, 200); 1112 } else { 1113 megaMenuContent.children().height(''); 1114 } 1115 } 1116 } 1117 }); 1118 $('body.side-header #primary-menu > ul').superfish({ 1119 popUpSelector: 'ul', 1120 delay: 250, 1121 speed: 350, 1122 animation: { 1123 opacity: 'show', 1124 height: 'show' 1125 }, 1126 animationOut: { 1127 opacity: 'hide', 1128 height: 'hide' 1129 },
1130 cssArrows: false 1131 }); 1132 }, 1133 menuInvert: function () { 1134 $('#primary-menu .mega-menu-content, #primary-menu ul ul').each(function (index, element) { 1135 var $menuChildElement = $(element), 1136 menuChildOffset = $menuChildElement.offset(), 1137 menuChildWidth = $menuChildElement.width(), 1138 menuChildLeft = menuChildOffset.left; 1139 if (windowWidth - (menuChildWidth + menuChildLeft) < 0) { 1140 $menuChildElement.addClass('menu-pos-invert'); 1141 } 1142 }); 1143 }, 1144 menufunctions: function () { 1145 $('#primary-menu ul li:has(ul)').addClass('sub-menu'); 1146 $('.top-links ul li:has(ul) > a, #primary-menu.with-arrows > ul > li:has(ul) > a > div, #primary-menu.with-arrows > div > ul > li:has(ul) > a > div, #page-menu nav ul li:has(ul) > a > div').append('<i class="icon-angle-down"></i>'); 1147 $('.top-links > ul').addClass('clearfix'); 1148 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1149 $('#primary-menu.sub-title > ul > li').hover(function () { 1150 $(this).prev().css({ 1151 backgroundImage: 'none' 1152 }); 1153 }, function () { 1154 $(this).prev().css({ 1155 backgroundImage: 'url("images/icons/menu-divider.png")' 1156 }); 1157 }); 1158 $('#primary-menu.sub-title').children('ul').children('.current').prev().css({ 1159 backgroundImage: 'none' 1160 }); 1161 } 1162 if (SEMICOLON.isMobile.Android()) { 1163 $('#primary-menu ul li.sub-menu').children('a').on('touchstart', function (e) { 1164 if (!$(this).parent('li.sub-menu').hasClass('sfHover')) { 1165 e.preventDefault(); 1166 } 1167 }); 1168 } 1169 if (SEMICOLON.isMobile.Windows()) { 1170 if ($().superfish) { 1171 $('#primary-menu > ul, #primary-menu > div > ul,.top-links > ul').superfish('destroy').addClass('windows-mobile-menu'); 1172 } else { 1173 $('#primary-menu > ul, #primary-menu > div > ul,.top-links > ul').addClass('windows-mobile-menu'); 1174 console.log('menufunctions: Superfish not defined.'); 1175 } 1176 $('#primary-menu ul li:has(ul)').append('<a href="#" class="wn-submenu-trigger"><i class="icon-angle-down"></i></a>'); 1177 $('#primary-menu ul li.sub-menu').children('a.wn-submenu-trigger').click(function (e) { 1178 $(this).parent().toggleClass('open'); 1179 $(this).parent().find('> ul, > .mega-menu-content').stop(true, true).toggle(); 1180 return false; 1181 }); 1182 } 1183 }, 1184 fullWidthMenu: function () { 1185 if ($body.hasClass('stretched')) { 1186 if ($header.find('.container-fullwidth').length > 0) { 1187 $('.mega-menu .mega-menu-content').css({ 1188 'width': $wrapper.width() - 120 1189 }); 1190 } 1191 if ($header.hasClass('full-header')) { 1192 $('.mega-menu .mega-menu-content').css({ 1193 'width': $wrapper.width() - 60 1194 }); 1195 } 1196 } else { 1197 if ($header.find('.container-fullwidth').length > 0) { 1198 $('.mega-menu .mega-menu-content').css({ 1199 'width': $wrapper.width() - 120 1200 }); 1201 } 1202 if ($header.hasClass('full-header')) { 1203 $('.mega-menu .mega-menu-content').css({ 1204 'width': $wrapper.width() - 80 1205 }); 1206 } 1207 } 1208 }, 1209 overlayMenu: function () { 1210 if ($body.hasClass('overlay-menu')) { 1211 var overlayMenuItem = $('#primary-menu').children('ul').children('li'), 1212 overlayMenuItemHeight = overlayMenuItem.outerHeight(), 1213 overlayMenuItemTHeight = overlayMenuItem.length * overlayMenuItemHeight, 1214 firstItemOffset = ($window.height() - overlayMenuItemTHeight) / 2; 1215 $('#primary-menu').children('ul').children('li:first-child').css({ 1216 'margin-top': firstItemOffset + 'px' 1217 }); 1218 } 1219 }, 1220 stickyMenu: function (headerOffset) { 1221 if ($window.scrollTop() > headerOffset) { 1222 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1223 $('body:not(.side-header) #header:not(.no-sticky)').addClass('sticky-header'); 1224 if (!$headerWrap.hasClass('force-not-dark')) { 1225 $headerWrap.removeClass('not-dark'); 1226 } 1227 SEMICOLON.header.stickyMenuClass(); 1228 } else if ($body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm')) { 1229 if ($body.hasClass('sticky-responsive-menu')) { 1230 $('#header:not(.no-sticky)').addClass('responsive-sticky-header'); 1231 SEMICOLON.header.stickyMenuClass(); 1232 } 1233 } 1234 } else { 1235 SEMICOLON.header.removeStickyness(); 1236 } 1237 }, 1238 stickyPageMenu: function (pageMenuOffset) { 1239 if ($window.scrollTop() > pageMenuOffset) { 1240 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1241 $('#page-menu:not(.dots-menu,.no-sticky)').addClass('sticky-page-menu'); 1242 } else if ($body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm')) { 1243 if ($body.hasClass('sticky-responsive-pagemenu')) { 1244 $('#page-menu:not(.dots-menu,.no-sticky)').addClass('sticky-page-menu'); 1245 } 1246 } 1247 } else { 1248 $('#page-menu:not(.dots-menu,.no-sticky)').removeClass('sticky-page-menu'); 1249 } 1250 }, 1251 removeStickyness: function () { 1252 if ($header.hasClass('sticky-header')) { 1253 $('body:not(.side-header) #header:not(.no-sticky)').removeClass('sticky-header'); 1254 $header.removeClass().addClass(oldHeaderClasses); 1255 $headerWrap.removeClass().addClass(oldHeaderWrapClasses); 1256 if (!$headerWrap.hasClass('force-not-dark')) { 1257 $headerWrap.removeClass('not-dark'); 1258 } 1259 SEMICOLON.slider.swiperSliderMenu(); 1260 SEMICOLON.slider.revolutionSliderMenu(); 1261 } 1262 if ($header.hasClass('responsive-sticky-header')) { 1263 $('body.sticky-responsive-menu #header').removeClass('responsive-sticky-header'); 1264 } 1265 if (($body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm')) && (typeof responsiveMenuClasses === 'undefined')) { 1266 $header.removeClass().addClass(oldHeaderClasses); 1267 $headerWrap.removeClass().addClass(oldHeaderWrapClasses); 1268 if (!$headerWrap.hasClass('force-not-dark')) { 1269 $headerWrap.removeClass('not-dark'); 1270 } 1271 } 1272 }, 1273 sideHeader: function () { 1274 $("#header-trigger").click(function () { 1275 $('body.open-header').toggleClass("side-header-open"); 1276 return false;
1277 }); 1278 }, 1279 sidePanel: function () { 1280 $(".side-panel-trigger").click(function () { 1281 $body.toggleClass("side-panel-open"); 1282 if ($body.hasClass('device-touch')) { 1283 $body.toggleClass("ohidden"); 1284 } 1285 return false; 1286 }); 1287 }, 1288 onePageScroll: function () { 1289 if ($onePageMenuEl.length > 0) { 1290 var onePageSpeed = $onePageMenuEl.attr('data-speed'), 1291 onePageOffset = $onePageMenuEl.attr('data-offset'), 1292 onePageEasing = $onePageMenuEl.attr('data-easing'); 1293 if (!onePageSpeed) { 1294 onePageSpeed = 1000; 1295 } 1296 if (!onePageEasing) { 1297 onePageEasing = 'easeOutQuad'; 1298 } 1299 $onePageMenuEl.find('a[data-href]').click(function () { 1300 var element = $(this), 1301 divScrollToAnchor = element.attr('data-href'), 1302 divScrollSpeed = element.attr('data-speed'), 1303 divScrollOffset = element.attr('data-offset'), 1304 divScrollEasing = element.attr('data-easing'); 1305 if ($(divScrollToAnchor).length > 0) { 1306 if (!onePageOffset) { 1307 var onePageOffsetG = SEMICOLON.initialize.topScrollOffset(); 1308 } else { 1309 var onePageOffsetG = onePageOffset; 1310 } 1311 if (!divScrollSpeed) { 1312 divScrollSpeed = onePageSpeed; 1313 } 1314 if (!divScrollOffset) { 1315 divScrollOffset = onePageOffsetG; 1316 } 1317 if (!divScrollEasing) { 1318 divScrollEasing = onePageEasing; 1319 } 1320 if ($onePageMenuEl.hasClass('no-offset')) { 1321 divScrollOffset = 0; 1322 } 1323 onePageGlobalOffset = Number(divScrollOffset); 1324 $onePageMenuEl.find('li').removeClass('current'); 1325 $onePageMenuEl.find('a[data-href="' + divScrollToAnchor + '"]').parent('li').addClass('current'); 1326 if (windowWidth < 768 || $body.hasClass('overlay-menu')) { 1327 if ($('#primary-menu').find('ul.mobile-primary-menu').length > 0) { 1328 $('#primary-menu > ul.mobile-primary-menu, #primary-menu > div > ul.mobile-primary-menu').toggleClass('show', false); 1329 } else { 1330 $('#primary-menu > ul, #primary-menu > div > ul').toggleClass('show', false); 1331 } 1332 $pagemenu.toggleClass('pagemenu-active', false); 1333 } 1334 $('html,body').stop(true).animate({ 1335 'scrollTop': $(divScrollToAnchor).offset().top - Number(divScrollOffset) 1336 }, Number(divScrollSpeed), divScrollEasing); 1337 onePageGlobalOffset = Number(divScrollOffset); 1338 } 1339 return false; 1340 }); 1341 } 1342 }, 1343 onepageScroller: function () { 1344 $onePageMenuEl.find('li').removeClass('current'); 1345 $onePageMenuEl.find('a[data-href="#' + SEMICOLON.header.onePageCurrentSection() + '"]').parent('li').addClass('current'); 1346 }, 1347 onePageCurrentSection: function () { 1348 var currentOnePageSection = 'home', 1349 headerHeight = $headerWrap.outerHeight(); 1350 if ($body.hasClass('side-header')) { 1351 headerHeight = 0; 1352 } 1353 $pageSectionEl.each(function (index) { 1354 var h = $(this).offset().top; 1355 var y = $window.scrollTop(); 1356 var offsetScroll = headerHeight + onePageGlobalOffset; 1357 if (y + offsetScroll >= h && y < h + $(this).height() && $(this).attr('id') != currentOnePageSection) { 1358 currentOnePageSection = $(this).attr('id'); 1359 } 1360 }); 1361 return currentOnePageSection; 1362 }, 1363 logo: function () { 1364 if (($header.hasClass('dark, .ps .ps-header') || $body.hasClass('dark')) && !$headerWrap.hasClass('not-dark')) {
1365 if (defaultDarkLogo) { 1366 defaultLogo.find('img').attr('src', defaultDarkLogo); 1367 } 1368 if (retinaDarkLogo) { 1369 retinaLogo.find('img').attr('src', retinaDarkLogo); 1370 } 1371 } else { 1372 if (defaultLogoImg) { 1373 defaultLogo.find('img').attr('src', defaultLogoImg); 1374 } 1375 if (retinaLogoImg) { 1376 retinaLogo.find('img').attr('src', retinaLogoImg); 1377 } 1378 } 1379 if ($header.hasClass('sticky-header')) { 1380 if (defaultStickyLogo) { 1381 defaultLogo.find('img').attr('src', defaultStickyLogo); 1382 } 1383 if (retinaStickyLogo) { 1384 retinaLogo.find('img').attr('src', retinaStickyLogo); 1385 } 1386 } 1387 if ($body.hasClass('device-xs') || $body.hasClass('device-xxs')) { 1388 if (defaultMobileLogo) { 1389 defaultLogo.find('img').attr('src', defaultMobileLogo); 1390 } 1391 if (retinaMobileLogo) { 1392 retinaLogo.find('img').attr('src', retinaMobileLogo); 1393 } 1394 } 1395 }, 1396 stickyMenuClass: function () { 1397 if (stickyMenuClasses) { 1398 var newClassesArray = stickyMenuClasses.split(/ +/); 1399 } else { 1400 var newClassesArray = ''; 1401 } 1402 var noOfNewClasses = newClassesArray.length; 1403 if (noOfNewClasses > 0) { 1404 var i = 0; 1405 for (i = 0; i < noOfNewClasses; i++) { 1406 if (newClassesArray[i] == 'not-dark') { 1407 $header.removeClass('dark'); 1408 $headerWrap.addClass('not-dark'); 1409 } else if (newClassesArray[i] == 'dark') { 1410 $headerWrap.removeClass('not-dark force-not-dark'); 1411 if (!$header.hasClass(newClassesArray[i])) { 1412 $header.addClass(newClassesArray[i]); 1413 } 1414 } else if (!$header.hasClass(newClassesArray[i])) { 1415 $header.addClass(newClassesArray[i]); 1416 } 1417 } 1418 } 1419 }, 1420 responsiveMenuClass: function () { 1421 if ($body.hasClass('device-xs') || $body.hasClass('device-xxs') || $body.hasClass('device-sm')) { 1422 if (responsiveMenuClasses) { 1423 var newClassesArray = responsiveMenuClasses.split(/ +/); 1424 } else { 1425 var newClassesArray = ''; 1426 } 1427 var noOfNewClasses = newClassesArray.length; 1428 if (noOfNewClasses > 0) { 1429 var i = 0; 1430 for (i = 0; i < noOfNewClasses; i++) { 1431 if (newClassesArray[i] == 'not-dark') { 1432 $header.removeClass('dark'); 1433 $headerWrap.addClass('not-dark'); 1434 } else if (newClassesArray[i] == 'dark') { 1435 $headerWrap.removeClass('not-dark force-not-dark'); 1436 if (!$header.hasClass(newClassesArray[i])) { 1437 $header.addClass(newClassesArray[i]); 1438 } 1439 } else if (!$header.hasClass(newClassesArray[i])) { 1440 $header.addClass(newClassesArray[i]); 1441 } 1442 } 1443 } 1444 SEMICOLON.header.logo(); 1445 } 1446 }, 1447 topsearch: function () { 1448 $(document).on('click', function (event) { 1449 if (!$(event.target).closest('#top-search').length) { 1450 $body.toggleClass('top-search-open', false); 1451 } 1452 if (!$(event.target).closest('#top-cart').length) { 1453 $topCart.toggleClass('top-cart-open', false); 1454 } 1455 if (!$(event.target).closest('#page-menu').length) { 1456 $pagemenu.toggleClass('pagemenu-active', false); 1457 } 1458 if (!$(event.target).closest('#side-panel').length) { 1459 $body.toggleClass('side-panel-open', false); 1460 } 1461 if (!$(event.target).closest('#primary-menu.mobile-menu-off-canvas > ul').length) { 1462 $('#primary-menu.mobile-menu-off-canvas > ul').toggleClass('show', false); 1463 } 1464 if (!$(event.target).closest('#primary-menu.mobile-menu-off-canvas > div > ul').length) { 1465 $('#primary-menu.mobile-menu-off-canvas > div > ul').toggleClass('show', false); 1466 } 1467 }); 1468 $("#top-search-trigger").click(function (e) { 1469 $body.toggleClass('top-search-open'); 1470 $topCart.toggleClass('top-cart-open', false); 1471 $('#primary-menu > ul, #primary-menu > div > ul').toggleClass("show", false); 1472 $pagemenu.toggleClass('pagemenu-active', false); 1473 if ($body.hasClass('top-search-open')) { 1474 $topSearch.find('input').focus(); 1475 } 1476 e.stopPropagation(); 1477 e.preventDefault(); 1478 }); 1479 }, 1480 topcart: function () { 1481 $("#top-cart-trigger").click(function (e) { 1482 $pagemenu.toggleClass('pagemenu-active', false); 1483 $topCart.toggleClass('top-cart-open'); 1484 e.stopPropagation(); 1485 e.preventDefault(); 1486 }); 1487 } 1488 }; 1489 SEMICOLON.slider = { 1490 init: function () { 1491 SEMICOLON.slider.sliderParallaxDimensions(); 1492 SEMICOLON.slider.sliderRun(); 1493 SEMICOLON.slider.sliderParallax(); 1494 SEMICOLON.slider.sliderElementsFade(); 1495 SEMICOLON.slider.captionPosition(); 1496 }, 1497 sliderParallaxDimensions: function () { 1498 if ($sliderParallaxEl.find('.slider-parallax-inner').length < 1) { 1499 return true; 1500 } 1501 if ($body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm')) { 1502 var parallaxElHeight = $sliderParallaxEl.outerHeight(), 1503 parallaxElWidth = $sliderParallaxEl.outerWidth(); 1504 if ($sliderParallaxEl.hasClass('revslider-wrap') || $sliderParallaxEl.find('.carousel-widget').length > 0) { 1505 parallaxElHeight = $sliderParallaxEl.find('.slider-parallax-inner').children().first().outerHeight(); 1506 $sliderParallaxEl.height(parallaxElHeight); 1507 } 1508 $sliderParallaxEl.find('.slider-parallax-inner').height(parallaxElHeight); 1509 if ($body.hasClass('side-header')) { 1510 $sliderParallaxEl.find('.slider-parallax-inner').width(parallaxElWidth); 1511 } 1512 if (!$body.hasClass('stretched')) { 1513 parallaxElWidth = $wrapper.outerWidth(); 1514 $sliderParallaxEl.find('.slider-parallax-inner').width(parallaxElWidth); 1515 } 1516 } else { 1517 $sliderParallaxEl.find('.slider-parallax-inner').css({ 1518 'width': '', 1519 height: '' 1520 }); 1521 } 1522 if (swiperSlider != '') { 1523 swiperSlider.update(true); 1524 } 1525 }, 1526 sliderRun: function () { 1527 if (typeof Swiper === 'undefined') { 1528 console.log('sliderRun: Swiper not Defined.'); 1529 return true; 1530 } 1531 if ($slider.hasClass('customjs')) { 1532 return true; 1533 } 1534 if ($slider.hasClass('swiper_wrapper')) { 1535 var element = $slider.filter('.swiper_wrapper'), 1536 elementDirection = element.attr('data-direction'), 1537 elementSpeed = element.attr('data-speed'), 1538 elementAutoPlay = element.attr('data-autoplay'), 1539 elementLoop = element.attr('data-loop'), 1540 elementEffect = element.attr('data-effect'), 1541 elementGrabCursor = element.attr('data-grab'), 1542 slideNumberTotal = element.find('#slide-number-total'), 1543 slideNumberCurrent = element.find('#slide-number-current'), 1544 sliderVideoAutoPlay = element.attr('data-video-autoplay'); 1545 if (!elementSpeed) { 1546 elementSpeed = 300; 1547 } 1548 if (!elementDirection) { 1549 elementDirection = 'horizontal'; 1550 } 1551 if (elementAutoPlay) { 1552 elementAutoPlay = Number(elementAutoPlay); 1553 } 1554 if (elementLoop == 'true') { 1555 elementLoop = true; 1556 } else { 1557 elementLoop = false;
1558 } 1559 if (!elementEffect) { 1560 elementEffect = 'slide'; 1561 } 1562 if (elementGrabCursor == 'false') { 1563 elementGrabCursor = false; 1564 } else { 1565 elementGrabCursor = true; 1566 } 1567 if (sliderVideoAutoPlay == 'false') { 1568 sliderVideoAutoPlay = false; 1569 } else { 1570 sliderVideoAutoPlay = true; 1571 } 1572 if (element.find('.swiper-pagination').length > 0) { 1573 var elementPagination = '.swiper-pagination', 1574 elementPaginationClickable = true; 1575 } else { 1576 var elementPagination = '', 1577 elementPaginationClickable = false; 1578 } 1579 var elementNavNext = '#slider-arrow-right', 1580 elementNavPrev = '#slider-arrow-left'; 1581 swiperSlider = new Swiper(element.find('.swiper-parent'), { 1582 direction: elementDirection, 1583 speed: Number(elementSpeed), 1584 autoplay: elementAutoPlay, 1585 loop: elementLoop, 1586 effect: elementEffect, 1587 slidesPerView: 1, 1588 grabCursor: elementGrabCursor, 1589 pagination: elementPagination, 1590 paginationClickable: elementPaginationClickable, 1591 prevButton: elementNavPrev, 1592 nextButton: elementNavNext, 1593 onInit: function (swiper) { 1594 SEMICOLON.slider.sliderParallaxDimensions(); 1595 element.find('.yt-bg-player').removeClass('customjs'); 1596 SEMICOLON.widget.youtubeBgVideo(); 1597 $('.swiper-slide-active [data-caption-animate]').each(function () { 1598 var $toAnimateElement = $(this), 1599 toAnimateDelay = $toAnimateElement.attr('data-caption-delay'), 1600 toAnimateDelayTime = 0; 1601 if (toAnimateDelay) { 1602 toAnimateDelayTime = Number(toAnimateDelay) + 750; 1603 } else { 1604 toAnimateDelayTime = 750; 1605 } 1606 if (!$toAnimateElement.hasClass('animated')) { 1607 $toAnimateElement.addClass('not-animated'); 1608 var elementAnimation = $toAnimateElement.attr('data-caption-animate'); 1609 setTimeout(function () { 1610 $toAnimateElement.removeClass('not-animated').addClass(elementAnimation + ' animated'); 1611 }, toAnimateDelayTime); 1612 } 1613 }); 1614 $('[data-caption-animate]').each(function () { 1615 var $toAnimateElement = $(this), 1616 elementAnimation = $toAnimateElement.attr('data-caption-animate'); 1617 if ($toAnimateElement.parents('.swiper-slide').hasClass('swiper-slide-active')) { 1618 return true; 1619 } 1620 $toAnimateElement.removeClass('animated').removeClass(elementAnimation).addClass('not-animated'); 1621 }); 1622 SEMICOLON.slider.swiperSliderMenu(); 1623 }, 1624 onSlideChangeStart: function (swiper) { 1625 if (slideNumberCurrent.length > 0) { 1626 if (elementLoop == true) { 1627 slideNumberCurrent.html(Number(element.find('.swiper-slide.swiper-slide-active').attr('data-swiper-slide-index')) + 1); 1628 } else { 1629 slideNumberCurrent.html(swiperSlider.activeIndex + 1); 1630 } 1631 } 1632 $('[data-caption-animate]').each(function () { 1633 var $toAnimateElement = $(this), 1634 elementAnimation = $toAnimateElement.attr('data-caption-animate'); 1635 if ($toAnimateElement.parents('.swiper-slide').hasClass('swiper-slide-active')) { 1636 return true; 1637 } 1638 $toAnimateElement.removeClass('animated').removeClass(elementAnimation).addClass('not-animated'); 1639 }); 1640 SEMICOLON.slider.swiperSliderMenu(); 1641 }, 1642 onSlideChangeEnd: function (swiper) { 1643 element.find('.swiper-slide').each(function () { 1644 var slideEl = $(this); 1645 if (slideEl.find('video').length > 0 && sliderVideoAutoPlay == true) { 1646 slideEl.find('video').get(0).pause(); 1647 } 1648 if (slideEl.find('.yt-bg-player.mb_YTPlayer:not(.customjs)').length > 0) { 1649 slideEl.find('.yt-bg-player.mb_YTPlayer:not(.customjs)').YTPPause(); 1650 } 1651 }); 1652 element.find('.swiper-slide:not(".swiper-slide-active")').each(function () { 1653 var slideEl = $(this); 1654 if (slideEl.find('video').length > 0) { 1655 if (slideEl.find('video').get(0).currentTime != 0) { 1656 slideEl.find('video').get(0).currentTime = 0; 1657 } 1658 } 1659 if (slideEl.find('.yt-bg-player.mb_YTPlayer:not(.customjs)').length > 0) { 1660 slideEl.find('.yt-bg-player.mb_YTPlayer:not(.customjs)').YTPGetPlayer().seekTo(slideEl.find('.yt-bg-player.mb_YTPlayer:not(.customjs)').attr('data-start')); 1661 } 1662 }); 1663 if (element.find('.swiper-slide.swiper-slide-active').find('video').length > 0 && sliderVideoAutoPlay == true) { 1664 element.find('.swiper-slide.swiper-slide-active').find('video').get(0).play(); 1665 } 1666 if (element.find('.swiper-slide.swiper-slide-active').find('.yt-bg-player.mb_YTPlayer:not(.customjs)').length > 0 && sliderVideoAutoPlay == true) { 1667 element.find('.swiper-slide.swiper-slide-active').find('.yt-bg-player.mb_YTPlayer:not(.customjs)').YTPPlay(); 1668 } 1669 element.find('.swiper-slide.swiper-slide-active [data-caption-animate]').each(function () { 1670 var $toAnimateElement = $(this), 1671 toAnimateDelay = $toAnimateElement.attr('data-caption-delay'), 1672 toAnimateDelayTime = 0; 1673 if (toAnimateDelay) { 1674 toAnimateDelayTime = Number(toAnimateDelay) + 300; 1675 } else { 1676 toAnimateDelayTime = 300; 1677 } 1678 if (!$toAnimateElement.hasClass('animated')) { 1679 $toAnimateElement.addClass('not-animated'); 1680 var elementAnimation = $toAnimateElement.attr('data-caption-animate'); 1681 setTimeout(function () { 1682 $toAnimateElement.removeClass('not-animated').addClass(elementAnimation + ' animated'); 1683 }, toAnimateDelayTime); 1684 } 1685 }); 1686 } 1687 }); 1688 if (slideNumberCurrent.length > 0) { 1689 if (elementLoop == true) { 1690 slideNumberCurrent.html(Number(element.find('.swiper-slide.swiper-slide-active').attr('data-swiper-slide-index')) + 1); 1691 } else { 1692 slideNumberCurrent.html(swiperSlider.activeIndex + 1); 1693 } 1694 } 1695 if (slideNumberTotal.length > 0) { 1696 slideNumberTotal.html(element.find('.swiper-slide:not(.swiper-slide-duplicate)').length); 1697 } 1698 } 1699 }, 1700 sliderParallaxOffset: function () { 1701 var sliderParallaxOffsetTop = 0; 1702 var headerHeight = $header.outerHeight(); 1703 if ($body.hasClass('side-header') || $header.hasClass('transparent-header')) { 1704 headerHeight = 0; 1705 } 1706 if ($pageTitle.length > 0) { 1707 var pageTitleHeight = $pageTitle.outerHeight(); 1708 sliderParallaxOffsetTop = pageTitleHeight + headerHeight; 1709 } else { 1710 sliderParallaxOffsetTop = headerHeight; 1711 } 1712 if ($slider.next('#header').length > 0) { 1713 sliderParallaxOffsetTop = 0; 1714 } 1715 return sliderParallaxOffsetTop; 1716 }, 1717 sliderParallax: function () { 1718 if ($sliderParallaxEl.length < 1) { 1719 return true; 1720 } 1721 var parallaxOffsetTop = SEMICOLON.slider.sliderParallaxOffset(), 1722 parallaxElHeight = $sliderParallaxEl.outerHeight(); 1723 if (($body.hasClass('device-lg') || $body.hasClass('device-md')) && !SEMICOLON.isMobile.any()) { 1724 if ((parallaxElHeight + parallaxOffsetTop + 50) > $window.scrollTop()) { 1725 $sliderParallaxEl.addClass('slider-parallax-visible').removeClass('slider-parallax-invisible'); 1726 if ($window.scrollTop() > parallaxOffsetTop) { 1727 if ($sliderParallaxEl.find('.slider-parallax-inner').length > 0) { 1728 var tranformAmount = (($window.scrollTop() - parallaxOffsetTop) * -.4).toFixed(0), 1729 tranformAmount2 = (($window.scrollTop() - parallaxOffsetTop) * -.15).toFixed(0); 1730 $sliderParallaxEl.find('.slider-parallax-inner').css({ 1731 'transform': 'translateY(' + tranformAmount + 'px)' 1732 }); 1733 $('.slider-parallax .slider-caption,.ei-title').css({ 1734 'transform': 'translateY(' + tranformAmount2 + 'px)' 1735 }); 1736 } else { 1737 var tranformAmount = (($window.scrollTop() - parallaxOffsetTop) / 1.5).toFixed(0), 1738 tranformAmount2 = (($window.scrollTop() - parallaxOffsetTop) / 7).toFixed(0); 1739 $sliderParallaxEl.css({ 1740 'transform': 'translateY(' + tranformAmount + 'px)' 1741 }); 1742 $('.slider-parallax .slider-caption,.ei-title').css({ 1743 'transform': 'translateY(' + -tranformAmount2 + 'px)' 1744 }); 1745 } 1746 } else { 1747 if ($sliderParallaxEl.find('.slider-parallax-inner').length > 0) { 1748 $('.slider-parallax-inner,.slider-parallax .slider-caption,.ei-title').css({ 1749 'transform': 'translateY(0px)' 1750 }); 1751 } else { 1752 $('.slider-parallax,.slider-parallax .slider-caption,.ei-title').css({ 1753 'transform': 'translateY(0px)' 1754 }); 1755 } 1756 } 1757 } else { 1758 $sliderParallaxEl.addClass('slider-parallax-invisible').removeClass('slider-parallax-visible'); 1759 } 1760 if (requesting) { 1761 requestAnimationFrame(function () { 1762 SEMICOLON.slider.sliderParallax(); 1763 SEMICOLON.slider.sliderElementsFade(); 1764 }); 1765 } 1766 } else { 1767 if ($sliderParallaxEl.find('.slider-parallax-inner').length > 0) { 1768 $('.slider-parallax-inner,.slider-parallax .slider-caption,.ei-title').css({ 1769 'transform': 'translateY(0px)' 1770 }); 1771 } else { 1772 $('.slider-parallax,.slider-parallax .slider-caption,.ei-title').css({ 1773 'transform': 'translateY(0px)' 1774 }); 1775 } 1776 } 1777 }, 1778 sliderElementsFade: function () { 1779 if ($sliderParallaxEl.length > 0) { 1780 if (($body.hasClass('device-lg') || $body.hasClass('device-md')) && !SEMICOLON.isMobile.any()) { 1781 var parallaxOffsetTop = SEMICOLON.slider.sliderParallaxOffset(), 1782 parallaxElHeight = $sliderParallaxEl.outerHeight(); 1783 if ($slider.length > 0) { 1784 if ($header.hasClass('transparent-header') || $('body').hasClass('side-header')) { 1785 var tHeaderOffset = 100; 1786 } else { 1787 var tHeaderOffset = 0; 1788 } 1789 $sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({ 1790 'opacity': 1 - ((($window.scrollTop() - tHeaderOffset) * 1.85) / parallaxElHeight) 1791 }); 1792 } 1793 } else { 1794 $sliderParallaxEl.find('#slider-arrow-left,#slider-arrow-right,.vertical-middle:not(.no-fade),.slider-caption,.ei-title,.camera_prev,.camera_next').css({ 1795 'opacity': 1 1796 }); 1797 } 1798 } 1799 }, 1800 captionPosition: function () { 1801 $slider.find('.slider-caption:not(.custom-caption-pos)').each(function () { 1802 var scapHeight = $(this).outerHeight(); 1803 var scapSliderHeight = $slider.outerHeight(); 1804 if ($(this).parents('#slider').prev('#header').hasClass('transparent-header') && ($body.hasClass('device-lg') || $body.hasClass('device-md'))) { 1805 if ($(this).parents('#slider').prev('#header').hasClass('floating-header')) { 1806 $(this).css({ 1807 top: (scapSliderHeight + 160 - scapHeight) / 2 + 'px' 1808 }); 1809 } else { 1810 $(this).css({ 1811 top: (scapSliderHeight + 100 - scapHeight) / 2 + 'px' 1812 }); 1813 } 1814 } else { 1815 $(this).css({ 1816 top: (scapSliderHeight - scapHeight) / 2 + 'px' 1817 }); 1818 } 1819 }); 1820 }, 1821 swiperSliderMenu: function (onWinLoad) { 1822 onWinLoad = typeof onWinLoad !== 'undefined' ? onWinLoad : false;
1823 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1824 var activeSlide = $slider.find('.swiper-slide.swiper-slide-active'); 1825 SEMICOLON.slider.headerSchemeChanger(activeSlide, onWinLoad); 1826 } 1827 }, 1828 revolutionSliderMenu: function (onWinLoad) { 1829 onWinLoad = typeof onWinLoad !== 'undefined' ? onWinLoad : false; 1830 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 1831 var activeSlide = $slider.find('.active-revslide'); 1832 SEMICOLON.slider.headerSchemeChanger(activeSlide, onWinLoad); 1833 } 1834 }, 1835 headerSchemeChanger: function (activeSlide, onWinLoad) { 1836 if (activeSlide.length > 0) { 1837 var darkExists = false; 1838 if (activeSlide.hasClass('dark')) { 1839 if (oldHeaderClasses) { 1840 var oldClassesArray = oldHeaderClasses.split(/ +/); 1841 } else { 1842 var oldClassesArray = ''; 1843 } 1844 var noOfOldClasses = oldClassesArray.length; 1845 if (noOfOldClasses > 0) { 1846 var i = 0; 1847 for (i = 0; i < noOfOldClasses; i++) { 1848 if (oldClassesArray[i] == 'dark' && onWinLoad == true) { 1849 darkExists = true; 1850 break; 1851 } 1852 } 1853 } 1854 $('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').addClass('dark'); 1855 if (!darkExists) { 1856 $('#header.transparent-header.sticky-header,#header.transparent-header.semi-transparent.sticky-header,#header.transparent-header.floating-header.sticky-header').removeClass('dark'); 1857 } 1858 $headerWrap.removeClass('not-dark'); 1859 } else { 1860 if ($body.hasClass('dark')) { 1861 activeSlide.addClass('not-dark'); 1862 $('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark'); 1863 $('#header.transparent-header:not(.sticky-header,.semi-transparent,.floating-header)').find('#header-wrap').addClass('not-dark'); 1864 } else { 1865 $('#header.transparent-header:not(.semi-transparent,.floating-header)').removeClass('dark'); 1866 $headerWrap.removeClass('not-dark'); 1867 } 1868 } 1869 if ($header.hasClass('sticky-header')) { 1870 SEMICOLON.header.stickyMenuClass(); 1871 } 1872 SEMICOLON.header.logo(); 1873 } 1874 }, 1875 owlCaptionInit: function () { 1876 if ($owlCarouselEl.length > 0) { 1877 $owlCarouselEl.each(function () { 1878 var element = $(this); 1879 if (element.find('.owl-dot').length > 0) { 1880 element.addClass('with-carousel-dots'); 1881 } 1882 }); 1883 } 1884 } 1885 }; 1886 SEMICOLON.portfolio = { 1887 init: function () { 1888 SEMICOLON.portfolio.ajaxload(); 1889 }, 1890 gridInit: function ($container) { 1891 if (!$().isotope) { 1892 console.log('gridInit: Isotope not Defined.'); 1893 return true; 1894 } 1895 if ($container.length < 1) { 1896 return true; 1897 } 1898 if ($container.hasClass('customjs')) { 1899 return true; 1900 } 1901 $container.each(function () { 1902 var element = $(this), 1903 elementTransition = element.attr('data-transition'), 1904 elementLayoutMode = element.attr('data-layout'), 1905 elementStagger = element.attr('data-stagger'); 1906 if (!elementTransition) { 1907 elementTransition = '0.65s'; 1908 } 1909 if (!elementLayoutMode) { 1910 elementLayoutMode = 'masonry'; 1911 } 1912 if (!elementStagger) { 1913 elementStagger = 0; 1914 } 1915 setTimeout(function () { 1916 if (element.hasClass('portfolio')) { 1917 element.isotope({ 1918 layoutMode: elementLayoutMode, 1919 transitionDuration: elementTransition, 1920 stagger: Number(elementStagger), 1921 masonry: { 1922 columnWidth: element.find('.portfolio-item:not(.wide)')[0] 1923 } 1924 }); 1925 } else { 1926 element.isotope({ 1927 layoutMode: elementLayoutMode, 1928 transitionDuration: elementTransition 1929 }); 1930 } 1931 }, 300); 1932 }); 1933 }, 1934 filterInit: function () { 1935 if (!$().isotope) { 1936 console.log('filterInit: Isotope not Defined.'); 1937 return true; 1938 } 1939 if ($portfolioFilter.length < 1) { 1940 return true; 1941 } 1942 if ($portfolioFilter.hasClass('customjs')) { 1943 return true; 1944 } 1945 $portfolioFilter.each(function () { 1946 var element = $(this), 1947 elementContainer = element.attr('data-container'), 1948 elementActiveClass = element.attr('data-active-class'),
1949 elementDefaultFilter = element.attr('data-default'); 1950 if (!elementActiveClass) { 1951 elementActiveClass = 'activeFilter'; 1952 } 1953 element.find('a').click(function () { 1954 element.find('li').removeClass(elementActiveClass); 1955 $(this).parent('li').addClass(elementActiveClass); 1956 var selector = $(this).attr('data-filter'); 1957 $(elementContainer).isotope({ 1958 filter: selector 1959 }); 1960 return false; 1961 }); 1962 if (elementDefaultFilter) { 1963 element.find('li').removeClass(elementActiveClass); 1964 element.find('[data-filter="' + elementDefaultFilter + '"]').parent('li').addClass(elementActiveClass); 1965 $(elementContainer).isotope({ 1966 filter: elementDefaultFilter 1967 }); 1968 } 1969 }); 1970 }, 1971 shuffleInit: function () { 1972 if (!$().isotope) { 1973 console.log('shuffleInit: Isotope not Defined.'); 1974 return true; 1975 } 1976 if ($('.portfolio-shuffle').length < 1) { 1977 return true; 1978 } 1979 $('.portfolio-shuffle').click(function () { 1980 var element = $(this), 1981 elementContainer = element.attr('data-container'); 1982 $(elementContainer).isotope('shuffle'); 1983 }); 1984 }, 1985 portfolioDescMargin: function () { 1986 var $portfolioOverlayEl = $('.portfolio-overlay'); 1987 if ($portfolioOverlayEl.length > 0) { 1988 $portfolioOverlayEl.each(function () { 1989 var element = $(this); 1990 if (element.find('.portfolio-desc').length > 0) { 1991 var portfolioOverlayHeight = element.outerHeight(); 1992 var portfolioOverlayDescHeight = element.find('.portfolio-desc').outerHeight(); 1993 if (element.find('a.left-icon').length > 0 || element.find('a.right-icon').length > 0 || element.find('a.center-icon').length > 0) { 1994 var portfolioOverlayIconHeight = 40 + 20; 1995 } else { 1996 var portfolioOverlayIconHeight = 0; 1997 } 1998 var portfolioOverlayMiddleAlign = (portfolioOverlayHeight - portfolioOverlayDescHeight - portfolioOverlayIconHeight) / 2 1999 element.find('.portfolio-desc').css({ 2000 'margin-top': portfolioOverlayMiddleAlign 2001 }); 2002 } 2003 }); 2004 } 2005 }, 2006 arrange: function () { 2007 if ($portfolio.length > 0) { 2008 $portfolio.each(function () { 2009 var element = $(this); 2010 SEMICOLON.initialize.setFullColumnWidth(element); 2011 }); 2012 } 2013 }, 2014 ajaxload: function () { 2015 $('.portfolio-ajax .portfolio-item a.center-icon').click(function (e) { 2016 var portPostId = $(this).parents('.portfolio-item').attr('id'); 2017 if (!$(this).parents('.portfolio-item').hasClass('portfolio-active')) { 2018 SEMICOLON.portfolio.loadItem(portPostId, prevPostPortId); 2019 } 2020 e.preventDefault(); 2021 }); 2022 }, 2023 newNextPrev: function (portPostId) { 2024 var portNext = SEMICOLON.portfolio.getNextItem(portPostId); 2025 var portPrev = SEMICOLON.portfolio.getPrevItem(portPostId); 2026 $('#next-portfolio').attr('data-id', portNext); 2027 $('#prev-portfolio').attr('data-id', portPrev); 2028 }, 2029 loadItem: function (portPostId, prevPostPortId, getIt) { 2030 if (!getIt) { 2031 getIt = false; 2032 } 2033 var portNext = SEMICOLON.portfolio.getNextItem(portPostId); 2034 var portPrev = SEMICOLON.portfolio.getPrevItem(portPostId); 2035 if (getIt == false) { 2036 SEMICOLON.portfolio.closeItem(); 2037 $portfolioAjaxLoader.fadeIn(); 2038 var portfolioDataLoader = $('#' + portPostId).attr('data-loader'); 2039 $portfolioDetailsContainer.load(portfolioDataLoader, { 2040 portid: portPostId, 2041 portnext: portNext, 2042 portprev: portPrev 2043 }, function () { 2044 SEMICOLON.portfolio.initializeAjax(portPostId); 2045 SEMICOLON.portfolio.openItem(); 2046 $portfolioItems.removeClass('portfolio-active'); 2047 $('#' + portPostId).addClass('portfolio-active'); 2048 }); 2049 } 2050 }, 2051 closeItem: function () { 2052 if ($portfolioDetails && $portfolioDetails.height() > 32) { 2053 $portfolioAjaxLoader.fadeIn(); 2054 $portfolioDetails.find('#portfolio-ajax-single').fadeOut('600', function () { 2055 $(this).remove(); 2056 }); 2057 $portfolioDetails.removeClass('portfolio-ajax-opened'); 2058 } 2059 }, 2060 openItem: function () { 2061 var noOfImages = $portfolioDetails.find('img').length; 2062 var noLoaded = 0; 2063 if (noOfImages > 0) { 2064 $portfolioDetails.find('img').on('load', function () { 2065 noLoaded++; 2066 var topOffsetScroll = SEMICOLON.initialize.topScrollOffset(); 2067 if (noOfImages === noLoaded) { 2068 $portfolioDetailsContainer.css({ 2069 'display': 'block' 2070 }); 2071 $portfolioDetails.addClass('portfolio-ajax-opened'); 2072 $portfolioAjaxLoader.fadeOut(); 2073 var t = setTimeout(function () { 2074 SEMICOLON.widget.loadFlexSlider(); 2075 SEMICOLON.initialize.lightbox(); 2076 SEMICOLON.initialize.resizeVideos(); 2077 SEMICOLON.widget.masonryThumbs(); 2078 $('html,body').stop(true).animate({ 2079 'scrollTop': $portfolioDetails.offset().top - topOffsetScroll 2080 }, 900, 'easeOutQuad'); 2081 }, 500); 2082 } 2083 }); 2084 } else { 2085 var topOffsetScroll = SEMICOLON.initialize.topScrollOffset(); 2086 $portfolioDetailsContainer.css({ 2087 'display': 'block' 2088 }); 2089 $portfolioDetails.addClass('portfolio-ajax-opened'); 2090 $portfolioAjaxLoader.fadeOut(); 2091 var t = setTimeout(function () { 2092 SEMICOLON.widget.loadFlexSlider(); 2093 SEMICOLON.initialize.lightbox(); 2094 SEMICOLON.initialize.resizeVideos(); 2095 SEMICOLON.widget.masonryThumbs(); 2096 $('html,body').stop(true).animate({ 2097 'scrollTop': $portfolioDetails.offset().top - topOffsetScroll 2098 }, 900, 'easeOutQuad'); 2099 }, 500); 2100 } 2101 }, 2102 getNextItem: function (portPostId) { 2103 var portNext = ''; 2104 var hasNext = $('#' + portPostId).next(); 2105 if (hasNext.length != 0) { 2106 portNext = hasNext.attr('id'); 2107 } 2108 return portNext; 2109 }, 2110 getPrevItem: function (portPostId) { 2111 var portPrev = ''; 2112 var hasPrev = $('#' + portPostId).prev(); 2113 if (hasPrev.length != 0) { 2114 portPrev = hasPrev.attr('id'); 2115 } 2116 return portPrev; 2117 }, 2118 initializeAjax: function (portPostId) { 2119 prevPostPortId = $('#' + portPostId); 2120 $('#next-portfolio, #prev-portfolio').click(function () { 2121 var portPostId = $(this).attr('data-id'); 2122 $portfolioItems.removeClass('portfolio-active'); 2123 $('#' + portPostId).addClass('portfolio-active'); 2124 SEMICOLON.portfolio.loadItem(portPostId, prevPostPortId); 2125 return false;
2126 }); 2127 $('#close-portfolio').click(function () { 2128 $portfolioDetailsContainer.fadeOut('600', function () { 2129 $portfolioDetails.find('#portfolio-ajax-single').remove(); 2130 }); 2131 $portfolioDetails.removeClass('portfolio-ajax-opened'); 2132 $portfolioItems.removeClass('portfolio-active'); 2133 return false; 2134 }); 2135 } 2136 }; 2137 SEMICOLON.widget = { 2138 init: function () { 2139 SEMICOLON.widget.animations(); 2140 SEMICOLON.widget.youtubeBgVideo(); 2141 SEMICOLON.widget.tabs(); 2142 SEMICOLON.widget.tabsJustify(); 2143 SEMICOLON.widget.tabsResponsive(); 2144 SEMICOLON.widget.tabsResponsiveResize(); 2145 SEMICOLON.widget.toggles(); 2146 SEMICOLON.widget.accordions(); 2147 SEMICOLON.widget.counter(); 2148 SEMICOLON.widget.progress(); 2149 SEMICOLON.widget.navTree(); 2150 SEMICOLON.widget.textRotater(); 2151 SEMICOLON.widget.carousel(); 2152 SEMICOLON.widget.linkScroll(); 2153 SEMICOLON.widget.contactForm(); 2154 SEMICOLON.widget.subscription(); 2155 SEMICOLON.widget.quickContact(); 2156 SEMICOLON.widget.cookieNotify(); 2157 SEMICOLON.widget.extras(); 2158 }, 2159 parallax: function () { 2160 if (!$.stellar) { 2161 console.log('parallax: Stellar not Defined.'); 2162 return true; 2163 } 2164 if ($parallaxEl.length > 0 || $parallaxPageTitleEl.length > 0 || $parallaxPortfolioEl.length > 0) { 2165 if (!SEMICOLON.isMobile.any()) { 2166 $.stellar({ 2167 horizontalScrolling: false, 2168 verticalOffset: 150 2169 }); 2170 } else { 2171 $parallaxEl.addClass('mobile-parallax'); 2172 $parallaxPageTitleEl.addClass('mobile-parallax'); 2173 $parallaxPortfolioEl.addClass('mobile-parallax'); 2174 } 2175 } 2176 }, 2177 animations: function () { 2178 if (!$().appear) { 2179 console.log('animations: Appear not Defined.'); 2180 return true; 2181 } 2182 var $dataAnimateEl = $('[data-animate]'); 2183 if ($dataAnimateEl.length > 0) { 2184 if ($body.hasClass('device-lg') || $body.hasClass('device-md') || $body.hasClass('device-sm')) { 2185 $dataAnimateEl.each(function () { 2186 var element = $(this), 2187 animationOut = element.attr('data-animate-out'), 2188 animationDelay = element.attr('data-delay'), 2189 animationDelayOut = element.attr('data-delay-out'), 2190 animationDelayTime = 0, 2191 animationDelayOutTime = 3000; 2192 if (element.parents('.fslider.no-thumbs-animate').length > 0) { 2193 return true; 2194 } 2195 if (animationDelay) { 2196 animationDelayTime = Number(animationDelay) + 500; 2197 } else { 2198 animationDelayTime = 500; 2199 } 2200 if (animationOut && animationDelayOut) { 2201 animationDelayOutTime = Number(animationDelayOut) + animationDelayTime; 2202 } 2203 if (!element.hasClass('animated')) { 2204 element.addClass('not-animated'); 2205 var elementAnimation = element.attr('data-animate'); 2206 element.appear(function () { 2207 setTimeout(function () { 2208 element.removeClass('not-animated').addClass(elementAnimation + ' animated'); 2209 }, animationDelayTime); 2210 if (animationOut) { 2211 setTimeout(function () { 2212 element.removeClass(elementAnimation).addClass(animationOut); 2213 }, animationDelayOutTime); 2214 } 2215 }, { 2216 accX: 0,
2217 accY: -120 2218 }, 'easeInCubic'); 2219 } 2220 }); 2221 } 2222 } 2223 }, 2224 loadFlexSlider: function () { 2225 if (!$().flexslider) { 2226 console.log('loadFlexSlider: FlexSlider not Defined.'); 2227 return true; 2228 } 2229 var $flexSliderEl = $('.fslider:not(.customjs)').find('.flexslider'); 2230 if ($flexSliderEl.length > 0) { 2231 $flexSliderEl.each(function () { 2232 var $flexsSlider = $(this), 2233 flexsAnimation = $flexsSlider.parent('.fslider').attr('data-animation'), 2234 flexsEasing = $flexsSlider.parent('.fslider').attr('data-easing'), 2235 flexsDirection = $flexsSlider.parent('.fslider').attr('data-direction'), 2236 flexsReverse = $flexsSlider.parent('.fslider').attr('data-reverse'), 2237 flexsSlideshow = $flexsSlider.parent('.fslider').attr('data-slideshow'), 2238 flexsPause = $flexsSlider.parent('.fslider').attr('data-pause'), 2239 flexsSpeed = $flexsSlider.parent('.fslider').attr('data-speed'), 2240 flexsVideo = $flexsSlider.parent('.fslider').attr('data-video'), 2241 flexsPagi = $flexsSlider.parent('.fslider').attr('data-pagi'), 2242 flexsArrows = $flexsSlider.parent('.fslider').attr('data-arrows'), 2243 flexsThumbs = $flexsSlider.parent('.fslider').attr('data-thumbs'), 2244 flexsHover = $flexsSlider.parent('.fslider').attr('data-hover'), 2245 flexsSheight = $flexsSlider.parent('.fslider').attr('data-smooth-height'), 2246 flexsTouch = $flexsSlider.parent('.fslider').attr('data-touch'), 2247 flexsUseCSS = false; 2248 if (!flexsAnimation) { 2249 flexsAnimation = 'slide'; 2250 } 2251 if (!flexsEasing || flexsEasing == 'swing') { 2252 flexsEasing = 'swing'; 2253 flexsUseCSS = true; 2254 } 2255 if (!flexsDirection) { 2256 flexsDirection = 'horizontal'; 2257 } 2258 if (flexsReverse == 'true') { 2259 flexsReverse = true; 2260 } else { 2261 flexsReverse = false; 2262 } 2263 if (!flexsSlideshow) { 2264 flexsSlideshow = true; 2265 } else { 2266 flexsSlideshow = false; 2267 } 2268 if (!flexsPause) { 2269 flexsPause = 5000; 2270 } 2271 if (!flexsSpeed) { 2272 flexsSpeed = 600; 2273 } 2274 if (!flexsVideo) { 2275 flexsVideo = false; 2276 } 2277 if (flexsSheight == 'false') { 2278 flexsSheight = false; 2279 } else { 2280 flexsSheight = true; 2281 } 2282 if (flexsDirection == 'vertical') { 2283 flexsSheight = false; 2284 } 2285 if (flexsPagi == 'false') { 2286 flexsPagi = false; 2287 } else { 2288 flexsPagi = true; 2289 } 2290 if (flexsThumbs == 'true') { 2291 flexsPagi = 'thumbnails'; 2292 } else { 2293 flexsPagi = flexsPagi; 2294 } 2295 if (flexsArrows == 'false') { 2296 flexsArrows = false; 2297 } else { 2298 flexsArrows = true; 2299 } 2300 if (flexsHover == 'false') { 2301 flexsHover = false; 2302 } else { 2303 flexsHover = true; 2304 } 2305 if (flexsTouch == 'false') { 2306 flexsTouch = false;
2307 } else { 2308 flexsTouch = true; 2309 } 2310 $flexsSlider.flexslider({ 2311 selector: ".slider-wrap > .slide", 2312 animation: flexsAnimation, 2313 easing: flexsEasing, 2314 direction: flexsDirection, 2315 reverse: flexsReverse, 2316 slideshow: flexsSlideshow, 2317 slideshowSpeed: Number(flexsPause), 2318 animationSpeed: Number(flexsSpeed), 2319 pauseOnHover: flexsHover, 2320 video: flexsVideo, 2321 controlNav: flexsPagi, 2322 directionNav: flexsArrows, 2323 smoothHeight: flexsSheight, 2324 useCSS: flexsUseCSS, 2325 touch: flexsTouch, 2326 start: function (slider) { 2327 SEMICOLON.widget.animations(); 2328 SEMICOLON.initialize.verticalMiddle(); 2329 slider.parent().removeClass('preloader2'); 2330 var t = setTimeout(function () { 2331 $('.grid-container').isotope('layout'); 2332 }, 1200); 2333 SEMICOLON.initialize.lightbox(); 2334 $('.flex-prev').html('<i class="icon-angle-left"></i>'); 2335 $('.flex-next').html('<i class="icon-angle-right"></i>'); 2336 SEMICOLON.portfolio.portfolioDescMargin(); 2337 }, 2338 after: function () { 2339 if ($('.grid-container').hasClass('portfolio-full')) { 2340 $('.grid-container.portfolio-full').isotope('layout'); 2341 SEMICOLON.portfolio.portfolioDescMargin(); 2342 } 2343 } 2344 }); 2345 }); 2346 } 2347 }, 2348 html5Video: function () { 2349 var videoEl = $('.video-wrap:has(video)'); 2350 if (videoEl.length > 0) { 2351 videoEl.each(function () { 2352 var element = $(this), 2353 elementVideo = element.find('video'), 2354 outerContainerWidth = element.outerWidth(), 2355 outerContainerHeight = element.outerHeight(), 2356 innerVideoWidth = elementVideo.outerWidth(), 2357 innerVideoHeight = elementVideo.outerHeight(); 2358 if (innerVideoHeight < outerContainerHeight) { 2359 var videoAspectRatio = innerVideoWidth / innerVideoHeight, 2360 newVideoWidth = outerContainerHeight * videoAspectRatio, 2361 innerVideoPosition = (newVideoWidth - outerContainerWidth) / 2; 2362 elementVideo.css({ 2363 'width': newVideoWidth + 'px', 2364 'height': outerContainerHeight + 'px', 2365 'left': -innerVideoPosition + 'px' 2366 }); 2367 } else { 2368 var innerVideoPosition = (innerVideoHeight - outerContainerHeight) / 2; 2369 elementVideo.css({ 2370 'width': innerVideoWidth + 'px', 2371 'height': innerVideoHeight + 'px', 2372 'top': -innerVideoPosition + 'px' 2373 }); 2374 } 2375 if (SEMICOLON.isMobile.any()) { 2376 var placeholderImg = elementVideo.attr('poster'); 2377 if (placeholderImg != '') { 2378 element.append('<div class="video-placeholder" style="background-image: url(' + placeholderImg + ');"></div>') 2379 } 2380 } 2381 }); 2382 } 2383 }, 2384 youtubeBgVideo: function () { 2385 if (!$().mb_YTPlayer) { 2386 console.log('youtubeBgVideo: YoutubeBG Plugin not Defined.'); 2387 return true; 2388 } 2389 var $youtubeBgPlayerEl = $('.yt-bg-player'); 2390 if ($youtubeBgPlayerEl.hasClass('customjs')) { 2391 return true; 2392 } 2393 if ($youtubeBgPlayerEl.length > 0) { 2394 $youtubeBgPlayerEl.each(function () { 2395 var element = $(this), 2396 ytbgVideo = element.attr('data-video'), 2397 ytbgMute = element.attr('data-mute'), 2398 ytbgRatio = element.attr('data-ratio'), 2399 ytbgQuality = element.attr('data-quality'), 2400 ytbgOpacity = element.attr('data-opacity'), 2401 ytbgContainer = element.attr('data-container'), 2402 ytbgOptimize = element.attr('data-optimize'), 2403 ytbgLoop = element.attr('data-loop'), 2404 ytbgVolume = element.attr('data-volume'), 2405 ytbgStart = element.attr('data-start'), 2406 ytbgStop = element.attr('data-stop'), 2407 ytbgAutoPlay = element.attr('data-autoplay'), 2408 ytbgFullScreen = element.attr('data-fullscreen'); 2409 if (ytbgMute == 'false') { 2410 ytbgMute = false;
2411 } else { 2412 ytbgMute = true; 2413 } 2414 if (!ytbgRatio) { 2415 ytbgRatio = '16/9'; 2416 } 2417 if (!ytbgQuality) { 2418 ytbgQuality = 'hd720'; 2419 } 2420 if (!ytbgOpacity) { 2421 ytbgOpacity = 1; 2422 } 2423 if (!ytbgContainer) { 2424 ytbgContainer = 'self'; 2425 } 2426 if (ytbgOptimize == 'false') { 2427 ytbgOptimize = false; 2428 } else { 2429 ytbgOptimize = true; 2430 } 2431 if (ytbgLoop == 'false') { 2432 ytbgLoop = false; 2433 } else { 2434 ytbgLoop = true; 2435 } 2436 if (!ytbgVolume) { 2437 ytbgVolume = 1; 2438 } 2439 if (!ytbgStart) { 2440 ytbgStart = 0; 2441 } 2442 if (!ytbgStop) { 2443 ytbgStop = 0; 2444 } 2445 if (ytbgAutoPlay == 'false') { 2446 ytbgAutoPlay = false; 2447 } else { 2448 ytbgAutoPlay = true; 2449 } 2450 if (ytbgFullScreen == 'true') { 2451 ytbgFullScreen = true; 2452 } else { 2453 ytbgFullScreen = false; 2454 } 2455 element.mb_YTPlayer({ 2456 videoURL: ytbgVideo, 2457 mute: ytbgMute, 2458 ratio: ytbgRatio, 2459 quality: ytbgQuality, 2460 opacity: Number(ytbgOpacity), 2461 containment: ytbgContainer, 2462 optimizeDisplay: ytbgOptimize, 2463 loop: ytbgLoop, 2464 vol: Number(ytbgVolume), 2465 startAt: Number(ytbgStart), 2466 stopAt: Number(ytbgStop), 2467 autoplay: ytbgAutoPlay, 2468 realfullscreen: ytbgFullScreen, 2469 showYTLogo: false, 2470 showControls: false 2471 }); 2472 }); 2473 } 2474 }, 2475 tabs: function () { 2476 if (!$().tabs) { 2477 console.log('tabs: Tabs not Defined.'); 2478 return true; 2479 } 2480 var $tabs = $('.tabs:not(.customjs)'); 2481 if ($tabs.length > 0) { 2482 $tabs.each(function () { 2483 var element = $(this), 2484 elementSpeed = element.attr('data-speed'), 2485 tabActive = element.attr('data-active'); 2486 if (!elementSpeed) { 2487 elementSpeed = 400; 2488 } 2489 if (!tabActive) { 2490 tabActive = 0; 2491 } else { 2492 tabActive = tabActive - 1; 2493 } 2494 element.tabs({ 2495 active: Number(tabActive), 2496 show: { 2497 effect: "fade", 2498 duration: Number(elementSpeed) 2499 } 2500 }); 2501 }); 2502 } 2503 }, 2504 tabsJustify: function () { 2505 if (!$('body').hasClass('device-xxs') && !$('body').hasClass('device-xs')) { 2506 var $tabsJustify = $('.tabs.tabs-justify'); 2507 if ($tabsJustify.length > 0) { 2508 $tabsJustify.each(function () { 2509 var element = $(this), 2510 elementTabs = element.find('.tab-nav > li'), 2511 elementTabsNo = elementTabs.length, 2512 elementContainer = 0, 2513 elementWidth = 0; 2514 if (element.hasClass('tabs-bordered') || element.hasClass('tabs-bb')) { 2515 elementContainer = element.find('.tab-nav').outerWidth(); 2516 } else { 2517 if (element.find('tab-nav').hasClass('tab-nav2')) { 2518 elementContainer = element.find('.tab-nav').outerWidth() - (elementTabsNo * 10); 2519 } else { 2520 elementContainer = element.find('.tab-nav').outerWidth() - 30; 2521 } 2522 } 2523 elementWidth = Math.floor(elementContainer / elementTabsNo); 2524 elementTabs.css({ 2525 'width': elementWidth + 'px' 2526 }); 2527 }); 2528 } 2529 } else { 2530 $('.tabs.tabs-justify').find('.tab-nav > li').css({ 2531 'width': '' 2532 }); 2533 } 2534 }, 2535 tabsResponsive: function () { 2536 if (!$().tabs) { 2537 console.log('tabs: Tabs not Defined.'); 2538 return true; 2539 } 2540 var $tabsResponsive = $('.tabs.tabs-responsive'); 2541 if ($tabsResponsive.length < 1) { 2542 return true; 2543 } 2544 $tabsResponsive.each(function () { 2545 var element = $(this), 2546 elementNav = $(this).find('.tab-nav'), 2547 elementContent = $(this).find('.tab-container'); 2548 elementNav.children('li').each(function () { 2549 var navEl = $(this), 2550 navElAnchor = navEl.children('a'), 2551 navElTarget = navElAnchor.attr('href'), 2552 navElContent = navElAnchor.html(); 2553 elementContent.find(navElTarget).before('<div class="acctitle hide"><i class="acc-closed icon-ok-circle"></i><i class="acc-open icon-remove-circle"></i>' + navElContent + '</div>'); 2554 }); 2555 }); 2556 }, 2557 tabsResponsiveResize: function () { 2558 if (!$().tabs) { 2559 console.log('tabs: Tabs not Defined.'); 2560 return true; 2561 } 2562 var $tabsResponsive = $('.tabs.tabs-responsive'); 2563 if ($tabsResponsive.length < 1) { 2564 return true; 2565 } 2566 $tabsResponsive.each(function () { 2567 var element = $(this), 2568 elementAccStyle = element.attr('data-accordion-style'); 2569 if ($('body').hasClass('device-xs') || $('body').hasClass('device-xxs')) { 2570 element.find('.tab-nav').addClass('hide'); 2571 element.find('.tab-container').addClass('accordion ' + elementAccStyle + ' clearfix'); 2572 element.find('.tab-content').addClass('acc_content'); 2573 element.find('.acctitle').removeClass('hide'); 2574 SEMICOLON.widget.accordions(); 2575 } else if ($('body').hasClass('device-sm') || $('body').hasClass('device-md') || $('body').hasClass('device-lg')) { 2576 element.find('.tab-nav').removeClass('hide'); 2577 element.find('.tab-container').removeClass('accordion ' + elementAccStyle + ' clearfix'); 2578 element.find('.tab-content').removeClass('acc_content'); 2579 element.find('.acctitle').addClass('hide'); 2580 element.tabs("refresh"); 2581 } 2582 }); 2583 }, 2584 toggles: function () { 2585 var $toggle = $('.toggle'); 2586 if ($toggle.length > 0) { 2587 $toggle.each(function () { 2588 var element = $(this), 2589 elementState = element.attr('data-state'); 2590 if (elementState != 'open') { 2591 element.children('.togglec').hide(); 2592 } else { 2593 element.children('.togglet').addClass("toggleta"); 2594 } 2595 element.children('.togglet').click(function () { 2596 $(this).toggleClass('toggleta').next('.togglec').slideToggle(300); 2597 return true; 2598 }); 2599 }); 2600 } 2601 }, 2602 accordions: function () { 2603 var $accordionEl = $('.accordion'); 2604 if ($accordionEl.length > 0) { 2605 $accordionEl.each(function () { 2606 var element = $(this), 2607 elementState = element.attr('data-state'), 2608 accordionActive = element.attr('data-active'); 2609 if (!accordionActive) { 2610 accordionActive = 0; 2611 } else { 2612 accordionActive = accordionActive - 1; 2613 } 2614 element.find('.acc_content').hide(); 2615 if (elementState != 'closed') { 2616 element.find('.acctitle:eq(' + Number(accordionActive) + ')').addClass('acctitlec').next().show(); 2617 } 2618 element.find('.acctitle').click(function () { 2619 if ($(this).next().is(':hidden')) { 2620 element.find('.acctitle').removeClass('acctitlec').next().slideUp("normal"); 2621 $(this).toggleClass('acctitlec').next().slideDown("normal"); 2622 } 2623 return false;
2624 }); 2625 }); 2626 } 2627 }, 2628 counter: function () { 2629 if (!$().appear) { 2630 console.log('counter: Appear not Defined.'); 2631 return true; 2632 } 2633 if (!$().countTo) { 2634 console.log('counter: countTo not Defined.'); 2635 return true; 2636 } 2637 var $counterEl = $('.counter:not(.counter-instant)'); 2638 if ($counterEl.length > 0) { 2639 $counterEl.each(function () { 2640 var element = $(this); 2641 var counterElementComma = $(this).find('span').attr('data-comma'); 2642 if (!counterElementComma) { 2643 counterElementComma = false; 2644 } else { 2645 counterElementComma = true; 2646 } 2647 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 2648 element.appear(function () { 2649 SEMICOLON.widget.runCounter(element, counterElementComma); 2650 if (element.parents('.common-height')) { 2651 SEMICOLON.initialize.maxHeight(); 2652 } 2653 }, { 2654 accX: 0, 2655 accY: -120 2656 }, 'easeInCubic'); 2657 } else { 2658 SEMICOLON.widget.runCounter(element, counterElementComma); 2659 } 2660 }); 2661 } 2662 }, 2663 runCounter: function (counterElement, counterElementComma) { 2664 if (counterElementComma == true) { 2665 counterElement.find('span').countTo({ 2666 formatter: function (value, options) { 2667 value = value.toFixed(options.decimals); 2668 value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ','); 2669 return value; 2670 } 2671 }); 2672 } else { 2673 counterElement.find('span').countTo(); 2674 } 2675 }, 2676 progress: function () { 2677 if (!$().appear) { 2678 console.log('progress: Appear not Defined.'); 2679 return true; 2680 } 2681 var $progressEl = $('.progress'); 2682 if ($progressEl.length > 0) { 2683 $progressEl.each(function () { 2684 var element = $(this), 2685 skillsBar = element.parent('li'), 2686 skillValue = skillsBar.attr('data-percent'); 2687 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 2688 element.appear(function () { 2689 if (!skillsBar.hasClass('skills-animated')) { 2690 element.find('.counter-instant span').countTo(); 2691 skillsBar.find('.progress').css({ 2692 width: skillValue + "%" 2693 }).addClass('skills-animated'); 2694 } 2695 }, { 2696 accX: 0, 2697 accY: -120 2698 }, 'easeInCubic'); 2699 } else { 2700 element.find('.counter-instant span').countTo(); 2701 skillsBar.find('.progress').css({ 2702 width: skillValue + "%" 2703 }); 2704 } 2705 }); 2706 } 2707 }, 2708 navTree: function () { 2709 var $navTreeEl = $('.nav-tree'); 2710 if ($navTreeEl.length > 0) { 2711 $navTreeEl.each(function () { 2712 var element = $(this), 2713 elementSpeed = element.attr('data-speed'), 2714 elementEasing = element.attr('data-easing'); 2715 if (!elementSpeed) { 2716 elementSpeed = 250; 2717 } 2718 if (!elementEasing) { 2719 elementEasing = 'swing'; 2720 } 2721 element.find('ul li:has(ul)').addClass('sub-menu'); 2722 element.find('ul li:has(ul) > a').append(' <i class="icon-angle-down"></i>'); 2723 if (element.hasClass('on-hover')) { 2724 element.find('ul li:has(ul):not(.active)').hover(function (e) { 2725 $(this).children('ul').stop(true, true).slideDown(Number(elementSpeed), elementEasing); 2726 }, function () { 2727 $(this).children('ul').delay(250).slideUp(Number(elementSpeed), elementEasing); 2728 }); 2729 } else { 2730 element.find('ul li:has(ul) > a').click(function (e) { 2731 var childElement = $(this); 2732 element.find('ul li').not(childElement.parents()).removeClass('active'); 2733 childElement.parent().children('ul').slideToggle(Number(elementSpeed), elementEasing, function () { 2734 $(this).find('ul').hide(); 2735 $(this).find('li.active').removeClass('active'); 2736 }); 2737 element.find('ul li > ul').not(childElement.parent().children('ul')).not(childElement.parents('ul')).slideUp(Number(elementSpeed), elementEasing); 2738 childElement.parent('li:has(ul)').toggleClass('active'); 2739 e.preventDefault(); 2740 }); 2741 } 2742 }); 2743 } 2744 }, 2745 carousel: function () { 2746 if (!$().owlCarousel) { 2747 console.log('carousel: Owl Carousel not Defined.'); 2748 return true; 2749 } 2750 var $carousel = $('.carousel-widget:not(.customjs)'); 2751 if ($carousel.length < 1) { 2752 return true; 2753 } 2754 $carousel.each(function () { 2755 var element = $(this), 2756 elementItems = element.attr('data-items'), 2757 elementItemsLg = element.attr('data-items-lg'), 2758 elementItemsMd = element.attr('data-items-md'), 2759 elementItemsSm = element.attr('data-items-sm'), 2760 elementItemsXs = element.attr('data-items-xs'), 2761 elementItemsXxs = element.attr('data-items-xxs'), 2762 elementLoop = element.attr('data-loop'), 2763 elementAutoPlay = element.attr('data-autoplay'), 2764 elementSpeed = element.attr('data-speed'), 2765 elementAnimateIn = element.attr('data-animate-in'), 2766 elementAnimateOut = element.attr('data-animate-out'), 2767 elementNav = element.attr('data-nav'), 2768 elementPagi = element.attr('data-pagi'), 2769 elementMargin = element.attr('data-margin'), 2770 elementStage = element.attr('data-stage-padding'), 2771 elementMerge = element.attr('data-merge'), 2772 elementStart = element.attr('data-start'), 2773 elementRewind = element.attr('data-rewind'),
2774 elementSlideBy = element.attr('data-slideby'), 2775 elementCenter = element.attr('data-center'), 2776 elementLazy = element.attr('data-lazyload'), 2777 elementVideo = element.attr('data-video'), 2778 elementRTL = element.attr('data-rtl'); 2779 if (!elementItems) { 2780 elementItems = 4; 2781 } 2782 if (!elementItemsLg) { 2783 elementItemsLg = Number(elementItems); 2784 } 2785 if (!elementItemsMd) { 2786 elementItemsMd = Number(elementItemsLg); 2787 } 2788 if (!elementItemsSm) { 2789 elementItemsSm = Number(elementItemsMd); 2790 } 2791 if (!elementItemsXs) { 2792 elementItemsXs = Number(elementItemsSm); 2793 } 2794 if (!elementItemsXxs) { 2795 elementItemsXxs = Number(elementItemsXs); 2796 } 2797 if (!elementSpeed) { 2798 elementSpeed = 250; 2799 } 2800 if (!elementMargin) { 2801 elementMargin = 20; 2802 } 2803 if (!elementStage) { 2804 elementStage = 0; 2805 } 2806 if (!elementStart) { 2807 elementStart = 0; 2808 } 2809 if (!elementSlideBy) { 2810 elementSlideBy = 1; 2811 } 2812 if (elementSlideBy == 'page') { 2813 elementSlideBy = 'page'; 2814 } else { 2815 elementSlideBy = Number(elementSlideBy); 2816 } 2817 if (elementLoop == 'true') { 2818 elementLoop = true; 2819 } else { 2820 elementLoop = false; 2821 } 2822 if (!elementAutoPlay) { 2823 elementAutoPlay = false; 2824 var elementAutoPlayTime = 0; 2825 } else { 2826 var elementAutoPlayTime = Number(elementAutoPlay); 2827 elementAutoPlay = true; 2828 } 2829 if (!elementAnimateIn) { 2830 elementAnimateIn = false; 2831 } 2832 if (!elementAnimateOut) { 2833 elementAnimateOut = false;
2834 } 2835 if (elementNav == 'false') { 2836 elementNav = false; 2837 } else { 2838 elementNav = true; 2839 } 2840 if (elementPagi == 'false') { 2841 elementPagi = false; 2842 } else { 2843 elementPagi = true; 2844 } 2845 if (elementRewind == 'true') { 2846 elementRewind = true; 2847 } else { 2848 elementRewind = false; 2849 } 2850 if (elementMerge == 'true') { 2851 elementMerge = true; 2852 } else { 2853 elementMerge = false; 2854 } 2855 if (elementCenter == 'true') { 2856 elementCenter = true; 2857 } else { 2858 elementCenter = false; 2859 } 2860 if (elementLazy == 'true') { 2861 elementLazy = true; 2862 } else { 2863 elementLazy = false; 2864 } 2865 if (elementVideo == 'true') { 2866 elementVideo = true; 2867 } else { 2868 elementVideo = false; 2869 } 2870 if (elementRTL == 'true' || $body.hasClass('rtl')) { 2871 elementRTL = true; 2872 } else { 2873 elementRTL = false; 2874 } 2875 element.owlCarousel({ 2876 margin: Number(elementMargin), 2877 loop: elementLoop, 2878 stagePadding: Number(elementStage), 2879 merge: elementMerge, 2880 startPosition: Number(elementStart), 2881 rewind: elementRewind, 2882 slideBy: elementSlideBy, 2883 center: elementCenter, 2884 lazyLoad: elementLazy, 2885 nav: elementNav, 2886 navText: ['<i class="icon-angle-left"></i>', '<i class="icon-angle-right"></i>'], 2887 autoplay: elementAutoPlay, 2888 autoplayTimeout: elementAutoPlayTime, 2889 autoplayHoverPause: true, 2890 dots: elementPagi, 2891 smartSpeed: Number(elementSpeed), 2892 fluidSpeed: Number(elementSpeed), 2893 video: elementVideo, 2894 animateIn: elementAnimateIn, 2895 animateOut: elementAnimateOut, 2896 rtl: elementRTL, 2897 responsive: { 2898 0: { 2899 items: Number(elementItemsXxs) 2900 }, 2901 480: { 2902 items: Number(elementItemsXs) 2903 }, 2904 768: { 2905 items: Number(elementItemsSm) 2906 }, 2907 992: { 2908 items: Number(elementItemsMd) 2909 }, 2910 1200: { 2911 items: Number(elementItemsLg) 2912 } 2913 }, 2914 onInitialized: function () { 2915 SEMICOLON.slider.owlCaptionInit(); 2916 SEMICOLON.slider.sliderParallaxDimensions(); 2917 SEMICOLON.initialize.lightbox(); 2918 } 2919 }); 2920 }); 2921 }, 2922 masonryThumbs: function () { 2923 var $masonryThumbsEl = $('.masonry-thumbs:not(.customjs)'); 2924 if ($masonryThumbsEl.length > 0) { 2925 $masonryThumbsEl.each(function () { 2926 var masonryItemContainer = $(this); 2927 SEMICOLON.widget.masonryThumbsArrange(masonryItemContainer); 2928 }); 2929 } 2930 }, 2931 masonryThumbsArrange: function (element) { 2932 if (!$().isotope) { 2933 console.log('masonryThumbsArrange: Isotope not Defined.'); 2934 return true; 2935 } 2936 SEMICOLON.initialize.setFullColumnWidth(element); 2937 element.isotope('layout'); 2938 }, 2939 notifications: function (element) { 2940 if (typeof toastr === 'undefined') { 2941 console.log('notifications: Toastr not Defined.'); 2942 return true; 2943 } 2944 toastr.remove(); 2945 var notifyElement = $(element), 2946 notifyPosition = notifyElement.attr('data-notify-position'), 2947 notifyType = notifyElement.attr('data-notify-type'), 2948 notifyMsg = notifyElement.attr('data-notify-msg'), 2949 notifyTimeout = notifyElement.attr('data-notify-timeout'), 2950 notifyCloseButton = notifyElement.attr('data-notify-close'); 2951 if (!notifyPosition) { 2952 notifyPosition = 'toast-top-right'; 2953 } else { 2954 notifyPosition = 'toast-' + notifyElement.attr('data-notify-position'); 2955 } 2956 if (!notifyMsg) { 2957 notifyMsg = 'Please set a message!'; 2958 } 2959 if (!notifyTimeout) { 2960 notifyTimeout = 5000; 2961 } 2962 if (notifyCloseButton == 'true') { 2963 notifyCloseButton = true; 2964 } else { 2965 notifyCloseButton = false;
2966 } 2967 toastr.options.positionClass = notifyPosition; 2968 toastr.options.timeOut = Number(notifyTimeout); 2969 toastr.options.closeButton = notifyCloseButton; 2970 toastr.options.closeHtml = '<button><i class="icon-remove"></i></button>'; 2971 if (notifyType == 'warning') { 2972 toastr.warning(notifyMsg); 2973 } else if (notifyType == 'error') { 2974 toastr.error(notifyMsg); 2975 } else if (notifyType == 'success') { 2976 toastr.success(notifyMsg); 2977 } else { 2978 toastr.info(notifyMsg); 2979 } 2980 return false; 2981 }, 2982 textRotater: function () { 2983 if (!$().Morphext) { 2984 console.log('textRotater: Morphext not Defined.'); 2985 return true; 2986 } 2987 if ($textRotaterEl.length > 0) { 2988 $textRotaterEl.each(function () { 2989 var element = $(this), 2990 trRotate = $(this).attr('data-rotate'), 2991 trSpeed = $(this).attr('data-speed'), 2992 trSeparator = $(this).attr('data-separator'); 2993 if (!trRotate) { 2994 trRotate = "fade"; 2995 } 2996 if (!trSpeed) { 2997 trSpeed = 1200; 2998 } 2999 if (!trSeparator) { 3000 trSeparator = ","; 3001 } 3002 var tRotater = $(this).find('.t-rotate'); 3003 tRotater.Morphext({ 3004 animation: trRotate, 3005 separator: trSeparator, 3006 speed: Number(trSpeed) 3007 }); 3008 }); 3009 } 3010 }, 3011 linkScroll: function () { 3012 $("a[data-scrollto]").click(function () { 3013 var element = $(this), 3014 divScrollToAnchor = element.attr('data-scrollto'), 3015 divScrollSpeed = element.attr('data-speed'), 3016 divScrollOffset = element.attr('data-offset'), 3017 divScrollEasing = element.attr('data-easing'), 3018 divScrollHighlight = element.attr('data-highlight'); 3019 if (!divScrollSpeed) { 3020 divScrollSpeed = 750; 3021 } 3022 if (!divScrollOffset) { 3023 divScrollOffset = SEMICOLON.initialize.topScrollOffset(); 3024 } 3025 if (!divScrollEasing) { 3026 divScrollEasing = 'easeOutQuad'; 3027 } 3028 $('html,body').stop(true).animate({ 3029 'scrollTop': $(divScrollToAnchor).offset().top - Number(divScrollOffset) 3030 }, Number(divScrollSpeed), divScrollEasing, function () { 3031 if (divScrollHighlight) { 3032 if ($(divScrollToAnchor).find('.highlight-me').length > 0) { 3033 $(divScrollToAnchor).find('.highlight-me').animate({ 3034 'backgroundColor': divScrollHighlight 3035 }, 300); 3036 var t = setTimeout(function () { 3037 $(divScrollToAnchor).find('.highlight-me').animate({ 3038 'backgroundColor': 'transparent' 3039 }, 300); 3040 }, 500); 3041 } else { 3042 $(divScrollToAnchor).animate({ 3043 'backgroundColor': divScrollHighlight 3044 }, 300); 3045 var t = setTimeout(function () { 3046 $(divScrollToAnchor).animate({ 3047 'backgroundColor': 'transparent' 3048 }, 300); 3049 }, 500); 3050 } 3051 } 3052 }); 3053 return false; 3054 }); 3055 }, 3056 contactForm: function () { 3057 if (!$().validate) { 3058 console.log('contactForm: Form Validate not Defined.'); 3059 return true; 3060 } 3061 if (!$().ajaxSubmit) { 3062 console.log('contactForm: jQuery Form not Defined.'); 3063 return true; 3064 } 3065 var $contactForm = $('.contact-widget:not(.customjs)'); 3066 if ($contactForm.length < 1) { 3067 return true; 3068 } 3069 $contactForm.each(function () { 3070 var element = $(this), 3071 elementAlert = element.attr('data-alert-type'), 3072 elementLoader = element.attr('data-loader'), 3073 elementResult = element.find('.contact-form-result'), 3074 elementRedirect = element.attr('data-redirect'); 3075 element.find('form').validate({ 3076 submitHandler: function (form) { 3077 elementResult.hide(); 3078 if (elementLoader == 'button') { 3079 var defButton = $(form).find('button'), 3080 defButtonText = defButton.html(); 3081 defButton.html('<i class="icon-line-loader icon-spin nomargin"></i>'); 3082 } else { 3083 $(form).find('.form-process').fadeIn(); 3084 }
3085 $(form).ajaxSubmit({ 3086 target: elementResult, 3087 dataType: 'json', 3088 success: function (data) { 3089 if (elementLoader == 'button') { 3090 defButton.html(defButtonText); 3091 } else { 3092 $(form).find('.form-process').fadeOut(); 3093 } 3094 if (data.alert != 'error' && elementRedirect) { 3095 window.location.replace(elementRedirect); 3096 return true; 3097 } 3098 if (elementAlert == 'inline') { 3099 if (data.alert == 'error') { 3100 var alertType = 'alert-danger'; 3101 } else { 3102 var alertType = 'alert-success'; 3103 } 3104 elementResult.removeClass('alert-danger alert-success').addClass('alert ' + alertType).html(data.message).slideDown(400); 3105 } else { 3106 elementResult.attr('data-notify-type', data.alert).attr('data-notify-msg', data.message).html(''); 3107 SEMICOLON.widget.notifications(elementResult); 3108 } 3109 if ($(form).find('.g-recaptcha').children('div').length > 0) { 3110 grecaptcha.reset(); 3111 } 3112 if (data.alert != 'error') { 3113 $(form).clearForm(); 3114 } 3115 } 3116 }); 3117 } 3118 }); 3119 }); 3120 }, 3121 subscription: function () { 3122 if (!$().validate) { 3123 console.log('subscription: Form Validate not Defined.'); 3124 return true; 3125 } 3126 if (!$().ajaxSubmit) { 3127 console.log('subscription: jQuery Form not Defined.'); 3128 return true; 3129 } 3130 var $subscribeForm = $('.subscribe-widget:not(.customjs)'); 3131 if ($subscribeForm.length < 1) { 3132 return true; 3133 } 3134 $subscribeForm.each(function () { 3135 var element = $(this), 3136 elementAlert = element.attr('data-alert-type'), 3137 elementLoader = element.attr('data-loader'), 3138 elementResult = element.find('.widget-subscribe-form-result'), 3139 elementRedirect = element.attr('data-redirect'); 3140 element.find('form').validate({ 3141 submitHandler: function (form) { 3142 elementResult.hide(); 3143 if (elementLoader == 'button') { 3144 var defButton = $(form).find('button'), 3145 defButtonText = defButton.html(); 3146 defButton.html('<i class="icon-line-loader icon-spin nomargin"></i>'); 3147 } else { 3148 $(form).find('.input-group-addon').find('.icon-email2').removeClass('icon-email2').addClass('icon-line-loader icon-spin'); 3149 } 3150 $(form).ajaxSubmit({ 3151 target: elementResult, 3152 dataType: 'json', 3153 resetForm: true, 3154 success: function (data) { 3155 if (elementLoader == 'button') { 3156 defButton.html(defButtonText); 3157 } else { 3158 $(form).find('.input-group-addon').find('.icon-line-loader').removeClass('icon-line-loader icon-spin').addClass('icon-email2'); 3159 } 3160 if (data.alert != 'error' && elementRedirect) { 3161 window.location.replace(elementRedirect); 3162 return true; 3163 } 3164 if (elementAlert == 'inline') { 3165 if (data.alert == 'error') { 3166 var alertType = 'alert-danger'; 3167 } else { 3168 var alertType = 'alert-success'; 3169 } 3170 elementResult.addClass('alert ' + alertType).html(data.message).slideDown(400); 3171 } else { 3172 elementResult.attr('data-notify-type', data.alert).attr('data-notify-msg', data.message).html(''); 3173 SEMICOLON.widget.notifications(elementResult); 3174 } 3175 } 3176 }); 3177 } 3178 }); 3179 }); 3180 }, 3181 quickContact: function () { 3182 if (!$().validate) { 3183 console.log('quickContact: Form Validate not Defined.'); 3184 return true; 3185 } 3186 if (!$().ajaxSubmit) { 3187 console.log('quickContact: jQuery Form not Defined.'); 3188 return true; 3189 } 3190 var $quickContact = $('.quick-contact-widget:not(.customjs)'); 3191 if ($quickContact.length < 1) { 3192 return true; 3193 } 3194 $quickContact.each(function () { 3195 var element = $(this), 3196 elementAlert = element.attr('data-alert-type'), 3197 elementLoader = element.attr('data-loader'), 3198 elementResult = element.find('.quick-contact-form-result'), 3199 elementRedirect = element.attr('data-redirect'); 3200 element.find('form').validate({ 3201 submitHandler: function (form) { 3202 elementResult.hide(); 3203 $(form).animate({ 3204 opacity: 0.4 3205 }); 3206 if (elementLoader == 'button') { 3207 var defButton = $(form).find('button'), 3208 defButtonText = defButton.html(); 3209 defButton.html('<i class="icon-line-loader icon-spin nomargin"></i>'); 3210 } else { 3211 $(form).find('.form-process').fadeIn(); 3212 }
3213 $(form).ajaxSubmit({ 3214 target: elementResult, 3215 dataType: 'json', 3216 resetForm: true, 3217 success: function (data) { 3218 $(form).animate({ 3219 opacity: 1 3220 }); 3221 if (elementLoader == 'button') { 3222 defButton.html(defButtonText); 3223 } else { 3224 $(form).find('.form-process').fadeOut(); 3225 } 3226 if (data.alert != 'error' && elementRedirect) { 3227 window.location.replace(elementRedirect); 3228 return true; 3229 } 3230 if (elementAlert == 'inline') { 3231 if (data.alert == 'error') { 3232 var alertType = 'alert-danger'; 3233 } else { 3234 var alertType = 'alert-success'; 3235 } 3236 elementResult.addClass('alert ' + alertType).html(data.message).slideDown(400); 3237 } else { 3238 elementResult.attr('data-notify-type', data.alert).attr('data-notify-msg', data.message).html(''); 3239 SEMICOLON.widget.notifications(elementResult); 3240 } 3241 if ($(form).find('.g-recaptcha').children('div').length > 0) { 3242 grecaptcha.reset(); 3243 } 3244 } 3245 }); 3246 } 3247 }); 3248 }); 3249 }, 3250 cookieNotify: function () { 3251 if (!$.cookie) { 3252 console.log('cookieNotify: Cookie Function not defined.'); 3253 return true; 3254 } 3255 if ($cookieNotification.length > 0) { 3256 var cookieNotificationHeight = $cookieNotification.outerHeight(); 3257 $cookieNotification.css({ 3258 bottom: -cookieNotificationHeight 3259 }); 3260 if ($.cookie('websiteUsesCookies') != 'yesConfirmed') { 3261 $cookieNotification.css({ 3262 bottom: 0 3263 }); 3264 } 3265 $('.cookie-accept').click(function () { 3266 $cookieNotification.css({ 3267 bottom: -cookieNotificationHeight 3268 }); 3269 $.cookie('websiteUsesCookies', 'yesConfirmed', { 3270 expires: 30 3271 }); 3272 return false; 3273 }); 3274 } 3275 }, 3276 extras: function () { 3277 if ($().tooltip) { 3278 $('[data-toggle="tooltip"]').tooltip({ 3279 container: 'body' 3280 }); 3281 } else { 3282 console.log('extras: Bootstrap Tooltip not defined.'); 3283 } 3284 if ($().popover) { 3285 $('[data-toggle=popover]').popover(); 3286 } else { 3287 console.log('extras: Bootstrap Popover not defined.'); 3288 } 3289 $('.style-msg').on('click', '.close', function (e) { 3290 $(this).parents('.style-msg').slideUp(); 3291 e.preventDefault(); 3292 }); 3293 $('#primary-menu-trigger,#overlay-menu-close').click(function () { 3294 if ($('#primary-menu').find('ul.mobile-primary-menu').length > 0) { 3295 $('#primary-menu > ul.mobile-primary-menu, #primary-menu > div > ul.mobile-primary-menu').toggleClass("show"); 3296 } else { 3297 $('#primary-menu > ul, #primary-menu > div > ul').toggleClass("show"); 3298 } 3299 $body.toggleClass("primary-menu-open"); 3300 return false;
3301 }); 3302 $('#page-submenu-trigger').click(function () { 3303 $body.toggleClass('top-search-open', false); 3304 $pagemenu.toggleClass("pagemenu-active"); 3305 return false; 3306 }); 3307 $pagemenu.find('nav').click(function (e) { 3308 $body.toggleClass('top-search-open', false); 3309 $topCart.toggleClass('top-cart-open', false); 3310 }); 3311 if (SEMICOLON.isMobile.any()) { 3312 $body.addClass('device-touch'); 3313 } 3314 } 3315 }; 3316 SEMICOLON.isMobile = { 3317 Android: function () { 3318 return navigator.userAgent.match(/Android/i); 3319 }, 3320 BlackBerry: function () { 3321 return navigator.userAgent.match(/BlackBerry/i); 3322 }, 3323 iOS: function () { 3324 return navigator.userAgent.match(/iPhone|iPad|iPod/i); 3325 }, 3326 Opera: function () { 3327 return navigator.userAgent.match(/Opera Mini/i); 3328 }, 3329 Windows: function () { 3330 return navigator.userAgent.match(/IEMobile/i); 3331 }, 3332 any: function () { 3333 return (SEMICOLON.isMobile.Android() || SEMICOLON.isMobile.BlackBerry() || SEMICOLON.isMobile.iOS() || SEMICOLON.isMobile.Opera() || SEMICOLON.isMobile.Windows()); 3334 } 3335 }; 3336 SEMICOLON.documentOnResize = { 3337 init: function () { 3338 var t = setTimeout(function () { 3339 SEMICOLON.header.fullWidthMenu(); 3340 SEMICOLON.header.overlayMenu(); 3341 SEMICOLON.initialize.fullScreen(); 3342 SEMICOLON.initialize.verticalMiddle(); 3343 SEMICOLON.initialize.maxHeight(); 3344 SEMICOLON.initialize.testimonialsGrid(); 3345 SEMICOLON.initialize.stickyFooter(); 3346 SEMICOLON.slider.sliderParallaxDimensions(); 3347 SEMICOLON.slider.captionPosition(); 3348 SEMICOLON.portfolio.arrange(); 3349 SEMICOLON.portfolio.portfolioDescMargin(); 3350 SEMICOLON.widget.tabsResponsiveResize(); 3351 SEMICOLON.widget.tabsJustify(); 3352 SEMICOLON.widget.html5Video(); 3353 SEMICOLON.widget.masonryThumbs(); 3354 SEMICOLON.initialize.dataResponsiveClasses(); 3355 SEMICOLON.initialize.dataResponsiveHeights(); 3356 if ($gridContainer.length > 0) { 3357 if (!$gridContainer.hasClass('.customjs')) { 3358 if ($().isotope) { 3359 $gridContainer.isotope('layout'); 3360 } else { 3361 console.log('documentOnResize > init: Isotope not defined.'); 3362 } 3363 } 3364 } 3365 if ($body.hasClass('device-lg') || $body.hasClass('device-md')) { 3366 $('#primary-menu').find('ul.mobile-primary-menu').removeClass('show'); 3367 } 3368 }, 500); 3369 windowWidth = $window.width(); 3370 } 3371 }; 3372 SEMICOLON.documentOnReady = { 3373 init: function () { 3374 SEMICOLON.initialize.init(); 3375 SEMICOLON.header.init(); 3376 if ($slider.length > 0) { 3377 SEMICOLON.slider.init(); 3378 } 3379 if ($portfolio.length > 0) { 3380 SEMICOLON.portfolio.init(); 3381 } 3382 SEMICOLON.widget.init(); 3383 SEMICOLON.documentOnReady.windowscroll(); 3384 }, 3385 windowscroll: function () { 3386 var headerOffset = 0, 3387 headerWrapOffset = 0, 3388 pageMenuOffset = 0; 3389 if ($header.length > 0) { 3390 headerOffset = $header.offset().top; 3391 } 3392 if ($header.length > 0) { 3393 headerWrapOffset = $headerWrap.offset().top; 3394 } 3395 if ($pagemenu.length > 0) { 3396 if ($header.length > 0 && !$header.hasClass('no-sticky')) { 3397 if ($header.hasClass('sticky-style-2') || $header.hasClass('sticky-style-3')) { 3398 pageMenuOffset = $pagemenu.offset().top - $headerWrap.outerHeight(); 3399 } else { 3400 pageMenuOffset = $pagemenu.offset().top - $header.outerHeight(); 3401 } 3402 } else { 3403 pageMenuOffset = $pagemenu.offset().top; 3404 } 3405 } 3406 var headerDefinedOffset = $header.attr('data-sticky-offset'); 3407 if (typeof headerDefinedOffset !== 'undefined') { 3408 if (headerDefinedOffset == 'full') { 3409 headerWrapOffset = $window.height(); 3410 var headerOffsetNegative = $header.attr('data-sticky-offset-negative'); 3411 if (typeof headerOffsetNegative !== 'undefined') { 3412 headerWrapOffset = headerWrapOffset - headerOffsetNegative - 1; 3413 } 3414 } else { 3415 headerWrapOffset = Number(headerDefinedOffset); 3416 } 3417 } 3418 SEMICOLON.header.stickyMenu(headerWrapOffset); 3419 SEMICOLON.header.stickyPageMenu(pageMenuOffset); 3420 $window.on('scroll', function () { 3421 SEMICOLON.initialize.goToTopScroll(); 3422 $('body.open-header.close-header-on-scroll').removeClass("side-header-open"); 3423 SEMICOLON.header.stickyMenu(headerWrapOffset); 3424 SEMICOLON.header.stickyPageMenu(pageMenuOffset); 3425 SEMICOLON.header.logo(); 3426 }); 3427 window.addEventListener('scroll', onScrollSliderParallax, false); 3428 if ($onePageMenuEl.length > 0) { 3429 if ($().scrolled) { 3430 $window.scrolled(function () { 3431 SEMICOLON.header.onepageScroller(); 3432 }); 3433 } else { 3434 console.log('windowscroll: Scrolled Function not defined.'); 3435 } 3436 } 3437 } 3438 }; 3439 SEMICOLON.documentOnLoad = { 3440 init: function () { 3441 SEMICOLON.slider.captionPosition(); 3442 SEMICOLON.slider.swiperSliderMenu(true); 3443 SEMICOLON.slider.revolutionSliderMenu(true); 3444 SEMICOLON.initialize.maxHeight(); 3445 SEMICOLON.initialize.testimonialsGrid(); 3446 SEMICOLON.initialize.verticalMiddle(); 3447 SEMICOLON.initialize.stickFooterOnSmall(); 3448 SEMICOLON.initialize.stickyFooter(); 3449 SEMICOLON.portfolio.gridInit($gridContainer); 3450 SEMICOLON.portfolio.filterInit(); 3451 SEMICOLON.portfolio.shuffleInit(); 3452 SEMICOLON.portfolio.arrange(); 3453 SEMICOLON.portfolio.portfolioDescMargin(); 3454 SEMICOLON.widget.parallax(); 3455 SEMICOLON.widget.loadFlexSlider(); 3456 SEMICOLON.widget.html5Video(); 3457 SEMICOLON.widget.masonryThumbs(); 3458 SEMICOLON.header.responsiveMenuClass(); 3459 SEMICOLON.initialize.modal(); 3460 } 3461 }; 3462 var $window = $(window), 3463 $body = $('body'), 3464 $wrapper = $('#wrapper'), 3465 $header = $('#header'), 3466 $headerWrap = $('#header-wrap'), 3467 $content = $('#content'), 3468 $footer = $('#footer'), 3469 windowWidth = $window.width(), 3470 oldHeaderClasses = $header.attr('class'), 3471 oldHeaderWrapClasses = $headerWrap.attr('class'), 3472 stickyMenuClasses = $header.attr('data-sticky-class'),
3473 responsiveMenuClasses = $header.attr('data-responsive-class'), 3474 defaultLogo = $('#logo').find('.standard-logo'), 3475 defaultLogoWidth = defaultLogo.find('img').outerWidth(), 3476 retinaLogo = $('#logo').find('.retina-logo'), 3477 defaultLogoImg = defaultLogo.find('img').attr('src'), 3478 retinaLogoImg = retinaLogo.find('img').attr('src'), 3479 defaultDarkLogo = defaultLogo.attr('data-dark-logo'), 3480 retinaDarkLogo = retinaLogo.attr('data-dark-logo'), 3481 defaultStickyLogo = defaultLogo.attr('data-sticky-logo'), 3482 retinaStickyLogo = retinaLogo.attr('data-sticky-logo'), 3483 defaultMobileLogo = defaultLogo.attr('data-mobile-logo'), 3484 retinaMobileLogo = retinaLogo.attr('data-mobile-logo'), 3485 $pagemenu = $('#page-menu'), 3486 $onePageMenuEl = $('.one-page-menu'), 3487 onePageGlobalOffset = 0, 3488 $portfolio = $('.portfolio'), 3489 $shop = $('.shop'), 3490 $gridContainer = $('.grid-container'), 3491 $slider = $('#slider'), 3492 $sliderParallaxEl = $('.slider-parallax'), 3493 swiperSlider = '', 3494 $pageTitle = $('#page-title'), 3495 $portfolioItems = $('.portfolio-ajax').find('.portfolio-item'), 3496 $portfolioDetails = $('#portfolio-ajax-wrap'), 3497 $portfolioDetailsContainer = $('#portfolio-ajax-container'), 3498 $portfolioAjaxLoader = $('#portfolio-ajax-loader'), 3499 $portfolioFilter = $('.portfolio-filter,.custom-filter'), 3500 prevPostPortId = '', 3501 $topSearch = $('#top-search'), 3502 $topCart = $('#top-cart'), 3503 $verticalMiddleEl = $('.vertical-middle'), 3504 $siStickyEl = $('.si-sticky'), 3505 $dotsMenuEl = $('.dots-menu'), 3506 $goToTopEl = $('#gotoTop'), 3507 $fullScreenEl = $('.full-screen'), 3508 $commonHeightEl = $('.common-height'), 3509 $testimonialsGridEl = $('.testimonials-grid'), 3510 $pageSectionEl = $('.page-section'), 3511 $owlCarouselEl = $('.owl-carousel'), 3512 $parallaxEl = $('.parallax'), 3513 $parallaxPageTitleEl = $('.page-title-parallax'), 3514 $parallaxPortfolioEl = $('.portfolio-parallax').find('.portfolio-image'), 3515 $textRotaterEl = $('.text-rotater'), 3516 $cookieNotification = $('#cookie-notification'); 3517 $(document).ready(SEMICOLON.documentOnReady.init); 3518 $window.load(SEMICOLON.documentOnLoad.init); 3519 $window.on('resize', SEMICOLON.documentOnResize.init); 3520})(jQuery); 3521
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.