(function($) {
"use strict";
/*------------------------------------------
= all essential functions
-------------------------------------------*/
// toggle mobile navigation
function togglemobilenavigation() {
var navbar = $(".navigation-holder");
var openbtn = $(".navbar-header .open-btn");
var closebtn = $(".navigation-holder .close-navbar");
var body = $(".page-wrapper");
openbtn.on("click", function() {
if (!navbar.hasclass("slideinn")) {
navbar.addclass("slideinn");
body.addclass("body-overlay");
}
return false;
})
closebtn.on("click", function() {
if (navbar.hasclass("slideinn")) {
navbar.removeclass("slideinn");
}
body.removeclass("body-overlay");
return false;
})
}
togglemobilenavigation();
// function for toggle class for small menu
function toggleclassforsmallnav() {
var windowwidth = window.innerwidth;
var mainnav = $("#navbar > ul");
if (windowwidth <= 991) {
mainnav.addclass("small-nav");
} else {
mainnav.removeclass("small-nav");
}
}
toggleclassforsmallnav();
// function for small menu
function smallnavfunctionality() {
var windowwidth = window.innerwidth;
var mainnav = $(".navigation-holder");
var smallnav = $(".navigation-holder > .small-nav");
var submenu = smallnav.find(".sub-menu");
var megamenu = smallnav.find(".mega-menu");
var menuitemwidthsubmenu = smallnav.find(".menu-item-has-children > a");
if (windowwidth <= 991) {
submenu.hide();
megamenu.hide();
menuitemwidthsubmenu.on("click", function(e) {
var $this = $(this);
$this.siblings().slidetoggle();
e.preventdefault();
e.stopimmediatepropagation();
})
} else if (windowwidth > 991) {
mainnav.find(".sub-menu").show();
mainnav.find(".mega-menu").show();
}
}
smallnavfunctionality();
// parallax background
function bgparallax() {
if ($(".parallax").length) {
$(".parallax").each(function() {
var height = $(this).position().top;
var resize = height - $(window).scrolltop();
var doparallax = -(resize/5);
var positionvalue = doparallax + "px";
var img = $(this).data("bg-image");
$(this).css({
backgroundimage: "url(" + img + ")",
backgroundposition: "50%" + positionvalue,
backgroundsize: "cover"
});
});
}
}
// hero slider
var menu = [];
jquery('.swiper-slide').each( function(index){
menu.push( jquery(this).find('.slide-inner').attr("data-text") );
});
var interleaveoffset = 0.5;
var swiperoptions = {
loop: true,
speed: 1000,
parallax: true,
autoplay: {
delay: 6500,
disableoninteraction: false,
},
watchslidesprogress: true,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
navigation: {
nextel: '.swiper-button-next',
prevel: '.swiper-button-prev',
},
on: {
progress: function() {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
var slideprogress = swiper.slides[i].progress;
var inneroffset = swiper.width * interleaveoffset;
var innertranslate = slideprogress * inneroffset;
swiper.slides[i].queryselector(".slide-inner").style.transform =
"translate3d(" + innertranslate + "px, 0, 0)";
}
},
touchstart: function() {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
swiper.slides[i].style.transition = "";
}
},
settransition: function(speed) {
var swiper = this;
for (var i = 0; i < swiper.slides.length; i++) {
swiper.slides[i].style.transition = speed + "ms";
swiper.slides[i].queryselector(".slide-inner").style.transition =
speed + "ms";
}
}
}
};
var swiper = new swiper(".swiper-container", swiperoptions);
// data background image
var sliderbgsetting = $(".slide-bg-image");
sliderbgsetting.each(function(indx){
if ($(this).attr("data-background")){
$(this).css("background-image", "url(" + $(this).data("background") + ")");
}
});
/*------------------------------------------
= hide preloader
-------------------------------------------*/
function preloader() {
if($('.preloader').length) {
$('.preloader').delay(100).fadeout(500, function() {
//active wow
wow.init();
});
}
}
/*------------------------------------------
= wow animation setting
-------------------------------------------*/
var wow = new wow({
boxclass: 'wow', // default
animateclass: 'animated', // default
offset: 0, // default
mobile: true, // default
live: true // default
});
/*------------------------------------------
= active popup image
-------------------------------------------*/
if ($(".fancybox").length) {
$(".fancybox").fancybox({
openeffect : "elastic",
closeeffect : "elastic",
wrapcss : "project-fancybox-title-style"
});
}
/*------------------------------------------
= popup video
-------------------------------------------*/
if ($(".video-btn").length) {
$(".video-btn").on("click", function(){
$.fancybox({
href: this.href,
type: $(this).data("type"),
'title' : this.title,
helpers : {
title : { type : 'inside' },
media : {}
},
beforeshow : function(){
$(".fancybox-wrap").addclass("gallery-fancybox");
}
});
return false
});
}
/*------------------------------------------
= active gallery popup image
-------------------------------------------*/
if ($(".popup-gallery").length) {
$('.popup-gallery').magnificpopup({
delegate: 'a',
type: 'image',
gallery: {
enabled: true
},
zoom: {
enabled: true,
duration: 300,
easing: 'ease-in-out',
opener: function(openerelement) {
return openerelement.is('img') ? openerelement : openerelement.find('img');
}
}
});
}
/*------------------------------------------
= function form sorting gallery
-------------------------------------------*/
function sortinggallery() {
if ($(".sortable-gallery .gallery-filters").length) {
var $container = $('.gallery-container');
$container.isotope({
filter:'*',
animationoptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
$(".gallery-filters li a").on("click", function() {
$('.gallery-filters li .current').removeclass('current');
$(this).addclass('current');
var selector = $(this).attr('data-filter');
$container.isotope({
filter:selector,
animationoptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
return false;
});
}
}
sortinggallery();
/*------------------------------------------
= masonry gallery setting
-------------------------------------------*/
function masonrygridsetting() {
if ($('.masonry-gallery').length) {
var $grid = $('.masonry-gallery').masonry({
itemselector: '.grid-item',
columnwidth: '.grid-item',
percentposition: true
});
$grid.imagesloaded().progress( function() {
$grid.masonry('layout');
});
}
}
// masonrygridsetting();
/*------------------------------------------
= sticky header
-------------------------------------------*/
// function for clone an element for sticky menu
function clonenavforsticymenu($ele, $newelmclass) {
$ele.addclass('original').clone().insertafter($ele).addclass($newelmclass).removeclass('original');
}
// clone home style 1 navigation for sticky menu
if ($('.site-header .navigation').length) {
clonenavforsticymenu($('.site-header .navigation'), "sticky-header");
}
var lastscrolltop = '';
function stickymenu($targetmenu, $toggleclass) {
var st = $(window).scrolltop();
var mainmenutop = $('.site-header .navigation');
if ($(window).scrolltop() > 1000) {
if (st > lastscrolltop) {
// hide sticky menu on scroll down
$targetmenu.removeclass($toggleclass);
} else {
// active sticky menu on scroll up
$targetmenu.addclass($toggleclass);
}
} else {
$targetmenu.removeclass($toggleclass);
}
lastscrolltop = st;
}
/*------------------------------------------
= function form sorting gallery
-------------------------------------------*/
function sortinggallery() {
if ($(".sortable-grids .grids-filters").length) {
var $container = $('.grids-container');
$container.isotope({
filter:'*',
animationoptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
$(".grids-filters li a").on("click", function() {
$('.grids-filters li .current').removeclass('current');
$(this).addclass('current');
var selector = $(this).attr('data-filter');
$container.isotope({
filter:selector,
animationoptions: {
duration: 750,
easing: 'linear',
queue: false,
}
});
return false;
});
}
}
sortinggallery();
/*------------------------------------------
= masonry gallery setting
-------------------------------------------*/
function masonrygridsetting() {
if ($('.masonry-gallery').length) {
var $grid = $('.masonry-gallery').masonry({
itemselector: '.grid-item',
columnwidth: '.grid-item',
percentposition: true
});
$grid.imagesloaded().progress( function() {
$grid.masonry('layout');
});
}
}
// masonrygridsetting();
/*------------------------------------------
= header search area
-------------------------------------------*/
if ($(".header-search-area").length) {
var serachformbox = $(".header-search-area .header-search-form");
var openseachbtn = $(".header-search-area .open-btn");
$(document.body).append(serachformbox);
serachformbox.hide();
openseachbtn.on("click", function(e) {
serachformbox.fadein();
return false;
});
serachformbox.on("click", function() {
serachformbox.fadeout();
return false;
}).find(".form").on("click", function(e) {
e.stoppropagation();
})
}
/*------------------------------------------
= progress bar
-------------------------------------------*/
function progressbar() {
if ($(".progress-bar").length) {
var $progress_bar = $('.progress-bar');
$progress_bar.appear();
$(document.body).on('appear', '.progress-bar', function() {
var current_item = $(this);
if (!current_item.hasclass('appeared')) {
var percent = current_item.data('percent');
current_item.css('width', percent + '%').addclass('appeared').parent().append('' + percent + '%' + '');
}
});
};
}
progressbar();
/*------------------------------------------
= funfact
-------------------------------------------*/
if ($(".odometer").length) {
$('.odometer').appear();
$(document.body).on('appear', '.odometer', function(e) {
var odo = $(".odometer");
odo.each(function() {
var countnumber = $(this).attr("data-count");
$(this).html(countnumber);
});
});
}
/*------------------------------------------
= service slider
-------------------------------------------*/
if ($(".about-slider").length) {
$(".about-slider").owlcarousel({
smartspeed: 300,
margin: 20,
loop:true,
autoplayhoverpause:true,
dots: true,
responsive: {
0 : {
items: 1
},
650 : {
items: 2
},
320 : {
items: 2
}
}
});
}
/*------------------------------------------
= team slider
-------------------------------------------*/
if ($(".team-slider").length) {
$(".team-slider").owlcarousel({
loop:true,
// margin: 30,
dots: false,
nav: true,
navtext: ['',''],
smartspeed: 500,
responsive:{
0 : {
items: 1,
},
550 : {
items: 2,
center: false,
margin: 10
},
892:{
items:3
},
1200:{
items:4
},
1400:{
items:5
}
}
});
}
/*------------------------------------------
= portfolio slider
-------------------------------------------*/
if ($(".portfolio-slider").length) {
$(".portfolio-slider").owlcarousel({
autoplay: false,
smartspeed: 300,
margin: 0,
loop:true,
autoplayhoverpause:true,
dots: false,
responsive: {
0 : {
items: 1
},
500 : {
items: 2
},
768 : {
items: 3
},
1200 : {
items: 4
},
1400 : {
items: 5
}
}
});
}
/*------------------------------------------
= partners slider
-------------------------------------------*/
if ($(".partners-slider").length) {
$(".partners-slider").owlcarousel({
autoplay:true,
smartspeed: 300,
margin: 30,
loop:true,
autoplayhoverpause:true,
dots: false,
responsive: {
0 : {
items: 2
},
550 : {
items: 3
},
992 : {
items: 4
},
1200 : {
items: 5
}
}
});
}
/*------------------------------------------
= testimonial slider
-------------------------------------------*/
if ($(".testimonial-slider").length) {
$(".testimonial-slider").owlcarousel({
items: 1,
loop:true,
margin:30,
smartspeed: 500,
responsive: {
0 : {
items: 1
},
550 : {
items: 1
},
992 : {
items: 2
},
1200 : {
items: 2
}
}
});
}
/*------------------------------------------
= portfolio slider s2
-------------------------------------------*/
if ($(".portfolio-slider-s2").length) {
$(".portfolio-slider-s2").owlcarousel({
autoplay: false,
smartspeed: 300,
margin: 0,
loop:true,
autoplayhoverpause:true,
dots: false,
responsive: {
0 : {
items: 1
},
500 : {
items: 2
},
768 : {
items: 3
}
}
});
}
/*------------------------------------------
= home 1 projects slider
-------------------------------------------*/
if ($(".featured-projects-slider").length) {
$(".featured-projects-slider").owlcarousel({
margin: 5,
dots: false,
mousedrag: false,
nav: true,
navtext: ['',''],
navspeed: 1000,
smartspeed: 1000,
responsive: {
0 : {
items: 1
},
530 : {
items: 2
},
992 : {
items: 3
},
1200 : {
items: 4
},
1400 : {
items: 5
}
}
});
}
/*------------------------------------------
= post slider
-------------------------------------------*/
if($(".post-slider".length)) {
$(".post-slider").owlcarousel({
mousedrag: false,
smartspeed: 500,
margin: 30,
loop:true,
nav: true,
navtext: ['',''],
dots: false,
items: 1
});
}
/*------------------------------------------
= rsvp form submission
-------------------------------------------*/
if ($("#contact-form-main").length) {
$("#contact-form-main").validate({
rules: {
name: {
required: true,
minlength: 2
},
email: "required",
phone: "required",
},
messages: {
name: "please enter your name",
email: "please enter your email address",
phone: "please enter your phone number",
},
submithandler: function (form) {
$.ajax({
type: "post",
url: "mail-contact.php",
data: $(form).serialize(),
success: function () {
$( "#loader").hide();
$( "#success").slidedown( "slow" );
settimeout(function() {
$( "#success").slideup( "slow" );
}, 3000);
form.reset();
},
error: function() {
$( "#loader").hide();
$( "#error").slidedown( "slow" );
settimeout(function() {
$( "#error").slideup( "slow" );
}, 3000);
}
});
return false; // required to block normal submit since you used ajax
}
});
}
/*------------------------------------------
= back to top btn setting
-------------------------------------------*/
$(".site-footer").append("");
$(".back-to-top").on("click", function() {
$("html,body").animate({
scrolltop: 0
}, 700);
return false;
})
/*==========================================================================
when document loading
==========================================================================*/
$(window).on('load', function() {
preloader();
togglemobilenavigation();
smallnavfunctionality();
});
/*==========================================================================
when window scroll
==========================================================================*/
$(window).on("scroll", function() {
if ($(".site-header").length) {
stickymenu( $('.site-header .navigation'), "sticky-on" );
}
});
/*==========================================================================
when window resize
==========================================================================*/
$(window).on("resize", function() {
toggleclassforsmallnav();
cleartimeout($.data(this, 'resizetimer'));
$.data(this, 'resizetimer', settimeout(function() {
smallnavfunctionality();
}, 200));
});
})(window.jquery);