1<!DOCTYPE html><html class="js" lang="en"><head><meta id="ede-response-id" name="ede-response-id" content="d729082d-4227-4904-ac9b-20f353e72832"> 2
2<script src="/_nostra/scripts/batchScript-6ZI6XFOX.js"></script>
2 3 <!-- prepend batchScript.ts --> 4 5
5<script src="/_nostra/scripts/pageViewScript-IPZ7Z377.js"></script>
5 6 <!-- prepend pageViewScript.ts --> 7 8
8<script src="/_nostra/scripts/performanceScript-ED4CVFD4.js"></script>
8 9 <!-- prepend performanceScript.ts --> 10
10<script async src="/_nostra/identity/client"></script>
10<script id="session-content-origin"> 11 (function() { 12 window.Nostra = window.Nostra || {}; 13 window.Nostra.Transform = window.Nostra.Transform || {}; 14 15 var skipCacheURL = new URL(window.location.href); 16 skipCacheURL.searchParams.set('skipCache', 'true'); 17 18 window.Nostra.Transform.originDocumentPromise = fetch(skipCacheURL.toString()) 19 .then(function(response) { 20 if (!response.ok) { 21 throw new Error('Origin fetch failed: ' + response.status); 22 } 23 24 var consent = null; 25 try { 26 var serverTimingHeader = response.headers.get('Server-Timing'); 27 if (serverTimingHeader) { 28 var match = serverTimingHeader.match(/_cmp;desc="([^"]+)"/); 29 if (match) { 30 consent = decodeURIComponent(match[1]); 31 } 32 } 33 } catch (e) {} 34 if (!consent) { 35 try { 36 var resources = performance.getEntriesByType("resource"); 37 for (var i = resources.length - 1; i >= 0; i--) { 38 if (resources[i].name.includes('skipCache=true')) { 39 var st = resources[i].serverTiming; 40 if (st) { 41 var cmp = st.find(function(e) { return e.name === "_cmp"; }); 42 if (cmp) { 43 consent = decodeURIComponent(cmp.description); 44 break; 45 } 46 } 47 } 48 } 49 } catch (e) {} 50 } 51 if (consent) { 52 try { 53 window.Nostra.Transform._cmpConsent = consent; 54 window.Nostra.Transform._cachedConsent = encodeURIComponent(consent); 55 } catch (e) {} 56 } 57 if (window.Shopify && window.Shopify.loadFeatures) { 58 window.Shopify.loadFeatures([{ 59 "name": "consent-tracking-api", 60 "version": "0.1" 61 }], function() { Nostra.flushConsentCallbacks(); }, true); 62 } 63 return response; 64 }) 65 .then(function(response) { return response.text(); }) 66 .then(function(doc) { 67 var parser = new DOMParser(); 68 return parser.parseFromString(doc, 'text/html'); 69 }) 70 .catch(function(error) { 71 console.error('Error fetching or parsing document:', error); 72 }); 73 })(); 74</script>
74<script type="text/javascript" class="nostra-shopify-analytics-shim"> 75 window.Shopify = window.Shopify || {}; 76 window.Shopify.analytics = window.Shopify.analytics || {}; 77 window.Nostra = window.Nostra || {}; 78 window.Nostra.Transform = window.Nostra.Transform || {}; 79 window.Nostra.Transform.replayQueue = window.Nostra.Transform.replayQueue || []; 80 81 if (!window.Shopify.analytics.publish) { 82 window.Shopify.analytics.publish = function (event, payload, context) { 83 window.Nostra.Transform.replayQueue.push([event, payload, context]); 84 return true; 85 }; 86 } 87 </script>
87<script id="session-content-consent-bootstrap"> 88 !function(o) { 89 var t = o.Shopify = o.Shopify || {}; 90 var pendingConsentCallbacks = []; 91 92 function n() { 93 var q = []; 94 function fn() { q.push(Array.prototype.slice.apply(arguments)); } 95 return fn.q = q, fn; 96 } 97 98 var realLoadFeatures = n(); 99 100 t.loadFeatures = function() { 101 var args = Array.prototype.slice.apply(arguments); 102 var features = args[0]; 103 var callback = args[1]; 104 var force = args[2] || false; 105 106 var wantsConsent = Array.isArray(features) && features.some(function(f) { 107 return f.name === 'consent-tracking-api'; 108 }); 109 110 if (wantsConsent && callback && !force) { 111 pendingConsentCallbacks.push(callback); 112 } else { 113 realLoadFeatures.apply(null, args); 114 } 115 }; 116 t.loadFeatures.q = realLoadFeatures.q; 117 118 t.autoloadFeatures = n(); 119 120 o.Nostra = o.Nostra || {}; 121 o.Nostra.Transform = o.Nostra.Transform || {}; 122 123 o.Nostra.flushConsentCallbacks = function(error) { 124 if (o.Nostra.Transform._cachedConsent && o.Shopify.customerPrivacy) { 125 o.Shopify.customerPrivacy.cachedConsent = o.Nostra.Transform._cachedConsent; 126 } 127 var cbs = pendingConsentCallbacks.splice(0); 128 cbs.forEach(function(cb) { 129 try { cb(error || undefined); } catch(e) { console.error(e); } 130 }); 131 }; 132 133 // Run cb once consent state is populated. Use this from per-customer 134 // configs when something must read window.Shopify.customerPrivacy 135 // (e.g., re-injecting Shopify scripts that auto-fire bannerQuery). 136 // Fires immediately if flushConsentCallbacks has already run; otherwise 137 // queues via the same intercept primitive ScriptWrapEngine uses, so 138 // it's guaranteed to fire exactly when consent-tracking-api has loaded. 139 o.Nostra.onConsentReady = function(cb) { 140 if (o.Shopify && o.Shopify.customerPrivacy && o.Shopify.customerPrivacy.cachedConsent !== undefined) { 141 try { cb(); } catch(e) { console.error(e); } 142 } else if (o.Shopify && o.Shopify.loadFeatures) { 143 o.Shopify.loadFeatures([{ name: 'consent-tracking-api', version: '0.1' }], cb); 144 } 145 }; 146 }(window); 147 </script>
147<script> 148 if (window.self !== window.top && location.pathname.startsWith('/apps/my/course/') && new URLSearchParams(location.search).get('academy_embed') === '1') { 149 document.documentElement.classList.add('academy-course-embed'); 150 } 151 </script>
151<style> 152 html.academy-course-embed .shopify-section-group-header-group, 153 html.academy-course-embed .shopify-section-group-footer-group, 154 html.academy-course-embed #shopify-section-sticky-atc, 155 html.academy-course-embed #shopify-section-sticky-offer, 156 html.academy-course-embed #gorgias-chat-container { display: none !important; } 157 html.academy-course-embed body { display: block; min-height: 0; } 158 html.academy-course-embed #MainContent { margin-top: 0; padding-top: 0; } 159 </style><style> 160 #rebuy-quick-view-dropdown-search 161 .rebuy-quick-view-dropdown__container:not(.visible) { 162 display: none !important; 163 } 164 </style>
164<script>/* >> Heatmap.com :: Snippet << */(function (h,e,a,t,m,ap) { (h._heatmap_paq = []).push([ 'setTrackerUrl', (h.heatUrl = e) + a]); h.hErrorLogs=h.hErrorLogs || []; ap=t.createElement('script'); ap.src=h.heatUrl+'preprocessor.min.js?sid='+m; ap.defer=true; t.head.appendChild(ap); ['error', 'unhandledrejection'].forEach(function (ty) { h.addEventListener(ty, function (et) { h.hErrorLogs.push({ type: ty, event: et }); }); });})(window,'https://dashboard.heatmap.com/','heatmap.php',document,4305);</script>
164<script> 165 window.Shopify = window.Shopify || {theme: {id: 157521051786, role: 'main' } }; 166 window._template = { 167 directory: "", 168 name: "product", 169 suffix: "replo-pdp" 170 }; 171 window.__productIdFromTemplate = 8712112832650; 172 window.__plpCollectionIdFromTemplate = null; 173 window.igProductData = (function() { 174 const data = {};data["8712112832650"] = { 175 productId: 8712112832650, 176 handle: "bookclub", 177 tags: ["Bundle Comparison","template:Kids"], 178 collectionIds: [335422652554,335422816394,324187029642,325587501194,341902557322,341906391178,343023419530,331645321354,331645452426,322963865738,342578036874,343358439562,353438138506,331646271626,318082023562,325520064650,318081302666,336369614986,335427633290,332675776650,332344197258,341876998282,342037168266,318081335434,343024959626,327174619274,342731948170,343349887114], 179 inventory: -1501, 180 lowestVariantPrice: 1999 181 };return data; 182 })(); 183 </script>
183<script type="module" blocking="render" fetchpriority="high" src="https://cdn.intelligems.io/esm/ac7eaaaf86b8/bundle.js" data-em-disable="" async=""></script>
183<meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content=""><link rel="canonical" href="https://www.tuttletwins.com/products/bookclub"><link rel="icon" type="image/png" href="//www.tuttletwins.com/cdn/shop/files/tt_logo_square.png?crop=center&height=32&v=1747862969&width=32"><link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin=""><title> Tuttle Twins Book Club â The Tuttle Twins </title><meta name="description" content="Help your kids join the book club they'll WANT to be part of! Get two books each month from official Tuttle Twins series in this fun Book Club."><meta property="og:site_name" content="The Tuttle Twins"><meta property="og:url" content="https://www.tuttletwins.com/products/bookclub"><meta property="og:title" content="Tuttle Twins Book Club"><meta property="og:type" content="product"><meta property="og:description" content="Help your kids join the book club they'll WANT to be part of! Get two books each month from official Tuttle Twins series in this fun Book Club."><meta property="og:image" content="http://www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854"><meta property="og:image:secure_url" content="https://www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854"><meta property="og:image:width" content="1080"><meta property="og:image:height" content="1080"><meta property="og:price:amount" content="19.99"><meta property="og:price:currency" content="USD"><meta name="twitter:site" content="@https://x.com/tuttletwins"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Tuttle Twins Book Club"><meta name="twitter:description" content="Help your kids join the book club they'll WANT to be part of! Get two books each month from official Tuttle Twins series in this fun Book Club.">
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/constants.js?v=132983761750457495441787249516" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/pubsub.js?v=158357773527763999511787249517" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/global.js?v=147958785546299145321787249516" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/details-disclosure.js?v=13653116266235556501787249516" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/details-modal.js?v=25581673532751508451787249516" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/search-form.js?v=133129549252120666541787249522" defer="defer"></script>
183<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/animations.js?v=88693664871331136111787249517" defer="defer"></script>
183<!-- miniOrange ContentRestriction SCRIPT START --><style> 184input[type=password] { 185 width: 100%; 186 padding: 12px 20px; 187 margin: 8px 0; 188 display: inline-block; 189 border: 1px solid #ccc; 190 box-sizing: border-box; 191} 192 193.mo-button { 194 background-color: #000000; 195 color: white; 196 padding: 14px 20px; 197 margin: 8px 0; 198 border: none; 199 cursor: pointer; 200 width: 100%; 201} 202 203.mo-button:hover { 204 opacity: 0.8; 205} 206 207.mo-container { 208 padding: 16px; 209} 210#lockMessage { 211 max-width: 100%; 212 overflow-wrap: break-word; 213} 214 215@media (min-width: 768px) { 216 .mo-container-body { 217 margin: 0; 218 display: flex; 219 justify-content: center; 220 align-items: center; 221 } 222 #lockMessage { 223 max-width: 205px; 224 overflow-wrap: break-word; 225 } 226} 227</style>
227<script> 228function mo_getCookie(cookieName) { 229 let cookie = {}; 230 document.cookie.split(";").forEach(function(el) { 231 let [key,value] = el.split("="); 232 cookie[key.trim()] = value; 233 }) 234 return cookie[cookieName]; 235} 236function mo_setCookie(name,value,days) { 237 var expires = ""; 238 if (days) { 239 var date = new Date(); 240 date.setTime(date.getTime() + (days*24*60*60*1000)); 241 expires = "; expires=" + date.toUTCString(); 242 } 243 document.cookie = name + "=" + (value || "") + expires + "; path=/"; 244} 245function eraseCookie(name) { 246 document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 247} 248</script>
248<!-- miniOrange LOCK START _7400 --><!-- miniOrange LOCK END _7400 --><!-- miniOrange Unpriority Locks START --><!-- miniOrange LOCK START _7400 --><!-- miniOrange LOCK END _7400 --><!-- miniOrange Unpriority Locks END --><!-- miniOrange Priority-Whole-Website Locks START --><!-- miniOrange Priority-Whole-Website Locks END --><!-- miniOrange Priority Locks START --><!-- miniOrange Priority Locks END --><!-- miniOrange hide-prices Locks START --><!-- miniOrange hide-prices Locks END --><!-- miniOrange purchase-form Locks START --><!-- miniOrange purchase-form Locks END --><!-- miniOrange ContentRestriction SCRIPT END -->
248<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
248<meta name="facebook-domain-verification" content="ydpq4kc9upfum03nch88845xmmu5sw"><meta name="google-site-verification" content="-oSaq9XCJc2AG5hCJchmwHOmnUAckA8K0HdjKiOB-6k"><meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/65589510282/digital_wallets/dialog"><meta id="in-context-paypal-metadata" data-shop-id="65589510282" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD"><link rel="alternate" type="application/json+oembed" href="https://www.tuttletwins.com/products/bookclub.oembed">
248<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2563965066"></script>
248<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
248<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2563965066&shop_id=65589510282" crossorigin="anonymous"></script>
248<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":65589510282,"countryCode":"US","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/65589510282","merchantName":"The Tuttle Twins","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","elo","jcb"],"total":{"type":"pending","label":"The Tuttle Twins","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
248<script id="shopify-features" type="application/json">{"accessToken":"b15baf66baa09fe58317972a15e0fc3b","betas":["rich-media-storefront-analytics"],"domain":"www.tuttletwins.com","predictiveSearch":true,"shopId":65589510282,"locale":"en"}</script>
248<script>var Shopify = Shopify || {}; 249Shopify.shop = "034c76-74-2.myshopify.com"; 250Shopify.locale = "en"; 251Shopify.currency = {"active":"USD","rate":"1.0"}; 252Shopify.country = "US"; 253Shopify.theme = {"name":"tuttle-twins\/main-8.19.26","id":157521051786,"schema_name":"Dawn","schema_version":"15.2.0","theme_store_id":null,"role":"main"}; 254Shopify.theme.handle = "null"; 255Shopify.theme.style = {"id":null,"handle":null}; 256Shopify.cdnHost = "www.tuttletwins.com/cdn"; 257Shopify.routes = Shopify.routes || {}; 258Shopify.routes.root = "/"; 259Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 260Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 261Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 262Shopify.SignInWithShop.User.recognized = false;</script>
262<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
262<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
262<script> 263 window.Shopify = window.Shopify || {}; 264 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 265 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 266 window.Shopify.SignInWithShop.eligible = true; 267</script>
267<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
267<script defer="defer" async="" type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
267<script type="module"> 268 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 269 270 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 271 272</script>
272<script> 273 window.Shopify = window.Shopify || {}; 274 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 275 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 276</script>
276<script>(function() { 277 var isLoaded = false; 278 function asyncLoad() { 279 if (isLoaded) return; 280 isLoaded = true; 281 var urls = ["https:\/\/static.rechargecdn.com\/assets\/js\/widget.min.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","\/\/cdn.shopify.com\/proxy\/add7f889bc95859c3626a8c921d48e43931b39ca4448672d374d1a99c5704e75\/s3-us-west-2.amazonaws.com\/jsstore\/a\/V3VH208\/reids.js?shop=034c76-74-2.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","\/\/cdn.shopify.com\/proxy\/2f758e95234c5383dcf365cc8bffdb4d1a884d20e871e8f4b45b102825b748f0\/app.retention.com\/shopify\/shopify_app_add_to_cart_script.js?shop=034c76-74-2.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/cdn.attn.tv\/tuttletwins\/dtag.js?shop=034c76-74-2.myshopify.com","https:\/\/spfy-pxl.archive-digger.com\/assets\/script_tag.js?shopId=034c76-74-2.myshopify.com\u0026taboolaId=1881170\u0026espd=true\u0026ecav=true\u0026eh=true\u0026ess=true\u0026ep=true\u0026eatc=true\u0026eprv=true\u0026ecv=true\u0026epv=true\u0026esc=true\u0026shop=034c76-74-2.myshopify.com","https:\/\/034c76-74-2.classwallet.org\/api\/snippet?shop=034c76-74-2.myshopify.com","https:\/\/static.fbot.me\/shopify\/friendbuy-shopify.js?merchantId=638b8260-5ecd-4709-91ec-ee5117b68c03\u0026shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.rebuyengine.com\/onsite\/js\/rebuy.js?shop=034c76-74-2.myshopify.com","\/\/cdn.shopify.com\/proxy\/70243f7cccc7d903d1a25fae8ef4571257f19ebc4b182505d96973df3e797a0f\/cdn.usemonocle.com\/store-embed\/index.js?loading_source=script_tag\/\u0026shop=034c76-74-2.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/api-na1.hubapi.com\/scriptloader\/v1\/8733341.js?shop=034c76-74-2.myshopify.com","https:\/\/cdn.shopify.com\/s\/files\/1\/0655\/8951\/0282\/t\/158\/assets\/instant-pixel-site_65c515158d834e11a7134d74f76b6242.js?v=1787856867\u0026shop=034c76-74-2.myshopify.com"]; 282 for (var i = 0; i < urls.length; i++) { 283 var s = document.createElement('script'); 284 s.type = 'text/javascript'; 285 s.async = true; 286 s.src = urls[i]; 287 var x = document.getElementsByTagName('script')[0]; 288 x.parentNode.insertBefore(s, x); 289 } 290 }; 291 if(window.attachEvent) { 292 window.attachEvent('onload', asyncLoad); 293 } else { 294 window.addEventListener('load', asyncLoad, false); 295 } 296})();</script>
296<script id="__st">var __st={"a":65589510282,"offset":-21600,"reqid":"0f20dc89-31cc-4c8b-8ebb-5407209dc5e8-1790254845","pageurl":"www.tuttletwins.com\/products\/bookclub","u":"cf009f395b93","p":"product","rtyp":"product","rid":8712112832650};</script>
296<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
296<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
296<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.tuttletwins.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
296<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.tuttletwins.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
296<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
296<script> 297 window.Shopify = window.Shopify || {}; 298 window.Shopify.MCP = window.Shopify.MCP || {}; 299 window.Shopify.MCP.enabled = true; 300 window.Shopify.MCP.shop = "034c76-74-2.myshopify.com"; 301 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.tuttletwins.com\/api\/mcp"; 302 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}]; 303</script>
303<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.tuttletwins.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 304</script>
304<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.tuttletwins.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 305</script>
305<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 306 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 307</script>
307<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 308</script>
308<script integrity="sha256-/LA1C2Bx6899fYCos0FS9qLj2opaGFm7AXrTUvBEb4s=" data-source-attribution="shopify.remote_product_tracking" data-shopify-remote-tracking='{"session_id":"01M39Q8EVXZFH26RDDVHH299TS","publisher_shop_id":65589510282,"theme_id":157521051786,"theme_published":true,"theme_store_id":0,"placement":"collection","event_data":{"source_product_id":8712112832650,"handle":"bookclub","page_type":"product"},"recommendations_tracking_enabled":true}' defer="defer" src="//www.tuttletwins.com/cdn/shopifycloud/storefront/assets/storefront/remote_product_tracking-91d95044.js" crossorigin="anonymous"></script>
308<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.tuttletwins.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"><style id="shopify-accelerated-checkout-cart"> 309 #shopify-buyer-consent { 310 margin-top: 1em; 311 display: inline-block; 312 width: 100%; 313} 314 315#shopify-buyer-consent.hidden { 316 display: none; 317} 318 319#shopify-subscription-policy-button { 320 background: none; 321 border: none; 322 padding: 0; 323 text-decoration: underline; 324 font-size: inherit; 325 cursor: pointer; 326} 327 328#shopify-subscription-policy-button::before { 329 box-shadow: none; 330} 331 332 </style>
332<script id="sections-script" data-sections="header" defer="defer" src="//www.tuttletwins.com/cdn/shop/t/158/compiled_assets/scripts.js?v=184325197989695213571787249615"></script>
332<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
332<!-- "snippets/shogun-products.liquid" was not rendered, the associated app was uninstalled --><style data-shopify=""> 333 @font-face { 334 font-family: Poppins; 335 font-weight: 400; 336 font-style: normal; 337 font-display: swap; 338 src: url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2") format("woff2"), 339 url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n4.214741a72ff2596839fc9760ee7a770386cf16ca.woff") format("woff"); 340} 341 342 @font-face { 343 font-family: Poppins; 344 font-weight: 500; 345 font-style: normal; 346 font-display: swap; 347 src: url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n5.ad5b4b72b59a00358afc706450c864c3c8323842.woff2") format("woff2"), 348 url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n5.33757fdf985af2d24b32fcd84c9a09224d4b2c39.woff") format("woff"); 349} 350 351 @font-face { 352 font-family: Poppins; 353 font-weight: 600; 354 font-style: normal; 355 font-display: swap; 356 src: url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n6.aa29d4918bc243723d56b59572e18228ed0786f6.woff2") format("woff2"), 357 url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n6.5f815d845fe073750885d5b7e619ee00e8111208.woff") format("woff"); 358} 359 360 @font-face { 361 font-family: Poppins; 362 font-weight: 700; 363 font-style: normal; 364 font-display: swap; 365 src: url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2") format("woff2"), 366 url("//www.tuttletwins.com/cdn/fonts/poppins/poppins_n7.f34f55d9b3d3205d2cd6f64955ff4b36f0cfd8da.woff") format("woff"); 367} 368 369 370 371 :root, 372 .color-scheme-1 { 373 --color-background: 255,255,255; 374 375 --gradient-background: #ffffff; 376 377 378 379 380 --color-foreground: 63,57,57; 381 --color-background-contrast: 191,191,191; 382 --color-shadow: 63,57,57; 383 --color-button: 218,88,70; 384 --color-button-text: 255,255,255; 385 --color-secondary-button: 255,255,255; 386 --color-secondary-button-text: 63,57,57; 387 --color-link: 63,57,57; 388 --color-badge-foreground: 63,57,57; 389 --color-badge-background: 255,255,255; 390 --color-badge-border: 63,57,57; 391 --payment-terms-background-color: rgb(255 255 255); 392 } 393 394 395 .color-scheme-2 { 396 --color-background: 4,174,216; 397 398 --gradient-background: #04aed8; 399 400 401 402 403 --color-foreground: 255,255,255; 404 --color-background-contrast: 2,73,91; 405 --color-shadow: 63,57,57; 406 --color-button: 218,88,70; 407 --color-button-text: 255,255,255; 408 --color-secondary-button: 4,174,216; 409 --color-secondary-button-text: 255,255,255; 410 --color-link: 255,255,255; 411 --color-badge-foreground: 255,255,255; 412 --color-badge-background: 4,174,216; 413 --color-badge-border: 255,255,255; 414 --payment-terms-background-color: rgb(4 174 216); 415 } 416 417 418 .color-scheme-3 { 419 --color-background: 255,208,90; 420 421 --gradient-background: #ffd05a; 422 423 424 425 426 --color-foreground: 63,57,57; 427 --color-background-contrast: 218,156,0; 428 --color-shadow: 63,57,57; 429 --color-button: 218,88,70; 430 --color-button-text: 255,255,255; 431 --color-secondary-button: 255,208,90; 432 --color-secondary-button-text: 63,57,57; 433 --color-link: 63,57,57; 434 --color-badge-foreground: 63,57,57; 435 --color-badge-background: 255,208,90; 436 --color-badge-border: 63,57,57; 437 --payment-terms-background-color: rgb(255 208 90); 438 } 439 440 441 .color-scheme-4 { 442 --color-background: 63,57,57; 443 444 --gradient-background: #3f3939; 445 446 447 448 449 --color-foreground: 255,255,255; 450 --color-background-contrast: 76,69,69; 451 --color-shadow: 63,57,57; 452 --color-button: 218,88,70; 453 --color-button-text: 255,255,255; 454 --color-secondary-button: 63,57,57; 455 --color-secondary-button-text: 255,255,255; 456 --color-link: 255,255,255; 457 --color-badge-foreground: 255,255,255; 458 --color-badge-background: 63,57,57; 459 --color-badge-border: 255,255,255; 460 --payment-terms-background-color: rgb(63 57 57); 461 } 462 463 464 .color-scheme-5 { 465 --color-background: 188,236,246; 466 467 --gradient-background: #bcecf6; 468 469 470 471 472 --color-foreground: 63,57,57; 473 --color-background-contrast: 76,204,231; 474 --color-shadow: 63,57,57; 475 --color-button: 218,88,70; 476 --color-button-text: 255,255,255; 477 --color-secondary-button: 188,236,246; 478 --color-secondary-button-text: 63,57,57; 479 --color-link: 63,57,57; 480 --color-badge-foreground: 63,57,57; 481 --color-badge-background: 188,236,246; 482 --color-badge-border: 63,57,57; 483 --payment-terms-background-color: rgb(188 236 246); 484 } 485 486 487 .color-scheme-61c8710f-e6dd-48e9-afb8-a755a8b5b4c3 { 488 --color-background: 4,174,216; 489 490 --gradient-background: #04aed8; 491 492 493 494 495 --color-foreground: 63,57,57; 496 --color-background-contrast: 2,73,91; 497 --color-shadow: 63,57,57; 498 --color-button: 218,88,70; 499 --color-button-text: 255,255,255; 500 --color-secondary-button: 4,174,216; 501 --color-secondary-button-text: 63,57,57; 502 --color-link: 63,57,57; 503 --color-badge-foreground: 63,57,57; 504 --color-badge-background: 4,174,216; 505 --color-badge-border: 63,57,57; 506 --payment-terms-background-color: rgb(4 174 216); 507 } 508 509 510 .color-scheme-9b83f20c-1c44-44a7-9cd9-894083cef912 { 511 --color-background: 218,88,70; 512 513 --gradient-background: #da5846; 514 515 516 517 518 --color-foreground: 63,57,57; 519 --color-background-contrast: 134,40,27; 520 --color-shadow: 63,57,57; 521 --color-button: 255,255,255; 522 --color-button-text: 218,88,70; 523 --color-secondary-button: 218,88,70; 524 --color-secondary-button-text: 63,57,57; 525 --color-link: 63,57,57; 526 --color-badge-foreground: 63,57,57; 527 --color-badge-background: 218,88,70; 528 --color-badge-border: 63,57,57; 529 --payment-terms-background-color: rgb(218 88 70); 530 } 531 532 533 body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-61c8710f-e6dd-48e9-afb8-a755a8b5b4c3, .color-scheme-9b83f20c-1c44-44a7-9cd9-894083cef912 { 534 color: rgba(var(--color-foreground), 1); 535 background-color: rgb(var(--color-background)); 536 } 537 538 :root { 539 --primary-yellow: 255,208,90; 540 --primary-orange: 218,88,70; 541 --primary-blue: 4,174,216; 542 --primary-light-blue: 188,236,246; 543 --secondary-orange: 248,173,66; 544 --secondary-purple: 203,128,193; 545 --secondary-brown: 63,57,57; 546 --secondary-green: 175,200,86; 547 548 --font-body-family: Poppins, sans-serif; 549 --font-body-style: normal; 550 --font-body-weight: 400; 551 --font-body-weight-bold: 700; 552 553 --font-heading-family: Poppins, sans-serif; 554 --font-heading-style: normal; 555 --font-heading-weight: 700; 556 557 --font-body-scale: 1.0; 558 --font-heading-scale: 1.0; 559 560 --media-padding: px; 561 --media-border-opacity: 0.05; 562 --media-border-width: 1px; 563 --media-radius: 0px;
564 --media-shadow-opacity: 0.0; 565 --media-shadow-horizontal-offset: 0px; 566 --media-shadow-vertical-offset: 4px; 567 --media-shadow-blur-radius: 5px; 568 --media-shadow-visible: 0; 569 570 --page-width: 130rem; 571 --page-width-margin: 0rem; 572 573 --product-card-image-padding: 0.0rem; 574 --product-card-corner-radius: 0.0rem; 575 --product-card-text-alignment: left; 576 --product-card-border-width: 0.0rem; 577 --product-card-border-opacity: 0.1; 578 --product-card-shadow-opacity: 0.0; 579 --product-card-shadow-visible: 0; 580 --product-card-shadow-horizontal-offset: 0.0rem; 581 --product-card-shadow-vertical-offset: 0.4rem; 582 --product-card-shadow-blur-radius: 0.5rem; 583 584 --collection-card-image-padding: 0.0rem; 585 --collection-card-corner-radius: 0.0rem; 586 --collection-card-text-alignment: left; 587 --collection-card-border-width: 0.0rem; 588 --collection-card-border-opacity: 0.1; 589 --collection-card-shadow-opacity: 0.0; 590 --collection-card-shadow-visible: 0; 591 --collection-card-shadow-horizontal-offset: 0.0rem; 592 --collection-card-shadow-vertical-offset: 0.4rem; 593 --collection-card-shadow-blur-radius: 0.5rem; 594 595 --blog-card-image-padding: 0.0rem; 596 --blog-card-corner-radius: 0.0rem; 597 --blog-card-text-alignment: left; 598 --blog-card-border-width: 0.0rem; 599 --blog-card-border-opacity: 0.1; 600 --blog-card-shadow-opacity: 0.0; 601 --blog-card-shadow-visible: 0; 602 --blog-card-shadow-horizontal-offset: 0.0rem; 603 --blog-card-shadow-vertical-offset: 0.4rem; 604 --blog-card-shadow-blur-radius: 0.5rem; 605 606 --badge-corner-radius: 4.0rem; 607 608 --popup-border-width: 1px; 609 --popup-border-opacity: 0.1; 610 --popup-corner-radius: 0px; 611 --popup-shadow-opacity: 0.05; 612 --popup-shadow-horizontal-offset: 0px; 613 --popup-shadow-vertical-offset: 4px; 614 --popup-shadow-blur-radius: 5px; 615 616 --drawer-border-width: 1px; 617 --drawer-border-opacity: 0.1; 618 --drawer-shadow-opacity: 0.0; 619 --drawer-shadow-horizontal-offset: 0px; 620 --drawer-shadow-vertical-offset: 4px; 621 --drawer-shadow-blur-radius: 5px; 622 623 --spacing-sections-desktop: 0px; 624 --spacing-sections-mobile: 0px; 625 626 --grid-desktop-vertical-spacing: 32px; 627 --grid-desktop-horizontal-spacing: 32px; 628 --grid-mobile-vertical-spacing: 16px; 629 --grid-mobile-horizontal-spacing: 16px; 630 631 --text-boxes-border-opacity: 0.1; 632 --text-boxes-border-width: 0px; 633 --text-boxes-radius: 0px; 634 --text-boxes-shadow-opacity: 0.0; 635 --text-boxes-shadow-visible: 0; 636 --text-boxes-shadow-horizontal-offset: 0px; 637 --text-boxes-shadow-vertical-offset: 4px; 638 --text-boxes-shadow-blur-radius: 5px; 639 640 --buttons-radius: 40px; 641 --buttons-radius-outset: 41px; 642 --buttons-border-width: 1px; 643 --buttons-border-opacity: 1.0; 644 --buttons-shadow-opacity: 0.0; 645 --buttons-shadow-visible: 0; 646 --buttons-shadow-horizontal-offset: 0px; 647 --buttons-shadow-vertical-offset: 4px; 648 --buttons-shadow-blur-radius: 5px; 649 --buttons-border-offset: 0.3px; 650 651 --inputs-radius: 6px; 652 --inputs-border-width: 1px; 653 --inputs-border-opacity: 0.55; 654 --inputs-shadow-opacity: 0.0; 655 --inputs-shadow-horizontal-offset: 0px; 656 --inputs-margin-offset: 0px; 657 --inputs-shadow-vertical-offset: 4px; 658 --inputs-shadow-blur-radius: 5px; 659 --inputs-radius-outset: 7px; 660 661 --variant-pills-radius: 40px; 662 --variant-pills-border-width: 1px; 663 --variant-pills-border-opacity: 0.55; 664 --variant-pills-shadow-opacity: 0.0; 665 --variant-pills-shadow-horizontal-offset: 0px; 666 --variant-pills-shadow-vertical-offset: 4px; 667 --variant-pills-shadow-blur-radius: 5px; 668 } 669 670 *, 671 *::before, 672 *::after { 673 box-sizing: inherit; 674 } 675 676 html { 677 box-sizing: border-box; 678 font-size: calc(var(--font-body-scale) * 62.5%); 679 height: 100%; 680 scroll-behavior: smooth; 681 } 682 683 body { 684 display: grid; 685 grid-template-rows: auto auto 1fr auto; 686 grid-template-columns: 100%; 687 margin: 0; 688 font-size: 1.5rem; 689 letter-spacing: 0; 690 line-height: calc(1 + 0.4 / var(--font-body-scale)); 691 font-family: var(--font-body-family); 692 font-style: var(--font-body-style); 693 font-weight: var(--font-body-weight); 694 display: flex; 695 flex-direction: column; 696 min-height: 100vh; 697 } 698 699 main { 700 flex: auto; 701 } 702 703 @media screen and (min-width: 750px) { 704 body { 705 font-size: 1.6rem; 706 } 707 } 708 </style><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/base.css?v=175731573071175832171787249518" rel="stylesheet" type="text/css" media="all"><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/ssky.css?v=179500637011316509991787249516" rel="stylesheet" type="text/css" media="all"><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/section-image-banner.css?v=116397371779373813061787249517" rel="stylesheet" type="text/css" media="all"><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/swiper.min.css?v=87766135802466555311787249517" rel="stylesheet" type="text/css" media="all"><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/sections-homepage-redesign.css?v=15659332739917511141787249515" rel="stylesheet" type="text/css" media="all"><link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-cart-items.css?v=123238115697927560811787249519" media="print" onload="this.media='all'"><link rel="preload" as="font" href="//www.tuttletwins.com/cdn/fonts/poppins/poppins_n4.0ba78fa5af9b0e1a374041b3ceaadf0a43b41362.woff2" type="font/woff2" crossorigin=""><link rel="preload" as="font" href="//www.tuttletwins.com/cdn/fonts/poppins/poppins_n7.56758dcf284489feb014a026f3727f2f20a54626.woff2" type="font/woff2" crossorigin=""><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-localization-form.css?v=17208135613050061121787249515" rel="stylesheet" type="text/css" media="all">
708<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/localization-form.js?v=144176611646395275351787249518" defer="defer"></script>
708<link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-predictive-search.css?v=159943082179479052541787249518" media="print" onload="this.media='all'">
708<script> 709 if (Shopify.designMode) { 710 document.documentElement.classList.add('shopify-design-mode'); 711 } 712 </script>
712<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/jquery-3.7.1.min.js?v=158417595810649192771787249516" defer=""></script>
712<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/lity.min.js?v=3011890149140136151787249517" defer=""></script>
712<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/swiper.min.js?v=104312064931231207321787249517" defer=""></script>
712<link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/lity.min.css?v=144058161171479091931787249517"><!-- "snippets/shogun-head.liquid" was not rendered, the associated app was uninstalled --><style> 713@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap'); 714</style><!-- Ahrefs snippet START -->
714<script src="https://analytics.ahrefs.com/analytics.js" data-key="HXsl6Cm3Q2VxjtnKw112zg" async=""></script>
714<!-- Ahrefs END --><style> 715 /* Shared Courses Plus presentation card: fit narrow course and modal views. */ 716 @media (max-width: 600px) { 717 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) { flex-direction: column !important; gap: 12px !important; padding: 20px 16px !important; width: 100%; max-width: 100%; box-sizing: border-box; text-align: center; } 718 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) > span[aria-hidden="true"] { display: none !important; } 719 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) > div { min-width: 0; max-width: 100%; } 720 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) > div[aria-hidden="true"] { font-size: 32px !important; line-height: 1.2; } 721 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) > div > div { font-size: 18px !important; line-height: 1.35 !important; overflow-wrap: anywhere; } 722 #appendLesson div[style*="display: flex"]:has(> div > a[href*="drive.google.com/file/"]) > div > a { font-size: 17px !important; line-height: 1.4 !important; margin-top: 8px !important; } 723 } 724 </style><!-- BEGIN app block: shopify://apps/triplewhale/blocks/triple_pixel_snippet/483d496b-3f1a-4609-aea7-8eee3b6b7a2a --><link rel="preconnect dns-prefetch" href="https://api.config-security.com/" crossorigin=""><link rel="preconnect dns-prefetch" href="https://conf.config-security.com/" crossorigin="">
724<script> 725/* >> TriplePixel :: start*/ 726window.TriplePixelData={TripleName:"034c76-74-2.myshopify.com",ver:"2.16",plat:"SHOPIFY",isHeadless:false,src:'SHOPIFY_EXT',product:{id:"8712112832650",name:`Tuttle Twins Book Club`,price:"19.99",variant:"47235382149258",av:{ "47235382149258":true }},search:"",collection:"",cart:"notification",template:"product",curr:"USD" || "USD", market:"40076345482"},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,i){return void 0===i&&(i=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(i)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=".concat(p.host,"&plat=").concat(p.plat),5)))}}("","TriplePixel",localStorage); 727/* << TriplePixel :: end*/ 728</script>
728<!-- END app block --><!-- BEGIN app block: shopify://apps/attentive/blocks/attn-tag/8df62c72-8fe4-407e-a5b3-72132be30a0d -->
728<script type="text/javascript" src="https://jbsdc.tuttletwins.com/providers/atLabel/load" onerror=" var fallbackScript = document.createElement('script'); fallbackScript.src = 'https://cdn.attn.tv/tuttletwins/dtag.js'; document.head.appendChild(fallbackScript);" data-source="loaded?source=app-embed" defer="defer"></script>
728<!-- END app block --><!-- BEGIN app block: shopify://apps/mntn/blocks/tracking-pixel/d40b5b2f-bf84-4a06-b576-832ad24a8652 --><!-- MNTN Tracking Pixel Start -->
728<script id="mntn_tracking_pixel" type="text/javascript"> 729const isUSShopper = window.Shopify && window.Shopify.country === "US"; 730 731if (!window.Shopify || isUSShopper) { 732 (function(){"use strict";var e=null,b="4.0.0", 733 n="45985", 734 additional="term=value", 735 t,r,i;try{t=top.document.referer!==""?encodeURIComponent(top.document.referrer.substring(0,2048)):""}catch(o){t=document.referrer!==null?document.referrer.toString().substring(0,2048):""}try{r=window&&window.top&&document.location&&window.top.location===document.location?document.location:window&&window.top&&window.top.location&&""!==window.top.location?window.top.location:document.location}catch(u){r=document.location}try{i=parent.location.href!==""?encodeURIComponent(parent.location.href.toString().substring(0,2048)):""}catch(a){try{i=r!==null?encodeURIComponent(r.toString().substring(0,2048)):""}catch(f){i=""}}var l,c=document.createElement("script"),h=null,p=document.getElementsByTagName("script"),d=Number(p.length)-1,v=document.getElementsByTagName("script")[d];if(typeof l==="undefined"){l=Math.floor(Math.random()*1e17)}h="dx.mountain.com/spx?"+"dxver="+b+"&shaid="+n+"&tdr="+t+"&plh="+i+"&cb="+l+additional;c.type="text/javascript";
735c.src=("https:"===document.location.protocol?"https://":"http://")+h;v.parentNode.insertBefore(c,v)})() 736} 737</script>
737<!-- MNTN Tracking Pixel End --><!-- MNTN DataLayer Start --><!-- MNTN DataLayer End --><!-- END app block --><!-- BEGIN app block: shopify://apps/gorgias-live-chat-helpdesk/blocks/gorgias/a66db725-7b96-4e3f-916e-6c8e6f87aaaa -->
737<script defer="" data-gorgias-loader-chat="" src="https://config.gorgias.chat/bundle-loader/shopify/034c76-74-2.myshopify.com"></script>
737<script defer="" data-gorgias-loader-convert="" src="https://content.9gtb.com/loader.js"></script>
737<script defer="" data-gorgias-loader-mailto-replace="" src="https://config.gorgias.help/api/contact-forms/replace-mailto-script.js?shopName=034c76-74-2"></script>
737<!-- END app block --><!-- BEGIN app block: shopify://apps/okendo/blocks/theme-settings/bb689e69-ea70-4661-8fb7-ad24a2e23c29 --><!-- BEGIN app snippet: header-metafields --><style data-oke-reviews-version="0.98.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/okendo-reviews-styles.6dbb2446.css"></style><style data-oke-reviews-version="0.98.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-star-rating.4cb378a8.css"></style><style data-oke-reviews-version="0.98.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-keywords.0942444f.css"></style><style data-oke-reviews-version="0.98.0" type="text/css" data-href="https://cdn-static.okendo.io/reviews-widget-plus/css/modules/okendo-reviews-summary.a0c9d7d6.css"></style><style type="text/css">.okeReviews[data-oke-container],div.okeReviews{font-size:14px;font-size:var(--oke-text-regular);font-weight:400;font-family:var(--oke-text-fontFamily);line-height:1.6}.okeReviews[data-oke-container] *,.okeReviews[data-oke-container] :after,.okeReviews[data-oke-container] :before,div.okeReviews *,div.okeReviews :after,div.okeReviews :before{box-sizing:border-box}.okeReviews[data-oke-container] h1,.okeReviews[data-oke-container] h2,.okeReviews[data-oke-container] h3,.okeReviews[data-oke-container] h4,.okeReviews[data-oke-container] h5,.okeReviews[data-oke-container] h6,div.okeReviews h1,div.okeReviews h2,div.okeReviews h3,div.okeReviews h4,div.okeReviews h5,div.okeReviews h6{font-size:1em;font-weight:400;line-height:1.4;margin:0}.okeReviews[data-oke-container] ul,div.okeReviews ul{padding:0;margin:0}.okeReviews[data-oke-container] li,div.okeReviews li{list-style-type:none;padding:0}.okeReviews[data-oke-container] p,div.okeReviews p{line-height:1.8;margin:0 0 4px}.okeReviews[data-oke-container] p:last-child,div.okeReviews p:last-child{margin-bottom:0}.okeReviews[data-oke-container] a,div.okeReviews a{text-decoration:none;color:inherit}.okeReviews[data-oke-container] button,div.okeReviews button{border-radius:0;border:0;box-shadow:none;margin:0;width:auto;min-width:auto;padding:0;background-color:transparent;min-height:auto}.okeReviews[data-oke-container] button,.okeReviews[data-oke-container] input,.okeReviews[data-oke-container] select,.okeReviews[data-oke-container] textarea,div.okeReviews button,div.okeReviews input,div.okeReviews select,div.okeReviews textarea{font-family:inherit;font-size:1em}.okeReviews[data-oke-container] label,.okeReviews[data-oke-container] select,div.okeReviews label,div.okeReviews select{display:inline}.okeReviews[data-oke-container] select,div.okeReviews select{width:auto}.okeReviews[data-oke-container] article,.okeReviews[data-oke-container] aside,div.okeReviews article,div.okeReviews aside{margin:0}.okeReviews[data-oke-container] table,div.okeReviews table{background:transparent;border:0;border-collapse:collapse;border-spacing:0;font-family:inherit;font-size:1em;table-layout:auto}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,.okeReviews[data-oke-container] table tr,div.okeReviews table td,div.okeReviews table th,div.okeReviews table tr{border:0;font-family:inherit;font-size:1em}.okeReviews[data-oke-container] table td,.okeReviews[data-oke-container] table th,div.okeReviews table td,div.okeReviews table th{background:transparent;font-weight:400;letter-spacing:normal;padding:0;text-align:left;text-transform:none;vertical-align:middle}.okeReviews[data-oke-container] table tr:hover td,.okeReviews[data-oke-container] table tr:hover th,div.okeReviews table tr:hover td,div.okeReviews table tr:hover th{background:transparent}.okeReviews[data-oke-container] fieldset,div.okeReviews fieldset{border:0;padding:0;margin:0;min-width:0}.okeReviews[data-oke-container] img,.okeReviews[data-oke-container] svg,div.okeReviews img,div.okeReviews svg{max-width:none}.okeReviews[data-oke-container] div:empty,div.okeReviews div:empty{display:block}.okeReviews[data-oke-container] .oke-icon:before,div.okeReviews .oke-icon:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit}.okeReviews[data-oke-container] .oke-icon--select-arrow:before,div.okeReviews .oke-icon--select-arrow:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--loading:before,div.okeReviews .oke-icon--loading:before{content:"î¤"}
737.okeReviews[data-oke-container] .oke-icon--pencil:before,div.okeReviews .oke-icon--pencil:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--filter:before,div.okeReviews .oke-icon--filter:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--play:before,div.okeReviews .oke-icon--play:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--tick-circle:before,div.okeReviews .oke-icon--tick-circle:before{content:"î¤
"}.okeReviews[data-oke-container] .oke-icon--chevron-left:before,div.okeReviews .oke-icon--chevron-left:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--chevron-right:before,div.okeReviews .oke-icon--chevron-right:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--thumbs-down:before,div.okeReviews .oke-icon--thumbs-down:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--thumbs-up:before,div.okeReviews .oke-icon--thumbs-up:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--close:before,div.okeReviews .oke-icon--close:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--chevron-up:before,div.okeReviews .oke-icon--chevron-up:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--chevron-down:before,div.okeReviews .oke-icon--chevron-down:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--star:before,div.okeReviews .oke-icon--star:before{content:"î¤"}.okeReviews[data-oke-container] .oke-icon--magnifying-glass:before,div.okeReviews .oke-icon--magnifying-glass:before{content:"î¤"}@font-face{font-family:oke-widget-icons;src:url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.ttf) format("truetype"),url(https://cdn-static.okendo.io/reviews-widget-plus/fonts/oke-widget-icons.woff) format("woff"),url(https://cdn-static.okendo.io/reviews-widget-plus/img/oke-widget-icons.bc0d6b0a.svg) format("svg");font-weight:400;font-style:normal;font-display:swap}.okeReviews[data-oke-container] .oke-button,div.okeReviews .oke-button{display:inline-block;border-style:solid;border-color:var(--oke-button-borderColor);border-width:var(--oke-button-borderWidth);background-color:var(--oke-button-backgroundColor);line-height:1;padding:12px 24px;margin:0;border-radius:var(--oke-button-borderRadius);color:var(--oke-button-textColor);text-align:center;position:relative;font-weight:var(--oke-button-fontWeight);font-size:var(--oke-button-fontSize);font-family:var(--oke-button-fontFamily);outline:0}.okeReviews[data-oke-container] .oke-button-text,.okeReviews[data-oke-container] .oke-button .oke-icon,div.okeReviews .oke-button-text,div.okeReviews .oke-button .oke-icon{line-height:1}.okeReviews[data-oke-container] .oke-button.oke-is-loading,div.okeReviews .oke-button.oke-is-loading{position:relative}.okeReviews[data-oke-container] .oke-button.oke-is-loading:before,div.okeReviews .oke-button.oke-is-loading:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"î¤";color:undefined;font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-button.oke-is-loading>*,div.okeReviews .oke-button.oke-is-loading>*{opacity:0}.okeReviews[data-oke-container] .oke-button.oke-is-active,div.okeReviews .oke-button.oke-is-active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading),div.okeReviews .oke-button:not(.oke-is-loading){cursor:pointer}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{background-color:var(--oke-button-backgroundColorHover);color:var(--oke-button-textColorHover);border-color:var(--oke-button-borderColorHover);box-shadow:0 0 0 2px var(--oke-button-backgroundColorHover)}.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):active,.okeReviews[data-oke-container] .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):active,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover:active{background-color:var(--oke-button-backgroundColorActive);color:var(--oke-button-textColorActive);border-color:var(--oke-button-borderColorActive)}.okeReviews[data-oke-container] .oke-title,div.okeReviews .oke-title{font-weight:var(--oke-title-fontWeight);font-size:var(--oke-title-fontSize);font-family:var(--oke-title-fontFamily)}.okeReviews[data-oke-container] .oke-bodyText,div.okeReviews .oke-bodyText{font-weight:var(--oke-bodyText-fontWeight);font-size:var(--oke-bodyText-fontSize);font-family:var(--oke-bodyText-fontFamily)}.okeReviews[data-oke-container] .oke-linkButton,div.okeReviews .oke-linkButton{curs
737or:pointer;font-weight:700;pointer-events:auto;text-decoration:underline}.okeReviews[data-oke-container] .oke-linkButton:hover,div.okeReviews .oke-linkButton:hover{text-decoration:none}.okeReviews[data-oke-container] .oke-readMore,div.okeReviews .oke-readMore{cursor:pointer;color:inherit;text-decoration:underline}.okeReviews[data-oke-container] .oke-select,div.okeReviews .oke-select{cursor:pointer;background-repeat:no-repeat;background-position-x:100%;background-position-y:50%;border:none;padding:0 24px 0 12px;-moz-appearance:none;appearance:none;color:inherit;-webkit-appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='currentColor' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");outline-offset:4px}.okeReviews[data-oke-container] .oke-select:disabled,div.okeReviews .oke-select:disabled{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%239a9db1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E")}.okeReviews[data-oke-container] .oke-loader,div.okeReviews .oke-loader{position:relative}.okeReviews[data-oke-container] .oke-loader:before,div.okeReviews .oke-loader:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"î¤";color:var(--oke-text-secondaryColor);font-size:12px;display:inline-block;animation:oke-spin 1s linear infinite;position:absolute;width:12px;height:12px;top:0;left:0;bottom:0;right:0;margin:auto}.okeReviews[data-oke-container] .oke-a11yText,div.okeReviews .oke-a11yText{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.okeReviews[data-oke-container] .oke-hidden,div.okeReviews .oke-hidden{display:none}.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2147483647;max-height:100%;background-color:rgba(0,0,0,.5);padding:40px 0 12px}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal,div.okeReviews .oke-modal{display:flex;align-items:center;padding:48px 0}}.okeReviews[data-oke-container] .oke-modal ::-moz-selection,div.okeReviews .oke-modal ::-moz-selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal ::selection,div.okeReviews .oke-modal ::selection{background-color:rgba(39,45,69,.2)}.okeReviews[data-oke-container] .oke-modal,.okeReviews[data-oke-container] .oke-modal p,div.okeReviews .oke-modal,div.okeReviews .oke-modal p{color:#272d45}.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{background-color:#fff;margin:auto;position:relative;will-change:transform,opacity;width:calc(100% - 24px)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal-content,div.okeReviews .oke-modal-content{max-width:1000px}}.okeReviews[data-oke-container] .oke-modal-close,div.okeReviews .oke-modal-close{cursor:pointer;position:absolute;width:32px;height:32px;top:-32px;padding:4px;right:-4px;line-height:1}.okeReviews[data-oke-container] .oke-modal-close:before,div.okeReviews .oke-modal-close:before{font-family:oke-widget-icons!important;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:"î¤";color:#fff;font-size:24px;display:inline-block;width:24px;height:24px}.okeReviews[data-oke-container] .oke-modal-overlay,div.okeReviews .oke-modal-overlay{background-color:rgba(43,46,56,.9)}@media only screen and (min-width:1024px){.okeReviews[data-oke-container] .oke-modal--large .oke-modal-content,div.okeReviews .oke-modal--large .oke-modal-content{max-width:1200px}}.okeReviews[data-oke-container] .oke-modal .oke-helpful,.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date,div.okeReviews .oke-modal .oke-helpful,div.okeReviews .oke-modal .oke-helpful-vote-button,div.okeReviews .oke-modal .oke-reviewContent-date{color:#676986}.oke-modal .okeReviews[data-oke-container].oke-w,.oke-modal div.okeReviews.oke-w{color:#272d45}.okeReviews[data-oke-container] .oke-tag,div.okeReviews .oke-tag{align-items:center;color:#272d45;display:flex;font-size:var(--oke-text-small);font-weight:600;text-align:left;position:relative;z-index:2;background-color:#f4f4f6;padding:4px 6px;border:none;border-radius:4px;gap:6px;line-height:1}.okeReviews[data-oke-container] .oke-tag svg,div.okeReviews .oke-tag svg{fill:currentColor;height:1rem}.okeReviews[data-oke-container] .hooper,div.okeReviews .hooper{height:auto}.okeReviews--left{text-align:left}.okeReviews--right{text-align:right}.okeReviews--center{text-align:center}.okeReviews :not([tabindex="-1"]):focus-visible{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.is-oke-modalOpen{overflow:hidden!important}img.oke-is-error{background-color:var(--oke-shadingColor);background-size:cover;background-position:50% 50%;box-shadow:inset 0 0 0 1px var(--oke-border-color)}@keyframes oke-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes oke-fade-in{0%{opacity:0}
737to{opacity:1}}.layout-panel-flex>div:has([data-oke-container]){width:100%} 738.oke-stars{line-height:1;position:relative;display:inline-block}.oke-stars-background svg{overflow:visible}.oke-stars-foreground{overflow:hidden;position:absolute;top:0;left:0}.oke-sr{display:inline-block;padding-top:var(--oke-starRating-spaceAbove);padding-bottom:var(--oke-starRating-spaceBelow)}.oke-sr .oke-is-clickable{cursor:pointer}.oke-sr--hidden{display:none}.oke-sr-count,.oke-sr-rating,.oke-sr-stars{display:inline-block;vertical-align:middle}.oke-sr-stars{line-height:1;margin-right:8px}.oke-sr-rating{display:none}.oke-sr-count--brackets:before{content:"("}.oke-sr-count--brackets:after{content:")"} 739.oke-rk{display:block}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading,div.okeReviews .oke-reviewsKeywords-heading{font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsKeywords-heading-skeleton,div.okeReviews .oke-reviewsKeywords-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list,div.okeReviews .oke-reviewsKeywords-list{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category,div.okeReviews .oke-reviewsKeywords-list-category{background-color:var(--oke-filter-backgroundColor);color:var(--oke-filter-textColor);border:1px solid var(--oke-filter-borderColor);border-radius:var(--oke-filter-borderRadius);padding:6px 16px;transition:background-color .1s ease-out,border-color .1s ease-out;white-space:nowrap}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-clickable,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-clickable{cursor:pointer}.okeReviews[data-oke-container] .oke-reviewsKeywords-list-category.oke-is-active,div.okeReviews .oke-reviewsKeywords-list-category.oke-is-active{background-color:var(--oke-filter-backgroundColorActive);color:var(--oke-filter-textColorActive);border-color:var(--oke-filter-borderColorActive)}.okeReviews[data-oke-container] .oke-reviewsKeywords .oke-translateButton,div.okeReviews .oke-reviewsKeywords .oke-translateButton{margin-top:12px} 740.oke-rs{display:block}.oke-rs .oke-reviewsSummary.oke-is-preRender .oke-reviewsSummary-summary{-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;mask:linear-gradient(180deg,#000 0,#000 40%,transparent 95%,transparent 0) 100% 50%/100% 100% repeat-x;max-height:150px}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip,div.okeReviews .oke-reviewsSummary .oke-tooltip{display:inline-block;font-weight:400}.okeReviews[data-oke-container] .oke-reviewsSummary .oke-tooltip-trigger,div.okeReviews .oke-reviewsSummary .oke-tooltip-trigger{height:15px;width:15px;overflow:hidden;transform:translateY(-10%)}.okeReviews[data-oke-container] .oke-reviewsSummary-heading,div.okeReviews .oke-reviewsSummary-heading{align-items:center;-moz-column-gap:4px;column-gap:4px;display:inline-flex;font-weight:700;margin-bottom:8px}.okeReviews[data-oke-container] .oke-reviewsSummary-heading-skeleton,div.okeReviews .oke-reviewsSummary-heading-skeleton{height:calc(var(--oke-button-fontSize) + 4px);width:150px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon,div.okeReviews .oke-reviewsSummary-icon{fill:currentColor;font-size:14px}.okeReviews[data-oke-container] .oke-reviewsSummary-icon svg,div.okeReviews .oke-reviewsSummary-icon svg{vertical-align:baseline}.okeReviews[data-oke-container] .oke-reviewsSummary-summary.oke-is-truncated,div.okeReviews .oke-reviewsSummary-summary.oke-is-truncated{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}</style>
740<script type="application/json" id="oke-reviews-settings">{"subscriberId":"d31e869b-05f8-4e69-8a88-576a5886c2b8","analyticsSettings":{"isWidgetOnScreenTrackingEnabled":true,"provider":"gtag"},"locale":"en","localeAndVariant":{"code":"en"},"widgetSettings":{"global":{"dateSettings":{"format":{"type":"absolute","options":{"dateStyle":"short"}}},"hideOkendoBranding":true,"reviewTranslationsMode":"off","showIncentiveIndicator":false,"searchEnginePaginationEnabled":false,"stars":{"backgroundColor":"#E5E5E5","foregroundColor":"#DA5846","interspace":2,"shape":{"type":"default"},"showBorder":false},"font":{"fontType":"inherit-from-page"}},"homepageCarousel":{"slidesPerPage":{"large":3,"medium":2},"totalSlides":12,"scrollBehaviour":"slide","style":{"showDates":true,"border":{"color":"#E5E5EB","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"arrows":{"color":"#676986","size":{"value":24,"unit":"px"},"enabled":true},"avatar":{"backgroundColor":"#E5E5EB","placeholderTextColor":"#2C3E50","size":{"value":48,"unit":"px"},"enabled":true},"media":{"size":{"value":80,"unit":"px"},"imageGap":{"value":4,"unit":"px"},"enabled":true},"stars":{"height":{"value":18,"unit":"px"}},"productImageSize":{"value":48,"unit":"px"},"layout":{"name":"default","reviewDetailsPosition":"below","showProductName":false,"showAttributeBars":false,"showProductDetails":"only-when-grouped"},"highlightColor":"#0E7A82","spaceAbove":{"value":20,"unit":"px"},"text":{"primaryColor":"#2C3E50","fontSizeRegular":{"value":14,"unit":"px"},"fontSizeSmall":{"value":12,"unit":"px"},"secondaryColor":"#676986"},"spaceBelow":{"value":20,"unit":"px"}},"defaultSort":"rating desc","autoPlay":false,"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true}},"mediaCarousel":{"minimumImages":1,"linkText":"Read More","autoPlay":false,"slideSize":"medium","arrowPosition":"outside"},"mediaGrid":{"gridStyleDesktop":{"layout":"default-desktop"},"gridStyleMobile":{"layout":"default-mobile"},"showMoreArrow":{"arrowColor":"#676986","enabled":true,"backgroundColor":"#f4f4f6"},"linkText":"Read More","infiniteScroll":false,"gapSize":{"value":10,"unit":"px"}},"questions":{"initialPageSize":6,"loadMorePageSize":6},"reviewsBadge":{"layout":"large","colorScheme":"dark"},"reviewsTab":{"enabled":false},"reviewsWidget":{"tabs":{"reviews":true,"questions":false},"header":{"columnDistribution":"center","verticalAlignment":"top","blocks":[{"columnWidth":"one-third","modules":[{"name":"rating-average","layout":"two-line"}],"textAlignment":"center"},{"columnWidth":"full","modules":[{"name":"reviews-summary","heading":"Reviews Summary","maxTextLines":5}],"textAlignment":"center"}]},"style":{"showDates":true,"border":{"color":"#DA5846","width":{"value":1,"unit":"px"}},"bodyFont":{"hasCustomFontSettings":false},"headingFont":{"hasCustomFontSettings":false},"filters":{"backgroundColorActive":"#DA5846","backgroundColor":"#FFFFFF","borderColor":"#DA5846","borderRadius":{"value":100,"unit":"px"},"borderColorActive":"#DA5846","textColorActive":"#FFFFFF","textColor":"#DA5846","searchHighlightColor":"#B2F9E9"},"avatar":{"enabled":false},"stars":{"height":{"value":16,"unit":"px"}},"shadingColor":"#FFFFFF","productImageSize":{"value":48,"unit":"px"},"button":{"backgroundColorActive":"#FFFFFF","borderColorHover":"#DA5846","backgroundColor":"#DA5846","borderColor":"#DA5846","backgroundColorHover":"#FFFFFF","textColorHover":"#DA5846","borderRadius":{"value":50,"unit":"px"},"borderWidth":{"value":2,"unit":"px"},"borderColorActive":"#DA5846","textColorActive":"#DA5846","textColor":"#FFFFFF","font":{"hasCustomFontSettings":false}},"highlightColor":"#DA5846","spaceAbove":{"value":50,"unit":"px"},"text":{"primaryColor":"#3F3939","fontSizeRegular":{"value":16,"unit":"px"},"fontSizeLarge":{"value":18,"unit":"px"},"fontSizeSmall":{"value":14,"unit":"px"},"secondaryColor":"#3F3939"},"spaceBelow":{"value":20,"unit":"px"},"attributeBar":{"style":"default","backgroundColor":"#D3D4DD","shadingColor":"#9A9DB1","markerColor":"#00CAAA"}},"showWhenEmpty":true,"reviews":{"list":{"layout":{"collapseReviewerDetails":false,"columnAmount":4,"
740name":"default","showAttributeBars":false,"borderStyle":"minimal","showProductVariantName":false,"showProductDetails":"only-when-grouped"},"loyalty":{"maxInitialAchievements":3},"initialPageSize":5,"replyTruncation":{"bodyMaxLines":4,"enabled":true},"media":{"layout":"thumbnail","size":{"value":100,"unit":"px"},"imageGap":{"value":4,"unit":"px"}},"truncation":{"bodyMaxLines":4,"truncateAll":false,"enabled":true},"loadMorePageSize":5},"controls":{"filterMode":"closed","freeTextSearchEnabled":false,"writeReviewButtonEnabled":true,"defaultSort":"date desc","sortOptionOrder":["date desc","has_media desc","helpful desc","rating desc","date asc","rating asc","unhelpful desc"]}}},"starRatings":{"showWhenEmpty":false,"style":{"spaceAbove":{"value":0,"unit":"px"},"text":{"content":"review-count","style":"number-and-text","brackets":false},"singleStar":false,"height":{"value":16,"unit":"px"},"spaceBelow":{"value":0,"unit":"px"}},"clickBehavior":"scroll-to-widget"}},"features":{"attributeFiltersEnabled":true,"recorderPlusEnabled":true,"recorderQandaPlusEnabled":true,"reviewsKeywordsEnabled":true,"reviewsSummariesEnabled":true}}</script>
740<style id="oke-css-vars">:root{--oke-widget-spaceAbove:50px;--oke-widget-spaceBelow:20px;--oke-starRating-spaceAbove:0;--oke-starRating-spaceBelow:0;--oke-button-backgroundColor:#da5846;--oke-button-backgroundColorHover:#fff;--oke-button-backgroundColorActive:#fff;--oke-button-textColor:#fff;--oke-button-textColorHover:#da5846;--oke-button-textColorActive:#da5846;--oke-button-borderColor:#da5846;--oke-button-borderColorHover:#da5846;--oke-button-borderColorActive:#da5846;--oke-button-borderRadius:50px;--oke-button-borderWidth:2px;--oke-button-fontWeight:700;--oke-button-fontSize:var(--oke-text-regular,14px);--oke-button-fontFamily:inherit;--oke-border-color:#da5846;--oke-border-width:1px;--oke-text-primaryColor:#3f3939;--oke-text-secondaryColor:#3f3939;--oke-text-small:14px;--oke-text-regular:16px;--oke-text-large:18px;--oke-text-fontFamily:inherit;--oke-avatar-size:undefined;--oke-avatar-backgroundColor:undefined;--oke-avatar-placeholderTextColor:undefined;--oke-highlightColor:#da5846;--oke-shadingColor:#fff;--oke-productImageSize:48px;--oke-attributeBar-shadingColor:#9a9db1;--oke-attributeBar-borderColor:undefined;--oke-attributeBar-backgroundColor:#d3d4dd;--oke-attributeBar-markerColor:#00caaa;--oke-filter-backgroundColor:#fff;--oke-filter-backgroundColorActive:#da5846;--oke-filter-borderColor:#da5846;--oke-filter-borderColorActive:#da5846;--oke-filter-textColor:#da5846;--oke-filter-textColorActive:#fff;--oke-filter-borderRadius:100px;--oke-filter-searchHighlightColor:#b2f9e9;--oke-mediaGrid-chevronColor:#676986;--oke-stars-foregroundColor:#da5846;--oke-stars-backgroundColor:#e5e5e5;--oke-stars-borderWidth:0}.oke-w,.oke-modal{--oke-title-fontWeight:600;--oke-title-fontSize:var(--oke-text-regular,14px);--oke-title-fontFamily:inherit;--oke-bodyText-fontWeight:400;--oke-bodyText-fontSize:var(--oke-text-regular,14px);--oke-bodyText-fontFamily:inherit}</style><style id="oke-reviews-custom-css">.okeReviews.oke-sr{display:block}.product__info-wrapper .oke-sr{padding-top:7px}[data-oke-widget] div.okeReviews[data-oke-container].oke-w{max-width:1300px;padding:0 2rem;padding:var(--oke-widget-spaceAbove) 2rem var(--oke-widget-spaceBelow)}div.oke-modal .okeReviews[data-oke-container].oke-w,div.okeReviews[data-oke-container] .oke-modal,div.okeReviews[data-oke-container] .oke-modal p,div.okeReviews[data-oke-container] .oke-modal .oke-helpful,div.okeReviews[data-oke-container] .oke-modal .oke-helpful-vote-button,div.okeReviews[data-oke-container] .oke-modal .oke-reviewContent-date{color:var(--oke-text-primaryColor)}div.okeReviews[data-oke-container] .oke-reviewContent-title,div.okeReviews .oke-reviewContent-title{font-weight:600}.okeReviews[data-oke-container].oke-w .oke-button,div.okeReviews .oke-button{font-size:1.6rem;font-weight:600;transition:all .3s ease}.okeReviews[data-oke-container].oke-w .oke-button:not(.oke-is-loading):not(.oke-is-active):hover,div.okeReviews .oke-button:not(.oke-is-loading):not(.oke-is-active):hover{box-shadow:initial}.okeReviews.oke-w .oke-is-small .oke-w-reviews-writeReview{width:100%;padding-top:10px}.okeReviews.oke-w .oke-is-small .oke-button,.okeReviews.oke-w .oke-is-small .oke-qw-header-askQuestion{width:100%}div.okeReviews[data-oke-container] .oke-sortSelect-label{margin-right:0}div.okeReviews[data-oke-container] .oke-w-reviews-controls{flex-wrap:wrap}@media screen and (min-width:750px){[data-oke-widget] div.okeReviews[data-oke-container].oke-w{padding:var(--oke-widget-spaceAbove) 5rem var(--oke-widget-spaceBelow)}}</style><template id="oke-reviews-body-template"><svg id="oke-star-symbols" style="display:none!important" data-oke-id="oke-star-symbols"><symbol id="oke-star-empty" style="overflow:visible;"><path id="star-default--empty" fill="var(--oke-stars-backgroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"></path></symbol><symbol id="oke-star-filled" style="overflow:visible;"><path id="star-default--filled" fill="var(--oke-stars-foregroundColor)" stroke="var(--oke-stars-borderColor)" stroke-width="var(--oke-stars-borderWidth)" d="M3.34 13.86c-.48.3-.76.1-.63-.44l1.08-4.56L.26 5.82c-.42-.36-.32-.7.24-.74l4.63-.37L6.92.39c.2-.52.55-.52.76 0l1.8 4.32 4.62.37c.56.05.67.37.24.74l-3.53 3.04 1.08 4.56c.13.54-.14.74-.63.44L7.3 11.43l-3.96 2.43z"></path></symbol></svg></template>
740<script>document.addEventListener('readystatechange',() =>{Array.from(document.getElementById('oke-reviews-body-template')?.content.children)?.forEach(function(child){if(!Array.from(document.body.querySelectorAll('[data-oke-id='.concat(child.getAttribute('data-oke-id'),']'))).length){document.body.prepend(child)}})},{once:true});</script>
740<!-- END app snippet --><!-- BEGIN app snippet: okendo-reviews-json-ld -->
740<script type="application/ld+json"> 741 { 742 "@context": "http://schema.org/", 743 744 "@type": "Product", 745 746 "@id": "/products/bookclub#product", 747 "url": "/products/bookclub", 748 "name": "Tuttle Twins Book Club", 749 "image": "https://www.tuttletwins.com/cdn/shop/files/BookClub_450x450.png?v=1772754854", 750 "description": "A monthly book adventure your kids will loveâ2 Tuttle Twins books delivered in order that spark curiosity, teach big ideas, and make learning fun!", 751 "mpn": "8712112832650", 752 "brand": { 753 "@type": "Brand", 754 "name": "Tuttle Twins" 755 }, 756 "offers": { 757 "@type": "Offer", 758 "priceCurrency": "USD", 759 "price": "19.99", 760 "availability": "InStock", 761 "seller": { 762 "@type": "Organization", 763 "name": "The Tuttle Twins" 764 } 765 } 766 767 ,"aggregateRating": { 768 "@type": "AggregateRating", 769 "ratingValue": "4.9", 770 "ratingCount": "12" 771 } 772 773 } 774 </script>
774<!-- END app snippet --><!-- BEGIN app snippet: widget-plus-initialisation-script -->
774<script async="" id="okendo-reviews-script" src="https://cdn-static.okendo.io/reviews-widget-plus/js/okendo-reviews.js"></script>
774<!-- END app snippet --><!-- END app block --><!-- BEGIN app block: shopify://apps/friendbuy-loyalty-referrals/blocks/friendbuy-auth-block/de138aa5-e87b-41e6-8e61-0dec9a2f9e38 -->
774<script type="application/javascript"> 775 window["friendbuyAPI"] = friendbuyAPI = window["friendbuyAPI"] || []; 776 friendbuyAPI.merchantId = "638b8260-5ecd-4709-91ec-ee5117b68c03"; 777 friendbuyAPI.shopify = { 778 page: "Tuttle Twins Book Club", 779 780 } 781</script>
781<!-- END app block --><!-- BEGIN app block: shopify://apps/elevar-conversion-tracking/blocks/dataLayerEmbed/bc30ab68-b15c-4311-811f-8ef485877ad6 --><!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
781<script async="" src="https://static.klaviyo.com/onsite/js/Vv3cEp/klaviyo.js?company_id=Vv3cEp"></script>
781<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
781<script id="viewed_product"> 782 if (item == null) { 783 var _learnq = _learnq || []; 784 785 var MetafieldReviews = null 786 var MetafieldYotpoRating = null 787 var MetafieldYotpoCount = null 788 var MetafieldLooxRating = null 789 var MetafieldLooxCount = null 790 var okendoProduct = null 791 var okendoProductReviewCount = null 792 var okendoProductReviewAverageValue = null 793 try { 794 // The following fields are used for Customer Hub recently viewed in order to add reviews. 795 // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items 796 MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"4.9"},"rating_count":12}; 797 MetafieldYotpoRating = null 798 MetafieldYotpoCount = null 799 MetafieldLooxRating = null 800 MetafieldLooxCount = null 801 802 okendoProduct = {"reviewCount":12,"reviewAverageValue":"4.9"} 803 // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data 804 if (okendoProduct && 'error' in okendoProduct) { 805 okendoProduct = null 806 } 807 okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null 808 okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null 809 } catch (error) { 810 console.error('Error in Klaviyo onsite reviews tracking:', error); 811 } 812 813 var item = { 814 Name: "Tuttle Twins Book Club", 815 ProductID: 8712112832650, 816 Categories: ["Ages 5-8","Ages 9 to 12","Best Sellers","Books","Books for 4th Graders","Books for 5th Graders","Books for 6th Graders","Books for Kids from Ages 5 to 8","Books for Kids from Ages 9 to 12","Bundles","Bundles","Bundles","Bundles","Children's Books","Children's Series","Children's Series Books","Childrenâs Series Bundles","Core Collection","Gifts Under $25","Homeschool Bundles","Kid's Best Sellers","Kids Books (Ages 5 to 12)","Kids Books (Ages 5 to 12) (Shop By Age Page)","Kids Bundles","Mystery Books for Kids","Shop All","Tuttle Twins Bundles","Tuttle Twins Bundles"], 817 ImageURL: "https://www.tuttletwins.com/cdn/shop/files/BookClub_grande.png?v=1772754854", 818 URL: "https://www.tuttletwins.com/products/bookclub", 819 Brand: "Tuttle Twins", 820 Price: "$19.99", 821 Value: "19.99", 822 CompareAtPrice: "$25.98" 823 }; 824 _learnq.push(['track', 'Viewed Product', item]); 825 _learnq.push(['trackViewedItem', { 826 Title: item.Name, 827 ItemId: item.ProductID, 828 Categories: item.Categories, 829 ImageUrl: item.ImageURL, 830 Url: item.URL, 831 Metadata: { 832 Brand: item.Brand, 833 Price: item.Price, 834 Value: item.Value, 835 CompareAtPrice: item.CompareAtPrice 836 }, 837 metafields:{ 838 reviews: MetafieldReviews, 839 yotpo:{ 840 rating: MetafieldYotpoRating, 841 count: MetafieldYotpoCount, 842 }, 843 loox:{ 844 rating: MetafieldLooxRating, 845 count: MetafieldLooxCount, 846 }, 847 okendo: { 848 rating: okendoProductReviewAverageValue, 849 count: okendoProductReviewCount, 850 } 851 } 852 }]); 853 } 854 </script>
854<script> 855 window.klaviyoReviewsProductDesignMode = false 856 </script>
856<!-- END app block -->
856<script src="https://cdn.shopify.com/extensions/01a0cfbb-b81d-7f5b-8c86-7ba91c0cffca/rebuy-personalization-engine-435/assets/rebuy-extensions.js" type="text/javascript" defer="defer"></script>
856<script src="https://cdn.shopify.com/extensions/01a0b7a6-6b2a-7126-be17-93581506982e/applovin-shop-integration-97/assets/app-embed.js" type="text/javascript" defer="defer"></script>
856<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
856<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 65589510282,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
856<script> 857 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 858</script>
858<script> 859 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 860 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 861 window.ShopifyAnalytics.meta.currency = 'USD'; 862 var meta = {"product":{"id":8712112832650,"gid":"gid:\/\/shopify\/Product\/8712112832650","vendor":"Tuttle Twins","type":"Print Book","handle":"bookclub","variants":[{"id":47235382149258,"price":1999,"name":"Tuttle Twins Book Club","public_title":null,"sku":"kid_law_pencil"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":8712112832650,"requestId":"0f20dc89-31cc-4c8b-8ebb-5407209dc5e8-1790254845"}}; 863 for (var attr in meta) { 864 window.ShopifyAnalytics.meta[attr] = meta[attr]; 865 } 866</script>
866<script class="analytics"> 867 (function () { 868 var customDocumentWrite = function(content) { 869 var jquery = null; 870 871 if (window.jQuery) { 872 jquery = window.jQuery; 873 } else if (window.Checkout && window.Checkout.$) { 874 jquery = window.Checkout.$; 875 } 876 877 if (jquery) { 878 jquery('body').append(content); 879 } 880 }; 881 882 var hasLoggedConversion = function(token) { 883 if (token) { 884 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 885 } 886 return false; 887 } 888 889 var setCookieIfConversion = function(token) { 890 if (token) { 891 var twoMonthsFromNow = new Date(Date.now()); 892 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 893 894 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 895 } 896 } 897 898 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 899 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 900 if (trekkie.integrations) { 901 return; 902 } 903 trekkie.methods = [ 904 'identify', 905 'page', 906 'ready', 907 'track', 908 'trackForm', 909 'trackLink' 910 ]; 911 trekkie.factory = function(method) { 912 return function() { 913 var args = Array.prototype.slice.call(arguments); 914 args.unshift(method); 915 trekkie.push(args); 916 if (method == 'track' || method == 'page') { 917 try { 918 if (window.__TREKKIE_SHIM_QUEUE == null) { 919 window.__TREKKIE_SHIM_QUEUE = []; 920 } 921 window.__TREKKIE_SHIM_QUEUE.push({ 922 from: 'trekkie-stub', 923 method: method, 924 args: args.slice(1) 925 }); 926 } catch (e) { 927 // no-op 928 } 929 } 930 return trekkie; 931 }; 932 }; 933 for (var i = 0; i < trekkie.methods.length; i++) { 934 var key = trekkie.methods[i]; 935 trekkie[key] = trekkie.factory(key); 936 } 937 trekkie.load = function(config) { 938 trekkie.config = config || {}; 939 trekkie.config.initialDocumentCookie = document.cookie; 940 var first = document.getElementsByTagName('script')[0]; 941var script = document.createElement('script'); 942script.type = 'text/javascript'; 943script.onerror = function(e) { 944 var scriptFallback = document.createElement('script'); 945 scriptFallback.type = 'text/javascript'; 946 scriptFallback.onerror = function(error) { 947 var Monorail = { 948 produce: function produce(monorailDomain, schemaId, payload) { 949 var currentMs = new Date().getTime(); 950 var event = { 951 schema_id: schemaId, 952 payload: payload, 953 metadata: { 954 event_created_at_ms: currentMs, 955 event_sent_at_ms: currentMs 956 } 957 }; 958 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 959 }, 960 sendRequest: function sendRequest(endpointUrl, payload) { 961 // Try the sendBeacon API 962 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 963 var blobData = new window.Blob([payload], { 964 type: 'text/plain' 965 }); 966 967 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 968 return true; 969 } // sendBeacon was not successful 970 971 } // XHR beacon 972 973 var xhr = new XMLHttpRequest(); 974 975 try { 976 xhr.open('POST', endpointUrl); 977 xhr.setRequestHeader('Content-Type', 'text/plain'); 978 xhr.send(payload); 979 } catch (e) { 980 console.log(e); 981 } 982 983 return false; 984 }, 985 isIos12: function isIos12() { 986 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 987 } 988 }; 989 Monorail.produce('monorail-edge.shopifysvc.com', 990 'trekkie_storefront_load_errors/1.1', 991 {shop_id: 65589510282, 992 theme_id: 157521051786, 993 app_name: "storefront", 994 context_url: window.location.href, 995 source_url: "//www.tuttletwins.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 996 997 }; 998 scriptFallback.async = true; 999 scriptFallback.src = '//www.tuttletwins.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1000 first.parentNode.insertBefore(scriptFallback, first); 1001}; 1002script.async = true; 1003script.src = '//www.tuttletwins.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 1004first.parentNode.insertBefore(script, first); 1005 1006 }; 1007 trekkie.load( 1008 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":65589510282,"isMerchantRequest":null,"themeId":157521051
1008786,"themeCityHash":"7327087636470480913","contentLanguage":"en","currency":"USD","eventMetadataId":"e4d2b1fa-4d51-4bdf-bfa8-ee501a009a32"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 1009 ); 1010 1011 var loaded = false; 1012 trekkie.ready(function() { 1013 if (loaded) return; 1014 loaded = true; 1015 1016 window.ShopifyAnalytics.lib = window.trekkie; 1017 1018 var originalDocumentWrite = document.write; 1019 document.write = customDocumentWrite; 1020 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 1021 document.write = originalDocumentWrite; 1022 1023 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 1024 var token = match? match[1]: undefined; 1025 if (!hasLoggedConversion(token)) { 1026 setCookieIfConversion(token); 1027 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":47235382149258,"productId":8712112832650,"productGid":"gid:\/\/shopify\/Product\/8712112832650","name":"Tuttle Twins Book Club","price":"19.99","sku":"kid_law_pencil","brand":"Tuttle Twins","variant":null,"category":"Print Book","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 1028 } 1029 }); 1030 1031 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":8712112832650,"requestId":"0f20dc89-31cc-4c8b-8ebb-5407209dc5e8-1790254845","shopifyEmitted":true}); 1032 1033 var eventsListenerScript = document.createElement('script'); 1034 eventsListenerScript.async = true; 1035 eventsListenerScript.src = "//www.tuttletwins.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 1036 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 1037})();</script>
1037<script defer="" src="https://www.tuttletwins.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" data-application="storefront-renderer" data-shop-id="65589510282" data-render-region="gcp-us-east1" data-page-type="product" data-theme-instance-id="157521051786" data-theme-name="Dawn" data-theme-version="15.2.0" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" data-shs="true" data-shs-beacon="true" data-shs-export-with-fetch="true" data-shs-logs-sample-rate="1" data-shs-beacon-endpoint="https://www.tuttletwins.com/api/collect"></script>
1037<meta name="shopify-y" content="79765161-c2a8-4677-8263-013b8225111b" data-expiration="1821811605000"><meta name="shopify-s" content="e849f4d4-5a67-479b-bfe0-ab12d47864b6" data-expiration="1790256417000"><meta name="new-cookie-storage-activated" content="t"></head><body class="template_replo-pdp gradient"> <a class="skip-to-content-link button visually-hidden" href="#MainContent"> Skip to content </a> <div id="back_to_top"></div><!-- BEGIN sections: header-group --> <div id="shopify-section-sections--22196841119882__z_announcement_bar_LKK6Jf" class="shopify-section shopify-section-group-header-group announcement-bar-section"><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-slideshow.css?v=122252013592172154891787249518" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-slider.css?v=93354059876761322841787249517" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-list-social.css?v=91588111571255811531787249519" rel="stylesheet" type="text/css" media="all"> <div class="utility-bar color-scheme-3 gradient utility-bar--bottom-border"> <div class="page-width utility-bar__grid"><slideshow-component class="announcement-bar" role="region" aria-roledescription="Carousel" aria-label="Announcement bar"> <div class="announcement-bar-slider slider-buttons"> <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Previous announcement" aria-controls="Slider-sections--22196841119882__z_announcement_bar_LKK6Jf"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> <div class="grid grid--1-col slider slider--everywhere" id="Slider-sections--22196841119882__z_announcement_bar_LKK6Jf" aria-live="polite" aria-atomic="true" data-autoplay="true" data-speed="5"><div class="slideshow__slide slider__slide grid__item grid--1-col" id="Slide-sections--22196841119882__z_announcement_bar_LKK6Jf-1" role="group" aria-roledescription="Announcement" aria-label="1 of 3" tabindex="-1"> <div class="announcement-bar__announcement" role="region" aria-label="Announcement"><a href="/products/the-tuttle-twins-choose-your-consequence-combo-pack" class="announcement-bar__link link link--text focus-inset animate-arrow"><p class="announcement-bar__message"> <span>SPECIAL: Choose Your Consequence Bundle â $59</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1037ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"></path></svg> </p></a></div> </div><div class="slideshow__slide slider__slide grid__item grid--1-col" id="Slide-sections--22196841119882__z_announcement_bar_LKK6Jf-2" role="group" aria-roledescription="Announcement" aria-label="2 of 3" tabindex="-1"> <div class="announcement-bar__announcement" role="region" aria-label="Announcement"><a href="/products/business-basics-grade-3" class="announcement-bar__link link link--text focus-inset animate-arrow"><p class="announcement-bar__message"> <span>NEW Curriculum: Business Basics Grade 3 is Available Now!</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewBox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"></path></svg> </p></a></div> </div><div class="slideshow__slide slider__slide grid__item grid--1-col" id="Slide-sections--22196841119882__z_announcement_bar_LKK6Jf-3" role="group" aria-roledescription="Announcement" aria-label="3 of 3" tabindex="-1"> <div class="announcement-bar__announcement" role="region" aria-label="Announcement"><p class="announcement-bar__message"> <span>Free US Shipping (Lower 48) on Orders $175+</span></p></div> </div></div> <button type="button" class="slider-button slider-button--next" name="next" aria-label="Next announcement" aria-controls="Slider-sections--22196841119882__z_announcement_bar_LKK6Jf"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> </div> </slideshow-component><div class="localization-wrapper"> </div> </div> </div> <style> @media (max-width: 767px) {#shopify-section-sections--22196841119882__z_announcement_bar_LKK6Jf p {font-size: 12px; }} </style></div><div id="shopify-section-sections--22196841119882__header" class="shopify-section shopify-section-group-header-group section-header"> <link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-list-menu.css?v=151968516119678728991787249518" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-search.css?v=165164710990765432851787249516" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-menu-drawer.css?v=147478906057189667651787249516" media="print" onload="this.media='all'"> <link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-cart-notification.css?v=54116361853792938221787249515" media="print" onload="this.media='all'"><link rel="stylesheet" href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-price.css?v=173810941028741436861787249519" media="print" onload="this.media='all'"><style> 1038 header-drawer { 1039 justify-self: start; 1040 margin-left: -1.2rem; 1041 }.scrolled-past-header .header__heading-logo-wrapper { 1042 width: 75%; 1043 }@media screen and (min-width: 990px) { 1044 header-drawer { 1045 display: none; 1046 } 1047 }.menu-drawer-container { 1048 display: flex; 1049 } 1050 1051 .list-menu { 1052 list-style: none; 1053 padding: 0; 1054 margin: 0; 1055 } 1056 1057 .list-menu--inline { 1058 display: inline-flex; 1059 flex-wrap: wrap; 1060 } 1061 1062 summary.list-menu__item { 1063 padding-right: 2.7rem; 1064 } 1065 1066 .list-menu__item { 1067 display: flex; 1068 align-items: center; 1069 line-height: calc(1 + 0.3 / var(--font-body-scale)); 1070 } 1071 1072 .list-menu__item--link { 1073 text-decoration: none; 1074 padding-bottom: 1rem; 1075 padding-top: 1rem; 1076 line-height: calc(1 + 0.3 / var(--font-body-scale)); 1077 } 1078 1079 @media screen and (min-width: 750px) { 1080 .list-menu__item--link { 1081 padding-bottom: 0.5rem; 1082 padding-top: 0.5rem; 1083 } 1084 } 1085</style><style data-shopify="">.header { 1086 padding: 2px 3rem 0px 3rem; 1087 } 1088 1089 .section-header { 1090 position: sticky; /* This is for fixing a Safari z-index issue. PR #2147 */ 1091 margin-bottom: 0px; 1092 } 1093 1094 @media screen and (min-width: 750px) { 1095 .section-header { 1096 margin-bottom: 0px; 1097 } 1098 } 1099 1100 @media screen and (min-width: 990px) { 1101 .header { 1102 padding-top: 4px; 1103 padding-bottom: 0px; 1104 } 1105 }</style>
1105<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/cart-notification.js?v=133508293167896966491787249516" defer="defer"></script>
1105 <sticky-header data-sticky-type="reduce-logo-size" class="header-wrapper color-scheme-2 gradient"> <header class="header header--middle-left header--mobile-center page-width header--has-menu header--has-social header--has-account"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/custom-header-drawer.css?v=22970548444120207801787249518" rel="stylesheet" type="text/css" media="all"> <header-drawer data-breakpoint="tablet"> <details id="Details-menu-drawer-container" class="menu-drawer-container"> <summary class="header__icon header__icon--menu header__icon--summary link focus-inset" aria-label="Menu"> <span><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-hamburger" viewBox="0 0 18 16"><path fill="currentColor" d="M1 .5a.5.5 0 1 0 0 1h15.71a.5.5 0 0 0 0-1zM.5 8a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1A.5.5 0 0 1 .5 8m0 7a.5.5 0 0 1 .5-.5h15.71a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5"></path></svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"></path></svg> </span> </summary> <div id="menu-drawer" class="menu-drawer color-scheme-1"> <div class="menu-drawer__inner-container"> <div class="dc_menu-drawer__navigation-container"> <a href="https://www.tuttletwins.com/products/tuttle-twins-family-starter-pack" class="dc_menu_drawer__banner"> <div class="dc_menu_drawer__banner-image-container"> <img src="//www.tuttletwins.com/cdn/shop/files/6af5ce35c5d633157b0e63413eea109983aaaa4b.webp?v=1776455522&width=800" alt="files/6af5ce35c5d633157b0e63413eea109983aaaa4b.webp" loading="lazy" width="" height=""> <div class="dc_mobile-banner-overlay"> <div class="dc_banner-overlay-inner-container"> <div class="dc_banner-tag">Best Selling Bundle</div> <p class="dc_banner-heading">Family Starter Pack</p> </div> <div class="dc_banner-overlay-inner-container"> <div class="dc_banner-button"> Shop Now </div> </div> </div> </div> </a> <div class="dc_expandable-submenu-container"> <div class="dc_expandable-header dc_expandable-toggle" role="button" tabindex="0" aria-expanded="false"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48102582_1_8d78b839-3eca-43fb-b441-948b83b87371.png?v=1777394656&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48102582_1_8d78b839-3eca-43fb-b441-948b83b87371.png?v=1777394656&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48102582_1_8d78b839-3eca-43fb-b441-948b83b87371.png?v=1777394656&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48102582_1_8d78b839-3eca-43fb-b441-948b83b87371.png?v=1777394656&width=168 3x" alt="Shop By Age" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Shop By Age</p> </div> <span class="dc_expandable-chevron"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"> <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </div> <div class="dc_expandable-submenu-links dc_expandable-submenu-links--collapsible"> <ul role="list"><li> <a href="https://www.tuttletwins.com/collections/toddler-books" class="dc_link"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/Frame_48102561_f0d3acad-852a-42af-8760-16fe083d1f06.png?v=1777397370&width=90" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48102561_f0d3acad-852a-42af-8760-16fe083d1f06.png?v=1777397370&width=30 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48102561_f0d3acad-852a-42af-8760-16fe083d1f06.png?v=1777397370&width=60 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48102561_f0d3acad-852a-42af-8760-16fe083d1f06.png?v=1777397370&width=90 3x" alt="Toddlers" width="30" height="30"><span>Toddlers</span> </a> </li><li>
1105 <a href="https://www.tuttletwins.com/pages/childrens-resources" class="dc_link"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/Frame_48102562_2a6b50c6-c94a-48ce-8a5e-8fcdddf36556.png?v=1777397746&width=90" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48102562_2a6b50c6-c94a-48ce-8a5e-8fcdddf36556.png?v=1777397746&width=30 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48102562_2a6b50c6-c94a-48ce-8a5e-8fcdddf36556.png?v=1777397746&width=60 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48102562_2a6b50c6-c94a-48ce-8a5e-8fcdddf36556.png?v=1777397746&width=90 3x" alt="Ages 5 to 12" width="30" height="30"><span>Ages 5 to 12</span> </a> </li><li> <a href="https://www.tuttletwins.com/pages/books-for-teens" class="dc_link"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/Frame_48102583.png?v=1777397766&width=90" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48102583.png?v=1777397766&width=30 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48102583.png?v=1777397766&width=60 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48102583.png?v=1777397766&width=90 3x" alt="Ages 13+" width="30" height="30"><span>Ages 13+</span> </a> </li></ul> </div> </div> <div class="dc_expandable-submenu-container"> <div class="dc_expandable-header dc_expandable-toggle" role="button" tabindex="0" aria-expanded="false"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Nav_menu_testing_1.png?v=1789507638&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Nav_menu_testing_1.png?v=1789507638&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Nav_menu_testing_1.png?v=1789507638&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Nav_menu_testing_1.png?v=1789507638&width=168 3x" alt="Shop By Collection" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Shop By Collection</p> </div> <span class="dc_expandable-chevron"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"> <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </div> <div class="dc_expandable-submenu-links dc_expandable-submenu-links--collapsible"> <ul role="list"><li> <a href="/collections/american-history-for-kids" class="dc_link"><span>America's History</span> </a> </li><li> <a href="/collections/childrens-series" class="dc_link"><span>Children's Storybooks</span> </a> </li><li> <a href="/collections/curriculum" class="dc_link"><span>Curriculum</span> </a> </li><li> <a href="/collections/guidebooks" class="dc_link"><span>Guidebooks</span> </a> </li><li> <a href="/collections/cartoon" class="dc_link"><span>Graphic Novels</span> </a> </li><li> <a href="/collections/toddler-books" class="dc_link"><span>Toddler Board Books</span> </a> </li><li> <a href="/collections/choose-your-consequence" class="dc_link"><span>Teen Fiction</span> </a> </li><li> <a href="/collections/magazine" class="dc_link"><span>Magazine</span> </a> </li><li> <a href="/collections/other-languages" class="dc_link"><span>Other Languages</span> </a> </li></ul> </div> </div> <div class="dc_expandable-submenu-container"> <a href="https://www.tuttletwins.com/products/bookclub" class="dc_expandable-header"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_1.png?v=1776451809&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_1.png?v=1776451809&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_1.png?v=1776451809&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_1.png?v=1776451809&width=168 3x" alt="Book Club" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Book Club</p> </div> <div class="dc_mobile-menu-tag" style="background-color:#e4a634; color: #ffffff"> up to 23% off </div> </a> </div> <div class="dc_expandable-submenu-container"> <a href="https://www.tuttletwins.com/collections/bundles" class="dc_expandable-header"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_2.png?v=1776451808&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_2.png?v=1776451808&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_2.png?v=1776451808&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_2.png?v=1776451808&width=168 3x" alt="Shop Bundles" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Shop Bundles</p> </div> </a> </div> <div class="dc_expandable-submenu-container"> <a href="https://www.tuttletwins.com/pages/academy" class="dc_expandable-header"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_3.png?v=1776451808&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_3.png?v=1776451808&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_3.png?v=1776451808&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_3.png?v=1776451808&width=168 3x" alt="Academy" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Academy</p> </div> </a> </div> <div class="dc_expandable-submenu-container"> <a href="https://www.tuttletwins.com/pages/homeschool-hub" class="dc_expandable-header"> <div class="dc_expandable-submenu-label"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_4.png?v=1776451808&width=168" srcset="//www.tuttletwins.com/cdn/shop/files/Frame_48101707_4.png?v=1776451808&width=56 1x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_4.png?v=1776451808&width=112 2x, //www.tuttletwins.com/cdn/shop/files/Frame_48101707_4.png?v=1776451808&width=168 3x" alt="Homeschool Hub" width="56" height="56" class="dc_expandable-submenu-icon"> <p class="dc_expandable-submenu-label__text">Homeschool Hub</p> </div> </a> </div> <nav class="menu-drawer__navigation"> <ul class="dc_menu-drawer__menu" role="list"><li class="dc_link-item"><a href="/collections/shop-all" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/library-solid-standard_1_1.png?v=1776454632&width=40" width="" height=""><span>Shop All</span> </a></li><li class="dc_link-item"><a href="https://www.tuttletwins.com/pages/comparison-page" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/Vector.png?v=1768420686&width=40" width="" height=""><span>Compare</span> </a></li><li class="dc_link-item"><a href="https://www.tuttletwins.com/pages/where-to-start" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><img class="dc_link-item__image" src="//www.tuttletwins.com/cdn/shop/files/Frame_4.png?v=1768420685&width=40" width="" height=""><span>Not sure where to start?</span> </a></li></ul> </nav> <hr class="dc_menu-drawer_separator-line"><nav class="menu-drawer__navigation"> <ul class="dc_menu-drawer__menu" role="list"><li class="dc_link-item"><div class="dc_expandable-header dc_expandable-toggle" role="button" tabindex="0" aria-expanded="false"> <div style="display: flex; align-items: center; gap: 10px;"><span class="dc_link">About</span> </div> <span class="dc_expandable-chevron"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1105ox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"> <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </div> <ul class="dc_expandable-submenu-links dc_expandable-submenu-links--collapsible" role="list"><li> <a href="https://www.tuttletwins.com/pages/about" class="dc_link"> <span>About Us</span> </a> </li><li> <a href="https://www.tuttletwins.com/pages/blog" class="dc_link"> <span>Blog</span> </a> </li><li> <a href="https://www.tuttletwins.com/pages/events" class="dc_link"> <span>Events</span> </a> </li></ul></li><li class="dc_link-item"><a href="https://www.tuttletwins.com/collections/merch" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><span>Merch</span> </a></li><li class="dc_link-item"><a href="https://www.tuttletwins.com/products/tuttle-twins-giftcard" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><span>Gift Cards</span> </a></li><li class="dc_link-item"><a href="https://account.tuttletwins.com/profile?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIwMzRjNzYtNzQtMi5teXNob3BpZnkuY29tIiwiZmxhZ3MiOltdLCJleHAiOjE3OTA4NTk2NDUsIm5iZiI6MTc5MDI1NDg0NX0.fUP-Ty4tDW815vFMoXktzy_zapiYQYvbuyk3T-H_m5A" class="dc_link" style="display: flex; align-items: center; gap: 10px;"><span>Login</span> </a></li></ul> </nav> <ul class="list-unstyled list-social dc_menw-drawer__social-icons" role="list"><li class="list-social__item"> <a href="https://www.facebook.com/TuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-facebook" viewBox="0 0 320 512"><path fill="currentColor" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path></svg> </span> <span class="visually-hidden">Facebook</span> </a> </li><li class="list-social__item"> <a href="https://x.com/tuttletwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-twitter" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M7.273 2.8 10.8 7.822 15.218 2.8h1.768l-5.4 6.139 5.799 8.254h-4.658l-3.73-5.31-4.671 5.31H2.558l5.654-6.427L2.615 2.8zm6.242 13.125L5.07 4.109h1.405l8.446 11.816z" clip-rule="evenodd"></path></svg> </span> <span class="visually-hidden">X (Twitter)</span> </a> </li><li class="list-social__item"> <a href="https://www.instagram.com/tuttletwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-instagram" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.4 2.4 0 0 0-.912.593 2.5 2.5 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23s.01 2.39.046 3.229c.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046s2.39-.01 3.23-.046c.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23s-.01-2.39-.055-3.229c-.027-.784-.164-1.204-.274-1.495a2.4 2.4 0 0 0-.593-.913 2.6 2.6 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045a63 63 0 0 1 3.302.045c.664.014 1.321.14 1.943.374a4 4 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.9 3.9 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.15 4.15 0 0 1-1.414-.922 4.1 4.1 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.4 4.4 0 0 1 .92-1.414 4.2 4.2 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805m1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93m5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355" clip-rule="evenodd"></path></svg> </span> <span class="visually-hidden">Instagram</span> </a> </li><li class="list-social__item"> <a href="https://www.tiktok.com/@tuttle_twins" class="link list-social__link"> <span class="svg-wrapper">
1105<svg class="icon icon-tiktok" viewBox="0 0 20 20"><path fill="currentColor" d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205z"></path></svg> </span> <span class="visually-hidden">TikTok</span> </a> </li><li class="list-social__item"> <a href="https://www.youtube.com/@TheTuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-youtube" viewBox="0 0 20 20"><path fill="currentColor" d="M18.16 5.87c.34 1.309.34 4.08.34 4.08s0 2.771-.34 4.08a2.13 2.13 0 0 1-1.53 1.53c-1.309.34-6.63.34-6.63.34s-5.321 0-6.63-.34a2.13 2.13 0 0 1-1.53-1.53c-.34-1.309-.34-4.08-.34-4.08s0-2.771.34-4.08a2.17 2.17 0 0 1 1.53-1.53C4.679 4 10 4 10 4s5.321 0 6.63.34a2.17 2.17 0 0 1 1.53 1.53M8.3 12.5l4.42-2.55L8.3 7.4z"></path></svg> </span> <span class="visually-hidden">YouTube</span> </a> </li><li class="list-social__item"> <a href="https://www.pinterest.com/TuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-pinterest" viewBox="0 0 20 20"><path fill="currentColor" d="M10 2.01a8.1 8.1 0 0 1 5.666 2.353 8.09 8.09 0 0 1 1.277 9.68A7.95 7.95 0 0 1 10 18.04a8.2 8.2 0 0 1-2.276-.307c.403-.653.672-1.24.816-1.729l.567-2.2c.134.27.393.5.768.702.384.192.768.297 1.19.297q1.254 0 2.248-.72a4.7 4.7 0 0 0 1.537-1.969c.37-.89.554-1.848.537-2.813 0-1.249-.48-2.315-1.43-3.227a5.06 5.06 0 0 0-3.65-1.374c-.893 0-1.729.154-2.478.461a5.02 5.02 0 0 0-3.236 4.552c0 .72.134 1.355.413 1.902.269.538.672.922 1.22 1.152.096.039.182.039.25 0 .066-.028.114-.096.143-.192l.173-.653c.048-.144.02-.288-.105-.432a2.26 2.26 0 0 1-.548-1.565 3.803 3.803 0 0 1 3.976-3.861c1.047 0 1.863.288 2.44.855.585.576.883 1.315.883 2.228a6.8 6.8 0 0 1-.317 2.122 3.8 3.8 0 0 1-.893 1.556c-.384.384-.836.576-1.345.576-.413 0-.749-.144-1.018-.451-.259-.307-.345-.672-.25-1.085q.22-.77.452-1.537l.173-.701c.057-.25.086-.451.086-.624 0-.346-.096-.634-.269-.855-.192-.22-.451-.336-.797-.336-.432 0-.797.192-1.085.595-.288.394-.442.893-.442 1.499.005.374.063.746.173 1.104l.058.144c-.576 2.478-.913 3.938-1.037 4.36-.116.528-.154 1.153-.125 1.863A8.07 8.07 0 0 1 2 10.03c0-2.208.778-4.11 2.343-5.666A7.72 7.72 0 0 1 10 2.001z"></path></svg> </span> <span class="visually-hidden">Pinterest</span> </a> </li></ul> </div> </div> </div> </details> </header-drawer>
1105<script> 1106 document.addEventListener('DOMContentLoaded', function () { 1107 document.querySelectorAll('.dc_expandable-toggle').forEach(function (el) { 1108 function toggle() { 1109 var expanded = el.getAttribute('aria-expanded') === 'true'; 1110 el.setAttribute('aria-expanded', String(!expanded)); 1111 el.nextElementSibling.classList.toggle('is-open', !expanded); 1112 } 1113 el.addEventListener('click', toggle); 1114 el.addEventListener('keydown', function (e) { 1115 if (e.key === 'Enter' || e.key === ' ') { 1116 e.preventDefault(); 1117 toggle(); 1118 } 1119 }); 1120 }); 1121 }); 1122</script>
1122 <a href="/" class="header__heading-link link link--text focus-inset"><div class="header__heading-logo-wrapper" style="max-width:150px;"> <img src="//www.tuttletwins.com/cdn/shop/files/TT_LOGO_Yellow.webp?v=1729345122&width=800" alt="The Tuttle Twins" srcset="//www.tuttletwins.com/cdn/shop/files/TT_LOGO_Yellow.webp?v=1729345122&width=600 600w" width="600" height="229.3170731707317" loading="eager" class="header__heading-logo motion-reduce"> </div></a> <nav class="header__inline-menu"> <ul class="list-menu list-menu--inline" role="list"><li><header-menu> <details id="Details-HeaderMenu-1"> <summary id="HeaderMenu-products" class="header__menu-item list-menu__item link focus-inset"> <span>Products</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </summary> <ul id="HeaderMenu-MenuList-1" class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a id="HeaderMenu-products-shop-all" href="/collections/shop-all" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Shop All </a></li><li><details id="Details-HeaderSubMenu-products-by-age"> <summary id="HeaderMenu-products-by-age" class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>By Age</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </summary> <ul id="HeaderMenu-SubMenuList-products-by-age-" class="header__submenu list-menu motion-reduce"><li> <a id="HeaderMenu-products-by-age-toddler" href="/collections/toddler-books" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Toddler </a> </li><li> <a id="HeaderMenu-products-by-age-age-5-12" href="/pages/childrens-resources" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Age 5-12 </a> </li><li> <a id="HeaderMenu-products-by-age-age-13" href="/pages/books-for-teens" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Age 13+ </a> </li></ul> </details></li><li><details id="Details-HeaderSubMenu-products-collections"> <summary id="HeaderMenu-products-collections" class="header__menu-item link link--text list-menu__item focus-inset caption-large"> <span>Collections</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </summary> <ul id="HeaderMenu-SubMenuList-products-collections-" class="header__submenu list-menu motion-reduce"><li> <a id="HeaderMenu-products-collections-bundles" href="/collections/bundles" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Bundles </a> </li><li> <a id="HeaderMenu-products-collections-childrens-storybooks" href="/collections/childrens-series" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Children's Storybooks </a> </li><li> <a id="HeaderMenu-products-collections-magazine" href="/collections/magazine" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Magazine </a> </li><li> <a id="HeaderMenu-products-collections-americas-history" href="/collections/american-history-for-kids" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> America's History </a> </li><li> <a id="HeaderMenu-products-collections-guidebooks" href="/collections/guidebooks" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Guidebooks </a> </li><li> <a id="HeaderMenu-products-collections-teen-fiction" href="/collections/choose-your-consequence" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Teen Fiction </a> </li><li> <a id="HeaderMenu-products-collections-curriculum" href="/collections/curriculum" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Curriculum </a> </li><li> <a id="HeaderMenu-products-collections-toddler-board-books" href="/collections/toddler-books" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Toddler Board Books </a> </li><li> <a id="HeaderMenu-products-collections-graphic-novels" href="/collections/cartoon" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Graphic Novels </a> </li><li> <a id="HeaderMenu-products-collections-games" href="/collections/games" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Games </a> </li><li> <a id="HeaderMenu-products-collections-e-books" href="/collections/e-book" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> E-books </a> </li><li> <a id="HeaderMenu-products-collections-other-products" href="/collections/other-products" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Other Products </a> </li><li> <a id="HeaderMenu-products-collections-other-languages" href="/pages/other
1122-languages" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Other Languages </a> </li></ul> </details></li><li><a id="HeaderMenu-products-merch" href="/collections/merch" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Merch </a></li><li><a id="HeaderMenu-products-gift-cards" href="/products/tuttle-twins-giftcard" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Gift Cards </a></li><li><a id="HeaderMenu-products-bundle-builder" href="/pages/bundle-builder" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Bundle Builder </a></li></ul> </details> </header-menu></li><li><a id="HeaderMenu-book-club" href="https://www.tuttletwins.com/products/tuttle-twins-book-subscription" class="header__menu-item list-menu__item link link--text focus-inset"> <span>Book Club</span> </a></li><li><a id="HeaderMenu-shop-bundles" href="/collections/bundles" class="header__menu-item list-menu__item link link--text focus-inset"> <span>Shop Bundles</span> </a></li><li><a id="HeaderMenu-academy" href="/pages/academy" class="header__menu-item list-menu__item link link--text focus-inset"> <span>Academy</span> </a></li><li><a id="HeaderMenu-homeschool-hub" href="/pages/homeschool-hub" class="header__menu-item list-menu__item link link--text focus-inset"> <span>Homeschool Hub</span> </a></li><li><header-menu> <details id="Details-HeaderMenu-6"> <summary id="HeaderMenu-about" class="header__menu-item list-menu__item link focus-inset"> <span>About</span><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </summary> <ul id="HeaderMenu-MenuList-6" class="header__submenu list-menu list-menu--disclosure color-scheme-1 gradient caption-large motion-reduce global-settings-popup" role="list" tabindex="-1"><li><a id="HeaderMenu-about-about-us" href="/pages/about" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> About Us </a></li><li><a id="HeaderMenu-about-blog" href="/pages/blog" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Blog </a></li><li><a id="HeaderMenu-about-events" href="/pages/events" class="header__menu-item list-menu__item link link--text focus-inset caption-large"> Events </a></li></ul> </details> </header-menu></li></ul> </nav> <div class="header__icons"> <div class="desktop-localization-wrapper"> </div> <details-modal class="ssky-header-search__mobile header__search"> <details> <summary class="header__icon header__icon--search header__icon--summary link focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search"> <span> <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"></path></svg> </span> </span> </summary> <div class="search-modal modal__content gradient" role="dialog" aria-modal="true" aria-label="Search"> <div class="modal-overlay"></div> <div class="search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form"> <div class="field"> <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" style="visibility: hidden; width: 0; height: 0; opacity: 0; "> <label class="field__label" for="Search-In-Modal" style="visibility: hidden; width: 0; height: 0; opacity: 0;">Search</label> <input type="hidden" name="options[prefix]" value="last"> <button class="search__button field__button" aria-label="Search"> <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19">
1122<path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"></path></svg> </span> </button> </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search=""> </div> <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search><button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="Close"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"></path></svg> </span> </button> </div> </div> </details> </details-modal> <div class="ssky-header-search__desktop gradient search-modal__content search-modal__content-bottom" tabindex="-1"><predictive-search class="search-modal__form" data-loading-text="Loading..."><form action="/search" method="get" role="search" class="search search-modal__form"> <div class="field"> <input class="search__input field__input" id="Search-In-Modal" type="search" name="q" value="" placeholder="Search" role="combobox" aria-expanded="false" aria-owns="predictive-search-results" aria-controls="predictive-search-results" aria-haspopup="listbox" aria-autocomplete="list" autocorrect="off" autocomplete="off" autocapitalize="off" spellcheck="false" style="visibility: hidden; width: 0; height: 0; opacity: 0;"> <label class="field__label" for="Search-In-Modal" style="visibility: hidden; width: 0; height: 0; opacity: 0;">Search</label> <input type="hidden" name="options[prefix]" value="last"> <button class="search__button field__button" aria-label="Search"> <span class="svg-wrapper"><svg fill="none" class="icon icon-search" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 1 1 2.85 3.5a5.784 5.784 0 0 1 8.18 8.18m.26 1.12a6.78 6.78 0 1 1 .72-.7l5.4 5.4a.5.5 0 1 1-.71.7z" clip-rule="evenodd"></path></svg> </span> </button> </div><div class="predictive-search predictive-search--header" tabindex="-1" data-predictive-search=""> </div> <span class="predictive-search-status visually-hidden" role="status" aria-hidden="true"></span></form></predictive-search></div> <a href="https://www.tuttletwins.com/customer_authentication/redirect?locale=en&region_country=US" class="header__icon header__icon--account link focus-inset small-hide" rel="nofollow"><account-icon><span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-account" viewBox="0 0 18 19"><path fill="currentColor" fill-rule="evenodd" d="M6 4.5a3 3 0 1 1 6 0 3 3 0 0 1-6 0m3-4a4 4 0 1 0 0 8 4 4 0 0 0 0-8m5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15M9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35" clip-rule="evenodd"></path></svg> </span></account-icon><span class="visually-hidden">Log in</span> </a><a href="/cart" class="header__icon header__icon--cart link focus-inset" id="cart-icon-bubble"><span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-cart-empty" viewBox="0 0 40 40"><path fill="currentColor" fill-rule="evenodd" d="M15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33L28.4 11.8zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1-9.5 0zm8.5 0h-7.5v.63a3.75 3.75 0 1 0 7.5 0z"></path></svg></span><span class="visually-hidden">Cart</span></a> </div> </header> </sticky-header> <cart-notification> <div class="cart-notification-wrapper page-width"> <div id="cart-notification" class="cart-notification focus-inset color-scheme-2 gradient" aria-modal="true" aria-label="Item added to your cart" role="dialog" tabindex="-1"> <div class="cart-notification__header"> <h2 class="cart-notification__heading caption-large text-body"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-checkmark" viewBox="0 0 12 9">
1122<path fill="currentColor" fill-rule="evenodd" d="M11.35.643a.5.5 0 0 1 .006.707l-6.77 6.886a.5.5 0 0 1-.719-.006L.638 4.845a.5.5 0 1 1 .724-.69l2.872 3.011 6.41-6.517a.5.5 0 0 1 .707-.006z" clip-rule="evenodd"></path></svg> Item added to your cart </h2> <button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="Close"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"></path></svg> </span> </button> </div> <div id="cart-notification-product" class="cart-notification-product"></div> <div class="cart-notification__links"> <a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width">View cart</a> <form action="/cart" method="post" id="cart-notification-form"> <button class="button button--primary button--full-width" name="checkout"> Check out </button> </form> <button type="button" class="link button-label">Continue shopping</button> </div> </div> </div> </cart-notification> <style data-shopify=""> 1123 .cart-notification { 1124 display: none; 1125 } 1126</style>
1126<script type="application/ld+json"> 1127 { 1128 "@context": "http://schema.org", 1129 "@type": "Organization", 1130 "name": "The Tuttle Twins", 1131 1132 "logo": "https:\/\/www.tuttletwins.com\/cdn\/shop\/files\/TT_LOGO_Yellow.webp?v=1729345122\u0026width=500", 1133 1134 "sameAs": [ 1135 "https:\/\/x.com\/tuttletwins", 1136 "https:\/\/www.facebook.com\/TuttleTwins", 1137 "https:\/\/www.pinterest.com\/TuttleTwins", 1138 "https:\/\/www.instagram.com\/tuttletwins", 1139 "https:\/\/www.tiktok.com\/@tuttle_twins", 1140 "", 1141 "", 1142 "https:\/\/www.youtube.com\/@TheTuttleTwins", 1143 "" 1144 ], 1145 "url": "https:\/\/www.tuttletwins.com" 1146 } 1147</script>
1147 </div><section id="shopify-section-sections--22196841119882__z_custom_liquid_DkQ4RY" class="shopify-section shopify-section-group-header-group section"><style data-shopify="">.section-sections--22196841119882__z_custom_liquid_DkQ4RY-padding { 1148 padding-top: calc(0px * 0.75); 1149 padding-bottom: calc(0px * 0.75); 1150 } 1151 1152 @media screen and (min-width: 750px) { 1153 .section-sections--22196841119882__z_custom_liquid_DkQ4RY-padding { 1154 padding-top: 0px; 1155 padding-bottom: 0px; 1156 } 1157 }</style><div class="color-scheme-1 gradient"> <div class="section-sections--22196841119882__z_custom_liquid_DkQ4RY-padding"> <div style="background-color: #04AED8; text-align: center; margin: 0; padding: 0; line-height: 0;"> <a href="https://www.tuttletwins.com/products/the-tuttle-twins-choose-your-consequence-combo-pack" style="margin: 0; padding: 0;"> <img src="//www.tuttletwins.com/cdn/shop/t/158/assets/CYC-2026-desktop_3600x.png?v=112734865526835657621790080046" alt="Description of image" class="responsive-banner desktop-only"> <img src="//www.tuttletwins.com/cdn/shop/t/158/assets/CYC-2026-mobile_800x.png?v=88963057429385615661790080046" alt="Description of mobile image" class="responsive-banner mobile-only"> </a> </div> <style> 1158 .responsive-banner { 1159 display: block; 1160 width: 100%; 1161 max-width: 100%; 1162 margin: 0; 1163 padding: 0; 1164 border: 0; 1165 } 1166 1167 .desktop-only { 1168 display: none; 1169 } 1170 1171 .mobile-only { 1172 display: block; 1173 } 1174 1175 @media (min-width: 768px) { 1176 .desktop-only { 1177 display: block; 1178 } 1179 .mobile-only { 1180 display: none; 1181 } 1182 } 1183 </style> </div> </div> </section> <!-- END sections: header-group --> <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/sections-ssky.css?v=172206795710911231531787249516" rel="stylesheet" type="text/css" media="all"> <section id="shopify-section-template--22196841349258__main" class="shopify-section section"><product-info id="MainProduct-template--22196841349258__main" class="section-template--22196841349258__main-padding gradient color-scheme-1" data-section="template--22196841349258__main" data-product-id="8712112832650" data-update-url="true" data-url="/products/bookclub"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/section-main-product.css?v=45488208063735660981787249518" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-accordion.css?v=46430265669331212571787249517" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-price.css?v=173810941028741436861787249519" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-slider.css?v=93354059876761322841787249517" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-rating.css?v=179577762467860590411787249516" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-deferred-media.css?v=14096082462203297471787249517" rel="stylesheet" type="text/css" media="all"> <style data-shopify="">.section-template--22196841349258__main-padding { 1184 padding-top: 60px; 1185 padding-bottom: 60px; 1186 } 1187 1188 @media screen and (min-width: 750px) { 1189 .section-template--22196841349258__main-padding { 1190 padding-top: 80px; 1191 padding-bottom: 80px; 1192 } 1193 } 1194 1195 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full { 1196 display: block; 1197 gap: 0; 1198 } 1199 1200 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .ssky-product-qty-con { 1201 display: none !important; 1202 } 1203 1204 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .ssky-product-atc-con, 1205 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .buy-buttons--wrapper, 1206 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .product-form, 1207 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .product-form form, 1208 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .product-form__buttons { 1209 flex: 1 1 100% !important; 1210 max-width: none !important; 1211 width: 100% !important; 1212 } 1213 1214 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .product-form__submit, 1215 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .flex-bundle-btn, 1216 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .shopify-payment-button, 1217 #MainProduct-template--22196841349258__main .ssky-product-qty-atc-con--full .shopify-payment-button__button { 1218 max-width: none !important; 1219 width: 100% !important; 1220 } 1221 1222 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text { 1223 --icon-size: 16px; 1224 --icon-spacing: 6px; 1225 margin: 18px 0; 1226 } 1227 1228 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text--horizontal { 1229 align-items: center; 1230 column-gap: 30px; 1231 display: flex; 1232 flex-direction: row; 1233 flex-wrap: wrap; 1234 justify-content: center; 1235 row-gap: 12px; 1236 } 1237 1238 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text--horizontal .icon-with-text__item { 1239 align-items: center; 1240 display: flex; 1241 flex: 0 1 auto; 1242 flex-direction: row; 1243 justify-content: center; 1244 width: auto; 1245 } 1246 1247 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .svg-wrapper { 1248 color: #28a9e0; 1249 fill: currentColor; 1250 height: var(--icon-size); 1251 margin: 0 var(--icon-spacing) 0 0; 1252 min-height: var(--icon-size); 1253 min-width: var(--icon-size); 1254 width: var(--icon-size); 1255 } 1256 1257 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .svg-wrapper svg, 1258 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .svg-wrapper path { 1259 fill: currentColor; 1260 } 1261 1262 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text img { 1263 height: var(--icon-size); 1264 margin: 0 var(--icon-spacing) 0 0; 1265 max-height: var(--icon-size); 1266 max-width: var(--icon-size); 1267 width: var(--icon-size); 1268 } 1269 1270 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .h4 { 1271 color: #2f2f2f; 1272 font-family: Poppins, var(--font-body-family); 1273 font-size: 14px; 1274 font-weight: 400; 1275 letter-spacing: 0; 1276 line-height: 1.35; 1277 margin: 0; 1278 padding-top: 0; 1279 text-align: left; 1280 } 1281 1282 @media screen and (max-width: 749px) { 1283 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text { 1284 --icon-size: 16px; 1285 --icon-spacing: 4px; 1286 margin: 10px auto; 1287 max-width: 100%; 1288 padding-bottom: 4px; 1289 padding-top: 4px; 1290 width: 100%; 1291 } 1292 1293 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text--horizontal { 1294 column-gap: 10px; 1295 display: flex; 1296 flex-wrap: wrap; 1297 justify-content: center; 1298 row-gap: 10px; 1299 width: 100%; 1300 } 1301 1302 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text--horizontal .icon-with-text__item { 1303 column-gap: 4px; 1304 flex: 0 0 auto; 1305 min-width: 0; 1306 } 1307 1308 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .h4 { 1309 font-size: clamp(10px, 3.1vw, 12.1px) !important; 1310 line-height: 1.4; 1311 white-space: nowrap; 1312 } 1313 1314 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text .h4 * { 1315 font-size: inherit !important; 1316 line-height: inherit !important; 1317 } 1318 1319 #MainProduct-template--22196841349258__main .product__info-container .icon-with-text + .product__description { 1320 margin-top: 10px; 1321 } 1322 }</style>
1322<script> 1323 document.addEventListener("DOMContentLoaded", function() { 1324 const QUANTITY_LIMIT = 3; 1325 1326 function setupQuantityLimits() { 1327 // Get all quantity inputs on this page 1328 const quantityInputs = document.querySelectorAll('input[name="quantity"], .quantity__input'); 1329 1330 quantityInputs.forEach(function(input) { 1331 // Skip if already initialized 1332 if (input.hasAttribute('data-quantity-limit-initialized')) return; 1333 input.setAttribute('data-quantity-limit-initialized', 'true'); 1334 1335 // Add event listener to enforce limit on input/change 1336 function validateQuantity() { 1337 const value = parseInt(this.value); 1338 if (value > QUANTITY_LIMIT) { 1339 this.value = QUANTITY_LIMIT; 1340 showQuantityWarning(); 1341 } 1342 } 1343 1344 input.addEventListener('input', validateQuantity); 1345 input.addEventListener('change', validateQuantity); 1346 }); 1347 1348 // Find quantity increment buttons 1349 const incrementButtons = document.querySelectorAll('.quantity__button[name="plus"]'); 1350 incrementButtons.forEach(function(button) { 1351 // Skip if already initialized 1352 if (button.hasAttribute('data-quantity-limit-initialized')) return; 1353 button.setAttribute('data-quantity-limit-initialized', 'true'); 1354 1355 button.addEventListener('click', function(e) { 1356 // Get the associated input 1357 const quantityContainer = button.closest('.quantity, quantity-input, .quantity-wrapper'); 1358 const input = quantityContainer ? quantityContainer.querySelector('input[name="quantity"], .quantity__input') : null; 1359 1360 if (input) { 1361 const currentValue = parseInt(input.value); 1362 // Only show warning and prevent if trying to go ABOVE the limit 1363 if (currentValue >= QUANTITY_LIMIT) { 1364 e.preventDefault(); 1365 e.stopPropagation(); 1366 input.value = QUANTITY_LIMIT; 1367 // Only show warning if they're trying to exceed the limit 1368 if (currentValue > QUANTITY_LIMIT) { 1369 showQuantityWarning(); 1370 } 1371 return false; 1372 } 1373 } 1374 }); 1375 }); 1376 } 1377 1378 function showQuantityWarning() { 1379 // Check if warning is already showing 1380 if (window.quantityWarningTimeout) { 1381 clearTimeout(window.quantityWarningTimeout); 1382 } 1383 1384 alert("You may not add more than 3 of this product to cart"); 1385 1386 // Prevent rapid-fire alerts 1387 window.quantityWarningTimeout = setTimeout(() => { 1388 window.quantityWarningTimeout = null; 1389 }, 2000); 1390 } 1391 1392 // Run initially 1393 setupQuantityLimits(); 1394 1395 // Set up a MutationObserver to handle dynamically loaded elements 1396 const observer = new MutationObserver(function(mutations) { 1397 setupQuantityLimits(); 1398 }); 1399 1400 observer.observe(document.body, { childList: true, subtree: true }); 1401 }); 1402</script>
1402
1402<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/product-info.js?v=149160427226008204701787249516" defer="defer"></script>
1402
1402<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/product-form.js?v=113680678439910740901787249516" defer="defer"></script>
1402 <div class="page-width"> <div class="ssky-product product product--medium product--left product--thumbnail_slider product--mobile-show grid grid--1-col grid--2-col-tablet" id="mainProduct_scrollTop"> <div class="grid__item product__media-wrapper"> <media-gallery id="MediaGallery-template--22196841349258__main" role="region" class="product__column-sticky" aria-label="Gallery Viewer" data-desktop-layout="thumbnail_slider"> <div id="GalleryStatus-template--22196841349258__main" class="visually-hidden" role="status"></div> <slider-component id="GalleryViewer-template--22196841349258__main" class="slider-mobile-gutter"> <a class="skip-to-content-link button visually-hidden quick-add-hidden" href="#ProductInfo-template--22196841349258__main"> Skip to product information </a> <ul id="Slider-Gallery-template--22196841349258__main" class="product__media-list contains-media grid grid--peek list-unstyled slider slider--mobile" role="list"> <li id="Slide-template--22196841349258__main-31746438365322" class="product__media-item grid__item slider__slide is-active scroll-tr
1402igger animate--fade-in" data-media-id="template--22196841349258__main-31746438365322"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1946" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=246 246w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=493 493w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=600 600w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=713 713w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=823 823w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=990 990w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1946 1946w" width="1946" height="1946" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)" loading="eager" fetchpriority="high"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="31746438365322"> <span class="visually-hidden"> Open media 1 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-31159771660426" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-31159771660426"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path>
1402<path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1946" alt="Book titled 'The Tuttle Twins and the Miraculous Pencil' on a wooden surface with a paper bag and keys." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=246 246w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=493 493w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=600 600w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=713 713w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=823 823w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=990 990w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="31159771660426"> <span class="visually-hidden"> Open media 2 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-31159771693194" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-31159771693194"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1946" alt="Two books titled 'Food Truck Fiasco' and 'Creature from Jekyll Island' by The Tuttle Twins on a wooden surface." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=246 246w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=493 493w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=600 600w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=713 713w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=823 823w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=990 990w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="31159771693194"> <span class="visually-hidden">
1402 Open media 3 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-31159771627658" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-31159771627658"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1946" alt="Two books titled 'The Tuttle Twins and the Golden Rule' and 'The Tuttle Twins and the Road to Surfdom' on a wooden surface." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=246 246w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=493 493w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=600 600w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=713 713w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=823 823w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=990 990w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="31159771627658"> <span class="visually-hidden"> Open media 4 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-28481031307402" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-28481031307402"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19">
1402<path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1946" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=246 246w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=493 493w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=600 600w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=713 713w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=823 823w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=990 990w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="28481031307402"> <span class="visually-hidden"> Open media 5 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-28481031340170" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-28481031340170"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1946" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=246 246w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=493 493w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=600 600w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=713 713w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=823 823w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=990 990w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="28481031340170"> <span class="visually-hidden">
1402 Open media 6 in modal </span> </button> </modal-opener></div> </li> <li id="Slide-template--22196841349258__main-28481031372938" class="product__media-item grid__item slider__slide scroll-trigger animate--fade-in" data-media-id="template--22196841349258__main-28481031372938"> <div class="product-media-container media-type-image media-fit-contain global-media-settings gradient" style="--ratio: 1.0; --preview-ratio: 1.0;"> <modal-opener class="product__modal-opener product__modal-opener--image" data-modal="#ProductModal-template--22196841349258__main"> <span class="product__media-icon motion-reduce quick-add-hidden product__media-icon--lightbox" aria-hidden="true"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-plus" viewBox="0 0 19 19"><path fill="currentColor" fill-rule="evenodd" d="M4.667 7.94a.5.5 0 0 1 .499-.501l5.534-.014a.5.5 0 1 1 .002 1l-5.534.014a.5.5 0 0 1-.5-.5" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M7.926 4.665a.5.5 0 0 1 .501.498l.014 5.534a.5.5 0 1 1-1 .003l-.014-5.534a.5.5 0 0 1 .499-.501" clip-rule="evenodd"></path><path fill="currentColor" fill-rule="evenodd" d="M12.832 3.03a6.931 6.931 0 1 0-9.802 9.802 6.931 6.931 0 0 0 9.802-9.802M2.323 2.323a7.931 7.931 0 0 1 11.296 11.136l4.628 4.628a.5.5 0 0 1-.707.707l-4.662-4.662A7.932 7.932 0 0 1 2.323 2.323" clip-rule="evenodd"></path></svg> </span> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> <div class="product__media media media--transparent"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1946" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=246 246w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=493 493w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=600 600w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=713 713w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=823 823w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=990 990w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1100 1100w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1206 1206w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1346 1346w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1426 1426w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1646 1646w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1946 1946w" width="1946" height="1946" loading="lazy" class="image-magnify-lightbox" sizes="(min-width: 1300px) 660px, (min-width: 990px) calc(55.0vw - 10rem), (min-width: 750px) calc((100vw - 11.5rem) / 2), calc(100vw / 1 - 4rem)"> </div> <button class="product__media-toggle quick-add-hidden product__media-zoom-lightbox" type="button" aria-haspopup="dialog" data-media-id="28481031372938"> <span class="visually-hidden">
1402 Open media 7 in modal </span> </button> </modal-opener></div> </li></ul> <div class="slider-buttons quick-add-hidden small-hide"> <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Slide left"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> <div class="slider-counter caption"> <span class="slider-counter--current">1</span> <span aria-hidden="true"> / </span> <span class="visually-hidden">of</span> <span class="slider-counter--total">7</span> </div> <button type="button" class="slider-button slider-button--next" name="next" aria-label="Slide right"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> </div> </slider-component><slider-component id="GalleryThumbnails-template--22196841349258__main" class="thumbnail-slider slider-mobile-gutter quick-add-hidden"> <button type="button" class="slider-button slider-button--prev" name="previous" aria-label="Slide left" aria-controls="GalleryThumbnails-template--22196841349258__main" data-step="3"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6"><path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> <ul id="Slider-Thumbnails-template--22196841349258__main" class="thumbnail-list list-unstyled slider slider--mobile slider--tablet-up"><li id="Slide-Thumbnails-template--22196841349258__main-1" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-31746438365322" data-media-position="1"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 1 in gallery view" aria-current="true" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-1 1403"> <img src="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=416" alt="Tuttle Twins Book Club" srcset="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=54 54w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=74 74w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=104 104w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=162 162w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=208 208w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=324 324w, //www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1404 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1405 (min-width: 750px) calc((100vw - 15rem) / 8), 1406 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-1 1407"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-2" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-31159771660426" data-media-position="2"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 2 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-2 1408"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=416" alt="Book titled 'The Tuttle Twins and the Miraculous Pencil' on a wooden surface with a paper bag and keys." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=54 54w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=74 74w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=104 104w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=162 162w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=208 208w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=324 324w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1409 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1410 (min-width: 750px) calc((100vw - 15rem) / 8), 1411 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-2 1412"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-3" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-31159771693194" data-media-position="3"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 3 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-3 1413"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=416" alt="Two books titled 'Food Truck Fiasco' and 'Creature from Jekyll Island' by The Tuttle Twins on a wooden surface." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=54 54w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=74 74w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=104 104w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=162 162w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=208 208w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=324 324w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1414 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1415 (min-width: 750px) calc((100vw - 15rem) / 8), 1416 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-3 1417"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-4" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-31159771627658" data-media-position="4"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 4 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-4 1418"> <img src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=416" alt="Two books titled 'The Tuttle Twins and the Golden Rule' and 'The Tuttle Twins and the Road to Surfdom' on a wooden surface." srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=54 54w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=74 74w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=104 104w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=162 162w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=208 208w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=324 324w, //www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1419 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1420 (min-width: 750px) calc((100vw - 15rem) / 8), 1421 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-4 1422"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-5" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-28481031307402" data-media-position="5"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 5 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-5 1423"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=416" alt="Tuttle Twins Book Club" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=54 54w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=74 74w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=104 104w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=162 162w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=208 208w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=324 324w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1424 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1425 (min-width: 750px) calc((100vw - 15rem) / 8), 1426 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-5 1427"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-6" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-28481031340170" data-media-position="6"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 6 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-6 1428"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=416" alt="Tuttle Twins Book Club" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=54 54w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=74 74w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=104 104w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=162 162w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=208 208w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=324 324w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1429 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1430 (min-width: 750px) calc((100vw - 15rem) / 8), 1431 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-6 1432"> </button> </li><li id="Slide-Thumbnails-template--22196841349258__main-7" class="thumbnail-list__item slider__slide" data-target="template--22196841349258__main-28481031372938" data-media-position="7"><button class="thumbnail global-media-settings global-media-settings--no-shadow" aria-label="Load image 7 in gallery view" aria-controls="GalleryViewer-template--22196841349258__main" aria-describedby="Thumbnail-template--22196841349258__main-7 1433"> <img src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=416" alt="Tuttle Twins Book Club" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=54 54w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=74 74w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=104 104w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=162 162w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=208 208w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=324 324w, //www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=416 416w" width="416" height="416" loading="lazy" sizes="(min-width: 1300px) calc((660 - 4rem) / 4), 1434 (min-width: 990px) calc((55.0vw - 4rem) / 4), 1435 (min-width: 750px) calc((100vw - 15rem) / 8), 1436 calc((100vw - 8rem) / 3)" id="Thumbnail-template--22196841349258__main-7 1437"> </button> </li></ul> <button type="button" class="slider-button slider-button--next" name="next" aria-label="Slide right" aria-controls="GalleryThumbnails-template--22196841349258__main" data-step="3"> <span class="svg-wrapper"><svg class="icon icon-caret" viewBox="0 0 10 6">
1437<path fill="currentColor" fill-rule="evenodd" d="M9.354.646a.5.5 0 0 0-.708 0L5 4.293 1.354.646a.5.5 0 0 0-.708.708l4 4a.5.5 0 0 0 .708 0l4-4a.5.5 0 0 0 0-.708" clip-rule="evenodd"></path></svg> </span> </button> </slider-component></media-gallery> </div> <div class="product__info-wrapper grid__item scroll-trigger animate--slide-in"> <section id="ProductInfo-template--22196841349258__main" class="product__info-container product__column-sticky"><div id="shopify-block-AL1QwZzU4NXB0cWV6b__okendo_star_rating_QegwT3" class="shopify-block shopify-app-block"> <div data-oke-star-rating="" data-oke-reviews-product-id="shopify-8712112832650"> <div data-oke-reviews-version="0.98.0" data-oke-container="" class="okeReviews oke-sr"><div class=""><div class="oke-sr-rating"> 4.9 </div><div class="oke-sr-stars"><div class="oke-stars"><!----><div class="oke-stars-background"><svg height="16" viewBox="0 0 80 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-empty"></use><use x="16.35" href="#oke-star-empty"></use><use x="32.7" href="#oke-star-empty"></use><use x="49.050000000000004" href="#oke-star-empty"></use><use x="65.4" href="#oke-star-empty"></use></svg></div><div class="oke-stars-foreground" style="width: 98.175%;"><svg height="16" viewBox="0 0 80 14" aria-hidden="true" role="none"><use x="0" href="#oke-star-filled"></use><use x="16.35" href="#oke-star-filled"></use><use x="32.7" href="#oke-star-filled"></use><use x="49.050000000000004" href="#oke-star-filled"></use><use x="65.4" href="#oke-star-filled"></use></svg></div><span class="oke-a11yText">Rated 4.9 out of 5 stars</span></div></div><div class="oke-sr-count"><span class="oke-sr-count-number">12</span><span class="oke-sr-label-text"> Reviews</span><!----></div><!----></div>
1437<script type="application/json" data-oke-metafield-data=""> {"averageRating":"4.9","reviewCount":12} </script>
1437</div> </div> </div> <div class="product__title"> <h1>Tuttle Twins Book Club</h1> <a href="/products/bookclub" class="product__title"> <h2 class="h1"> Tuttle Twins Book Club </h2> </a> </div><div id="price-template--22196841349258__main" role="status" class="main_productPrice"> <div class=" 1438 price primary-blue price--on-sale price--show-badge"> <div class="price__container"> <div class="price__regular"><span class="visually-hidden visually-hidden--inline"> Regular price </span> <span class="price-item price-item--regular" data-variant-id="47235382149258"> $19.99 </span></div> <div class="price__sale"><span class="visually-hidden visually-hidden--inline"> Regular price </span> <span> <s class="price-item price-item--regular" data-variant-id="47235382149258"> $25.98 USD </s> </span><span class="visually-hidden visually-hidden--inline"> Sale price </span> <span class="price-item price-item--sale price-item--last" data-variant-id="47235382149258"> $19.99 USD </span> </div> <small class="unit-price caption hidden"> <span class="visually-hidden">Unit price</span> <span class="price-item price-item--last"> <span> $ </span> <span aria-hidden="true">/</span> <span class="visually-hidden"> per </span> <span> </span> </span> </small> </div><span class="badge price__badge-sale color-scheme-4">Sale </span> <span class="badge price__badge-sold-out color-scheme-3"> Sold out </span></div> </div> <div class="product_short_dis product__text inline-richtext"><ul><li>Perfect for ages 5-12</li><li>Raise Kids who think for themselves</li></ul><p></p><ul><li>Hassle-Free Subscription</li><li>Free Shipping</li></ul></div><div class="shipment_block"> <div class="shipment_block_row"> <h3>What is included in my shipment?</h3> <div class="shipment_block_col"> <div class="shipment_block_img"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_48102251_500X500.png?v=1771223886" alt=""> </div> <p>2 Tuttle Twins series books</p> </div> </div> </div> <div class="ssky-product-qty-atc-con ssky-product-qty-atc-con--full"><input type="hidden" name="quantity" value="1" form="product-form-template--22196841349258__main"><div class="ssky-product-atc-con"> <div class="buy-buttons--wrapper"><product-form class="product-form" data-hide-errors="false" data-section-id="template--22196841349258__main"> <div class="product-form__error-message-wrapper" role="alert" hidden=""> <span class="svg-wrapper"><svg class="icon icon-error" viewBox="0 0 13 13"><circle cx="6.5" cy="6.5" r="5.5" stroke="#fff" stroke-width="2"></circle><circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width=".7"></circle><path fill="#fff" d="m5.874 3.528.1 4.044h1.053l.1-4.044zm.627 6.133c.38 0 .68-.288.68-.656s-.3-.656-.68-.656-.681.288-.681.656.3.656.68.656"></path><path fill="#fff" stroke="#EB001B" stroke-width=".7" d="M5.874 3.178h-.359l.01.359.1 4.044.008.341h1.736l.008-.341.1-4.044.01-.359H5.873Zm.627 6.833c.56 0 1.03-.432 1.03-1.006s-.47-1.006-1.03-1.006-1.031.432-1.031 1.006.47 1.006 1.03 1.006Z"></path></svg> </span> <span class="product-form__error-message"></span> </div><form method="post" action="/cart/add" id="product-form-template--22196841349258__main" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate" data-type="add-to-cart-form"><input type="hidden" name="form_type" value="product"><input type="hidden" name="utf8" value="â"><input type="hidden" name="id" value="47235382149258" class="product-variant-id"> <input type="hidden" name="selling_plan" value="2026111114"> <div class="product-form__buttons"><button id="ProductSubmitButton-template--22196841349258__main" type="submit" name="add" class="product-form__submit button button--full-width button--primary"><span> Get Started - <s>$19.99</s> </span> <div class="loading__spinner hidden"> <svg xmlns="http://www.w3.org/2000/svg" class="spinner" viewBox="0 0 66 66"><circle stroke-width="6" cx="33" cy="33" r="30" fill="none" class="path"></circle></svg> </div> </button></div> <div class="button_bottomLabel"> <p> <span> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.99996 6.00004C7.26356 6.00004 6.66663 6.44775 6.66663 7.00004C6.66663 7.55231 7.26356 8.00004 7.99996 8.00004C8.73636 8.00004 9.33329 8.44777 9.33329 9.00004C9.33329 9.55231 8.73636 10 7.99996 10M7.99996 6.00004C8.58049 6.00004 9.07436 6.27831 9.25743 6.66671M7.99996 6.00004V5.33337M7.99996 10C7.41943 10 6.92556 9.72177 6.74249 9.33337M7.99996 10V10.6667" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path><path d="M9.33337 1.46673C8.90257 1.37928 8.45664 1.33337 8.00004 1.33337C4.31814 1.33337 1.33337 4.31814 1.33337 8.00004C1.33337 11.6819 4.31814 14.6667 8.00004 14.6667C11.6819 14.6667 14.6667 11.6819 14.6667 8.00004C14.6667 7.54344 14.6208 7.09751 14.5334 6.66671" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path><path d="M11.3334 4.66671H14.3334M11.3334 4.66671V1.66671M11.3334 4.66671L14.6667 1.33337" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path></svg> </span> 100% Money-Back Guarantee </p> <p> <span>
1438 <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.66663 2.00061H14.3333" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3 1.99988V10.6538L7.95753 13.9885C7.98 14.0036 8.0094 14.0036 8.03187 13.9886L13 10.6538V1.99988" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path><path d="M6.44441 9.33329L7.99996 8.72463L9.55549 9.33329L9.36109 7.71009L10.3333 6.49271L8.97216 6.08691L7.99996 4.66663L7.02776 6.08691L5.66663 6.49271L6.63885 7.71009L6.44441 9.33329Z" stroke="#3F3939" stroke-linecap="round" stroke-linejoin="round"></path></svg> </span> 7 million books sold </p> </div> <input type="hidden" name="product-id" value="8712112832650"><input type="hidden" name="section-id" value="template--22196841349258__main"></form></product-form><link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-pickup-availability.css?v=128368701780105458671787249518" rel="stylesheet" type="text/css" media="all"> <pickup-availability class="product__pickup-availabilities quick-add-hidden" data-root-url="/" data-variant-id="47235382149258" data-has-only-default-variant="true" data-product-page-color-scheme="gradient color-scheme-1"> <template> <pickup-availability-preview class="pickup-availability-preview"> <span class="svg-wrapper"><svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-unavailable" viewBox="0 0 20 20"><path fill="#DE3618" stroke="#fff" d="M13.94 3.94 10 7.878l-3.94-3.94A1.499 1.499 0 1 0 3.94 6.06L7.88 10l-3.94 3.94a1.499 1.499 0 1 0 2.12 2.12L10 12.12l3.94 3.94a1.497 1.497 0 0 0 2.12 0 1.5 1.5 0 0 0 0-2.12L12.122 10l3.94-3.94a1.499 1.499 0 1 0-2.121-2.12z"></path></svg> </span> <div class="pickup-availability-info"> <p class="caption-large">Couldn't load pickup availability</p> <button class="pickup-availability-button link link--text underlined-link"> Refresh </button> </div> </pickup-availability-preview> </template> </pickup-availability>
1438<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/pickup-availability.js?v=78418059211521962961787249518" defer="defer"></script>
1438</div> </div> </div><div class="product__accordion accordion quick-add-hidden"> <details id="Details-collapsible_tab_78wVri-template--22196841349258__main"> <summary> <div class="summary__title"> <span><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.64065 0.9375C3.43365 0.9375 2.45466 1.91981 2.45278 3.13278L2.43457 14.8604C2.43268 16.076 3.41278 17.0625 4.62245 17.0625H9.7242C9.9174 17.0625 10.1026 16.9855 10.2394 16.8484L15.3454 11.7275C15.4825 11.59 15.5596 11.4034 15.5596 11.2087V3.13622C15.5596 1.9219 14.58 0.9375 13.3717 0.9375H4.64065ZM14.1003 10.9043L9.42255 15.5956V12.0293C9.42255 11.408 9.92625 10.9043 10.5475 10.9043H14.1003Z" fill="black"></path> </svg></span> <h2 class="h4 accordion__title inline-richtext"> Description </h2> </div> <span class="collapsible_plus"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 5V19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M5 12H19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </summary> <div class="accordion__content rte" id="ProductAccordion-collapsible_tab_78wVri-template--22196841349258__main"> <p data-end="584" data-start="247"><meta charset="utf-8">A monthly book adventure your kids will loveâ2 Tuttle Twins books delivered in order that spark curiosity, teach big ideas, and make learning fun!</p> </div> </details> </div><div class="product__accordion accordion quick-add-hidden"> <details id="Details-collapsible_tab_fqHf9p-template--22196841349258__main"> <summary> <div class="summary__title"> <span><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_4045_135)"> <path d="M6.15515 14.9069V15.4562C6.15515 16.1885 6.63855 16.8035 7.30058 17.0175C7.52214 18.3112 8.64442 19.3746 10.0003 19.3746C11.3563 19.3746 12.4786 18.3112 12.7001 17.0175C13.3622 16.8035 13.8455 16.1886 13.8455 15.4562V14.9069H6.15515Z" fill="black"></path> <path d="M8.5816 0.773116C6.10218 1.29079 4.08301 3.30351 3.55728 5.78187C3.11043 7.89062 3.66191 10.0074 5.0695 11.5899C5.63859 12.2303 5.98576 13.0032 6.09961 13.8086H13.8968C14.0145 13.007 14.3718 12.2218 14.9572 11.554C16.0096 10.3539 16.6256 8.81328 16.6256 7.21683C16.6256 3.03541 12.7538 -0.105237 8.5816 0.773116ZM13.8425 7.76618C13.5388 7.76618 13.2931 7.52049 13.2931 7.21686C13.2931 5.3994 11.8142 3.92098 9.99671 3.92098C9.69308 3.92098 9.44739 3.67529 9.44739 3.37166C9.44739 3.06804 9.69308 2.82235 9.99671 2.82235C12.4204 2.82235 14.3918 4.79377 14.3918 7.21686C14.3918 7.52049 14.1461 7.76618 13.8425 7.76618Z" fill="black"></path> <path d="M2.27294 7.2168H1.17431C0.87069 7.2168 0.625 7.46249 0.625 7.76611C0.625 8.06974 0.87069 8.31543 1.17431 8.31543H2.27294C2.57657 8.31543 2.82226 8.06974 2.82226 7.76611C2.82226 7.46249 2.57657 7.2168 2.27294 7.2168Z" fill="black"></path> <path d="M2.49729 4.47116L1.72053 3.6944C1.50593 3.4798 1.15832 3.4798 0.943758 3.6944C0.729196 3.90896 0.729196 4.2566 0.943758 4.47116L1.72053 5.24793C1.93509 5.46249 2.28273 5.46249 2.49729 5.24793C2.71185 5.03337 2.71185 4.68572 2.49729 4.47116Z" fill="black"></path> <path d="M2.49729 10.2862C2.28273 10.0716 1.93509 10.0716 1.72053 10.2862L0.943758 11.0629C0.729196 11.2775 0.729196 11.6252 0.943758 11.8397C1.15832 12.0543 1.50596 12.0543 1.72053 11.8397L2.49729 11.0629C2.71185 10.8484 2.71185 10.5007 2.49729 10.2862Z" fill="black"></path> <path d="M18.8282 7.2168H17.7296C17.426 7.2168 17.1803 7.46249 17.1803 7.76611C17.1803 8.06974 17.426 8.31543 17.7296 8.31543H18.8282C19.1319 8.31543 19.3776 8.06974 19.3776 7.76611C19.3776 7.46249 19.1319 7.2168 18.8282 7.2168Z" fill="black"></path> <path d="M19.0526 3.69437C18.838 3.47981 18.4904 3.47981 18.2758 3.69437L17.4991 4.47114C17.2845 4.6857 17.2845 5.03334 17.4991 5.2479C17.7136 5.46246 18.0612 5.46246 18.2758 5.2479L19.0526 4.47114C19.2672 4.25657 19.2672 3.90893 19.0526 3.69437Z" fill="black"></path> <path d="M19.0526 11.0629L18.2758 10.2862C18.0613 10.0716 17.7136 10.0716 17.4991 10.28
143862C17.2845 10.5007 17.2845 10.8484 17.4991 11.0629L18.2758 11.8397C18.4904 12.0543 18.838 12.0543 19.0526 11.8397C19.2672 11.6251 19.2672 11.2775 19.0526 11.0629Z" fill="black"></path> </g> <defs> <clipPath id="clip0_4045_135"> <rect width="20" height="20" fill="white"></rect> </clipPath> </defs> </svg></span> <h2 class="h4 accordion__title inline-richtext"> What topics are covered? </h2> </div> <span class="collapsible_plus"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 5V19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M5 12H19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </summary> <div class="accordion__content rte" id="ProductAccordion-collapsible_tab_fqHf9p-template--22196841349258__main"> <p>Each Book Club delivery introduces big ideas through fun, age-appropriate stories, including:</p><ul><li><strong>Economics & Free Markets</strong> â How money, trade, and cooperation work</li><li><strong>Government & Civics</strong> â The basics of laws, leadership, and civic life</li><li><strong>Moral & Social Principles</strong> â Honesty, fairness, and good decision-making</li><li><strong>Personal Liberty & Individual Rights</strong> â Freedom, responsibility, and respect for others</li><li><strong>Critical Thinking & Personal Responsibility</strong> â Asking questions and thinking independently</li><li><strong>Entrepreneurship & Business</strong> â Creativity, problem-solving, and value creation</li></ul><p>Designed to spark curiosity and meaningful family conversations as kids grow.</p> </div> </details> </div><div class="product__accordion accordion quick-add-hidden"> <details id="Details-collapsible_tab_3j6LMa-template--22196841349258__main"> <summary> <div class="summary__title"> <span><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M15.1299 5.38493C15.4697 5.14796 15.9372 5.23126 16.1742 5.57099C16.8522 6.54315 17.25 7.72625 17.25 9.00005C17.25 12.3138 14.5638 15 11.25 15H6.19658L6.85517 15.5489C7.17338 15.8141 7.21638 16.287 6.9512 16.6052C6.68603 16.9234 6.21311 16.9664 5.8949 16.7012L3.6449 14.8262C3.40232 14.6241 3.31234 14.2917 3.41984 13.9947C3.52733 13.6978 3.80927 13.5 4.12504 13.5H11.25C13.7353 13.5 15.75 11.4853 15.75 9.00005C15.75 8.04297 15.4521 7.15773 14.9439 6.42914C14.7069 6.08941 14.7902 5.6219 15.1299 5.38493Z" fill="black"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M2.87009 12.6152C2.53036 12.8522 2.06284 12.7688 1.82588 12.4291C1.14778 11.4569 0.75 10.2738 0.75 9.00002C0.75 5.68631 3.43629 3.00002 6.75 3.00002H11.8035L11.1448 2.45118C10.8266 2.18601 10.7836 1.71309 11.0488 1.39488C11.314 1.07667 11.7869 1.03368 12.1051 1.29885L14.3551 3.17385C14.5977 3.376 14.6877 3.70844 14.5802 4.00534C14.4727 4.30224 14.1907 4.50002 13.875 4.50002H6.75C4.26472 4.50002 2.25 6.51474 2.25 9.00002C2.25 9.95709 2.54795 10.8423 3.05615 11.5709C3.29312 11.9107 3.20982 12.3782 2.87009 12.6152Z" fill="black"></path> </svg></span> <h2 class="h4 accordion__title inline-richtext"> 100% Satisfaction Guarantee </h2> </div> <span class="collapsible_plus"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M12 5V19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M5 12H19" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </summary> <div class="accordion__content rte" id="ProductAccordion-collapsible_tab_3j6LMa-template--22196841349258__main"> <p>Donât like the book? Contact us within 30 days and weâll refund your money. No questions asked.</p> </div> </details> </div><a href="/products/bookclub" class="link product__view-details animate-arrow"> View full details <svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-arrow" viewB
1438ox="0 0 14 10"><path fill="currentColor" fill-rule="evenodd" d="M8.537.808a.5.5 0 0 1 .817-.162l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 1 1-.708-.708L11.793 5.5H1a.5.5 0 0 1 0-1h10.793L8.646 1.354a.5.5 0 0 1-.109-.546" clip-rule="evenodd"></path></svg> </a> </section> </div> </div> <product-modal id="ProductModal-template--22196841349258__main" class="product-media-modal media-modal"> <div class="product-media-modal__dialog color-scheme-1 gradient" role="dialog" aria-label="Media gallery" aria-modal="true" tabindex="-1"> <button id="ModalClose-template--22196841349258__main" type="button" class="product-media-modal__toggle" aria-label="Close"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" class="icon icon-close" viewBox="0 0 18 17"><path fill="currentColor" d="M.865 15.978a.5.5 0 0 0 .707.707l7.433-7.431 7.579 7.282a.501.501 0 0 0 .846-.37.5.5 0 0 0-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 1 0-.707-.708L8.991 7.853 1.413.573a.5.5 0 1 0-.693.72l7.563 7.268z"></path></svg> </button> <div class="product-media-modal__content color-scheme-1 gradient" role="document" aria-label="Media gallery" tabindex="0"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=550 550w,//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854 1080w 1439 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/BookClub.png?v=1772754854&width=1445" alt="Tuttle Twins Book Club" loading="lazy" width="1100" height="1100" data-media-id="31746438365322"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=550 550w,//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953 1079w 1440 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary1.png?v=1783624953&width=1445" alt="Book titled 'The Tuttle Twins and the Miraculous Pencil' on a wooden surface with a paper bag and keys." loading="lazy" width="1100" height="1100" data-media-id="31159771660426"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=550 550w,//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919 1079w 1441 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary2.png?v=1783624919&width=1445" alt="Two books titled 'Food Truck Fiasco' and 'Creature from Jekyll Island' by The Tuttle Twins on a wooden surface." loading="lazy" width="1100" height="1100" data-media-id="31159771693194"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=550 550w,//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980 1079w 1442 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/book_club_secondary3.png?v=1783624980&width=1445" alt="Two books titled 'The Tuttle Twins and the Golden Rule' and 'The Tuttle Twins and the Road to Surfdom' on a wooden surface." loading="lazy" width="1100" height="1100" data-media-id="31159771627658"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=550 550w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1100 1100w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854 1200w 1443 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-12-rules-boot-campL3.webp?v=1772754854&width=1445" alt="Tuttle Twins Book Club" loading="lazy" width="1100" height="1100" data-media-id="28481031307402"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=550 550w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1100 1100w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854 1200w 1444 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-fate-of-the-futureL2_7ba682d1-afa7-419d-beef-c2f2aae0ce40.webp?v=1772754854&width=1445" alt="Tuttle Twins Book Club" loading="lazy" width="1100" height="1100" data-media-id="28481031340170"> <img class="global-media-settings global-media-settings--no-shadow" srcset="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=550 550w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1100 1100w,//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854 1200w 1445 " sizes="(min-width: 750px) calc(100vw - 22rem), 1100px" src="//www.tuttletwins.com/cdn/shop/files/the-tuttle-twins-and-the-education-vacationL3_c4c4fcf7-4666-4184-8141-d595e30f2907.webp?v=1772754854&width=1445" alt="Tuttle Twins Book Club" loading="lazy" width="1100" height="1100" data-media-id="28481031372938"></div> </div> </product-modal>
1445<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/product-modal.js?v=116616134454508949461787249516" defer="defer"></script>
1445
1445<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/media-gallery.js?v=53998976194532824491787249516" defer="defer"></script>
1445<script type="application/ld+json"> 1446 {"@context":"http:\/\/schema.org\/","@id":"\/products\/bookclub#product","@type":"Product","brand":{"@type":"Brand","name":"Tuttle Twins"},"category":"Print Books","description":"A monthly book adventure your kids will loveâ2 Tuttle Twins books delivered in order that spark curiosity, teach big ideas, and make learning fun!","image":"https:\/\/www.tuttletwins.com\/cdn\/shop\/files\/BookClub.png?v=1772754854\u0026width=1920","name":"Tuttle Twins Book Club","offers":{"@id":"\/products\/bookclub?variant=47235382149258#offer","@type":"Offer","availability":"http:\/\/schema.org\/InStock","price":"19.99","priceCurrency":"USD","url":"https:\/\/www.tuttletwins.com\/products\/bookclub?variant=47235382149258"},"sku":"kid_law_pencil","url":"https:\/\/www.tuttletwins.com\/products\/bookclub"} 1447 </script>
1447 </div> </product-info> <div class="bottom_stickyAdd"> <div class="bottom_stickyAdd_logo"> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/326dd57463d60ffea3602e2367e0515cb8d8e150.png?v=1771235265" alt=""> </div> <a href="#mainProduct_scrollTop">Shop Book Club</a> </div>
1447<script> 1448 document.addEventListener("DOMContentLoaded", function () { 1449 const accordions = document.querySelectorAll(".product__accordion details"); 1450 1451 accordions.forEach((accordion) => { 1452 const summary = accordion.querySelector("summary"); 1453 const content = accordion.querySelector(".accordion__content"); 1454 summary.addEventListener("click", function (e) { 1455 e.preventDefault(); 1456 1457 const isOpen = accordion.hasAttribute("open"); 1458 accordions.forEach((item) => { 1459 if (item !== accordion && item.hasAttribute("open")) { 1460 closeAccordion(item); 1461 } 1462 }); 1463 1464 if (isOpen) { 1465 closeAccordion(accordion); 1466 } else { 1467 openAccordion(accordion); 1468 } 1469 }); 1470 1471 function openAccordion(item) { 1472 const content = item.querySelector(".accordion__content"); 1473 1474 item.setAttribute("open", "true"); 1475 1476 content.style.height = "0px"; 1477 content.offsetHeight; 1478 1479 content.style.height = content.scrollHeight + "px"; 1480 content.style.opacity = "1"; 1481 } 1482 1483 function closeAccordion(item) { 1484 const content = item.querySelector(".accordion__content"); 1485 1486 content.style.height = content.scrollHeight + "px"; 1487 content.offsetHeight; 1488 1489 content.style.height = "0px"; 1490 content.style.opacity = "0"; 1491 1492 setTimeout(() => { 1493 item.removeAttribute("open"); 1494 }, 400); 1495 } 1496 if (accordion.hasAttribute("open")) { 1497 content.style.height = content.scrollHeight + "px"; 1498 content.style.opacity = "1"; 1499 } 1500 }); 1501 }); 1502</script>
1502<style> #shopify-section-template--22196841349258__main summary {padding-left: 12px; padding-right: 12px;} #shopify-section-template--22196841349258__main .bottom_stickyAdd {display: none !important;} </style></section><div id="shopify-section-template--22196841349258__pdp_icon_box_HfaqxK" class="shopify-section"><style data-shopify=""> 1503#section-template--22196841349258__pdp_icon_box_HfaqxK { 1504 background-color: #ffffff; 1505 color: #3f3939; 1506 padding-top: 64px; 1507 padding-bottom: 64px; 1508} 1509#section-template--22196841349258__pdp_icon_box_HfaqxK .title { 1510 color: #3f3939; 1511} 1512@media (max-width: 991px) { 1513 #section-template--22196841349258__pdp_icon_box_HfaqxK { 1514 padding-top: 32px; 1515 padding-bottom: 32px; 1516 } 1517} 1518</style> <section class="sc-pdp-icon-box" id="section-template--22196841349258__pdp_icon_box_HfaqxK"> <div class="container"> <div class="pdp-icon-box"> <div class="left-block"> <div class="title desk-title">Principles That Are Taught in Tuttle Twins Stories</div> <div class="content"> <p>Our book club introduces kids to the ideas that shape real life, including money, government, morals, personal freedom, responsibility, and entrepreneurship.</p></div> <div class="btn-block"> <a href="#mainProduct_scrollTop" class="btn shop-btn"> Shop Book Club</a> </div> </div> <div class="right-block"> <div class="icon-with-text-block" style="background-color: #ecf4f0; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon11.svg?v=1771225604"> </div> <div class="icon-title"> Economics & Free Markets</div> </div> <div class="icon-with-text-block" style="background-color: #f8f2f7; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon12.svg?v=1771225605"> </div> <div class="icon-title"> Government & Civics</div> </div> <div class="icon-with-text-block" style="background-color: #faf3e2; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon13.svg?v=1771225605"> </div> <div class="icon-title"> Moral & Social Principles</div> </div> <div class="icon-with-text-block" style="background-color: #fff8fb; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon14.svg?v=1771225605"> </div> <div class="icon-title"> Personal Liberty & Individual Rights</div> </div> <div class="icon-with-text-block" style="background-color: #f2f7f8; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon15.svg?v=1771225605"> </div> <div class="icon-title"> Critical Thinking & Personal Responsibility</div> </div> <div class="icon-with-text-block" style="background-color: #fdf4f3; color: #3f3939"> <div class="icon"> <img src="//www.tuttletwins.com/cdn/shop/files/icon16.svg?v=1771225605"> </div> <div class="icon-title"> Entrepreneurship & Business</div> </div> </div> <div class="title mobile-title">Principles That Are Taught in Tuttle Twins Stories</div> </div> </div> </section> <style> 1519.sc-pdp-icon-box .container{ 1520 max-width: 1264px; 1521 margin: 0 auto; 1522 padding: 0 16px; 1523 width:100%; 1524} 1525.sc-pdp-icon-box .right-block { 1526 max-width: 704PX; 1527 width: 100%; 1528 border-radius: 20px; 1529 border: 1px solid #DBE7E9; 1530 padding: 16px; 1531 display: grid; 1532 grid-template-columns: repeat(3, minmax(0, 1fr)); 1533 gap: 12px; 1534} 1535.sc-pdp-icon-box .mobile-title { 1536 display:none; 1537} 1538.sc-pdp-icon-box .pdp-icon-box { 1539 display: flex; 1540 align-items: center; 1541 justify-content: space-between; 1542 gap: 24px; 1543} 1544.sc-pdp-icon-box .content p{ 1545 margin: 0; 1546} 1547.sc-pdp-icon-box .btn-block .shop-btn{ 1548 display:inline-block; 1549 font-size:18px; 1550 line-height:120%; 1551 letter-spacing:0px; 1552 font-weight:500; 1553 color:#ffffff; 1554 background-color:#DB5846; 1555 padding:16px 48px; 1556 transition:all 0.3s ease; 1557 text-align:center; 1558 border-radius:50px; 1559 text-decoration:none; 1560 margin-top:32px; 1561 } 1562 .sc-pdp-icon-box .btn-block .shop-btn:hover{ 1563 background-color:#3f3939; 1564 } 1565 1566 .sc-pdp-icon-box .pdp-icon-box .title{ 1567 font-size:40px; 1568 line-height:120%; 1569 letter-spacing:0px; 1570 font-weight:500; 1571 margin: 0; 1572 margin-bottom: 24px; 1573 } 1574.sc-pdp-icon-box .left-block { 1575 max-width: 388px; 1576 width: 100%; 1577} 1578.sc-pdp-icon-box .pdp-icon-box .icon-with-text-block .title{ 1579 font-size:16px; 1580 line-height:160%; 1581 letter-spacing:0px; 1582 margin-top:24px; 1583 } 1584.sc-pdp-icon-box .right-block .icon-with-text-block .icon { 1585 height: 56px; 1586 width: 56px; 1587 border-radius: 12px; 1588 display: flex; 1589 align-items: center; 1590 justify-content: center; 1591} 1592.sc-pdp-icon-box .right-block .icon-with-text-block .icon img { 1593 height: 32px; 1594 width: 32px; 1595 vertical-align: middle; 1596} 1597.sc-pdp-icon-box .icon-with-text-block { 1598 padding: 12px 16px; 1599 border-radius: 8px; 1600 display: flex; 1601 flex-direction: column; 1602 gap: 8px; 1603 justify-content: center;
1604 align-items: center; 1605} 1606.sc-pdp-icon-box .icon-with-text-block .icon-title { 1607 text-align: center; 1608 font-weight: 500; 1609 font-size: 18px; 1610 line-height:120%; 1611 letter-spacing: 0px; 1612} 1613 1614@media (max-width: 991px) { 1615 .sc-pdp-icon-box .icon-with-text-block .icon-title { 1616 font-size:16px; 1617 } 1618 .sc-pdp-icon-box .pdp-icon-box .title { 1619 margin-bottom: 20px; 1620 font-size: 32px; 1621 } 1622 .sc-pdp-icon-box .pdp-icon-box { 1623 flex-wrap:wrap; 1624 } 1625 .sc-pdp-icon-box .right-block, 1626 .sc-pdp-icon-box .left-block{ 1627 max-width:100%; 1628 } 1629} 1630@media (max-width: 575px) { 1631 .sc-pdp-icon-box .right-block{ 1632 grid-template-columns: repeat(2, minmax(0, 1fr)); 1633 gap: 8px; 1634 } 1635 .sc-pdp-icon-box .icon-with-text-block { 1636 gap: 0px; 1637 padding: 12px 8px; 1638 } 1639 .sc-pdp-icon-box .right-block { 1640 border-radius:15px; 1641 padding: 11px; 1642 } 1643 .sc-pdp-icon-box .pdp-icon-box { 1644 flex-direction:column-reverse; 1645 gap:20px; 1646 } 1647 .sc-pdp-icon-box .mobile-title { 1648 display:block; 1649 } 1650 .sc-pdp-icon-box .desk-title { 1651 display:none; 1652 } 1653 .sc-pdp-icon-box .pdp-icon-box .title{ 1654 text-align:center; 1655 margin-bottom:0px; 1656 } 1657 .sc-pdp-icon-box .btn-block .shop-btn{ 1658 margin-top:20px; 1659 width:100%; 1660 } 1661 .sc-pdp-icon-box .content{ 1662 text-align:center; 1663 } 1664 .sc-pdp-icon-box .pdp-icon-box .title { 1665 font-size:24px; 1666 } 1667} 1668</style> </div><div id="shopify-section-template--22196841349258__books_slider_K7eP4Q" class="shopify-section"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.css"> <style> 1669 #section--template--22196841349258__books_slider_K7eP4Q { 1670 padding-top: 56px; 1671 padding-bottom: 40px; 1672 background-color:#F2F7F8FF 1673 } 1674 @media screen and (max-width: 767px) { 1675 #section--template--22196841349258__books_slider_K7eP4Q { 1676 padding-top: 32px; 1677 padding-bottom: 32px; 1678 } 1679 } 1680 .books_slider_sec{ 1681 overflow:hidden; 1682 } 1683 .container{ 1684 max-width: 1280px; 1685 margin: 0 auto; 1686 height: 100%; 1687 } 1688 .swiper-container { 1689 width: 100%; 1690 height: 100%; 1691 position:relative; 1692 } 1693 .swiper-slide { 1694 width: fit-content; 1695 text-align: center; 1696 font-size: 18px; 1697 background: #fff; 1698 /* Center slide text vertically */ 1699 display: -webkit-box; 1700 display: -ms-flexbox; 1701 display: -webkit-flex; 1702 display: flex; 1703 -webkit-box-pack: center; 1704 -ms-flex-pack: center; 1705 -webkit-justify-content: center; 1706 justify-content: center; 1707 -webkit-box-align: center; 1708 -ms-flex-align: center; 1709 -webkit-align-items: center; 1710 align-items: center; 1711 border-radius: 15px; 1712 } 1713 .book_card_wrapper { 1714 max-width: 300px; 1715 padding: 12px; 1716 box-shadow: 0px 5px 11px 0px #00000012, 0px 20px 20px 0px #0000000F, 0px 44px 26px 0px #0000000A, 0px 78px 31px 0px #00000003, 0px 122px 34px 0px #00000000; 1717 border-radius: 12px; 1718 gap: 15px; 1719 background: #FFFFFF; 1720 display: grid; 1721 grid-template-columns: auto; 1722 grid-template-rows: auto 1fr; 1723} 1724.book_card_wrapper .card_content_wrapper { 1725 text-align: left; 1726 height: 100%; 1727 display: flex; 1728 flex-direction: column; 1729 justify-content: space-between; 1730} 1731 .book_card_wrapper .card_image_wrapper { 1732 display: flex; 1733 flex-direction: row; 1734 align-items: flex-start; 1735 gap: 2px; 1736 border-radius: 8px; 1737 overflow: hidden; 1738 } 1739 .book_card_wrapper .card_img_before, .book_card_wrapper .card_img_after { 1740 position: relative; 1741 height: 100%; 1742 width: 50%; 1743} 1744.book_card_wrapper .card_img_before img, .book_card_wrapper .card_img_after img { 1745 width: 100%; 1746 height: 100%; 1747 vertical-align: middle; 1748} 1749 .book_card_wrapper .card_img_before span, .book_card_wrapper .card_img_after span { 1750 font-weight: 600; 1751 font-size: 12px; 1752 line-height: 14px; 1753 color: #FFFFFF; 1754 background-color: #DB5846FF; 1755 padding: 3px 12px; 1756 border-radius: 100px; 1757 position: absolute; 1758 left: 50%; 1759 transform: translate(-50%, 6px); 1760 width: max-content; 1761 } 1762 .book_card_wrapper .card_img_after span{ 1763 background-color:#05AED8FF; 1764 } 1765 .book_card_wrapper .card_content_wrapper{ 1766 text-align:left; 1767 } 1768 1769 .book_card_wrapper .card_content_wrapper .books_card_title { 1770 margin: 0; 1771 font-size: 20px; 1772 line-height: 24px; 1773 font-weight: 500; 1774 color:#3F3939; 1775 margin-bottom: 8px; 1776 } 1777 .book_card_wrapper .card_content_wrapper .popup_card_title{ 1778 font-size: 24px;
1779 line-height: 26px; 1780 font-weight: 500; 1781 color:#3F3939; 1782 margin:0px; 1783 margin-bottom:10px; 1784 } 1785 .book_card_wrapper .card_content_wrapper .popup_card_description, 1786 .book_card_wrapper .card_content_wrapper .books_card_description { 1787 font-size: 14px; 1788 line-height: 18px; 1789 color:rgba(63, 57, 57, 0.7); 1790 font-weight: 500; 1791 margin-bottom:16px; 1792 } 1793 1794 .book_card_wrapper .card_content_wrapper .popup_card_description ul { 1795 list-style: none; 1796 padding: 0; 1797 margin: 0; 1798 display: flex; 1799 flex-direction: column; 1800 gap: 9px; 1801} 1802 .book_card_wrapper .card_content_wrapper .popup_card_description ul li { 1803 font-family: Poppins; 1804 font-weight: 400; 1805 font-size: 14px; 1806 line-height: 140%; 1807 letter-spacing: 0; 1808 color: #3f3939; 1809 position: relative; 1810 padding-left: 20px; 1811} 1812.book_card_wrapper .card_content_wrapper .popup_card_description ul li:after { 1813 position: absolute; 1814 content: ""; 1815 background-image: url('data:image/svg+xml,<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.00024 6.00024C1.00024 6.00024 2.33358 6.33358 3.33358 8.33358C3.33358 8.33358 7.03944 2.22246 10.3336 1.00024" stroke="%2305AED8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'); 1816 background-size: contain; 1817 height: 12px; 1818 width: 12px; 1819 background-repeat: no-repeat; 1820 left: 0; 1821 top: 6px; 1822} 1823 .book_card_wrapper .card_content_wrapper button { 1824 border: none; 1825 background: no-repeat; 1826 display: flex; 1827 flex-direction: row; 1828 align-items: center; 1829 padding: 0; 1830 color:#05AED8; 1831 font-family: "poppins"; 1832 font-size: 14px; 1833 font-weight: 500; 1834 line-height: 14px; 1835 letter-spacing: 0px; 1836 cursor: pointer; 1837 } 1838 .book_card_wrapper .card_content_wrapper button img { 1839 width: 14px; 1840 height: 14px; 1841 margin-right:5px; 1842 } 1843 .books_slider_sec .books_slider_controllers > * { 1844 position: unset; 1845 z-index:1; 1846 width: fit-content; 1847 } 1848 .books_slider_controllers { 1849 display: flex; 1850 align-items: center; 1851 justify-content: center; 1852 gap:15px; 1853 margin-top: 32px; 1854 } 1855 .books_slider_sec .books_slider_controllers .swiper-books-prev, 1856 .books_slider_sec .books_slider_controllers .swiper-books-next { 1857 width: 40px; 1858 height: 40px; 1859 display: flex; 1860 align-items: center; 1861 justify-content: center; 1862 border-radius: 100px; 1863 background-color: #fff; 1864 box-shadow: 0px 1px 1px 0px #0000000D, 0px 3px 3px 0px #0000000D, 0px 6px 3px 0px #0000000D; 1865 cursor: pointer; 1866 } 1867 .books_slider_controllers svg { 1868 width: 14px; 1869 height:14px; 1870 } 1871 .books_slider_sec .books_slider_controllers > * { 1872 position: unset; 1873 width: fit-content; 1874 font-size: 16px; 1875 line-height: 16px; 1876 font-weight: 400; 1877 color: #3F3939; 1878 } 1879 1880 1881 .popup_content_wrapper, 1882 .book-popup{ 1883 display:none; 1884 } 1885 .popup_content_wrapper span { 1886 font-weight: 500; 1887 font-size: 13px; 1888 line-height: 13px; 1889 text-align: center; 1890 color: #05AED8; 1891 background-color: #EAFBFF; 1892 padding: 3px 12px; 1893 border-radius: 100px; 1894 display: inline-block; 1895 margin-bottom:10px; 1896 } 1897 .popup_content_wrapper .books_card_title{ 1898 font-weight: 500; 1899 font-size: 24px; 1900 line-height:29px ; 1901 color: #3F3939; 1902 } 1903 1904 1905 .book-popup { 1906 position: fixed; 1907 top: 0; 1908 left: 0; 1909 right: 0; 1910 bottom: 0; 1911 background: #0000008c; 1912 z-index: 9; 1913 align-items: center; 1914 justify-content: center; 1915 } 1916 .book-popup .book_card_wrapper { 1917 max-width: 800px; 1918 align-items: center; 1919 gap: 0; 1920 display: grid; 1921 grid-template-columns: 1fr 1fr; 1922 padding: 24px; 1923} 1924 .book-popup .card_content_wrapper { 1925 padding-left: 32px; 1926 justify-content: center; 1927} 1928 .book-popup .card_content_wrapper .card_content_wrapper { 1929 display: none; 1930 } 1931 .book-popup .card_content_wrapper .popup_content_wrapper { 1932 display: block; 1933 } 1934 .popup_inner_wrapper { 1935 position: relative; 1936} 1937button.book-popup-close { 1938 height: 40px; 1939 width: 40px; 1940 background: #3F3939; 1941 border-radius: 30px; 1942 outline: none; 1943 box-shadow: none; 1944 border: none; 1945 color: #fff; 1946 font-size: 18px; 1947 position: absolute; 1948 top: -20px; 1949 right: -20px; 1950 cursor: pointer; 1951} 1952.books_slider_sec .swiper-slide { 1953 height: auto; 1954} 1955.books_slider_sec .swiper-slide .book_card_wrapper { 1956 height: calc(100% - 12px*2); 1957} 1958 1959@media(max-width:992px){ 1960 .popup_inner_wrapper { 1961 position: relative; 1962 width: 95%; 1963} 1964} 1965@media(max-width:768px){ 1966 .book-popup .book_card_wrapper { 1967 gap: 16px; 1968 grid-template-columns: 1fr; 1969 padding: 16px; 1970 } 1971 button.book-popup-close { 1972 top: -15px; 1973 right: -15px; 1974 cursor: pointer; 1975 z-index: 1; 1976 } 1977 .popup_inner_wrapper { 1978 position: relative; 1979 width: 90%; 1980} 1981.book-popup .card_content_wrapper { 1982 padding-left: 0; 1983} 1984} 1985</style> <section class="books_slider_sec" id="section--template--22196841349258__books_slider_K7eP4Q"> <div class="Container"> <div class="swiper-container books_slider"> <!-- Additional required wrapper --> <div class="swiper-wrapper"> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/0b72ba81-560b-4973-b6db-ef5dd766a09c.webp?v=1771221299&width=800" alt="Food Truck Fiasco" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/9d039d18-b369-4894-a62e-54741b94bee4.jpg?v=1771221289&width=800" alt="Food Truck Fiasco" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Food Truck Fiasco</h3> <div class="books_card_description"><p>Based on <em>Economics in One Lesson by Henry Hazlitt.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Food Truck Fiasco</h3> <div class="popup_card_description"><ul><li>Introduces basic economic ideas like supply, demand, and incentives through a fun story</li><li>Follows Ethan and Emily as they run a food truck and face real-world business challenges</li><li>Helps kids understand how regulations and choices impact prices, jobs, and opportunity</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/0c714347-da4d-4519-844a-1714dc1c9469.webp?v=1771242226&width=800" alt="Miraculous Pencil" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/e48e099a-eb90-4b25-bf68-ea8abbf46892.jpg?v=1771242227&width=800" alt="Miraculous Pencil" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Miraculous Pencil</h3> <div class="books_card_description"><p>Based on <em>I, Pencil by Leonard Read.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Miraculous Pencil</h3> <div class="popup_card_description"><ul><li>Introduces core economic ideas like free markets, division of labor, and voluntary cooperation through story.</li><li>Follows Ethan and Emily as they discover how people around the world work together to create something as simple as a pencil.</li><li>Shows kids how everyday items are made without a central planâmaking big economic concepts easy, engaging, and memorable.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/The_law_1.png?v=1776801375&width=800" alt="The Law" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/The_law_2.png?v=1776801375&width=800" alt="The Law" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">The Law</h3> <div class="books_card_description"><p>Based on <em>The Law by Frédéric Bastiat.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">The Law</h3> <div class="popup_card_description"><ul><li>Teaches children the origin of individual rights and personal responsibility.</li><li>Follows Ethan and Emily as they make the law easy to understand.</li><li>Sparks critical thinking about the role of government versus private aid.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/28600242-3adb-465a-a06f-f5dc612a50ba.avif?v=1771242409&width=800" alt="Creature from Jekyll Island" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/87c92707-e30d-4ee0-8a61-ca0cf02d04aa.webp?v=1771242430&width=800" alt="Creature from Jekyll Island" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Creature from Jekyll Island</h3> <div class="books_card_description"><p>Based on <em>The Creature from Jekyll Island by G. Edward Griffin.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Creature from Jekyll Island</h3> <div class="popup_card_description"><ul><li>Introduces kids to how money is created and how the banking system works.</li><li>Follows Ethan and Emily as they uncover the mystery behind central banking and the Federal Reserve.</li><li>Encourages critical thinking about money, inflation, and the impact of financial decisions on everyday life.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/marxism_cover.png?v=1776801203&width=800" alt="Medals of Merit" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/merit_cover.png?v=1776801275&width=800" alt="Medals of Merit" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Medals of Merit</h3> <div class="books_card_description"><p>Based on <em>Marxism: Philosophy and Economics by Thomas Sowell.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Medals of Merit</h3> <div class="popup_card_description"><ul><li>Introduces kids to incentives, merit, and how rewards influence behavior.</li><li>Follows Ethan and Emily as they see what happens when effort and achievement are treated the same.</li><li>Encourages critical thinking about fairness, motivation, and unintended consequences.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/Crisis_and_leviatahn.png?v=1776801463&width=800" alt="Leviathan Crisis" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/Leviathan_Crisis.png?v=1776801463&width=800" alt="Leviathan Crisis" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Leviathan Crisis</h3> <div class="books_card_description"><p>Based on <em>Crisis and Leviathan by Robert Higgs.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Leviathan Crisis</h3> <div class="popup_card_description"><ul><li>
1985Introduces kids to how emergencies and crises can lead to expanded government power.</li><li>Follows Ethan and Emily as they explore what happens when governments growâand why that growth often lasts.</li><li>Encourages critical thinking about freedom, safety, and the long-term effects of crisis policies.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/American_Education.png?v=1776801541&width=800" alt="Education Vacation" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/Education_vacation.png?v=1776801542&width=800" alt="Education Vacation" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Education Vacation</h3> <div class="books_card_description"><p>Based on <em>The Underground History of American Education by John Taylor Gatto.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Education Vacation</h3> <div class="popup_card_description"><ul><li>Introduces kids to different approaches to education, including school choice and incentives.</li><li>Follows Ethan and Emily as they explore why some schools succeedâand why others struggle.</li><li>Encourages critical thinking about education systems, accountability, and what helps students thrive.</li></ul></div> </div> </div> </div> </div> <div class="swiper-slide"> <div class="book_card_wrapper"> <div class="card_image_wrapper"> <div class="card_img_before"> <span>Original</span> <img src="//www.tuttletwins.com/cdn/shop/files/Competition_entrepreneurship.png?v=1776801599&width=800" alt="Spectacular Show Business" loading="lazy"> </div> <div class="card_img_after"> <span>Tuttle Twins</span> <img src="//www.tuttletwins.com/cdn/shop/files/Show_business.png?v=1776801610&width=800" alt="Spectacular Show Business" loading="lazy"> </div> </div> <div class="card_content_wrapper"> <div class="card_content_wrapper"> <div class="card_text_block"> <h3 class="books_card_title">Spectacular Show Business</h3> <div class="books_card_description"><p>Based on <em>Competition and Entrepreneurship by Israel Kirzner.</em></p></div> </div> <button> <img src="https://cdn.shopify.com/s/files/1/0655/8951/0282/files/pluse-icon.svg?v=1771225149"> Read Description </button> </div> <div class="popup_content_wrapper"> <span>Recommended Ages: 5-12</span> <h3 class="popup_card_title">Spectacular Show Business</h3> <div class="popup_card_description"><ul><li>Introduces kids to entrepreneurship, competition, and how businesses create value.</li><li>Follows Ethan and Emily as they learn what it takes to start a showâand succeed in the marketplace.</li><li>Teaches why competition, innovation, and customer choice make products and services better.</li></ul></div> </div> </div> </div> </div> </div> <!-- If we need navigation buttons --> <div class="books_slider_controllers"> <div class="swiper-books-prev"> <svg fill="#3F3939" width="800px" height="800px" viewBox="-4.5 0 19 19" xmlns="http://www.w3.org/2000/svg" class="cf-icon-svg"> <path d="M8.4 17.269a1.026 1.026 0 0 1-.727-.302l-6.801-6.8a1.03 1.03 0 0 1 0-1.456l6.8-6.8a1.03 1.03 0 0 1 1.456 1.455L3.055 9.439l6.073 6.073A1.03 1.03 0 0 1 8.4 17.27z"></path> </svg> </div> <div class="swiper-pagination"></div> <div class="swiper-books-next"> <svg fill="#3F3939" width="800px" height="800px" viewBox="-4.5 0 19 19" xmlns="http://www.w3.org/2000/svg" class="cf-icon-svg"> <path d="M1.6 17.262a1.03 1.03 0 0 1-.728-1.757l6.073-6.073L.872 3.36a1.03 1.03 0 0 1 1.455-1.455l6.8 6.8a1.03 1.03 0 0 1 0 1.456l-6.8 6.8a1.025 1.025 0 0 1-.727.302z"></path> </svg> </div> </div> </div> </div> <div class="book-popup" id="bookPopup-template--22196841349258__books_slider_K7eP4Q" aria-hidden="true"> <div class="book-popup-overlay" data-popup-close=""></div> <div class="popup_inner_wrapper"> <button type="button" class="book-popup-close" data-popup-close="">â</button> <div class="poup_content"></div> </div> </div> </section>
1985<script src="https://cdn.jsdelivr.net/npm/swiper@12/swiper-bundle.min.js"></script>
1985
1985<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
1985
1985<script> 1986 document.addEventListener('DOMContentLoaded', function () { 1987 // Swiper init 1988 new Swiper('.books_slider', { 1989 loop: true, 1990 pagination: { 1991 el: '.swiper-pagination', 1992 type: 'fraction', 1993 }, 1994 navigation: { 1995 nextEl: '.swiper-books-next', 1996 prevEl: '.swiper-books-prev', 1997 }, 1998 slidesPerView: 'auto', 1999 centeredSlides: true, 2000 breakpoints: { 2001 1920: { spaceBetween: 16 }, 2002 992: { spaceBetween: 16 }, 2003 768: { spaceBetween: 10 }, 2004 0: { spaceBetween: 10 }, 2005 }, 2006 }); 2007 }); 2008 2009 2010 document.addEventListener("DOMContentLoaded", function () { 2011 2012 const triggerBtns = document.querySelectorAll(".card_content_wrapper button"); 2013 const popupWrapper = document.querySelector(".book-popup"); 2014 const popupInner = document.querySelector(".poup_content"); 2015 const closeBtn = document.querySelector(".book-popup-close"); 2016 2017 triggerBtns.forEach(function(button) { 2018 button.addEventListener("click", function() { 2019 2020 const card = this.closest(".book_card_wrapper"); 2021 if (!card || !popupInner || !popupWrapper) return; 2022 2023 popupInner.innerHTML = ""; 2024 2025 const clone = card.cloneNode(true); 2026 2027 popupInner.appendChild(clone); 2028 2029 popupWrapper.style.display = "flex"; 2030 }); 2031 }); 2032 2033 if (closeBtn) { 2034 closeBtn.addEventListener("click", function() { 2035 2036 if (popupWrapper) { 2037 popupWrapper.style.display = "none"; 2038 } 2039 2040 if (popupInner) { 2041 popupInner.innerHTML = ""; 2042 } 2043 }); 2044 } 2045 2046}); 2047</script>
2047 </div><div id="shopify-section-template--22196841349258__how_it_works_hq3CND" class="shopify-section"><style data-shopify=""> 2048 .section-template--22196841349258__how_it_works_hq3CND { 2049 background: #05aed8; 2050 padding-top: 32px; 2051 padding-bottom: 32px; 2052 } 2053 .section-template--22196841349258__how_it_works_hq3CND .font-label-color { color: #ffffff; } 2054 @media screen and (min-width: 768px) { 2055 .section-template--22196841349258__how_it_works_hq3CND { 2056 padding-top: 64px; 2057 padding-bottom: 64px; 2058 } 2059 } 2060</style> <section class="how-it-works section-template--22196841349258__how_it_works_hq3CND"> <div class="page-width"> <h2 class="section-title font-label-color">How It Works</h2> <div class="how-it-works-wrapper"> <div class="steps"> <div class="step-card"> <div class="step-image"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_9914813.png?v=1771225023&width=200" alt="Subscribe" loading="lazy"> </div> <div class="step-content"> <h3 class="step-title">1. Subscribe</h3> <div class="step-description">Sign Up is Quick & Easy</div> </div> </div> <div class="step-card"> <div class="step-image"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_9914813_1.png?v=1771225069&width=200" alt="Books Arrive Monthly" loading="lazy"> </div> <div class="step-content"> <h3 class="step-title">2. Books Arrive Monthly</h3> <div class="step-description">Get new Tuttle Twins books shipped FREE every month delivered straight to your door</div> </div> </div> <div class="step-card"> <div class="step-image"> <img src="//www.tuttletwins.com/cdn/shop/files/Frame_9914813_2.png?v=1771225069&width=200" alt="Enjoy Time with Family & Learn New Concepts" loading="lazy"> </div> <div class="step-content"> <h3 class="step-title">3. Enjoy Time with Family & Learn New Concepts</h3> <div class="step-description">Big Ideas. Real Conversations. Zero Lectures</div> </div> </div> </div> <div class="right-image"> <img src="//www.tuttletwins.com/cdn/shop/files/Gemini_Generated_Image_b4ta3sb4ta3sb4ta_1.png?v=1771225069&width=800" alt="How it works image" loading="lazy"> </div> </div> </div> </section> <style> 2061 .how-it-works .section-title { 2062 font-family: Poppins; 2063 font-weight: 500; 2064 font-size: 40px; 2065 line-height: 48px; 2066 letter-spacing: 0px; 2067 text-align: center; 2068 padding-bottom: 48px; 2069 margin: 0; 2070 } 2071 2072 .how-it-works-wrapper { 2073 display: grid; 2074 grid-template-columns: 1fr 1fr; 2075 gap: 80px; 2076 align-items: center; 2077 } 2078 2079 .steps { 2080 display: flex; 2081 flex-direction: column; 2082 gap: 16px; 2083 } 2084 2085 .step-card { 2086 display: flex; 2087 gap: 20px; 2088 background: #fff; 2089 padding: 12px; 2090 border-radius: 12px; 2091 align-items: center; 2092 box-shadow: 0 10px 25px rgba(0,0,0,0.08); 2093 } 2094 2095 .step-image img { 2096 width: 140px; 2097 height: 140px; 2098 object-fit: cover; 2099 border-radius: 12px; 2100 display: block; 2101 } 2102 2103 .step-content .step-title { 2104 font-family: Poppins; 2105 font-weight: 500; 2106 font-size: 24px; 2107 line-height: 34px; 2108 letter-spacing: 0; 2109 color: #3F3939; 2110 margin: 0; 2111 padding-bottom: 6px; 2112 } 2113 2114 .step-content .step-description { 2115 font-family: Poppins; 2116 font-weight: 400; 2117 font-size: 16px; 2118 line-height: 26px; 2119 letter-spacing: 0; 2120 color: #3F3939; 2121 margin: 0; 2122 opacity: 0.7; 2123 } 2124 2125 .right-image img { 2126 width: 100%; 2127 border-radius: 20px; 2128 display: block; 2129 } 2130 2131 @media screen and (max-width: 1199px) { 2132 .step-content .step-title { 2133 font-size: 18px; 2134 line-height: 22px; 2135 } 2136 .step-content .step-description { 2137 font-size: 14px; 2138 line-height: 18px; 2139 } 2140 .step-image img { 2141 width: 110px; 2142 height: 110px; 2143 } 2144 } 2145 2146 @media screen and (max-width: 991px) { 2147 .how-it-works-wrapper { 2148 grid-template-columns: 1fr; 2149 } 2150 2151 .right-image { 2152 order: -1; 2153 } 2154 2155 .how-it-works .section-title { 2156 font-size: 32px; 2157 } 2158 } 2159 2160 @media screen and (max-width: 767px) { 2161 .right-image {display: none;} 2162 .how-it-works .section-title { 2163 font-size: 28px; 2164 line-height: 34px; 2165 padding-bottom: 20px; 2166 } 2167 .step-image img { 2168 width: 100px; 2169 height: 100px; 2170 border-radius: 8px; 2171 } 2172 .step-card {gap: 16px;} 2173 .steps {gap: 8px;} 2174 .how-it-works .page-width {padding: 0 16px;} 2175 .step-card {padding: 8px;} 2176 } 2177</style> </div><div id="shopify-section-template--22196841349258__customers_reviews_NkArb3" class="shopify-section"><style data-shopify=""> 2178 #section-template--22196841349258__customers_reviews_NkArb3 { 2179 background: #f2f7f8; 2180 padding-top: 64px; 2181 padding-bottom: 64px; 2182 } 2183 2184 #section-template--22196841349258__customers_reviews_NkArb3 .review-heading{ 2185 color:#3f3939; 2186 } 2187 2188 2189 #section-template--22196841349258__customers_reviews_NkArb3 .left-right-ticker .ticker_container { 2190 animation: scroll-left 40s linear infinite; 2191 } 2192 2193 #section-template--22196841349258__customers_reviews_NkArb3 .right-left-ticker .ticker_container { 2194 animation: scroll-right 40s linear infinite; 2195 } 2196
2197 @keyframes scroll-left { 2198 from { 2199 transform: translateX(0); 2200 } 2201 to { 2202 transform: translateX(-50%); 2203 } 2204 } 2205 2206 @keyframes scroll-right { 2207 from { 2208 transform: translateX(-50%); 2209 } 2210 to { 2211 transform: translateX(0); 2212 } 2213 } 2214 2215 .customers-reviews-sec .review_item_wrapper { 2216 display: none; 2217 opacity: 0; 2218 max-height: 0; 2219 } 2220 2221 2222 /* Desktop (width > 767px) */ 2223 @media screen and (min-width:768px) { 2224 2225 2226 2227 #section-template--22196841349258__customers_reviews_NkArb3 .right-left-ticker { 2228 display: none; 2229 } 2230 2231 } 2232 2233 /* Mobile (width <= 767px) */ 2234 @media screen and (max-width:767px) { 2235 #section-template--22196841349258__customers_reviews_NkArb3 { 2236 padding-top: 32px; 2237 padding-bottom: 32px; 2238 } 2239 2240 #section-template--22196841349258__customers_reviews_NkArb3 .left-right-ticker .ticker_container { 2241 animation-duration: 20s; 2242 } 2243 #section-template--22196841349258__customers_reviews_NkArb3 .right-left-ticker .ticker_container { 2244 animation-duration: 20s; 2245 } 2246 2247 2248 #section-template--22196841349258__customers_reviews_NkArb3 .left-right-ticker { 2249 display: none; 2250 } 2251 2252 2253 2254 } 2255</style> <div class="section-template--22196841349258__customers_reviews_NkArb3 customers-reviews-sec" id="section-template--22196841349258__customers_reviews_NkArb3"> <div class="sec-container"> <div class="sechead"> <h2 class="review-heading"> Thousands of Happy Kids (and Parents) </h2> </div> <div class="image_ticker_block"> <div class="left-right-ticker image-ticker"> <div class="ticker_container"> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> </div> </div> <div class="right-left-ticker image-ticker"> <div class="ticker_container"> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img.webp?v=1771223343&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img2.png?v=1771226184&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img3.png?v=1771226227&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img4.png?v=1771226244&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> <div class="ticker_item"> <img src="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=200 200w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=300 300w, //www.tuttletwins.com/cdn/shop/files/ticker_img5.png?v=1771226258&width=400 400w" width="400" height="226" loading="lazy" class="ticker_img" sizes="(max-width: 768px) 200px, 400px"> </div> </div> </div> </div> <div class="review_container"> <div class="review_row"> <div class="review_col review_item_wrapper " data-index="0"> <div class="review_item"> <img src="//www.tuttletwins.com/cdn/shop/files/rating-star.svg?v=12790757414817172580" alt="Rating Stars" class="rating_star"> <div class="review_content"> <p>âMy son doesn't like to read, but he devours these books over and over again. Kudos to Connor and his team for finding the secret sauce to get my son interested in learning.â</p> </div> <div class="bottom_block"> <h5 class="customer_name"> Peter R </h5> <div class="verify_block"> <img src="//www.tuttletwins.com/cdn/shop/files/verify_icon_e487f5eb-8e65-4196-9e0d-885b1
2255a7df5dc.svg?v=3444751853781729401" alt="Verify Icon"> <span>VERIFIED BUYER</span> </div> </div> </div> </div> <div class="review_col review_item_wrapper " data-index="1"> <div class="review_item"> <img src="//www.tuttletwins.com/cdn/shop/files/rating-star.svg?v=12790757414817172580" alt="Rating Stars" class="rating_star"> <div class="review_content"> <p>âForget 5-11 year olds⦠when I read these books to my kids I learned all sorts of stuff nobody ever taught me. Now my kids and I have some awesome discussions together!â</p> </div> <div class="bottom_block"> <h5 class="customer_name"> Josie A </h5> <div class="verify_block"> <img src="//www.tuttletwins.com/cdn/shop/files/verify_icon_e487f5eb-8e65-4196-9e0d-885b1a7df5dc.svg?v=3444751853781729401" alt="Verify Icon"> <span>VERIFIED BUYER</span> </div> </div> </div> </div> <div class="review_col review_item_wrapper " data-index="2"> <div class="review_item"> <img src="//www.tuttletwins.com/cdn/shop/files/rating-star.svg?v=12790757414817172580" alt="Rating Stars" class="rating_star"> <div class="review_content"> <p>"We've received our first 2 books and my 2 kids have already read both, and my oldest has read them multiple times!"</p> </div> <div class="bottom_block"> <h5 class="customer_name"> Christie E </h5> <div class="verify_block"> <img src="//www.tuttletwins.com/cdn/shop/files/verify_icon_e487f5eb-8e65-4196-9e0d-885b1a7df5dc.svg?v=3444751853781729401" alt="Verify Icon"> <span>VERIFIED BUYER</span> </div> </div> </div> </div> <div class="review_col review_item_wrapper " data-index="3"> <div class="review_item"> <img src="//www.tuttletwins.com/cdn/shop/files/rating-star.svg?v=12790757414817172580" alt="Rating Stars" class="rating_star"> <div class="review_content"> <p>"The kids love having the variety of topics and are learning so much, with FUN READING! Keep up the great job Tuttle Twins!"</p> </div> <div class="bottom_block"> <h5 class="customer_name"> Lauri M. </h5> <div class="verify_block"> <img src="//www.tuttletwins.com/cdn/shop/files/verify_icon_e487f5eb-8e65-4196-9e0d-885b1a7df5dc.svg?v=3444751853781729401" alt="Verify Icon"> <span>VERIFIED BUYER</span> </div> </div> </div> </div> <div class="review_col review_item_wrapper " data-index="4"> <div class="review_item"> <img src="//www.tuttletwins.com/cdn/shop/files/rating-star.svg?v=12790757414817172580" alt="Rating Stars" class="rating_star"> <div class="review_content"> <p>"I love these books, we haven't even finished going through them all and between the books and the show on Angel she is already applying what she has learned to other things and it is amazing to see!</p><p>For example, the book about the pencil and how it is made actually taught her how the Bible was made and made it easy for her to understand."</p> </div> <div class="bottom_block"> <h5 class="customer_name"> Austin M. </h5> <div class="verify_block"> <img src="//www.tuttletwins.com/cdn/shop/files/verify_icon_e487f5eb-8e65-4196-9e0d-885b1a7df5dc.svg?v=3444751853781729401" alt="Verify Icon"> <span>VERIFIED BUYER</span> </div> </div> </div> </div> </div> <div class="show_all_wrapper"></div> </div> </div> </div> <style> 2256 .customers-reviews-sec .sec-container { 2257 display: flex; 2258 flex-direction: column; 2259 gap: 48px; 2260 } 2261 .customers-reviews-sec .review-heading { 2262 margin: 0; 2263 font-size: 40px; 2264 text-align: center; 2265 font-weight: 500; 2266 letter-spacing: 0; 2267 line-height: 140%; 2268 } 2269 .customers-reviews-sec .review_container { 2270 max-width: 1272px; 2271 margin: 0 auto; 2272 padding: 0 20px; 2273 } 2274 .customers-reviews-sec .review_container .review_row { 2275 display: flex; 2276 flex-wrap: wrap; 2277 margin: 0 -8px; 2278 row-gap: 16px; 2279 } 2280 .customers-reviews-sec .review_container .review_row .review_col { 2281 flex: 0 0 33.33%; 2282 padding: 0 8px; 2283 } 2284 .customers-reviews-sec .review_item { 2285 background: #FFFFFF; 2286 border-radius: 15px; 2287 padding: 20px; 2288 display: flex; 2289 flex-direction: column; 2290 gap: 16px; 2291 } 2292 .customers-reviews-sec .review_item .rating_star { 2293 width: 88px; 2294 } 2295 .customers-reviews-sec .review_content { 2296 font-size: 14px; 2297 letter-spacing: 0; 2298 line-height: 140%; 2299 } 2300 .customers-reviews-sec .review_content p { 2301 margin: 0; 2302 }
2303 .customers-reviews-sec .verify_block img { 2304 width: 20px; 2305 } 2306 .customers-reviews-sec .verify_block { 2307 display: flex; 2308 align-items: center; 2309 gap: 6px; 2310 } 2311 .customers-reviews-sec .verify_block span { 2312 font-size: 14px; 2313 color: #3F3939; 2314 letter-spacing: 0; 2315 line-height: 100%; 2316 } 2317 .customers-reviews-sec .review_item .customer_name { 2318 margin: 0; 2319 font-weight: 600; 2320 font-size: 14px; 2321 line-height: 110%; 2322 letter-spacing: 0; 2323 } 2324 .customers-reviews-sec .review_item .bottom_block { 2325 display: flex; 2326 align-items: center; 2327 gap: 8px; 2328 } 2329 2330 .customers-reviews-sec .review_item_wrapper { 2331 overflow: hidden; 2332 transition: all 0.5s ease; 2333 } 2334 2335 .customers-reviews-sec .review_item_wrapper.show { 2336 display: flex; 2337 opacity: 1; 2338 max-height: 500px; 2339 } 2340 2341 .customers-reviews-sec .show_all_wrapper { 2342 display: flex; 2343 justify-content: center; 2344 } 2345 2346 .customers-reviews-sec .show_all_reviews, 2347 .customers-reviews-sec .show_less_reviews { 2348 margin: 24px auto 0; 2349 display: block; 2350 padding: 15px 24px; 2351 cursor: pointer; 2352 border: 1px solid #000000; 2353 background: transparent; 2354 color:#3F3939; 2355 font-size: 18px; 2356 font-family: var(--font-body-family); 2357 font-weight: 500; 2358 line-height: 123%; 2359 border-radius: 100px; 2360 width: 100%; 2361 justify-content: center; 2362 align-items: center; 2363 max-width: 268px; 2364 } 2365 .customers-reviews-sec .show_all_reviews:hover, .show_less_reviews:hover { 2366 background: #000; 2367 color: #fff; 2368 } 2369 .customers-reviews-sec .image_ticker_block { 2370 display: flex; 2371 flex-direction: column; 2372 gap: 12px; 2373 } 2374 .customers-reviews-sec .image-ticker { 2375 overflow: hidden; 2376 position: relative; 2377 } 2378 .customers-reviews-sec .ticker_item .ticker_img { 2379 vertical-align: middle; 2380 max-width: 354px; 2381 aspect-ratio: 3 / 1.7; 2382 object-fit: cover; 2383 border-radius: 8px; 2384 } 2385 .customers-reviews-sec .ticker_container { 2386 display: flex; 2387 gap: 24px; 2388 width: max-content; 2389 } 2390 .customers-reviews-sec .ticker_item { 2391 flex-shrink: 0; 2392 } 2393 2394 2395 @media screen and (max-width:1024px){ 2396 .customers-reviews-sec .review_container .review_row .review_col { 2397 flex: 0 0 50%; 2398 } 2399 } 2400 2401 @media screen and (max-width:767px){ 2402 .customers-reviews-sec .review_container { 2403 padding: 0 16px; 2404 } 2405 .customers-reviews-sec .review_container .review_row .review_col { 2406 flex: 0 0 100%; 2407 } 2408 .customers-reviews-sec .review-heading { 2409 font-size: 28px; 2410 line-height:120%; 2411 } 2412 .customers-reviews-sec .sec-container { 2413 gap: 24px; 2414 } 2415 .customers-reviews-sec .ticker_container { 2416 gap: 12px; 2417 } 2418 } 2419</style>
2419<script> 2420 document.addEventListener("DOMContentLoaded", function() { 2421 if (typeof Shopify !== "undefined" && Shopify.designMode) return; // skip in editor 2422 2423 document.querySelectorAll(".customers-reviews-sec").forEach(section => { 2424 const showWrapper = section.querySelector(".show_all_wrapper"); 2425 const reviewItems = section.querySelectorAll(".review_item_wrapper"); 2426 2427 if (!showWrapper) return; 2428 2429 // Create buttons 2430 const showMoreBtn = document.createElement("button"); 2431 showMoreBtn.className = "show_all_reviews"; 2432 showMoreBtn.textContent = "Load More Reviews"; 2433 2434 const showLessBtn = document.createElement("button"); 2435 showLessBtn.className = "show_less_reviews"; 2436 showLessBtn.textContent = "Show Less"; 2437 2438 showWrapper.appendChild(showMoreBtn); 2439 showWrapper.appendChild(showLessBtn); 2440 2441 showMoreBtn.style.display = "none"; 2442 showLessBtn.style.display = "none"; 2443 2444 function setVisibleReviews() { 2445 const isMobile = window.innerWidth <= 767; 2446 const limit = isMobile ? 3 : 6; 2447 2448 reviewItems.forEach((el, i) => { 2449 if(i < limit){ 2450 el.classList.add("show"); 2451 } else { 2452 el.classList.remove("show"); 2453 } 2454 }); 2455 2456 if(reviewItems.length > limit){ 2457 showMoreBtn.style.display = "inline-block"; 2458 showLessBtn.style.display = "none"; 2459 } else { 2460 showMoreBtn.style.display = "none"; 2461 showLessBtn.style.display = "none"; 2462 } 2463 } 2464 2465 setVisibleReviews(); 2466 window.addEventListener("resize", setVisibleReviews); 2467 2468 showMoreBtn.addEventListener("click", function() { 2469 reviewItems.forEach(el => el.classList.add("show")); 2470 showMoreBtn.style.display = "none"; 2471 showLessBtn.style.display = "inline-block"; 2472 }); 2473 2474 showLessBtn.addEventListener("click", function() { 2475 setVisibleReviews(); 2476 showLessBtn.style.display = "none"; 2477 showMoreBtn.style.display = "inline-block"; 2478 }); 2479 }); 2480 }); 2481 </script>
2481 </div><div id="shopify-section-template--22196841349258__sc_pdp_image_text_gNd7B4" class="shopify-section"><style data-shopify=""> 2482 #section-template--22196841349258__sc_pdp_image_text_gNd7B4 { 2483 padding-top: 80px; 2484 padding-bottom: 80px; 2485 background-color: #ffffff; 2486 } 2487 @media only screen and (max-width: 991px) { 2488 #section-template--22196841349258__sc_pdp_image_text_gNd7B4 { 2489 padding-top: 32px; 2490 padding-bottom: 32px; 2491 } 2492 } 2493</style> <section class="sc-pdp-image-text" id="section-template--22196841349258__sc_pdp_image_text_gNd7B4"> <div class="container"> <div class="sc-pdp-grid"> <div class="image-part"> <img src="//www.tuttletwins.com/cdn/shop/files/image-kids.webp?v=1771221879" alt="image" class="desk-img"> <img src="//www.tuttletwins.com/cdn/shop/files/mobile-img.webp?v=1771236092" alt="image" class="mobile-img"> </div> <div class="content-part"> <h2 class="heading">Big Ideas Start Early.</h2> <div class="content"><p>Give your kids stories that entertain and teach them how the world really works. </p><p></p><p>The Tuttle Twins Book Club delivers age-appropriate books each month that spark curiosity, critical thinking, and a love of learning without preaching or politics.</p></div> <div class="listing-part"> <div class="listing-inner"> <img src="//www.tuttletwins.com/cdn/shop/files/icon1.svg?v=1771221964" alt="icon"> <div class="listing-inner-content"> <div class="listing-title">Fun to Read</div> <div class="listing-content"><p>The original book has great lessons, but we explain them in simple language with fun characters and clear examples kids can follow.</p></div> </div> </div> <div class="listing-inner"> <img src="//www.tuttletwins.com/cdn/shop/files/icon2.svg?v=1771221963" alt="icon"> <div class="listing-inner-content"> <div class="listing-title">Designed to Stick</div> <div class="listing-content"><p>Instead of long, dense text, Tuttle Twins uses exciting stories that make the lessons stick and feel real in everyday life.</p></div> </div> </div> </div> <a href="#mainProduct_scrollTop" class="shop-btn">Shop Book Club</a> </div> </div> </div> </section> <style> 2494 .sc-pdp-image-text h2, 2495 .sc-pdp-image-text p { 2496 margin:0px; 2497 } 2498 .sc-pdp-image-text .container { 2499 max-width: 1350px; 2500 margin: 0 auto; 2501 padding: 0 16px; 2502 width:100%; 2503 } 2504 .sc-pdp-image-text .sc-pdp-grid { 2505 display:flex; 2506 gap:80px; 2507 } 2508 .sc-pdp-image-text .image-part { 2509 border-radius:20px; 2510 overflow:hidden; 2511 } 2512 .sc-pdp-image-text .image-part img { 2513 height:100%; 2514 width:100%; 2515 object-fit:cover; 2516 vertical-align:middle; 2517 } 2518 .sc-pdp-image-text .content-part { 2519 max-width:588px; 2520 width:100%; 2521 } 2522 .sc-pdp-image-text .content-part .heading{ 2523 font-size:40px; 2524 line-height:120%; 2525 letter-spacing:0px; 2526 color:#3F3939; 2527 font-weight:500; 2528 } 2529 .sc-pdp-image-text .content-part .content{ 2530 font-size:16px; 2531 line-height:160%; 2532 letter-spacing:0px; 2533 color:#3F3939FF; 2534 margin-top:16px; 2535 } 2536 .sc-pdp-image-text .content-part .listing-part{ 2537 margin:40px 0px; 2538 } 2539 .sc-pdp-image-text .content-part .listing-inner{ 2540 display:flex; 2541 align-items:center; 2542 gap:24px; 2543 margin-bottom:32px; 2544 } 2545 .sc-pdp-image-text .content-part .listing-inner:last-child{ 2546 margin-bottom:0px; 2547 } 2548 .sc-pdp-image-text .content-part .listing-inner img{ 2549 width:48px; 2550 height:48px; 2551 vertical-align:middle; 2552 } 2553 .sc-pdp-image-text .content-part .listing-inner .listing-title{ 2554 font-size:24px; 2555 line-height:140%; 2556 letter-spacing:0px; 2557 font-weight:500; 2558 } 2559 .sc-pdp-image-text .content-part .listing-inner .listing-content{ 2560 font-size:16px; 2561 line-height:160%; 2562 letter-spacing:0px; 2563 margin-top:6px; 2564 } 2565 .sc-pdp-image-text .content-part .shop-btn{ 2566 display:inline-block; 2567 font-size:18px; 2568 line-height:120%; 2569 letter-spacing:0px; 2570 font-weight:500; 2571 color:#ffffff; 2572 background-color:#DB5846; 2573 padding:16px 48px; 2574 transition:all 0.3s ease; 2575 text-align:center; 2576 border-radius:50px; 2577 text-decoration:none; 2578 } 2579 .sc-pdp-image-text .content-part .shop-btn:hover{ 2580 background-color:#3f3939; 2581} 2582.sc-pdp-image-text .mobile-img{ 2583 display:none; 2584} 2585.sc-pdp-image-text .content-part .content p { 2586 display: inline; 2587} 2588 @media only screen and (max-width: 991px) { 2589 .sc-pdp-image-text .sc-pdp-grid { 2590 gap:24px; 2591 align-items:start; 2592 } 2593 .sc-pdp-image-text .content-part { 2594 max-width:100%; 2595 } 2596 .sc-pdp-image-text .image-part{ 2597 width:100%; 2598 } 2599 .sc-pdp-image-text .content-part .heading{ 2600 font-size:32px; 2601 } 2602 .sc-pdp-image-text .content-part .listing-inner .listing-title { 2603 font-size: 20px; 2604 } 2605 .sc-pdp-image-text .content-part .listing-inner .listing-content{ 2606 margin-top:4px; 2607 } 2608 .sc-pdp-image-text .content-part .listing-inner img { 2609 width: 40px; 2610 height: 40px; 2611 } 2612 .sc-pdp-image-text .content-part .listing-part { 2613 margin: 24px 0px; 2614 } 2615 .sc-pdp-image-text .content-part .listing-inner{ 2616 margin-bottom: 16px; 2617 } 2618 .sc-pdp-image-text .image-part { 2619 border-radius:15px; 2620 } 2621 .sc-pdp-image-text .content-part .content{ 2622 margin-top:12px; 2623 } 2624 } 2625 @media only screen and (max-width: 767px) { 2626 .sc-pdp-image-text .sc-pdp-grid{ 2627 flex-wrap:wrap; 2628 } 2629 .sc-pdp-image-text .content-part .heading { 2630 font-size: 28px; 2631 } 2632 .sc-pdp-image-text .content-part .content p { 2633 margin-bottom: 20px; 2634 } 2635 .sc-pdp-image-text .content-part .content p:last-child{ 2636 margin-bottom:0px; 2637 } 2638 } 2639 @media only screen and (max-width: 575px) { 2640 .sc-pdp-image-text .content-part .shop-btn{ 2641 width:100%; 2642 } 2643 .sc-pdp-image-text .mobile-img{ 2644 display:block; 2645 } 2646 .sc-pdp-image-text .desk-img{ 2647 display:none; 2648 } 2649 .sc-pdp-image-text .content-part .content p { 2650 display: block; 2651 } 2652 } 2653</style> </div><div id="shopify-section-template--22196841349258__sc_faq_BG4eRc" class="shopify-section"><style data-shopify=""> 2654#section-template--22196841349258__sc_faq_BG4eRc { 2655 background-color: #f2f7f8; 2656 color: #3f3939; 2657 padding-top: 64px; 2658 padding-bottom: 64px; 2659} 2660#section-template--22196841349258__sc_faq_BG4eRc span, 2661#section-template--22196841349258__sc_faq_BG4eRc .title { 2662 color: #3f3939; 2663} 2664 2665@media (max-width: 991px) { 2666 #section-template--22196841349258__sc_faq_BG4eRc { 2667 padding-top: 32px; 2668 padding-bottom: 32px; 2669 } 2670} 2671</style> <section class="sc-faq" id="section-template--22196841349258__sc_faq_BG4eRc"> <div class="container"> <div class="faq-main-block"> <!-- LEFT CONTENT --> <div class="faq-content"> <h2 class="title">Frequently Asked Questions</h2> <div class="faq-wrapper"> <div class="faq-item"> <button class="faq-question" aria-expanded="false"> <span>What ages are the books for?</span> <span class="faq-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="plus-icon"> <path d="M12.001 5V19.002" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="minus-icon"> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </button> <div class="faq-answer"> <div class="faq-answer-inner"> <p>Our âsweet spotâ is ages 5â12, but we have books for every stage of growing up â from toddler board books that teach simple values, to storybooks and chapter books that make big ideas fun and easy to understand, all the way up to teen guides that explore real-world topics. Many parents love reading the books together with their kids, helping spark great conversations and making learning a family experience.</p> </div> </div> </div> <div class="faq-item"> <button class="faq-question" aria-expanded="false"> <span>What kinds of concepts do the books teach?</span> <span class="faq-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="plus-icon"> <path d="M12.001 5V19.002" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="minus-icon"> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </button> <div class="faq-answer"> <div class="faq-answer-inner"> <p>These stories introduce kids to freedom-based ideas like individual liberty, free market economics, personal responsibility, critical thinking, entrepreneurship, and real-world historyâwrapped up in fun, age-appropriate adventures.</p> </div> </div> </div> <div class="faq-item"> <button class="faq-question" aria-expanded="false"> <span>Is there a refund policy if itâs not the right fit?</span> <span class="faq-icon"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="plus-icon"> <path d="M12.001 5V19.002" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="minus-icon"> <path d="M19.002 12.002H5" stroke="#05AED8" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </span> </button> <div class="faq-answer"> <div class="faq-answer-inner"> <p>Yes! The Tuttle Twins offer a 30-day, no-questions-asked refund policy. If you're not completely happy, just reach out, and you'll get your money backârisk-free.</p> </div> </div> </div> </div> </div> <!-- RIGHT IMAGE --> <div class="faq-img-block"> <img src="//www.tuttletwins.com/cdn/shop/files/img.png?v=1771219262" alt="Frequently Asked Questions" loading="lazy"> </div> </div> </div> </section> <style> 2672/* Container */ 2673.sc-faq .container { 2674 max-width: 1272px; 2675 margin: 0 auto; 2676 padding: 0 20px; 2677} 2678 2679/* 2 Column Layout */ 2680.sc-faq .faq-main-block { 2681 display: grid; 2682 grid-template-columns: 1fr 1fr; 2683 gap: 55px; 2684 2685} 2686.sc-faq .faq-main-block .faq-img-block { 2687 max-width: 549px; 2688 margin-left: auto; 2689} 2690 2691/* Heading */ 2692.sc-faq .title { 2693 font-style: normal; 2694 font-weight: 500; 2695 font-size: 40px; 2696 line-height: 1.1; 2697 margin: 0; 2698 margin-bottom: 40px; 2699} 2700 2701/* FAQ Item */ 2702.sc-faq .faq-item { 2703 background: #FFFFFF; 2704 border-radius: 4px; 2705 margin-bottom: 12px; 2706 overflow: hidden; 2707 cursor: pointer; 2708} 2709 2710/* Question */ 2711.sc-faq .faq-question { 2712 width: 100%; 2713 border: none; 2714 background: transparent; 2715 padding: 18px 20px; 2716 font-size: 18px; 2717 line-height: 1.3; 2718 text-align: left; 2719 display: flex; 2720 justify-content: space-between; 2721 align-items: center; 2722 cursor: pointer; 2723 font-family: Poppins; 2724 font-weight: 500; 2725 gap: 32px; 2726} 2727.faq-item.active .faq-question { 2728 padding-bottom: 12px; 2729} 2730 2731/* Icon */ 2732.sc-faq .faq-icon { 2733 font-size: 22px; 2734 transition: transform 0.3s ease;
2735 color: #05AED8; 2736} 2737 2738/* Answer */ 2739.sc-faq .faq-answer { 2740 max-height: 0; 2741 overflow: hidden; 2742 transition: max-height 0.4s ease; 2743 max-width: 550px; 2744} 2745 2746.sc-faq .faq-answer-inner { 2747 padding: 0 20px 20px; 2748 font-size: 16px; 2749 line-height: 1.6; 2750} 2751.sc-faq .faq-answer-inner p { 2752 margin: 0; 2753} 2754 2755/* Image */ 2756.sc-faq .faq-img-block img { 2757 width: 100%; 2758 border-radius: 20px; 2759} 2760 2761 2762/* Default state */ 2763.faq-icon .minus-icon { 2764 display: none; 2765} 2766 2767.faq-item.active .plus-icon { 2768 display: none; 2769} 2770 2771.faq-item.active .minus-icon { 2772 display: block; 2773} 2774 2775@media (max-width: 1199px) { 2776 .sc-faq .faq-main-block { 2777 gap: 35px; 2778 } 2779 .sc-faq .title { 2780 font-size: 36px; 2781 margin-bottom: 32px; 2782 } 2783} 2784 2785@media (max-width: 1024px) { 2786 .sc-faq .faq-main-block { 2787 gap: 20px; 2788 } 2789 .sc-faq .faq-question { 2790 padding: 16px 16px 16px 16px; 2791 } 2792 .sc-faq .faq-answer-inner { 2793 padding: 0 16px 16px; 2794 } 2795} 2796 2797@media (max-width: 767px) { 2798 .sc-faq .container { 2799 padding: 0 16px; 2800 } 2801 .sc-faq .faq-main-block { 2802 grid-template-columns: 1fr; 2803 } 2804 .sc-faq .faq-main-block .faq-img-block { 2805 max-width: 100%; 2806 display: none; 2807 } 2808 .sc-faq .title { 2809 font-size: 32px; 2810 margin-bottom: 24px; 2811 } 2812} 2813 2814@media (max-width: 575px) { 2815 .sc-faq .title { 2816 font-size: 28px; 2817 } 2818 .sc-faq .faq-answer-inner { 2819 margin-right: 40px; 2820 } 2821} 2822</style>
2822<script> 2823 2824document.addEventListener("DOMContentLoaded", function() { 2825 2826 const section = document.querySelector("#section-template--22196841349258__sc_faq_BG4eRc"); 2827 if (!section) return; 2828 2829 const faqItems = section.querySelectorAll(".faq-item"); 2830 2831 function closeAllItems() { 2832 faqItems.forEach(item => { 2833 item.classList.remove("active"); 2834 const answer = item.querySelector(".faq-answer"); 2835 const button = item.querySelector(".faq-question"); 2836 2837 button.setAttribute("aria-expanded", "false"); 2838 answer.style.maxHeight = null; 2839 }); 2840 } 2841 2842 function openItem(item) { 2843 const answer = item.querySelector(".faq-answer"); 2844 const button = item.querySelector(".faq-question"); 2845 2846 item.classList.add("active"); 2847 button.setAttribute("aria-expanded", "true"); 2848 answer.style.maxHeight = answer.scrollHeight + "px"; 2849 } 2850 2851 // Click Event 2852 faqItems.forEach(item => { 2853 const question = item.querySelector(".faq-question"); 2854 2855 question.addEventListener("click", function() { 2856 2857 const isActive = item.classList.contains("active"); 2858 2859 closeAllItems(); 2860 2861 if (!isActive) { 2862 openItem(item); 2863 } 2864 }); 2865 }); 2866 2867 // Auto open first item 2868 if (faqItems.length > 0) { 2869 openItem(faqItems[0]); 2870 } 2871 2872 // ð¥ Fix Height on Window Resize 2873 window.addEventListener("resize", function() { 2874 faqItems.forEach(item => { 2875 if (item.classList.contains("active")) { 2876 const answer = item.querySelector(".faq-answer"); 2877 answer.style.maxHeight = answer.scrollHeight + "px"; 2878 } 2879 }); 2880 }); 2881 2882}); 2883</script>
2883 </div> </main> <!-- BEGIN sections: footer-group --> <div id="shopify-section-sections--22196841087114__ssky_footer_corner_color" class="shopify-section shopify-section-group-footer-group"> </div><div id="shopify-section-sections--22196841087114__footer" class="shopify-section shopify-section-group-footer-group"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/section-footer.css?v=48293923133544200421787249516" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-newsletter.css?v=92441837070189860431787249517" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-list-menu.css?v=151968516119678728991787249518" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-list-payment.css?v=69253961410771838501787249518" rel="stylesheet" type="text/css" media="all"> <link href="//www.tuttletwins.com/cdn/shop/t/158/assets/component-list-social.css?v=91588111571255811531787249519" rel="stylesheet" type="text/css" media="all"> <style data-shopify="">.footer-ssky-sections--22196841087114__footer { 2884 margin-top: 0px; 2885 } 2886 .footer-ssky-sections--22196841087114__footer .footer-ssky { 2887 padding-top: 20px; 2888 padding-bottom: 20px; 2889 } 2890 .footer-ssky-sections--22196841087114__footer .footer-ssky__top { 2891 padding-bottom: 20px; 2892 } 2893 .footer-ssky-sections--22196841087114__footer .footer-ssky__bottom { 2894 padding-top: 20px; 2895 } 2896 @media screen and (min-width: 750px) { 2897 .footer-ssky-sections--22196841087114__footer { 2898 margin-top: 0px; 2899 } 2900 .footer-ssky-sections--22196841087114__footer .footer-ssky { 2901 padding-top: 24px; 2902 padding-bottom: 24px; 2903 } 2904 .footer-ssky-sections--22196841087114__footer .footer-ssky__top { 2905 padding-bottom: 24px; 2906 } 2907 .footer-ssky-sections--22196841087114__footer .footer-ssky__bottom { 2908 padding-top: 24px; 2909 } 2910 }.footer-ssky-sections--22196841087114__footer { 2911 background-color: rgba(0,0,0,0); 2912 }</style><footer class="footer-ssky-sections--22196841087114__footer footer-corner-color-ssky"> <div class="footer-ssky footer color-scheme-4 gradient"> <div class="page-width"> <div class="footer-ssky__top"> <div class="footer-ssky__top-logo"><img src="//www.tuttletwins.com/cdn/shop/files/TT_LOGO_Yellow.webp?v=1729345122&width=600" alt="" srcset="//www.tuttletwins.com/cdn/shop/files/TT_LOGO_Yellow.webp?v=1729345122&width=352 352w, //www.tuttletwins.com/cdn/shop/files/TT_LOGO_Yellow.webp?v=1729345122&width=600 600w" width="600" height="229"> </div> <div class="footer-ssky__top-menu-con"> <div class="footer-ssky__top-menu"><ul class="footer-ssky__top-menu__list list-unstyled"><li> <a href="/pages/about" class="link link--text list-menu__item list-menu__item--link"> About </a> </li><li> <a href="/pages/blog" class="link link--text list-menu__item list-menu__item--link"> Blog </a> </li><li> <a href="/blogs/podcast" class="link link--text list-menu__item list-menu__item--link"> Podcast </a> </li><li> <a href="/pages/homeschool-hub" class="link link--text list-menu__item list-menu__item--link"> ESA Homeschool Hub </a> </li><li> <a href="/pages/refer" class="link link--text list-menu__item list-menu__item--link"> Refer a Friend </a> </li><li> <a href="https://affiliate.tuttletwins.com" class="link link--text list-menu__item list-menu__item--link"> Affiliates </a> </li><li> <a href="https://tuttletwins.com/pages/wholesale" class="link link--text list-menu__item list-menu__item--link"> Wholesale </a> </li><li> <a href="/pages/faq" class="link link--text list-menu__item list-menu__item--link"> FAQs </a> </li><li> <a href="/pages/donate" class="link link--text list-menu__item list-menu__item--link"> Donate </a> </li><li> <a href="/pages/contact" class="link link--text list-menu__item list-menu__item--link"> Contact </a> </li><li> <a href="https://www.tuttletwins.com/pages/where-to-start" class="link link--text list-menu__item list-menu__item--link"> New To Tuttle Twins? Start Here </a> </li><li> <a href="https://www.tuttletwins.com/pages/comparison-page" class="link link--text list-menu__item list-menu__item--link"> Compare Bundles </a> </li><li> <a href="/pages/america-250" class="link link--text list-menu__item list-menu__item--link"> Letter to the Editor Contest </a> </li></ul></div> <div class="footer-ssky__top-up-arrow"> <a href="#back_to_top" class="full-unstyled-link"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-backtotop" viewBox="0 0 24 24" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM11 16C11 16.5523 11.4477 17 12 17C12.5
2912523 17 13 16.5523 13 16L13 10.4142L14.2929 11.7071C14.6834 12.0976 15.3166 12.0976 15.7071 11.7071C16.0976 11.3166 16.0976 10.6834 15.7071 10.2929L12.7941 7.37993C12.7791 7.36486 12.7637 7.35031 12.748 7.33627C12.5648 7.12998 12.2976 7 12 7C11.7024 7 11.4352 7.12998 11.252 7.33627C11.2363 7.3503 11.2209 7.36486 11.2059 7.37993L8.29289 10.2929C7.90237 10.6834 7.90237 11.3166 8.29289 11.7071C8.68342 12.0976 9.31658 12.0976 9.70711 11.7071L11 10.4142L11 16Z" fill="currentColor"></path></svg> </a> </div> </div> </div><div class="footer-ssky__bottom footer__content-bottom-wrapper"> <div class="footer__copyright"> <small class="copyright__content">© 2014 - 2026 <a href="/" title="">The Tuttle Twins</a></small><ul class="policies list-unstyled"><li> <small class="copyright__content"><a href="/policies/privacy-policy">Privacy policy</a></small> </li><li> <small class="copyright__content"><a href="/policies/terms-of-service">Terms of service</a></small> </li><li> <small class="copyright__content"><a href="/policies/refund-policy">Refund policy</a></small> </li><li> <small class="copyright__content"><a href="/policies/shipping-policy">Shipping policy</a></small> </li></ul><small class="copyright__content copyright__additional">Part of the <a href="https://libertas.org/" target="_blank" title="https://libertas.org/">Libertas Network</a></small> </div> <ul class="list-unstyled list-social footer__list-social" role="list"><li class="list-social__item"> <a href="https://www.facebook.com/TuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-facebook" viewBox="0 0 320 512"><path fill="currentColor" d="M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z"></path></svg> </span> <span class="visually-hidden">Facebook</span> </a> </li><li class="list-social__item"> <a href="https://x.com/tuttletwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-twitter" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M7.273 2.8 10.8 7.822 15.218 2.8h1.768l-5.4 6.139 5.799 8.254h-4.658l-3.73-5.31-4.671 5.31H2.558l5.654-6.427L2.615 2.8zm6.242 13.125L5.07 4.109h1.405l8.446 11.816z" clip-rule="evenodd"></path></svg> </span> <span class="visually-hidden">X (Twitter)</span> </a> </li><li class="list-social__item"> <a href="https://www.instagram.com/tuttletwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-instagram" viewBox="0 0 20 20"><path fill="currentColor" fill-rule="evenodd" d="M13.23 3.492c-.84-.037-1.096-.046-3.23-.046-2.144 0-2.39.01-3.238.055-.776.027-1.195.164-1.487.273a2.4 2.4 0 0 0-.912.593 2.5 2.5 0 0 0-.602.922c-.11.282-.238.702-.274 1.486-.046.84-.046 1.095-.046 3.23s.01 2.39.046 3.229c.004.51.097 1.016.274 1.495.145.365.319.639.602.913.282.282.538.456.92.602.474.176.974.268 1.479.273.848.046 1.103.046 3.238.046s2.39-.01 3.23-.046c.784-.036 1.203-.164 1.486-.273.374-.146.648-.329.921-.602.283-.283.447-.548.602-.922.177-.476.27-.979.274-1.486.037-.84.046-1.095.046-3.23s-.01-2.39-.055-3.229c-.027-.784-.164-1.204-.274-1.495a2.4 2.4 0 0 0-.593-.913 2.6 2.6 0 0 0-.92-.602c-.284-.11-.703-.237-1.488-.273ZM6.697 2.05c.857-.036 1.131-.045 3.302-.045a63 63 0 0 1 3.302.045c.664.014 1.321.14 1.943.374a4 4 0 0 1 1.414.922c.41.397.728.88.93 1.414.23.622.354 1.279.365 1.942C18 7.56 18 7.824 18 10.005c0 2.17-.01 2.444-.046 3.292-.036.858-.173 1.442-.374 1.943-.2.53-.474.976-.92 1.423a3.9 3.9 0 0 1-1.415.922c-.51.191-1.095.337-1.943.374-.857.036-1.122.045-3.302.045-2.171 0-2.445-.009-3.302-.055-.849-.027-1.432-.164-1.943-.364a4.15 4.15 0 0 1-1.414-.922 4.1 4.1 0 0 1-.93-1.423c-.183-.51-.329-1.085-.365-1.943C2.009 12.45 2 12.167 2 10.004c0-2.161 0-2.435.055-3.302.027-.848.164-1.432.365-1.942a4.4 4.4 0 0 1 .92-1.414 4.2 4.2 0 0 1 1.415-.93c.51-.183 1.094-.33 1.943-.366Zm.427 4.806a4.105 4.105 0 1 1 5.805 5.805 4.105 4.105 0 0 1-5.805-5.805m1.882 5.371a2.668 2.668 0 1 0 2.042-4.93 2.668 2.668 0 0 0-2.042 4.93m5.922-5.942a.958.958 0 1 1-1.355-1.355.958.958 0 0 1 1.355 1.355" clip-rule="evenodd"></path></svg> </span> <span class="visually-hidden">Instagram</span> </a> </li><li class="list-social__item"> <a href="https://www.tiktok.com/@tuttle_twins" class="link list-social__link"> <span class="svg-wrapper">
2912<svg class="icon icon-tiktok" viewBox="0 0 20 20"><path fill="currentColor" d="M10.511 1.705h2.74s-.157 3.51 3.795 3.768v2.711s-2.114.129-3.796-1.158l.028 5.606A5.073 5.073 0 1 1 8.213 7.56h.708v2.785a2.298 2.298 0 1 0 1.618 2.205z"></path></svg> </span> <span class="visually-hidden">TikTok</span> </a> </li><li class="list-social__item"> <a href="https://www.youtube.com/@TheTuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-youtube" viewBox="0 0 20 20"><path fill="currentColor" d="M18.16 5.87c.34 1.309.34 4.08.34 4.08s0 2.771-.34 4.08a2.13 2.13 0 0 1-1.53 1.53c-1.309.34-6.63.34-6.63.34s-5.321 0-6.63-.34a2.13 2.13 0 0 1-1.53-1.53c-.34-1.309-.34-4.08-.34-4.08s0-2.771.34-4.08a2.17 2.17 0 0 1 1.53-1.53C4.679 4 10 4 10 4s5.321 0 6.63.34a2.17 2.17 0 0 1 1.53 1.53M8.3 12.5l4.42-2.55L8.3 7.4z"></path></svg> </span> <span class="visually-hidden">YouTube</span> </a> </li><li class="list-social__item"> <a href="https://www.pinterest.com/TuttleTwins" class="link list-social__link"> <span class="svg-wrapper"><svg class="icon icon-pinterest" viewBox="0 0 20 20"><path fill="currentColor" d="M10 2.01a8.1 8.1 0 0 1 5.666 2.353 8.09 8.09 0 0 1 1.277 9.68A7.95 7.95 0 0 1 10 18.04a8.2 8.2 0 0 1-2.276-.307c.403-.653.672-1.24.816-1.729l.567-2.2c.134.27.393.5.768.702.384.192.768.297 1.19.297q1.254 0 2.248-.72a4.7 4.7 0 0 0 1.537-1.969c.37-.89.554-1.848.537-2.813 0-1.249-.48-2.315-1.43-3.227a5.06 5.06 0 0 0-3.65-1.374c-.893 0-1.729.154-2.478.461a5.02 5.02 0 0 0-3.236 4.552c0 .72.134 1.355.413 1.902.269.538.672.922 1.22 1.152.096.039.182.039.25 0 .066-.028.114-.096.143-.192l.173-.653c.048-.144.02-.288-.105-.432a2.26 2.26 0 0 1-.548-1.565 3.803 3.803 0 0 1 3.976-3.861c1.047 0 1.863.288 2.44.855.585.576.883 1.315.883 2.228a6.8 6.8 0 0 1-.317 2.122 3.8 3.8 0 0 1-.893 1.556c-.384.384-.836.576-1.345.576-.413 0-.749-.144-1.018-.451-.259-.307-.345-.672-.25-1.085q.22-.77.452-1.537l.173-.701c.057-.25.086-.451.086-.624 0-.346-.096-.634-.269-.855-.192-.22-.451-.336-.797-.336-.432 0-.797.192-1.085.595-.288.394-.442.893-.442 1.499.005.374.063.746.173 1.104l.058.144c-.576 2.478-.913 3.938-1.037 4.36-.116.528-.154 1.153-.125 1.863A8.07 8.07 0 0 1 2 10.03c0-2.208.778-4.11 2.343-5.666A7.72 7.72 0 0 1 10 2.001z"></path></svg> </span> <span class="visually-hidden">Pinterest</span> </a> </li></ul> </div> </div> </div> </footer> </div> <!-- END sections: footer-group --> <div id="shopify-section-sticky-atc" class="shopify-section"> <style> 2913 #md-sticky-atc { 2914 position: fixed; 2915 bottom: 0; 2916 left: 0; 2917 width: 100%; 2918 z-index: 2; 2919 padding-top: 0.5rem; 2920 padding-bottom: 0.5rem; 2921 visibility: hidden; 2922 opacity: 0; 2923 transform: translateY(100%); 2924 transition: all .15s ease-out; 2925 border-top: 0.1rem solid rgba(var(--color-foreground),.08); 2926 } 2927 #md-sticky-atc.show { 2928 visibility: visible; 2929 opacity: 1; 2930 transform: translateY(0); 2931 } 2932 #md-sticky-atc .page-width-inner { 2933 } 2934 /* @media (min-width: 990px) { 2935 #md-sticky-atc .page-width-inner { 2936 display: flex; 2937 align-items: center; 2938 justify-content: space-between; 2939 } 2940 } */ 2941 #md-sticky-atc .product-content { 2942 display: flex; 2943 align-items: center; 2944 padding-bottom: .5rem; 2945 } 2946 /* @media (min-width: 990px) { 2947 #md-sticky-atc .product-content { 2948 padding-bottom: 0; 2949 padding-right: 2rem; 2950 } 2951 } */ 2952 #md-sticky-atc .product-content .product__title { 2953 margin: 0 0 .5rem; 2954 } 2955 #md-sticky-atc .product-content .price { 2956 display: flex; 2957 align-items: center; 2958 } 2959 #md-sticky-atc .product-content img { 2960 margin-right: .75rem; 2961 } 2962 #md-sticky-atc .product-form { 2963 flex-shrink: 0; 2964 } 2965 #md-sticky-atc .product-form .select { 2966 flex-shrink: 0; 2967 width: auto; 2968 margin-right: .75rem; 2969 flex-grow: 1; 2970 max-width: 50%; 2971 } 2972 /* @media (min-width: 990px) { 2973 #md-sticky-atc .product-form .select { 2974 flex-grow: 0; 2975 } 2976 } */ 2977 #md-sticky-atc .product-form .quantity-input-wrapper { 2978 display: flex; 2979 align-items: center; 2980 } 2981 #md-sticky-atc .product-form .quantity { 2982 /* display: none; */ 2983 flex-shrink: 0; 2984 margin-right: .75rem; 2985 } 2986 /* @media (min-width: 990px) { 2987 #md-sticky-atc .product-form .quantity { 2988 display: flex; 2989 } 2990 } */ 2991 #md-sticky-atc .product-form button[name="add"] { 2992 flex-shrink: 0; 2993 flex-grow: 1; 2994 margin: 0; 2995 } 2996 /* @media (min-width: 990px) { 2997 #md-sticky-atc .product-form button[name="add"] { 2998 flex-grow: 0; 2999 } 3000 } */ 3001 @media (max-width: 800px) { 3002 #md-sticky-atc { 3003 display: block; 3004 } 3005 } 3006 3007 #md-sticky-atc .icon.icon-caret { 3008 width: 12px; 3009 display: inline-block; 3010 vertical-align: middle; 3011 margin-right: 15px; 3012} 3013 3014/* .select__select { 3015 padding-right: 0 !important; 3016} */ 3017 3018 @media (max-width: 768px) { 3019 #md-sticky-atc .product-form .quantity-input-wrapper { 3020 display: flex; 3021 align-items: center; 3022 justify-content: center; 3023 } 3024 3025 #md-sticky-atc .product-form .select { 3026 max-width: 40%; /* Increase width for mobile */ 3027 } 3028 3029 #md-sticky-atc .quantity { 3030 width: 32%; 3031 } 3032 3033 #md-sticky-atc .button { 3034 padding: 0px 12px; 3035 font-size: 15px !important; 3036 min-width: unset !important; 3037 } 3038 3039 #md-sticky-atc .select__select { 3040 padding-right: 0 !important; 3041 } 3042 3043} 3044 3045 </style>
3045<script> 3046 window.addEventListener('DOMContentLoaded', () => { 3047 if (window.innerWidth >= 990) return; // Exit early for desktop 3048 3049 3050 const stickyATC = document.querySelector('#md-sticky-atc') 3051 const img = stickyATC.querySelector('.product-content img') 3052 const btn = stickyATC.querySelector('[name="add"]') 3053 const btnSpinner = btn.querySelector('.loading__spinner') 3054 const selectField = stickyATC.querySelector('select[name="id"]') 3055 3056const productAddButton = document.querySelector('button[name="add"]'); 3057if (!productAddButton) return; 3058 3059const threshold = productAddButton.getBoundingClientRect().bottom + Number(stickyATC.dataset.offset); 3060 3061 3062 window.addEventListener('scroll', () => { 3063 if (window.scrollY > threshold) { 3064 stickyATC.classList.add('show') 3065 document.documentElement.style.paddingBottom = `${stickyATC.clientHeight}px` 3066 document.documentElement.style.height = 'auto' 3067 } else { 3068 stickyATC.classList.remove('show') 3069 document.documentElement.style.paddingBottom = '0' 3070 } 3071 }) 3072 3073 if (selectField) { 3074 selectField.addEventListener('change', () => { 3075 img.setAttribute('src', selectField.options[selectField.selectedIndex].dataset.img) 3076 }) 3077 } 3078 3079 document.querySelector('.product-form [name="id"]')?.addEventListener('change', (e) => { 3080 const value = Number(e.target.value) 3081 3082 if (value) { 3083 selectField.value = value 3084 } 3085 }) 3086 3087 }) 3088 </script>
3088 <div id="md-sticky-atc" class="color-scheme-1" aria-hidden="true" data-offset="0"> <div class="page-width"> <div class="page-width-inner"> <div class="product-content"> </div> <product-form class="product-form"> <div class="product-form__error-message-wrapper" role="alert" hidden=""> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-error" viewBox="0 0 13 13"> <circle cx="6.5" cy="6.50049" r="5.5" stroke="white" stroke-width="2"></circle> <circle cx="6.5" cy="6.5" r="5.5" fill="#EB001B" stroke="#EB001B" stroke-width="0.7"></circle> <path d="M5.87413 3.52832L5.97439 7.57216H7.02713L7.12739 3.52832H5.87413ZM6.50076 9.66091C6.88091 9.66091 7.18169 9.37267 7.18169 9.00504C7.18169 8.63742 6.88091 8.34917 6.50076 8.34917C6.12061 8.34917 5.81982 8.63742 5.81982 9.00504C5.81982 9.37267 6.12061 9.66091 6.50076 9.66091Z" fill="white"></path> <path d="M5.87413 3.17832H5.51535L5.52424 3.537L5.6245 7.58083L5.63296 7.92216H5.97439H7.02713H7.36856L7.37702 7.58083L7.47728 3.537L7.48617 3.17832H7.12739H5.87413ZM6.50076 10.0109C7.06121 10.0109 7.5317 9.57872 7.5317 9.00504C7.5317 8.43137 7.06121 7.99918 6.50076 7.99918C5.94031 7.99918 5.46982 8.43137 5.46982 9.00504C5.46982 9.57872 5.94031 10.0109 6.50076 10.0109Z" fill="white" stroke="#EB001B" stroke-width="0.7"> </path></svg> <span class="product-form__error-message"></span> </div><form method="post" action="/cart/add" id="product-form-sticky-atc" accept-charset="UTF-8" class="form" enctype="multipart/form-data" novalidate="novalidate"><input type="hidden" name="form_type" value="product"><input type="hidden" name="utf8" value="â"><div class="quantity-input-wrapper"> <div class="select" style="display: none;"> <select class="select__select" name="id" aria-label="Select variant"> <option value="47235382149258" data-img="//www.tuttletwins.com/cdn/shop/files/BookClub_80x80.png?v=1772754854" selected=""> Default Title - $19.99 </option> </select> <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6"> <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path> </svg> </div> <button type="submit" name="add" class="product-form__submit button button--primary"> <span>Add to Cart </span> <div class="loading__spinner hidden"> <svg aria-hidden="true" focusable="false" role="presentation" class="spinner" viewBox="0 0 66 66" xmlns="http://www.w3.org/2000/svg"> <circle class="path" fill="none" stroke-width="6" cx="33" cy="33" r="30" style="stroke: rgb(var(--color-background));"></circle> </svg> </div> </button> </div> <input type="hidden" name="product-id" value="8712112832650"><input type="hidden" name="section-id" value="sticky-atc"></form> </product-form> </div> </div> </div> </div> <div id="shopify-section-sticky-offer" class="shopify-section"> </div> <ul hidden=""> <li id="a11y-refresh-page-message">Choosing a selection results in a full page refresh.</li> <li id="a11y-new-window-message">Opens in a new window.</li> </ul>
3088<script> 3089 window.shopUrl = 'https://www.tuttletwins.com'; 3090 window.routes = { 3091 cart_add_url: '/cart/add', 3092 cart_change_url: '/cart/change', 3093 cart_update_url: '/cart/update', 3094 cart_url: '/cart', 3095 predictive_search_url: '/search/suggest', 3096 }; 3097 3098 window.cartStrings = { 3099 error: `There was an error while updating your cart. Please try again.`, 3100 quantityError: `You can only add [quantity] of this item to your cart.`, 3101 }; 3102 3103 window.variantStrings = { 3104 addToCart: `Add to Cart`, 3105 soldOut: `Sold out`, 3106 unavailable: `Unavailable`, 3107 unavailable_with_option: `[value] - Unavailable`, 3108 }; 3109 3110 window.quickOrderListStrings = { 3111 itemsAdded: `[quantity] items added`, 3112 itemAdded: `[quantity] item added`, 3113 itemsRemoved: `[quantity] items removed`, 3114 itemRemoved: `[quantity] item removed`, 3115 viewCart: `View cart`, 3116 each: `[money]/ea`, 3117 min_error: `This item has a minimum of [min]`, 3118 max_error: `This item has a maximum of [max]`, 3119 step_error: `You can only add this item in increments of [step]`, 3120 }; 3121 3122 window.accessibilityStrings = { 3123 imageAvailable: `Image [index] is now available in gallery view`, 3124 shareSuccess: `Link copied to clipboard`, 3125 pauseSlideshow: `Pause slideshow`, 3126 playSlideshow: `Play slideshow`, 3127 recipientFormExpanded: `Gift card recipient form expanded`, 3128 recipientFormCollapsed: `Gift card recipient form collapsed`, 3129 countrySelectorSearchCount: `[count] countries/regions found`, 3130 }; 3131 </script>
3131<script src="//www.tuttletwins.com/cdn/shop/t/158/assets/predictive-search.js?v=57209189334897115771787249519" defer="defer"></script>
3131<!-- Rebuy START -->
3131<script src="https://cdn.rebuyengine.com/onsite/js/rebuy.js?shop=034c76-74-2.myshopify.com" async=""></script>
3131 <!-- Manual Widget Installs BELOW --> <!-- Widget : Standard GWP - Card Game --> <div data-rebuy-id="219991"></div> <!-- End Widget : Standard GWP - Card Game --> <!-- Popup Upsell Widget Install --> <div data-rebuy-id="208364" data-rebuy-shopify-product-ids="8712112832650"></div> <!-- Dynamic Bundle Widget Install --> <div data-rebuy-id="208360" data-rebuy-shopify-product-ids="8712112832650"></div> <!-- Insert Contest promo image on America's History template before Dynamic Bundle -->
3131<script id="rebuy-widget-208360" type="text/template"> 3132 <div class="rebuy-widget" 3133 v-cloak 3134 v-on:click="stopPropagation($event)" 3135 v-bind:id="'rebuy-widget-' + id" 3136 v-bind:class="['widget-type-' + config.type.replace('_','-'), products.length > 0 ? 'is-visible' : 'is-hidden']"> 3137 3138 <div 3139 class="rebuy-widget-container" 3140 v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]"> 3141 <div class="rebuy-widget-content"> 3142 <div class="rebuy-timer" v-if="hasTimer()"> 3143 <h5 class="rebuy-timer-title" v-if="config.language.timer_title"> 3144 <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span> 3145 </h5> 3146 </div> 3147 3148 <h4 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h4> 3149 3150 <h3 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h3> 3151 3152 <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div> 3153 3154 <div class="rebuy-bundle"> 3155 3156 <div class="rebuy-bundle__images"> 3157 3158 <div class="rebuy-bundle__image" v-for="(product, index) in products" v-if="product.selected" v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product)]"> 3159 <a class="rebuy-bundle__image-item" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]"> 3160 <img v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="product.title"> 3161 </a> 3162 <div v-if="index < products.length - 1" class="rebuy-bundle__image-divider"> 3163 <i class="far fa-plus"></i> 3164 </div> 3165 </div> 3166 3167 </div> 3168 3169 <div class="rebuy-bundle__actions rebuy-mobile" v-if="subtotal() > 0"> 3170 3171 <div class="rebuy-bundle__actions-price"> 3172 <strong class="rebuy-bundle__actions-price-label" v-html="config.language.total_price_label"></strong> 3173 3174 <div class="rebuy-bundle__actions-price-value" v-if="bundleOnSale()"> 3175 <span class="rebuy-money sale" v-html="formatMoney(subtotal())"></span> 3176 <span class="rebuy-money compare-at" v-html="formatMoney(compareAtSubtotal())"></span> 3177 </div> 3178 <div class="rebuy-bundle__actions-price-value" v-if="!(bundleOnSale())"> 3179 <span class="rebuy-money" v-html="formatMoney(subtotal())"></span> 3180 </div> 3181 </div> 3182 3183 <div class="rebuy-bundle__actions-buttons"> 3184 <button 3185 v-bind:disabled="isBundleIncomplete()" 3186 class="rebuy-button" 3187 v-on:click="addSelectedProductsToCart()" 3188 type="button"> 3189 <span v-html="buttonWidgetLabel()"></span> 3190 </button> 3191 </div> 3192 </div> 3193 3194 <div class="rebuy-bundle__items"> 3195 3196 3197 <div class="rebuy-product-block" v-for="(product, product_index) in products" v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product), isInputProduct(product) ? 'is-input-product' : '' ,product.selected ? 'is-selected': '']"> 3198 3199 <div class="rebuy-product-info"> 3200 <a class="rebuy-bundle__image-item bundle-single-image" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '' ]"> 3201 <img v-bind:src="itemImage(product, product.selected_variant)" v-bind:alt="product.title"> 3202 </a> 3203 <div class="rebuy-product-checkbox"> 3204 <label class="rebuy-checkbox-label"> 3205 <input 3206 class="checkbox-input rebuy-checkbox" 3207 v-model="product.selected" 3208 type="checkbox" /> 3209 </label> 3210 </div> 3211 <a class="rebuy-product-title" v-bind:href="learnMoreURL(product)" v-on:click="learnMore(product);" v-html="product.title" v-bind:class="[hasLearnMore() && !isInputProduct(product) ? 'clickable' : '']"></a> 3212 <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div> 3213 <div class="rebuy-product-review" v-if="hasProductReviews(product)"> 3214 <span class="rebuy-star-rating"> 3215 <span class="rebuy-star-rating-background"></span> 3216 <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span> 3217 </span> 3218 <span class="rebuy-review-count" v-html="productReviewCount(product)"></span> 3219 </div> 3220 3221 <div class="rebuy-product-price"> 3222 <div v-if="variantOnSale(product, product.selected_variant)"> 3223 <span class="rebuy-money sale" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span> 3224 <span class="rebuy-money compare-at" v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))"></span> 3225 </div> 3226 <div v-if="!(variantOnSale(product, product.selected_variant))"> 3227 <span class="rebuy-money" v-html="formatMoney(variantPrice(product, product.selected_variant))"></span> 3228 </div> 3229 </div> 3230 <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div> 3231 </div> 3232 <div class="rebuy-product-options" v-if="showVariantSelect(product)"> 3233 <select 3234 :id="id + '-' + 'select' + '-' + product_index" 3235 :class="{ hide : settings.view_options.variant_selector == 'buttons' }" 3236 class="rebuy-select" 3237 v-model="product.selected_variant_id" 3238 v-on:change="selectVariant(product)"> 3239 <option v-for="variant in product.variants" v-bind:value="variant.id">{{ variant.title }}</option> 3240 </select> 3241 3242 <div v-if="displayColorSwatches(option)" v-for="option in product.options" class="rebuy-color-swatches"> 3243 <div v-for="(value, value_index) in filterOOSOptions(option, product)" class="rebuy-color-swatch"> 3244 <input 3245 :name="id + '-color-' + product_index" 3246 :id="id + '-color-' + product_index + '-' + value + '-' + value_index" 3247 :checked="value_index == 0" 3248 :value="value" 3249 type="radio" 3250 class="rebuy-color-input hide" 3251 v-on:change="selectVariantByColor(product, value, product_index)"> 3252 <label 3253 :for="id + '-color-' + product_index + '-' + value + '-' + value_index" 3254 :style="{ backgroundColor: value }" 3255 :title="value" 3256 class="rebuy-color-label"></label> 3257 </div> 3258 </div> 3259 3260 <div v-if="option.name == 'Size' && settings.view_options.variant_selector == 'buttons'" v-for="(option, option_index) in product.options" class="mt-10 rebuy-size-swatches"> 3261 <div v-for="(value, value_index) in option.values" class="rebuy-size-swatch"> 3262 <input 3263 :name="id + '-size-' + product_index" 3264 :id="id + '-size-' + product_index + '-' + value" 3265 :checked="value_index == 0" 3266 :value="value" 3267 type="radio" 3268 class="rebuy-size-input hide" 3269 v-on:change="selectVariantBySize(product, value, product_index)"> 3270 <label 3271 :for="id + '-size-' + product_index + '-' + value" 3272 class="rebuy-size-label">{{ value }}</label> 3273 </div> 3274 </div> 3275 </div> 3276 </div> 3277 3278 </div>
3279 </div> 3280 3281 </div> 3282 </div> 3283 3284 <div class="rebuy-bundle__actions rebuy-desktop" v-if="subtotal() > 0"> 3285 3286 <div class="rebuy-bundle__actions-price"> 3287 <strong class="rebuy-bundle__actions-price-label" v-html="config.language.total_price_label"></strong> 3288 3289 <div class="rebuy-bundle__actions-price-value" v-if="bundleOnSale()"> 3290 <span class="rebuy-money sale" v-html="formatMoney(subtotal())"></span> 3291 <span class="rebuy-money compare-at" v-html="formatMoney(compareAtSubtotal())"></span> 3292 </div> 3293 <div class="rebuy-bundle__actions-price-value" v-if="!(bundleOnSale())"> 3294 <span class="rebuy-money" v-html="formatMoney(subtotal())"></span> 3295 </div> 3296 </div> 3297 3298 <div class="rebuy-bundle__actions-buttons"> 3299 <button 3300 v-bind:disabled="isBundleIncomplete()" 3301 class="rebuy-button" 3302 v-on:click="addSelectedProductsToCart()" 3303 type="button"> 3304 <span v-html="buttonWidgetLabel()"></span> 3305 </button> 3306 </div> 3307 </div> 3308 3309 </div> 3310 </div> 3311</script>
3311 <!-- Widget : Standard GWP - Card Game --> <div data-rebuy-id="219991"></div> <!-- End Widget : Standard GWP - Card Game -->
3311<script id="rebuy-widget-208357" type="text/template"> 3312 <div class="rebuy-widget" 3313 v-cloak 3314 v-on:click="stopPropagation($event)" 3315 v-bind:id="'rebuy-widget-' + id" 3316 v-bind:class="['widget-type-' + config.type.replace('_','-'), 'widget-display-' + config.display_type, products.length > 0 ? 'is-visible' : 'is-hidden', 'widget-layout-' + currentLayout()]"> 3317 3318 <div 3319 class="rebuy-widget-container" 3320 v-cloak 3321 v-bind:class="['widget-display-' + config.display_type, visible ? 'is-visible' : 'is-hidden' ]" 3322 v-on:click.self="hide()"> 3323 3324 <div class="rebuy-widget-content"> 3325 <div class="rebuy-modal-close" v-on:click="hide()"> 3326 <i class="fas fa-times"></i> 3327 </div> 3328 3329 <div class="rebuy-timer" v-if="hasTimer()"> 3330 <h5 class="rebuy-timer-title" v-if="config.language.timer_title"> 3331 <span v-html="config.language.timer_title"></span> <span class="rebuy-timer-minutes" v-html="config.timer.duration_minutes"></span>:<span class="rebuy-timer-seconds" v-html="config.timer.duration_seconds"></span> 3332 </h5> 3333 </div> 3334 3335 <h4 class="super-title" v-if="config.language.super_title != ''" v-html="config.language.super_title"></h4> 3336 3337 <h3 class="primary-title" v-if="config.language.title != ''" v-html="config.language.title"></h3> 3338 3339 <div class="description" v-if="config.language.description != ''" v-html="config.language.description"></div> 3340 3341 <div class="rebuy-product-grid" v-bind:class="layoutClasses"> 3342 3343 <div class="rebuy-product-block" v-for="(product, product_index) in products" v-bind:class="[product.handle, 'product-id-' + product.id, cartHasProduct(product) ? 'cart-has-item' : '', productTagClasses(product)]"> 3344 3345 <div class="rebuy-product-media"> 3346 <a class="rebuy-product-image" v-bind:href="learnMoreURL(product)" v-bind:style="imageStyles" v-on:click="learnMore(product);" v-bind:class="[hasLearnMore() ? 'clickable' : '']"> 3347 <img v-bind:src="itemImage(product, product.selected_variant, '400x400')" v-bind:alt="'View ' + product.title"> 3348 </a> 3349 </div> 3350 <div class="rebuy-product-info"> 3351 <a class="rebuy-product-title" v-bind:href="learnMoreURL(product)" v-on:click="learnMore(product);" v-html="product.title" v-bind:class="[hasLearnMore() ? 'clickable' : '']" v-bind:alt="'View ' + product.title"></a> 3352 <div class="rebuy-variant-title" v-if="showVariantTitle(product)" v-html="product.selected_variant.title"></div> 3353 <div class="rebuy-product-review" v-if="hasProductReviews(product)"> 3354 <span class="rebuy-star-rating"> 3355 <span class="rebuy-star-rating-background"></span> 3356 <span class="rebuy-star-rating-foreground" v-bind:style="{ width: productReviewRatingPercentage(product) }"></span> 3357 </span> 3358 <span class="rebuy-review-count" v-html="productReviewCount(product)"></span> 3359 </div> 3360 3361 <div class="rebuy-product-price"> 3362 <div v-if="variantOnSale(product, product.selected_variant)"> 3363 <span class="rebuy-money sale" v-html="formatMoney(variantPrice(product, product.selected_variant))" :data-variant-id="product.selected_variant.id"></span> 3364 <span class="rebuy-money compare-at" v-html="formatMoney(variantCompareAtPrice(product, product.selected_variant))" :data-variant-id="product.selected_variant.id"></span> 3365 </div> 3366 <div v-if="!(variantOnSale(product, product.selected_variant))">
3367 <span class="rebuy-money" v-html="formatMoney(variantPrice(product, product.selected_variant))" :data-variant-id="product.selected_variant.id"></span> 3368 </div> 3369 </div> 3370 <div class="rebuy-product-description" v-if="showProductDescription(product)" v-html="text(product.body_html)"></div> 3371 </div> 3372 <div class="rebuy-product-options" v-if="showVariantSelect(product)"> 3373 <select 3374 :id="id + '-' + 'select' + '-' + product_index" 3375 :class="{ hide : settings.view_options.variant_selector == 'buttons' }" 3376 class="rebuy-select" 3377 v-model="product.selected_variant_id" 3378 v-on:change="selectVariant(product)"> 3379 <option v-for="variant in product.variants" v-bind:value="variant.id">{{ variant.title }}</option> 3380 </select> 3381 3382 <div v-if="displayColorSwatches(option)" v-for="option in product.options" class="rebuy-color-swatches"> 3383 <div v-for="(value, value_index) in option.values" class="rebuy-color-swatch"> 3384 <input 3385 :name="id + '-color-' + product_index" 3386 :id="id + '-color-' + product_index + '-' + value + '-' + value_index" 3387 :checked="value_index == 0" 3388 :value="value" 3389 type="radio" 3390 class="rebuy-color-input hide" 3391 v-on:change="selectVariantByColor(product, value, product_index)"> 3392 <label 3393 :for="id + '-color-' + product_index + '-' + value + '-' + value_index" 3394 :style="{ backgroundColor: value }" 3395 :title="value" 3396 class="rebuy-color-label"></label> 3397 </div> 3398 </div> 3399 3400 <div v-if="displaySizeSwatches(option)" v-for="option in product.options" class="mt-10 rebuy-size-swatches"> 3401 <div v-for="(value, value_index) in option.values" class="rebuy-size-swatch"> 3402 <input 3403 :name="id + '-size-' + product_index" 3404 :id="id + '-size-' + product_index + '-' + value" 3405 :checked="value_index == 0" 3406 :value="value" 3407 type="radio" 3408 class="rebuy-size-input hide" 3409 v-on:change="selectVariantBySize(product, value, product_index)"> 3410 <label 3411 :for="id + '-size-' + product_index + '-' + value" 3412 class="rebuy-size-label">{{ value }}</label> 3413 </div> 3414 </div> 3415 </div> 3416 <div class="rebuy-product-actions"> 3417 3418 <div class="subscription-checkbox" v-if="showSubscriptionOptions(product)"> 3419 <label class="rebuy-checkbox-label"> 3420 <input 3421 class="checkbox-input rebuy-checkbox" 3422 v-model="product.subscription" 3423 v-on:change="toggleSubscription(product)" 3424 type="checkbox" />
3425 <span class="checkbox-label" v-html="upgradeToSubscriptionLabel(product)"></span> 3426 </label> 3427 </div> 3428 3429 <div class="subscription-frequency" v-if="showSubscriptionFrequency(product)"> 3430 <select 3431 class="rebuy-select" 3432 v-model="product.subscription_frequency" 3433 v-on:change="updateSubscriptionFrequency(product)"> 3434 <option v-for="frequency in product.subscription_frequencies" v-bind:value="frequency">{{ frequencyLabel(frequency, product.subscription_interval) }}</option> 3435 </select> 3436 </div> 3437 3438 <div class="product-quantity" v-if="hasQuantityInputEnabled()"> 3439 <div class="rebuy-select-wrapper"> 3440 <label class="rebuy-label">Quantity</label> 3441 <select 3442 class="rebuy-select" 3443 v-model="product.quantity"> 3444 <option v-for="n in maxQuantityInputValue()" v-bind:value="n">{{ n }}</option> 3445 </select> 3446 </div> 3447 </div> 3448 3449 <button 3450 class="rebuy-button" 3451 v-bind:class="{ working: (product.status != 'ready' && product.status != 'selecting') }" 3452 v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')" 3453 v-bind:alt="'Add ' + product.title + ' to Cart'" 3454 v-on:click="addToCart(product)" 3455 type="button"> 3456 <span v-html="buttonLabel(product)"></span> 3457 </button> 3458 </div> 3459 </div> 3460 3461 </div> 3462 3463 <div class="rebuy-modal-actions" v-if="showContinueButton()"> 3464 <button 3465 class="rebuy-button decline" 3466 v-on:click="hide()" 3467 type="button"> 3468 <span v-html="continueLabel()"></span> 3469 </button> 3470 </div> 3471 3472 <div class="powered-by-rebuy"> 3473 <a v-bind:href="'https://rebuyengine.com/?shop=' + config.shop.myshopify_domain" target="_blank" rel="noopener"> 3474 Powered by Rebuy 3475 </a> 3476 </div> 3477 3478 </div> 3479 3480 </div> 3481 </div> 3482</script>
3482 <!-- Rebuy END --> <!-- Widget : Pre-Order AmHist3 Free Gift Card --> <div data-rebuy-id="289970"></div> <!-- End Widget : Pre-Order AmHist3 Free Gift Card --> <!-- Confetti START -->
3482<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/confetti.browser.min.js" async=""></script>
3482 <!-- Confetti END --> <!-- Confetti START -->
3482<script> 3483 document.addEventListener('DOMContentLoaded', function () { 3484 // :no_entry_sign: Skip binding everything if confetti already fired 3485 if (sessionStorage.getItem('confettiFired')) return; 3486 function launchFireworkConfetti() { 3487 // :white_check_mark: Double-check inside the function too 3488 if (sessionStorage.getItem('confettiFired')) return; 3489 sessionStorage.setItem('confettiFired', 'true'); 3490 for (let i = 0; i < 5; i++) { 3491 confetti({ 3492 particleCount: 50, 3493 angle: Math.random() * 360, 3494 spread: 100 + Math.random() * 60, 3495 startVelocity: 30 + Math.random() * 30, 3496 gravity: 0.9, 3497 drift: Math.random() * 2 - 1, 3498 scalar: 0.9 + Math.random() * 0.4, 3499 origin: { 3500 y: 0.4 + Math.random() * 0.4, 3501 x: 0.4 + Math.random() * 0.2 3502 }, 3503 colors: [ 3504 '#04AED8', // TT Blue 3505 '#FFD05A', // TT Yellow 3506 '#DA5846', // TT Red 3507 '#F8AD42', // TT Orange 3508 '#264941' // Chalkboard Green 3509 ], 3510 shapes: ['square', 'circle'] 3511 }); 3512 } 3513 } 3514 function bindConfettiToAddButtons(root = document) { 3515 const buttons = root.querySelectorAll( 3516 'button[name="add"]:not(.confetti-bound), .quick-add__submit:not(.confetti-bound), .ProductForm__AddToCart:not(.confetti-bound)' 3517 ); 3518 buttons.forEach(button => { 3519 // :brain: Attach the handler, which now checks sessionStorage before firing 3520 button.addEventListener('click', launchFireworkConfetti); 3521 button.classList.add('confetti-bound'); 3522 }); 3523 } 3524 bindConfettiToAddButtons(); 3525 const observer = new MutationObserver(mutations => { 3526 mutations.forEach(mutation => { 3527 mutation.addedNodes.forEach(node => { 3528 if (node.nodeType === 1) { 3529 bindConfettiToAddButtons(node); 3530 } 3531 }); 3532 }); 3533 }); 3534 observer.observe(document.body, { 3535 childList: true, 3536 subtree: true 3537 }); 3538 }); 3539</script>
3539 <!-- Confetti END --> <!-- Start Nostra EDGE ID Script -->
3539<script async="" src="/_nostra/identity/client"></script>
3539 <!-- End Nostra EDGE ID Script -->
3539<script id="rebuy-quick-view-dropdown-search-template" type="text/template"> 3540<div id="rebuy-quick-view-dropdown-search" class="rebuy-quick-view-dropdown"> 3541 <div class="rebuy-quick-view-dropdown__container" v-bind:class="[isQuickViewOpen ? 'visible' : '']"> 3542 <div class="rebuy-quick-view-dropdown__input-container"> 3543 <div class="rebuy-quick-view__search-input rebuy-quick-view-dropdown__search-input rebuy-input"> 3544 <label v-if="searchByCollectionsEnabled" for="search" class="sr-only">Search by Collections</label> 3545 <select 3546 v-if="searchByCollectionsEnabled" 3547 name="search" 3548 class="rebuy-select" 3549 id="search" 3550 v-model="searchByCollection" 3551 > 3552 <option :value="SEARCH_BY_COLLECTION_DEFAULT">All</option> 3553 <option v-for="{ name, id } in searchByCollectionsCollections" :value="id">{{name}}</option> 3554 </select> 3555 3556 <i class="far fa-search"></i> 3557 <label for="searchInput" class="sr-only">Enter a Search Term</label> 3558 <input 3559 id="searchInput" 3560 :class="(searchByCollectionsEnabled) && 'right-rounded'" 3561 type="text" 3562 :placeholder="placeholderText()" 3563 :value="searchTerm" 3564 @input="($event) => searchTerm = $event.target.value" 3565 ref="searchInput" 3566 @keydown.enter.stop.prevent="goToSearchPage" 3567 @keydown.escape.stop.prevent="closeQuickView" 3568 /> 3569 </div> 3570 3571 <button 3572 class="rebuy-quick-view-dropdown__close" 3573 type="button" 3574 v-on:click="closeQuickView()" 3575 aria-label="Close Dropdown" 3576 > 3577 <i class="fal fa-times" aria-hidden="true"></i> 3578 </button> 3579 </div> 3580 3581 <transition name="rebuy-quick-view-overlay-fade"> 3582 <div 3583 v-if="shouldDropdownShow" 3584 id="rebuy-quick-view-overlay" 3585 class="rebuy-quick-view__overlay rebuy-quick-view__overlay--wide" 3586 role="dialog" 3587 tabindex="1" 3588 aria-labelledby="overlayTitle" 3589 aria-describedby="overlayDescription" 3590 ref="overlay" 3591 > 3592 <section class="rebuy-quick-view__overlay-body" id="overlayDescription"> 3593 <div class="rebuy-quick-view__container"> 3594 <div 3595 v-if="!showResults" 3596 class="rebuy-quick-view__suggestions rebuy-quick-view-dropdown__suggestions" 3597 > 3598 <div 3599 v-if="suggestedSearchTermsEnabled && suggestedTerms.length > 0" 3600 class="rebuy-quick-view-dropdown__body-left" 3601 tabindex="0" 3602 > 3603 <div class="rebuy-quick-view__search-term-section"> 3604 <h3 class="rebuy-quick-view__title">{{suggestedSearchTermsTitle}}</h3> 3605 3606 <ul class="rebuy-quick-view__search-term-section-list-container"> 3607 <li 3608 class="rebuy-quick-view__list-item rebuy-quick-view__search-term-section-list-term" 3609 v-for="term in suggestedTerms" 3610 @click="search(term)" 3611 role="button" 3612 tabindex="0" 3613 v-bind:aria-label="suggestedSearchTermLabel(term)" 3614 > 3615 {{term}} 3616 </li> 3617 </ul> 3618 </div> 3619 </div> 3620 3621 <div class="rebuy-quick-view-dropdown__body-right"> 3622 <div 3623 v-if="suggestedSearchTermsEnabled && suggestedTerms.length > 0" 3624 class="rebuy-quick-view__search-term-section rebuy-quick-view-dropdown__search-term-section--mobile" 3625 > 3626 <h3 class="rebuy-quick-view__title rebuy-quick-view-dropdown__title"> 3627 {{suggestedSearchTermsTitle}} 3628 </h3> 3629 3630 <ul class="rebuy-quick-view__list-items rebuy-quick-view-dropdown__search-term-list"> 3631 <li class="rebuy-quick-view__list-item rebuy-quick-view-dropdown__search-term" v-for="term in suggestedTerms" @click.stop="search(term)">{{term}}</li> 3632 </ul> 3633 </div> 3634 3635 <div 3636 v-if="suggestedCollectionsEnabled && displayedSuggestedCollections.length > 0" 3637 class="rebuy-quick-view__
3637collection-section" 3638 > 3639 <h3 class="rebuy-quick-view__title rebuy-quick-view-dropdown__title"> 3640 {{suggestedCollectionsTitle}} 3641 </h3> 3642 3643 <div class="rebuy-quick-view__list-items rebuy-quick-view__collection-list"> 3644 <a 3645 v-for="collection in displayedSuggestedCollections" 3646 class="rebuy-quick-view__list-item rebuy-quick-view__collection" 3647 :href="collectionHref(collection)" 3648 > 3649 {{collection.name}} 3650 </a> 3651 3652 <button 3653 v-if="limitDisplayedCollections && suggestedCollections.length > AMOUNT_FOR_LIMITED_COLLECTIONS" 3654 class="see-more" 3655 @click.stop.prevent="seeMore" 3656 > 3657 See more … 3658 </button> 3659 </div> 3660 </div> 3661 3662 <div 3663 v-if="suggestedProductsEnabled && suggestedProducts.length > 0" 3664 class="rebuy-quick-view__product-section" 3665 > 3666 <h3 class="rebuy-quick-view__title rebuy-quick-view-dropdown__title"> 3667 {{suggestedProductsTitle}} 3668 </h3> 3669 3670 <div 3671 class="rebuy-quick-view__product-list rebuy-quick-view-dropdown__product-list" 3672 :class="productListColumnClass" 3673 > 3674 <div 3675 v-for="(product, index) in suggestedProducts" 3676 :class="productDisplayType" 3677 > 3678 <a 3679 :href="learnMoreURL(product)" 3680 @click="learnMore(product, index)" 3681 class="rebuy-quick-view__image-link rebuy-smart-search__absolute-image-container" 3682 :class="shouldPositionAbsolute('container')" 3683 :style="productImageRatio()" 3684 rel="nofollow" 3685 > 3686 <img 3687 v-bind:src="productImage(product, product.selected_variant)" 3688 v-bind:srcset="generateImgSrcset(product)" 3689 v-bind:alt="product.name" 3690 class="rebuy-quick-view_image rebuy-smart-search__absolute-image--zoomed rebuy-smart-search__absolute-image" 3691 :class="shouldPositionAbsolute('image')" 3692 /> 3693 </a> 3694 3695 <div class="rebuy-quick-view__product-detail"> 3696 <div class="rebuy-product-info"> 3697 <!-- Product Title --> 3698 <a 3699 class="rebuy-product-title" 3700 :href="learnMoreURL(product)" 3701 @click="learnMore(product, index)" 3702 rel="nofollow" 3703 > 3704 {{product.name}} 3705 </a> 3706 3707 <!-- Product Review --> 3708 <div class="rebuy-product-review" v-if="shouldDisplayQuickViewProductRating(product)" aria-label="product star rating">
3709 <span class="rebuy-star-rating"> 3710 <span 3711 v-if="product.reviews.star_rating" 3712 class="rebuy-star-rating-value sr-only" 3713 v-html="product.ratings.average + ' stars out of 5 stars'" 3714 > 3715 </span> 3716 <span class="rebuy-star-rating-background"></span> 3717 <span class="rebuy-star-rating-foreground" v-bind:style="{ width: getProductReviewRatingPercentage(product) }"></span> 3718 </span> 3719 3720 <span class="rebuy-review-count" v-html="getProductReviewCountHtml(product)"></span> 3721 </div> 3722 3723 <!-- Product Price --> 3724 <div v-if="productOnSale(product)" class="price"> 3725 <span class="rebuy-money sale"> 3726 <span class="sr-only">Sale price</span> 3727 <span 3728 v-html="formatMoney(product.selected_variant.price)" 3729 ></span> 3730 </span> 3731 3732 <span class="rebuy-money compare-at"> 3733 <span class="sr-only">Original price</span> 3734 <span 3735 v-html="formatMoney(product.selected_variant.compareAtPrice)" 3736 ></span> 3737 </span> 3738 </div> 3739 3740 <div v-else class="price"> 3741 <span class="rebuy-money"> 3742 <span class="sr-only">Price</span> 3743 <span 3744 v-html="formatMoney(product.selected_variant.price)" 3745 ></span> 3746 </span> 3747 </div> 3748 </div> 3749 <div 3750 class="rebuy-product-options" 3751 v-if="shouldShowVariantSelector(product)" 3752 > 3753 <select 3754 title="Select product variant" 3755 id="rebuy-smart-search-results-variant-select" 3756 class="rebuy-select" 3757 v-bind:aria-label="'variant of ' + product.name" 3758 v-model="product.selected_variant_id" 3759 v-on:change="selectVariant(product)" 3760 > 3761 <option 3762 v-for="variant in product.variants" 3763 v-bind:value="variant.id" 3764 v-html="variant.name" 3765 ></option> 3766 </select> 3767 </div> 3768 3769 <div 3770 class="rebuy-product-actions" 3771 v-if="shouldShowAddToCart(product)" 3772 > 3773 <button 3774 class="rebuy-button rebuy-quick-view__product-cta" 3775 v-bind:class="{ working: (product.
3775status != 'ready' && product.status != 'selecting') }" 3776 v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')" 3777 v-bind:aria-label="buttonAriaLabel(product)" 3778 v-on:click="addToCart(product)" 3779 type="button" 3780 > 3781 <span v-html="buttonLabel(product)"></span> 3782 </button> 3783 </div> 3784 </div> 3785 </div> 3786 </div> 3787 3788 <div class="rebuy-quick-view__see-all-results"> 3789 <a :href="'/search?q=' + encodeURIComponent(searchTerm)">See all results</a> 3790 </div> 3791 </div> 3792 </div> 3793 </div> 3794 3795 <div v-else class="rebuy-quick-view-dropdown__results"> 3796 <div 3797 class="rebuy-quick-view__keywords-section" 3798 v-if="keywordSuggestionsWithSearchTerm.length > 0" 3799 > 3800 <p class="rebuy-quick-view__keyword-title">Suggested Searches</p> 3801 3802 <div class="rebuy-quick-view__keyword-list"> 3803 <p 3804 v-for="keyword in keywordSuggestionsWithSearchTerm" 3805 class="rebuy-quick-view__keyword" 3806 @click.stop="search(keyword)" 3807 > 3808 {{keyword}} 3809 </p> 3810 </div> 3811 </div> 3812 3813 <div 3814 class="rebuy-quick-view__collection-section" 3815 v-if="this.matchingCollectionsEnabled && collections.length > 0" 3816 > 3817 <p class="rebuy-quick-view__title">{{this.matchingCollectionsTitle}}</p> 3818 3819 <div v-if="quickViewSearchLoading" class="rebuy-quick-view__collection-list"> 3820 <div 3821 v-for="loadingCollection in new Array(breakpointColumns)" 3822 class="rebuy-quick-view-skeleton rebuy-quick-view-skeleton__collection" 3823 /> 3824 </div> 3825 3826 <div v-else class="rebuy-quick-view__collection-list"> 3827 <a 3828 v-for="collection in displayedMatchingCollections" 3829 class="rebuy-quick-view__collection" 3830 :href="collectionHref(collection)" 3831 > 3832 {{collection.name}} 3833 </a> 3834 3835 <button 3836 v-if="limitDisplayedCollections && collections.length > AMOUNT_FOR_LIMITED_COLLECTIONS" 3837 class="see-more" 3838 @click.stop.prevent="seeMore" 3839 > 3840 See more … 3841 </button> 3842 </div> 3843 </div> 3844 3845 <div 3846 class="rebuy-quick-view__product-section" 3847 v-if="this.matchingProductsEnabled && products.length > 0" 3848 > 3849 <p class="rebuy-quick-view__title">{{this.matchingProductsTitle}}</p> 3850 3851 <div 3852 v-if="quickViewSearchLoading" 3853 class="rebuy-quick-view__product-list" 3854 :class="productListColumnClass" 3855 > 3856 <div 3857 v-for="product in Array(breakpointColumns)" 3858 class="rebuy-quick-view__product" 3859 :class="skeletonLayout()" 3860 > 3861 <div 3862 class="rebuy-quick-view-skeleton rebuy-quick-view-skeleton__product-image" 3863 /> 3864 3865 <div class="rebuy-quick-view-skeleton__product-details"> 3866 <div 3867 class="rebuy-quick-view-skeleton rebuy-quick-view-skeleton__product-name" 3868 /> 3869 <div 3870 class="rebuy-quick-view-skeleton rebuy-quick-view-skeleton__product-price" 3871 /> 3872 </div> 3873 3874 </div> 3875 </div> 3876 3877 <div 3878 v-else-if="!quickViewSearchLoading" 3879 class="rebuy-quick-view__product-list" 3880 :class="productListColumnClass" 3881 > 3882 <div v-for="(product, index) in products" :class="productDisplayType"> 3883 <a 3884 :href="learnMoreURL(product)" 3885 @click="learnMore(product, index)" 3886 class="rebuy-quick-view__image-link rebuy-smart-search__absolute-image-container" 3887 :class="shouldPositionAbsolute('container')" 3888 :style="productImageRatio()" 3889 rel="nofollow" 3890 > 3891 <img 3892 v-bind:src="productImage(product, product.selected_variant)" 3893 v-bind:srcset="generateImgSrcset(product)" 3894 v-bind:alt="'Image of ' + product.name" 3895 class="rebuy-quick-view_image rebuy-smart-search__absolute-image--zoomed rebuy-smart-search__absolute-image" 3896 :class="shouldPositionAbsolute('image')" 3897 /> 3898 </a> 3899 3900 <div class="rebuy-quick-view__product-detail"> 3901 <div class="rebuy-product-info"> 3902 <!-- Product Title --> 3903 <a 3904 class="rebuy-product-title" 3905 :href="learnMoreURL(product)" 3906 @click="learnMore(product, index)" 3907 rel="nofollow" 3908 > 3909 {{product.name}} 3910 </a> 3911 3912 <!-- Product Review --> 3913 <div class="rebuy-product-review" v-if="shouldDisplayQuickViewProductRating(product)" aria-label="product star rating">
3914 <span class="rebuy-star-rating"> 3915 <span 3916 v-if="product.reviews.star_rating" 3917 class="rebuy-star-rating-value sr-only" 3918 v-html="product.ratings.average + ' stars out of 5 stars'" 3919 > 3920 </span> 3921 <span class="rebuy-star-rating-background"></span> 3922 <span class="rebuy-star-rating-foreground" v-bind:style="{ width: getProductReviewRatingPercentage(product) }"></span> 3923 </span> 3924 3925 <span class="rebuy-review-count" v-html="getProductReviewCountHtml(product)"></span> 3926 </div> 3927 3928 <div v-if="productOnSale(product)" class="price"> 3929 <span class="rebuy-money sale"> 3930 <span class="sr-only">Sale price</span> 3931 <span 3932 v-html="formatMoney(product.selected_variant.price)" 3933 ></span> 3934 </span> 3935 3936 <span class="rebuy-money compare-at"> 3937 <span class="sr-only">Original price</span> 3938 <span 3939 v-html="formatMoney(product.selected_variant.compareAtPrice)" 3940 ></span> 3941 </span> 3942 </div> 3943 3944 <div v-else class="price"> 3945 <span class="rebuy-money"> 3946 <span class="sr-only">Price</span> 3947 <span 3948 v-html="formatMoney(product.selected_variant.price)" 3949 ></span> 3950 </span> 3951 </div> 3952 </div> 3953 3954 <!-- Product Options --> 3955 <div 3956 class="rebuy-product-options" 3957 v-if="shouldShowVariantSelector(product)" 3958 > 3959 <select 3960 title="Select product variant" 3961 id="rebuy-smart-search-results-variant-select" 3962 class="rebuy-select" 3963 v-bind:aria-label="'variant of ' + product.name" 3964 v-model="product.selected_variant_id" 3965 v-on:change="selectVariant(product)" 3966 > 3967 <option 3968 v-for="variant in product.variants" 3969 v-bind:value="variant.id" 3970 v-html="variant.name" 3971 ></option> 3972 </select> 3973 </div> 3974 3975 <!-- Add-to-cart --> 3976 <div class="rebuy-product-actions" v-if="shouldShowAddToCart(product)"> 3977 <button 3978 class="rebuy-button rebuy-quick-view__product-cta" 3979 v-bind:class="{ working: (product.
3979status != 'ready' && product.status != 'selecting') }" 3980 v-bind:disabled="!(variantAvailable(product.selected_variant)) || (product.status != 'ready' && product.status != 'selecting')" 3981 v-bind:aria-label="buttonAriaLabel(product)" 3982 v-on:click="addToCart(product)" 3983 type="button" 3984 > 3985 <span v-html="buttonLabel(product)"></span> 3986 </button> 3987 </div> 3988 </div> 3989 </div> 3990 </div> 3991 3992 <div class="rebuy-quick-view__see-all-results"> 3993 <a :href="'/search?q=' + encodeURIComponent(searchTerm)">See all results</a> 3994 </div> 3995 </div> 3996 3997 <div 3998 v-if="!quickViewSearchLoading && products.length === 0 && collections.length === 0" 3999 class="rebuy-quick-view__no-results" 4000 > 4001 <p>No Results For [<span>{{searchTerm}}</span>]</p> 4002 </div> 4003 </div> 4004 </div> 4005 4006 <div v-if="shouldShowPoweredByRebuy()" class="powered-by-rebuy"> 4007 <a v-bind:href="'https://rebuyengine.com/?shop=' + shop()" target="_blank" rel="noopener"> 4008 Powered by Rebuy 4009 </a> 4010 </div> 4011 </section> 4012 </div> 4013 </transition> 4014 </div> 4015 </div> 4016</script>
4016 <!-- Rebuy SmartCart Express Checkout --> <style>.additional-checkout-buttons {display: none; width: 100%;}</style> <div class="additional-checkout-buttons additional-checkout-buttons--vertical"> <div class="dynamic-checkout__content" id="dynamic-checkout-cart" data-shopify="dynamic-checkout-cart"></div> </div> <div id="shopify-block-AQTlTWDBDUEVwNWNoZ__10641372206048101839" class="shopify-block shopify-app-block">
4016<script> 4017 window.Rebuy = window.Rebuy || {}; 4018 window.Rebuy.customer = window.Rebuy.customer || {}; 4019 4020 window.Rebuy.market = window.Rebuy.market || {}; 4021 4022 window.Rebuy.market.country = "US"; 4023 4024 4025 window.Rebuy.market.locale = "en"; 4026 4027</script>
4027 </div><div id="shopify-block-AbmR4ZVhWZXJvS2NJQ__2786716548061469553" class="shopify-block shopify-app-block">
4027<script> 4028</script>
4028 </div><div id="shopify-block-AMXlNNXM5SWtGZ0cxR__17151115064775110295" class="shopify-block shopify-app-block"><style data-recharge-theme='{"has_theme_customization": true, "design_mode": false }'> 4029 .recharge-theme { 4030 /* App */ 4031 --recharge-app-background: #F9F8F4; 4032 --recharge-app-container: 1200px; 4033 --recharge-app-vertical-padding: 32px; 4034 4035 /* Brand colors */ 4036 4037--recharge-color-brand: #DA5846; 4038 4039 /* Tints */ 4040 --recharge-color-brand-120: #ca3c28; 4041 --recharge-color-brand-20: #e1796b; 4042 --recharge-color-brand-40: #e99b90; 4043 --recharge-color-brand-60: #f0bcb5; 4044 --recharge-color-brand-75: #f6d5d1; 4045 --recharge-color-brand-85: #f9e6e3; 4046 4047 /* Neutral */ 4048 --recharge-color-neutral: hsl(7, 35%, 7%); 4049 --recharge-color-neutral-80: hsl(7, 7%, 25%); 4050 --recharge-color-neutral-70: hsl(7, 5%, 35%); 4051 --recharge-color-neutral-40: hsl(7, 3%, 63%); 4052 --recharge-color-neutral-10: hsl(7, 2%, 91%); 4053 4054 4055 /* Links */ 4056 --recharge-button-secondary: #DA5846; 4057 --recharge-button-secondary-120: #ca3c28; 4058 --recharge-button-secondary-60: #e99b90; 4059 4060 /* Images */ 4061 --recharge-images-ratio: 1; 4062 4063 /* Cards */ 4064 4065 --recharge-cards-background: #FFFFFF; 4066 4067 4068 4069 --recharge-cards-border-color: RGBA(0,0,0,0); 4070 4071 4072 /* Fonts */ 4073 --recharge-typography-scale: 16px; 4074 --recharge-typography-size-1: calc(3 * var(--recharge-typography-scale)); 4075 --recharge-typography-size-2: calc(2.25 * var(--recharge-typography-scale)); 4076 --recharge-typography-size-3: calc(1.625 * var(--recharge-typography-scale)); 4077 --recharge-typography-size-4: calc(1.25 * var(--recharge-typography-scale)); 4078 --recharge-typography-size-5: calc(1 * var(--recharge-typography-scale)); 4079 --recharge-typography-size-6: calc(.875 * var(--recharge-typography-scale)); 4080 4081 /** Text **/ 4082 --recharge-typography-light: #FFFFFF; 4083 --recharge-typography-primary: var(--recharge-color-neutral); 4084 --recharge-typography-secondary: var(--recharge-color-neutral-70); 4085 4086 /* Corners */ 4087 --recharge-corners-radius: 16px; 4088 4089 4090 /* Button corners */ 4091 --recharge-button-border-radius: calc(var(--recharge-corners-radius) * 1.5); 4092 4093 /* Views */ 4094 4095 --recharge-views-background: #F9F8F4; 4096 4097 4098 /* Buttons */ 4099 --recharge-button-font-family: inherit; 4100 --recharge-button-brand: var(--recharge-color-brand); 4101 --recharge-button-color: #FFFFFF; 4102 } 4103</style> </div><div id="shopify-block-AK2cvU1YxM2RudVVoa__17368511000352060744" class="shopify-block shopify-app-block">
4103<script type="text/javascript"> 4104 window.gfp_customer = { 4105 id: "", 4106 email: "", 4107 first_name: "", 4108 last_name: "" 4109 } 4110 function gfpLoadWidgets() { 4111 if (!document.querySelector('script[src="https://widgets.goaffpro.app/main.js"]')) { 4112 var s = document.createElement('script'); 4113 s.type = 'module'; 4114 s.src = 'https://widgets.goaffpro.app/main.js'; 4115 document.head.appendChild(s); 4116 } 4117 } 4118</script>
4118
4118<script type="text/javascript" async="true" src="/a/goaffpro/loader.js"></script>
4118 </div>
4118<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
4118
4118<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a403cd8e791b7d03',t:'MTc5MDI3NDAyNA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
4118</body>
4118<script id="session-content"> 4119 // Ensure the global namespace exists 4120 window.Nostra = window.Nostra || {}; 4121 window.Nostra.Transform = window.Nostra.Transform || {}; 4122 4123 window.Nostra.Transform.originDocumentPromise.then((result) => { 4124 window.Nostra.Transform.originDocument = result; 4125 var elementContainer; 4126 var elementOriginContainer; 4127 4128 window.Nostra.Transform.originDocument.querySelectorAll("script").forEach((el, index) => { 4129 if (el.innerHTML.includes(`var wpmLoader`)) { 4130 let newElement = document.createElement("script"); 4131 Array.from(el.attributes).forEach(attr => { 4132 newElement.setAttribute(attr.name, attr.value); 4133 }); 4134 newElement.innerHTML = el.innerHTML; 4135 document.getElementsByTagName('head')[0].append(newElement); 4136 } 4137 }); 4138 4139 window.setTimeout(function () { 4140 if ( 4141 window.Shopify && 4142 window.Shopify.analytics && 4143 window.Shopify.analytics.replayQueue && 4144 window.Nostra && 4145 window.Nostra.Transform && 4146 window.Nostra.Transform.replayQueue && 4147 window.Nostra.Transform.replayQueue.length 4148 ) { 4149 for (var i = 0; i < window.Nostra.Transform.replayQueue.length; i++) { 4150 var e = window.Nostra.Transform.replayQueue[i]; 4151 var d = e[0], n = e[1], o = e[2]; 4152 Shopify.analytics.publish(d, n, o); 4153 } 4154 } 4155 }, 0); 4156 4157 window.Nostra.Transform.originDocument.querySelectorAll("script").forEach((el, index) => { 4158 if (el.innerHTML.includes(`elevar/static/configs`)) { 4159 let newElement = document.createElement("script"); 4160 Array.from(el.attributes).forEach(attr => { 4161 newElement.setAttribute(attr.name, attr.value); 4162 }); 4163 newElement.innerHTML = el.innerHTML; 4164 document.getElementsByTagName('head')[0].append(newElement); 4165 } 4166 }); 4167 4168 window.Nostra.Transform.originDocument.querySelectorAll("script").forEach((el, index) => { 4169 if (el.innerHTML.includes(`window.ShopifyPay =`)) { 4170 let newElement = document.createElement("script"); 4171 Array.from(el.attributes).forEach(attr => { 4172 newElement.setAttribute(attr.name, attr.value); 4173 }); 4174 newElement.innerHTML = el.innerHTML; 4175 document.getElementsByTagName('head')[0].append(newElement); 4176 } 4177 }); 4178 4179 elementOriginContainer = window.Nostra.Transform.originDocument.querySelector(`script[src*="shopify_pay"]`); 4180 if (elementOriginContainer) { 4181 let newElement = document.createElement(elementOriginContainer.tagName); 4182 Array.from(elementOriginContainer.attributes).forEach(attr => { 4183 newElement.setAttribute(attr.name, attr.value); 4184 }); 4185 newElement.innerHTML = elementOriginContainer.innerHTML; 4186 document.getElementsByTagName('head')[0].append(newElement); 4187 } 4188 elementOriginContainer = undefined; 4189 window.Nostra.Transform.originDocument.querySelectorAll(`script`).forEach((el, index) => { 4190 if (el.innerHTML.includes(`let mntn_cart_quantity`)) { 4191 const newScript = document.createElement('script'); 4192 Array.from(el.attributes).forEac
4192h(attr => { 4193 newScript.setAttribute(attr.name, attr.value); 4194 }); 4195 newScript.innerHTML = el.innerHTML; 4196 document.body.append(newScript); 4197 } 4198 }); 4199 4200 elementContainer = document.querySelectorAll(`a#cart-icon-bubble`); 4201 if (elementContainer) { 4202 const elementOriginContainer = window.Nostra.Transform.originDocument.querySelectorAll(`a#cart-icon-bubble`); 4203 elementContainer.forEach((element, index) => { 4204 element.innerHTML = elementOriginContainer[index].innerHTML; 4205 }); 4206 } 4207 elementContainer = undefined; 4208 elementContainer = document.querySelectorAll('div#dynamic-checkout-cart'); 4209 if (elementContainer) { 4210 const elementOriginContainer = window.Nostra.Transform.originDocument.querySelectorAll('div#dynamic-checkout-cart'); 4211 elementContainer.forEach((element, index) => { 4212 element.innerHTML = elementOriginContainer[index].innerHTML; 4213 }); 4214 } 4215 elementContainer = undefined; 4216 }); 4217 </script>
4217</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.