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