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