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