function gtagInit() { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GWMHR5J8EH'); } const gtagScript = document.createElement("script"); gtagScript.async = true; gtagScript.src = "https://www.googletagmanager.com/gtag/js?id=G-GWMHR5J8EH"; gtagScript.onload = gtagInit; document.head.appendChild(gtagScript); const doc = document.getElementById('header_container')?.shadowRoot || document; const links = doc.querySelectorAll('link'); const copyLinks = [ 'fonts.googleapis.com', 'fonts.gstatic.com', 'use.typekit.net', 'kit.fontawesome.com' ]; links.forEach(link => { if(copyLinks.some(l => link.href.includes(l))) { document.head.appendChild(link); } }); //Chat ref pennant function closemodal() { var x = document.getElementById("modalref"); if (x.style.display === "none") { x.style.display = "block"; } else { x.style.display = "none"; } } //"OPEN NOW" WIDGET VIA COMMUNICO ENGINEERS // Function to get the current day function getCurrentDay() { const days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; const today = new Date().getDay(); return days[today]; } // Function to get the current time in 12-hour clock with AM/PM function getCurrentTime() { const now = new Date(); const options = { hour: 'numeric', minute: 'numeric', hour12: true }; return now.toLocaleString('en-US', options); } // Function to display open hours function displayOpenHours() { const openHoursWidget = doc.getElementById('open-hours-widget'); const [currentDay] = [getCurrentDay()]; const currentTime = getCurrentTime(); // Define open hours based on the day const openHours = { 'Sunday': '13:00-17:00', 'Monday': '8:30-21:00', 'Tuesday': '8:30-21:00', 'Wednesday': '8:30-21:00', 'Thursday': '8:30-21:00', 'Friday': '8:30-16:30', 'Saturday': '9:00-16:30', }; // Determine if the business is open or closed const isOpen = isOpenNow(openHours[currentDay]); // Display the result with the visual indicator if (isOpen) { const html = doc.querySelector('.open-hours-widget-open').innerHTML; openHoursWidget.innerHTML = html.replace('{currentDay}', currentDay).replace('{openUntil}', formatTime(openHours[currentDay])); } else { const html = doc.querySelector('.open-hours-widget-closed').innerHTML; openHoursWidget.innerHTML = html; } } // Function to check if the current time is within the open hours function isOpenNow(openHours) { if (openHours === 'Closed') { return false; } const now = new Date(); const [open, close] = openHours.split('-').map(time => time.split(':').map(Number)); const currentHour = now.getHours(); const currentMinute = now.getMinutes(); // Check if the current time is within the open hours return ( (currentHour > open[0] || (currentHour === open[0] && currentMinute >= open[1])) && (close[0] > currentHour || (currentHour === close[0] && close[1] >= currentMinute)) ); } // Function to format time in 12-hour clock format with AM/PM function formatTime(time) { const [hours, minutes] = time.split('-')[1].split(':').map(Number); const ampm = hours >= 12 ? 'PM' : 'AM'; const formattedHours = hours % 12 || 12; return `${formattedHours}:${10 > minutes ? '0' : ''}${minutes} ${ampm}`; } function togglePopup(e) { console.log("togglePopup"); var popup = doc.getElementById('ohPop'); if (popup) { popup.classList.toggle('show'); } } // Call the function to display open hours displayOpenHours(); Skip to main content
close
Font size options
Increase or decrease the font size for this website by clicking on the 'A's.
Contrast options
Choose a color combination to give the most comfortable contrast.

Events Policies

Skip Policies - Events widget

Adult Events Attendance Policies

Events are categorized as Registration Required, Registration Requested, No Registration, or Virtual. Each of these have their own policies below.

Registration Required

Any events that have limited capacity will require registration and a valid CMCL library card, including but not limited to cooking demonstrations, art courses, and arts & crafts workshops. This also includes virtual events with take-home supplies. The following rules apply to these events:

  • Patrons must sign in at each class to confirm their attendance.
  • Patrons who fail to appear for three (3) programs/classes/events that require registration will not be eligible for first time registration for a period of three (3) months. These patrons will be moved to the waiting list.
    • If an opening is available, the patron will be notified and will be permitted to attend. Past absences expire from a patron’s record six (6) months after the date of the original program.
  • Any programs/classes with two (2) or more consecutive dates require patrons to attend the very first class in the series. If they are absent for the first class, they will be replaced with the next participant on the wait list.
  • We will hold a registered seat for 15 minutes after the scheduled start of the program. If a registered patron is more than 15 minutes late, their seat will become forfeit and available to any walk-in or waiting patron.

If a patron has registered but cannot attend

  • It is the patron’s responsibility to cancel their registration at least twenty-four (24) hours prior to the start of the program/class using the link found in their confirmation email OR by alerting the Adult Events Department via telephone at 609-463-6350 x700.
  • If an unexpected emergency occurs, please call three (3) hours prior to the start time of the program/class/event to avoid an absent mark. A cancellation with less than three (3) hours’ notice will result in an absence.
    • Two (2) emergency cancellations will equal 1 absence.

Registration Requested

Events that do not have a limited capacity or supply limit do not have a registration or library card requirement. However, we kindly ask that patrons register if they are certain they can attend so that we can gauge interest and prepare seating. It is acceptable for patrons to register or cancel with short notice, and we will not keep a record of patrons who do not appear.

No Registration

Some events have no registration, including ongoing groups, weekly exercise classes, and outdoor events. Library cards are not required. Attendees must sign the sign-in sheet/waiver upon entering, as well as provide a phone number.

Virtual

We invite anyone to join our virtual events, even from far outside our community. No library card required. Virtual events require registration with a valid email – meeting links are sent to registrants prior to the meeting. In order to ensure all registrants receive their link in time, registration for virtual events will close 1 day prior to the start of the event. Meeting links are not posted publicly, but registrants are welcome to share the link with others who are interested in attending.

However, if a virtual event involves limited supplies such as a take-home kit, it will fall under the Registration Required category. Supplies will be sent to patrons’ preferred branch 1 week prior to the event.

Disclaimer

All events are tentatively scheduled and may change. Please see the CMCLS Events Calendar , follow us on social media, and subscribe to our weekly newsletter for any and all updates.