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;
}
}
};
//Hide Loading Box (Preloader)
function loader() {
$(window).on('load', function() {
// Animate loader off screen
$(".preloader").addClass('loaded');
$(".preloader").delay(600).fadeOut();
});
}
loader();
// Call headerStyle on scroll
$(window).on('scroll', function() {
headerStyle();
});
// Also call on page load to handle reload
$(document).ready(function() {
headerStyle();
});
//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();
// Header hide on scroll down, show on scroll up (optional)
if ($(window).width() > 991) {
if ($(window).width() > 768) {
$('.parallaxie').parallaxie({
speed: 0.55,
offset: 0,
});
}
}
//Submenu Dropdown Toggle
if($('.main-header li.dropdown ul').length){
$('.main-header .navigation li.dropdown').append('
');
}
//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');
});
//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");
});
}
//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});
// }
//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 }
);
}
//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)
);
}
//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",
});
}
//Tabs 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);
}
});
//project-carousel
if($('.project-slider').length > 0) {
const ProjectSlider = new Swiper(".project-slider", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".array-prev",
prevEl: ".array-next",
},
breakpoints: {
1199: {
slidesPerView: 3,
},
991: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
0: {
slidesPerView: 1,
},
},
});
}
if($('.project-slider-2').length > 0) {
const ProjectSlider2 = new Swiper(".project-slider-2", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
pagination: {
el: ".dot",
clickable: true,
},
breakpoints: {
1199: {
slidesPerView: 4,
},
991: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
},
575: {
slidesPerView: 2,
},
0: {
slidesPerView: 1,
},
},
});
}
//Team-carousel
if($('.team-slider').length > 0) {
const teamSlider = new Swiper(".team-slider", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
pagination: {
el: ".dot",
clickable: true,
},
breakpoints: {
1399: {
slidesPerView: 5,
},
1199: {
slidesPerView: 4,
},
991: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
},
575: {
slidesPerView: 2,
},
0: {
slidesPerView: 1,
},
},
});
}
$(".feature-block-one").on("mouseenter", function () {
$(".feature-block-one").removeClass("active");
$(this).addClass("active");
});
// Horizontal accordion js area start here ***
$(".hzAccordion__item").on("click", function () {
$(this).addClass("active").siblings().removeClass("active");
});
// Horizontal accordion js area end here ***
if($('.team-slider-2').length > 0) {
const teamSlider2 = new Swiper(".team-slider-2", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".array-prev",
prevEl: ".array-next",
},
breakpoints: {
1199: {
slidesPerView: 4,
},
991: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
},
696: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
0: {
slidesPerView: 1,
},
},
});
}
var marqueeSliderFive = new Swiper(".marqueeSwiper-five__slider", {
loop: true,
freemode: true,
slidesPerView: 1,
spaceBetween: 0,
centeredSlides: true,
allowTouchMove: false,
speed: 2000,
autoplay: {
delay: 1,
disableOnInteraction: true,
},
breakpoints: {
320: {
slidesPerView: 2,
},
360: {
slidesPerView: 3,
},
800: {
slidesPerView: 3,
},
1024: {
slidesPerView: 4,
},
1300: {
slidesPerView: 5,
},
},
});
// Swiper marqee area end here ***
// project panel
let tl = gsap.timeline();
const project_panel = gsap.matchMedia();
project_panel.add("(min-width: 767px)", () => {
let otherSections = document.querySelectorAll('.ks-project-panel')
otherSections.forEach((section, index) => {
gsap.set(otherSections, {
scale: 1,
});
tl.to(section, {
scale: 1,
scrollTrigger: {
trigger: section,
pin: section,
scrub: 1,
start: 'top 100px',
end: "bottom 82%",
endTrigger: '.ks-project-area',
pinSpacing: false,
markers: false,
},
})
})
});
//Testimonial-carousel
if($('.testimonial-slider').length > 0) {
const testimonialSlider = new Swiper(".testimonial-slider", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
pagination: {
el: ".dot2",
clickable: true,
},
breakpoints: {
1199: {
slidesPerView: 3,
},
991: {
slidesPerView: 2,
},
767: {
slidesPerView: 2,
},
696: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
0: {
slidesPerView: 1,
},
},
});
}
//Team Block Five
if ($('.team-block-five').length) {
var $team_block = $('.team-block-five .inner-box');
$($team_block).on('mouseenter', function (e) {
$(this).find('.content-box .social-links').stop().slideDown(300);
return false;
});
$($team_block).on('mouseleave', function (e) {
$(this).find('.content-box .social-links').stop().slideUp(300);
return false;
});
}
if($('.testimonial-slider-2').length > 0) {
const testimonialSlider2 = new Swiper(".testimonial-slider-2", {
spaceBetween: 30,
speed: 2000,
loop: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
pagination: {
el: ".dot2",
clickable: true,
},
breakpoints: {
1499: {
slidesPerView: 4,
},
1199: {
slidesPerView: 3,
},
991: {
slidesPerView: 2,
},
767: {
slidesPerView: 2,
},
696: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
0: {
slidesPerView: 1,
},
},
});
}
if($('.testimonial-slider-3').length > 0) {
const testimonialSlider3 = new Swiper(".testimonial-slider-3", {
spaceBetween: 30,
speed: 2000,
loop: true,
navigation: {
nextEl: ".array-prev",
prevEl: ".array-next",
},
});
}
// Services Swiper
if($('.services-swiper').length > 0) {
const servicesSwiper = new Swiper(".services-swiper", {
slidesPerView: 1,
spaceBetween: 30,
speed: 1000,
loop: true,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
pagination: {
el: ".services-swiper .swiper-pagination",
clickable: true,
},
breakpoints: {
640: {
slidesPerView: 1,
spaceBetween: 20,
},
768: {
slidesPerView: 2,
spaceBetween: 30,
},
1024: {
slidesPerView: 3,
spaceBetween: 30,
},
},
});
}
//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);
}
});
}
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");
}
});
}
// 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();
}
//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.07,
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 }
);
}
if($('.service-block-two .inner-box').length) {
const $boxes = $('.service-block-two .inner-box');
if ($boxes.length) {
// Activate the first box on load
// const $firstBox = $boxes.first();
// $firstBox.addClass('active');
// $firstBox.find('.content-box').addClass('active').slideDown();
// Click logic
$boxes.on('click', function () {
$boxes.removeClass('active');
$('.service-block-two .content-box').slideUp().removeClass('active');
$(this).addClass('active');
$(this).find('.content-box').slideDown().addClass('active');
});
}
}
$(document).ready(function () {
$("select").niceSelect();
});
// 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,
}
);
}
(function () {
function animateProgress(id, valueId, endValue, speed) {
const progress = document.getElementById(id);
const valueContainer = document.getElementById(valueId);
if (!progress || !valueContainer) return;
let currentValue = 0;
function updateProgress() {
currentValue++;
if (currentValue > endValue) {
currentValue = endValue;
}
valueContainer.textContent = `${currentValue}%`;
progress.style.background = `conic-gradient(
#C8F169 ${currentValue * 3.6}deg,
#D4D4D4 ${currentValue * 3.6}deg
)`;
if (currentValue < endValue) {
setTimeout(() => requestAnimationFrame(updateProgress), speed);
}
}
requestAnimationFrame(updateProgress);
}
// Initialize progress bars only if their elements exist
document.addEventListener("DOMContentLoaded", function () {
if (document.getElementById('progress1') && document.getElementById('value1')) {
animateProgress('progress1', 'value1', 95, 20);
}
if (document.getElementById('progress2') && document.getElementById('value2')) {
animateProgress('progress2', 'value2', 85, 20);
}
if (document.getElementById('progress3') && document.getElementById('value3')) {
animateProgress('progress3', 'value3', 85, 20);
}
if (document.getElementById('progress4') && document.getElementById('value4')) {
animateProgress('progress4', 'value4', 85, 20);
}
if (document.getElementById('progress5') && document.getElementById('value5')) {
animateProgress('progress5', 'value5', 85, 20);
}
if (document.getElementById('progress6') && document.getElementById('value6')) {
animateProgress('progress6', 'value6', 85, 20);
}
if (document.getElementById('progress7') && document.getElementById('value7')) {
animateProgress('progress7', 'value7', 85, 20);
}
if (document.getElementById('progress8') && document.getElementById('value8')) {
animateProgress('progress8', 'value8', 85, 20);
}
});
})();
})(window.jQuery);