100 Years Celebration of Laurel & Hardy

100 Years Celebration of Laurel & Hardy

Neil Brand invites you to celebrate the centenary of Stan Laurel and Oliver Hardy, the unlikely Anglo/American comedy duo would become global icons in over 130 countries around the world. In this brand new show from Neil Brand, the foremost exponent of silent film and improvised piano accompaniment, Neil shares his expertise and unique insight into Laurel & Hardy and the birth of the cinema industry. Thanks to new restorations of their silent films, and the rediscovery of some of Laurel and Hardy’s lesser-known comedies, Neil will uncover gems of hilarity from the team whose comedy never ages, and bring them to jaw-dropping life with the demanding live piano improvisations for which Neil is so famous. Neil’s engaging, easy-going style, along with his Q&A at the end of the show answering all the questions from the audience, makes for a highly entertaining evening.

Additional Information

Disabled access
Tuesday 12 May 2026
7.30pm
26 – £30
The Gaiety Theatre, Carrick Street, Ayr KA7 1NU

Map

You might also like...

Ayr Film Society Logo
Every Thursday from September
Doors open 6.45pm, screenings at 7.15pm
80 Full Price (Concessions and other season passes available)

Ayr Film Society

Ayr Film Society
A promotional poster for “Sketch in the Air.” On the left, an aerial performer hangs upside down from red aerial silks against a dark background. On the right, a musician plays an electric bass guitar. Text reads: “SKETCH In the Air – Aerial Life Drawing with Live Music (no experience necessary).” Two logos appear, one in the bottom left and one in the top right corner.
Wednesday 19 November 2025
6pm - 8pm
15 - £25

SKETCH In the Air

SKETCH In the Air
A promotional image advertising WinterStrom taking place 27 November - 29 November 2025.
27 - 29 November 2025
12pm - 11.30pm
From £60 per day

WinterStorm

WinterStorm
An image of a band playing on a stage with text that says, 'Runrig Experience' Sunday, 30 November 2025'.
Sunday, 30 November 2025
7.00pm
29.50

The Runrig Experience | After the 'Storm

The Runrig Experience | After the ‘Storm
A festive promotional poster with a green and gold Christmas-themed background featuring pine branches, ornaments, and stars. The poster displays circular portraits of five people: Marc Jennings, Susie McCabe, Des Clarke, Jeremy Levif, Dean Park, and Ali Wright. Text indicates that Marc Jennings, Susie McCabe, and Des Clarke are comedians, Dean Park is a Scottish comedy legend, Jeremy Levif provides live music as a finalist from The Voice, and Ali Wright hosts from NOW Ayrshire Radio.
Friday 5 December 2025
8pm
18 – £26

The Scottish Comedians – Christmas Night Oot

The Scottish Comedians – Christmas Night Oot
Promotional banner for “Christmas Party Nights” at The Clocktower in Auchincruive. The design features festive decorations including gold and blue baubles with star patterns on a dark background. Large text reads “Christmas Party Nights” with smaller text above stating “The Clocktower – Auchincruive.” A gold banner below says “Dates Throughout December 2025.” Price shown as “£40” inside a gold ornament. Contact details include phone number “01292 876101” and website “ClocktowerEvents.co.uk.” Bottom left displays the NOW Ayrshire Radio logo, and bottom right shows a photo of an event marquee with pink lighting and Christmas trees, labeled “Event Marquee.
12 December 2025
6.30pm
40

Christmas Party Nights

Christmas Party Nights

Join our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox…

Sign up for our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox.

Copyright © 2025 Destination South Ayrshire. Provided by South Ayrshire Council.

Sign up for our newsletter

Get the latest Destination South Ayrshire news and events delivered straight to your inbox…

document.addEventListener('DOMContentLoaded', () => { // Robust selectors for 2025 Elementor (covers Pro, Hello, Astra) const toggle = document.querySelector('.elementor-menu-toggle, .elementor-nav-menu--toggle button, [aria-expanded][role="button"]'); const menu = document.querySelector('.elementor-nav-menu--dropdown, .elementor-nav-menu__container, nav[role="navigation"]'); if (!toggle || !menu) { console.error('ZoomFix: Elements not found. Inspect hamburger/menu HTML.'); return; } console.log('ZoomFix: Found toggle and menu. Testing at 400% zoom...'); let focusables = []; let firstItem, lastItem; let isOpen = false; let tabCountAtEnd = 0; // Detects repeated Tabs to auto-close const MAX_TABS_BEFORE_CLOSE = 2; // Closes after 2 Tabs on last item const updateFocusables = () => { focusables = Array.from(menu.querySelectorAll('a[href], button:not([disabled]), [tabindex]:not([tabindex="-1"])')); firstItem = focusables[0]; lastItem = focusables[focusables.length - 1]; console.log('ZoomFix: Updated focusables:', focusables.length); }; // Monitor for menu open/close (handles Elementor's mutations at zoom) const observer = new MutationObserver((mutations) => { const expanded = toggle.getAttribute('aria-expanded') === 'true' || toggle.classList.contains('elementor-active'); if (expanded !== isOpen) { isOpen = expanded; console.log('ZoomFix: Menu state:', isOpen ? 'OPEN' : 'CLOSED'); if (isOpen) { updateFocusables(); setTimeout(() => firstItem?.focus(), 100); // Delay for zoom reflow startFocusPolling(); // Start zoom-safe polling } else { stopFocusPolling(); toggle.focus(); } } }); observer.observe(toggle, { attributes: true, subtree: true }); // Zoom-proof focus trap: Global Tab listener const handleTab = (e) => { if (!isOpen || !focusables.length) return; updateFocusables(); // Re-scan for zoom/DOM changes if (document.activeElement === lastItem && e.key === 'Tab' && !e.shiftKey) { e.preventDefault(); tabCountAtEnd++; console.log('ZoomFix: Tab at end (#', tabCountAtEnd, ')'); if (tabCountAtEnd >= MAX_TABS_BEFORE_CLOSE) { console.log('ZoomFix: Auto-closing after repeated Tabs'); closeMenu(); tabCountAtEnd = 0; } else { firstItem.focus(); // Trap: Loop to start } } else if (document.activeElement === firstItem && e.key === 'Tab' && e.shiftKey) { e.preventDefault(); lastItem.focus(); // Trap: Loop to end } }; // Polling for zoom event loss (runs only when open) let pollInterval; const startFocusPolling = () => { pollInterval = setInterval(() => { if (isOpen && document.activeElement && !menu.contains(document.activeElement)) { console.log('ZoomFix: Focus escaped during zoom—trapping back'); firstItem?.focus(); } }, 50); // 50ms check survives zoom reflow }; const stopFocusPolling = () => clearInterval(pollInterval); const closeMenu = () => { console.log('ZoomFix: Forcing close'); toggle.click(); // Elementor's native close tabCountAtEnd = 0; }; // Attach listeners document.addEventListener('keydown', handleTab); document.addEventListener('keyup', (e) => { if (e.key === 'Escape' && isOpen) closeMenu(); }); // Fallback: Click outside document.addEventListener('click', (e) => { if (isOpen && !menu.contains(e.target) && !toggle.contains(e.target)) closeMenu(); }); // Initial scan updateFocusables(); });