

{"id":1210,"date":"2023-08-23T17:45:07","date_gmt":"2023-08-23T17:45:07","guid":{"rendered":"https:\/\/corkandbeanoshawa.com\/oshawa\/?page_id=1210"},"modified":"2025-12-03T19:56:47","modified_gmt":"2025-12-03T19:56:47","slug":"live-music","status":"publish","type":"page","link":"https:\/\/corkandbean.ca\/oshawa\/live-music\/","title":{"rendered":"Live Music"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1210\" class=\"elementor elementor-1210\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-cd073f8 elementor-section-full_width elementor-section-height-min-height elementor-section-height-default elementor-section-items-middle\" data-id=\"cd073f8\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5332c9b\" data-id=\"5332c9b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-67336db elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"67336db\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-bf11b8b\" data-id=\"bf11b8b\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0bb4344 elementor-widget elementor-widget-heading\" data-id=\"0bb4344\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.16.0 - 09-10-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h1 class=\"elementor-heading-title elementor-size-default\">Live Music every Friday and Saturday from 7pm - 10pm<\/h1>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c7b54ea elementor-section-full_width private-parties event-section active elementor-section-height-default elementor-section-height-default\" data-id=\"c7b54ea\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0073a44\" data-id=\"0073a44\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-ea53b8a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ea53b8a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-80bb4ac\" data-id=\"80bb4ac\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d17c025 elementor-widget elementor-widget-text-editor\" data-id=\"d17c025\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.16.0 - 09-10-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<div class=\"flex max-w-full flex-col flex-grow\">\n<div class=\"min-h-8 text-message flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"14c748e7-567f-47d2-a862-4e0709bc762d\" data-message-model-slug=\"gpt-4o\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose w-full break-words dark:prose-invert dark\">\n<p>Are you a talented musician looking to perform at Cork &amp; Bean? Let us know your availability by filling out this form, and we\u2019ll be in touch soon!<\/p><\/div><\/div><\/div><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-acfbfca elementor-widget elementor-widget-shortcode\" data-id=\"acfbfca\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\r\n      #cb-inquiry-form textarea{\r\n        width: 100%;\r\n            padding: 10px;\r\n            margin-bottom: 10px;\r\n            border: 1px solid #ccc;\r\n            border-radius: 4px;\r\n            resize:none;\r\n      }\r\n    <\/style>\r\n\r\n    <div id=\"cb-inquiry-form\">\r\n\r\n        \n    <style>\n        \/* Styling remains consistent *\/\n        #cb-booking-form {\n            font-family: Arial, sans-serif;\n            max-width: 600px;\n            margin: 0 auto;\n            background: #fff;\n            padding: 20px;\n            border: 1px solid #ccc;\n            border-radius: 8px;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n        }\n        #cb-booking-form h2 {\n            font-size: 1.5em;\n            margin-bottom: 20px;\n            text-align: center;\n        }\n        #cb-booking-form label {\n            font-weight: bold;\n            display: block;\n            margin-bottom: 5px;\n        }\n        #cb-booking-form input {\n            width: 100%;\n            padding: 10px;\n            font-size: 1em;\n            border: 1px solid #ccc;\n            border-radius: 4px;\n            margin-bottom: 5px;\n            box-sizing:border-box;\n        }\n        #cb-booking-form button {\n            background: #1e88e5;\n            color: #fff;\n            border: none;\n            padding: 10px 20px;\n            font-size: 1em;\n            border-radius: 4px;\n            cursor: pointer;\n            width: 100%;\n        }\n        #cb-booking-form button:disabled {\n            background: #ccc;\n            cursor: not-allowed;\n        }\n        #cb-booking-form button:hover:enabled {\n            background: #155a9f;\n        }\n        #cb-email-feedback {\n            font-size: 0.9em;\n            margin-top: 5px;\n            color: green;\n        }\n        #cb-email-feedback.error {\n            color: red;\n        }\n\n        #cb-calendar-overlay {\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            background-color: rgba(255, 255, 255, 0.8);\n            z-index: 1000;\n            display: none;\n            align-items: center;\n            justify-content: center;\n        }\n\n        #cb-calendar-overlay .spinner {\n            border: 4px solid #ccc;\n            border-top: 4px solid #1e88e5;\n            border-radius: 50%;\n            width: 40px;\n            height: 40px;\n            animation: spin 1s linear infinite;\n            margin:auto;\n            transform:translateY(-50%);\n            top:50%;\n            position:relative;\n        }\n\n        .flatpickr-innerContainer{\n            position:relative;\n        }\n        \n        @keyframes spin {\n            from {\n                transform: rotate(0deg);\n            }\n            to {\n                transform: rotate(360deg);\n            }\n        }\n\n    <\/style>\n\n    <form id=\"cb-booking-form\" method=\"post\" action=\"\">\n    <div id=\"cb-calendar-overlay\">\n        <div class=\"spinner\"><\/div>\n    <\/div>\n\n            <p>\n        <label for=\"cb-name\">Name:<\/label>\n            <input type=\"text\" id=\"cb_name\" name=\"cb_name\" required>\n        <\/p>\n        \n    <p>\n    <label for=\"cb_musician_email\">Your Email:<\/label>\n    <input type=\"email\" id=\"cb_musician_email\" name=\"cb_musician_email\" placeholder=\"Enter your email\" required>\n    <span id=\"cb-email-feedback\" style=\"display:none;\"><\/span>\n    <\/p>\n\n        \n                <label for=\"cb-youtube\">YouTube Video URL of you performing:<\/label>\n                <input type=\"url\" id=\"cb_youtube\" name=\"cb_youtube\" placeholder=\"https:\/\/www.youtube.com\/...\" required>\n                \n                <p>\n                <label for=\"cb-description\">In a few words, describe your act:<\/label>\n                <textarea id=\"cb_description\" name=\"cb_description\" rows=\"4\" required><\/textarea>\n                <\/p>\n\n                                    <p>\n            <label for=\"cb_performance_date\">When would you like to perform? <span style = \"font-style:italic\">(unavailable dates are greyed out)<\/span><\/label>\n            <input type=\"text\" id=\"cb_performance_date\" name=\"cb_performance_date\" placeholder=\"Select a date\" required>\n        <\/p>\n        <p>\n            <button type=\"submit\" id=\"cb-submit-button\" disabled>Submit Request<\/button>\n        <\/p>\n    <\/form>\n\n    <div id=\"cb-booking-response\" style=\"display:none; margin-top:20px;\"><\/div>\n\n    <script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    const nameField = document.getElementById(\"cb_name\");\n    const emailField = document.getElementById(\"cb_musician_email\");\n    const dateField = document.getElementById(\"cb_performance_date\");\n    const descriptionField = document.getElementById(\"cb_description\");\n    const youtubeField = document.getElementById(\"cb_youtube\");\n    const submitButton = document.getElementById(\"cb-submit-button\");\n    const feedbackSpan = document.getElementById(\"cb-email-feedback\");\n    const responseDiv = document.getElementById(\"cb-booking-response\");\n    let unavailableDates = []; \/\/ To store unavailable dates dynamically fetched\n\n    \/\/ Function to check if a date is valid (Thu, Fri, Sat only)\n    function isValidDate(date) {\n        const day = date.getDay(); \/\/ 0 = Sunday, 6 = Saturday\n        return \/*day === 4 || *\/day === 5 || day === 6; \/\/ Thursday, Friday, Saturday\n    }\n\n    \/\/ Normalize date to 'YYYY-MM-DD' format\n    function normalizeDate(dateStr) {\n        const date = new Date(dateStr);\n        const options = { timeZone: \"America\/New_York\", year: \"numeric\", month: \"2-digit\", day: \"2-digit\" };\n\n        \/\/ Format the date to EST and extract the date components\n        const estDate = new Intl.DateTimeFormat(\"en-US\", options).format(date);\n\n        \/\/ Return the formatted date in YYYY-MM-DD format\n        const [month, day, year] = estDate.split(\"\/\");\n        return `${year}-${month}-${day}`;\n    }\n\n    \/\/ Fetch unavailable dates for a specific month range\n    function fetchUnavailableDates(startDate, endDate) {\n        \/\/ Fetch events in range\n\n        jQuery('.flatpickr-innerContainer').append(jQuery('#cb-calendar-overlay'));\n        jQuery('#cb-calendar-overlay').show();\n\n\n        jQuery.ajax({\n            url: 'https:\/\/corkandbean.ca\/oshawa\/wp-admin\/admin-ajax.php',\n            type: 'POST',\n            data: {\n                action: 'fetch_events_in_range',\n                start_time: startDate,\n                end_time: endDate,\n                calendar_id: 'c_8686d3644292b6c7372d68b5a7a11da07f49dac75c3a68eb6b4f6ce3ba7c4b0f@group.calendar.google.com',\n            },\n            dataType: 'json',\n        })\n            .done(function (response) {\n                if (response.success) {\n                    const eventDates = response.data.map(event => normalizeDate(event.start));\n                    console.log(\"unvail gcal dates\", response.data);\n\n                    \/\/ Fetch blocked dates separately\n                    jQuery.ajax({\n                        url: 'https:\/\/corkandbean.ca\/oshawa\/wp-admin\/admin-ajax.php',\n                        type: 'POST',\n                        data: {\n                            action: 'fetch_blocked_dates',\n                        },\n                        dataType: 'json',\n                    })\n                        .done(function (blockedResponse) {\n                            console.log(blockedResponse);\n                            if (blockedResponse.success) {\n                                const blockedDates = blockedResponse.data.map(date => normalizeDate(date.start));\n\n                                jQuery('#cb-calendar-overlay').hide()\n\n                                \/\/ Merge event dates and blocked dates\n                                unavailableDates = [...new Set([...eventDates, ...blockedDates])];\n\n                                \/\/ Update Flatpickr with merged unavailable dates\n                                calendar.set(\"disable\", [\n                                    function (date) {\n                                        const today = new Date(); \/\/ Current date\n                                        today.setHours(0, 0, 0, 0); \/\/ Set to midnight for comparison\n                                        const formattedDate = date.toISOString().split(\"T\")[0];\n                                        \/\/ Disable past dates and unavailable dates\n                                        return date.getTime() < today.getTime() || !isValidDate(date) || unavailableDates.includes(formattedDate);\n                                    }\n                                ]);\n                            } else {\n                                alert('Failed to fetch blocked dates.');\n                            }\n                        })\n                        .fail(function () {\n                            alert('Failed to fetch blocked dates.');\n                        });\n                } else {\n                    alert('Failed to fetch events.');\n                }\n            })\n            .fail(function () {\n                alert('Failed to fetch events.');\n            });\n    }\n\n\n    \/\/ Initialize Flatpickr\n    const calendar = flatpickr(\"#cb_performance_date\", {\n        dateFormat: \"Y-m-d\",\n        disable: [\n            function (date) {\n                const today = new Date(); \/\/ Current date\n                today.setHours(0, 0, 0, 0); \/\/ Set to midnight for comparison\n                const formattedDate = date.toISOString().split(\"T\")[0];\n                \/\/ Disable past dates and unavailable dates\n                return date.getTime() < today.getTime() || !isValidDate(date) || unavailableDates.includes(formattedDate);\n            },\n        ],\n        onMonthChange: function (selectedDates, dateStr, instance) {\n            const currentMonth = instance.currentMonth; \/\/ Zero-based month\n            const currentYear = instance.currentYear;\n\n            const startOfMonth = new Date(currentYear, currentMonth, 1).toISOString();\n            let endOfMonth = new Date(currentYear, currentMonth + 1, 0);\n            endOfMonth.setHours(23, 59, 59, 999); \/\/ Ensure the time is set to the end of the day\n            endOfMonth = endOfMonth.toISOString();\n\n            fetchUnavailableDates(startOfMonth, endOfMonth);\n        },\n        onYearChange: function (selectedDates, dateStr, instance) {\n            const currentMonth = instance.currentMonth; \/\/ Zero-based month\n            const currentYear = instance.currentYear;\n\n            const startOfMonth = new Date(currentYear, currentMonth, 1).toISOString();\n            let endOfMonth = new Date(currentYear, currentMonth + 1, 0);\n            endOfMonth.setHours(23, 59, 59, 999); \/\/ Ensure the time is set to the end of the day\n            endOfMonth = endOfMonth.toISOString();\n\n            fetchUnavailableDates(startOfMonth, endOfMonth);\n        },\n    });\n\n    \/\/ Validate email\n    emailField.addEventListener(\"input\", function () {\n\n        if(jQuery(\"#cb-inquiry-form\").length > 0){\n            return;\n        }\n\n        const email = emailField.value.trim();\n\n        if (email) {\n            fetch('https:\/\/corkandbean.ca\/oshawa\/wp-admin\/admin-ajax.php?action=cb_validate_email&email=' + encodeURIComponent(email))\n                .then(response => response.json())\n                .then(data => {\n                    if (data.success) {\n                        feedbackSpan.textContent = \"Email was found on the musician roster\";\n                        feedbackSpan.classList.remove(\"error\");\n                        feedbackSpan.style.display = \"block\";\n                        validateForm(); \/\/ Ensure form validation is checked\n                    } else {\n                        feedbackSpan.textContent = \"Email not found on the musician roster.\";\n                        feedbackSpan.classList.add(\"error\");\n                        feedbackSpan.style.display = \"block\";\n                        submitButton.disabled = true; \/\/ Disable button\n                    }\n                });\n        } else {\n            feedbackSpan.style.display = \"none\";\n            submitButton.disabled = true; \/\/ Disable button\n        }\n    });\n\n    \/\/ Enable the button only when email and date are valid\n    function validateForm() {\n        const name = nameField && nameField.value.trim();\n        const email = emailField && emailField.value.trim();\n        const date = dateField && dateField.value.trim();\n        const description = descriptionField && descriptionField.value.trim();\n        const youtubeUrl = youtubeField && youtubeField.value.trim();\n\n        let isValid = null;\n        if(jQuery(\"#cb-inquiry-form\").length > 0){\n            isValid = name && email && date && description && youtubeUrl;\n        }\n        else{\n            console.log(\"test\", feedbackSpan.textContent);\n            isValid = feedbackSpan.textContent.includes(\"Email was found\") && date;\n            console.log(isValid, date);\n        }\n        \n        submitButton.disabled = !isValid;\n    }\n\n    \/\/dateField.addEventListener(\"input\", validateForm);\n    jQuery('#cb-booking-form input').on('change', validateForm);\n    jQuery('#cb-booking-form textarea').on('change', validateForm);\n\n    \/\/ Handle form submission\n    document.getElementById(\"cb-booking-form\").addEventListener(\"submit\", function (e) {\n        e.preventDefault(); \/\/ Prevent the default form submission\n\n        \/\/ Get form elements\n        const form = document.getElementById(\"cb-booking-form\");\n        const formElements = Array.from(form.elements);\n        const labels = form.querySelectorAll(\"label\");\n        const submitButton = document.getElementById(\"cb-submit-button\");\n\n        \/\/ Create thank-you message\n        const thankYouMessage = document.createElement(\"div\");\n        thankYouMessage.style.textAlign = \"center\";\n        thankYouMessage.style.padding = \"20px\";\n\n        if (jQuery(\"#cb-inquiry-form\").length > 0) {\n            thankYouMessage.innerHTML = `\n            <div style=\"font-size: 2em; color: green; margin-bottom: 10px;\">\u2714<\/div>\n            <p>Thank you! Your request has been submitted successfully.<\/p>\n        `;\n        }\n        else{\n            thankYouMessage.innerHTML = `\n            <div style=\"font-size: 2em; color: green; margin-bottom: 10px;\">\u2714<\/div>\n            <p>Thank you! Your performance has been booked in!<\/p>\n        `;\n        jQuery(feedbackSpan).hide();\n        }\n        \n\n        \/\/ Hide form fields and labels\n        formElements.forEach((element) => {\n            element.style.display = \"none\";\n        });\n        labels.forEach((label) => {\n            label.style.display = \"none\";\n        });\n\n        \/\/ Append thank-you message to the form\n        form.appendChild(thankYouMessage);\n\n        \/\/ Prepare the data to send via AJAX\n        const postBody = {\n            action: \"confirm_music_booking\",\n            email: form.querySelector(\"#cb_musician_email\").value.trim(),\n            date: form.querySelector(\"#cb_performance_date\").value.trim(),\n        };\n\n        if (jQuery(\"#cb-inquiry-form\").length > 0) {\n            postBody.name = form.querySelector(\"#cb_name\").value.trim();\n            postBody.description = form.querySelector(\"#cb_description\").value.trim();\n            postBody.youtube_url = form.querySelector(\"#cb_youtube\").value.trim();\n            postBody.booking_inquiry = true;\n        }\n\n        \/\/ Send AJAX request\n        fetch('https:\/\/corkandbean.ca\/oshawa\/wp-admin\/admin-ajax.php', {\n            method: \"POST\",\n            headers: {\n                \"Content-Type\": \"application\/x-www-form-urlencoded\",\n            },\n            body: new URLSearchParams(postBody),\n        })\n            .then((response) => response.json())\n            .then((data) => {\n                if (!data.success) {\n                    console.error(\"Submission error:\", data.data || \"Unknown error\");\n                }\n            })\n            .catch((error) => {\n                console.error(\"Unexpected error:\", error);\n            });\n    });\n\n\n    \/\/ Fetch events for the current month on load\n    const now = new Date();\n    const startOfCurrentMonth = new Date(now.getFullYear(), now.getMonth(), 1).toISOString();\n    let endOfCurrentMonth = new Date(now.getFullYear(), now.getMonth() + 1, 0);\n    endOfCurrentMonth.setHours(23, 59, 59, 999); \/\/ Ensure the time is set to the end of the day\n    endOfCurrentMonth = endOfCurrentMonth.toISOString();\n\n    fetchUnavailableDates(startOfCurrentMonth, endOfCurrentMonth);\n});\n\n\n<\/script>\n\n\n    \r\n        <div id=\"cb-response\"><\/div>\r\n    <\/div>\r\n    \n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-03cfbac elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"03cfbac\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-a008eb0\" data-id=\"a008eb0\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b2ec3b elementor-widget elementor-widget-text-editor\" data-id=\"7b2ec3b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5edd6c9 elementor-section-full_width private-parties event-section active elementor-section-height-default elementor-section-height-default\" data-id=\"5edd6c9\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-34cccb7\" data-id=\"34cccb7\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-1863971 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1863971\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-706915a\" data-id=\"706915a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-12c4a8f elementor-widget elementor-widget-text-editor\" data-id=\"12c4a8f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2><span style=\"color: #ffffff;\"><strong>Upcoming Live Music<\/strong><\/span><\/h2>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2369899 elementor-widget elementor-widget-eael-event-calendar\" data-id=\"2369899\" data-element_type=\"widget\" data-widget_type=\"eael-event-calendar.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div class=\"eael-event-calendar-wrapper\"><div id=\"eael-event-calendar-2369899\" class=\"eael-event-calendar-cls\"\n            data-cal_id = \"2369899\"\n            data-locale = \"en\"\n            data-translate = \"{&quot;today&quot;:&quot;Today&quot;,&quot;tomorrow&quot;:&quot;Tomorrow&quot;}\"\n            data-defaultview = \"listMonth\"\n            data-defaultdate = \"2026-04-15\"\n            data-time_format = \"\"\n            data-event_limit = \"100\"\n            data-events=\"[{&quot;id&quot;:1,&quot;title&quot;:&quot;Live Music: David Shewchuk&quot;,&quot;description&quot;:&quot;&quot;,&quot;start&quot;:&quot;2026-04-25T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-04-25T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;},{&quot;id&quot;:2,&quot;title&quot;:&quot;Live: Kaleidoscope&quot;,&quot;description&quot;:&quot;Live music performance by Kaleidoscope&quot;,&quot;start&quot;:&quot;2026-04-18T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-04-18T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;},{&quot;id&quot;:3,&quot;title&quot;:&quot;Live Music: Kate Ruckus&quot;,&quot;description&quot;:&quot;&quot;,&quot;start&quot;:&quot;2026-05-16T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-05-16T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;},{&quot;id&quot;:4,&quot;title&quot;:&quot;Live Music: Sadie Prince &amp; Mitra Nazzari&quot;,&quot;description&quot;:&quot;&quot;,&quot;start&quot;:&quot;2026-04-24T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-04-24T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;},{&quot;id&quot;:5,&quot;title&quot;:&quot;Live Music: Evan Moore &amp; Jordin\\u2019s ID&quot;,&quot;description&quot;:&quot;&quot;,&quot;start&quot;:&quot;2026-05-09T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-05-09T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;},{&quot;id&quot;:6,&quot;title&quot;:&quot;Live: Janest Gomez Calubayan&quot;,&quot;description&quot;:&quot;Live music performance by Janest Gomez Calubayan&quot;,&quot;start&quot;:&quot;2026-04-17T19:00:00-04:00&quot;,&quot;end&quot;:&quot;2026-04-17T22:00:00-04:00&quot;,&quot;borderColor&quot;:&quot;#10ecab&quot;,&quot;textColor&quot;:&quot;#ffffff&quot;,&quot;color&quot;:&quot;#5725ff&quot;,&quot;url&quot;:&quot;&quot;,&quot;allDay&quot;:&quot;&quot;,&quot;external&quot;:&quot;on&quot;,&quot;nofollow&quot;:&quot;on&quot;}]\"\n            data-first_day=\"0\"><\/div>\n            <div id=\"eaelecModal\" class=\"eaelec-modal eael-zoom-in\">\n            <div class=\"eael-ec-modal-bg\"><\/div>\n            <div class=\"eaelec-modal-content\">\n                <div class=\"eaelec-modal-header\">\n                    <div class=\"eaelec-modal-close\"><span><i class=\"fas fa-times\"><\/i><\/span><\/div>\n                    <h2 class=\"eael-ec-modal-title\"><\/h2>\n                    <span class=\"eaelec-event-date-start eaelec-event-popup-date\"><\/span>\n                    <span class=\"eaelec-event-date-end eaelec-event-popup-date\"><\/span>\n                <\/div>\n                <div class=\"eaelec-modal-body\">\n                    <p><\/p>\n                <\/div>\n                <div class=\"eaelec-modal-footer\">\n                    <a class=\"eaelec-event-details-link\">Event Details<\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n        <\/div>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a7a8ac5 elementor-section-full_width public-events event-section elementor-section-height-default elementor-section-height-default\" data-id=\"a7a8ac5\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b8fec1d\" data-id=\"b8fec1d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-5abe468 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5abe468\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-81bc22c\" data-id=\"81bc22c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bbafc6c elementor-widget elementor-widget-text-editor\" data-id=\"bbafc6c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h2><strong>Host your Public Event at the Cork and Bean!<\/strong><\/h2>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-326a921 elementor-widget elementor-widget-text-editor\" data-id=\"326a921\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Wine and paints, crochet workshops, book clubs are only a few of the different types of events that have been hosted at the Cork and Bean. Host yours today!<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ec6a98 elementor-widget elementor-widget-heading\" data-id=\"4ec6a98\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Some of our Upcoming Public Events<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7269698 elementor-widget elementor-widget-text-editor\" data-id=\"7269698\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>[wfea]<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-04f3c2d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"04f3c2d\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-a5f7290\" data-id=\"a5f7290\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e966249 elementor-widget elementor-widget-heading\" data-id=\"e966249\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">How it works<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88bf458 elementor-widget elementor-widget-text-editor\" data-id=\"88bf458\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul><li>We help you promote your event and sell tickets to through our Eventbrite page.<\/li><li>We charge a space rental fee plus a small marketing fee.\u00a0<\/li><\/ul><h3>Party Room Public Event: $60\/hour (space rental) + $20\/hour (marketing) = $80\/hour.<\/h3><ul><li>With this package, you will get access to our Party Room.\u00a0<\/li><\/ul><h3>Full Store Public Event: $200\/hour (space rental) + $20\/hour (marketing) = $220\/hour.<\/h3><p>\u00a0<\/p><p><strong>* 2 hour minimum required for all bookings *\u00a0<\/strong><\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d22b3d6 elementor-widget elementor-widget-button\" data-id=\"d22b3d6\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-lg\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Book Now!<\/span>\n\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Live Music every Friday and Saturday from 7pm &#8211; 10pm Are you a talented musician looking to perform at Cork &amp; Bean? Let us know your availability by filling out this form, and we\u2019ll be in touch soon! Upcoming Live Music Event Details Host your Public Event at the Cork and Bean! Wine and paints, <a href=\"https:\/\/corkandbean.ca\/oshawa\/live-music\/\" class=\"more-link\">&#8230;<span class=\"screen-reader-text\">  Live Music<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1210","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/pages\/1210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/comments?post=1210"}],"version-history":[{"count":103,"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/pages\/1210\/revisions"}],"predecessor-version":[{"id":4176,"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/pages\/1210\/revisions\/4176"}],"wp:attachment":[{"href":"https:\/\/corkandbean.ca\/oshawa\/wp-json\/wp\/v2\/media?parent=1210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}