Road safety cones are essential for ensuring safety in various environments, from construction sites to roadworks. Made from durable materials, these cones are highly visible and designed to withstand harsh weather conditions, making them perfect for both day and night use. Each road safety cone features a weighted base to prevent tipping, ensuring they stay in place even in windy conditions. Whether you’re directing traffic or marking hazardous areas, road safety cones provide a reliable solution to keep both workers and pedestrians 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'));
});
});