(function($) {
"use strict";
//Hide Loading Box (Preloader)
function handlePreloader() {
if($('.preloader').length){
$('.preloader').delay(200).fadeOut(500);
}
}
//Update Header Style and Scroll to Top
function headerStyle() {
if($('.main-header').length){
var windowpos = $(window).scrollTop();
var siteHeader = $('.main-header');
var scrollLink = $('.scroll-to-top');
var HeaderHight = $('.main-header').height();
if (windowpos >= HeaderHight) {
siteHeader.addClass('fixed-header');
scrollLink.fadeIn(300);
} else {
siteHeader.removeClass('fixed-header');
scrollLink.fadeOut(300);
}
}
}
headerStyle();
//Submenu Dropdown Toggle
if($('.main-header li.dropdown ul').length){
$('.main-header li.dropdown').append('
');
//Dropdown Button
$('.main-header li.dropdown .dropdown-btn').on('click', function() {
$(this).prev('ul').slideToggle(500);
});
//Dropdown Menu / Fullscreen Nav
$('.fullscreen-menu .navigation li.dropdown > a').on('click', function() {
$(this).next('ul').slideToggle(500);
});
//Disable dropdown parent link
$('.navigation li.dropdown > a').on('click', function(e) {
e.preventDefault();
});
//Disable dropdown parent link
$('.main-header .navigation li.dropdown > a,.hidden-bar .side-menu li.dropdown > a').on('click', function(e) {
e.preventDefault();
});
}
//Mobile Nav Hide Show
if($('.mobile-menu').length){
$('.mobile-menu .menu-box').mCustomScrollbar();
var mobileMenuContent = $('.main-header .nav-outer .main-menu').html();
$('.mobile-menu .menu-box .menu-outer').append(mobileMenuContent);
$('.sticky-header .main-menu').append(mobileMenuContent);
//Dropdown Button
$('.mobile-menu li.dropdown .dropdown-btn').on('click', function() {
$(this).toggleClass('open');
$(this).prev('ul').slideToggle(500);
});
//Menu Toggle Btn
$('.mobile-nav-toggler').on('click', function() {
$('body').addClass('mobile-menu-visible');
});
//Menu Toggle Btn
$('.mobile-menu .menu-backdrop,.mobile-menu .close-btn').on('click', function() {
$('body').removeClass('mobile-menu-visible');
});
}
var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$"),
go = true;
$('#top-primary-nav li a').each(function(){
// and test its normalized href against the url pathname regexp
if(go && urlRegExp.test(this.href.replace(/\/$/,''))){
go = false;
$('#top-primary-nav li').removeClass('active');
$(this).parent().addClass('active');
}
});
//Header Search
if($('.search-box-outer').length) {
$('.search-box-outer').on('click', function() {
$('body').addClass('search-active');
});
$(document).keydown(function(e){
if(e.keyCode == 27) {
$('earch-active').removeClass('search-active');
}
});
$('.close-search').on('click', function() {
$('body').removeClass('search-active');
});
}
//Hidden Sidebar
if ($('.hidden-bar,.fullscreen-menu').length) {
var hiddenBar = $('.hidden-bar');
var hiddenBarOpener = $('.nav-toggler');
var hiddenBarCloser = $('.hidden-bar-closer,.close-menu');
$('.hidden-bar-wrapper').mCustomScrollbar();
//Show Sidebar
hiddenBarOpener.on('click', function () {
$('body').addClass('visible-menu-bar');
hiddenBar.addClass('visible-sidebar');
});
//Hide Sidebar
hiddenBarCloser.on('click', function () {
$('body').removeClass('visible-menu-bar');
hiddenBar.removeClass('visible-sidebar');
});
}
//Custom Seclect Box
if($('.custom-select-box').length){
$('.custom-select-box').selectmenu().selectmenu('menuWidget').addClass('overflow');
}
//Parallax Scene for Icons
if($('.parallax-scene-1').length){
var scene = $('.parallax-scene-1').get(0);
var parallaxInstance = new Parallax(scene);
}
if($('.parallax-scene-2').length){
var scene = $('.parallax-scene-2').get(0);
var parallaxInstance = new Parallax(scene);
}
if($('.parallax-scene-3').length){
var scene = $('.parallax-scene-3').get(0);
var parallaxInstance = new Parallax(scene);
}
if($('.paroller').length){
$('.paroller').paroller({
factor: 0.2, // multiplier for scrolling speed and offset, +- values for direction control
factorLg: 0.4, // multiplier for scrolling speed and offset if window width is less than 1200px, +- values for direction control
type: 'foreground', // background, foreground
direction: 'horizontal' // vertical, horizontal
});
}
//Gallery Filters
if($('.filter-list').length){
$('.filter-list').mixItUp({});
}
//Fact Counter + Text Count
if($('.count-box').length){
$('.count-box').appear(function(){
var $t = $(this),
n = $t.find(".count-text").attr("data-stop"),
r = parseInt($t.find(".count-text").attr("data-speed"), 10);
if (!$t.hasClass("counted")) {
$t.addClass("counted");
$({
countNum: $t.find(".count-text").text()
}).animate({
countNum: n
}, {
duration: r,
easing: "linear",
step: function() {
$t.find(".count-text").text(Math.floor(this.countNum));
},
complete: function() {
$t.find(".count-text").text(this.countNum);
}
});
}
},{accY: 0});
}
//Main Slider Carousel
if ($('.main-slider-carousel').length) {
$('.main-slider-carousel').owlCarousel({
animateOut: 'fadeOut',
animateIn: 'fadeIn',
loop:true,
margin:0,
nav:true,
autoHeight: true,
smartSpeed: 500,
autoplay: 6000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
},
1200:{
items:1
}
}
});
}
// Single Item Carousel
if ($('.single-item-carousel').length) {
$('.single-item-carousel').owlCarousel({
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
}
}
});
}
// News Carousel
if ($('.news-carousel').length) {
$('.news-carousel').owlCarousel({
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
}
}
});
}
// News Carousel
if ($('.news-carousel').length) {
$('.news-carousel').owlCarousel({
animateOut: 'slideOutUp',
animateIn: 'slideInUp',
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
}
}
});
}
// News Carousel
if ($('.news-carousel-three').length) {
$('.news-carousel-three').owlCarousel({
animateOut: 'slideOutUp',
animateIn: 'fadeInUp',
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
}
}
});
}
// Two Item Carousel
if ($('.two-item-carousel').length) {
$('.two-item-carousel').owlCarousel({
loop:true,
margin:30,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:2
},
1024:{
items:2
}
}
});
}
// Three Item Carousel
if ($('.three-item-carousel').length) {
$('.three-item-carousel').owlCarousel({
loop:true,
margin:30,
nav:true,
center:true,
//autoHeight: true,
smartSpeed: 500,
autoplay: 5000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:1
},
800:{
items:3
},
1024:{
items:3
},
1200:{
items:3
}
}
});
}
// Testimonial Carousel
if ($('.testimonial_owlCarousel').length) {
$('.testimonial_owlCarousel').owlCarousel({
loop:false,
margin:0,
nav:true,
dots: false,
smartSpeed: 500,
autoplay: 5000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:1
},
800:{
items:1
},
1024:{
items:1
},
1200:{
items:1
}
}
});
}
// Services Carousel
if ($('.services-carousel').length) {
$('.services-carousel').owlCarousel({
loop:true,
margin:0,
nav:true,
//autoHeight: true,
smartSpeed: 500,
autoplay: 5000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:1
},
800:{
items:3
},
1024:{
items:3
},
1200:{
items:3
}
}
});
}
//Progress Bar
if($('.progress-line').length){
$('.progress-line').appear(function(){
var el = $(this);
var percent = el.data('width');
$(el).css('width',percent+'%');
},{accY: 0});
}
// Sponsors Item Carousel
if ($('.sponsors-carousel').length) {
$('.sponsors-carousel').owlCarousel({
loop:true,
margin:30,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:2
},
600:{
items:3
},
800:{
items:4
},
1024:{
items:5
}
}
});
}
// News Carousel
if ($('.news-carousel-two').length) {
$('.news-carousel-two').owlCarousel({
loop:true,
margin:0,
nav:true,
smartSpeed: 500,
autoplay: 4000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
480:{
items:1
},
600:{
items:1
},
800:{
items:2
},
1024:{
items:2
}
}
});
}
//Product Carousel
if ($('.project-carousel').length) {
$('.project-carousel').owlCarousel({
loop:true,
margin:30,
nav:true,
smartSpeed: 700,
autoplay: 5000,
navText: [ '', '' ],
responsive:{
0:{
items:1
},
600:{
items:2
},
800:{
items:2
},
1024:{
items:3
},
1200:{
items:4
},
1400:{
items:4
},
1600:{
items:4
}
}
});
}
//Product Tabs
if($('.project-tab').length){
$('.project-tab .product-tab-btns .p-tab-btn').on('click', function(e) {
e.preventDefault();
var target = $($(this).attr('data-tab'));
if ($(target).hasClass('actve-tab')){
return false;
}else{
$('.project-tab .product-tab-btns .p-tab-btn').removeClass('active-btn');
$(this).addClass('active-btn');
$('.project-tab .p-tabs-content .p-tab').removeClass('active-tab');
$(target).addClass('active-tab');
}
});
}
//Event Countdown Timer
if($('.time-countdown').length){
$('.time-countdown').each(function() {
var $this = $(this), finalDate = $(this).data('countdown');
$this.countdown(finalDate, function(event) {
var $this = $(this).html(event.strftime('' + '%DDays
' + '%HHours
' + '%MMinutes
' + '%SSeconds
'));
});
});
}
if($('.clock-wrapper').length){
(function(){
//generate clock animations
var now = new Date(),
hourDeg = now.getHours() / 12 * 360 + now.getMinutes() / 60 * 30,
minuteDeg = now.getMinutes() / 60 * 360 + now.getSeconds() / 60 * 6,
secondDeg = now.getSeconds() / 60 * 360,
stylesDeg = [
"@-webkit-keyframes rotate-hour{from{transform:rotate(" + hourDeg + "deg);}to{transform:rotate(" + (hourDeg + 360) + "deg);}}",
"@-webkit-keyframes rotate-minute{from{transform:rotate(" + minuteDeg + "deg);}to{transform:rotate(" + (minuteDeg + 360) + "deg);}}",
"@-webkit-keyframes rotate-second{from{transform:rotate(" + secondDeg + "deg);}to{transform:rotate(" + (secondDeg + 360) + "deg);}}",
"@-moz-keyframes rotate-hour{from{transform:rotate(" + hourDeg + "deg);}to{transform:rotate(" + (hourDeg + 360) + "deg);}}",
"@-moz-keyframes rotate-minute{from{transform:rotate(" + minuteDeg + "deg);}to{transform:rotate(" + (minuteDeg + 360) + "deg);}}",
"@-moz-keyframes rotate-second{from{transform:rotate(" + secondDeg + "deg);}to{transform:rotate(" + (secondDeg + 360) + "deg);}}"
].join("");
document.getElementById("clock-animations").innerHTML = stylesDeg;
})();
}
//Sortable Masonary with Filters
function enableMasonry() {
if($('.sortable-masonry').length){
var winDow = $(window);
// Needed variables
var $container=$('.sortable-masonry .items-container');
var $filter=$('.filter-btns');
$container.isotope({
filter:'*',
masonry: {
columnWidth : '.masonry-item.col-lg-4'
},
animationOptions:{
duration:0,
easing:'linear'
}
});
// Isotope Filter
$filter.find('li').on('click', function(){
var selector = $(this).attr('data-filter');
try {
$container.isotope({
filter : selector,
animationOptions: {
duration: 0,
easing : 'linear',
queue : false
}
});
} catch(err) {
}
return false;
});
winDow.on('resize', function(){
var selector = $filter.find('li.active').attr('data-filter');
$container.isotope({
filter : selector,
animationOptions: {
duration: 0,
easing : 'linear',
queue : false
}
});
});
var filterItemA = $('.filter-btns li');
filterItemA.on('click', function(){
var $this = $(this);
if ( !$this.hasClass('active')) {
filterItemA.removeClass('active');
$this.addClass('active');
}
});
}
}
enableMasonry();
//Client Testimonial Carousel
if ($('.client-testimonial-carousel').length && $('.client-thumbs-carousel').length) {
var $sync3 = $(".client-testimonial-carousel"),
$sync4 = $(".client-thumbs-carousel"),
flag = false,
duration = 500;
$sync3
.owlCarousel({
loop:true,
items: 1,
margin: 0,
nav: true,
navText: [ '', '' ],
dots: true,
autoplay: true,
autoplayTimeout: 5000
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = false;
$sync4.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
$sync4
.owlCarousel({
loop:true,
margin:20,
items: 1,
nav: false,
navText: [ '', '' ],
dots: false,
center: false,
autoplay: true,
autoplayTimeout: 5000,
responsive: {
0:{
items:1,
autoWidth: false
},
400:{
items:1,
autoWidth: false
},
600:{
items:1,
autoWidth: false
},
1000:{
items:1,
autoWidth: false
},
1200:{
items:1,
autoWidth: false
}
},
})
.on('click', '.owl-item', function () {
$sync3.trigger('to.owl.carousel', [$(this).index(), duration, true]);
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = true;
$sync3.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
}
// Product Carousel Slider
if ($('.shop-page .image-carousel').length && $('.shop-page .thumbs-carousel').length) {
var $sync1 = $(".shop-page .image-carousel"),
$sync2 = $(".shop-page .thumbs-carousel"),
flag = false,
duration = 500;
$sync1
.owlCarousel({
loop:true,
items: 1,
margin: 0,
nav: false,
navText: [ '', '' ],
dots: false,
autoplay: true,
autoplayTimeout: 5000
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = false;
$sync2.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
$sync2
.owlCarousel({
loop:true,
margin: 20,
items: 1,
nav: true,
navText: [ '', '' ],
dots: false,
center: false,
autoplay: true,
autoplayTimeout: 5000,
responsive: {
0:{
items:2,
autoWidth: false
},
400:{
items:3,
autoWidth: false
},
600:{
items:4,
autoWidth: false
},
900:{
items:5,
autoWidth: false
},
1000:{
items:4,
autoWidth: false
}
},
})
.on('click', '.owl-item', function () {
$sync1.trigger('to.owl.carousel', [$(this).index(), duration, true]);
})
.on('changed.owl.carousel', function (e) {
if (!flag) {
flag = true;
$sync1.trigger('to.owl.carousel', [e.item.index, duration, true]);
flag = false;
}
});
}
//Jquery Spinner / Quantity Spinner
if($('.quantity-spinner').length){
$("input.quantity-spinner").TouchSpin({
verticalbuttons: true
});
}
//Tabs Box
if($('.tabs-box').length){
$('.tabs-box .tab-buttons .tab-btn').on('click', function(e) {
e.preventDefault();
var target = $($(this).attr('data-tab'));
if ($(target).is(':visible')){
return false;
}else{
target.parents('.tabs-box').find('.tab-buttons').find('.tab-btn').removeClass('active-btn');
$(this).addClass('active-btn');
target.parents('.tabs-box').find('.tabs-content').find('.tab').fadeOut(0);
target.parents('.tabs-box').find('.tabs-content').find('.tab').removeClass('active-tab');
$(target).fadeIn(300);
$(target).addClass('active-tab');
}
});
}
//Accordion Box
if($('.accordion-box').length){
$(".accordion-box").on('click', '.acc-btn', function() {
var outerBox = $(this).parents('.accordion-box');
var target = $(this).parents('.accordion');
if($(this).hasClass('active')!==true){
$(outerBox).find('.accordion .acc-btn').removeClass('active');
}
if ($(this).next('.acc-content').is(':visible')){
return false;
}else{
$(this).addClass('active');
$(outerBox).children('.accordion').removeClass('active-block');
$(outerBox).find('.accordion').children('.acc-content').slideUp(300);
target.addClass('active-block');
$(this).next('.acc-content').slideDown(300);
}
});
}
//LightBox / Fancybox
if($('.lightbox-image').length) {
$('.lightbox-image').fancybox({
openEffect : 'fade',
closeEffect : 'fade',
helpers : {
media : {}
}
});
}
//Contact Form Validation
if($('#contact-form').length){
$('#contact-form').validate({
rules: {
username: {
required: true
},
email: {
required: true,
email: true
},
subject: {
required: true
},
message: {
required: true
}
}
});
}
// Scroll to a Specific Div
if($('.scroll-to-target').length){
$(".scroll-to-target").on('click', function() {
var target = $(this).attr('data-target');
// animate
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1500);
});
}
// Elements Animation
if($('.wow').length){
var wow = new WOW(
{
boxClass: 'wow', // animated element css class (default is wow)
animateClass: 'animated', // animation css class (default is animated)
offset: 0, // distance to the element when triggering the animation (default is 0)
mobile: true, // trigger animations on mobile devices (default is true)
live: true // act on asynchronously loaded content (default is true)
}
);
wow.init();
}
/* ==========================================================================
When document is Scrollig, do
========================================================================== */
$(window).on('scroll', function() {
headerStyle();
});
/* ==========================================================================
When document is loading, do
========================================================================== */
$(window).on('load', function() {
handlePreloader();
enableMasonry();
});
})(window.jQuery);