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