[Back]
(function($) {
    "use strict";

    jQuery(document).ready(function(){
        jQuery(".select2-container").addClass("elementor-field-textual");

        $(document).on('click keydown', '.opener', function (e) {
            // Handle click, Enter, or tap
            if (e.type === 'click' || (e.type === 'keydown' && (e.key === 'Enter' || e.keyCode === 13))) {
                e.preventDefault();
                console.log("menu open");
                let $this = $(this);

                if ($this.next().hasClass('show')) {
                    // Close submenu
                    $this.parent().removeClass('active');
                    $this.next().removeClass('show');
                    $this.next().slideUp(350);
                } else {
                    // Close all open submenus first
                    $this.closest('ul').find('li ul').removeClass('show').slideUp(350);
                    // Open the current submenu
                    $this.parent().addClass('active');
                    $this.next().addClass('show');
                    $this.next().slideDown(350);
                }
            }
        });
        
        tmpcoder_menu_toggle_action();

    });
    
    jQuery(window).resize(function(){
        tmpcoder_menu_toggle_action();
    });
    
    
    function tmpcoder_menu_toggle_action(){
        jQuery('.site-navigation .wp-mobile-toggle-wrap').removeClass('wp-mobile-toggle-open');
        jQuery('.wp-default-primary-menu .page_item_has_children').each(function(){
            jQuery(this).find('> ul').attr('style','');
        });
        if ( jQuery(window).width() > 1024 ){
            jQuery('.site-navigation .wp-mobile-toggle-wrap').next().show();
            
            jQuery('.wp-default-primary-menu > ul').addClass('primary-menu');   
            setTimeout(focusMenuWithChildren, 100);
            
        }else{
            jQuery('.site-navigation .wp-mobile-toggle-wrap').next().hide();
            
            jQuery('.wp-default-primary-menu ul li').removeClass('focus');
            
        }
    }

    jQuery(document).on('change','.select2-hidden-accessible',function(){
        jQuery(".select2-container").addClass("elementor-field-textual");
    });

    jQuery(document).on('click keydown', '.site-navigation .wp-mobile-toggle-wrap', function (event) {
        // Check if it's a click or the Enter key (keyCode 13)
        if (event.type === 'click' || (event.type === 'keydown' && (event.key === 'Enter' || event.keyCode === 13))) {
            if (!jQuery(this).hasClass('wp-mobile-toggle-open')) {
                jQuery(this).addClass('wp-mobile-toggle-open');
                jQuery(this).next().slideDown('slow');
            } else {
                jQuery(this).removeClass('wp-mobile-toggle-open');
                jQuery(this).next().slideUp('slow');
            }
            // Prevent default behavior for the Enter key to avoid unintended scrolling
            event.preventDefault();
        }
    });
    
    // Close menu on Escape key press
    jQuery(document).on('keydown', function (event) {
        if (event.key === 'Escape' || event.keyCode === 27) {
            const openToggles = jQuery('.site-navigation .wp-mobile-toggle-wrap.wp-mobile-toggle-open');
            openToggles.removeClass('wp-mobile-toggle-open'); // Remove open class
            openToggles.next().slideUp('slow'); // Close the menu
        }
    });
    
    jQuery('header .page_item_has_children').each(function(){
        jQuery(this).find('> a').after('<span class="opener" tabindex="0" aria-expanded="false"></span>');
    });
    
    function focusMenuWithChildren(){
        // Get all the link elements within the primary menu.
        var links, i, len,
            menu = document.querySelector( '.wp-default-primary-menu' );

        if (!menu || window.innerWidth < 1024) {
            return; // Exit if no menu or screen width is less than 1024
        }
        
        links = menu.getElementsByTagName( 'a' );

        // Each time a menu link is focused or blurred, toggle focus.
        for ( i = 0, len = links.length; i < len; i++ ) {
            links[i].addEventListener( 'focus', toggleFocus, true );
            links[i].addEventListener( 'blur', toggleFocus, true );
        }

        //Sets or removes the .focus class on an element.
        function toggleFocus() {
            
            if (window.innerWidth < 1024) {
                return; // Exit if no menu or screen width is less than 1024
            }
            
            var self = this;
            // Move up through the ancestors of the current link until we hit .primary-menu.
            while ( -1 === self.className.indexOf( 'primary-menu' ) ) {
                // On li elements toggle the class .focus.
                if ( 'li' === self.tagName.toLowerCase() ) {
                    if ( -1 !== self.className.indexOf( 'focus' ) ) {
                        self.className = self.className.replace( ' focus', '' );
                    } else {
                        self.className += ' focus';
                    }
                }
                self = self.parentElement;
            }
        }
    }   

    // smooth scolling
    const navigation_selector = 'header nav.site-navigation a[href^="#"], footer nav.site-navigation a[href^="#"]';
    const links = document.querySelectorAll(navigation_selector);

    links.forEach(link => {
        link.addEventListener('click', function(event) {
            event.preventDefault();
            const targetId = this.getAttribute('href');
            const targetElement = document.querySelector(targetId);
            
            targetElement.scrollIntoView({
            behavior: 'smooth'
            });
        });
    });
    
})(jQuery);

/*---- Preloader Start -----*/
jQuery(window).on("load", function() {
  "use strict";
    // Preloader
    jQuery('.parent-preloader').delay(350).fadeOut('slow');
});
 /*---- Preloader End -----*/

document.addEventListener("DOMContentLoaded", function() {
  const hash = window.location.hash;
  if (hash) {
    const elementId = hash.substring(1);
    const element = document.getElementById(elementId);
    if (element) {
      element.scrollIntoView({ behavior: "smooth", block: "start" });
    const themePrimaryColor = getComputedStyle(document.documentElement).getPropertyValue('--theme-global-color-2').trim();
      element.style.transition = "background-color 0.3s ease";
      element.style.backgroundColor = themePrimaryColor || "#f0f8ff";
      setTimeout(() => {
        element.style.backgroundColor = "";
      }, 1000);
    }
  }
});