PageSourceSearch

https://broken-diamond.com/wp-content/cache/speedycache/broken-diamond.com/assets/c3c9c3026554b6dd-main.js

js broken-diamond.com collected 2026-10-02 14:08:42 UTC 16,442 bytes, 587 lines download raw bytes

1(function ($){
2"use strict";
3$(window).on("load", function (){
4preloader();
5wowAnimation();
6});
7function preloader(){
8$('.preloader').delay(0).fadeOut();
9};
10if($('.tgmenu__wrap li.menu-item-has-children ul').length){
11$('.tgmenu__wrap .navigation li.menu-item-has-children').append('<div class="dropdown-btn"><span class="plus-line"></span></div>');
12}
13if($('.tgmobile__menu').length){
14var mobileMenuContent=$('.tgmenu__wrap .tgmenu__main-menu').html();
15$('.tgmobile__menu .tgmobile__menu-box .tgmobile__menu-outer').append(mobileMenuContent);
16$('.tgmobile__menu li.menu-item-has-children .dropdown-btn').on('click', function (){
17$(this).toggleClass('open');
18$(this).prev('ul').slideToggle(300);
19});
20$('.mobile-nav-toggler').on('click', function (){
21$('body').addClass('mobile-menu-visible');
22});
23$('.tgmobile__menu-backdrop, .tgmobile__menu .close-btn').on('click', function (){
24$('body').removeClass('mobile-menu-visible');
25});
26};
27$(window).on("elementor/frontend/init", function (){
28elementorFrontend.hooks.addAction("frontend/element_ready/tg-header.default", mobileActive
29);
30});
31function mobileActive(){
32$.fn.mobilemenu=function (options){
33var opt=$.extend({
34menuToggleBtn: ".menu-toggle",
35bodyToggleClass: "body-visible",
36subMenuClass: "submenu-class",
37subMenuParent: "submenu-item-has-children",
38subMenuParentToggle: "active-class",
39meanExpandClass: "mean-expand-class",
40appendElement: '<span class="mean-expand-class"></span>',
41subMenuToggleClass: "menu-open",
42toggleSpeed: 300,
43},
44options
45);
46return this.each(function (){
47var menu=$(this);
48function menuToggle(){
49menu.toggleClass(opt.bodyToggleClass);
50var subMenu="." + opt.subMenuClass;
51$(subMenu).each(function (){
52if($(this).hasClass(opt.subMenuToggleClass)){
53$(this).removeClass(opt.subMenuToggleClass);
54$(this).css("display", "none");
55$(this).parent().removeClass(opt.subMenuParentToggle);
56}});
57}
58menu.find("li").each(function (){
59var submenu=$(this).find("ul");
60submenu.addClass(opt.subMenuClass);
61submenu.css("display", "none");
62submenu.parent().addClass(opt.subMenuParent);
63submenu.prev("a").append(opt.appendElement);
64submenu.next("a").append(opt.appendElement);
65});
66function toggleDropDown($element){
67var $parent=$($element).parent();
68var $siblings=$parent.siblings();
69$siblings.removeClass(opt.subMenuParentToggle);
70$siblings.find("ul").slideUp(opt.toggleSpeed).removeClass(opt.subMenuToggleClass);
71$parent.toggleClass(opt.subMenuParentToggle);
72$($element).next("ul").slideToggle(opt.toggleSpeed).toggleClass(opt.subMenuToggleClass);
73}
74var expandToggler="." + opt.meanExpandClass;
75$(expandToggler).each(function (){
76$(this).on("click", function (e){
77e.preventDefault();
78toggleDropDown($(this).parent());
79});
80});
81$(opt.menuToggleBtn).each(function (){
82$(this).on("click", function (){
83menuToggle();
84});
85});
86menu.on("click", function (e){
87e.stopPropagation();
88menuToggle();
89});
90menu.find("div").on("click", function (e){
91e.stopPropagation();
92});
93});
94};
95$(".mobile-menu-wrapper").mobilemenu();
96};
97$(window).on("elementor/frontend/init", function (){
98elementorFrontend.hooks.addAction("frontend/element_ready/tg-header.default", deskmenuActive
99);
100});
101function deskmenuActive(){
102$.fn.deskmenu=function (options){
103var opt=$.extend({
104menuToggleBtn: ".menu-toggle2",
105subMenuClass: "submenu-class2",
106subMenuParent: "submenu-item-has-children2",
107subMenuParentToggle: "active-class2",
108meanExpandClass: "mean-expand-class2",
109appendElement: '<span class="mean-expand-class2"></span>',
110subMenuToggleClass: "menu-open2",
111toggleSpeed: 400,
112},
113options
114);
115return this.each(function (){
116var menu=$(this);
117function menuToggle(){
118var subMenu="." + opt.subMenuClass;
119$(subMenu).each(function (){
120if($(this).hasClass(opt.subMenuToggleClass)){
121$(this).removeClass(opt.subMenuToggleClass);
122$(this).css("display", "none");
123$(this).parent().removeClass(opt.subMenuParentToggle);
124}});
125}
126menu.find("li").each(function (){
127var submenu=$(this).find("ul");
128submenu.addClass(opt.subMenuClass);
129submenu.css("display", "none");
130submenu.parent().addClass(opt.subMenuParent);
131submenu.prev("a").append(opt.appendElement);
132submenu.next("a").append(opt.appendElement);
133});
134function toggleDropDown($element){
135var $parent=$($element).parent();
136var $siblings=$parent.siblings();
137$siblings.removeClass(opt.subMenuParentToggle);
138$siblings.find("ul").slideUp(opt.toggleSpeed).removeClass(opt.subMenuToggleClass);
139$parent.toggleClass(opt.subMenuParentToggle);
140$($element).next("ul").slideToggle(opt.toggleSpeed).toggleClass(opt.subMenuToggleClass);
141}
142var expandToggler="." + opt.meanExpandClass;
143$(expandToggler).each(function (){
144$(this).on("click", function (e){
145e.preventDefault();
146toggleDropDown($(this).parent());
147});
148});
149$(opt.menuToggleBtn).each(function (){
150$(this).on("click", function (){
151menuToggle();
152});
153});
154menu.on("click", function (e){
155e.stopPropagation();
156menuToggle();
157});
158menu.find("div").on("click", function (e){
159e.stopPropagation();
160});
161});
162};
163$(".desk-menu-wrapper").deskmenu();
164};
165$(window).scroll(function (){
166var topPos=$(this).scrollTop();
167if(topPos > 500){
168$('.sticky-wrapper').addClass('header-sticky');
169$('#sticky-header-height').addClass('sticky-height-active');
170}else{
171$('.sticky-wrapper').removeClass('header-sticky');
172$('#sticky-header-height').removeClass('sticky-height-active');
173}})
174if($('.scroll-top').length){
175var scrollTopbtn=document.querySelector('.scroll-top');
176var progressPath=document.querySelector('.scroll-top path');
177var pathLength=progressPath.getTotalLength();
178progressPath.style.transition=progressPath.style.WebkitTransition='none';
179progressPath.style.strokeDasharray=pathLength + ' ' + pathLength;
180progressPath.style.strokeDashoffset=pathLength;
181progressPath.getBoundingClientRect();
182progressPath.style.transition=progressPath.style.WebkitTransition='stroke-dashoffset 10ms linear';
183var updateProgress=function (){
184var scroll=$(window).scrollTop();
185var height=$(document).height() - $(window).height();
186var progress=pathLength - (scroll * pathLength / height);
187progressPath.style.strokeDashoffset=progress;
188}
189updateProgress();
190$(window).scroll(updateProgress);
191var offset=50;
192var duration=750;
193jQuery(window).on('scroll', function(){
194if(jQuery(this).scrollTop() > offset){
195jQuery(scrollTopbtn).addClass('show');
196}else{
197jQuery(scrollTopbtn).removeClass('show');
198}});
199jQuery(scrollTopbtn).on('click', function(event){
200event.preventDefault();
201jQuery('html, body').animate({scrollTop: 0}, 1);
202return false;
203})
204}
205$("[data-background]").each(function (){
206$(this).css("background-image", "url(" + $(this).attr("data-background") + ")")
207});
208$("[data-bg-color]").each(function (){
209$(this).css("background-color", $(this).attr("data-bg-color"));
210});
211$(".global-carousel").each(function (){
212var carouselSlide=$(this);
213function d(data){
214return carouselSlide.data(data);
215}
216var prevButton =
217'<button type="button" class="slick-prev"><i class="' +
218d("prev-arrow") +
219'"></i></button>',
220nextButton =
221'<button type="button" class="slick-next"><i class="' +
222d("next-arrow") +
223'"></i></button>';
224$("[data-slick-next]").each(function (){
225$(this).on("click", function (e){
226e.preventDefault();
227$($(this).data("slick-next")).slick("slickNext");
228});
229});
230$("[data-slick-prev]").each(function (){
231$(this).on("click", function (e){
232e.preventDefault();
233$($(this).data("slick-prev")).slick("slickPrev");
234});
235});
236if(d("arrows")==true){
237if(!carouselSlide.closest(".arrow-wrap").length){
238carouselSlide.closest(".container").parent().addClass("arrow-wrap");
239}}
240carouselSlide.slick({
241dots: d("dots") ? true:false,
242fade: d("fade") ? true:false,
243arrows: d("arrows") ? true:false,
244speed: d("speed") ? d("speed"):1000,
245sliderNavfor: d("slidernavfor") ? d("slidernavfor"):false,
246autoplay: d("autoplay")==false ? false:true,
247infinite: d("infinite")==false ? false:true,
248slidesToShow: d("slide-show") ? d("slide-show"):1,
249adaptiveHeight: d("adaptive-height") ? true:false,
250centerMode: d("center-mode") ? true:false,
251autoplaySpeed: d("autoplay-speed") ? d("autoplay-speed"):8000,
252centerPadding: d("center-padding") ? d("center-padding"):"0",
253focusOnSelect: d("focuson-select")==false ? false:true,
254pauseOnFocus: d("pauseon-focus") ? true:false,
255pauseOnHover: d("pauseon-hover") ? true:false,
256variableWidth: d("variable-width") ? true:false,
257vertical: d("vertical") ? true:false,
258verticalSwiping: d("vertical") ? true:false,
259prevArrow: d("prev-arrow")
260? prevButton
261: '<button type="button" class="slick-prev"><i class="fas fa-arrow-left"></i></button>',
262nextArrow: d("next-arrow")
263? nextButton
264: '<button type="button" class="slick-next"><i class="fas fa-arrow-right"></i></button>',
265rtl: $("html").attr("dir")=="rtl" ? true:false,
266responsive: [
267{
268breakpoint: 1600,
269settings: {
270arrows: d("xl-arrows") ? true:false,
271dots: d("xl-dots") ? true:false,
272slidesToShow: d("xl-slide-show")
273? d("xl-slide-show")
274: d("slide-show"),
275centerMode: d("xl-center-mode") ? true:false,
276centerPadding: d("xl-center-padding") ? d("xl-center-padding"):"0",
277},
278},
279{
280breakpoint: 1400,
281settings: {
282arrows: d("ml-arrows") ? true:false,
283dots: d("ml-dots") ? true:false,
284slidesToShow: d("ml-slide-show")
285? d("ml-slide-show")
286: d("slide-show"),
287centerMode: d("ml-center-mode") ? true:false,
288centerPadding: d("ml-center-padding") ? d("ml-center-padding"):"0",
289},
290},
291{
292breakpoint: 1200,
293settings: {
294arrows: d("lg-arrows") ? true:false,
295dots: d("lg-dots") ? true:false,
296slidesToShow: d("lg-slide-show")
297? d("lg-slide-show")
298: d("slide-show"),
299centerMode: d("lg-center-mode")
300? d("lg-center-mode")
301: false,
302centerPadding: d("lg-center-padding") ? d("lg-center-padding"):"0",
303},
304},
305{
306breakpoint: 992,
307settings: {
308arrows: d("md-arrows") ? true:false,
309dots: d("md-dots") ? true:false,
310slidesToShow: d("md-slide-show")
311? d("md-slide-show")
312: 1,
313centerMode: d("md-center-mode")
314? d("md-center-mode")
315: false,
316centerPadding: 0,
317},
318},
319{
320breakpoint: 768,
321settings: {
322arrows: d("sm-arrows") ? true:false,
323dots: d("sm-dots") ? true:false,
324slidesToShow: d("sm-slide-show")
325? d("sm-slide-show")
326: 1,
327centerMode: d("sm-center-mode")
328? d("sm-center-mode")
329: false,
330centerPadding: 0,
331},
332},
333{
334breakpoint: 576,
335settings: {
336arrows: d("xs-arrows") ? true:false,
337dots: d("xs-dots") ? true:false,
338slidesToShow: d("xs-slide-show")
339? d("xs-slide-show")
340: 1,
341centerMode: d("xs-center-mode")
342? d("xs-center-mode")
343: false,
344centerPadding: 0,
345},
346},
347],
348});
349});
350$('[data-ani-duration]').each(function (){
351var durationTime=$(this).data('ani-duration');
352$(this).css('animation-duration', durationTime);
353});
354$('[data-ani-delay]').each(function (){
355var delayTime=$(this).data('ani-delay');
356$(this).css('animation-delay', delayTime);
357});
358$('[data-ani]').each(function (){
359var animaionName=$(this).data('ani');
360$(this).addClass(animaionName);
361$('.slick-current [data-ani]').addClass('slider-animated');
362});
363$('.global-carousel').on('afterChange', function (event, slick, currentSlide, nextSlide){
364$(slick.$slides).find('[data-ani]').removeClass('slider-animated');
365$(slick.$slides[currentSlide]).find('[data-ani]').addClass('slider-animated');
366})
367$(window).on("elementor/frontend/init", function (){
368elementorFrontend.hooks.addAction("frontend/element_ready/tg-header.default", searchActive
369);
370});
371function searchActive(){
372function popupSarchBox($searchBox, $searchOpen, $searchCls, $toggleCls){
373$($searchOpen).on("click", function (e){
374e.preventDefault();
375$($searchBox).addClass($toggleCls);
376});
377$($searchBox).on("click", function (e){
378e.stopPropagation();
379$($searchBox).removeClass($toggleCls);
380});
381$($searchBox)
382.find("form")
383.on("click", function (e){
384e.stopPropagation();
385$($searchBox).addClass($toggleCls);
386});
387$($searchCls).on("click", function (e){
388e.preventDefault();
389e.stopPropagation();
390$($searchBox).removeClass($toggleCls);
391});
392}
393popupSarchBox(
394".popup-search-box",
395".searchBoxToggler",
396".searchClose",
397"show"
398);
399};
400$(window).on("elementor/frontend/init", function (){
401elementorFrontend.hooks.addAction("frontend/element_ready/tg-header.default", burgerMenuActive
402);
403});
404function burgerMenuActive(){
405$('.desk-menu-toggle, .menu-toggle2').on('click', function (e){
406$(this).toggleClass('active');
407e.preventDefault();
408if($('body').hasClass('burger-menu-visible')){
409setTimeout(function (){
410$('body').removeClass('burger-menu-visible');
411}, 900);
412}else{
413$('body').addClass('burger-menu-visible');
414}});
415$('.desk-menu-toggle, .menu-toggle2').on('click', function (e){
416var $this=$(this);
417e.preventDefault();
418if($('body').hasClass('menu-open')){
419$this.removeClass('active');
420$('.desk-menu ul.navigation > li').each(function (i){
421var that=$(this);
422setTimeout(function (){
423that.removeClass('is-show');
424}, i * 100);
425});
426$('body').removeClass('menu-open');
427}else{
428$this.addClass('active');
429$('body').addClass('menu-open');
430setTimeout(function (){
431$('.desk-menu ul.navigation > li').each(function (i){
432var that=$(this);
433setTimeout(function (){
434that.addClass('is-show');
435}, i * 100);
436});
437}, 500);
438}});
439}
440$(window).on("elementor/frontend/init", function (){
441elementorFrontend.hooks.addAction("frontend/element_ready/tg-header.default", offcanvasActive
442);
443});
444function offcanvasActive(){
445function popupSideMenu($sideMenu, $sideMunuOpen, $sideMenuCls, $toggleCls){
446$($sideMunuOpen).on('click', function (e){
447e.preventDefault();
448$($sideMenu).addClass($toggleCls);
449});
450$($sideMenu).on('click', function (e){
451e.stopPropagation();
452$($sideMenu).removeClass($toggleCls)
453});
454var sideMenuChild=$sideMenu + ' > div';
455$(sideMenuChild).on('click', function (e){
456e.stopPropagation();
457$($sideMenu).addClass($toggleCls)
458});
459$($sideMenuCls).on('click', function (e){
460e.preventDefault();
461e.stopPropagation();
462$($sideMenu).removeClass($toggleCls);
463});
464};
465popupSideMenu('.sidemenu-wrapper', '.sideMenuToggler', '.sideMenuCls', 'show');
466};
467$(".popup-image").magnificPopup({
468type: "image",
469mainClass: 'mfp-zoom-in',
470removalDelay: 260,
471gallery: {
472enabled: true,
473},
474});
475$(".popup-video").magnificPopup({
476type: "iframe",
477mainClass: 'mfp-zoom-in',
478removalDelay: 260,
479});
480$(window).on("elementor/frontend/init", function (){
481elementorFrontend.hooks.addAction("frontend/element_ready/tg-portfolio.default", isotopeActive
482);
483});
484function isotopeActive(){
485$(".masonary-active").imagesLoaded(function (){
486var $filter=".masonary-active",
487$filterItem=".filter-item";
488if($($filter).length > 0){
489var $grid=$($filter).isotope({
490itemSelector: $filterItem,
491filter: "*",
492masonry: {
493columnWidth: 1,
494},
495});
496}});
497}
498$.fn.shapeMockup=function (){
499var $shape=$(this);
500$shape.each(function (){
501var $currentShape=$(this),
502shapeTop=$currentShape.data("top"),
503shapeRight=$currentShape.data("right"),
504shapeBottom=$currentShape.data("bottom"),
505shapeLeft=$currentShape.data("left");
506$currentShape
507.css({
508top: shapeTop,
509right: shapeRight,
510bottom: shapeBottom,
511left: shapeLeft,
512})
513.removeAttr("data-top")
514.removeAttr("data-right")
515.removeAttr("data-bottom")
516.removeAttr("data-left")
517.parent()
518.addClass("shape-mockup-wrap");
519});
520};
521if($(".shape-mockup")){
522$(".shape-mockup").shapeMockup();
523}
524$(window).on("elementor/frontend/init", function (){
525elementorFrontend.hooks.addAction("frontend/element_ready/tg-progressbar.default", progressBarActive
526);
527});
528function progressBarActive(){
529$('.progress-bar').waypoint(function(){
530$('.progress-bar').css({
531animation: "animate-positive 1.8s",
532opacity: "1"
533});
534}, { offset: '90%' });
535}
536$(".counter-number").counterUp({
537delay: 10,
538time: 1000,
539});
540$(window).on("elementor/frontend/init", function (){
541elementorFrontend.hooks.addAction("frontend/element_ready/tg-marquee.default", marqueeActive
542);
543});
544function marqueeActive(){
545if($(".marquee_mode").length){
546$('.marquee_mode').marquee({
547speed: 50,
548gap: 0,
549delayBeforeStart: 0,
550direction: 'left',
551duplicated: true,
552pauseOnHover: true,
553startVisible:true,
554});
555}}
556window.gsap.registerPlugin(window.ScrollTrigger,
557window.ScrollSmoother,
558window.TweenMax
559);
560var magnets=document.querySelectorAll('.gsap-magnetic')
561var strength=50
562magnets.forEach((magnet)=> {
563magnet.addEventListener('mousemove', moveMagnet);
564magnet.addEventListener('mouseout', function(event){
565TweenMax.to(event.currentTarget, 1, {x: 0, y: 0, ease: Power4.easeOut})
566});
567});
568function moveMagnet(event){
569var magnetButton=event.currentTarget
570var bounding=magnetButton.getBoundingClientRect()
571TweenMax.to(magnetButton, 1, {
572x: (((event.clientX - bounding.left)/magnetButton.offsetWidth) - 0.5) * strength,
573y: (((event.clientY - bounding.top)/magnetButton.offsetHeight) - 0.5) * strength,
574ease: Power4.easeOut
575})
576}
577$('.jarallax').jarallax();
578function wowAnimation(){
579var wow=new WOW({
580boxClass: 'wow',
581animateClass: 'animated',
582offset: 0,
583mobile: false,
584live: true
585});
586wow.init();
587}})(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.