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