{"title":"🇨🇦 O'Canada Day Week Collection","description":"","products":[{"product_id":"sculpt-bake-moose-kit","title":"Sculpt \u0026 Bake: Moose Kit","description":"\u003cp\u003eMake your very own moose!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's In The Kit?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e4 blocks of high-quality Ditto polymer clay (50 grams each)\u003c\/li\u003e\n\u003cli\u003eMakes up to 2 moose.\u003c\/li\u003e\n\u003cli\u003eA step by step guide. Our simple instructions are created with care, so don’t worry, you or your kids will have no problem-o following along to make your oven-bake clay creation!\u003c\/li\u003e\n\u003cli\u003eContent and materials are not for commercial, school or paid program use without authorization.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFor baking instructions and to learn more about Ditto \u003ca href=\"\/pages\/about-ditto\"\u003eclick here.\u003c\/a\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"DITTO","offers":[{"title":"Default Title","offer_id":40189457465434,"sku":"DIT-MOO","price":16.99,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/products\/moose_1000x1000_23531df1-bfeb-4243-9d06-c354819ac217.jpg?v=1667399308"},{"product_id":"sculpt-bake-canada-goose-kit","title":"Sculpt \u0026 Bake: Canada Goose Kit","description":"\u003cp\u003eMake your very own Canada Goose!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's In The Kit?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e4 blocks of high-quality Ditto polymer clay (50 grams each)\u003c\/li\u003e\n\u003cli\u003eA step by step guide. Our simple instructions are created with care, so don’t worry, you or your kids will have no problem-o following along to make your oven-bake clay creation!\u003c\/li\u003e\n\u003cli\u003eContent and materials are not for commercial, school or paid program use without authorization.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFor baking instructions and to learn more about Ditto \u003ca href=\"\/pages\/about-ditto\"\u003eclick here.\u003c\/a\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"DITTO","offers":[{"title":"Default Title","offer_id":40189462937690,"sku":"DIT-CGO","price":16.99,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/products\/geese_1000x1000_50ad2007-b849-4b74-8639-d21864e20ac9.jpg?v=1667399448"},{"product_id":"sculpt-and-bake-grizzly-kit","title":"Sculpt \u0026 Bake: Grizzly Kit","description":"\u003cp\u003eMake your very grizzly and cub!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's In The Kit?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e4 blocks of high-quality Ditto polymer clay (50 grams each)\u003c\/li\u003e\n\u003cli\u003eMakes up to 2 bears.\u003c\/li\u003e\n\u003cli\u003eA step by step guide. Our simple instructions are created with care, so don’t worry, you or your kids will have no problem-o following along to make your oven-bake clay creation!\u003c\/li\u003e\n\u003cli\u003eContent and materials are not for commercial, school or paid program use without authorization.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFor baking instructions and to learn more about Ditto \u003ca href=\"\/pages\/about-ditto\"\u003eclick here.\u003c\/a\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"DITTO","offers":[{"title":"Default Title","offer_id":40196025057370,"sku":"DIT-GRZ","price":16.99,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/products\/bear_1000x1000_cc7ddb50-9914-4a25-b105-b2ee4976fa3f.jpg?v=1668307284"},{"product_id":"9am-sat-jun-27th-saturday-early-bird-workshop","title":"*9am Sat Jun 27th | Saturday Early Bird Workshop","description":"\u003cdiv class=\"flex flex-col text-sm pb-25\"\u003e\n\u003carticle class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:040bce28-aeff-4b41-8905-b39e63c45eeb-2\" data-testid=\"conversation-turn-6\" data-scroll-anchor=\"true\" data-turn=\"assistant\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] @w-sm\/main:[--thread-content-margin:--spacing(6)] @w-lg\/main:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col grow\"\u003e\n\u003cdiv data-message-author-role=\"assistant\" data-message-id=\"46117cb6-155e-4942-a844-d0224553db36\" dir=\"auto\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+\u0026amp;]:mt-1\" data-message-model-slug=\"gpt-5-2\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\"\u003e\n\u003cdiv class=\"markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling\"\u003e\n\u003cp data-start=\"0\" data-end=\"94\"\u003eThis one’s for the early risers — and the families \u0026amp; friends who like to start their weekend together.\u003c\/p\u003e\n\u003cp data-start=\"96\" data-end=\"314\" data-is-last-node=\"\" data-is-only-node=\"\"\u003eEach week features two project options—choose your favourite and settle in side-by-side for a focused, feel-good make in a calm, cozy studio setting. It’s an easy, happy way to kick off Saturday (tea or cocoa in hand).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43297928020058,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43297928052826,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43297928085594,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43297928118362,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43297928151130,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43297928183898,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43297928216666,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43297928249434,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43297928282202,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43297928314970,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43297928347738,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43297928380506,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43297928413274,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43297928446042,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43297928478810,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43297928511578,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43297928544346,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43297928577114,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43297928609882,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43297928642650,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43297928675418,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43297928708186,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43297928740954,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43297928773722,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43297928806490,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43297928839258,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43297928872026,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43297928904794,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43297928937562,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43297928970330,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43297929003098,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/saturday_early_bird_canada_beaver_blob_pancake_jar_1080x1080_49c3d1ec-2b62-42b5-8017-912103bb8c66.jpg?v=1780504145"},{"product_id":"9am-sun-jun-28th-sunday-early-bird","title":"*9am Sun Jun 28th | Sunday Early Bird Workshop","description":"\u003cp\u003eA relaxed, family-friendly creative morning with two seasonal art projects to choose from, warm drinks, and time to make together at your own pace. It’s an easy, screen-free way to spend Sunday morning together.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43297937621082,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43297937653850,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43297937686618,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43297937719386,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43297937752154,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43297937784922,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43297937817690,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43297937850458,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43297937883226,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43297937915994,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43297937948762,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43297937981530,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43297938014298,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43297938047066,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43297938079834,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43297938112602,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43297938145370,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43297938178138,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43297938210906,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43297938243674,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43297938276442,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43297938309210,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43297938341978,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43297938374746,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43297938407514,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43297938440282,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43297938473050,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43297938505818,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43297938538586,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43297938571354,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43297938604122,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/sunday_early_bird_canada_beaver_blob_great_white_north_magnet_1080x1080_5757d566-b068-4272-a6d1-81e7f101fe37.jpg?v=1780504163"},{"product_id":"1pm-sat-jun-27th-great-white-north-magnets","title":"1pm Sat Jun 27th | Great White North Magnets","description":"\u003csection class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto [content-visibility:auto] supports-[content-visibility:auto]:[contain-intrinsic-size:auto_100lvh] R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-699ce3ed-78e0-832a-89b5-5cc1599fbc7d-10\" data-testid=\"conversation-turn-110\" data-scroll-anchor=\"false\" data-turn=\"assistant\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col gap-4 grow\"\u003e\n\u003cdiv data-message-author-role=\"assistant\" data-message-id=\"845d1b52-f649-4fbb-87b8-18a0950e4d34\" dir=\"auto\" data-message-model-slug=\"gpt-5-3\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+\u0026amp;]:mt-1\" data-turn-start-message=\"true\" tabindex=\"0\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden\"\u003e\n\u003cdiv class=\"markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling\"\u003e\n\u003csection class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto [content-visibility:auto] supports-[content-visibility:auto]:[contain-intrinsic-size:auto_100lvh] R6Vx5W_threadScrollVars scroll-mb-[calc(var(--scroll-root-safe-area-inset-bottom,0px)+var(--thread-response-height))] scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-699ce3ed-78e0-832a-89b5-5cc1599fbc7d-22\" data-testid=\"conversation-turn-132\" data-scroll-anchor=\"false\" data-turn=\"assistant\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col gap-4 grow\"\u003e\n\u003cdiv data-message-author-role=\"assistant\" data-message-id=\"c88bc468-3de9-4475-bf45-2e6a153d5a5b\" dir=\"auto\" data-message-model-slug=\"gpt-5-3\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+\u0026amp;]:mt-1\" data-turn-start-message=\"true\" tabindex=\"0\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden\"\u003e\n\u003cdiv class=\"markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"z-0 flex min-h-[46px] justify-start\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"mt-3 w-full empty:hidden\"\u003e\n\u003cdiv class=\"text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cdiv aria-hidden=\"true\" class=\"pointer-events-none -mt-px h-px translate-y-[calc(var(--scroll-root-safe-area-inset-bottom)-14*var(--spacing))]\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"z-0 flex min-h-[46px] justify-start\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"mt-3 w-full empty:hidden\"\u003e\n\u003cdiv class=\"text-center\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43297991196762,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43297991229530,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43297991262298,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43297991295066,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43297991327834,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43297991360602,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43297991393370,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43297991426138,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43297991458906,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43297991491674,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43297991524442,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43297991557210,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43297991589978,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43297991622746,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43297991655514,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43297991688282,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43297991721050,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43297991753818,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43297991786586,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43297991819354,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43297991852122,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43297991884890,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43297991917658,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43297991950426,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43297991983194,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43297992015962,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43297992048730,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43297992081498,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43297992114266,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43297992147034,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43297992179802,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/canada_great_white_north_magnets_01_1080x1080_313d2ebb-af16-40bc-b768-0f5446ad5fbc.jpg?v=1777472403"},{"product_id":"2pm-sat-jun-27th-beaver-blob","title":"2pm Sat Jun 27th | Beaver Blob","description":"","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43298000863322,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43298000896090,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43298000928858,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43298000961626,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43298000994394,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43298001027162,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43298001059930,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43298001092698,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43298001125466,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43298001158234,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43298001191002,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43298001223770,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43298001256538,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43298001289306,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43298001322074,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43298001354842,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43298001387610,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43298001420378,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43298001453146,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43298001485914,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43298001518682,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43298001551450,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43298001584218,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43298001616986,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43298001649754,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43298001682522,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43298001715290,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43298001748058,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43298001780826,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43298001813594,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43298001846362,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/beaver_blob_01_1080x1080_75138be3-8338-42ee-a62d-a1b0eea0b0b2.jpg?v=1777663559"},{"product_id":"3pm-sat-jun-27th-a-frame","title":"3pm Sat Jun 27th | A Frame","description":"","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43298004533338,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43298004566106,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43298004598874,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43298004631642,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43298004664410,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43298004697178,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43298004729946,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43298004762714,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43298004795482,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43298004828250,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43298004861018,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43298004893786,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43298004926554,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43298004959322,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43298004992090,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43298005024858,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43298005057626,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43298005090394,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43298005123162,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43298005155930,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43298005188698,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43298005221466,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43298005254234,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43298005287002,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43298005319770,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43298005352538,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43298005385306,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43298005418074,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43298005450842,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43298005483610,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43298005516378,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/a-frame_03_1080x1080_19328c29-1b34-46df-9b70-76baeb6f7833.jpg?v=1768064201"},{"product_id":"1pm-sun-jun-28th-canada-loon","title":"1pm Sun Jun 28th | Canada Loon","description":"","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43298011873370,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43298011906138,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43298011938906,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43298011971674,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43298012004442,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43298012037210,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43298012069978,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43298012102746,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43298012135514,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43298012168282,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43298012201050,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43298012233818,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43298012266586,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43298012299354,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ERIN","offer_id":43298012332122,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43298012364890,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43298012397658,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43298012430426,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43298012463194,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43298012495962,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43298012528730,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43298012561498,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43298012594266,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43298012627034,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43298012659802,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43298012692570,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43298012725338,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43298012758106,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43298012790874,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43298012823642,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43298012856410,"sku":null,"price":20.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/ditto_loon_01_800x800_d506b740-0148-4e92-89fd-245c7cb922c5.jpg?v=1772747129"},{"product_id":"2pm-sun-jun-28th-beaver-blob","title":"2pm Sun Jun 28th | Beaver Blob","description":"","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43298015641690,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43298015674458,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43298015707226,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43298015739994,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43298015772762,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43298015805530,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43298015838298,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43298015871066,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43298015903834,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43298015936602,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43298015969370,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43298016002138,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43298016034906,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43298016067674,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43298016100442,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43298016133210,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43298016165978,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43298016198746,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43298016231514,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43298016264282,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43298016297050,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43298016329818,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43298016362586,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43298016395354,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43298016428122,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43298016460890,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43298016493658,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43298016526426,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43298016559194,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43298016591962,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43298016624730,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/beaver_blob_01_1080x1080_75138be3-8338-42ee-a62d-a1b0eea0b0b2.jpg?v=1777663559"},{"product_id":"3pm-sun-jun-28th-pancakes-jar","title":"3pm Sun Jun 28th | Pancakes Jar","description":"","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43298018623578,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"AB \/ ST ALBERT","offer_id":43298018656346,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43298018689114,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43298018721882,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ SURREY - SOUTH","offer_id":43298018754650,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43298018787418,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43298018820186,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43298018852954,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43298018885722,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43298018918490,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43298018951258,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43298018984026,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43298019016794,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43298019049562,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43298019082330,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43298019115098,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43298019147866,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43298019180634,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43298019213402,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - BYRON","offer_id":43298019246170,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43298019278938,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43298019311706,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43298019344474,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OAKVILLE - WEST","offer_id":43298019377242,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43298019410010,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43298019442778,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43298019475546,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43298019508314,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43298019541082,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43298019573850,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43298019606618,"sku":null,"price":35.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/pancakes_jar_01_1080x1080_e5c58a8f-c787-44bd-9892-1fb5da81405c.jpg?v=1777657231"},{"product_id":"10am-sat-jun-27th-saturday-early-bird-workshop","title":"10am Sat Jun 27th | Saturday Early Bird Workshop","description":"\u003cdiv class=\"flex flex-col text-sm pb-25\"\u003e\n\u003carticle class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:040bce28-aeff-4b41-8905-b39e63c45eeb-2\" data-testid=\"conversation-turn-6\" data-scroll-anchor=\"true\" data-turn=\"assistant\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] @w-sm\/main:[--thread-content-margin:--spacing(6)] @w-lg\/main:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col grow\"\u003e\n\u003cdiv data-message-author-role=\"assistant\" data-message-id=\"46117cb6-155e-4942-a844-d0224553db36\" dir=\"auto\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+\u0026amp;]:mt-1\" data-message-model-slug=\"gpt-5-2\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\"\u003e\n\u003cdiv class=\"markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling\"\u003e\n\u003cp data-start=\"0\" data-end=\"94\"\u003eThis one’s for the early risers — and the families \u0026amp; friends who like to start their weekend together.\u003c\/p\u003e\n\u003cp data-start=\"96\" data-end=\"314\" data-is-last-node=\"\" data-is-only-node=\"\"\u003eEach week features two project options—choose your favourite and settle in side-by-side for a focused, feel-good make in a calm, cozy studio setting. It’s an easy, happy way to kick off Saturday (tea or cocoa in hand).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43358268194906,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"AB \/ ST ALBERT","offer_id":43358268227674,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43358268260442,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43358268293210,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ SURREY - SOUTH","offer_id":43358268325978,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43358268358746,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43358268391514,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43358268424282,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43358268457050,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43358268489818,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43358268522586,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43358268555354,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43358268588122,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43358268620890,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43358268653658,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43358268686426,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43358268719194,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43358268751962,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43358268784730,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - BYRON","offer_id":43358268817498,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43358268850266,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43358268883034,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43358268915802,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - WEST","offer_id":43358268948570,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43358268981338,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ ST CATHARINES","offer_id":43358269014106,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43358269046874,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43358269079642,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43358269112410,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43358269145178,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43358269177946,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/saturday_early_bird_canada_beaver_blob_pancake_jar_1080x1080_49c3d1ec-2b62-42b5-8017-912103bb8c66.jpg?v=1780504145"},{"product_id":"11am-sat-jun-27th-saturday-early-bird-workshop","title":"11am Sat Jun 27th | Saturday Early Bird Workshop","description":"\u003cdiv class=\"flex flex-col text-sm pb-25\"\u003e\n\u003carticle class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [\u0026amp;:has([data-writing-block])\u0026gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" data-turn-id=\"request-WEB:040bce28-aeff-4b41-8905-b39e63c45eeb-2\" data-testid=\"conversation-turn-6\" data-scroll-anchor=\"true\" data-turn=\"assistant\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] @w-sm\/main:[--thread-content-margin:--spacing(6)] @w-lg\/main:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\"\u003e\n\u003cdiv class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\"\u003e\n\u003cdiv class=\"flex max-w-full flex-col grow\"\u003e\n\u003cdiv data-message-author-role=\"assistant\" data-message-id=\"46117cb6-155e-4942-a844-d0224553db36\" dir=\"auto\" class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+\u0026amp;]:mt-1\" data-message-model-slug=\"gpt-5-2\"\u003e\n\u003cdiv class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\"\u003e\n\u003cdiv class=\"markdown prose dark:prose-invert w-full wrap-break-word light markdown-new-styling\"\u003e\n\u003cp data-start=\"0\" data-end=\"94\"\u003eThis one’s for the early risers — and the families \u0026amp; friends who like to start their weekend together.\u003c\/p\u003e\n\u003cp data-start=\"96\" data-end=\"314\" data-is-last-node=\"\" data-is-only-node=\"\"\u003eEach week features two project options—choose your favourite and settle in side-by-side for a focused, feel-good make in a calm, cozy studio setting. It’s an easy, happy way to kick off Saturday (tea or cocoa in hand).\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/div\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43358270226522,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"AB \/ ST ALBERT","offer_id":43358270259290,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43358270292058,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43358270324826,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ SURREY - SOUTH","offer_id":43358270357594,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43358270390362,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43358270423130,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43358270455898,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43358270488666,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43358270521434,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43358270554202,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43358270586970,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43358270619738,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43358270652506,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43358270685274,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43358270718042,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43358270750810,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43358270783578,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43358270816346,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - BYRON","offer_id":43358270849114,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43358270881882,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43358270914650,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43358270947418,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - WEST","offer_id":43358270980186,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43358271012954,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ST CATHARINES","offer_id":43358271045722,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43358271078490,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43358271111258,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43358271144026,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43358271176794,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43358271209562,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/saturday_early_bird_canada_beaver_blob_pancake_jar_1080x1080_49c3d1ec-2b62-42b5-8017-912103bb8c66.jpg?v=1780504145"},{"product_id":"10am-sun-jun-28th-sunday-early-bird-workshop","title":"10am Sun Jun 28th | Sunday Early Bird Workshop","description":"\u003cp\u003eA relaxed, family-friendly creative morning with two seasonal art projects to choose from, warm drinks, and time to make together at your own pace. It’s an easy, screen-free way to spend Sunday morning together.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43358271635546,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"AB \/ ST ALBERT","offer_id":43358271668314,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43358271701082,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43358271733850,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ SURREY - SOUTH","offer_id":43358271766618,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43358271799386,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43358271832154,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43358271864922,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43358271897690,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43358271930458,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43358271963226,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43358271995994,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43358272028762,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43358272061530,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43358272094298,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43358272127066,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43358272159834,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43358272192602,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43358272225370,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - BYRON","offer_id":43358272258138,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43358272290906,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43358272323674,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43358272356442,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - WEST","offer_id":43358272389210,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43358272421978,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ST CATHARINES","offer_id":43358272454746,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43358272487514,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43358272520282,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43358272553050,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43358272585818,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43358272618586,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/sunday_early_bird_canada_beaver_blob_great_white_north_magnet_1080x1080_5757d566-b068-4272-a6d1-81e7f101fe37.jpg?v=1780504163"},{"product_id":"11am-sun-jun-28th-sunday-early-bird-workshop","title":"11am Sun Jun 28th | Sunday Early Bird Workshop","description":"\u003cp\u003eA relaxed, family-friendly creative morning with two seasonal art projects to choose from, warm drinks, and time to make together at your own pace. It’s an easy, screen-free way to spend Sunday morning together.\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"4CATS","offers":[{"title":"AB \/ CALGARY - INGLEWOOD","offer_id":43358272913498,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"AB \/ ST ALBERT","offer_id":43358272946266,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - GARDEN CITY","offer_id":43358272979034,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ RICHMOND - STEVESTON","offer_id":43358273011802,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ SURREY - SOUTH","offer_id":43358273044570,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - KITSILANO","offer_id":43358273077338,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VANCOUVER - MAIN STREET","offer_id":43358273110106,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VANCOUVER - UBC","offer_id":43358273142874,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - COOK STREET VILLAGE","offer_id":43358273175642,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - ESQUIMALT","offer_id":43358273208410,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"BC \/ VICTORIA - OAK BAY","offer_id":43358273241178,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"BC \/ VICTORIA - UPTOWN","offer_id":43358273273946,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ BURLINGTON - SOUTH","offer_id":43358273306714,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ CAMBRIDGE - GALT","offer_id":43358273339482,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ERIN","offer_id":43358273372250,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - OTTAWA STREET","offer_id":43358273405018,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WATERDOWN","offer_id":43358273437786,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ HAMILTON - WEST HARBOUR","offer_id":43358273470554,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ KINGSTON - ARLINGTON PARK","offer_id":43358273503322,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - BYRON","offer_id":43358273536090,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ LONDON - WORTLEY VILLAGE","offer_id":43358273568858,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true},{"title":"ON \/ MISSISSAUGA - PORT CREDIT","offer_id":43358273601626,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - NORTH","offer_id":43358273634394,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OAKVILLE - WEST","offer_id":43358273667162,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ OTTAWA - THE GLEBE","offer_id":43358273699930,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ ST CATHARINES","offer_id":43358273732698,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - AVENUE ROAD","offer_id":43358273765466,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - BABY POINT","offer_id":43358273798234,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - LEASIDE","offer_id":43358273831002,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ TORONTO - THE BEACHES","offer_id":43358273863770,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false},{"title":"ON \/ WATERLOO - UPTOWN","offer_id":43358273896538,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/sunday_early_bird_canada_beaver_blob_great_white_north_magnet_1080x1080_5757d566-b068-4272-a6d1-81e7f101fe37.jpg?v=1780504163"},{"product_id":"ocanada-week-mini-make","title":"O'Canada Week Mini Make","description":"\u003cp\u003e✔ Pick a project \u0026amp; settle in\u003cbr\u003e✔ Easy, small demo, printed instructions at your table\u003cbr\u003e✔ Instructors nearby to answer questions\u003cbr\u003e✔ Good for friend hangs, dates \u0026amp; family outings\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eThis week is O' Canada Week 🇨🇦\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp data-start=\"156\" data-end=\"243\"\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003eChoose between Leave it to Beaver (make 1) or Great White North Doodads (make up to 3).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-start=\"245\" data-end=\"485\"\u003eAdd a magnet of keychain for an extra $1.99 per art piece.\u003c\/p\u003e\n\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Work+Sans:wght@400;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003cdiv id=\"mm-root\"\u003e\u003c\/div\u003e\n\n\u003cscript\u003e\n  \/\/ ┌─────────────────────────────────────────────────┐\n  \/\/ │  EDIT THESE TWO LINES FOR EACH WEEK'S PAGE      │\n  const DATE_FROM = '2026-06-22'  \/\/ First day of the week\n  const DATE_TO   = '2026-06-28'  \/\/ Last day of the week\n  \/\/ └─────────────────────────────────────────────────┘\n\u003c\/script\u003e\n\n\u003cstyle\u003e\n  #mm-root {\n    font-family: 'Work Sans', sans-serif;\n    max-width: 720px;\n    margin: 0 auto;\n    padding: 8px 0 40px;\n    color: #1a1a1a;\n  }\n  .mm-step-label {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 11px;\n    font-weight: 700;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n    color: #999;\n    margin-bottom: 10px;\n  }\n  .mm-provinces {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin-bottom: 28px;\n  }\n  .mm-prov-chip {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 13px;\n    padding: 8px 20px;\n    border: 1.5px solid #ddd;\n    border-radius: 100px;\n    cursor: pointer;\n    background: #fff;\n    color: #444;\n    transition: all 0.15s ease;\n    white-space: nowrap;\n  }\n  .mm-prov-chip:hover {\n    border-color: #1a1a1a !important;\n    color: #1a1a1a !important;\n  }\n  .mm-prov-chip.selected {\n    background: #1a1a1a !important;\n    border-color: #1a1a1a !important;\n    color: #fff !important;\n    font-weight: 600 !important;\n  }\n  .mm-studio-wrap { margin-bottom: 28px; }\n  .mm-studio-select {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 14px;\n    width: 100%;\n    max-width: 400px;\n    padding: 10px 14px;\n    border: 1.5px solid #ddd;\n    border-radius: 8px;\n    background: #fff;\n    color: #1a1a1a;\n    appearance: none;\n    -webkit-appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 14px center;\n    cursor: pointer;\n    transition: border-color 0.15s;\n  }\n  .mm-studio-select:focus {\n    outline: none;\n    border-color: #1a1a1a;\n  }\n  .mm-dates {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n    margin-bottom: 28px;\n  }\n  .mm-date-chip {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 13px;\n    padding: 8px 16px;\n    border: 1.5px solid #ddd;\n    border-radius: 100px;\n    cursor: pointer;\n    background: #fff;\n    color: #444;\n    transition: all 0.15s ease;\n    white-space: nowrap;\n  }\n  .mm-date-chip:hover {\n    border-color: #1a1a1a !important;\n    color: #1a1a1a !important;\n  }\n  .mm-date-chip.selected {\n    background: #1a1a1a !important;\n    border-color: #1a1a1a !important;\n    color: #fff !important;\n    font-weight: 600 !important;\n  }\n  .mm-slots {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n    gap: 12px;\n    margin-bottom: 12px;\n  }\n  .mm-slot {\n    font-family: 'Work Sans', sans-serif;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    padding: 16px 10px 14px;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 10px;\n    background: #fff;\n    gap: 10px;\n  }\n  .mm-slot.sold-out { opacity: 0.5; }\n  .mm-slot-time {\n    font-size: 18px;\n    font-weight: 700;\n    color: #1a1a1a;\n  }\n  .mm-slot.sold-out .mm-slot-time { color: #bbb; }\n  .mm-slot-sold-label {\n    font-size: 11px;\n    font-weight: 600;\n    letter-spacing: 0.06em;\n    text-transform: uppercase;\n    padding: 3px 10px;\n    border-radius: 100px;\n    background: #f0f0f0;\n    color: #aaa;\n  }\n  .mm-qty {\n    display: flex;\n    align-items: center;\n    border: 1.5px solid #ddd;\n    border-radius: 8px;\n    overflow: hidden;\n  }\n  .mm-qty-btn {\n    width: 34px;\n    height: 34px;\n    background: #f7f7f7;\n    border: none;\n    font-size: 18px;\n    cursor: pointer;\n    color: #444;\n    transition: background 0.1s;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n  .mm-qty-btn:hover { background: #eee; }\n  .mm-qty-btn:disabled { color: #ccc; cursor: default; }\n  .mm-qty-val {\n    width: 34px;\n    text-align: center;\n    font-size: 14px;\n    font-weight: 700;\n    color: #1a1a1a;\n    border-left: 1px solid #ddd;\n    border-right: 1px solid #ddd;\n    line-height: 34px;\n    flex-shrink: 0;\n  }\n  #mm-root .mm-register-btn {\n    font-family: 'Work Sans', sans-serif !important;\n    font-size: 12px !important;\n    font-weight: 700 !important;\n    letter-spacing: 0.08em !important;\n    text-transform: uppercase !important;\n    padding: 8px 18px !important;\n    background: #1a1a1a !important;\n    color: #fff !important;\n    border: none !important;\n    border-radius: 6px !important;\n    cursor: pointer !important;\n    text-decoration: none !important;\n    transition: background 0.15s !important;\n    display: inline-block !important;\n    width: 100% !important;\n    text-align: center !important;\n    box-sizing: border-box !important;\n  }\n  #mm-root .mm-register-btn:hover { background: #333 !important; }\n  .mm-loading, .mm-empty, .mm-prompt {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 14px;\n    color: #999;\n    padding: 20px 0;\n    text-align: center;\n  }\n  .mm-spinner {\n    display: inline-block;\n    width: 18px;\n    height: 18px;\n    border: 2px solid #eee;\n    border-top-color: #555;\n    border-radius: 50%;\n    animation: mm-spin 0.7s linear infinite;\n    vertical-align: middle;\n    margin-right: 8px;\n  }\n  @keyframes mm-spin { to { transform: rotate(360deg); } }\n  .mm-section { margin-bottom: 28px; }\n  .mm-divider {\n    border: none;\n    border-top: 1px solid #f0f0f0;\n    margin: 0 0 28px;\n  }\n  .mm-spaces-left {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 11px;\n    font-weight: 600;\n    color: #c0392b;\n    letter-spacing: 0.04em;\n  }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  const EDGE_URL = 'https:\/\/snxibhbhhchjthfmjtaj.supabase.co\/functions\/v1\/public-minimake'\n\n  const PROVINCES = [\n    { label: 'British Columbia', prefix: 'BC' },\n    { label: 'Alberta',          prefix: 'AB' },\n    { label: 'Ontario',          prefix: 'ON' },\n  ]\n\n  const root = document.getElementById('mm-root')\n\n  let allDates = []\n  let studioList = []\n  let selectedProvince = null\n  let selectedStudio = null\n  let selectedDate = null\n  const slotQty = {}\n\n  const fetchUrl = EDGE_URL + '?date_from=' + DATE_FROM + '\u0026date_to=' + DATE_TO\n\n  root.innerHTML = '\u003cdiv class=\"mm-loading\"\u003e\u003cspan class=\"mm-spinner\"\u003e\u003c\/span\u003eLoading available sessions\\u2026\u003c\/div\u003e'\n\n  fetch(fetchUrl)\n    .then(function(r) { return r.json() })\n    .then(function(data) {\n      allDates = data.dates || []\n      if (!allDates.length) {\n        root.innerHTML = '\u003cdiv class=\"mm-empty\"\u003eNo Mini Make sessions are scheduled for this week. Check back soon!\u003c\/div\u003e'\n        return\n      }\n      var studioMap = {}\n      for (var i = 0; i \u003c allDates.length; i++) {\n        for (var j = 0; j \u003c allDates[i].studios.length; j++) {\n          var s = allDates[i].studios[j]\n          if (!studioMap[s.studio_id]) studioMap[s.studio_id] = s.studio_name\n        }\n      }\n      studioList = Object.keys(studioMap).map(function(id) {\n        return { studio_id: id, studio_name: studioMap[id] }\n      }).sort(function(a, b) { return a.studio_name.localeCompare(b.studio_name) })\n\n      var activeProvs = PROVINCES.filter(function(p) {\n        return studioList.some(function(s) { return s.studio_id.indexOf(p.prefix) === 0 })\n      })\n      if (activeProvs.length === 1) selectedProvince = activeProvs[0].prefix\n\n      render()\n    })\n    .catch(function() {\n      root.innerHTML = '\u003cdiv class=\"mm-empty\"\u003eCouldn\\'t load sessions right now \\u2014 please refresh the page.\u003c\/div\u003e'\n    })\n\n  function render() {\n    root.innerHTML = ''\n    renderProvincePicker()\n    renderStudioPicker()\n    renderDatePicker()\n    renderSlots()\n  }\n\n  function activeProvinceCount() {\n    return PROVINCES.filter(function(p) {\n      return studioList.some(function(s) { return s.studio_id.indexOf(p.prefix) === 0 })\n    }).length\n  }\n\n  function datesForStudio(studioId) {\n    return allDates.filter(function(d) {\n      return d.studios.some(function(s) { return s.studio_id === studioId })\n    }).map(function(d) { return { date: d.date, label: d.label } })\n  }\n\n  function makeHr() {\n    var hr = document.createElement('hr')\n    hr.className = 'mm-divider'\n    return hr\n  }\n\n  function renderProvincePicker() {\n    var activeProvs = PROVINCES.filter(function(p) {\n      return studioList.some(function(s) { return s.studio_id.indexOf(p.prefix) === 0 })\n    })\n    if (activeProvs.length \u003c= 1) return\n\n    var wrap = document.createElement('div')\n    wrap.className = 'mm-section'\n    var label = document.createElement('div')\n    label.className = 'mm-step-label'\n    label.textContent = 'Step 1 \\u2014 Choose your province'\n    wrap.appendChild(label)\n\n    var chips = document.createElement('div')\n    chips.className = 'mm-provinces'\n\n    activeProvs.forEach(function(p) {\n      var chip = document.createElement('button')\n      chip.className = 'mm-prov-chip' + (selectedProvince === p.prefix ? ' selected' : '')\n      chip.textContent = p.label\n      chip.addEventListener('click', function() {\n        selectedProvince = p.prefix\n        selectedStudio = null\n        selectedDate = null\n        render()\n      })\n      chips.appendChild(chip)\n    })\n\n    wrap.appendChild(chips)\n    root.appendChild(wrap)\n    root.appendChild(makeHr())\n  }\n\n  function renderStudioPicker() {\n    if (!selectedProvince) return\n    var provinceStudios = studioList.filter(function(s) {\n      return s.studio_id.indexOf(selectedProvince) === 0\n    })\n    if (!provinceStudios.length) return\n\n    var stepNum = activeProvinceCount() \u003e 1 ? 2 : 1\n    var wrap = document.createElement('div')\n    wrap.className = 'mm-section mm-studio-wrap'\n    var label = document.createElement('div')\n    label.className = 'mm-step-label'\n    label.textContent = 'Step ' + stepNum + ' \\u2014 Choose your studio'\n    wrap.appendChild(label)\n\n    var select = document.createElement('select')\n    select.className = 'mm-studio-select'\n\n    var placeholder = document.createElement('option')\n    placeholder.value = ''\n    placeholder.textContent = '\\u2014 Select a studio \\u2014'\n    placeholder.disabled = true\n    placeholder.selected = !selectedStudio\n    select.appendChild(placeholder)\n\n    provinceStudios.forEach(function(studio) {\n      var opt = document.createElement('option')\n      opt.value = studio.studio_id\n      opt.textContent = studio.studio_name\n      opt.selected = selectedStudio === studio.studio_id\n      select.appendChild(opt)\n    })\n\n    select.addEventListener('change', function() {\n      selectedStudio = select.value || null\n      selectedDate = null\n      var available = datesForStudio(selectedStudio)\n      if (available.length === 1) selectedDate = available[0].date\n      render()\n    })\n\n    wrap.appendChild(select)\n    root.appendChild(wrap)\n    root.appendChild(makeHr())\n  }\n\n  function renderDatePicker() {\n    if (!selectedStudio) return\n    var available = datesForStudio(selectedStudio)\n    if (!available.length || available.length === 1) return\n\n    var stepNum = activeProvinceCount() \u003e 1 ? 3 : 2\n    var wrap = document.createElement('div')\n    wrap.className = 'mm-section'\n    var label = document.createElement('div')\n    label.className = 'mm-step-label'\n    label.textContent = 'Step ' + stepNum + ' \\u2014 Choose a date'\n    wrap.appendChild(label)\n\n    var chips = document.createElement('div')\n    chips.className = 'mm-dates'\n\n    available.forEach(function(d) {\n      var chip = document.createElement('button')\n      chip.className = 'mm-date-chip' + (selectedDate === d.date ? ' selected' : '')\n      chip.textContent = d.label\n      chip.addEventListener('click', function() {\n        selectedDate = d.date\n        render()\n      })\n      chips.appendChild(chip)\n    })\n\n    wrap.appendChild(chips)\n    root.appendChild(wrap)\n    root.appendChild(makeHr())\n  }\n\n  function renderSlots() {\n    if (!selectedStudio || !selectedDate) {\n      if (selectedStudio \u0026\u0026 !selectedDate) {\n        var p = document.createElement('div')\n        p.className = 'mm-prompt'\n        p.textContent = 'Choose a date above to see available times.'\n        root.appendChild(p)\n      }\n      return\n    }\n\n    var dateObj = null\n    for (var i = 0; i \u003c allDates.length; i++) {\n      if (allDates[i].date === selectedDate) { dateObj = allDates[i]; break }\n    }\n    var studioObj = null\n    if (dateObj) {\n      for (var j = 0; j \u003c dateObj.studios.length; j++) {\n        if (dateObj.studios[j].studio_id === selectedStudio) { studioObj = dateObj.studios[j]; break }\n      }\n    }\n    if (!studioObj) return\n\n    var totalSteps = activeProvinceCount() \u003e 1 ? 4 : 3\n    var wrap = document.createElement('div')\n    wrap.className = 'mm-section'\n    var label = document.createElement('div')\n    label.className = 'mm-step-label'\n    label.textContent = 'Step ' + totalSteps + ' \\u2014 Pick a time'\n    wrap.appendChild(label)\n\n    var grid = document.createElement('div')\n    grid.className = 'mm-slots'\n\n    studioObj.slots.forEach(function(slot) {\n      var isSoldOut = slot.spaces_left !== null \u0026\u0026 slot.spaces_left === 0\n      var card = document.createElement('div')\n      card.className = 'mm-slot' + (isSoldOut ? ' sold-out' : '')\n\n      var timeEl = document.createElement('span')\n      timeEl.className = 'mm-slot-time'\n      timeEl.textContent = slot.time\n      card.appendChild(timeEl)\n\n      if (isSoldOut) {\n        var badge = document.createElement('span')\n        badge.className = 'mm-slot-sold-label'\n        badge.textContent = 'Sold Out'\n        card.appendChild(badge)\n      } else {\n        var key = slot.register_url\n        if (!slotQty[key]) slotQty[key] = 1\n\n        var qty = document.createElement('div')\n        qty.className = 'mm-qty'\n\n        var minus = document.createElement('button')\n        minus.className = 'mm-qty-btn'\n        minus.textContent = '\\u2212'\n        minus.disabled = slotQty[key] \u003c= 1;\n        (function(k) {\n          minus.addEventListener('click', function() {\n            if (slotQty[k] \u003e 1) { slotQty[k]--; render() }\n          })\n        })(key)\n\n        var val = document.createElement('div')\n        val.className = 'mm-qty-val'\n        val.textContent = slotQty[key]\n\n        var plus = document.createElement('button')\n        plus.className = 'mm-qty-btn'\n        plus.textContent = '+'\n        plus.disabled = slot.spaces_left !== null \u0026\u0026 slotQty[key] \u003e= slot.spaces_left;\n        (function(k) {\n          plus.addEventListener('click', function() { slotQty[k]++; render() })\n        })(key)\n\n        qty.appendChild(minus)\n        qty.appendChild(val)\n        qty.appendChild(plus)\n        card.appendChild(qty)\n\n        if (slot.spaces_left !== null \u0026\u0026 slot.spaces_left \u003c= 5) {\n          var warning = document.createElement('div')\n          warning.className = 'mm-spaces-left'\n          warning.textContent = slot.spaces_left + (slot.spaces_left === 1 ? ' space left' : ' spaces left')\n          card.appendChild(warning)\n        }\n\n        var btn = document.createElement('a')\n        btn.className = 'mm-register-btn'\n        btn.href = slot.register_url.replace('QTY', slotQty[key])\n        btn.textContent = 'Register'\n        card.appendChild(btn)\n      }\n\n      grid.appendChild(card)\n    })\n\n    wrap.appendChild(grid)\n    root.appendChild(wrap)\n  }\n\n})()\n\u003c\/script\u003e","brand":"4CATS","offers":[{"title":"Default Title","offer_id":43418413760602,"sku":null,"price":12.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/mini_make_canada_leave_it_to_beaver_1080x1080_6779c431-1e2d-4a1a-841c-63a28605c4eb.jpg?v=1780007328"},{"product_id":"thursday-lineup-ocanada-week-june-25th-2026","title":"Thursday Lineup | O'Canada Week | Thu Jun 25th","description":"\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eChoose from a rotating menu of handbuilding clay projects. Pick what you'd like to make and jump into the next demo.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eDemos start every 10 minutes, so you'll never be waiting long to get started.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eCome with friends, bring a date, make it your weekly ritual, celebrate something, or just try something new. It's a fun, low-pressure way to get creative, make something you'll be proud of, and spend a few hours doing something different.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eNo experience needed. We'll walk you through everything.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eNon-alcoholic drinks and snacks available for purchase.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ePlease note: Clay projects require more than one visit to complete. Glazing is booked and paid for separately.\u003c\/span\u003e\u003c\/p\u003e","brand":"4Cats","offers":[{"title":"Default Title","offer_id":43513144836186,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/thursday_canada_beaver_blob_hygge_loon_1080x1080_c96fc1b9-848c-4852-8e68-c870497d0b56.jpg?v=1781705303"},{"product_id":"friday-lineup-ocanada-week-june-26th-2026","title":"Friday Lineup | O'Canada Week | Fri Jun 26th","description":"\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eChoose from a rotating menu of handbuilding clay projects. Pick what you'd like to make and jump into the next demo.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eDemos start every 10 minutes, so you'll never be waiting long to get started.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eCome with friends, bring a date, make it your weekly ritual, celebrate something, or just try something new. It's a fun, low-pressure way to get creative, make something you'll be proud of, and spend a few hours doing something different.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eNo experience needed. We'll walk you through everything.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"isSelectedEnd\"\u003e\u003cspan\u003eNon-alcoholic drinks and snacks available for purchase.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ePlease note: Clay projects require more than one visit to complete. Glazing is booked and paid for separately.\u003c\/span\u003e\u003c\/p\u003e","brand":"4Cats","offers":[{"title":"Default Title","offer_id":43513248514138,"sku":null,"price":25.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1451\/3756\/files\/friday_canada_pancake_a-frame_watercolour_1080x1080_f9ec4d96-c9ca-49c2-bfaa-3beca92d1e88.jpg?v=1781704738"}],"url":"https:\/\/4cats.com\/collections\/canada-day.oembed","provider":"4Cats","version":"1.0","type":"link"}