var THEMEMASCOT = {}; (function($) { "use strict"; /* ---------------------------------------------------------------------- */ /* --------------------------- Start Demo Switcher --------------------- */ /* ---------------------------------------------------------------------- */ var showSwitcher = false; var $body = $('body'); var $style_switcher = $('#style-switcher'); if( !$style_switcher.length && showSwitcher ) { $.ajax({ url: "color-switcher/style-switcher.html", success: function (data) { $body.append(data); }, dataType: 'html' }); } /* ---------------------------------------------------------------------- */ /* ----------------------------- En Demo Switcher ---------------------- */ /* ---------------------------------------------------------------------- */ THEMEMASCOT.isRTL = { check: function() { if( $( "html" ).attr("dir") === "rtl" ) { return true; } else { return false; } } }; THEMEMASCOT.isLTR = { check: function() { if( $( "html" ).attr("dir") !== "rtl" ) { return true; } else { return false; } } }; /* ---------------------------------------------------------------------- */ /* ----------------------------- En Demo Switcher ---------------------- */ /* ---------------------------------------------------------------------- */ //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 = $('.header-style-one'); var scrollLink = $('.scroll-to-top'); var sticky_header = $('.main-header .sticky-header'); if (windowpos > 100) { sticky_header.addClass("fixed-header animated slideInDown"); scrollLink.fadeIn(300); }else { sticky_header.removeClass("fixed-header animated slideInDown"); scrollLink.fadeOut(300); } if (windowpos > 1) { siteHeader.addClass("fixed-header"); }else { siteHeader.removeClass("fixed-header"); } } } headerStyle(); //Submenu Dropdown Toggle if($('.main-header li.dropdown ul').length){ $('.main-header .navigation li.dropdown').append(''); //Megamenu Toggle } //Hidder bar if ($('.hidden-bar').length){ //Menu Toggle Btn $('.toggle-hidden-bar').on('click', function() { $('body').addClass('active-hidden-bar'); }); //Menu Toggle Btn $('.hidden-bar-back-drop, .hidden-bar .close-btn').on('click', function() { $('body').removeClass('active-hidden-bar'); }); } //Mobile Nav Hide Show if($('.mobile-menu').length){ var mobileMenuContent = $('.main-header .main-menu .navigation').html(); $('.mobile-menu .navigation').append(mobileMenuContent); $('.sticky-header .navigation').append(mobileMenuContent); $('.mobile-menu .close-btn').on('click', function() { $('body').removeClass('mobile-menu-visible'); }); //Dropdown Button $('.mobile-menu li.dropdown .dropdown-btn').on('click', function() { $(this).prev('ul').slideToggle(500); $(this).toggleClass('active'); $(this).prev('.mega-menu').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'); }); } //Header Search if($('.search-btn').length) { $('.search-btn').on('click', function() { $('.main-header').addClass('moblie-search-active'); }); $('.close-search, .search-back-drop').on('click', function() { $('.main-header').removeClass('moblie-search-active'); }); } // Banner Swiper if ($('.banner-swiper').length) { var swiper = new Swiper(".banner-swiper", { slidesPerView: 1, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Banner Swiper Two if ($('.banner-swiper-two').length) { var swiper = new Swiper(".banner-swiper-two", { slidesPerView: 1, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Banner Swiper Three if ($('.banner-swiper-three').length) { var swiper = new Swiper(".banner-swiper-three", { slidesPerView: 1, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Banner Swiper four if ($('.banner-swiper-four').length) { var swiper = new Swiper(".banner-swiper-four", { slidesPerView: 1, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Banner Swiper five if ($('.banner-swiper-five').length) { var swiper = new Swiper(".banner-swiper-five", { slidesPerView: 1, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Service Swiper if ($('.service-swiper').length) { var swiper = new Swiper(".service-swiper", { slidesPerView: 3, spaceBetween: 30, loop: true, autoplay: { delay: 3500, disableOnInteraction: false, }, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 1200: { slidesPerView: 3, }, 768: { slidesPerView: 2, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } // Service Swiper-two if ($('.service-swiper-two').length) { var swiper = new Swiper(".service-swiper-two", { slidesPerView: 4, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 1200: { slidesPerView: 4, }, 768: { slidesPerView: 2, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } // News Swiper if ($('.news-swiper').length) { var swiper = new Swiper(".news-swiper", { slidesPerView: 3, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 970: { slidesPerView: 3, }, 650: { slidesPerView: 2, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } // Testi Swiper Two if ($('.news-swiper-two').length) { var swiper = new Swiper(".news-swiper-two", { slidesPerView: 3, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 970: { slidesPerView: 3, }, 650: { slidesPerView: 2, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } // Testi Swiper Two if ($('.testi-swiper-two').length) { var swiper = new Swiper(".testi-swiper-two", { slidesPerView: 1, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } if ($('.testi-swiper-multi').length) { var swiper = new Swiper(".testi-swiper-multi", { slidesPerView: 3, spaceBetween: 30, loop: true, navigation: { nextEl: ".testi-multi-next", prevEl: ".testi-multi-prev", }, breakpoints: { 0: { slidesPerView: 1 }, 768: { slidesPerView: 2 }, 1024: { slidesPerView: 3 }, }, }); } // Testi Swiper Three if ($('.testi-swiper-three').length) { var swiper = new Swiper(".testi-swiper-three", { slidesPerView: 1, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } // Testi Swiper Four if ($('.testi-swiper-four').length) { var swiper = new Swiper(".testi-swiper-four", { slidesPerView: 2, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, }); } if ($('.project-swiper').length) { var swiper = new Swiper(".project-swiper", { grabCursor: true, loop: true, spaceBetween: 10, centeredSlides: true, effect: 'coverflow', coverflowEffect: { rotate: 20, // Less extreme tilt for cleaner look stretch: 0, // No stretch, consistent size depth:10, // Good depth for 3D feel modifier: 1.5, // Stronger perspective effect slideShadows: true }, pagination: { el: ".swiper-pagination", clickable: true }, breakpoints: { 1600: { slidesPerView: 5, }, 1200: { slidesPerView: 4, }, 768: { slidesPerView: 2, }, 580: { slidesPerView: 2, }, 0: { slidesPerView: 1, }, }, }); } if ($('.project-swiper2').length) { var swiper = new Swiper(".project-swiper2", { grabCursor: true, loop: true, spaceBetween: 10, centeredSlides: true, effect: 'coverflow', coverflowEffect: { rotate: 20, // Less extreme tilt for cleaner look stretch: 0, // No stretch, consistent size depth:10, // Good depth for 3D feel modifier: 1.5, // Stronger perspective effect slideShadows: true }, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 1600: { slidesPerView: 5, }, 1200: { slidesPerView: 4, }, 768: { slidesPerView: 2, }, 580: { slidesPerView: 2, }, 0: { slidesPerView: 1, }, }, }); } // Project Swiper Two if ($('.project-swiper-two').length) { var swiper = new Swiper(".project-swiper-two", { slidesPerView: 4, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 1200: { slidesPerView: 4, }, 970: { slidesPerView: 3, }, 600: { slidesPerView: 2, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } // Project Swiper Three if ($('.project-swiper-three').length) { var swiper = new Swiper(".project-swiper-three", { slidesPerView: 4, spaceBetween: 30, loop: true, navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev", }, breakpoints: { 1200: { slidesPerView: 4, }, 970: { slidesPerView: 3, }, 600: { slidesPerView: 1, }, 480: { slidesPerView: 1, }, 0: { slidesPerView: 1, }, }, }); } if ($('.testi-swiper').length) { const swiper = new Swiper('.testi-swiper', { slidesPerView: 1, spaceBetween: 30, loop: true, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, on: { slideChange: function () { const currentRealIndex = this.realIndex; $('.author-image').removeClass('active'); $('.author-image[data-index="' + currentRealIndex + '"]').addClass('active'); } } }); $('.author-image').on('click', function () { const index = $(this).data('index'); swiper.slideToLoop(index); // jumps to correct slide even if looping }); // Initial active state $('.author-image[data-index="0"]').addClass('active'); } //product bxslider if ($('.product-details .bxslider').length) { $('.product-details .bxslider').bxSlider({ nextSelector: '.product-details #slider-next', prevSelector: '.product-details #slider-prev', nextText: '', prevText: '', mode: 'fade', auto: 'true', speed: '700', pagerCustom: '.product-details .slider-pager .thumb-box' }); }; //MixItup Gallery if ($('.filter-list').length) { $('.filter-list').mixItUp({}); } //Jquery Knob animation // Pie Chart Animation if ($('.dial').length) { $('.dial').appear(function () { var elm = $(this); var color = elm.attr('data-fgColor'); var perc = elm.attr('value'); elm.knob({ 'value': 0, 'min': 0, 'max': 100, 'skin': 'tron', 'readOnly': true, 'thickness': 0.15, 'dynamicDraw': true, 'displayInput': false }); $({ value: 0 }).animate({ value: perc }, { duration: 2000, easing: 'swing', progress: function () { elm.val(Math.ceil(this.value)).trigger('change'); } }); //circular progress bar color $(this).append(function () { // elm.parent().parent().find('.circular-bar-content').css('color',color); //elm.parent().parent().find('.circular-bar-content .txt').text(perc); }); }, { accY: 20 }); } //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); } }); } //Accordion Box-two if ($('.accordion-box-two').length) { $(".accordion-box-two").on('click', '.acc-btn', function () { var outerBox = $(this).parents('.accordion-box-two'); 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); } }); } //Accordion Box-three if ($('.accordion-box-three').length) { $(".accordion-box-three").on('click', '.acc-btn', function () { var outerBox = $(this).parents('.accordion-box-three'); 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); } }); } //Accordion Box-four if ($('.accordion-box-four').length) { $(".accordion-box-four").on('click', '.acc-btn', function () { var outerBox = $(this).parents('.accordion-box-four'); 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); } }); } //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}); } //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 animated fadeIn'); $(target).fadeIn(300); $(target).addClass('active-tab animated fadeIn'); } }); } //product bxslider if ($('.product-details .bxslider').length) { $('.product-details .bxslider').bxSlider({ nextSelector: '.product-details #slider-next', prevSelector: '.product-details #slider-prev', nextText: '', prevText: '', mode: 'fade', auto: 'true', speed: '700', pagerCustom: '.product-details .slider-pager .thumb-box' }); }; //Quantity box $(".quantity-box .add").on("click", function () { if ($(this).prev().val() < 999) { $(this) .prev() .val(+$(this).prev().val() + 1); } }); $(".quantity-box .sub").on("click", function () { if ($(this).next().val() > 1) { if ($(this).next().val() > 1) $(this) .next() .val(+$(this).next().val() - 1); } }); //Price Range Slider if($('.price-range-slider').length){ $( ".price-range-slider" ).slider({ range: true, min: 10, max: 99, values: [ 10, 60 ], slide: function( event, ui ) { $( "input.property-amount" ).val( ui.values[ 0 ] + " - " + ui.values[ 1 ] ); } }); $( "input.property-amount" ).val( $( ".price-range-slider" ).slider( "values", 0 ) + " - $" + $( ".price-range-slider" ).slider( "values", 1 ) ); } // count Bar if ($(".count-bar").length) { $(".count-bar").appear( function () { var el = $(this); var percent = el.data("percent"); $(el).css("width", percent).addClass("counted"); }, { accY: -50 } ); } // Horizontal accordion js area start here *** // $(".hztab__item").on("click", function () { // $(this).addClass("active").siblings().removeClass("active"); // }); // Horizontal accordion js area start here *** // $(".hzAccordion__item").on("click", function () { // $(this).addClass("active").siblings().removeClass("active"); // }); // Horizontal accordion js area end here *** //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 animated fadeIn'); $(target).fadeIn(300); $(target).addClass('active-tab animated fadeIn'); } }); } // img hide // $(".option").click(function(){ $(".option").removeClass("active"); $(this).addClass("active"); }); //Progress Bar if ($('.progress-line').length) { $('.progress-line').appear(function () { var el = $(this); var percent = el.data('width'); $(el).css('width', percent + '%'); }, { accY: 0 }); } //Progress Bar circle document.querySelectorAll(".circle").forEach(circle => { const percent = circle.getAttribute("data-percent"); circle.style.background = `conic-gradient(#7a3cf1 ${percent * 3.6}deg, #e0e0e0 ${percent * 3.6}deg)`; }); //LightBox / Fancybox if($('.lightbox-image').length) { $('.lightbox-image').fancybox({ openEffect : 'fade', closeEffect : 'fade', helpers : { media : {} } }); } // 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 }, 0); }); } // 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: false, // trigger animations on mobile devices (default is true) live: true // act on asynchronously loaded content (default is true) } ); wow.init(); } //Image Reveal Animation if($('.reveal').length){ gsap.registerPlugin(ScrollTrigger); let revealContainers = document.querySelectorAll(".reveal"); revealContainers.forEach((container) => { let image = container.querySelector("img"); let tl = gsap.timeline({ scrollTrigger: { trigger: container, toggleActions: "play none none none" } }); tl.set(container, { autoAlpha: 1 }); tl.from(container, 1.5, { xPercent: -100, ease: Power2.out }); tl.from(image, 1.5, { xPercent: 100, scale: 1.3, delay: -1.5, ease: Power2.out }); }); } // Text Invert function initTextReveal() { const tagetedElementContainer = document.querySelectorAll(".text-reveal-anim"); if (tagetedElementContainer?.length) { tagetedElementContainer.forEach(e => { var t = new SplitType(e, { types: "chars", }); gsap.from(t.chars, { scrollTrigger: { trigger: e, start: "top 75%", end: "top 25%", scrub: !0, duration: 0.5 }, opacity: 0.1, stagger: 5, ease: "back.out", }); }); } } initTextReveal(); /* ---------------------------------------------------------------------- */ /* ----------- Activate Menu Item on Reaching Different Sections ---------- */ /* ---------------------------------------------------------------------- */ var $onepage_nav = $('.onepage-nav'); var $sections = $('section'); var $window = $(window); function TM_activateMenuItemOnReach() { if( $onepage_nav.length > 0 ) { var cur_pos = $window.scrollTop() + 2; var nav_height = $onepage_nav.outerHeight(); $sections.each(function() { var top = $(this).offset().top - nav_height - 80, bottom = top + $(this).outerHeight(); if (cur_pos >= top && cur_pos <= bottom) { $onepage_nav.find('a').parent().removeClass('current').removeClass('active'); $sections.removeClass('current').removeClass('active'); $onepage_nav.find('a[href="#' + $(this).attr('id') + '"]').parent().addClass('current').addClass('active'); } if (cur_pos <= nav_height && cur_pos >= 0) { $onepage_nav.find('a').parent().removeClass('current').removeClass('active'); $onepage_nav.find('a[href="#header"]').parent().addClass('current').addClass('active'); } }); } } /* ========================================================================== When document is Scrollig, do ========================================================================== */ $(window).on('scroll', function() { headerStyle(); TM_activateMenuItemOnReach(); }); /* ========================================================================== When document is loading, do ========================================================================== */ $(window).on('load', function() { handlePreloader(); }); })(window.jQuery);