Find Advertising in your Location with Outdo
Right Place.
Right Time.
Right Message.
Pick from over 30,000 sites on the UK’s busiest roads, airports, and high streets.
Stop competing for attention, own it. Our sites are exclusively yours.
Stay in control with transparent pricing, award-winning service and proven results.
(function () {
const buttons = document.querySelectorAll('.info-button');
let currentlyOpen = null; // store the currently open parent
buttons.forEach(button => {
button.addEventListener('click', (event) => {
event.stopPropagation();
const parent = button.parentElement.parentElement;
const sibling = parent.parentElement.querySelector('.info_content-wrapper');
const infoContent = sibling.querySelector('.info-content');
if (!infoContent) return;
// If some other content is open, close it first
if (currentlyOpen && currentlyOpen !== sibling) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
}
// Toggle current one
const isOpening = infoContent.classList.contains('zero-opacity');
infoContent.classList.toggle('zero-opacity');
sibling.style.color = isOpening ? 'white' : 'black';
currentlyOpen = isOpening ? sibling : null;
// Attach or remove outside click listener
if (isOpening) {
const handleOutsideClick = (e) => {
if (currentlyOpen && !currentlyOpen.contains(e.target)) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
document.removeEventListener('click', handleOutsideClick);
}
};
document.addEventListener('click', handleOutsideClick);
}
});
});
const teamItems = document.querySelectorAll('.team_item');
teamItems.forEach(item => {
const covers = item.querySelectorAll('.image-cover');
if (covers.length !== 2) return; // safety check
const [firstCover, secondCover] = covers;
item.addEventListener('mouseenter', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
item.addEventListener('mouseleave', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
});
})();
An outstanding leadership team.
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
(function () {
const buttons = document.querySelectorAll('.info-button');
let currentlyOpen = null; // store the currently open parent
buttons.forEach(button => {
button.addEventListener('click', (event) => {
event.stopPropagation();
const parent = button.parentElement.parentElement;
const sibling = parent.parentElement.querySelector('.info_content-wrapper');
const infoContent = sibling.querySelector('.info-content');
if (!infoContent) return;
// If some other content is open, close it first
if (currentlyOpen && currentlyOpen !== sibling) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
}
// Toggle current one
const isOpening = infoContent.classList.contains('zero-opacity');
infoContent.classList.toggle('zero-opacity');
sibling.style.color = isOpening ? 'white' : 'black';
currentlyOpen = isOpening ? sibling : null;
// Attach or remove outside click listener
if (isOpening) {
const handleOutsideClick = (e) => {
if (currentlyOpen && !currentlyOpen.contains(e.target)) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
document.removeEventListener('click', handleOutsideClick);
}
};
document.addEventListener('click', handleOutsideClick);
}
});
});
const teamItems = document.querySelectorAll('.team_item');
teamItems.forEach(item => {
const covers = item.querySelectorAll('.image-cover');
if (covers.length !== 2) return; // safety check
const [firstCover, secondCover] = covers;
item.addEventListener('mouseenter', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
item.addEventListener('mouseleave', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
});
})();
An outstanding leadership team.
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
This is the default text value
(function () {
const buttons = document.querySelectorAll('.info-button');
let currentlyOpen = null; // store the currently open parent
buttons.forEach(button => {
button.addEventListener('click', (event) => {
event.stopPropagation();
const parent = button.parentElement.parentElement;
const sibling = parent.parentElement.querySelector('.info_content-wrapper');
const infoContent = sibling.querySelector('.info-content');
if (!infoContent) return;
// If some other content is open, close it first
if (currentlyOpen && currentlyOpen !== sibling) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
}
// Toggle current one
const isOpening = infoContent.classList.contains('zero-opacity');
infoContent.classList.toggle('zero-opacity');
sibling.style.color = isOpening ? 'white' : 'black';
currentlyOpen = isOpening ? sibling : null;
// Attach or remove outside click listener
if (isOpening) {
const handleOutsideClick = (e) => {
if (currentlyOpen && !currentlyOpen.contains(e.target)) {
const openContent = currentlyOpen.querySelector('.info-content');
openContent.classList.add('zero-opacity');
currentlyOpen.style.color = 'black';
currentlyOpen = null;
document.removeEventListener('click', handleOutsideClick);
}
};
document.addEventListener('click', handleOutsideClick);
}
});
});
const teamItems = document.querySelectorAll('.team_item');
teamItems.forEach(item => {
const covers = item.querySelectorAll('.image-cover');
if (covers.length !== 2) return; // safety check
const [firstCover, secondCover] = covers;
item.addEventListener('mouseenter', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
item.addEventListener('mouseleave', () => {
firstCover.classList.toggle('hide');
secondCover.classList.toggle('hide');
});
});
})();