1 /* -------------------------------------------------- 2 * © Copyright 2020 - Bluetec by Designesia 3 * --------------------------------------------------*/ 4(function($) { 5 'use strict'; 6 7 /* -------------------------------------------------- 8 * template options (customable) 9 * --------------------------------------------------*/ 10 11 var de_nav_style = 1; // 1 - solid, 2 - transparent 12 var de_nav_color = 1; // 1 - dark, - 2 light 13 var de_nav_color_scroll = 1; // 1 - default, - 2 light 14 15 /* -------------------------------------------------- 16 * predefined vars 17 * --------------------------------------------------*/ 18 var mobile_menu_show = 0; 19 var v_count = '0'; 20 var mb; 21 var instances = []; 22 var $window = $(window); 23 var $tmp_h = '90'; 24 var $op_header_autoshow = 0; 25 var grid_size = 10; 26 27 if($('header').hasClass("has-topbar")){ 28 $tmp_h = '125px'; 29 } 30 31 /* -------------------------------------------------- 32 * header | style 33 * --------------------------------------------------*/ 34 function header_styles() { 35 if (de_nav_style == 2) { 36 $('header').addClass('transparent') 37 } 38 $('#mainmenu').addClass('no-separator'); 39 if (de_nav_color == 2) { 40 $('header').addClass('header-light'); 41 } 42 if (de_nav_color_scroll == 2) { 43 $('header').addClass('scroll-light'); 44 } 45 } 46 /* -------------------------------------------------- 47 * header | sticky 48 * --------------------------------------------------*/ 49 function header_sticky() { 50 jQuery("header").addClass("clone", 1000, "easeOutBounce"); 51 var $document = $(document); 52 var vscroll = 0; 53 var header = jQuery("header.autoshow"); 54 if ($document.scrollTop() >= 50 && vscroll == 0) { 55 header.removeClass("scrollOff"); 56 header.addClass("scrollOn"); 57 header.css("height", "auto"); 58 vscroll = 1; 59 } else { 60 header.removeClass("scrollOn"); 61 header.addClass("scrollOff"); 62 vscroll = 0; 63 } 64 } 65 /* -------------------------------------------------- 66 * plugin | magnificPopup 67 * --------------------------------------------------*/ 68 function load_magnificPopup() { 69 jQuery('.simple-ajax-popup-align-top').magnificPopup({ 70 type: 'ajax', 71 alignTop: true, 72 overflowY: 'scroll' 73 }); 74 jQuery('.simple-ajax-popup').magnificPopup({ 75 type: 'ajax' 76 }); 77 // zoom gallery 78 jQuery('.zoom-gallery').magnificPopup({ 79 delegate: 'a', 80 type: 'image', 81 closeOnContentClick: false, 82 closeBtnInside: false, 83 mainClass: 'mfp-with-zoom mfp-img-mobile', 84 image: { 85 verticalFit: true, 86 titleSrc: function(item) { 87 return item.el.attr('title'); 88 //return item.el.attr('title') + ' · <a class="image-source-link" href="'+item.el.attr('data-source')+'" target="_blank">image source</a>'; 89 } 90 }, 91 gallery: { 92 enabled: true 93 }, 94 zoom: { 95 enabled: true, 96 duration: 300, // don't foget to change the duration also in CSS 97 opener: function(element) { 98 return element.find('img'); 99 } 100 } 101 }); 102 // popup youtube, video, gmaps 103 jQuery('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({ 104 disableOn: 700, 105 type: 'iframe', 106 mainClass: 'mfp-fade', 107 removalDelay: 160, 108 preloader: false, 109 fixedContentPos: false 110 }); 111 // Initialize popup as usual 112 $('.image-popup').magnificPopup({ 113 type: 'image', 114 mainClass: 'mfp-with-zoom', // this class is for CSS animation below 115 116 zoom: { 117 enabled: true, // By default it's false, so don't forget to enable it 118 119 duration: 300, // duration of the effect, in milliseconds 120 easing: 'ease-in-out', // CSS transition easing function 121 122 // The "opener" function should return the element from which popup will be zoomed in 123 // and to which popup will be scaled down 124 // By defailt it looks for an image tag: 125 opener: function(openerElement) { 126 // openerElement is the element on which popup was initialized, in this case its <a> tag 127 // you don't need to add "opener" option if this code matches your needs, it's defailt one. 128 return openerElement.is('img') ? openerElement : openerElement.find('img'); 129 } 130 } 131 132 }); 133 $('.image-popup-vertical-fit').magnificPopup({ 134 type: 'image', 135 closeOnContentClick: true, 136 mainClass: 'mfp-img-mobile', 137 image: { 138 verticalFit: true 139 } 140 }); 141 $('.image-popup-fit-width').magnificPopup({ 142 type: 'image', 143 closeOnContentClick: true, 144 image: { 145 verticalFit: false 146 } 147 }); 148 $('.image-popup-no-margins').magnificPopup({ 149 type: 'image', 150 closeOnContentClick: true, 151 closeBtnInside: false, 152 fixedContentPos: true, 153 mainClass: 'mfp-no-margins mfp-with-zoom', // class to remove default margin from left and right side 154 image: { 155 verticalFit: true 156 }, 157 zoom: { 158 enabled: true, 159 duration: 300 // don't foget to change the duration also in CSS 160 } 161 }); 162 $('.image-popup-gallery').magnificPopup({ 163 type: 'image', 164 closeOnContentClick: false, 165 closeBtnInside: false, 166 mainClass: 'mfp-with-zoom mfp-img-mobile', 167 image: { 168 verticalFit: true, 169 titleSrc: function(item) { 170 return item.el.attr('title'); 171 //return item.el.attr('title') + ' · <a class="image-source-link" href="'+item.el.attr('data-source')+'" target="_blank">image source</a>'; 172 } 173 }, 174 gallery: { 175 enabled: true 176 } 177 }); 178 $('.images-group').each(function() { // the containers for all your galleries 179 $(this).magnificPopup({ 180 delegate: 'a', // the selector for gallery item 181 type: 'image', 182 gallery: { 183 enabled: true 184 } 185 }); 186 }); 187 188 $('.images-popup').magnificPopup({ 189 delegate: 'a', // child items selector, by clicking on it popup will open 190 type: 'image' 191 // other options 192 }); 193 } 194 /* -------------------------------------------------- 195 * plugin | enquire.js 196 * --------------------------------------------------*/ 197 function init_resize() { 198 enquire.register("screen and (min-width: 993px)", { 199 match: function() { 200 mobile_menu_show = 1; 201 }, 202 unmatch: function() { 203 mobile_menu_show = 0; 204 jQuery("#menu-btn").show(); 205 } 206 }); 207 enquire.register("screen and (max-width: 993px)", { 208 match: function() { 209 $('header').addClass("header-mobile"); 210 var body = jQuery('body'); 211 if (body.hasClass('side-content')) { 212 body.removeClass('side-layout'); 213 } 214 }, 215 unmatch: function() { 216 $('header').removeClass("header-mobile"); 217 jQuery('header').css("height", $tmp_h); 218 var body = jQuery('body'); 219 if (body.hasClass('side-content')) { 220 body.addClass('side-layout'); 221 } 222 } 223 }); 224 init(); 225 init_de(); 226 video_autosize(); 227 228 var header = $('header'); 229 header.removeClass('smaller'); 230 header.removeClass('logo-smaller'); 231 header.removeClass('clone'); 232 233 var mx = window.matchMedia("(max-width: 992px)"); 234 var osw = jQuery('.owl-slide-wrapper'); 235 if (mx.matches) { 236 osw.find("img").css("height", $(window).innerHeight()); 237 osw.find("img").css("width", "auto"); 238 if($op_header_autoshow==1){ 239 header.removeClass('autoshow'); 240 } 241 242 } else { 243 osw.find("img").css("width", "100%"); 244 osw.find("img").css("height", "auto"); 245 if($op_header_autoshow==1){ 246 header.addClass('autoshow'); 247 } 248 } 249 250 251 }; 252 /* -------------------------------------------------- 253 * plugin | owl carousel
254 * --------------------------------------------------*/ 255 function load_owl() { 256 jQuery("#event-carousel").owlCarousel({ 257 center: false, 258 items:3, 259 loop:true, 260 margin:0, 261 nav:false, 262 dots:false, 263 responsive:{ 264 1000:{ 265 items:3 266 }, 267 600:{ 268 items:3 269 }, 270 0:{ 271 items:1 272 } 273 } 274 }); 275 276 jQuery("#ss-carousel").owlCarousel({ 277 center: true, 278 items:4, 279 loop:true, 280 margin:60, 281 responsive:{ 282 1000:{ 283 items:4 284 }, 285 600:{ 286 items:3 287 }, 288 0:{ 289 items:2 290 } 291 } 292 }); 293 294 jQuery("#testimonial-carousel").owlCarousel({ 295 center: false, 296 items:3, 297 loop:true, 298 margin:30, 299 responsive:{ 300 1000:{ 301 items:3 302 }, 303 600:{ 304 items:1 305 } 306 } 307 }); 308 309 jQuery("#blog-carousel").owlCarousel({ 310 center: false, 311 items:3, 312 loop:true, 313 margin:30, 314 responsive:{ 315 1000:{ 316 items:3 317 }, 318 600:{ 319 items:2 320 }, 321 0:{ 322 items:1 323 } 324 } 325 }); 326 327 jQuery("#blog-carousel-3").owlCarousel({ 328 center: true, 329 items:5, 330 loop:true, 331 margin:20, 332 responsive:{ 333 1000:{ 334 items:3 335 }, 336 600:{ 337 items:2 338 }, 339 0:{ 340 items:1 341 } 342 } 343 }); 344 345 jQuery("#owl-logo").owlCarousel({ 346 center: false, 347 items:6, 348 loop:true, 349 dots: false, 350 margin:30, 351 autoplay:true, 352 autoplayTimeout:2000, 353 responsive:{ 354 1000:{ 355 items:6 356 }, 357 600:{ 358 items:4 359 }, 360 0:{ 361 items:2 362 } 363 } 364 }); 365 366 jQuery(".project-carousel-4-nav").owlCarousel({ 367 center: true, 368 items:4, 369 loop:true, 370 margin:15, 371 responsive:{ 372 1000:{ 373 items:4 374 }, 375 600:{ 376 items:3 377 }, 378 0:{ 379 items:1 380 } 381 } 382 }); 383 384 jQuery("#owl-features").owlCarousel({ 385 center: true, 386 items:4, 387 loop:true, 388 dots: true, 389 margin:30, 390 autoplay:false, 391 autoplayTimeout:0, 392 responsive:{ 393 1000:{ 394 items:4 395 }, 396 600:{ 397 items:2 398 }, 399 0:{ 400 items:1 401 } 402 } 403 }); 404 405 // Custom Navigation owlCarousel 406 $(".next").on("click", function() { 407 $(this).parent().parent().find('.blog-slide').trigger('owl.next'); 408 }); 409 $(".prev").on("click", function() { 410 $(this).parent().parent().find('.blog-slide').trigger('owl.prev'); 411 }); 412 413 jQuery('.owl-custom-nav').each(function() { 414 var owl = $('.owl-custom-nav').next(); 415 var ow = parseInt(owl.css("height"), 10); 416 $(this).css("margin-top", (ow / 2) - 25); 417 owl.owlCarousel(); 418 // Custom Navigation Events 419 $(".btn-next").on("click", function() { 420 owl.trigger('owl.next'); 421 }); 422 $(".btn-prev").on("click", function() { 423 owl.trigger('owl.prev'); 424 }); 425 }); 426 427 428 // custom navigation for slider 429 var ows = $('#custom-owl-slider'); 430 var arr = $('.owl-slider-nav'); 431 var doc_height = $(window).innerHeight(); 432 arr.css("top", (doc_height / 2) - 25); 433 ows.owlCarousel(); 434 // Custom Navigation Events 435 arr.find(".next").on("click", function() { 436 ows.trigger('owl.next'); 437 }); 438 arr.find(".prev").on("click", function() { 439 ows.trigger('owl.prev'); 440 }); 441 442 jQuery(".owl-slide-wrapper").on("mouseenter", function() { 443 arr.find(".next").css("right", "40px"); 444 arr.find(".prev").css("left", "40px"); 445 }).on("mouseleave", function() { 446 arr.find(".next").css("right", "-50px"); 447 arr.find(".prev").css("left", "-50px"); 448 }) 449 } 450 /* -------------------------------------------------- 451 * plugin | isotope 452 * --------------------------------------------------*/ 453 function filter_gallery() { 454 var $container = jQuery('#gallery'); 455 $container.isotope({ 456 itemSelector: '.item', 457 filter: '*' 458 }); 459 jQuery('#filters a').on("click", function() { 460 var $this = jQuery(this); 461 if ($this.hasClass('selected')) { 462 return false;
463 } 464 var $optionSet = $this.parents(); 465 $optionSet.find('.selected').removeClass('selected'); 466 $this.addClass('selected'); 467 var selector = jQuery(this).attr('data-filter'); 468 $container.isotope({ 469 filter: selector 470 }); 471 return false; 472 }); 473 } 474 /* -------------------------------------------------- 475 * plugin | fitvids 476 * --------------------------------------------------*/ 477 /*! 478 * FitVids 1.0 479 * 480 * Copyright 2011, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com 481 * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ 482 * Released under the WTFPL license - http://sam.zoy.org/wtfpl/ 483 * 484 * Date: Thu Sept 01 18:00:00 2011 -0500 485 */ 486 ! function(a) { 487 a.fn.fitVids = function(b) { 488 var c = { 489 customSelector: null 490 }, 491 d = document.createElement("div"), 492 e = document.getElementsByTagName("base")[0] || document.getElementsByTagName("script")[0]; 493 return d.className = "fit-vids-style", d.innerHTML = "­<style> .fluid-width-video-wrapper { width: 100%; position: relative; padding: 0; } .fluid-width-video-wrapper iframe, .fluid-width-video-wrapper object, .fluid-width-video-wrapper embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style>", e.parentNode.insertBefore(d, e), b && a.extend(c, b), this.each(function() { 494 var b = ["iframe[src*='player.vimeo.com']", "iframe[src*='www.youtube.com']", "iframe[src*='www.kickstarter.com']", "object", "embed"]; 495 c.customSelector && b.push(c.customSelector); 496 var d = a(this).find(b.join(",")); 497 d.each(function() { 498 var b = a(this); 499 if (!("embed" == this.tagName.toLowerCase() && b.parent("object").length || b.parent(".fluid-width-video-wrapper").length)) { 500 var c = "object" == this.tagName.toLowerCase() || b.attr("height") ? b.attr("height") : b.height(), 501 d = b.attr("width") ? b.attr("width") : b.width(), 502 e = c / d; 503 if (!b.attr("id")) { 504 var f = "fitvid" + Math.floor(999999 * Math.random()); 505 b.attr("id", f) 506 } 507 b.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top", 100 * e + "%"), b.removeAttr("height").removeAttr("width") 508 } 509 }) 510 }) 511 } 512 }(jQuery); 513 /* -------------------------------------------------- 514 * back to top 515 * --------------------------------------------------*/ 516 var scrollTrigger = 500; // px 517 var t = 0; 518 519 function backToTop() { 520 var scrollTop = $(window).scrollTop(); 521 if (scrollTop > scrollTrigger) { 522 $('#back-to-top').addClass('show'); 523 $('#back-to-top').removeClass('hide'); 524 t = 1; 525 } 526 527 if (scrollTop < scrollTrigger && t == 1) { 528 $('#back-to-top').addClass('hide'); 529 } 530 531 $('#back-to-top').on('click', function(e) { 532 e.preventDefault(); 533 $('html,body').stop(true).animate({ 534 scrollTop: 0 535 }, 700); 536 }); 537 }; 538 /* -------------------------------------------------- 539 * plugin | scroll to 540 * --------------------------------------------------*/ 541 /*! 542 * jquery.scrollto.js 0.0.1 - https://github.com/yckart/jquery.scrollto.js 543 * Scroll smooth to any element in your DOM. 544 * 545 * Copyright (c) 2012 Yannick Albert (http://yckart.com) 546 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php). 547 * 2013/02/17 548 **/ 549 $.scrollTo = $.fn.scrollTo = function(x, y, options) { 550 if (!(this instanceof $)) return $.fn.scrollTo.apply($('html, body'), arguments); 551 552 options = $.extend({}, { 553 gap: { 554 x: 0, 555 y: 0 556 }, 557 animation: { 558 easing: 'easeInOutExpo', 559 duration: 600,
560 complete: $.noop, 561 step: $.noop 562 } 563 }, options); 564 565 return this.each(function() { 566 567 if (!jQuery('body').hasClass('side-layout')) { 568 var h = 69; 569 } else { 570 var h = 0; 571 } 572 573 var elem = $(this); 574 elem.stop().animate({ 575 scrollLeft: !isNaN(Number(x)) ? x : $(y).offset().left + options.gap.x, 576 scrollTop: !isNaN(Number(y)) ? y : $(y).offset().top + options.gap.y - h // *edited 577 }, options.animation); 578 }); 579 }; 580 /* -------------------------------------------------- 581 * counting number 582 * --------------------------------------------------*/ 583 function de_counter() { 584 jQuery('.timer').each(function() { 585 var imagePos = jQuery(this).offset().top; 586 var topOfWindow = jQuery(window).scrollTop(); 587 if (imagePos < topOfWindow + jQuery(window).height() && v_count == '0') { 588 jQuery(function($) { 589 // start all the timers 590 jQuery('.timer').each(count); 591 592 function count(options) { 593 v_count = '1'; 594 var $this = jQuery(this); 595 options = $.extend({}, options || {}, $this.data('countToOptions') || {}); 596 $this.countTo(options); 597 } 598 }); 599 } 600 }); 601 } 602 /* -------------------------------------------------- 603 * progress bar 604 * --------------------------------------------------*/ 605 606 function text_rotate() { 607 var quotes = $(".text-rotate-wrap .text-item"); 608 var quoteIndex = -1; 609 610 function showNextQuote() { 611 ++quoteIndex; 612 quotes.eq(quoteIndex % quotes.length) 613 .fadeIn(1) 614 .delay(1500) 615 .fadeOut(1, showNextQuote); 616 } 617 618 showNextQuote(); 619 620 }; 621 /* -------------------------------------------------- 622 * custom background 623 * --------------------------------------------------*/ 624 function custom_bg() { 625 $("body,div,section,span").css('background-color', function() { 626 return jQuery(this).data('bgcolor'); 627 }); 628 $("body,div,section").css('background', function() { 629 return jQuery(this).data('bgimage'); 630 }); 631 $("body,div,section").css('background-size', function() { 632 return 'cover'; 633 }); 634 } 635 /* -------------------------------------------------- 636 * custom elements 637 * --------------------------------------------------*/ 638 function custom_elements() { 639 // -------------------------------------------------- 640 // tabs 641 // -------------------------------------------------- 642 jQuery('.de_tab').find('.de_tab_content > div').hide(); 643 jQuery('.de_tab').find('.de_tab_content > div:first').show(); 644 jQuery('li').find('.v-border').fadeTo(150, 0); 645 jQuery('li.active').find('.v-border').fadeTo(150, 1); 646 jQuery('.de_nav li').on("click", function() { 647 jQuery(this).parent().find('li').removeClass("active"); 648 jQuery(this).addClass("active"); 649 jQuery(this).parent().parent().find('.v-border').fadeTo(150, 0); 650 jQuery(this).parent().parent().find('.de_tab_content > div').hide(); 651 var indexer = jQuery(this).index(); //gets the current index of (this) which is #nav li 652 jQuery(this).parent().parent().find('.de_tab_content > div:eq(' + indexer + ')').fadeIn(); //uses whatever index the link has to open the corresponding box 653 jQuery(this).find('.v-border').fadeTo(150, 1); 654 }); 655 // request quote function 656 var rq_step = 1; 657 jQuery('#request_form .btn-right').on("click", function() { 658 var rq_name = $('#rq_name').val(); 659 var rq_email = $('#rq_email').val(); 660 var rq_phone = $('#rq_phone').val(); 661 if (rq_step == 1) { 662 if (rq_name.length == 0) { 663 $('#rq_name').addClass("error_input"); 664 } else { 665 $('#rq_name').removeClass("error_input"); 666 } 667 if (rq_email.length == 0) { 668 $('#rq_email').addClass("error_input"); 669 } else { 670 $('#rq_email').removeClass("error_input"); 671 } 672 if (rq_phone.length == 0) { 673 $('#rq_phone').addClass("error_input"); 674 } else { 675 $('#rq_phone').removeClass("error_input"); 676 } 677 } 678 if (rq_name.length != 0 && rq_email.length != 0 && rq_phone.length != 0) { 679 jQuery("#rq_step_1").hide(); 680 jQuery("#rq_step_2").fadeIn(); 681 } 682 }); 683 // -------------------------------------------------- 684 // tabs 685 // -------------------------------------------------- 686 jQuery('.de_review').find('.de_tab_content > div').hide(); 687 jQuery('.de_review').find('.de_tab_content > div:first').show(); 688 //jQuery('.de_review').find('.de_nav li').fadeTo(150,.5); 689 jQuery('.de_review').find('.de_nav li:first').fadeTo(150, 1); 690 jQuery('.de_nav li').on("click", function() { 691 jQuery(this).parent().find('li').removeClass("active"); 692 //jQuery(this).parent().find('li').fadeTo(150,.5); 693 jQuery(this).addClass("active"); 694 jQuery(this).fadeTo(150, 1); 695 jQuery(this).parent().parent().find('.de_tab_content > div').hide(); 696 var indexer = jQuery(this).index(); //gets the current index of (this) which is #nav li 697 jQuery(this).parent().parent().find('.de_tab_content > div:eq(' + indexer + ')').show(); //uses whatever index the link has to open the corresponding box 698 }); 699 // -------------------------------------------------- 700 // toggle 701 // -------------------------------------------------- 702 jQuery(".toggle-list h2").addClass("acc_active"); 703 jQuery(".toggle-list h2").toggle(function() { 704 jQuery(this).addClass("acc_noactive"); 705 jQuery(this).next(".ac-content").slideToggle(200); 706 }, function() { 707 jQuery(this).removeClass("acc_noactive").addClass("acc_active"); 708 jQuery(this).next(".ac-content").slideToggle(200); 709 }) 710 // -------------------------------------------------- 711 // toggle 712 // --------------------------------------------------
713 jQuery(".expand-custom .toggle").click(function() { 714 jQuery(this).stop().toggleClass("clicked"); 715 jQuery(this).stop().parent().parent().parent().find(".details").slideToggle(500); 716 }) 717 } 718 /* -------------------------------------------------- 719 * video autosize 720 * --------------------------------------------------*/ 721 function video_autosize() { 722 jQuery('.de-video-container').each(function() { 723 var height_1 = jQuery(this).css("height"); 724 var height_2 = jQuery(this).find(".de-video-content").css("height"); 725 var newheight = (height_1.substring(0, height_1.length - 2) - height_2.substring(0, height_2.length - 2)) / 2; 726 jQuery(this).find('.de-video-overlay').css("height", height_1); 727 jQuery(this).find(".de-video-content").animate({ 728 'margin-top': newheight 729 }, 'fast'); 730 }); 731 } 732 /* -------------------------------------------------- 733 * center x and y 734 * --------------------------------------------------*/ 735 function center_xy() { 736 jQuery('.center-xy').each(function() { 737 jQuery(this).parent().find("img").on('load', function() { 738 var w = parseInt(jQuery(this).parent().find(".center-xy").css("width"), 10); 739 var h = parseInt(jQuery(this).parent().find(".center-xy").css("height"), 10); 740 var pic_w = jQuery(this).css("width"); 741 var pic_h = jQuery(this).css("height"); 742 var tp = jQuery(this).parent(); 743 tp.find(".center-xy").css("left", parseInt(pic_w, 10) / 2 - w / 2); 744 tp.find(".center-xy").css("top", parseInt(pic_h, 10) / 2 - h / 2); 745 tp.find(".bg-overlay").css("width", pic_w); 746 tp.find(".bg-overlay").css("height", pic_h); 747 }).each(function() { 748 if (this.complete) $(this).load(); 749 }); 750 }); 751 } 752 /* -------------------------------------------------- 753 * add arrow for mobile menu 754 * --------------------------------------------------*/ 755 function menu_arrow() { 756 // mainmenu create span 757 jQuery('#mainmenu li a').each(function() { 758 if ($(this).next("ul").length > 0) { 759 $("<span></span>").insertAfter($(this)); 760 } 761 }); 762 // mainmenu arrow click 763 jQuery("#mainmenu > li > span").on("click", function() { 764 765 var iteration = $(this).data('iteration') || 1; 766 switch (iteration) { 767 case 1: 768 $(this).addClass("active"); 769 $(this).parent().find("ul:first").css("height", "auto"); 770 var curHeight = $(this).parent().find("ul:first").height(); 771 $(this).parent().find("ul:first").css("height", "0"); 772 $(this).parent().find("ul:first").animate({ 773 'height': curHeight 774 }, 300, 'easeOutQuint'); 775 $('header').css("height", $('#mainmenu')[0].scrollHeight+curHeight+(parseInt($tmp_h)*2)); 776 break; 777 case 2: 778 var curHeight = $(this).parent().find("ul:first").height(); 779 $(this).removeClass("active"); 780 $(this).parent().find("ul:first").animate({ 781 'height': "0" 782 }, 300, 'easeOutQuint'); 783 $('header').css("height", $('#mainmenu')[0].scrollHeight-curHeight+(parseInt($tmp_h)*2)); 784 break; 785 } 786 iteration++; 787 if (iteration > 2) iteration = 1; 788 $(this).data('iteration', iteration); 789 }); 790 jQuery("#mainmenu > li > ul > li > span").on("click", function() { 791 var iteration = $(this).data('iteration') || 1; 792 switch (iteration) { 793 case 1: 794 $(this).addClass("active"); 795 $(this).parent().find("ul:first").css("height", "auto"); 796 $(this).parent().parent().parent().find("ul:first").css("height", "auto"); 797 var curHeight = $(this).parent().find("ul:first").height(); 798 $(this).parent().find("ul:first").css("height", "0"); 799 $(this).parent().find("ul:first").animate({ 800 'height': curHeight 801 }, 400, 'easeInOutQuint'); 802 break; 803 case 2: 804 $(this).removeClass("active"); 805 $(this).parent().find("ul:first").animate({ 806 'height': "0" 807 }, 400, 'easeInOutQuint'); 808 break; 809 } 810 iteration++; 811 if (iteration > 2) iteration = 1; 812 $(this).data('iteration', iteration); 813 }); 814 } 815 /* -------------------------------------------------- 816 * show gallery item sequence 817 * --------------------------------------------------*/ 818 function sequence() { 819 var sq = jQuery(".sequence > .gallery-item .picframe"); 820 var count = sq.length; 821 sq.addClass("fadeIn"); 822 sq.find("img").addClass("slideInUp"); 823 for (var i = 0; i <= count; i++) { 824 var sqx = jQuery(".sequence > .gallery-item:eq(" + i + ") .picframe"); 825 sqx.attr('data-wow-delay', (i / 8) + 's'); 826 sqx.find("img").attr('data-wow-delay', (i / 16) + 's'); 827 } 828 } 829 /* -------------------------------------------------- 830 * show gallery item sequence 831 * --------------------------------------------------*/ 832 function sequence_a() { 833 var sq = jQuery(".sequence").find(".sq-item"); 834 var count = sq.length; 835 sq.addClass("scaleOutFade"); 836 for (var i = 0; i <= count; i++) { 837 var sqx = jQuery(".sequence").find(".sq-item:eq(" + i + ")"); 838 sqx.attr('data-wow-delay', (i / 8) + 's'); 839 sqx.attr('data-wow-speed', '1s'); 840 } 841 } 842 /* -------------------------------------------------- 843 * custom scroll 844 * --------------------------------------------------*/ 845 $.fn.moveIt = function() { 846 $(this).each(function() { 847 instances.push(new moveItItem($(this))); 848 }); 849 } 850 851 function moveItItemNow() { 852 var scrollTop = $window.scrollTop();
853 instances.forEach(function(inst) { 854 inst.update(scrollTop); 855 }); 856 } 857 858 function moveItItem(el) { 859 this.el = $(el); 860 this.speed = parseInt(this.el.attr('data-scroll-speed')); 861 }; 862 moveItItem.prototype.update = function(scrollTop) { 863 var pos = scrollTop / this.speed; 864 this.el.css('transform', 'translateY(' + pos + 'px)'); 865 }; 866 $(function() { 867 $('[data-scroll-speed]').moveIt(); 868 }); 869 /* -------------------------------------------------- 870 * multiple function 871 * --------------------------------------------------*/ 872 function init() { 873 var sh = jQuery('#de-sidebar').css("height"); 874 var dh = jQuery(window).innerHeight(); 875 var h = parseInt(sh) - parseInt(dh); 876 877 function scrolling() { 878 var mq = window.matchMedia("(min-width: 993px)"); 879 var ms = window.matchMedia("(min-width: 768px)"); 880 if (mq.matches) { 881 var distanceY = window.pageYOffset || document.documentElement.scrollTop, 882 shrinkOn = 0, 883 header = jQuery("header"); 884 if (distanceY > shrinkOn) { 885 header.addClass("smaller"); 886 } else { 887 if (header.hasClass('smaller')) { 888 header.removeClass('smaller'); 889 } 890 } 891 } 892 if (mq.matches) { 893 if (jQuery("header").hasClass("side-header")) { 894 if (jQuery(document).scrollTop() >= h) { 895 jQuery('#de-sidebar').css("position", "fixed"); 896 if (parseInt(sh) > parseInt(dh)) { 897 jQuery('#de-sidebar').css("top", -h); 898 } 899 jQuery('#main').addClass("col-md-offset-3"); 900 jQuery('h1#logo img').css("padding-left", "7px"); 901 jQuery('header .h-content').css("padding-left", "7px"); 902 jQuery('#mainmenu li').css("width", "103%"); 903 } else { 904 jQuery('#de-sidebar').css("position", "relative"); 905 if (parseInt(sh) > parseInt(dh)) { 906 jQuery('#de-sidebar').css("top", 0); 907 } 908 jQuery('#main').removeClass("col-md-offset-3"); 909 jQuery('h1#logo img').css("padding-left", "0px"); 910 jQuery('header .h-content').css("padding-left", "0px"); 911 jQuery('#mainmenu li').css("width", "100%"); 912 } 913 } 914 915 } 916 } 917 918 // -------------------------------------------------- 919 // looping background 920 // -------------------------------------------------- 921 922 scrolling(); 923 924 925 jQuery(".btn-rsvp").on("click", function() { 926 var iteration = $(this).data('iteration') || 1; 927 switch (iteration) { 928 case 1: 929 jQuery('#popup-box').addClass('popup-show'); 930 jQuery('#popup-box').removeClass('popup-hide'); 931 break; 932 case 2: 933 934 break; 935 } 936 iteration++; 937 if (iteration > 2) iteration = 1; 938 $(this).data('iteration', iteration); 939 }); 940 941 jQuery(".btn-close").on("click", function() { 942 var iteration = $(this).data('iteration') || 1; 943 switch (iteration) { 944 case 1: 945 jQuery('#popup-box').addClass('popup-hide'); 946 jQuery('#popup-box').removeClass('popup-show'); 947 break; 948 case 2: 949 950 break; 951 } 952 iteration++; 953 if (iteration > 2) iteration = 1; 954 $(this).data('iteration', iteration); 955 }); 956 957 $("#sw-1").click(function() { 958 if($(this).is(":checked")){ 959 $('.opt-1').css('display','none'); 960 $('.opt-2').css('display','inline-block'); 961 }else{ 962 $('.opt-2').css('display','none'); 963 $('.opt-1').css('display','inline-block'); 964 } 965 }); 966 } 967 /* -------------------------------------------------- 968 * multiple function 969 * --------------------------------------------------*/ 970 function init_de() { 971 jQuery('.de-team-list').each(function() { 972 jQuery(this).find("img").on('load', function() { 973 var w = jQuery(this).css("width"); 974 var h = jQuery(this).css("height"); 975 var tpp = jQuery(this).parent().parent(); 976 tpp.find(".team-pic").css("height", h); 977 tpp.find(".team-desc").css("width", w); 978 tpp.find(".team-desc").css("height", h); 979 tpp.find(".team-desc").css("top", h); 980 }).each(function() { 981 if (this.complete) $(this).load(); 982 }); 983 }); 984 jQuery(".de-team-list").on("mouseenter", function() { 985 var h; 986 h = jQuery(this).find("img").css("height"); 987 jQuery(this).find(".team-desc").stop(true).animate({ 988 'top': "0px" 989 }, 350, 'easeOutQuad'); 990 jQuery(this).find("img").stop(true).animate({ 991 'margin-top': "-100px" 992 }, 400, 'easeOutQuad'); 993 }).on("mouseleave", function() { 994 var h; 995 h = jQuery(this).find("img").css("height"); 996 jQuery(this).find(".team-desc").stop(true).animate({ 997 'top': h 998 }, 350, 'easeOutQuad'); 999 jQuery(this).find("img").stop(true).animate({ 1000 'margin-top': "0px" 1001 }, 400, 'easeOutQuad'); 1002 }) 1003 // portfolio 1004 jQuery('.item .picframe').each(function() { 1005 var img = jQuery(this).find("img"); 1006 img.css("width", "100%"); 1007 img.css("height", "auto"); 1008 img.on('load', function() { 1009 var w = jQuery(this).css("width"); 1010 var h = jQuery(this).css("height"); 1011 //nh = (h.substring(0, h.length - 2)/2)-48; 1012 jQuery(this).parent().css("height", h); 1013 }).each(function() { 1014 if (this.complete) $(this).load(); 1015 }); 1016 }); 1017 // -------------------------------------------------- 1018 // portfolio hover 1019 // -------------------------------------------------- 1020 jQuery('.overlay').fadeTo(1, 0); 1021 // gallery hover 1022 jQuery(".item .picframe").on("mouseenter", function() { 1023 var ov = jQuery(this).parent().find(".overlay"); 1024 ov.width(jQuery(this).find("img").css("width")); 1025 ov.height(jQuery(this).find("img").css("height")); 1026 ov.stop(true).fadeTo(200, 1); 1027 var picheight = jQuery(this).find("img").css("height"); 1028 var newheight; 1029 newheight = (picheight.substring(0, picheight.length - 2) / 2) - 10; 1030 //alert(newheight); 1031 //jQuery(this).parent().find(".pf_text").stop(true).animate({'margin-top': newheight},200,'easeOutCubic'); 1032 jQuery(this).parent().find(".pf_text").css('margin-top', newheight); 1033 jQuery(this).parent().find(".pf_text").stop(true).animate({ 1034 'opacity': '1' 1035 }, 1000, 'easeOutCubic'); 1036 var w = jQuery(this).find("img").css("width"); 1037 var h = jQuery(this).find("img").css("height"); 1038 var w = parseInt(w, 10); 1039 var h = parseInt(h, 10); 1040 var $scale = 1; 1041 //alert(w); 1042 jQuery(this).find("img").stop(true).animate({ 1043 width: w * $scale, 1044 height: h * $scale, 1045 'margin-left': -w * ($scale - 1) / 2, 1046 'margin-top': -h * ($scale - 1) / 2 1047 }, 400, 'easeOutCubic'); 1048 }).on("mouseleave", function() { 1049 var newheight; 1050 var picheight = jQuery(this).find("img").css("height"); 1051 newheight = (picheight.substring(0, picheight.length - 2) / 2) - 10; 1052 //jQuery(this).parent().find(".pf_text").stop(true).animate({'margin-top': newheight - 30},200,'easeOutCubic'); 1053 jQuery(this).parent().find(".pf_text").stop(true).animate({ 1054 'opacity': '0' 1055 }, 400, 'easeOutCubic'); 1056 jQuery(this).parent().find(".overlay").stop(true).fadeTo(200, 0); 1057 jQuery(this).find("img").stop(true).animate({ 1058 width: '100%', 1059 height: '100%', 1060 'margin-left': 0, 1061 'margin-top': 0 1062 }, 400, 'easeOutQuad'); 1063 }) 1064 jQuery('.overlay').fadeTo(1, 0); 1065 $.stellar('refresh'); 1066
1067 var preloader_pos = parseInt(jQuery(window).innerHeight() / 2) - 30; 1068 $(".preloader1").css("top", preloader_pos); 1069 1070 jQuery('.grid.border').css('padding-top', grid_size); 1071 jQuery('.grid.border').css('padding-left', grid_size); 1072 1073 jQuery("#selector .opt").on("click", function() { 1074 var color = jQuery(this).data('color'); 1075 jQuery("#colors").attr("href", 'css/colors/'+color+'.css'); 1076 }); 1077 1078 1079 jQuery("#selector .dark-mode").on("click", function() { 1080 var iteration = $(this).data('iteration') || 1; 1081 switch (iteration) { 1082 case 1: 1083 jQuery('body').addClass('dark-mode'); 1084 jQuery('body').addClass('text-light'); 1085 jQuery(this).addClass('active'); 1086 jQuery(this).text('Disable Dark Mode'); 1087 break; 1088 case 2: 1089 jQuery('body').removeClass('dark-mode'); 1090 jQuery('body').removeClass('text-light'); 1091 jQuery(this).removeClass('active'); 1092 jQuery(this).text('Enable Dark Mode'); 1093 break; 1094 } 1095 iteration++; 1096 if (iteration > 2) iteration = 1; 1097 $(this).data('iteration', iteration); 1098 }); 1099 } 1100 1101 1102 function grid_gallery() { 1103 jQuery('.grid-item').each(function () { 1104 var this_col = Number(jQuery(this).parent().attr('data-col')); 1105 var this_gridspace = Number(jQuery(this).parent().attr('data-gridspace')); 1106 var this_ratio = eval($(this).parent().attr('data-ratio')); 1107 jQuery(this).parent().css('padding-left', this_gridspace); 1108 var w = (($(document).width() - (this_gridspace * this_col + 1)) / this_col) - (this_gridspace / this_col); 1109 var gi = $(this); 1110 var h = w * this_ratio; 1111 gi.css('width', w) 1112 gi.css('height', h); 1113 gi.find(".pf_title").css('margin-top', (h / 2) - 10); 1114 gi.css('margin-right', this_gridspace); 1115 gi.css('margin-bottom', this_gridspace); 1116 $(this).parent().css('padding-top',this_gridspace); 1117 if (gi.hasClass('large')) { 1118 $(this).css('width', (w * 2) + this_gridspace); 1119 $(this).css('height', (h * 2) + this_gridspace); 1120 } 1121 if (gi.hasClass('large-width')) { 1122 $(this).css('width', (w * 2) + this_gridspace); 1123 $(this).css('height', h); 1124 } 1125 if (gi.hasClass('large-height')) { 1126 $(this).css('height', (h * 2) + this_gridspace); 1127 gi.find(".pf_title").css('margin-top', (h) - 20); 1128 } 1129 }) 1130 } 1131 1132 /* -------------------------------------------------- 1133 * center-y 1134 * --------------------------------------------------*/ 1135 function centerY() { 1136 jQuery('.full-height').each(function() { 1137 var dh = jQuery(window).innerHeight();
1138 jQuery(this).css("min-height", dh); 1139 }); 1140 } 1141 1142 /* -------------------------------------------------- 1143 * progress bar 1144 * --------------------------------------------------*/ 1145 function de_progress() { 1146 jQuery('.de-progress').each(function() { 1147 var pos_y = jQuery(this).offset().top; 1148 var value = jQuery(this).find(".progress-bar").attr('data-value'); 1149 var topOfWindow = jQuery(window).scrollTop(); 1150 if (pos_y < topOfWindow + 550) { 1151 jQuery(this).find(".progress-bar").css({ 1152 'width': value 1153 }, "slow"); 1154 } 1155 1156 jQuery(this).find('.value').text(jQuery(this).find('.progress-bar').attr('data-value')); 1157 }); 1158 } 1159 /* -------------------------------------------------- 1160 * document ready 1161 * --------------------------------------------------*/ 1162 jQuery(document).ready(function() { 1163 'use strict'; 1164 $("body").show(); 1165 header_styles(); 1166 load_magnificPopup(); 1167 center_xy(); 1168 init_de(); 1169 grid_gallery(); 1170 init_resize(); 1171 de_progress(); 1172 // -------------------------------------------------- 1173 // custom positiion 1174 // -------------------------------------------------- 1175 var $doc_height = jQuery(window).innerHeight(); 1176 jQuery('#homepage #content.content-overlay').css("margin-top", $doc_height); 1177 //jQuery('.full-height').css("height", $doc_height); 1178 //var picheight = jQuery('.center-y').css("height"); 1179 //picheight = parseInt(picheight, 10); 1180 //jQuery('.center-y').css('margin-top', (($doc_height - picheight) / 2)-100); 1181 jQuery('.full-height .de-video-container').css("min-height", $doc_height); 1182 1183 1184 if(jQuery('header').hasClass("autoshow")){ 1185 $op_header_autoshow = 1; 1186 } 1187 1188 centerY(); 1189 1190 // -------------------------------------------------- 1191 // blog list hover 1192 // -------------------------------------------------- 1193 jQuery(".blog-list").on("mouseenter", function() { 1194 var v_height = jQuery(this).find(".blog-slide").css("height"); 1195 var v_width = jQuery(this).find(".blog-slide").css("width"); 1196 var newheight = (v_height.substring(0, v_height.length - 2) / 2) - 40; 1197 var owa = jQuery(this).find(".owl-arrow"); 1198 owa.css("margin-top", newheight); 1199 owa.css("width", v_width); 1200 owa.fadeTo(150, 1); 1201 //alert(v_height); 1202 }).on("mouseleave", function() { 1203 jQuery(this).find(".owl-arrow").fadeTo(150, 0); 1204 }) 1205 // logo carousel hover 1206 jQuery("#logo-carousel img").on("mouseenter", function() { 1207 jQuery(this).fadeTo(150, .5); 1208 }).on("mouseleave", function() { 1209 jQuery(this).fadeTo(150, 1); 1210 }) 1211 if ($('#back-to-top').length) { 1212 backToTop(); 1213 } 1214 jQuery(".nav-exit").on("click", function() { 1215 $.magnificPopup.close(); 1216 }); 1217 // -------------------------------------------------- 1218 // navigation for mobile 1219 // -------------------------------------------------- 1220 jQuery('#menu-btn').on("click", function() { 1221 1222 var h = jQuery('header')[0].scrollHeight; 1223 1224 if (mobile_menu_show == 0) { 1225 jQuery('header.header-mobile').stop(true).animate({ 1226 'height': h 1227 }, 200, 'easeOutCubic'); 1228 mobile_menu_show = 1; 1229 } else { 1230 jQuery('header.header-mobile').stop(true).animate({ 1231 'height': $tmp_h 1232 }, 200, 'easeOutCubic'); 1233 mobile_menu_show = 0; 1234 } 1235 }) 1236 jQuery("a.btn").on("click", function(evn) { 1237 if (this.href.indexOf('#') != -1) { 1238 evn.preventDefault(); 1239 jQuery('html,body').scrollTo(this.hash, this.hash); 1240 } 1241 }); 1242 jQuery('.de-gallery .item .icon-info').on("click", function() { 1243 jQuery('.page-overlay').show(); 1244 url = jQuery(this).attr("data-value"); 1245 jQuery("#loader-area .project-load").load(url, function() { 1246 jQuery("#loader-area").slideDown(500, function() { 1247 jQuery('.page-overlay').hide(); 1248 jQuery('html, body').animate({ 1249 scrollTop: jQuery('#loader-area').offset().top - 70 1250 }, 500, 'easeOutCubic'); 1251 // 1252 jQuery(".image-slider").owlCarousel({ 1253 items: 1, 1254 singleItem: true, 1255 navigation: false, 1256 pagination: true,
1257 autoPlay: false 1258 }); 1259 jQuery(".container").fitVids(); 1260 jQuery('#btn-close-x').on("click", function() { 1261 jQuery("#loader-area").slideUp(500, function() { 1262 jQuery('html, body').animate({ 1263 scrollTop: jQuery('#section-portfolio').offset().top - 70 1264 }, 500, 'easeOutCirc'); 1265 }); 1266 return false; 1267 }); 1268 }); 1269 }); 1270 }); 1271 jQuery('.de-gallery .item').on("click", function() { 1272 $('#navigation').show(); 1273 }); 1274 // btn arrow up 1275 jQuery(".arrow-up").on("click", function() { 1276 jQuery(".coming-soon .coming-soon-content").fadeOut("medium", function() { 1277 jQuery("#hide-content").fadeIn(600, function() { 1278 jQuery('.arrow-up').animate({ 1279 'bottom': '-40px' 1280 }, "slow"); 1281 jQuery('.arrow-down').animate({ 1282 'top': '0' 1283 }, "slow"); 1284 }); 1285 }); 1286 }); 1287 // btn arrow down 1288 jQuery(".arrow-down").on("click", function() { 1289 jQuery("#hide-content").fadeOut("slow", function() { 1290 jQuery(".coming-soon .coming-soon-content").fadeIn(800, function() { 1291 jQuery('.arrow-up').animate({ 1292 'bottom': '0px' 1293 }, "slow"); 1294 jQuery('.arrow-down').animate({ 1295 'top': '-40' 1296 }, "slow"); 1297 }); 1298 }); 1299 }); 1300 /* -------------------------------------------------- 1301 after window load 1302 * --------------------------------------------------*/ 1303 1304 video_autosize(); 1305 filter_gallery(); 1306 custom_bg(); 1307 menu_arrow(); 1308 load_owl(); 1309 custom_elements(); 1310 init(); 1311 //hide preloader after loaded 1312 jQuery('#preloader').delay(500).fadeOut(500); 1313 // one page navigation 1314 /** 1315 * This part causes smooth scrolling using scrollto.js 1316 * We target all a tags inside the nav, and apply the scrollto.js to it. 1317 */ 1318 jQuery("#homepage nav a, .scroll-to").on("click", function(evn) { 1319 if (this.href.indexOf('#') != -1) { 1320 evn.preventDefault(); 1321 jQuery('html,body').scrollTo(this.hash, this.hash); 1322 } 1323 }); 1324 sequence(); 1325 sequence_a(); 1326 1327 $('.accordion-section-title').click(function(e){ 1328 var currentAttrvalue = $(this).data('tab'); 1329 if($(e.target).is('.active')){ 1330 $(this).removeClass('active'); 1331 $('.accordion-section-content:visible').slideUp(300); 1332 } else { 1333 $('.accordion-section-title').removeClass('active').filter(this).addClass('active'); 1334 $('.accordion-section-content').slideUp(300).filter(currentAttrvalue).slideDown(300); 1335 } 1336 }); 1337 1338 1339 /* -------------------------------------------------- 1340 * window | on resize 1341 * --------------------------------------------------*/ 1342 $(window).resize(function() { 1343 init_resize(); 1344 centerY(); 1345 grid_gallery(); 1346 }); 1347 /* -------------------------------------------------- 1348 * window | on scroll 1349 * --------------------------------------------------*/ 1350 jQuery(window).on("scroll", function() { 1351 /* functions */ 1352 header_sticky(); 1353 de_counter(); 1354 de_progress(); 1355 init(); 1356 backToTop(); 1357 moveItItemNow(); 1358 /* plugin | stellar */ 1359 $.stellar({ 1360 horizontalScrolling: false, 1361 verticalOffset: 0 1362 }); 1363 1364 /* fade base scroll position */ 1365 var target = $('.fadeScroll'); 1366 var targetHeight = target.outerHeight(); 1367 var scrollPercent = (targetHeight - window.scrollY) / targetHeight; 1368 if (scrollPercent >= 0) { 1369 target.css('opacity', scrollPercent); 1370 } else { 1371 target.css('opacity', 0); 1372 } 1373 // custom page with background on side 1374 jQuery('.side-bg').each(function() { 1375 jQuery(this).find(".image-container").css("height", jQuery(this).find(".image-container").parent().css("height")); 1376 }); 1377 /* go to anchor */ 1378 jQuery('#mainmenu li a').each(function() { 1379 var cur = jQuery(this); 1380 if (this.href.indexOf('#') != -1) { 1381 var href = jQuery(this).attr('href'); 1382 if (location.hash!=="") { 1383 if (jQuery(window).scrollTop() > jQuery(href).offset().top - 140) { 1384 clearTimeout($.data(this, "scrollCheck")); 1385 $.data(this, "scrollCheck", setTimeout(function() { 1386 jQuery('#mainmenu li a').removeClass('active'); 1387 cur.addClass('active'); 1388 }, 250)); 1389 1390 } 1391 } 1392 } 1393 }); 1394 1395 // acc 1396 $('.toggle').click(function(e) { 1397 e.preventDefault(); 1398 1399 var $this = $(this); 1400 1401 if ($this.next().hasClass('show')) { 1402 $this.next().removeClass('show'); 1403 $this.next().slideUp(350); 1404 } else { 1405 $this.parent().parent().find('li .inner').removeClass('show'); 1406 $this.parent().parent().find('li .inner').slideUp(350); 1407 $this.next().toggleClass('show'); 1408 $this.next().slideToggle(350); 1409 } 1410 }); 1411 1412 1413 1414 }); 1415 $(function() { 1416 "use strict"; 1417 var x = 0; 1418 setInterval(function() { 1419 x -= 1; 1420 $('.bg-loop').css('background-position', x + 'px 0'); 1421 }, 50); 1422 }) 1423 1424 $(window).load(function() { 1425 filter_gallery(); 1426 new WOW().init(); 1427 window.dispatchEvent(new Event('resize')); 1428 1429 $('.grid').isotope({ 1430 itemSelector: '.grid-item' 1431 }); 1432 grid_gallery(); 1433 1434 }); 1435 }); 1436 })(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.