Upcoming
An Evening with Leo Kottke
7:00PM
7:00PM
Presale begins March 13 at 10am. Public Sales begin March 14 at 10am. Grammy-nominated acoustic guitarist Leo Kottke is coming to the NorShor Theatre! Born in Athens, Georgia, Kottke grew up in 12 states, drawing from diverse musical influences. After abandoning violin and trombone, he turned to guitar at age 11. Following his Navy discharge in 1964, Kottke became a Minneapolis music scene staple, debuting with "Twelve String Blues" in 1968. His 1971 album "Mudlark" placed him in the singer/songwriter category, though he preferred instrumental music. Kottke's 1972 album "Greenhouse" and subsequent live releases showcased his evolving guitar mastery, and 1975's "Chewing Pine" earned him a Top 30 hit.
Jade Presents
May 28, 2025
May 28, 2025
See Event.jpg)
Women in Theatre, New Play Festival
Our beloved New Play Festival, formerly known as What She Said, is undergoing a transformation to better reflect its core mission of elevating the voices of women artists.
1197000
June 6, 2025
June 6, 2025
See Event
Waitress
Featuring original music and lyrics by Grammy Award winner Sara Bareilles ("Brave," "Love Song"), Waitress has been praised by audiences and critics alike.
1196985
July 11, 2025
July 27, 2025
See Event
Rock of Ages: Teen Edition
Duluth Playhouse’s 2025 Teen Intensive takes you back to the times of big bands with big egos, playing big guitar solos, and sporting even bigger hair!
1196885
August 15, 2025
August 17, 2025
See Event
Home, I'm Darling
Everything is perfect - the house is tidy, the table is set, and Judy’s dress is pressed for when she greets Johnny at the door, martini in hand. It is the 1950s, and life is ordered just right. Or is it?
1196999
May 23, 2025
June 1, 2025
See Event
Cats: Young Actors Edition
Jellicle Cats come out tonight! Come one, come all to Duluth Playhouse’s 2025 Junior Intensive.
1196884
August 8, 2025
August 10, 2025
See Event
`;
}
const formatDateForDisplay = (date) => {
if (!(date instanceof Date) || isNaN(date.getTime())) {
return `
`;
}
const { weekday, month, day, year } = formatDate(date);
return `
${weekday}
${month}
${day}
${year}
`;
};
const firstDate = event.dates[0]?.startDate;
const lastDate = event.dates[event.dates.length - 1]?.startDate;
if (event.dates.length === 1 || (firstDate && lastDate && firstDate.getTime() === lastDate.getTime())) {
return `
${formatDateForDisplay(firstDate)}
`;
} else {
return `
${formatDateForDisplay(firstDate)}
${formatDateForDisplay(lastDate)}
`;
}
}
function renderTicket(event) {
const dateDisplay = renderDateRange(event);
const performanceDates = event.dates ? event.dates.length : 1;
const performanceText = performanceDates > 1 ? `${performanceDates} Performances` : '1 Performance';
const time = event.dates && event.dates[0]?.time ? event.dates[0].time : event.time;
return `
`;
}
function renderCtaSlide() {
return `
`;
}
function extractEventDataFromHTML() {
return $(".event-item").map(function () {
const $item = $(this);
const startDateString = $item.find(".event-start-date").text().trim();
const endDateString = $item.find(".event-end-date").text().trim();
const startDate = new Date(startDateString);
const endDate = new Date(endDateString);
return {
name: $item.find(".event-name").text().trim(),
ticketVendorId: $item.find("#ticket-vendor-production-id").text().trim() || null,
url: $item.find(".event-url").attr("href"),
image: $item.find(".event-image").attr("src"),
description: $item.find(".event-description").text().trim(),
presenter: $item.find(".event-presenter").text().trim(),
genre: $item.find(".event-genre").text().trim(),
startDate: startDate,
endDate: endDate,
time: $item.find(".event-time").text().trim(),
ticketColor: $item.find(".event-ticket-color").css("color"),
};
}).get();
}
function populateTickets(events) {
ticketContainer.empty();
events.slice(0, maxEventSlides).forEach((event, index) => {
const slide = $('
');
const slideContainer = $('
');
slideContainer.append(renderTicket(event));
slide.append(slideContainer);
ticketContainer.append(slide);
slide.attr("aria-label", `${index + 1} of ${Math.min(events.length, maxEventSlides) + 1}`);
if (index > 0) {
slide.attr("aria-hidden", "true");
}
});
ticketContainer.append(renderCtaSlide());
ticketContainer
.find(".w-slide:last-child")
.attr("aria-label", `${maxEventSlides + 1} of ${maxEventSlides + 1}`);
ticketContainer.append(
'
'
);
if (window.Webflow && window.Webflow.require("ix2")) {
window.Webflow.require("ix2").init();
}
}
function initTickets() {
const htmlEvents = extractEventDataFromHTML();
mergeEventData(htmlEvents)
.then((events) => {
if (!Array.isArray(events) || events.length === 0) {
return;
}
populateTickets(events);
if (window.Webflow && window.Webflow.require("slider")) {
window.Webflow.require("slider").redraw();
}
})
.catch(() => {
// Error handling
});
}
if (window.Webflow && window.Webflow.require("ix2")) {
window.Webflow.require("ix2").init();
}
initTickets();
});