Urban Tex Enterprises offers high-visibility safety cones designed for a variety of applications, from roadwork to event management. Constructed from durable, lightweight materials, these cones are perfect for directing traffic, marking hazardous areas, or organizing crowds. With a bright orange color and reflective strips, they ensure maximum visibility in any environment, even in low-light conditions. Available in multiple heights, our safety cones are easy to stack and store, making them an ideal choice for both temporary and permanent safety solutions. Whether for construction sites, parking lots, or public events, Urban Tex safety cones are a reliable choice to keep everyone safe.
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'));
});
});