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