Urban Tex Enterprises offers premium-quality Road Safety Caution Signs designed to ensure maximum visibility and safety on roads, construction sites, and public areas. These signs are made from durable, weather-resistant materials, making them suitable for outdoor use in various environmental conditions. Featuring bold, reflective lettering and universally recognized symbols, these caution signs effectively alert drivers and pedestrians to potential hazards, construction zones, and other road safety concerns. Easy to install and available in multiple sizes, Urban Tex Enterprises’ Road Safety Caution Signs are essential for maintaining safe and organized traffic flow in any environment.
document.addEventListener('DOMContentLoaded', function () {
const menuSelector =
'.header-navigation nav.navbar-nav, #main-header .navbar-nav';
const margin = 15;
function adjustSubmenu(li) {
if (window.innerWidth < 992) return;
const submenu = Array.from(li.children).find(
el => el.tagName === 'UL'
);
if (!submenu) return;
// Ignore first dropdown; adjust nested levels only
const parentUl = li.parentElement;
if (!parentUl || parentUl.matches(menuSelector)) return;
submenu.classList.remove('urbatex-flip-left');
// Measure even when the submenu is not currently visible
const previous = {
display: submenu.style.display,
visibility: submenu.style.visibility
};
submenu.style.display = 'grid';
submenu.style.visibility = 'hidden';
const parentRect = li.getBoundingClientRect();
const width = submenu.getBoundingClientRect().width;
if (parentRect.right + width > window.innerWidth - margin) {
submenu.classList.add('urbatex-flip-left');
}
submenu.style.display = previous.display;
submenu.style.visibility = previous.visibility;
}
document.querySelectorAll(menuSelector).forEach(menu => {
menu.addEventListener('pointerover', function (event) {
if (window.innerWidth < 992) return;
const li = event.target.closest('li');
if (li && menu.contains(li)) {
adjustSubmenu(li);
}
});
menu.addEventListener('focusin', function (event) {
const li = event.target.closest('li');
if (li && menu.contains(li)) {
adjustSubmenu(li);
}
});
});
window.addEventListener('resize', function () {
document.querySelectorAll('.urbatex-flip-left')
.forEach(el => el.classList.remove('urbatex-flip-left'));
});
});