document.addEventListener("DOMContentLoaded", function(){
const trigger = document.querySelector(".mega-menu-trigger"); const megaMenu = document.getElementById("pp-services-mega-menu");
if(!trigger || !megaMenu) return;
const triggerLink = trigger.querySelector("a");
if(triggerLink && !triggerLink.querySelector(".pp-menu-arrow")){
triggerLink.insertAdjacentHTML( "beforeend", '' );
}
function positionMegaMenu(){
const rect = trigger.getBoundingClientRect();
megaMenu.style.top = rect.bottom + "px";
}
function openMegaMenu(){
positionMegaMenu();
megaMenu.classList.add("pp-mega-open");
trigger.classList.add("pp-active");
}
function closeMegaMenu(){
megaMenu.classList.remove("pp-mega-open");
trigger.classList.remove("pp-active");
}
triggerLink.addEventListener("click", function(e){
e.preventDefault();
if(megaMenu.classList.contains("pp-mega-open")){
closeMegaMenu();
}else{
openMegaMenu();
}
});
trigger.addEventListener("mouseenter", function(){
if(window.innerWidth > 767){
openMegaMenu();
}
});
megaMenu.addEventListener("mouseenter", function(){
if(window.innerWidth > 767){
openMegaMenu();
}
});
trigger.addEventListener("mouseleave", function(){
if(window.innerWidth > 767){
setTimeout(function(){
if(!megaMenu.matches(":hover")){
closeMegaMenu();
}
},100);
}
});
megaMenu.addEventListener("mouseleave", function(){
if(window.innerWidth > 767){
closeMegaMenu();
}
});
document.addEventListener("click", function(e){
if( !trigger.contains(e.target) && !megaMenu.contains(e.target) ){
closeMegaMenu();
}
});
window.addEventListener("resize", function(){
if(megaMenu.classList.contains("pp-mega-open")){
positionMegaMenu();
}
});
window.addEventListener("scroll", function(){
if(megaMenu.classList.contains("pp-mega-open")){
positionMegaMenu();
}
});
document.addEventListener("keydown", function(e){
if(e.key === "Escape"){
closeMegaMenu();
}
});
});
Stay informed with expert insights, industry trend
![]()
![]()
![]()
![]()
![]()
![]()