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